@nxgt/graphql-codegen-zod 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +28 -6
- package/dist/index.js.map +3 -3
- package/docs/guide/output.md +20 -9
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1069,8 +1069,8 @@ import {
|
|
|
1069
1069
|
getNamedType as getNamedType6,
|
|
1070
1070
|
isEnumType as isEnumType6,
|
|
1071
1071
|
isInputObjectType as isInputObjectType6,
|
|
1072
|
+
isListType as isListType7,
|
|
1072
1073
|
isNonNullType as isNonNullType7,
|
|
1073
|
-
isScalarType as isScalarType4,
|
|
1074
1074
|
isSpecifiedScalarType as isSpecifiedScalarType2
|
|
1075
1075
|
} from "graphql";
|
|
1076
1076
|
class Writer {
|
|
@@ -1125,11 +1125,33 @@ var singleOrList = ({
|
|
|
1125
1125
|
code,
|
|
1126
1126
|
single
|
|
1127
1127
|
}) => {
|
|
1128
|
-
const
|
|
1129
|
-
|
|
1130
|
-
const first = transforms ? `z.custom<z.input<typeof ${single}>>((value) => value != null && !Array.isArray(value))` : single;
|
|
1131
|
-
return `z.union([${code}, ${first}.transform((value): unknown[] => [value]).pipe(${code})])`;
|
|
1128
|
+
const one = singleInput(getNamedType6(type), single);
|
|
1129
|
+
return `z.union([z.array(z.custom<${itemInput(type.ofType, one)}>()), z.custom<${one}>((value) => value != null && !Array.isArray(value)).transform((value): unknown[] => [value])]).pipe(${code})`;
|
|
1132
1130
|
};
|
|
1131
|
+
function singleInput(named, single) {
|
|
1132
|
+
if (isSpecifiedScalarType2(named))
|
|
1133
|
+
return BUILT_IN_INPUTS[named.name] ?? "string";
|
|
1134
|
+
return `z.input<typeof ${single}>`;
|
|
1135
|
+
}
|
|
1136
|
+
var BUILT_IN_INPUTS = {
|
|
1137
|
+
String: "string",
|
|
1138
|
+
ID: "string",
|
|
1139
|
+
Int: "number",
|
|
1140
|
+
Float: "number",
|
|
1141
|
+
Boolean: "boolean"
|
|
1142
|
+
};
|
|
1143
|
+
function itemInput(type, one) {
|
|
1144
|
+
if (isNonNullType7(type))
|
|
1145
|
+
return requiredInput(type.ofType, one);
|
|
1146
|
+
return `${requiredInput(type, one)} | null | undefined`;
|
|
1147
|
+
}
|
|
1148
|
+
function requiredInput(type, one) {
|
|
1149
|
+
if (isNonNullType7(type))
|
|
1150
|
+
return requiredInput(type.ofType, one);
|
|
1151
|
+
if (isListType7(type))
|
|
1152
|
+
return `Array<${itemInput(type.ofType, one)}> | ${one}`;
|
|
1153
|
+
return one;
|
|
1154
|
+
}
|
|
1133
1155
|
|
|
1134
1156
|
// src/index.ts
|
|
1135
1157
|
async function plugin(schema, documents, config = {}, info) {
|
|
@@ -1178,5 +1200,5 @@ export {
|
|
|
1178
1200
|
plugin
|
|
1179
1201
|
};
|
|
1180
1202
|
|
|
1181
|
-
//# debugId=
|
|
1203
|
+
//# debugId=895C9FE6E284857764756E2164756E21
|
|
1182
1204
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"import * as graphql from 'graphql';\nimport {\n\tastFromValue,\n\ttype ConstValueNode,\n\ttype GraphQLArgument,\n\tGraphQLID,\n\ttype GraphQLInputField,\n\ttype GraphQLInputType,\n\tgetNamedType,\n\tgetNullableType,\n\tisInputObjectType,\n\tisListType,\n\tisNonNullType,\n\tisScalarType,\n\tisSpecifiedScalarType,\n\tKind,\n\tvalueFromASTUntyped,\n} from 'graphql';\n\n/**\n * A default's value as the client parses it: its literal coerced as\n * graphql coerces it. An integer a JavaScript number cannot keep exact,\n * given to an ID or a custom scalar, fails, naming `where`: the server\n * would hand the scalar every digit. An Int or a Float rounds on both sides.\n */\nexport function parsedDefault(\n\tliteral: ConstValueNode,\n\ttype: GraphQLInputType,\n\twhere: string,\n): unknown {\n\tassertExact(literal, type, where);\n\treturn coerced(valueFromASTUntyped(literal), type);\n}\n\nfunction assertExact(\n\tliteral: ConstValueNode,\n\ttype: GraphQLInputType,\n\twhere: string,\n): void {\n\tconst nullable = getNullableType(type);\n\tif (isListType(nullable)) {\n\t\tconst items = literal.kind === Kind.LIST ? literal.values : [literal];\n\t\tfor (const item of items) assertExact(item, nullable.ofType, where);\n\t\treturn;\n\t}\n\tif (isInputObjectType(nullable)) {\n\t\tif (literal.kind !== Kind.OBJECT) return;\n\t\tconst fields = nullable.getFields();\n\t\tfor (const field of literal.fields) {\n\t\t\tconst definition = fields[field.name.value];\n\t\t\tif (definition) assertExact(field.value, definition.type, where);\n\t\t}\n\t\treturn;\n\t}\n\tconst keeps =\n\t\tnullable === GraphQLID ||\n\t\t(isScalarType(nullable) && !isSpecifiedScalarType(nullable));\n\tif (\n\t\tkeeps &&\n\t\tliteral.kind === Kind.INT &&\n\t\t!Number.isSafeInteger(Number(literal.value))\n\t)\n\t\tthrow new Error(\n\t\t\t`@nxgt/graphql-codegen-zod: the default of ${where} holds ${literal.value}, which a JavaScript number cannot keep exact. Write it as a string, if its scalar takes one.`,\n\t\t);\n}\n\n/**\n * The default of an argument or input field as a literal: its SDL's, or,\n * for a schema built without SDL (introspected), its value written back.\n * graphql 16 holds that value in `defaultValue`, graphql 17 in `default`.\n */\nexport function defaultLiteral(\n\tinput: GraphQLArgument | GraphQLInputField,\n): ConstValueNode | undefined {\n\tif (input.astNode) return input.astNode.defaultValue;\n\tconst loose = input as {\n\t\tdefaultValue?: unknown;\n\t\tdefault?: { value?: unknown; literal?: ConstValueNode };\n\t};\n\tif (loose.default?.literal) return loose.default.literal;\n\tif (loose.default) {\n\t\t// graphql 17: an external value, written back by valueToLiteral.\n\t\tconst toLiteral = (\n\t\t\tgraphql as {\n\t\t\t\tvalueToLiteral?: (\n\t\t\t\t\tvalue: unknown,\n\t\t\t\t\ttype: GraphQLInputType,\n\t\t\t\t) => ConstValueNode | undefined;\n\t\t\t}\n\t\t).valueToLiteral;\n\t\tif (loose.default.value === undefined || !toLiteral) return undefined;\n\t\treturn toLiteral(loose.default.value, input.type);\n\t}\n\t// graphql 16: an internal value, written back by astFromValue.\n\tif (loose.defaultValue === undefined) return undefined;\n\treturn (astFromValue(loose.defaultValue, input.type) ?? undefined) as\n\t\t| ConstValueNode\n\t\t| undefined;\n}\n\n/**\n * A default as graphql coerces it, through lists and input objects: a\n * single value given for a list is a list of it (`[String!] = \"a\"` is\n * `[\"a\"]`, `[[Int]] = 1` is `[[1]]`), at any depth.\n */\nexport function coerced(value: unknown, type: GraphQLInputType): unknown {\n\tconst nullable = isNonNullType(type) ? type.ofType : type;\n\tif (value === null || value === undefined) return value;\n\tif (isListType(nullable)) {\n\t\tconst items = Array.isArray(value) ? value : [value];\n\t\treturn items.map((item) => coerced(item, nullable.ofType));\n\t}\n\tif (isInputObjectType(nullable) && typeof value === 'object') {\n\t\tconst fields = nullable.getFields();\n\t\treturn Object.fromEntries(\n\t\t\tObject.entries(value as Record<string, unknown>).map(([key, field]) => {\n\t\t\t\tconst definition = fields[key];\n\t\t\t\treturn [key, definition ? coerced(field, definition.type) : field];\n\t\t\t}),\n\t\t);\n\t}\n\t// graphql takes an Int for an ID, and the resolver gets its string.\n\tif (getNamedType(nullable) === GraphQLID && typeof value === 'number')\n\t\treturn String(value);\n\treturn value;\n}\n",
|
|
20
20
|
"import {\n\tGraphQLBoolean,\n\tGraphQLFloat,\n\tGraphQLID,\n\ttype GraphQLInputField,\n\ttype GraphQLInputObjectType,\n\ttype GraphQLInputType,\n\tGraphQLInt,\n\ttype GraphQLNamedInputType,\n\tGraphQLString,\n\tgetNamedType,\n\tisEnumType,\n\tisInputObjectType,\n\tisListType,\n\tisNonNullType,\n} from 'graphql';\nimport { defaultLiteral } from './defaults';\nimport type { Naming } from './naming';\nimport { docComment } from './source';\nimport type { Writer } from './writer';\n\ntype Side = 'input' | 'output';\n\nconst builtIns: Readonly<Record<string, string>> = {\n\t[GraphQLString.name]: 'string',\n\t[GraphQLID.name]: 'string',\n\t[GraphQLInt.name]: 'number',\n\t[GraphQLFloat.name]: 'number',\n\t[GraphQLBoolean.name]: 'boolean',\n};\n\n/**\n * An input type in a cycle, declared with its types written out, since\n * TypeScript cannot infer them: `Filter` (what the resolver receives),\n * `FilterInput` (what a client sends), and `zFilter` typed by both. The\n * schema's types must fit inside them, a type error otherwise; a type\n * written wider than the schema would compile, so test/types.ts pins them.\n */\nexport function declareCyclic(\n\ttype: GraphQLInputObjectType,\n\tcode: string,\n\twriter: Writer,\n\tnaming: Naming,\n\tcyclic: ReadonlySet<string>,\n): string {\n\tconst types = new TypeCode(writer, naming, cyclic);\n\tconst output = naming.type(type.name);\n\tconst input = `${output}Input`;\n\tconst doc = docComment(type.description);\n\treturn [\n\t\t`${doc}export type ${output} = ${types.object(type, 'output')};`,\n\t\t`${doc}export type ${input} = ${types.object(type, 'input')};`,\n\t\t`${doc}export const ${naming.schema(output)}: z.ZodType<${output}, ${input}> = ${code};`,\n\t].join('\\n');\n}\n\n/** The TypeScript type of a value, on the way in or on the way out. */\nclass TypeCode {\n\treadonly #writer: Writer;\n\treadonly #naming: Naming;\n\treadonly #cyclic: ReadonlySet<string>;\n\n\tconstructor(writer: Writer, naming: Naming, cyclic: ReadonlySet<string>) {\n\t\tthis.#writer = writer;\n\t\tthis.#naming = naming;\n\t\tthis.#cyclic = cyclic;\n\t}\n\n\t/** An input object's fields, or, for `@oneOf`, one member set. */\n\tobject(type: GraphQLInputObjectType, side: Side): string {\n\t\tconst fields = Object.values(type.getFields());\n\t\tif (type.isOneOf)\n\t\t\treturn fields\n\t\t\t\t.map(\n\t\t\t\t\t(field) => `{ ${field.name}: ${this.#required(field.type, side)} }`,\n\t\t\t\t)\n\t\t\t\t.join(' | ');\n\t\tconst members = fields.map(\n\t\t\t(field) =>\n\t\t\t\t`${docComment(field.description, '\\t')}\\t${this.#member(field, side)};`,\n\t\t);\n\t\treturn `{\\n${members.join('\\n')}\\n}`;\n\t}\n\n\t/**\n\t * A field as `Writer.value` writes it: optional on the way in when it\n\t * is nullable or has a default; on the way out, present when it has a\n\t * default, else optional when nullable.\n\t */\n\t#member(field: GraphQLInputField, side: Side): string {\n\t\tconst nullable = !isNonNullType(field.type);\n\t\tconst filled = defaultLiteral(field) !== undefined;\n\t\tconst type = this.#required(field.type, side);\n\t\tif (!nullable)\n\t\t\treturn side === 'input' && filled\n\t\t\t\t? `${field.name}?: ${type} | undefined`\n\t\t\t\t: `${field.name}: ${type}`;\n\t\tif (side === 'output' && filled) return `${field.name}: ${type} | null`;\n\t\treturn `${field.name}?: ${type} | null | undefined`;\n\t}\n\n\t/** `type` without its null: a list, a named type. */\n\t#required(type: GraphQLInputType, side: Side): string {\n\t\tif (isNonNullType(type)) return this.#required(type.ofType, side);\n\t\tif (!isListType(type)) return this.#named(type, side);\n\t\tconst item = isNonNullType(type.ofType)\n\t\t\t? this.#required(type.ofType, side)\n\t\t\t: `${this.#required(type.ofType, side)} | null | undefined`;\n\t\tconst list = `Array<${item}>`;\n\t\t// A single value for a list, as `Writer` takes it.\n\t\treturn side === 'input'\n\t\t\t? `${this.#named(getNamedType(type), side)} | ${list}`\n\t\t\t: list;\n\t}\n\n\t#named(type: GraphQLNamedInputType, side: Side): string {\n\t\tconst builtIn = builtIns[type.name];\n\t\tif (builtIn) return builtIn;\n\t\tif (isEnumType(type))\n\t\t\treturn `z.output<typeof ${this.#writer.schemaName(type)}>`;\n\t\tif (isInputObjectType(type)) {\n\t\t\tconst name = this.#naming.type(type.name);\n\t\t\tif (this.#cyclic.has(type.name))\n\t\t\t\treturn side === 'output' ? name : `${name}Input`;\n\t\t\treturn `z.${side}<typeof ${this.#writer.schemaName(type)}>`;\n\t\t}\n\t\treturn `z.${side}<typeof ${this.#writer.scalarCode(type)}>`;\n\t}\n}\n",
|
|
21
21
|
"import {\n\ttype Constraint,\n\tconstraintsOn,\n} from '@nxgt/graphql-validation/codegen';\nimport {\n\ttype ASTNode,\n\ttype FragmentDefinitionNode,\n\ttype GraphQLDirective,\n\ttype GraphQLInputType,\n\ttype GraphQLSchema,\n\tgetNamedType,\n\tisInputObjectType,\n\tisListType,\n\tisNonNullType,\n\tKind,\n\ttype OperationDefinitionNode,\n\tTypeInfo,\n\ttypeFromAST,\n\ttype ValueNode,\n\tvisit,\n\tvisitWithTypeInfo,\n} from 'graphql';\nimport type { DocumentFile } from './config';\nimport type { Naming } from './naming';\nimport { declare, objectMembers } from './source';\nimport type { Writer } from './writer';\n\n/**\n * One schema per named operation in `documents`, for its variables as a\n * client sends them (`z.input`). A variable gets the constraints of every\n * argument or input field it is passed to, in the operation and in the\n * fragments it spreads: the client refuses what the server would.\n * An anonymous operation has no name to give its schema, and gets none.\n */\nexport function variablesBlocks(\n\tschema: GraphQLSchema,\n\tdocuments: readonly DocumentFile[],\n\twriter: Writer,\n\tnaming: Naming,\n): string[] {\n\tconst definitions = documents.flatMap(\n\t\t(file) => file.document?.definitions ?? [],\n\t);\n\tconst fragments = new Map(\n\t\tdefinitions\n\t\t\t.filter(\n\t\t\t\t(node): node is FragmentDefinitionNode =>\n\t\t\t\t\tnode.kind === Kind.FRAGMENT_DEFINITION,\n\t\t\t)\n\t\t\t.map((node) => [node.name.value, node]),\n\t);\n\treturn definitions\n\t\t.filter(\n\t\t\t(node): node is OperationDefinitionNode =>\n\t\t\t\tnode.kind === Kind.OPERATION_DEFINITION,\n\t\t)\n\t\t.flatMap((operation) => {\n\t\t\tconst operationName = operation.name?.value;\n\t\t\tif (!operationName) return [];\n\t\t\tconst used = usages(schema, writer.directive, operation, fragments);\n\t\t\tconst members = (operation.variableDefinitions ?? []).map(\n\t\t\t\t(definition) => {\n\t\t\t\t\tconst variable = definition.variable.name.value;\n\t\t\t\t\tconst type = typeFromAST(schema, definition.type) as\n\t\t\t\t\t\t| GraphQLInputType\n\t\t\t\t\t\t| undefined;\n\t\t\t\t\tif (!type) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`@nxgt/graphql-codegen-zod: ${operationName}'s $${variable} has a type the schema does not define.`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tconst where = `${operationName}($${variable}:)`;\n\t\t\t\t\tconst constraints = merged(used.get(variable) ?? [], where);\n\t\t\t\t\treturn [\n\t\t\t\t\t\tvariable,\n\t\t\t\t\t\twriter.value(type, constraints, where, definition.defaultValue),\n\t\t\t\t\t] as const;\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn [\n\t\t\t\tdeclare(\n\t\t\t\t\tnaming.variables(operationName, operation.operation),\n\t\t\t\t\tnaming,\n\t\t\t\t\t`z.object({\\n${objectMembers(members)}\\n})`,\n\t\t\t\t\t'input',\n\t\t\t\t),\n\t\t\t];\n\t\t});\n}\n\n/** One place a variable is passed to, and the constraints written there. */\ninterface Usage {\n\treadonly where: string;\n\treadonly constraints: readonly Constraint[];\n}\n\n/** Where a walk of an operation stands: what it found, what it reads. */\ninterface Walk {\n\treadonly found: Map<string, Usage[]>;\n\treadonly variables: ReadonlySet<string>;\n\treadonly directive: GraphQLDirective | undefined;\n}\n\n/** Each variable's usages, in the operation and the fragments it spreads. */\nfunction usages(\n\tschema: GraphQLSchema,\n\tdirective: GraphQLDirective | undefined,\n\toperation: OperationDefinitionNode,\n\tfragments: ReadonlyMap<string, FragmentDefinitionNode>,\n): Map<string, Usage[]> {\n\tconst walk: Walk = {\n\t\tfound: new Map(),\n\t\tvariables: new Set(\n\t\t\t(operation.variableDefinitions ?? []).map((d) => d.variable.name.value),\n\t\t),\n\t\tdirective,\n\t};\n\tconst seen = new Set<string>();\n\tconst visitNode = (node: ASTNode): void => {\n\t\tconst typeInfo = new TypeInfo(schema);\n\t\tvisit(\n\t\t\tnode,\n\t\t\tvisitWithTypeInfo(typeInfo, {\n\t\t\t\tArgument(argument) {\n\t\t\t\t\tconst definition = typeInfo.getArgument();\n\t\t\t\t\tconst field = typeInfo.getFieldDef();\n\t\t\t\t\t// A directive's argument carries no constraint (withValidation refuses one).\n\t\t\t\t\tif (!definition || !field || typeInfo.getDirective() !== null) return;\n\t\t\t\t\tconst where = `${typeInfo.getParentType()?.name}.${field.name}(${definition.name}:)`;\n\t\t\t\t\twalkValue(\n\t\t\t\t\t\twalk,\n\t\t\t\t\t\targument.value,\n\t\t\t\t\t\tdefinition.type,\n\t\t\t\t\t\tconstraintsOn(directive, definition.astNode),\n\t\t\t\t\t\twhere,\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tFragmentSpread(spread) {\n\t\t\t\t\tconst fragment = fragments.get(spread.name.value);\n\t\t\t\t\tif (fragment && !seen.has(fragment.name.value)) {\n\t\t\t\t\t\tseen.add(fragment.name.value);\n\t\t\t\t\t\tvisitNode(fragment);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\t};\n\tvisitNode(operation);\n\treturn walk.found;\n}\n\n/**\n * Records the variables inside a value passed where `type` is expected:\n * the value itself, the items of a list literal (which take the items'\n * rules), the fields of an object literal (which take their own).\n */\nfunction walkValue(\n\twalk: Walk,\n\tvalue: ValueNode,\n\ttype: GraphQLInputType,\n\tconstraints: readonly Constraint[],\n\twhere: string,\n): void {\n\tif (value.kind === Kind.VARIABLE) {\n\t\tif (!walk.variables.has(value.name.value)) return;\n\t\tconst list = walk.found.get(value.name.value) ?? [];\n\t\tlist.push({ where, constraints });\n\t\twalk.found.set(value.name.value, list);\n\t\treturn;\n\t}\n\tconst nullable = isNonNullType(type) ? type.ofType : type;\n\tif (value.kind === Kind.LIST && isListType(nullable)) {\n\t\tconst items = constraints.filter(({ rule }) => rule.target !== 'list');\n\t\tfor (const item of value.values)\n\t\t\twalkValue(walk, item, nullable.ofType, items, where);\n\t\treturn;\n\t}\n\tconst named = getNamedType(type);\n\tif (value.kind === Kind.OBJECT && isInputObjectType(named)) {\n\t\tfor (const field of value.fields) {\n\t\t\tconst definition = named.getFields()[field.name.value];\n\t\t\tif (definition) {\n\t\t\t\twalkValue(\n\t\t\t\t\twalk,\n\t\t\t\t\tfield.value,\n\t\t\t\t\tdefinition.type,\n\t\t\t\t\tconstraintsOn(walk.directive, definition.astNode),\n\t\t\t\t\t`${named.name}.${definition.name}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Every constraint of every usage, once each, `format` first. Two\n * different formats cannot both be written (each replaces the schema), so\n * they fail generation, naming both places.\n */\nfunction merged(usages: readonly Usage[], where: string): Constraint[] {\n\tconst all: (Constraint & { readonly at: string })[] = [];\n\tfor (const usage of usages) {\n\t\tfor (const constraint of usage.constraints) {\n\t\t\tconst same = all.some(\n\t\t\t\t(known) =>\n\t\t\t\t\tknown.rule === constraint.rule && known.value === constraint.value,\n\t\t\t);\n\t\t\tif (!same) all.push({ ...constraint, at: usage.where });\n\t\t}\n\t}\n\tconst bases = all.filter(({ rule }) => rule.base);\n\tconst [first, second] = bases;\n\tif (first && second) {\n\t\tthrow new Error(\n\t\t\t`@nxgt/graphql-codegen-zod: ${where} is passed to ${first.at} (${first.rule.argument}: ${JSON.stringify(first.value)}) and to ${second.at} (${second.rule.argument}: ${JSON.stringify(second.value)}), whose schemas cannot both apply. Use one variable for each.`,\n\t\t);\n\t}\n\treturn [...bases, ...all.filter(({ rule }) => !rule.base)].map(\n\t\t({ rule, value }) => ({ rule, value }),\n\t);\n}\n",
|
|
22
|
-
"import {\n\ttype Constraint,\n\ttype InputCodeOptions,\n\tinputCode,\n} from '@nxgt/graphql-validation/codegen';\nimport {\n\ttype ConstValueNode,\n\ttype GraphQLDirective,\n\ttype GraphQLInputType,\n\ttype GraphQLNamedInputType,\n\tGraphQLNonNull,\n\ttype GraphQLScalarType,\n\tgetNamedType,\n\tisEnumType,\n\tisInputObjectType,\n\
|
|
22
|
+
"import {\n\ttype Constraint,\n\ttype InputCodeOptions,\n\tinputCode,\n} from '@nxgt/graphql-validation/codegen';\nimport {\n\ttype ConstValueNode,\n\ttype GraphQLDirective,\n\ttype GraphQLInputType,\n\ttype GraphQLNamedInputType,\n\tGraphQLNonNull,\n\ttype GraphQLScalarType,\n\tgetNamedType,\n\tisEnumType,\n\tisInputObjectType,\n\tisListType,\n\tisNonNullType,\n\tisSpecifiedScalarType,\n} from 'graphql';\nimport { parsedDefault } from './defaults';\nimport type { FormatCode } from './formats';\nimport type { Naming } from './naming';\nimport type { ScalarSources } from './scalars';\n\n/** One value's schema as source, and whether it names an input object. */\nexport interface ValueCode {\n\treadonly code: string;\n\t/** Written behind a getter: the input object may not be declared yet. */\n\treadonly lazy: boolean;\n\t/** The member's doc comment, from its GraphQL description. */\n\treadonly description?: string | null | undefined;\n}\n\n/**\n * Writes the schema of a value of a GraphQL input type: an argument, an\n * input field, an operation variable. Enums and input objects are named by\n * their schema, custom scalars come from their mapping, and the rest is\n * `@nxgt/graphql-validation`'s `inputCode`, constraints included.\n */\nexport class Writer {\n\treadonly directive: GraphQLDirective | undefined;\n\treadonly #naming: Naming;\n\treadonly #scalars: ScalarSources;\n\treadonly #formats: FormatCode;\n\treadonly #options: InputCodeOptions;\n\n\tconstructor(\n\t\tdirective: GraphQLDirective | undefined,\n\t\tnaming: Naming,\n\t\tscalars: ScalarSources,\n\t\tformats: FormatCode,\n\t) {\n\t\tthis.directive = directive;\n\t\tthis.#naming = naming;\n\t\tthis.#scalars = scalars;\n\t\tthis.#formats = formats;\n\t\t// An application format is a reference to its schema, chained on.\n\t\tthis.#options = { list: singleOrList, format: formats.code };\n\t}\n\n\t/** The source of a custom scalar's schema, from its mapping. */\n\tscalarCode(type: GraphQLScalarType): string {\n\t\treturn this.#scalars.code(type);\n\t}\n\n\t/** The schema's name of an enum or an input object. */\n\tschemaName(type: GraphQLNamedInputType): string {\n\t\treturn this.#naming.schema(this.#naming.type(type.name));\n\t}\n\n\t/**\n\t * `type`'s schema with `constraints`, `where` naming it in errors. A\n\t * default makes the value optional on the way in and present on the way\n\t * out, as graphql fills it: `.prefault(<default>)`, then `.nullable()`.\n\t */\n\tvalue(\n\t\ttype: GraphQLInputType,\n\t\tconstraints: readonly Constraint[],\n\t\twhere: string,\n\t\tdefaultValue?: ConstValueNode,\n\t): ValueCode {\n\t\tlet lazy = false;\n\t\tconst named = (named: GraphQLNamedInputType): string => {\n\t\t\tif (isInputObjectType(named)) {\n\t\t\t\tlazy = true;\n\t\t\t\treturn this.schemaName(named);\n\t\t\t}\n\t\t\tif (isEnumType(named)) return this.schemaName(named);\n\t\t\treturn this.#scalars.code(named);\n\t\t};\n\t\tif (!defaultValue)\n\t\t\treturn {\n\t\t\t\tcode: inputCode(\n\t\t\t\t\ttype,\n\t\t\t\t\tconstraints,\n\t\t\t\t\twhere,\n\t\t\t\t\tnamed,\n\t\t\t\t\tthis.#options,\n\t\t\t\t\tthis.#formats.schemas,\n\t\t\t\t),\n\t\t\t\tlazy,\n\t\t\t};\n\t\t// The default parsed as the client's value would be, then null allowed\n\t\t// after it: the key is optional on the way in, present on the way out.\n\t\tconst nullable = !isNonNullType(type);\n\t\tconst required = inputCode(\n\t\t\tnullable ? new GraphQLNonNull(type) : type,\n\t\t\tconstraints,\n\t\t\twhere,\n\t\t\tnamed,\n\t\t\tthis.#options,\n\t\t\tthis.#formats.schemas,\n\t\t);\n\t\tconst value = JSON.stringify(parsedDefault(defaultValue, type, where));\n\t\treturn {\n\t\t\tcode: `${required}.prefault(${value})${nullable ? '.nullable()' : ''}`,\n\t\t\tlazy,\n\t\t};\n\t}\n\n\t/** `value` for a type made non-null: a `@oneOf` member, which is set. */\n\trequired(\n\t\ttype: GraphQLInputType,\n\t\tconstraints: readonly Constraint[],\n\t\twhere: string,\n\t): ValueCode {\n\t\treturn this.value(\n\t\t\tisNonNullType(type) ? type : new GraphQLNonNull(type),\n\t\t\tconstraints,\n\t\t\twhere,\n\t\t);\n\t}\n}\n\n/**\n * A list that also takes a single value, as graphql coerces it (`\"a\"` for\n * `[String]` is `[\"a\"]`, for `[[String]]` `[[\"a\"]]`). The union only gives\n * the value its shape, parsing nothing: a list as it was sent, a single\n * value wrapped. Then it is piped into `code`, the list's own schema with\n * every rule, the server's: its items are parsed once, there, and a rule\n * refuses with the message, and at the path, the server gives (`[0]` for\n * a single value). Never `null`: a nullable list says so with its own\n * `.nullish()`, and graphql never wraps a null.\n *\n * Nothing that can fail sits inside an option: zod 4.6.6 aborts an\n * oversized array before its items, and a union with every option aborted\n * reports `invalid_union`, not the list too long. `code` after the union\n * checks size and items as the server's array does, under any zod.\n */\nconst singleOrList: NonNullable<InputCodeOptions['list']> = ({\n\ttype,\n\tcode,\n\tsingle,\n}) => {\n\tconst one = singleInput(getNamedType(type), single);\n\treturn `z.union([z.array(z.custom<${itemInput(type.ofType, one)}>()), z.custom<${one}>((value) => value != null && !Array.isArray(value)).transform((value): unknown[] => [value])]).pipe(${code})`;\n};\n\n/** What a client may send for one value of a list's named type, as a type. */\nfunction singleInput(named: GraphQLNamedInputType, single: string): string {\n\tif (isSpecifiedScalarType(named))\n\t\treturn BUILT_IN_INPUTS[named.name] ?? 'string';\n\treturn `z.input<typeof ${single}>`;\n}\n\n/** The built-in scalars' input types, as `baseCode` parses them. */\nconst BUILT_IN_INPUTS: Readonly<Record<string, string>> = {\n\tString: 'string',\n\tID: 'string',\n\tInt: 'number',\n\tFloat: 'number',\n\tBoolean: 'boolean',\n};\n\n/**\n * What a client may send for one item of a list, as a type: what its\n * schema's `z.input` is, so the union types the list as `code` would.\n */\nfunction itemInput(type: GraphQLInputType, one: string): string {\n\tif (isNonNullType(type)) return requiredInput(type.ofType, one);\n\treturn `${requiredInput(type, one)} | null | undefined`;\n}\n\nfunction requiredInput(type: GraphQLInputType, one: string): string {\n\tif (isNonNullType(type)) return requiredInput(type.ofType, one);\n\t// An inner list takes a single value too.\n\tif (isListType(type)) return `Array<${itemInput(type.ofType, one)}> | ${one}`;\n\treturn one;\n}\n"
|
|
23
23
|
],
|
|
24
|
-
"mappings": "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",
|
|
25
|
-
"debugId": "
|
|
24
|
+
"mappings": "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",
|
|
25
|
+
"debugId": "895C9FE6E284857764756E2164756E21",
|
|
26
26
|
"names": []
|
|
27
27
|
}
|
package/docs/guide/output.md
CHANGED
|
@@ -220,7 +220,7 @@ type Query { users(first: Int = 10 @constraint(min: 1, max: 50)): [String!]! }
|
|
|
220
220
|
```ts
|
|
221
221
|
export const zSignUpInput = z.strictObject({
|
|
222
222
|
role: zRole.prefault("USER").nullable(),
|
|
223
|
-
tags: z.union([z.array(z.string())
|
|
223
|
+
tags: z.union([z.array(z.custom<string>()), z.custom<string>((value) => value != null && !Array.isArray(value)).transform((value): unknown[] => [value])]).pipe(z.array(z.string()).min(1)).prefault(["new"]).nullable(),
|
|
224
224
|
});
|
|
225
225
|
export const zQueryUsersArgs = z.object({
|
|
226
226
|
first: z.int32().lte(50).gte(1).prefault(10).nullable(),
|
|
@@ -299,7 +299,7 @@ export type FilterInput = {
|
|
|
299
299
|
/** A filter that nests. */
|
|
300
300
|
export const zFilter: z.ZodType<Filter, FilterInput> = z.strictObject({
|
|
301
301
|
get and() {
|
|
302
|
-
return z.union([z.array(zFilter
|
|
302
|
+
return z.union([z.array(z.custom<z.input<typeof zFilter>>()), z.custom<z.input<typeof zFilter>>((value) => value != null && !Array.isArray(value)).transform((value): unknown[] => [value])]).pipe(z.array(zFilter).max(3)).nullish();
|
|
303
303
|
},
|
|
304
304
|
name: z.string().startsWith("n").nullish(),
|
|
305
305
|
});
|
|
@@ -374,10 +374,13 @@ export type UsersQueryVariables = z.input<typeof zUsersQueryVariables>;
|
|
|
374
374
|
|
|
375
375
|
**Coercions.** A list also takes a single value, as `graphql` does, whatever
|
|
376
376
|
its items and at any depth (`"a"` for `[[String]]` is `[["a"]]`): the value
|
|
377
|
-
is wrapped, then checked as the list.
|
|
377
|
+
is wrapped, then checked as the list. The union only gives the value its
|
|
378
|
+
shape, parsing nothing; the list's own schema, the one `withValidation`
|
|
379
|
+
builds on the server, comes after it in `.pipe(...)` and parses the items
|
|
380
|
+
once. From `Prefs.tags`:
|
|
378
381
|
|
|
379
382
|
```ts
|
|
380
|
-
tags: z.union([z.array(z.string()), z.string().transform((value): unknown[] => [value]).pipe(z.array(z.string()))
|
|
383
|
+
tags: z.union([z.array(z.custom<string>()), z.custom<string>((value) => value != null && !Array.isArray(value)).transform((value): unknown[] => [value])]).pipe(z.array(z.string())).nullish(),
|
|
381
384
|
```
|
|
382
385
|
|
|
383
386
|
`zPrefs.parse({ tags: "ok" })` gives `{ tags: ["ok"] }`, what the resolver
|
|
@@ -386,17 +389,25 @@ receives. A rule refuses a single value as the server does, at the same path:
|
|
|
386
389
|
`tags: "toolongtag"` fails at `["input", "tags", 0]` with the server's
|
|
387
390
|
message.
|
|
388
391
|
|
|
392
|
+
A list too long is refused by that same schema, so the client says what the
|
|
393
|
+
server says under any zod: `too_big` at the list's path, after its items'
|
|
394
|
+
issues with zod 4.6.5, alone with zod 4.6.6 and later, which stops an
|
|
395
|
+
oversized array before its items. No size check sits inside the union: an
|
|
396
|
+
option that fails it is aborted from zod 4.6.6, and the union would report
|
|
397
|
+
`invalid_union` instead of the list too long.
|
|
398
|
+
|
|
389
399
|
A custom scalar's schema may decode (`DateTime`, a string to a `Date`), and
|
|
390
|
-
an input object's holds such scalars.
|
|
391
|
-
list's schema as it was sent, and
|
|
400
|
+
an input object's holds such scalars. Whatever the item type, the single value
|
|
401
|
+
reaches the list's schema as it was sent, wrapped in a list and not parsed
|
|
402
|
+
before, so it is parsed once, by that schema:
|
|
392
403
|
|
|
393
404
|
```ts
|
|
394
|
-
dates: z.union([z.array(scalarSchemas.DateTime), z.custom<z.input<typeof scalarSchemas.DateTime>>((value) => !Array.isArray(value)).transform((value): unknown[] => [value]).pipe(z.array(scalarSchemas.DateTime))
|
|
405
|
+
dates: z.union([z.array(z.custom<z.input<typeof scalarSchemas.DateTime>>()), z.custom<z.input<typeof scalarSchemas.DateTime>>((value) => value != null && !Array.isArray(value)).transform((value): unknown[] => [value])]).pipe(z.array(scalarSchemas.DateTime)).nullish(),
|
|
395
406
|
```
|
|
396
407
|
|
|
397
408
|
```ts
|
|
398
409
|
get contacts() {
|
|
399
|
-
return z.union([z.array(zContact
|
|
410
|
+
return z.union([z.array(z.custom<z.input<typeof zContact>>()), z.custom<z.input<typeof zContact>>((value) => value != null && !Array.isArray(value)).transform((value): unknown[] => [value])]).pipe(z.array(zContact).max(2)).nullish();
|
|
400
411
|
},
|
|
401
412
|
```
|
|
402
413
|
|
|
@@ -537,7 +548,7 @@ import { skuSchema } from "../sku";
|
|
|
537
548
|
|
|
538
549
|
handle: formatSchemas.slug.max(40),
|
|
539
550
|
country: formatSchemas["country-code"].nullish(),
|
|
540
|
-
skus: z.union([
|
|
551
|
+
skus: z.union([/* a list, or a single value wrapped */]).pipe(z.array(skuSchema).max(2)).nullish(),
|
|
541
552
|
email: z.email(),
|
|
542
553
|
```
|
|
543
554
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nxgt/graphql-codegen-zod",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "A graphql-codegen plugin that writes Zod schemas from your SDL — inputs, enums, field arguments, operation variables, operation results and output types — with the @constraint rules of @nxgt/graphql-validation",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"generated:write": "bun run test/write-generated.ts"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@nxgt/graphql-validation": "^0.4.
|
|
49
|
+
"@nxgt/graphql-validation": "^0.4.1",
|
|
50
50
|
"change-case": "^5.4.4"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|