blob: acfcbdb21c347afd86ad1cb5699955e98553ff9d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
module Text.Edifact.Scaffolder.Composites.Elements
( listComposites
) where
import Text.Edifact.Scaffolder.Commons
import Data.Char (toUpper)
import Text.Parsec (count, digit, eof, oneOf,
string)
import Text.Parsec.String (Parser)
listComposites :: Scaffolding [ElementWithDefinition CompositeCode]
listComposites = listElements "composites" compositeCodeParser
compositeCodeParser :: Parser CompositeCode
compositeCodeParser = do
initial <- toUpper <$> oneOf "ce"
rest <- count 3 digit
_ <- string ".txt"
CompositeCode (initial : rest) <$ eof
|