blob: fb590ad8efc1337a5274479840effc947bb8f6ac (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
module Text.Edifact.Scaffolder.Messages.Elements
( listMessages
) where
import Text.Edifact.Scaffolder.Commons
import Data.Char (toUpper)
import Text.Parsec (count, eof, lower, string,
(<?>))
import Text.Parsec.String (Parser)
-- | List elements
listMessages :: Scaffolding [ElementWithDefinition MessageCode]
listMessages = listElements "messages" messageFilenameParser
messageFilenameParser :: Parser MessageCode
messageFilenameParser =
let mkCode = MessageCode . fmap toUpper
in mkCode <$> count 6 lower
<* string "_s.txt"
<* eof
<?> "MessageCode"
|