typed-wire 0.3.1.0 → 0.3.1.1
raw patch · 2 files changed
+13/−4 lines, 2 files
Files
- src/TW/CodeGen/Elm.hs +12/−3
- typed-wire.cabal +1/−1
src/TW/CodeGen/Elm.hs view
@@ -72,13 +72,14 @@ , " }" , "" , "jenc" <> unTypeName (sd_name sd) <> " : " <> encTy <> fullType <> " -> " <> jsonEnc "Value"- , "jenc" <> unTypeName (sd_name sd) <> " = " <> jsonEnc "object" <> " << " <> "jencTuples" <> unTypeName (sd_name sd)+ , "jenc" <> unTypeName (sd_name sd) <> " " <> encArgs <> " = "+ <> jsonEnc "object" <> " << " <> "jencTuples" <> unTypeName (sd_name sd) <> " " <> encArgs , "jencTuples" <> unTypeName (sd_name sd) <> " : " <> encTy <> fullType <> " -> List (String, " <> jsonEnc "Value" <> ")" , "jencTuples" <> unTypeName (sd_name sd) <> " " <> encArgs <> " x =" , " [ " <> T.intercalate "\n , " (map makeToJsonFld $ sd_fields sd) , " ]"- , "jdec" <> unTypeName (sd_name sd) <> " : " <> jsonDec "Decoder" <> " (" <> fullType <> ")"- , "jdec" <> unTypeName (sd_name sd) <> " ="+ , "jdec" <> unTypeName (sd_name sd) <> " : " <> decTy <> jsonDec "Decoder" <> " (" <> fullType <> ")"+ , "jdec" <> unTypeName (sd_name sd) <> " " <> decArgs <> " =" , " " <> T.intercalate "\n " (map makeFromJsonFld $ sd_fields sd) , " " <> jsonDec "succeed" <> " (" <> unTypeName (sd_name sd) <> " " <> funArgs <> ")" ]@@ -91,6 +92,14 @@ "(" <> v <> " -> " <> jsonEnc "Value" <> ")" in ( T.intercalate " -> " (map mkEncTy $ sd_args sd) <> " -> " , T.intercalate " " (map varEnc $ sd_args sd)+ )+ (decTy, decArgs) =+ case sd_args sd of+ [] -> ("", "")+ _ ->+ let mkDecTy (TypeVar v) = "(JD.Decoder " <> v <> ")"+ in ( T.intercalate " -> " (map mkDecTy $ sd_args sd) <> " -> "+ , T.intercalate " " (map varDec $ sd_args sd) ) jArg fld = "j_" <> (unFieldName $ sf_name fld) makeFromJsonFld fld =
typed-wire.cabal view
@@ -1,5 +1,5 @@ name: typed-wire-version: 0.3.1.0+version: 0.3.1.1 synopsis: Language-independent type-safe communication description: Please see README.md homepage: http://github.com/typed-wire/typed-wire#readme