aboutsummaryrefslogtreecommitdiffhomepage
path: root/scaffolder/src/Text/Edifact/Scaffolder/Simples/Elements.hs
diff options
context:
space:
mode:
authorFrédéric Menou <frederic.menou@fretlink.com>2016-12-08 10:19:15 +0200
committerIsmaël Bouya <ismael.bouya@fretlink.com>2022-05-17 18:01:51 +0200
commita9d77a20008efe82862cc1adbfa7a6d4f09f8ff7 (patch)
treeadf3186fdccaeef19151026cdfbd38a530cf9ecb /scaffolder/src/Text/Edifact/Scaffolder/Simples/Elements.hs
downloadedi-parser-a9d77a20008efe82862cc1adbfa7a6d4f09f8ff7.tar.gz
edi-parser-a9d77a20008efe82862cc1adbfa7a6d4f09f8ff7.tar.zst
edi-parser-a9d77a20008efe82862cc1adbfa7a6d4f09f8ff7.zip
Release code as open sourceHEADmaster
Diffstat (limited to 'scaffolder/src/Text/Edifact/Scaffolder/Simples/Elements.hs')
-rw-r--r--scaffolder/src/Text/Edifact/Scaffolder/Simples/Elements.hs26
1 files changed, 26 insertions, 0 deletions
diff --git a/scaffolder/src/Text/Edifact/Scaffolder/Simples/Elements.hs b/scaffolder/src/Text/Edifact/Scaffolder/Simples/Elements.hs
new file mode 100644
index 0000000..328a5d0
--- /dev/null
+++ b/scaffolder/src/Text/Edifact/Scaffolder/Simples/Elements.hs
@@ -0,0 +1,26 @@
1module Text.Edifact.Scaffolder.Simples.Elements
2 ( listSimples
3 ) where
4
5import Text.Edifact.Scaffolder.Commons
6
7import Text.Parsec (digit, eof, oneOf, string,
8 (<?>))
9import Text.Parsec.String (Parser)
10
11listSimples :: Scaffolding [ElementWithDefinition SimpleCode]
12listSimples = listElements "simples" simpleCodeParser
13
14simpleCodeParser :: Parser SimpleCode
15simpleCodeParser =
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"