]> git.immae.eu Git - github/fretlink/edi-parser.git/blob - scaffolder/src/Text/Edifact/Scaffolder/Segments/Implementation.hs
Release code as open source
[github/fretlink/edi-parser.git] / scaffolder / src / Text / Edifact / Scaffolder / Segments / Implementation.hs
1 {-# LANGUAGE OverloadedStrings #-}
2
3 module Text.Edifact.Scaffolder.Segments.Implementation
4 ( -- *
5 toImplementation
6 ) where
7
8 import Text.Edifact.Scaffolder.Commons
9 import Text.Edifact.Scaffolder.Segments.Types
10
11 import Data.List.NonEmpty as NE (toList)
12 import Formatting
13
14 toImplementation :: NonEmpty Dependency -> [Text]
15 toImplementation = haskellList . fmap callDependency . NE.toList
16
17 callDependency :: Dependency -> Text
18 callDependency (Dependency pos (Simple code _ presence _ _)) =
19 sformat ( quoted fPosition % " .@ " % fPresence % " simple" % fSimpleCode) pos presence code
20 callDependency (Dependency pos (Composite code _ presence)) =
21 sformat ( quoted fPosition % " .@ " % fPresence % " composite" % fCompositeCode) pos presence code