blob: 8535a17a2bf283c1a7008bde6980492aea153b00 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
{-# LANGUAGE OverloadedStrings #-}
module Text.Edifact.Scaffolder.Segments.Implementation
( -- *
toImplementation
) where
import Text.Edifact.Scaffolder.Commons
import Text.Edifact.Scaffolder.Segments.Types
import Data.List.NonEmpty as NE (toList)
import Formatting
toImplementation :: NonEmpty Dependency -> [Text]
toImplementation = haskellList . fmap callDependency . NE.toList
callDependency :: Dependency -> Text
callDependency (Dependency pos (Simple code _ presence _ _)) =
sformat ( quoted fPosition % " .@ " % fPresence % " simple" % fSimpleCode) pos presence code
callDependency (Dependency pos (Composite code _ presence)) =
sformat ( quoted fPosition % " .@ " % fPresence % " composite" % fCompositeCode) pos presence code
|