]> git.immae.eu Git - github/fretlink/edi-parser.git/blob - scaffolder/src/Text/Edifact/Scaffolder/Composites/Elements.hs
Release code as open source
[github/fretlink/edi-parser.git] / scaffolder / src / Text / Edifact / Scaffolder / Composites / Elements.hs
1 module Text.Edifact.Scaffolder.Composites.Elements
2 ( listComposites
3 ) where
4
5 import Text.Edifact.Scaffolder.Commons
6
7 import Data.Char (toUpper)
8 import Text.Parsec (count, digit, eof, oneOf,
9 string)
10 import Text.Parsec.String (Parser)
11
12 listComposites :: Scaffolding [ElementWithDefinition CompositeCode]
13 listComposites = listElements "composites" compositeCodeParser
14
15 compositeCodeParser :: Parser CompositeCode
16 compositeCodeParser = do
17 initial <- toUpper <$> oneOf "ce"
18 rest <- count 3 digit
19 _ <- string ".txt"
20 CompositeCode (initial : rest) <$ eof