@gqloom/core 0.8.4 → 0.9.1

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.
@@ -0,0 +1,766 @@
1
+ import { GraphQLOutputType, GraphQLObjectTypeConfig, GraphQLFieldConfig, GraphQLResolveInfo } from 'graphql';
2
+
3
+ type MayPromise<T> = T | Promise<T>;
4
+ type IsAny<T> = 0 extends 1 & T ? true : false;
5
+ type ValueOf<T extends object> = T[keyof T];
6
+ type OmitInUnion<TUnion, TOmit> = TUnion extends infer T ? T extends TOmit ? never : T : never;
7
+ type RequireKeys<T, TKey extends string | number | symbol> = {
8
+ [P in keyof T as P extends TKey ? P : never]-?: T[P];
9
+ } & {
10
+ [P in keyof T as P extends TKey ? never : P]: T[P];
11
+ };
12
+
13
+ /** The Standard Schema interface. */
14
+ interface StandardSchemaV1<Input = unknown, Output = Input> {
15
+ /** The Standard Schema properties. */
16
+ readonly "~standard": StandardSchemaV1.Props<Input, Output>;
17
+ }
18
+ declare namespace StandardSchemaV1 {
19
+ /** The Standard Schema properties interface. */
20
+ export interface Props<Input = unknown, Output = Input> {
21
+ /** The version number of the standard. */
22
+ readonly version: 1;
23
+ /** The vendor name of the schema library. */
24
+ readonly vendor: string;
25
+ /** Validates unknown input values. */
26
+ readonly validate: (value: unknown) => Result<Output> | Promise<Result<Output>>;
27
+ /** Inferred types associated with the schema. */
28
+ readonly types?: Types<Input, Output> | undefined;
29
+ }
30
+ /** The result interface of the validate function. */
31
+ export type Result<Output> = SuccessResult<Output> | FailureResult;
32
+ /** The result interface if validation succeeds. */
33
+ export interface SuccessResult<Output> {
34
+ /** The typed output value. */
35
+ readonly value: Output;
36
+ /** The non-existent issues. */
37
+ readonly issues?: undefined;
38
+ }
39
+ /** The result interface if validation fails. */
40
+ export interface FailureResult {
41
+ /** The issues of failed validation. */
42
+ readonly issues: ReadonlyArray<Issue>;
43
+ }
44
+ /** The issue interface of the failure output. */
45
+ export interface Issue {
46
+ /** The error message of the issue. */
47
+ readonly message: string;
48
+ /** The path of the issue, if any. */
49
+ readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined;
50
+ }
51
+ /** The path segment interface of the issue. */
52
+ export interface PathSegment {
53
+ /** The key representing a path segment. */
54
+ readonly key: PropertyKey;
55
+ }
56
+ /** The Standard Schema types interface. */
57
+ export interface Types<Input = unknown, Output = Input> {
58
+ /** The input type of the schema. */
59
+ readonly input: Input;
60
+ /** The output type of the schema. */
61
+ readonly output: Output;
62
+ }
63
+ /** Infers the input type of a Standard Schema. */
64
+ export type InferInput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["input"];
65
+ /** Infers the output type of a Standard Schema. */
66
+ export type InferOutput<Schema extends StandardSchemaV1> = NonNullable<Schema["~standard"]["types"]>["output"];
67
+ export { };
68
+ }
69
+
70
+ /**
71
+ * The symbol to get GraphQL type for schema
72
+ */
73
+ declare const GET_GRAPHQL_TYPE: unique symbol;
74
+ /**
75
+ * The symbol to get and store weaver config
76
+ */
77
+ declare const WEAVER_CONFIG: unique symbol;
78
+ /**
79
+ * The symbol to get resolver options
80
+ */
81
+ declare const RESOLVER_OPTIONS_KEY: unique symbol;
82
+ /**
83
+ * The symbol to check if an object is a resolver
84
+ */
85
+ declare const IS_RESOLVER: unique symbol;
86
+ /**
87
+ * The symbol to assign a WeakMap to an object
88
+ */
89
+ declare const CONTEXT_MAP_KEY: unique symbol;
90
+ /**
91
+ * The symbol to set fields to be hidden
92
+ */
93
+ declare const FIELD_HIDDEN: unique symbol;
94
+
95
+ declare const symbols_CONTEXT_MAP_KEY: typeof CONTEXT_MAP_KEY;
96
+ declare const symbols_FIELD_HIDDEN: typeof FIELD_HIDDEN;
97
+ declare const symbols_GET_GRAPHQL_TYPE: typeof GET_GRAPHQL_TYPE;
98
+ declare const symbols_IS_RESOLVER: typeof IS_RESOLVER;
99
+ declare const symbols_RESOLVER_OPTIONS_KEY: typeof RESOLVER_OPTIONS_KEY;
100
+ declare const symbols_WEAVER_CONFIG: typeof WEAVER_CONFIG;
101
+ declare namespace symbols {
102
+ export { symbols_CONTEXT_MAP_KEY as CONTEXT_MAP_KEY, symbols_FIELD_HIDDEN as FIELD_HIDDEN, symbols_GET_GRAPHQL_TYPE as GET_GRAPHQL_TYPE, symbols_IS_RESOLVER as IS_RESOLVER, symbols_RESOLVER_OPTIONS_KEY as RESOLVER_OPTIONS_KEY, symbols_WEAVER_CONFIG as WEAVER_CONFIG };
103
+ }
104
+
105
+ type InferInputI<TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void> = TInput extends void ? void : TInput extends GraphQLSilk ? StandardSchemaV1.InferInput<TInput> : TInput extends Record<string, GraphQLSilk> ? {
106
+ [K in keyof TInput]: StandardSchemaV1.InferInput<TInput[K]>;
107
+ } : void;
108
+ type InferInputO<TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void> = TInput extends void ? void : TInput extends GraphQLSilk ? StandardSchemaV1.InferOutput<TInput> : TInput extends Record<string, GraphQLSilk> ? {
109
+ [K in keyof TInput]: StandardSchemaV1.InferOutput<TInput[K]>;
110
+ } : never;
111
+ interface CallableInputParser<TSchema extends GraphQLSilk | Record<string, GraphQLSilk> | void> {
112
+ /**
113
+ * input schema
114
+ */
115
+ schema: TSchema;
116
+ /**
117
+ * Origin value to parse
118
+ */
119
+ value: InferInputI<TSchema>;
120
+ /**
121
+ * Parse the input and return the standard result
122
+ */
123
+ (): Promise<StandardSchemaV1.Result<InferInputO<TSchema>>>;
124
+ /**
125
+ * Result of parsing. Set it to `undefined` then the parser will run again.
126
+ */
127
+ result: StandardSchemaV1.Result<InferInputO<TSchema>> | undefined;
128
+ /**
129
+ * Parse the input and return the result
130
+ */
131
+ getResult(): Promise<InferInputO<TSchema>>;
132
+ }
133
+ declare function createInputParser<TSchema extends GraphQLSilk | Record<string, GraphQLSilk> | void>(schema: TSchema, value: InferInputI<TSchema>): CallableInputParser<TSchema>;
134
+ declare function parseInputValue<TSchema extends GraphQLSilk | Record<string, GraphQLSilk> | void>(inputSchema: TSchema, input: any): MayPromise<StandardSchemaV1.Result<InferInputO<TSchema>>>;
135
+ declare function getStandardValue<T>(result: StandardSchemaV1.Result<T>): T;
136
+ declare function getStandardValue<T>(result?: StandardSchemaV1.Result<T>): T | undefined;
137
+ declare function getStandardValue<T>(result: StandardSchemaV1.Result<T> | null): T | null;
138
+
139
+ /**
140
+ * Interface for chain factory that provides methods to configure GraphQL field options
141
+ * @template TOutput - The output type of the GraphQL field
142
+ * @template TInput - The input type of the GraphQL field, can be a single type or a record of types
143
+ */
144
+ interface IChainFactory<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void> {
145
+ /**
146
+ * Sets the description for the GraphQL field
147
+ * @param description - The description text for the field
148
+ */
149
+ description(description: GraphQLFieldOptions["description"]): this;
150
+ /**
151
+ * Sets the deprecation reason for the GraphQL field
152
+ * @param deprecationReason - The reason why this field is deprecated
153
+ */
154
+ deprecationReason(deprecationReason: GraphQLFieldOptions["deprecationReason"]): this;
155
+ /**
156
+ * Sets custom extensions for the GraphQL field
157
+ * @param extensions - Custom extensions to be added to the field
158
+ */
159
+ extensions(extensions: GraphQLFieldOptions["extensions"]): this;
160
+ /**
161
+ * Sets the output type for the GraphQL field
162
+ * @template TOutputNew - The new output type
163
+ * @param output - The output type definition
164
+ */
165
+ output<TOutputNew extends GraphQLSilk>(output: TOutputNew): IChainFactory<TOutputNew, TInput>;
166
+ /**
167
+ * Sets the input type for the GraphQL field
168
+ * @template TInputNew - The new input type
169
+ * @param input - The input type definition
170
+ */
171
+ input<TInputNew extends GraphQLSilk | Record<string, GraphQLSilk>>(input: TInputNew): IChainFactory<TOutput, TInputNew>;
172
+ }
173
+ /**
174
+ * Options for configuring a chain factory
175
+ */
176
+ interface ChainFactoryOptions extends FieldMeta {
177
+ /** Middleware functions to be applied to the field */
178
+ middlewares?: Middleware[];
179
+ }
180
+ /**
181
+ * Base class for all chain factories
182
+ * @template TField - The type of field being created
183
+ */
184
+ declare abstract class BaseChainFactory<TField extends BaseField = any> {
185
+ protected readonly options?: Partial<ChainFactoryOptions> | undefined;
186
+ /**
187
+ * Returns the available methods for the chain factory
188
+ */
189
+ static methods(): {
190
+ description: (description: GraphQLFieldOptions["description"]) => BaseChainFactory<any>;
191
+ deprecationReason: (deprecationReason: GraphQLFieldOptions["deprecationReason"]) => BaseChainFactory<any>;
192
+ extensions: (extensions: GraphQLFieldOptions["extensions"]) => BaseChainFactory<any>;
193
+ };
194
+ /**
195
+ * Creates a new instance of the chain factory
196
+ * @param options - Configuration options for the factory
197
+ */
198
+ constructor(options?: Partial<ChainFactoryOptions> | undefined);
199
+ /**
200
+ * Creates a clone of the current factory with new options
201
+ * @param options - New options to apply to the clone
202
+ */
203
+ protected abstract clone(options?: Partial<ChainFactoryOptions>): this;
204
+ /**
205
+ * Sets the description for the field
206
+ * @param description - The description text
207
+ */
208
+ description(description: GraphQLFieldOptions["description"]): this;
209
+ /**
210
+ * Sets the deprecation reason for the field
211
+ * @param deprecationReason - The reason for deprecation
212
+ */
213
+ deprecationReason(deprecationReason: GraphQLFieldOptions["deprecationReason"]): this;
214
+ /**
215
+ * Sets custom extensions for the field
216
+ * @param extensions - Custom extensions to add
217
+ */
218
+ extensions(extensions: GraphQLFieldOptions["extensions"]): this;
219
+ /**
220
+ * Adds middleware functions to the field
221
+ * @param middlewares - Middleware functions to add
222
+ */
223
+ use(...middlewares: Middleware<TField>[]): this;
224
+ }
225
+ /**
226
+ * Factory for creating field resolvers with chainable configuration
227
+ * @template TOutput - The output type of the field
228
+ * @template TInput - The input type of the field
229
+ * @template TDependencies - The dependencies of the field
230
+ */
231
+ declare class FieldChainFactory<TOutput extends GraphQLSilk = never, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined, TDependencies extends string[] | undefined = undefined> extends BaseChainFactory<Field<any, TOutput, TInput, TDependencies>> implements IChainFactory<TOutput, TInput> {
232
+ /**
233
+ * Returns the available methods for the field chain factory
234
+ */
235
+ static methods(): FieldChainFactory<never, undefined>;
236
+ /**
237
+ * Creates a clone of the current factory with new options
238
+ * @param options - New options to apply to the clone
239
+ */
240
+ protected clone(options?: Partial<ChainFactoryOptions>): this;
241
+ /**
242
+ * Sets the output type for the field
243
+ * @template TOutputNew - The new output type
244
+ * @param output - The output type definition
245
+ */
246
+ output<TOutputNew extends GraphQLSilk>(output: TOutputNew): FieldChainFactory<TOutputNew, TInput, TDependencies>;
247
+ /**
248
+ * Sets the input type for the field
249
+ * @template TInputNew - The new input type
250
+ * @param input - The input type definition
251
+ */
252
+ input<TInputNew extends GraphQLSilk | Record<string, GraphQLSilk>>(input: TInputNew): FieldChainFactory<TOutput, TInputNew, TDependencies>;
253
+ /**
254
+ * Specifies the dependencies for the field
255
+ * @template TDependencies - The dependencies type
256
+ * @param dependencies - The dependencies to add
257
+ */
258
+ derivedFrom<const TDependencies extends string[]>(...dependencies: TDependencies): FieldChainFactory<TOutput, TInput, TDependencies>;
259
+ /**
260
+ * Sets the resolve function for the field
261
+ * @template TParent - The parent type
262
+ * @param resolve - The resolve function
263
+ */
264
+ resolve<TParent extends GraphQLSilk>(resolve: (parent: TDependencies extends string[] ? RequireKeys<NonNullable<StandardSchemaV1.InferOutput<TParent>>, TDependencies[number]> : NonNullable<StandardSchemaV1.InferOutput<TParent>>, input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>): Field<TParent, TOutput, TInput, TDependencies>;
265
+ /**
266
+ * Creates a field resolver that uses DataLoader for batch loading data.
267
+ * This method is particularly useful for optimizing performance when dealing with multiple data requests
268
+ * by batching them together and handling caching automatically.
269
+ *
270
+ * @template TParent - The parent type that extends GraphQLSilk
271
+ * @param resolve - A function that handles batch loading of data. The function receives:
272
+ * - When no input type is defined: An array of parent objects
273
+ * - When input type is defined: An array of tuples containing [parent, input]
274
+ * - An array of resolver payloads
275
+ * @returns A GraphQL field resolver that implements batch loading
276
+ */
277
+ load<TParent extends GraphQLSilk>(resolve: (parameters: InferInputO<TInput> extends void | undefined ? InferParent<TParent, TDependencies>[] : [
278
+ parent: InferParent<TParent, TDependencies>,
279
+ input: InferInputO<TInput>
280
+ ][], payloads: (ResolverPayload | undefined)[]) => MayPromise<NonNullable<StandardSchemaV1.InferOutput<TOutput>>[]>): Field<TParent, TOutput, TInput, TDependencies>;
281
+ }
282
+ type InferParent<TParent extends GraphQLSilk, TDependencies extends string[] | undefined = undefined> = TDependencies extends string[] ? RequireKeys<NonNullable<StandardSchemaV1.InferOutput<TParent>>, TDependencies[number]> : NonNullable<StandardSchemaV1.InferOutput<TParent>>;
283
+ /**
284
+ * Factory for creating query resolvers with chainable configuration
285
+ * @template TOutput - The output type of the query
286
+ * @template TInput - The input type of the query
287
+ */
288
+ declare class QueryChainFactory<TOutput extends GraphQLSilk = never, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void> extends BaseChainFactory<Query<TOutput, TInput>> implements IChainFactory<TOutput, TInput> {
289
+ /**
290
+ * Returns the available methods for the query chain factory
291
+ * @returns An object containing all available methods
292
+ */
293
+ static methods(): QueryChainFactory<never, void>;
294
+ /**
295
+ * Creates a clone of the current factory with new options
296
+ * @param options - New options to apply to the clone
297
+ * @returns A new instance of QueryChainFactory with the updated options
298
+ */
299
+ protected clone(options?: Partial<ChainFactoryOptions>): this;
300
+ /**
301
+ * Sets the output type for the query
302
+ * @template TOutputNew - The new output type
303
+ * @param output - The output type definition
304
+ * @returns A new QueryChainFactory instance with the updated output type
305
+ */
306
+ output<TOutputNew extends GraphQLSilk>(output: TOutputNew): QueryChainFactory<TOutputNew, TInput>;
307
+ /**
308
+ * Sets the input type for the query
309
+ * @template TInputNew - The new input type
310
+ * @param input - The input type definition
311
+ * @returns A new QueryChainFactory instance with the updated input type
312
+ */
313
+ input<TInputNew extends GraphQLSilk | Record<string, GraphQLSilk>>(input: TInputNew): QueryChainFactory<TOutput, TInputNew>;
314
+ /**
315
+ * Sets the resolve function for the query
316
+ * @param resolve - The resolve function that processes the input and returns the output
317
+ * @returns A GraphQL query resolver
318
+ * @throws {Error} If output type is not set
319
+ */
320
+ resolve(resolve: (input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>): Query<TOutput, TInput>;
321
+ }
322
+ /**
323
+ * Factory for creating mutation resolvers with chainable configuration
324
+ * @template TOutput - The output type of the mutation
325
+ * @template TInput - The input type of the mutation
326
+ */
327
+ declare class MutationChainFactory<TOutput extends GraphQLSilk = never, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined> extends BaseChainFactory<Mutation<TOutput, TInput>> implements IChainFactory<TOutput, TInput> {
328
+ /**
329
+ * Returns the available methods for the mutation chain factory
330
+ * @returns An object containing all available methods
331
+ */
332
+ static methods(): MutationChainFactory<never, undefined>;
333
+ /**
334
+ * Creates a clone of the current factory with new options
335
+ * @param options - New options to apply to the clone
336
+ * @returns A new instance of MutationChainFactory with the updated options
337
+ */
338
+ protected clone(options?: Partial<ChainFactoryOptions>): this;
339
+ /**
340
+ * Sets the output type for the mutation
341
+ * @template TOutputNew - The new output type
342
+ * @param output - The output type definition
343
+ * @returns A new MutationChainFactory instance with the updated output type
344
+ */
345
+ output<TOutputNew extends GraphQLSilk>(output: TOutputNew): MutationChainFactory<TOutputNew, TInput>;
346
+ /**
347
+ * Sets the input type for the mutation
348
+ * @template TInputNew - The new input type
349
+ * @param input - The input type definition
350
+ * @returns A new MutationChainFactory instance with the updated input type
351
+ */
352
+ input<TInputNew extends GraphQLSilk | Record<string, GraphQLSilk>>(input: TInputNew): MutationChainFactory<TOutput, TInputNew>;
353
+ /**
354
+ * Sets the resolve function for the mutation
355
+ * @param resolve - The resolve function that processes the input and returns the output
356
+ * @returns A GraphQL mutation resolver
357
+ * @throws {Error} If output type is not set
358
+ */
359
+ resolve(resolve: (input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>): Mutation<TOutput, TInput>;
360
+ }
361
+ /**
362
+ * Factory for creating subscription resolvers with chainable configuration
363
+ * @template TOutput - The output type of the subscription
364
+ * @template TInput - The input type of the subscription
365
+ */
366
+ declare class SubscriptionChainFactory<TOutput extends GraphQLSilk = never, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined> extends BaseChainFactory<Subscription<TOutput, TInput, any>> implements IChainFactory<TOutput, TInput> {
367
+ /**
368
+ * Returns the available methods for the subscription chain factory
369
+ * @returns An object containing all available methods
370
+ */
371
+ static methods(): SubscriptionChainFactory<never, undefined>;
372
+ /**
373
+ * Creates a clone of the current factory with new options
374
+ * @param options - New options to apply to the clone
375
+ * @returns A new instance of SubscriptionChainFactory with the updated options
376
+ */
377
+ protected clone(options?: Partial<ChainFactoryOptions>): this;
378
+ /**
379
+ * Sets the output type for the subscription
380
+ * @template TOutputNew - The new output type
381
+ * @param output - The output type definition
382
+ * @returns A new SubscriptionChainFactory instance with the updated output type
383
+ */
384
+ output<TOutputNew extends GraphQLSilk>(output: TOutputNew): SubscriptionChainFactory<TOutputNew, TInput>;
385
+ /**
386
+ * Sets the input type for the subscription
387
+ * @template TInputNew - The new input type
388
+ * @param input - The input type definition
389
+ * @returns A new SubscriptionChainFactory instance with the updated input type
390
+ */
391
+ input<TInputNew extends GraphQLSilk | Record<string, GraphQLSilk>>(input: TInputNew): SubscriptionChainFactory<TOutput, TInputNew>;
392
+ /**
393
+ * Sets the subscribe function for the subscription
394
+ * @template TValue - The value type of the subscription
395
+ * @param subscribe - The subscribe function that returns an AsyncIterator
396
+ * @returns A subscription resolver that can be further configured with a resolve function
397
+ * @throws {Error} If output type is not set
398
+ */
399
+ subscribe<TValue = StandardSchemaV1.InferOutput<TOutput>>(subscribe: (input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<AsyncIterator<TValue>>): TValue extends StandardSchemaV1.InferOutput<TOutput> ? ResolvableSubscription<TOutput, TInput, TValue> : SubscriptionNeedResolve<TOutput, TInput, TValue>;
400
+ }
401
+ /**
402
+ * Interface for a subscription that can be resolved
403
+ * @template TOutput - The output type of the subscription
404
+ * @template TInput - The input type of the subscription
405
+ * @template TValue - The value type of the subscription
406
+ */
407
+ interface ResolvableSubscription<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined, TValue = StandardSchemaV1.InferOutput<TOutput>> extends Subscription<TOutput, TInput, TValue> {
408
+ /**
409
+ * Sets the resolve function for the subscription
410
+ * @param resolve - The resolve function
411
+ */
412
+ resolve(resolve: (value: TValue, input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>): Subscription<TOutput, TInput, TValue>;
413
+ }
414
+ /**
415
+ * A subscription that can not be resolved yet, still needs to be resolved.
416
+ * Interface for a subscription that needs to be resolved
417
+ * @template TOutput - The output type of the subscription
418
+ * @template TInput - The input type of the subscription
419
+ * @template TValue - The value type of the subscription
420
+ */
421
+ interface SubscriptionNeedResolve<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined, TValue = StandardSchemaV1.InferOutput<TOutput>> {
422
+ /**
423
+ * Sets the resolve function for the subscription
424
+ * @param resolve - The resolve function
425
+ */
426
+ resolve(resolve: (value: TValue, input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>): Subscription<TOutput, TInput, TValue>;
427
+ }
428
+ declare class QueryFactoryWithResolve<TInputO, TOutput extends GraphQLSilk, TInput extends GraphQLSilk<TInputO>> extends BaseChainFactory<Query<TOutput, TInput>> implements Query<TOutput, TInput> {
429
+ protected output: TOutput;
430
+ protected readonly options: QueryOptions<TOutput, TInput>;
431
+ get "~meta"(): Query<TOutput, TInput>["~meta"];
432
+ constructor(output: TOutput, options: QueryOptions<TOutput, TInput>);
433
+ protected clone(options?: Partial<typeof this.options> | undefined): this;
434
+ input<TInputNew extends GraphQLSilk<TInputO>>(input: TInputNew): QueryFactoryWithResolve<TInputO, TOutput, TInputNew>;
435
+ }
436
+ declare class MutationFactoryWithResolve<TInputO, TOutput extends GraphQLSilk, TInput extends GraphQLSilk<TInputO>> extends BaseChainFactory<Query<TOutput, TInput>> implements Mutation<TOutput, TInput> {
437
+ protected output: TOutput;
438
+ protected readonly options: MutationOptions<TOutput, TInput>;
439
+ get "~meta"(): Mutation<TOutput, TInput>["~meta"];
440
+ constructor(output: TOutput, options: MutationOptions<TOutput, TInput>);
441
+ protected clone(options?: Partial<typeof this.options> | undefined): this;
442
+ input<TInputNew extends GraphQLSilk<TInputO>>(input: TInputNew): MutationFactoryWithResolve<TInputO, TOutput, TInputNew>;
443
+ }
444
+ declare class FieldFactoryWithResolve<TParent extends GraphQLSilk, TOutput extends GraphQLSilk> extends BaseChainFactory<Field<TParent, TOutput, undefined, string[] | undefined>> {
445
+ protected output: TOutput;
446
+ protected readonly options: FieldOptions<TParent, TOutput, undefined, string[] | undefined>;
447
+ get "~meta"(): Field<TParent, TOutput, undefined, string[] | undefined>["~meta"];
448
+ constructor(output: TOutput, options: FieldOptions<TParent, TOutput, undefined, string[] | undefined>);
449
+ protected clone(options?: Partial<typeof this.options> | undefined): this;
450
+ }
451
+
452
+ interface FieldMeta extends GraphQLFieldOptions {
453
+ operation: "field" | "query" | "mutation" | "subscription";
454
+ output: GraphQLSilk;
455
+ input: GraphQLSilk | Record<string, GraphQLSilk> | void;
456
+ middlewares?: Middleware[];
457
+ dependencies?: string[];
458
+ resolve: (...args: any) => MayPromise<any>;
459
+ }
460
+ interface BaseField {
461
+ readonly "~meta": FieldMeta;
462
+ }
463
+ interface Field<TParent extends GraphQLSilk, TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void, TDependencies extends string[] | undefined = undefined> extends BaseField {
464
+ "~meta": {
465
+ operation: "field";
466
+ output: TOutput;
467
+ input: TInput;
468
+ middlewares?: Middleware[];
469
+ dependencies?: TDependencies;
470
+ types?: {
471
+ parent: ReSilk<TParent>;
472
+ };
473
+ resolve: (parent: StandardSchemaV1.InferOutput<NonNullable<TParent>>, input: InferInputO<TInput>, payload: ResolverPayload | void) => Promise<StandardSchemaV1.InferOutput<TOutput>>;
474
+ } & GraphQLFieldOptions;
475
+ }
476
+ interface Query<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void> extends BaseField {
477
+ "~meta": {
478
+ operation: "query";
479
+ parent?: undefined;
480
+ output: TOutput;
481
+ input: TInput;
482
+ middlewares?: Middleware[];
483
+ resolve: (input: InferInputO<TInput>, payload: ResolverPayload | void) => Promise<StandardSchemaV1.InferOutput<TOutput>>;
484
+ } & GraphQLFieldOptions;
485
+ }
486
+ interface Mutation<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void> extends BaseField {
487
+ "~meta": {
488
+ operation: "mutation";
489
+ parent?: undefined;
490
+ output: TOutput;
491
+ input: TInput;
492
+ middlewares?: Middleware[];
493
+ resolve: (input: InferInputO<TInput>, payload: ResolverPayload | void) => Promise<StandardSchemaV1.InferOutput<TOutput>>;
494
+ } & GraphQLFieldOptions;
495
+ }
496
+ interface Subscription<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void, TValue = StandardSchemaV1.InferOutput<TOutput>> extends BaseField {
497
+ "~meta": {
498
+ operation: "subscription";
499
+ parent?: undefined;
500
+ output: TOutput;
501
+ input: TInput;
502
+ middlewares?: Middleware[];
503
+ types?: {
504
+ value: TValue;
505
+ } & GraphQLFieldOptions;
506
+ resolve: (value: TValue, input: InferInputO<TInput>, payload: ResolverPayload | void) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>;
507
+ subscribe: (input: InferInputO<TInput>, payload: ResolverPayload | void) => MayPromise<AsyncIterator<TValue>>;
508
+ } & GraphQLFieldOptions;
509
+ }
510
+ interface Resolver {
511
+ readonly "~meta": {
512
+ [IS_RESOLVER]: true;
513
+ fields: Record<string, BaseField | typeof FIELD_HIDDEN>;
514
+ options?: ResolverOptionsWithExtensions<any>;
515
+ parent?: GraphQLSilk;
516
+ };
517
+ }
518
+ type Operation = Query<GraphQLSilk, GraphQLSilk | Record<string, GraphQLSilk> | void> | Mutation<GraphQLSilk, GraphQLSilk | Record<string, GraphQLSilk> | void> | Subscription<GraphQLSilk, GraphQLSilk | Record<string, GraphQLSilk> | void, any>;
519
+ type FieldOrOperation = Field<GraphQLSilk, GraphQLSilk, GraphQLSilk | Record<string, GraphQLSilk> | void, string[] | undefined> | Operation;
520
+ type ReSilk<T extends GraphQLSilk> = GraphQLSilk<NonNullable<T["~standard"]["types"]>["output"], NonNullable<T["~standard"]["types"]>["input"]>;
521
+
522
+ type typesLoom_BaseField = BaseField;
523
+ type typesLoom_Field<TParent extends GraphQLSilk, TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void, TDependencies extends string[] | undefined = undefined> = Field<TParent, TOutput, TInput, TDependencies>;
524
+ type typesLoom_FieldMeta = FieldMeta;
525
+ type typesLoom_FieldOrOperation = FieldOrOperation;
526
+ type typesLoom_Mutation<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void> = Mutation<TOutput, TInput>;
527
+ type typesLoom_Operation = Operation;
528
+ type typesLoom_Query<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void> = Query<TOutput, TInput>;
529
+ type typesLoom_Resolver = Resolver;
530
+ type typesLoom_Subscription<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void, TValue = StandardSchemaV1.InferOutput<TOutput>> = Subscription<TOutput, TInput, TValue>;
531
+ declare namespace typesLoom {
532
+ export type { typesLoom_BaseField as BaseField, typesLoom_Field as Field, typesLoom_FieldMeta as FieldMeta, typesLoom_FieldOrOperation as FieldOrOperation, typesLoom_Mutation as Mutation, typesLoom_Operation as Operation, typesLoom_Query as Query, typesLoom_Resolver as Resolver, typesLoom_Subscription as Subscription };
533
+ }
534
+
535
+ interface GraphQLSilk<TOutput = any, TInput = any> extends StandardSchemaV1<TInput, TOutput> {
536
+ /**
537
+ * GraphQL type for schema
538
+ */
539
+ [GET_GRAPHQL_TYPE]?: () => GraphQLOutputType;
540
+ }
541
+ interface ResolverOptions<TField extends FieldOrOperation = FieldOrOperation> {
542
+ middlewares?: Middleware<TField>[];
543
+ }
544
+ interface ResolverOptionsWithExtensions<TField extends FieldOrOperation = FieldOrOperation> extends ResolverOptions<TField>, Pick<GraphQLObjectTypeConfig<any, any>, "extensions"> {
545
+ }
546
+ interface ResolverOptionsWithParent<TField extends FieldOrOperation = FieldOrOperation> extends ResolverOptionsWithExtensions<TField> {
547
+ parent?: TField extends Field<infer TParent, any, any, any> ? TParent : undefined;
548
+ }
549
+ interface ResolvingOptions extends Pick<ResolverOptions, "middlewares"> {
550
+ payload: ResolverPayload | undefined;
551
+ }
552
+ type OperationType = "query" | "mutation" | "subscription";
553
+ type FieldOrOperationType = "field" | OperationType;
554
+ interface GraphQLFieldOptions extends Pick<GraphQLFieldConfig<any, any>, "description" | "deprecationReason" | "extensions"> {
555
+ }
556
+ type InferFieldInput<TField extends BaseField> = TField["~meta"]["input"];
557
+ type InferFieldOutput<TField extends BaseField> = TField["~meta"]["output"];
558
+ /**
559
+ * Options for creating a GraphQL Query.
560
+ */
561
+ interface QueryOptions<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void> extends ResolverOptions<Query<TOutput, TInput>>, GraphQLFieldOptions {
562
+ input?: TInput;
563
+ resolve: (input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>;
564
+ }
565
+ /**
566
+ * Options for creating a GraphQL Mutation.
567
+ */
568
+ interface MutationOptions<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined> extends ResolverOptions<Mutation<TOutput, TInput>>, GraphQLFieldOptions {
569
+ input?: TInput;
570
+ resolve: (input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>;
571
+ }
572
+ /**
573
+ * Function to create a GraphQL query.
574
+ */
575
+ interface QueryFactory {
576
+ <TOutput extends GraphQLSilk>(output: TOutput, resolve: (input: void, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>): Query<TOutput, void>;
577
+ <TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void>(output: TOutput, options: QueryOptions<TOutput, TInput>): Query<TOutput, TInput>;
578
+ <TOutput extends GraphQLSilk>(output: TOutput): QueryChainFactory<TOutput, void>;
579
+ }
580
+ interface QueryFactoryWithChain extends QueryFactory, QueryChainFactory<never, void> {
581
+ }
582
+ /**
583
+ * Function to create a GraphQL mutation.
584
+ */
585
+ interface MutationFactory {
586
+ <TOutput extends GraphQLSilk>(output: TOutput, resolve: (input: void, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>): Mutation<TOutput, undefined>;
587
+ <TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined>(output: TOutput, options: MutationOptions<TOutput, TInput>): Mutation<TOutput, TInput>;
588
+ <TOutput extends GraphQLSilk>(output: TOutput): MutationChainFactory<TOutput, undefined>;
589
+ }
590
+ /**
591
+ * Function to create a GraphQL mutation.
592
+ */
593
+ interface MutationFactoryWithChain extends MutationFactory, MutationChainFactory<never, undefined> {
594
+ }
595
+ /**
596
+ * Options for External Filed of existing GraphQL Object.
597
+ */
598
+ interface FieldOptions<TParent extends GraphQLSilk, TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | void = void, TDependencies extends string[] | undefined = undefined> extends ResolverOptions<Field<TParent, TOutput, TInput, TDependencies>>, GraphQLFieldOptions {
599
+ input?: TInput;
600
+ dependencies?: TDependencies;
601
+ resolve: (parent: TDependencies extends string[] ? RequireKeys<NonNullable<StandardSchemaV1.InferOutput<TParent>>, TDependencies[number]> : NonNullable<StandardSchemaV1.InferOutput<TParent>>, input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>;
602
+ }
603
+ /**
604
+ * Function to create a GraphQL Field.
605
+ */
606
+ interface FieldFactory {
607
+ <TParent extends GraphQLSilk, TOutput extends GraphQLSilk>(output: TOutput, resolve: (parent: StandardSchemaV1.InferOutput<TParent>, input: void, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>): Field<TParent, TOutput, undefined, undefined>;
608
+ <TParent extends GraphQLSilk, TOutput extends GraphQLSilk>(output: TOutput, options: FieldOptions<TParent, TOutput, undefined, undefined>): Field<TParent, TOutput, undefined, undefined>;
609
+ <TParent extends GraphQLSilk, TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined>(output: TOutput, options: FieldOptions<TParent, TOutput, TInput, undefined> & {
610
+ input: TInput;
611
+ }): Field<TParent, TOutput, TInput, undefined>;
612
+ <TParent extends GraphQLSilk, TOutput extends GraphQLSilk, const TDependencies extends string[] | undefined>(output: TOutput, options: FieldOptions<TParent, TOutput, undefined, TDependencies> & {
613
+ dependencies: TDependencies;
614
+ }): Field<TParent, TOutput, undefined, TDependencies>;
615
+ <TParent extends GraphQLSilk, TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined, TDependencies extends string[] | undefined>(output: TOutput, options: FieldOptions<TParent, TOutput, TInput, TDependencies> & {
616
+ input: TInput;
617
+ dependencies: TDependencies;
618
+ }): Field<TParent, TOutput, TInput, TDependencies>;
619
+ <TOutput extends GraphQLSilk>(output: TOutput): FieldChainFactory<TOutput, undefined, undefined>;
620
+ }
621
+ interface FieldFactoryWithUtils extends FieldFactory, FieldChainFactory<never, undefined, undefined> {
622
+ /** Set fields to be hidden in GraphQL Schema */
623
+ hidden: typeof FIELD_HIDDEN;
624
+ }
625
+ /**
626
+ * Options for creating a GraphQL Subscription.
627
+ */
628
+ interface SubscriptionOptions<TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined, TValue = StandardSchemaV1.InferOutput<TOutput>> extends ResolverOptions<Subscription<TOutput, TInput, TValue>>, GraphQLFieldOptions {
629
+ input?: TInput;
630
+ subscribe: (input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<AsyncIterator<TValue>>;
631
+ resolve?: (value: TValue, input: InferInputO<TInput>, payload: ResolverPayload | undefined) => MayPromise<StandardSchemaV1.InferOutput<TOutput>>;
632
+ }
633
+ /**
634
+ * Function to create a GraphQL subscription.
635
+ */
636
+ interface SubscriptionFactory {
637
+ <TOutput extends GraphQLSilk, TValue = StandardSchemaV1.InferOutput<TOutput>>(output: TOutput, subscribe: (payload: ResolverPayload | undefined) => MayPromise<AsyncIterator<StandardSchemaV1.InferOutput<TOutput>>>): Subscription<TOutput, undefined, TValue>;
638
+ <TOutput extends GraphQLSilk, TInput extends GraphQLSilk | Record<string, GraphQLSilk> | undefined = undefined, TValue = StandardSchemaV1.InferOutput<TOutput>>(output: TOutput, options: SubscriptionOptions<TOutput, TInput, TValue>): Subscription<TOutput, TInput, TValue>;
639
+ <TOutput extends GraphQLSilk>(output: TOutput): SubscriptionChainFactory<TOutput, undefined>;
640
+ }
641
+ interface SubscriptionFactoryWithChain extends SubscriptionFactory, SubscriptionChainFactory<never, undefined> {
642
+ }
643
+ /**
644
+ * Detailed payload of the current resolver
645
+ */
646
+ interface ResolverPayload<TContext extends object = object, TField extends BaseField = BaseField> {
647
+ /**
648
+ * The previous object, which for a field on the root Query type is often not used.
649
+ */
650
+ readonly root: any;
651
+ /**
652
+ * The arguments provided to the field in the GraphQL query.
653
+ */
654
+ readonly args: Record<string, any>;
655
+ /**
656
+ * The resolved value of the field, or an error.
657
+ */
658
+ readonly context: TContext;
659
+ /**
660
+ * A custom object each resolver can read from/write to.
661
+ */
662
+ readonly info: GraphQLResolveInfo;
663
+ /**
664
+ * The field that is being resolved.
665
+ */
666
+ readonly field: TField;
667
+ }
668
+
669
+ /**
670
+ * The operation of the field:
671
+ * - `field`
672
+ * - `query`
673
+ * - `mutation`
674
+ * - `subscription.resolve`
675
+ * - `subscription.subscribe`
676
+ * - `resolveReference`
677
+ */
678
+ type MiddlewareOperation = "field" | "query" | "mutation" | "subscription.resolve" | "subscription.subscribe" | "resolveReference";
679
+ interface MiddlewareOptions<TField extends BaseField = BaseField> {
680
+ /** The Output Silk */
681
+ outputSilk: StandardSchemaV1.InferOutput<InferFieldOutput<TField>>;
682
+ /** The previous object. */
683
+ parent: InferFieldParent<TField>;
684
+ /** A function to parse the input */
685
+ parseInput: CallableInputParser<TField["~meta"]["input"]>;
686
+ /** The executing operation */
687
+ operation: MiddlewareOperation;
688
+ /** The payload of the resolver */
689
+ payload: ResolverPayload | undefined;
690
+ }
691
+ type InferFieldParent<TField extends BaseField> = TField extends Field<infer TParent, any, any, infer TDependencies> ? TDependencies extends string[] ? RequireKeys<NonNullable<StandardSchemaV1.InferOutput<TParent>>, TDependencies[number]> : NonNullable<StandardSchemaV1.InferOutput<TParent>> : undefined;
692
+ interface CallableMiddlewareOptions<TField extends BaseField = BaseField> extends MiddlewareOptions<TField> {
693
+ /** The function to call next in the middleware chain. */
694
+ next: () => MayPromise<StandardSchemaV1.InferOutput<InferFieldOutput<TField>>>;
695
+ /** The function to call next in the middleware chain. */
696
+ (): MayPromise<StandardSchemaV1.InferOutput<InferFieldOutput<TField>>>;
697
+ }
698
+ interface MiddlewareConfig {
699
+ /** The operations to apply the middleware to. */
700
+ operations?: MiddlewareOperation[];
701
+ }
702
+ interface Middleware<TField extends BaseField = any> extends Partial<MiddlewareConfig> {
703
+ (options: CallableMiddlewareOptions<TField>): MayPromise<StandardSchemaV1.InferOutput<InferFieldOutput<TField>>>;
704
+ }
705
+ declare function applyMiddlewares<TField extends BaseField = BaseField>(options: MiddlewareOptions<TField>, resolveFunction: () => MayPromise<StandardSchemaV1.InferOutput<InferFieldOutput<TField>>>, middlewares: Middleware[]): Promise<StandardSchemaV1.InferOutput<InferFieldOutput<TField>>>;
706
+ declare function filterMiddlewares(operation: MiddlewareOperation, ...middlewareList: (Middleware | Iterable<Middleware> | undefined | null)[]): Middleware[];
707
+
708
+ /**
709
+ * Represents the state of field resolution in a GraphQL query.
710
+ */
711
+ interface ResolvingFields {
712
+ /**
713
+ * Fields explicitly requested in the GraphQL query
714
+ */
715
+ requestedFields: Set<string>;
716
+ /**
717
+ * Fields that are derived from other fields (computed fields)
718
+ */
719
+ derivedFields: Set<string>;
720
+ /**
721
+ * Fields that derived fields depend on
722
+ */
723
+ derivedDependencies: Set<string>;
724
+ /**
725
+ * Final set of fields that need to be resolved, after processing derived fields
726
+ */
727
+ selectedFields: Set<string>;
728
+ }
729
+ /**
730
+ * Analyzes and processes field resolution in a GraphQL query.
731
+ *
732
+ * @param payload - The resolver payload containing the current field resolution context
733
+ * @returns An object containing sets of different field types
734
+ */
735
+ declare function getResolvingFields(payload: Pick<ResolverPayload, "info">): ResolvingFields;
736
+ /**
737
+ * Parses the GraphQL resolve info to extract all requested fields.
738
+ * Returns a Set of field paths where nested fields are represented as 'parent.field'.
739
+ * Supports @include, @skip directives, fragments, and variables.
740
+ *
741
+ * @param info - The GraphQL resolve info object containing the query information
742
+ * @param maxDepth - Maximum depth of nested fields to parse (default: 1)
743
+ * @returns A Set of field paths
744
+ */
745
+ declare function parseResolvingFields(info: GraphQLResolveInfo, maxDepth?: number): Set<string>;
746
+
747
+ /**
748
+ * Empty Resolver Arguments that only store the memoization
749
+ */
750
+ interface OnlyMemoizationPayload {
751
+ memoization: WeakMap<WeakKey, any>;
752
+ isMemoization: true;
753
+ }
754
+ /**
755
+ * Create an empty memoization payload for the resolver
756
+ * @returns the empty memoization payload
757
+ */
758
+ declare function onlyMemoization(): OnlyMemoizationPayload;
759
+ declare function isOnlyMemoryPayload(payload: OnlyMemoizationPayload | Pick<ResolverPayload, "context">): payload is OnlyMemoizationPayload;
760
+ declare function getMemoizationMap(payload: OnlyMemoizationPayload | Pick<ResolverPayload, "context">): WeakMap<WeakKey, any>;
761
+ interface ContextMemoryContainer {
762
+ [CONTEXT_MAP_KEY]?: WeakMap<WeakKey, any>;
763
+ }
764
+ declare function assignContextMap(target: ContextMemoryContainer): WeakMap<WeakKey, any>;
765
+
766
+ export { BaseChainFactory as $, type MiddlewareOperation as A, type BaseField as B, type MiddlewareOptions as C, type CallableMiddlewareOptions as D, type MiddlewareConfig as E, type FieldOptions as F, type GraphQLFieldOptions as G, applyMiddlewares as H, IS_RESOLVER as I, filterMiddlewares as J, type ResolvingFields as K, getResolvingFields as L, type MutationOptions as M, parseResolvingFields as N, type Operation as O, type OnlyMemoizationPayload as P, type QueryOptions as Q, type ResolverPayload as R, type SubscriptionOptions as S, onlyMemoization as T, isOnlyMemoryPayload as U, type ValueOf as V, WEAVER_CONFIG as W, getMemoizationMap as X, assignContextMap as Y, type IChainFactory as Z, type ChainFactoryOptions as _, StandardSchemaV1 as a, type ResolvableSubscription as a0, type SubscriptionNeedResolve as a1, QueryFactoryWithResolve as a2, MutationFactoryWithResolve as a3, FieldFactoryWithResolve as a4, typesLoom as a5, type ResolverOptionsWithParent as a6, type ResolvingOptions as a7, type OperationType as a8, type FieldOrOperationType as a9, type InferFieldInput as aa, type InferFieldOutput as ab, type QueryFactory as ac, type MutationFactory as ad, type FieldFactory as ae, type SubscriptionFactory as af, type FieldMeta as ag, type InferInputO as ah, type CallableInputParser as ai, createInputParser as aj, parseInputValue as ak, getStandardValue as al, type GraphQLSilk as b, type MayPromise as c, type Query as d, QueryChainFactory as e, type QueryFactoryWithChain as f, type Mutation as g, MutationChainFactory as h, type MutationFactoryWithChain as i, type Field as j, FieldChainFactory as k, type FieldFactoryWithUtils as l, SubscriptionChainFactory as m, type Subscription as n, type SubscriptionFactoryWithChain as o, FIELD_HIDDEN as p, type ResolverOptionsWithExtensions as q, type OmitInUnion as r, type ResolverOptions as s, type FieldOrOperation as t, type Resolver as u, type Middleware as v, type InferInputI as w, symbols as x, type IsAny as y, type RequireKeys as z };