1 {-# LANGUAGE OverloadedStrings #-}
3 module Text.Edifact.Scaffolder.Segments.Implementation
8 import Text.Edifact.Scaffolder.Commons
9 import Text.Edifact.Scaffolder.Segments.Types
11 import Data.List.NonEmpty as NE (toList)
14 toImplementation :: NonEmpty Dependency -> [Text]
15 toImplementation = haskellList . fmap callDependency . NE.toList
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