diff options
Diffstat (limited to 'scaffolder/src/Text/Edifact/Scaffolder/Root.hs')
-rw-r--r-- | scaffolder/src/Text/Edifact/Scaffolder/Root.hs | 25 |
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 | |||
4 | module Text.Edifact.Scaffolder.Root | ||
5 | ( rootModule | ||
6 | ) where | ||
7 | |||
8 | import Text.Edifact.Scaffolder.Commons | ||
9 | |||
10 | rootModule :: Scaffolding () | ||
11 | rootModule = getRootModuleName >>= generateRootModule | ||
12 | |||
13 | generateRootModule :: ModuleName -> Scaffolding () | ||
14 | generateRootModule 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 | ||