Type-safe GraphQL client generator for Gleam

format

Changed files
+18 -9
src
squall
internal
test
+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
··· 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),