]> git.immae.eu Git - github/fretlink/edi-parser.git/blob - scaffolder/src/Text/Edifact/Scaffolder/Root.hs
Release code as open source
[github/fretlink/edi-parser.git] / scaffolder / src / Text / Edifact / Scaffolder / Root.hs
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