@@ -33,7 +33,7 @@ defmodule JS2E.Printers.EnumPrinter do
33
33
values: values } , _type_dict , _schema_dict ) do
34
34
35
35
type_name = upcase_first name
36
- clauses = values |> Enum . map ( & ( create_elm_value ( & 1 , type ) ) )
36
+ clauses = values |> Enum . map ( & ( create_elm_value! ( & 1 , type ) ) )
37
37
38
38
type_template ( type_name , clauses )
39
39
end
@@ -69,7 +69,7 @@ defmodule JS2E.Printers.EnumPrinter do
69
69
"Float"
70
70
71
71
_ ->
72
- raise "Unknown enum type: #{ type } "
72
+ raise "Unknown or unsupported enum type: #{ type } "
73
73
end
74
74
end
75
75
@@ -78,7 +78,7 @@ defmodule JS2E.Printers.EnumPrinter do
78
78
79
79
values |> Enum . map ( fn value ->
80
80
raw_value = create_decoder_case ( value , type )
81
- parsed_value = create_elm_value ( value , type )
81
+ parsed_value = create_elm_value! ( value , type )
82
82
83
83
% { raw_value: raw_value ,
84
84
parsed_value: parsed_value }
@@ -125,7 +125,7 @@ defmodule JS2E.Printers.EnumPrinter do
125
125
126
126
values |> Enum . map ( fn value ->
127
127
128
- elm_value = create_elm_value ( value , type )
128
+ elm_value = create_elm_value! ( value , type )
129
129
json_value = create_encoder_case ( value , type )
130
130
131
131
% { elm_value: elm_value ,
@@ -145,13 +145,19 @@ defmodule JS2E.Printers.EnumPrinter do
145
145
"number" ->
146
146
"Encode.float #{ value } "
147
147
148
+ "boolean" ->
149
+ "Encode.bool #{ value } "
150
+
151
+ "null" ->
152
+ "Encode.null"
153
+
148
154
_ ->
149
155
raise "Unknown or unsupported enum type: #{ type } "
150
156
end
151
157
end
152
158
153
- @ spec create_elm_value ( String . t , String . t ) :: String . t
154
- defp create_elm_value ( value , type ) do
159
+ @ spec create_elm_value! ( String . t , String . t ) :: String . t
160
+ defp create_elm_value! ( value , type ) do
155
161
Logger . debug "Value: #{ value } , Type: #{ type } "
156
162
157
163
case type do
0 commit comments