@nxgt/graphql-codegen-zod 0.3.0 → 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/README.md +2 -0
- package/dist/index.js +28 -6
- package/dist/index.js.map +3 -3
- package/docs/guide/output.md +20 -9
- package/docs/roadmap.md +6 -5
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -199,6 +199,8 @@ if (!result.success) {
|
|
|
199
199
|
}
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
+
[`@nxgt/graphql-codegen-msw`](https://www.npmjs.com/package/@nxgt/graphql-codegen-msw) checks each mocked request's variables with these same `z<Operation>Variables` schemas.
|
|
203
|
+
|
|
202
204
|
### On the client: parse the response
|
|
203
205
|
|
|
204
206
|
An operation's result is typed `z.output`: what the response holds, custom
|
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/docs/roadmap.md
CHANGED
|
@@ -4,11 +4,7 @@ What `@nxgt/graphql-codegen-zod` is heading for, phrased as what you get.
|
|
|
4
4
|
|
|
5
5
|
## Now
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
'./formats'` reads the record `withValidation(schema, { formats })` takes,
|
|
9
|
-
`zodFormats` one format; the generated schemas import your formats and
|
|
10
|
-
chain the other rules on them, so the client refuses what the server
|
|
11
|
-
refuses. Needs `@nxgt/graphql-validation` 0.3.
|
|
7
|
+
Nothing in progress.
|
|
12
8
|
|
|
13
9
|
## Next
|
|
14
10
|
|
|
@@ -31,6 +27,11 @@ Nothing yet.
|
|
|
31
27
|
|
|
32
28
|
## Shipped
|
|
33
29
|
|
|
30
|
+
- **Your own formats, 0.3.0.** `formatSchemas: './formats'` reads the record
|
|
31
|
+
`withValidation(schema, { formats })` takes, `zodFormats` one format; the
|
|
32
|
+
generated schemas import your formats and chain the other rules on them,
|
|
33
|
+
so the client refuses what the server refuses. Needs
|
|
34
|
+
`@nxgt/graphql-validation` 0.3.
|
|
34
35
|
- **Declarations that resolve under `nodenext`, 0.2.1.** The generated
|
|
35
36
|
file's `scalarSchemas` import typechecks with `moduleResolution`
|
|
36
37
|
`nodenext` or `node16`, with `@nxgt/graphql-scalars` 0.4.1 or later.
|
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,12 +46,12 @@
|
|
|
46
46
|
"generated:write": "bun run test/write-generated.ts"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@nxgt/graphql-validation": "^0.
|
|
49
|
+
"@nxgt/graphql-validation": "^0.4.1",
|
|
50
50
|
"change-case": "^5.4.4"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@nxgt/graphql-scalars": "^0.6.
|
|
54
|
-
"@nxgt/zod": "^0.1.
|
|
53
|
+
"@nxgt/graphql-scalars": "^0.6.2",
|
|
54
|
+
"@nxgt/zod": "^0.1.3",
|
|
55
55
|
"@types/bun": "^1.4.0",
|
|
56
56
|
"graphql": "16.11.0",
|
|
57
57
|
"zod": "4.6.5"
|