+13
-3
src/squall/internal/codegen.gleam
+13
-3
src/squall/internal/codegen.gleam
···
1410
// List of Enums
1411
call_doc("json.array", [
1412
doc.from_string("from: " <> field_access),
1413
-
doc.from_string("of: fn(v) { json.string(" <> snake_case(base_type_name) <> "_to_string(v)) }"),
1414
])
1415
}
1416
_ -> {
···
1448
Ok(schema.ObjectType(_, _, _)) ->
1449
snake_case(name) <> "_to_json"
1450
Ok(schema.EnumType(_, _, _)) ->
1451
-
"fn(v) { json.string(" <> snake_case(name) <> "_to_string(v)) }"
1452
_ -> "json.string"
1453
}
1454
_ -> "json.string"
···
1477
// Optional Enum
1478
call_doc("json.nullable", [
1479
doc.from_string(field_access),
1480
-
doc.from_string("fn(v) { json.string(" <> snake_case(base_type_name) <> "_to_string(v)) }"),
1481
])
1482
}
1483
_ -> {
···
1410
// List of Enums
1411
call_doc("json.array", [
1412
doc.from_string("from: " <> field_access),
1413
+
doc.from_string(
1414
+
"of: fn(v) { json.string("
1415
+
<> snake_case(base_type_name)
1416
+
<> "_to_string(v)) }",
1417
+
),
1418
])
1419
}
1420
_ -> {
···
1452
Ok(schema.ObjectType(_, _, _)) ->
1453
snake_case(name) <> "_to_json"
1454
Ok(schema.EnumType(_, _, _)) ->
1455
+
"fn(v) { json.string("
1456
+
<> snake_case(name)
1457
+
<> "_to_string(v)) }"
1458
_ -> "json.string"
1459
}
1460
_ -> "json.string"
···
1483
// Optional Enum
1484
call_doc("json.nullable", [
1485
doc.from_string(field_access),
1486
+
doc.from_string(
1487
+
"fn(v) { json.string("
1488
+
<> snake_case(base_type_name)
1489
+
<> "_to_string(v)) }",
1490
+
),
1491
])
1492
}
1493
_ -> {
+5
-6
test/codegen_test.gleam
+5
-6
test/codegen_test.gleam
···
2257
"CharacterStatus",
2258
schema.EnumType("CharacterStatus", ["Alive", "Dead", "unknown"], None),
2259
),
2260
-
#("Gender", schema.EnumType("Gender", ["Male", "Female", "Genderless"], None)),
2261
#(
2262
"Query",
2263
schema.ObjectType(
···
2316
schema.NonNullType(schema.NamedType("ID", schema.Scalar)),
2317
None,
2318
),
2319
-
schema.InputValue(
2320
-
"name",
2321
-
schema.NamedType("String", schema.Scalar),
2322
-
None,
2323
-
),
2324
schema.InputValue(
2325
"status",
2326
schema.NamedType("CharacterStatus", schema.Enum),
···
2257
"CharacterStatus",
2258
schema.EnumType("CharacterStatus", ["Alive", "Dead", "unknown"], None),
2259
),
2260
+
#(
2261
+
"Gender",
2262
+
schema.EnumType("Gender", ["Male", "Female", "Genderless"], None),
2263
+
),
2264
#(
2265
"Query",
2266
schema.ObjectType(
···
2319
schema.NonNullType(schema.NamedType("ID", schema.Scalar)),
2320
None,
2321
),
2322
+
schema.InputValue("name", schema.NamedType("String", schema.Scalar), None),
2323
schema.InputValue(
2324
"status",
2325
schema.NamedType("CharacterStatus", schema.Enum),