]> git.immae.eu Git - github/fretlink/edi-parser.git/blob - scaffolder/src/Text/Edifact/Scaffolder/Simples/Elements.hs
Release code as open source
[github/fretlink/edi-parser.git] / scaffolder / src / Text / Edifact / Scaffolder / Simples / Elements.hs
1 module Text.Edifact.Scaffolder.Simples.Elements
2 ( listSimples
3 ) where
4
5 import Text.Edifact.Scaffolder.Commons
6
7 import Text.Parsec (digit, eof, oneOf, string,
8 (<?>))
9 import Text.Parsec.String (Parser)
10
11 listSimples :: Scaffolding [ElementWithDefinition SimpleCode]
12 listSimples = listElements "simples" simpleCodeParser
13
14 simpleCodeParser :: Parser SimpleCode
15 simpleCodeParser =
16 let codeParser =
17 sequence [ oneOf ['1'..'9']
18 , digit
19 , digit
20 , digit
21 ]
22 in
23 SimpleCode <$> codeParser
24 <* string ".txt"
25 <* eof
26 <?> "SimpleCode"