aboutsummaryrefslogtreecommitdiffstats
path: root/src/Data/JLD/Compaction/InverseContext.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/JLD/Compaction/InverseContext.hs')
-rw-r--r--src/Data/JLD/Compaction/InverseContext.hs22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/Data/JLD/Compaction/InverseContext.hs b/src/Data/JLD/Compaction/InverseContext.hs
index b351e34..03a45f2 100644
--- a/src/Data/JLD/Compaction/InverseContext.hs
+++ b/src/Data/JLD/Compaction/InverseContext.hs
@@ -4,32 +4,32 @@ import Data.JLD.Prelude
4 4
5import Data.JLD.Model.ActiveContext (ActiveContext (..)) 5import Data.JLD.Model.ActiveContext (ActiveContext (..))
6import Data.JLD.Model.Direction (Direction (..)) 6import Data.JLD.Model.Direction (Direction (..))
7import Data.JLD.Model.InverseContext (InverseContext) 7import Data.JLD.Model.InverseContext (InverseContext, insert)
8import Data.JLD.Model.Keyword (Keyword (..)) 8import Data.JLD.Model.Keyword (Keyword (..))
9import Data.JLD.Model.Language (Language (Language)) 9import Data.JLD.Model.Language (Language (Language))
10import Data.JLD.Model.TermDefinition (TermDefinition (..)) 10import Data.JLD.Model.TermDefinition (TermDefinition (..))
11 11
12import Data.Map qualified as M 12import Data.Map qualified as M (foldlWithKey)
13 13
14processTerm :: Text -> InverseContext -> Text -> TermDefinition -> InverseContext 14processTerm :: Text -> InverseContext -> Text -> TermDefinition -> InverseContext
15processTerm defaultLangDir out termName TermDefinition{..} 15processTerm defaultLangDir out termName TermDefinition{..}
16 | Just variableName <- termDefinitionIriMapping = 16 | Just variableName <- termDefinitionIriMapping =
17 out 17 out
18 |> M.insert (variableName, container, show KeywordAny, show KeywordNone) termName 18 |> insert variableName container KeywordAny (show KeywordNone) termName
19 .> if 19 .> if
20 | termDefinitionReversePropertyFlag -> 20 | termDefinitionReversePropertyFlag ->
21 M.insert (variableName, container, show KeywordType, show KeywordReverse) termName 21 insert variableName container KeywordType (show KeywordReverse) termName
22 | termDefinitionTypeMapping == Just (show KeywordNone) -> 22 | termDefinitionTypeMapping == Just (show KeywordNone) ->
23 M.insert (variableName, container, show KeywordLanguage, show KeywordAny) termName 23 insert variableName container KeywordLanguage (show KeywordAny) termName
24 .> M.insert (variableName, container, show KeywordType, show KeywordAny) termName 24 .> insert variableName container KeywordType (show KeywordAny) termName
25 | Just typeMapping <- termDefinitionTypeMapping -> 25 | Just typeMapping <- termDefinitionTypeMapping ->
26 M.insert (variableName, container, show KeywordType, typeMapping) termName 26 insert variableName container KeywordType typeMapping termName
27 | Just langDir <- maybeLangDir -> 27 | Just langDir <- maybeLangDir ->
28 M.insert (variableName, container, show KeywordLanguage, langDir) termName 28 insert variableName container KeywordLanguage langDir termName
29 | otherwise -> 29 | otherwise ->
30 M.insert (variableName, container, show KeywordLanguage, defaultLangDir) termName 30 insert variableName container KeywordLanguage defaultLangDir termName
31 .> M.insert (variableName, container, show KeywordLanguage, show KeywordNone) termName 31 .> insert variableName container KeywordLanguage (show KeywordNone) termName
32 .> M.insert (variableName, container, show KeywordType, show KeywordNone) termName 32 .> insert variableName container KeywordType (show KeywordNone) termName
33 | otherwise = out 33 | otherwise = out
34 where 34 where
35 container = if null termDefinitionContainerMapping then show KeywordNone else fold termDefinitionContainerMapping 35 container = if null termDefinitionContainerMapping then show KeywordNone else fold termDefinitionContainerMapping