Skip to content

Commit 3d37693

Browse files
committed
Exclude elm/* and lamdera/* packages from custom encoder error
Only show the custom encoder/decoder error for user packages, not core elm/* or lamdera/* packages like Bytes which have special handling.
1 parent 9dedc48 commit 3d37693

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

extra/Lamdera/Wire3/Encoder.hs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,9 +233,13 @@ encoderForType depth ifaces cname tipe =
233233
let
234234
typeNameStr = Data.Name.toChars typeName
235235
customEncoderName = Data.Name.fromChars $ "encode" ++ typeNameStr
236+
237+
-- Only show error for user packages, not elm/* core packages
238+
isUserPackage = case moduleName of
239+
Module.Canonical (Name author _) _ -> author /= "elm" && author /= "lamdera"
236240
in
237241
case foreignTypeSig moduleName customEncoderName ifaces of
238-
Just _ ->
242+
Just _ | isUserPackage ->
239243
error $ unlines
240244
[ ""
241245
, "-- WIRE3 ENCODER NOT SUPPORTED -----------------------------------------"

extra/Lamdera/Wire3/Helpers.hs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,13 @@ getForeignSig tipe moduleName generatedName ifaces =
7070
genNameStr = Data.Name.toChars generatedName
7171
typeNameStr = drop 10 genNameStr -- Remove "w3_encode_" prefix (10 chars)
7272
customEncoderName = Data.Name.fromChars $ "encode" ++ typeNameStr
73+
74+
-- Only show error for user packages, not elm/* core packages
75+
isUserPackage = case moduleName of
76+
Module.Canonical (Name author _) _ -> author /= "elm" && author /= "lamdera"
7377
in
7478
case foreignTypeSig moduleName customEncoderName ifaces of
75-
Just _ ->
79+
Just _ | isUserPackage ->
7680
error $ unlines
7781
[ ""
7882
, "-- WIRE3 ENCODER NOT SUPPORTED -----------------------------------------"
@@ -104,9 +108,13 @@ getForeignSig tipe moduleName generatedName ifaces =
104108
genNameStr = Data.Name.toChars generatedName
105109
typeNameStr = drop 10 genNameStr -- Remove "w3_decode_" prefix (10 chars)
106110
customDecoderName = Data.Name.fromChars $ "decode" ++ typeNameStr
111+
112+
-- Only show error for user packages, not elm/* core packages
113+
isUserPackage = case moduleName of
114+
Module.Canonical (Name author _) _ -> author /= "elm" && author /= "lamdera"
107115
in
108116
case foreignTypeSig moduleName customDecoderName ifaces of
109-
Just _ ->
117+
Just _ | isUserPackage ->
110118
error $ unlines
111119
[ ""
112120
, "-- WIRE3 DECODER NOT SUPPORTED -----------------------------------------"

0 commit comments

Comments
 (0)