aboutsummaryrefslogtreecommitdiffhomepage
path: root/scaffolder/src/Text/Edifact/Scaffolder/Root.hs
diff options
context:
space:
mode:
Diffstat (limited to 'scaffolder/src/Text/Edifact/Scaffolder/Root.hs')
-rw-r--r--scaffolder/src/Text/Edifact/Scaffolder/Root.hs25
1 files changed, 25 insertions, 0 deletions
diff --git a/scaffolder/src/Text/Edifact/Scaffolder/Root.hs b/scaffolder/src/Text/Edifact/Scaffolder/Root.hs
new file mode 100644
index 0000000..54a48d5
--- /dev/null
+++ b/scaffolder/src/Text/Edifact/Scaffolder/Root.hs
@@ -0,0 +1,25 @@
1{-# LANGUAGE OverloadedLists #-}
2{-# LANGUAGE OverloadedStrings #-}
3
4module Text.Edifact.Scaffolder.Root
5 ( rootModule
6 ) where
7
8import Text.Edifact.Scaffolder.Commons
9
10rootModule :: Scaffolding ()
11rootModule = getRootModuleName >>= generateRootModule
12
13generateRootModule :: ModuleName -> Scaffolding ()
14generateRootModule mn =
15 let exports = [ reexportAlias subModulesAlias ]
16 subModulesAlias = "S"
17 importSubModule sm = ImportAll (ImportAs (mn <.> sm) subModulesAlias)
18 subModules = [ "Composites"
19 , "Messages"
20 , "Segments"
21 ]
22 imports = [ ImportGroup (importSubModule <$> subModules) ]
23 in
24 saveHaskellModule mn $
25 moduleDeclaration mn exports imports