@schema-hub/zod-graphql-query-builder 0.0.3 → 0.0.5

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/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "author": "Mathias Schreck <schreck.mathias@gmail.com>",
3
3
  "dependencies": {
4
- "graphql": "16.8.1"
4
+ "graphql": "16.9.0"
5
5
  },
6
6
  "description": "Transforms Zod schemas into GraphQL queries",
7
7
  "engines": {
8
- "node": "^20"
8
+ "node": "^20 || ^22"
9
9
  },
10
10
  "keywords": [
11
11
  "graphql",
@@ -27,5 +27,5 @@
27
27
  },
28
28
  "type": "module",
29
29
  "types": "zod-graphql-query-builder/entry-point.d.ts",
30
- "version": "0.0.3"
30
+ "version": "0.0.5"
31
31
  }
package/readme.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # zod-graphql-query-builder
2
2
 
3
- This library transforms a [`zod`](https://github.com/colinhacks/zod) schema into a GraphQL query.
3
+ This library transforms a [`zod`](https://github.com/colinhacks/zod) schema into a GraphQL query or mutation.
4
4
 
5
5
  ## Example
6
6
 
@@ -44,7 +44,7 @@ import { buildGraphqlQuery } from '@schema-hub/zod-graphql-query-builder';
44
44
  import { z } from 'zod';
45
45
 
46
46
  const mySchema = z.object({ foo: z.string() }).strict();
47
- const query = buildGraphqlQuery(mySchema, { queryName: 'MyQuery' });
47
+ const query = buildGraphqlQuery(mySchema, { operationName: 'MyQuery' });
48
48
  ```
49
49
 
50
50
  **Built query:**
@@ -68,7 +68,7 @@ const query = buildGraphqlQuery(mySchema);
68
68
  **Built query:**
69
69
 
70
70
  ```graphql
71
- query MyQuery { foo: bar }
71
+ query { foo: bar }
72
72
  ```
73
73
 
74
74
  ### Defining Field Arguments / Parameters
@@ -88,9 +88,9 @@ const mySchema = z
88
88
  .object({
89
89
  foo: graphqlFieldOptions(z.string(), {
90
90
  parameters: {
91
- plainValue: 'plain-string',
92
- enumParameter: enumValue('foo'),
93
- variable: variablePlaceholder('$var')
91
+ anyParameterAssignedToPlainValue: 'plain-string',
92
+ anyParameterAssignedToEnumValue: enumValue('foo'),
93
+ anyParameterReferencingAVariable: variablePlaceholder('$var')
94
94
  }
95
95
  })
96
96
  })
@@ -101,7 +101,7 @@ const query = buildGraphqlQuery(mySchema, { variableDefinitions: { $var: 'String
101
101
  **Built query:**
102
102
 
103
103
  ```graphql
104
- query ($var: String!) { foo(plainValue: "plain-string", enumParameter: foo, variable: $var) }
104
+ query ($var: String!) { foo(anyParameterAssignedToPlainValue: "plain-string", anyParameterAssignedToEnumValue: foo, anyParameterReferencingAVariable: $var) }
105
105
  ```
106
106
 
107
107
  ### Defining Fragments
@@ -126,5 +126,76 @@ const query = buildGraphqlQuery(mySchema);
126
126
  **Built query:**
127
127
 
128
128
  ```graphql
129
- query { foo: { ... on A { __typename, valueA }, ... on B { __typename, valueB } } }
129
+ query { foo { ... on A { __typename, valueA }, ... on B { __typename, valueB } } }
130
+ ```
131
+
132
+ ## Mutations
133
+
134
+ ### Basic Mutation
135
+
136
+ **Input:**
137
+
138
+ ```typescript
139
+ import { buildGraphqlMutation } from '@schema-hub/zod-graphql-query-builder';
140
+ import { z } from 'zod';
141
+
142
+ const mySchema = z.object({ foo: z.string() }).strict();
143
+ const mutation = buildGraphqlMutation(mySchema);
144
+ ```
145
+
146
+ **Built mutation:**
147
+
148
+ ```graphql
149
+ mutation { foo }
150
+ ```
151
+
152
+ ### Mutation with Name
153
+
154
+ **Input:**
155
+
156
+ ```typescript
157
+ import { buildGraphqlMutation } from '@schema-hub/zod-graphql-query-builder';
158
+ import { z } from 'zod';
159
+
160
+ const mySchema = z.object({ foo: z.string() }).strict();
161
+ const mutation = buildGraphqlMutation(mySchema, { operationName: 'MyMutation' });
162
+ ```
163
+
164
+ **Built mutation:**
165
+
166
+ ```graphql
167
+ mutation MyMutation { foo }
168
+ ```
169
+
170
+ ### Mutation with Variables
171
+
172
+ **Input:**
173
+
174
+ ```typescript
175
+ import {
176
+ buildGraphqlMutation,
177
+ enumValue,
178
+ graphqlFieldOptions,
179
+ variablePlaceholder
180
+ } from '@schema-hub/zod-graphql-query-builder';
181
+ import { z } from 'zod';
182
+
183
+ const mySchema = z
184
+ .object({
185
+ foo: graphqlFieldOptions(z.string(), {
186
+ parameters: {
187
+ anyParameterAssignedToPlainValue: 'plain-string',
188
+ anyParameterAssignedToEnumValue: enumValue('foo'),
189
+ anyParameterReferencingAVariable: variablePlaceholder('$var')
190
+ }
191
+ })
192
+ })
193
+ .strict();
194
+ const mutation = buildGraphqlMutation(mySchema, { variableDefinitions: { $var: 'String!' } });
195
+ ```
196
+
197
+ **Built mutation:**
198
+
199
+ ```graphql
200
+ mutation ($var: String!) { foo(anyParameterAssignedToPlainValue: "plain-string", anyParameterAssignedToEnumValue: foo, anyParameterReferencingAVariable: $var) }
130
201
  ```
@@ -6,13 +6,14 @@ type GraphqlFieldOptions = {
6
6
  aliasFor?: string;
7
7
  parameters?: Record<string, GraphqlValue>;
8
8
  };
9
- export type QueryOptions = {
10
- queryName?: string | undefined;
9
+ export type OperationOptions = {
10
+ operationName?: string | undefined;
11
11
  variableDefinitions?: VariableDefinitions | undefined;
12
12
  };
13
13
  export type QueryBuilder = {
14
14
  registerFieldOptions: <Schema extends FieldSchema>(schema: Schema, options: GraphqlFieldOptions) => ZodLazy<Schema>;
15
- buildQuery: <Schema extends QuerySchema>(schema: Schema, options?: QueryOptions) => string;
15
+ buildQuery: <Schema extends QuerySchema>(schema: Schema, options?: OperationOptions) => string;
16
+ buildMutation: <Schema extends QuerySchema>(schema: Schema, options?: OperationOptions) => string;
16
17
  };
17
18
  export declare function createQueryBuilder(): QueryBuilder;
18
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,OAAO,EAAiB,MAAM,KAAK,CAAC;AACtF,OAAO,EACH,KAAK,WAAW,EAUhB,KAAK,WAAW,EAInB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAgC,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AASlG,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,oBAAoB,EAAE,CAAC,MAAM,SAAS,WAAW,EAC7C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,KAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,MAAM,SAAS,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC;CAC9F,CAAC;AA+CF,wBAAgB,kBAAkB,IAAI,YAAY,CA+IjD"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,OAAO,EAAiB,MAAM,KAAK,CAAC;AACtF,OAAO,EACH,KAAK,WAAW,EAUhB,KAAK,WAAW,EAKnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAgC,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AASlG,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,oBAAoB,EAAE,CAAC,MAAM,SAAS,WAAW,EAC7C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,KAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,MAAM,SAAS,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAC/F,aAAa,EAAE,CAAC,MAAM,SAAS,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;CACrG,CAAC;AA+CF,wBAAgB,kBAAkB,IAAI,YAAY,CAqKjD"}
@@ -1,5 +1,5 @@
1
1
  import { z, ZodArray, ZodDiscriminatedUnion } from 'zod';
2
- import { isFragmentsSchema, isObjectOrListSchema, isStrictObjectSchema, isUnionOrListSchema, unwrapFieldSchema } from './query-schema.js';
2
+ import { isFragmentsSchema, isObjectOrListSchema, isStrictObjectSchema, isUnionOrListSchema, unwrapFieldSchema, unwrapFieldSchemaChain } from './query-schema.js';
3
3
  import { normalizeParameterList } from './values/parameter-list.js';
4
4
  import { ensureValidVariableCorrelations } from './variable-correlations.js';
5
5
  import { serializeVariableDefinitions } from './variable-definition.js';
@@ -45,8 +45,15 @@ function getUnionSchema(schema) {
45
45
  export function createQueryBuilder() {
46
46
  const fieldOptionsRegistry = new WeakMap();
47
47
  function getFieldOptionsForSchema(schema) {
48
- const fieldOptions = fieldOptionsRegistry.get(schema);
49
- return fieldOptions ?? {};
48
+ const unwrappingResult = unwrapFieldSchemaChain(schema);
49
+ const queue = [...unwrappingResult.wrapperElements, unwrappingResult.unwrappedSchema];
50
+ for (const currentSchema of queue) {
51
+ const fieldOptions = fieldOptionsRegistry.get(currentSchema);
52
+ if (fieldOptions !== undefined) {
53
+ return fieldOptions;
54
+ }
55
+ }
56
+ return {};
50
57
  }
51
58
  function serializedFieldSelector(fieldName, fieldSchema) {
52
59
  const fieldOptions = getFieldOptionsForSchema(fieldSchema);
@@ -119,6 +126,22 @@ export function createQueryBuilder() {
119
126
  }
120
127
  return fieldSelector;
121
128
  }
129
+ function buildDocument(documentType, schema, options) {
130
+ let referencedVariables = new Set();
131
+ const { variableDefinitions = {}, operationName = '' } = options;
132
+ const bodyEntries = [];
133
+ for (const [fieldName, fieldSchema] of Object.entries(schema.shape)) {
134
+ const serializedField = serializeFieldSchema(fieldName, fieldSchema);
135
+ bodyEntries.push(serializedField.serializedValue);
136
+ referencedVariables = new Set([
137
+ ...referencedVariables,
138
+ ...serializedField.referencedVariables
139
+ ]);
140
+ }
141
+ ensureValidVariableCorrelations(variableDefinitions, referencedVariables);
142
+ const operationNameAndParams = withTrailingSpace(`${operationName}${serializeVariableDefinitions(variableDefinitions)}`);
143
+ return `${documentType} ${operationNameAndParams}{ ${bodyEntries.join(', ')} }`;
144
+ }
122
145
  return {
123
146
  registerFieldOptions(schema, options) {
124
147
  const newSchemaInstance = z.lazy(() => {
@@ -128,20 +151,10 @@ export function createQueryBuilder() {
128
151
  return newSchemaInstance;
129
152
  },
130
153
  buildQuery(schema, options = {}) {
131
- let referencedVariables = new Set();
132
- const { variableDefinitions = {}, queryName = '' } = options;
133
- const bodyEntries = [];
134
- for (const [fieldName, fieldSchema] of Object.entries(schema.shape)) {
135
- const serializedField = serializeFieldSchema(fieldName, fieldSchema);
136
- bodyEntries.push(serializedField.serializedValue);
137
- referencedVariables = new Set([
138
- ...referencedVariables,
139
- ...serializedField.referencedVariables
140
- ]);
141
- }
142
- ensureValidVariableCorrelations(variableDefinitions, referencedVariables);
143
- const queryNameAndParams = withTrailingSpace(`${queryName}${serializeVariableDefinitions(variableDefinitions)}`);
144
- return `query ${queryNameAndParams}{ ${bodyEntries.join(', ')} }`;
154
+ return buildDocument('query', schema, options);
155
+ },
156
+ buildMutation(schema, options = {}) {
157
+ return buildDocument('mutation', schema, options);
145
158
  }
146
159
  };
147
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/builder.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ export declare const graphqlFieldOptions: <Schema extends import("./query-schema
2
2
  aliasFor?: string;
3
3
  parameters?: Record<string, import("./values/value.js").GraphqlValue>;
4
4
  }) => import("zod").ZodLazy<Schema>;
5
- export declare const buildGraphqlQuery: <Schema extends import("./query-schema.js").QuerySchema>(schema: Schema, options?: import("./builder.js").QueryOptions | undefined) => string;
5
+ export declare const buildGraphqlQuery: <Schema extends import("./query-schema.js").QuerySchema>(schema: Schema, options?: import("./builder.js").OperationOptions) => string;
6
+ export declare const buildGraphqlMutation: <Schema extends import("./query-schema.js").QuerySchema>(schema: Schema, options?: import("./builder.js").OperationOptions) => string;
6
7
  export { enumValue } from './values/enum.js';
7
8
  export { variablePlaceholder } from './values/variable-placeholder.js';
8
9
  export type { QuerySchema } from './query-schema.js';
@@ -1 +1 @@
1
- {"version":3,"file":"entry-point.d.ts","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/entry-point.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB;;;mCAA+B,CAAC;AAChE,eAAO,MAAM,iBAAiB,+IAAqB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"entry-point.d.ts","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/entry-point.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB;;;mCAA+B,CAAC;AAChE,eAAO,MAAM,iBAAiB,uIAAqB,CAAC;AACpD,eAAO,MAAM,oBAAoB,uIAAwB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -2,6 +2,7 @@ import { createQueryBuilder } from './builder.js';
2
2
  const builder = createQueryBuilder();
3
3
  export const graphqlFieldOptions = builder.registerFieldOptions;
4
4
  export const buildGraphqlQuery = builder.buildQuery;
5
+ export const buildGraphqlMutation = builder.buildMutation;
5
6
  export { enumValue } from './values/enum.js';
6
7
  export { variablePlaceholder } from './values/variable-placeholder.js';
7
8
  //# sourceMappingURL=entry-point.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -16,6 +16,11 @@ export type FieldShape = {
16
16
  export type NonWrappedFieldSchema = PrimitiveSchema | StrictObjectSchema<FieldShape> | ZodArray<FieldSchema> | ZodDiscriminatedUnion<'__typename', FragmentUnionOptionSchema[]> | ZodTuple<[FieldSchema, ...FieldSchema[]]>;
17
17
  export type WrappedFieldSchema = EffectSchema<FieldSchema> | ZodLazy<FieldSchema> | ZodNullable<FieldSchema>;
18
18
  export type FieldSchema = NonWrappedFieldSchema | WrappedFieldSchema;
19
+ type UnwrappedChainResult = {
20
+ unwrappedSchema: NonWrappedFieldSchema;
21
+ wrapperElements: WrappedFieldSchema[];
22
+ };
23
+ export declare function unwrapFieldSchemaChain(parent: FieldSchema): UnwrappedChainResult;
19
24
  export declare function unwrapFieldSchema(parent: FieldSchema): NonWrappedFieldSchema;
20
25
  type QueryShape = Record<string, FieldSchema>;
21
26
  export type QuerySchema = StrictObjectSchema<QueryShape>;
@@ -1 +1 @@
1
- {"version":3,"file":"query-schema.d.ts","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/query-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,KAAK,UAAU,EACf,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,WAAW,EACX,KAAK,SAAS,EACd,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,QAAQ,EACR,KAAK,UAAU,EAClB,MAAM,KAAK,CAAC;AAGb,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,WAAW,CACzD,SAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;CAAG;AAExE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAE9F;AAGD,UAAU,YAAY,CAAC,MAAM,SAAS,UAAU,CAAE,SAAQ,UAAU,CAAC,MAAM,CAAC;CAAG;AAE/E,KAAK,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAChF,KAAK,eAAe,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpF,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEhE,MAAM,CAAC,OAAO,MAAM,yBAAyB,GAAG,SAAS,CACnD,UAAU,GACV;IACE,UAAU,EAAE,eAAe,CAAC;CAC/B,EACD,QAAQ,CACX,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC;CAAE,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAC3B,eAAe,GACf,kBAAkB,CAAC,UAAU,CAAC,GAC9B,QAAQ,CAAC,WAAW,CAAC,GACrB,qBAAqB,CAAC,YAAY,EAAE,yBAAyB,EAAE,CAAC,GAChE,QAAQ,CAAC,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;AAChD,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AAC7G,MAAM,MAAM,WAAW,GAAG,qBAAqB,GAAG,kBAAkB,CAAC;AAMrE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,qBAAqB,CAgB5E;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAEzD,MAAM,MAAM,kBAAkB,GACxB,kBAAkB,CAAC,UAAU,CAAC,GAC9B,QAAQ,CAAC,WAAW,CAAC,GACrB,QAAQ,CAAC,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;AAEhD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,kBAAkB,CAEtF;AAED,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAE/F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,eAAe,CAEhF;AAED,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;AAEpH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,iBAAiB,CAEpF"}
1
+ {"version":3,"file":"query-schema.d.ts","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/query-schema.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,14 @@ export function isStrictObjectSchema(schema) {
5
5
  function isWrappedFieldSchema(schema) {
6
6
  return schema instanceof ZodLazy || schema instanceof ZodEffects || schema instanceof ZodNullable;
7
7
  }
8
- export function unwrapFieldSchema(parent) {
8
+ function recursiveUnwrapFieldSchemaChain(parent, currentChain) {
9
9
  let unwrapped = parent;
10
+ if (!isWrappedFieldSchema(parent)) {
11
+ return {
12
+ unwrappedSchema: parent,
13
+ wrapperElements: currentChain
14
+ };
15
+ }
10
16
  if (parent instanceof ZodLazy) {
11
17
  unwrapped = parent.schema;
12
18
  }
@@ -17,9 +23,19 @@ export function unwrapFieldSchema(parent) {
17
23
  unwrapped = parent.unwrap();
18
24
  }
19
25
  if (isWrappedFieldSchema(unwrapped)) {
20
- return unwrapFieldSchema(unwrapped);
26
+ return recursiveUnwrapFieldSchemaChain(unwrapped, [...currentChain, parent]);
21
27
  }
22
- return unwrapped;
28
+ return {
29
+ unwrappedSchema: unwrapped,
30
+ wrapperElements: [...currentChain, parent]
31
+ };
32
+ }
33
+ export function unwrapFieldSchemaChain(parent) {
34
+ return recursiveUnwrapFieldSchemaChain(parent, []);
35
+ }
36
+ export function unwrapFieldSchema(parent) {
37
+ const result = unwrapFieldSchemaChain(parent);
38
+ return result.unwrappedSchema;
23
39
  }
24
40
  export function isObjectOrListSchema(schema) {
25
41
  return isStrictObjectSchema(schema) || schema instanceof ZodArray || schema instanceof ZodTuple;
@@ -1 +1 @@
1
- {"version":3,"file":"query-schema.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/query-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EAER,qBAAqB,EACrB,UAAU,EACV,OAAO,EAGP,WAAW,EAEX,SAAS,EAGT,QAAQ,EAEX,MAAM,KAAK,CAAC;AAMb,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAChD,OAAO,MAAM,YAAY,SAAS,CAAC;AACvC,CAAC;AA4BD,SAAS,oBAAoB,CAAC,MAAmB;IAC7C,OAAO,MAAM,YAAY,OAAO,IAAI,MAAM,YAAY,UAAU,IAAI,MAAM,YAAY,WAAW,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACjD,IAAI,SAAS,GAAgB,MAAM,CAAC;IAEpC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC5B,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;SAAM,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QACtC,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;SAAM,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;QACvC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAUD,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACpD,OAAO,oBAAoB,CAAC,MAAM,CAAC,IAAI,MAAM,YAAY,QAAQ,IAAI,MAAM,YAAY,QAAQ,CAAC;AACpG,CAAC;AAID,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACjD,OAAO,MAAM,YAAY,qBAAqB,CAAC;AACnD,CAAC;AAID,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACnD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM,YAAY,QAAQ,IAAI,MAAM,YAAY,QAAQ,CAAC;AACjG,CAAC"}
1
+ {"version":3,"file":"query-schema.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/query-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EAER,qBAAqB,EACrB,UAAU,EACV,OAAO,EAGP,WAAW,EAEX,SAAS,EAGT,QAAQ,EAEX,MAAM,KAAK,CAAC;AAMb,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAChD,OAAO,MAAM,YAAY,SAAS,CAAC;AACvC,CAAC;AA4BD,SAAS,oBAAoB,CAAC,MAAmB;IAC7C,OAAO,MAAM,YAAY,OAAO,IAAI,MAAM,YAAY,UAAU,IAAI,MAAM,YAAY,WAAW,CAAC;AACtG,CAAC;AAOD,SAAS,+BAA+B,CACpC,MAAmB,EACnB,YAAkC;IAElC,IAAI,SAAS,GAAgB,MAAM,CAAC;IAEpC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO;YACH,eAAe,EAAE,MAAM;YACvB,eAAe,EAAE,YAAY;SAChC,CAAC;IACN,CAAC;IAED,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC5B,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;SAAM,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QACtC,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;SAAM,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;QACvC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,+BAA+B,CAAC,SAAS,EAAE,CAAC,GAAG,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,OAAO;QACH,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,CAAC,GAAG,YAAY,EAAE,MAAM,CAAC;KAC7C,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAmB;IACtD,OAAO,+BAA+B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACjD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,eAAe,CAAC;AAClC,CAAC;AAUD,MAAM,UAAU,oBAAoB,CAAC,MAAmB;IACpD,OAAO,oBAAoB,CAAC,MAAM,CAAC,IAAI,MAAM,YAAY,QAAQ,IAAI,MAAM,YAAY,QAAQ,CAAC;AACpG,CAAC;AAID,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACjD,OAAO,MAAM,YAAY,qBAAqB,CAAC;AACnD,CAAC;AAID,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACnD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM,YAAY,QAAQ,IAAI,MAAM,YAAY,QAAQ,CAAC;AACjG,CAAC"}