@soda-gql/core 0.7.0 → 0.8.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.
Files changed (45) hide show
  1. package/dist/adapter.cjs +1 -1
  2. package/dist/adapter.d.cts +2 -2
  3. package/dist/adapter.d.ts +2 -2
  4. package/dist/adapter.js +1 -1
  5. package/dist/{index-DUiy98wf.d.ts → index-CGLXqMlv.d.cts} +387 -28
  6. package/dist/index-CGLXqMlv.d.cts.map +1 -0
  7. package/dist/{index--8Kj3mIU.d.cts → index-tyIBKIKa.d.ts} +387 -28
  8. package/dist/index-tyIBKIKa.d.ts.map +1 -0
  9. package/dist/index.cjs +247 -12
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +43 -4
  12. package/dist/index.d.cts.map +1 -1
  13. package/dist/index.d.ts +43 -4
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +247 -12
  16. package/dist/index.js.map +1 -1
  17. package/dist/runtime.cjs +16 -10
  18. package/dist/runtime.cjs.map +1 -1
  19. package/dist/runtime.d.cts +2 -2
  20. package/dist/runtime.d.ts +2 -2
  21. package/dist/runtime.js +16 -10
  22. package/dist/runtime.js.map +1 -1
  23. package/dist/{schema-CFMmSBhl.d.ts → schema-2qqtKss4.d.ts} +39 -37
  24. package/dist/schema-2qqtKss4.d.ts.map +1 -0
  25. package/dist/{schema-BbCrsNkQ.js → schema-BiYcVVvm.js} +86 -1
  26. package/dist/schema-BiYcVVvm.js.map +1 -0
  27. package/dist/{schema-C1lnWj-m.d.cts → schema-CPTxQbTv.d.cts} +39 -37
  28. package/dist/schema-CPTxQbTv.d.cts.map +1 -0
  29. package/dist/{schema-DuWaRhdp.cjs → schema-D2MW4DOF.cjs} +86 -1
  30. package/dist/schema-D2MW4DOF.cjs.map +1 -0
  31. package/dist/schema-builder-BYJd50o2.d.cts +97 -0
  32. package/dist/schema-builder-BYJd50o2.d.cts.map +1 -0
  33. package/dist/schema-builder-Dhss2O1I.d.ts +97 -0
  34. package/dist/schema-builder-Dhss2O1I.d.ts.map +1 -0
  35. package/package.json +1 -1
  36. package/dist/index--8Kj3mIU.d.cts.map +0 -1
  37. package/dist/index-DUiy98wf.d.ts.map +0 -1
  38. package/dist/schema-BbCrsNkQ.js.map +0 -1
  39. package/dist/schema-C1lnWj-m.d.cts.map +0 -1
  40. package/dist/schema-CFMmSBhl.d.ts.map +0 -1
  41. package/dist/schema-DuWaRhdp.cjs.map +0 -1
  42. package/dist/schema-builder-CQa-dOw9.d.ts +0 -40
  43. package/dist/schema-builder-CQa-dOw9.d.ts.map +0 -1
  44. package/dist/schema-builder-QkY6hZn6.d.cts +0 -40
  45. package/dist/schema-builder-QkY6hZn6.d.cts.map +0 -1
@@ -1,11 +1,11 @@
1
- import { C as ObjectTypeProfile, Ct as GetSignature, Et as ConstValue, F as AnyMetadataAdapter, G as FragmentMetadataBuilder, I as DefaultAdapter, L as DefaultMetadataAdapter, N as Adapter, Ot as FieldPath, P as AnyAdapter, R as ExtractAdapterTypes, S as GetModifiedType, St as ApplyTypeModifier, T as TypeProfile, X as AnyVarRef, Z as AnyVarRefBrand, bt as OutputTypenameSpecifier, c as InferOutputProfile, dt as InputTypeSpecifier, et as VarRef, f as ObjectFieldRecord, ft as InputTypeSpecifiers, g as ResolveInputProfileFromMeta, gt as OutputScalarSpecifier, h as PickTypeSpecifierByFieldName, ht as OutputObjectSpecifier, i as AnyTypeName, it as AnyDefaultValue, m as OperationType, mt as OutputInferrableTypeSpecifier, n as AnyFieldName, o as InferInputKind, pt as OutputEnumSpecifier, q as MetadataBuilder, r as AnyGraphqlSchema, s as InferInputProfile, t as AllInputTypeNames, ut as InputTypeKind, vt as OutputTypeSpecifier, w as PrimitiveTypeProfile, wt as TypeModifier, x as GetConstAssignableType, xt as OutputUnionSpecifier, y as UnionMemberName } from "./schema-C1lnWj-m.cjs";
1
+ import { C as ObjectTypeProfile, Ct as GetSignature, Et as ConstValue, F as AnyMetadataAdapter, G as FragmentMetadataBuilder, I as DefaultAdapter, L as DefaultMetadataAdapter, N as Adapter, Ot as FieldPath, P as AnyAdapter, R as ExtractAdapterTypes, S as GetModifiedType, St as ApplyTypeModifier, T as TypeProfile, X as AnyVarRef, Z as AnyVarRefBrand, bt as OutputTypenameSpecifier, c as InferOutputProfile, dt as InputTypeSpecifier, et as VarRef, f as ObjectFieldRecord, ft as InputTypeSpecifiers, g as ResolveInputProfileFromMeta, gt as OutputScalarSpecifier, h as PickTypeSpecifierByFieldName, ht as OutputObjectSpecifier, i as AnyTypeName, it as AnyDefaultValue, m as OperationType, mt as OutputInferrableTypeSpecifier, n as AnyFieldName, o as InferInputKind, pt as OutputEnumSpecifier, q as MetadataBuilder, r as AnyGraphqlSchema, s as InferInputProfile, t as AllInputTypeNames, ut as InputTypeKind, vt as OutputTypeSpecifier, w as PrimitiveTypeProfile, wt as TypeModifier, x as GetConstAssignableType, xt as OutputUnionSpecifier, y as UnionMemberName } from "./schema-2qqtKss4.js";
2
2
  import { ConstValueNode, NamedTypeNode, OperationTypeNode, TypeNode, ValueNode } from "graphql";
3
3
  import { TypedDocumentNode } from "@graphql-typed-document-node/core";
4
4
 
5
5
  //#region packages/core/src/types/type-foundation/type-modifier-extension.generated.d.ts
6
6
  type Op_0<T> = T[];
7
7
  type Op_1<T> = T[] | null | undefined;
8
- type Ref<T extends TypeProfile, M$1 extends string> = VarRef<TypeProfile.VarRefBrand<T, GetSignature<M$1>>>;
8
+ type Ref<T extends TypeProfile, M$1 extends string> = VarRef<TypeProfile.ExpectedVariableType<T, GetSignature<M$1>>>;
9
9
  type IsOptionalProfile<TField extends TypeProfile.WithMeta> = TField[1] extends `${string}?` ? true : TField[2] extends TypeProfile.WITH_DEFAULT_INPUT ? true : false;
10
10
  type OptionalProfileKeys<TProfileObject extends {
11
11
  readonly [key: string]: TypeProfile.WithMeta;
@@ -83,13 +83,19 @@ type AnyAssigningInput = {
83
83
  readonly [key: string]: AnyVarRef;
84
84
  };
85
85
  type IsOptional<TSpecifier$1 extends InputTypeSpecifier> = TSpecifier$1["modifier"] extends `${string}?` ? true : TSpecifier$1["defaultValue"] extends AnyDefaultValue ? true : false;
86
- type AssignableInput<TSchema extends AnyGraphqlSchema, TSpecifiers extends InputTypeSpecifiers> = { readonly [K in keyof TSpecifiers as IsOptional<TSpecifiers[K]> extends true ? K : never]+?: AssignableInputValue<TSchema, TSpecifiers[K]> } & { readonly [K in keyof TSpecifiers as IsOptional<TSpecifiers[K]> extends false ? K : never]-?: AssignableInputValue<TSchema, TSpecifiers[K]> };
86
+ type AssignableInput<TSchema extends AnyGraphqlSchema, TSpecifiers extends InputTypeSpecifiers> = { readonly [K in keyof TSpecifiers as IsOptional<TSpecifiers[K]> extends true ? K : never]+?: FieldArgumentValue<TSchema, TSpecifiers[K]> } & { readonly [K in keyof TSpecifiers as IsOptional<TSpecifiers[K]> extends false ? K : never]-?: FieldArgumentValue<TSchema, TSpecifiers[K]> };
87
87
  /**
88
- * Assignable input value type using typeName + kind for VarRef comparison.
88
+ * Field argument value type using typeName + kind for VarRef comparison.
89
89
  * Uses GetAssignableType which derives typeName + kind from the profile.
90
+ * This name appears in TypeScript error messages when argument types don't match.
90
91
  */
91
- type AssignableInputValue<TSchema extends AnyGraphqlSchema, TSpecifier$1 extends InputTypeSpecifier> = GetAssignableType<InferInputProfile<TSchema, TSpecifier$1>>;
92
- type AssigningInput<TSchema extends AnyGraphqlSchema, TSpecifiers extends InputTypeSpecifiers> = { readonly [K in keyof TSpecifiers]-?: VarRef<TypeProfile.AssigningVarRefBrand<InferInputProfile<TSchema, TSpecifiers[K]>>> };
92
+ type FieldArgumentValue<TSchema extends AnyGraphqlSchema, TSpecifier$1 extends InputTypeSpecifier> = GetAssignableType<InferInputProfile<TSchema, TSpecifier$1>>;
93
+ /**
94
+ * Declared variables record for an operation or fragment.
95
+ * Maps variable names to their VarRef types with proper branding.
96
+ * This name appears in TypeScript error messages when variable access fails.
97
+ */
98
+ type DeclaredVariables<TSchema extends AnyGraphqlSchema, TSpecifiers extends InputTypeSpecifiers> = { readonly [K in keyof TSpecifiers]-?: VarRef<TypeProfile.DeclaredVariableType<InferInputProfile<TSchema, TSpecifiers[K]>>> };
93
99
  type AssignableInputByFieldName<TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"], TFieldName$1 extends keyof TSchema["object"][TTypeName$1]["fields"]> = AssignableInput<TSchema, TSchema["object"][TTypeName$1]["fields"][TFieldName$1]["arguments"]>;
94
100
  //#endregion
95
101
  //#region packages/core/src/types/fragment/directives.d.ts
@@ -164,10 +170,47 @@ type InferField<TSchema extends AnyGraphqlSchema, TSelection extends AnyFieldSel
164
170
  } ? GetModifiedType<InferOutputProfile<TSchema, TSpecifier>, TSpecifier["modifier"]> : never);
165
171
  //#endregion
166
172
  //#region packages/core/src/composer/build-document.d.ts
173
+ /**
174
+ * Converts an assignable input value to a GraphQL AST ValueNode.
175
+ *
176
+ * Handles primitives, arrays, objects, and variable references.
177
+ * Returns null for undefined values (field is omitted).
178
+ */
167
179
  declare const buildArgumentValue: (value: AnyAssignableInputValue) => ValueNode | null;
180
+ /**
181
+ * Converts a constant value to a GraphQL AST ConstValueNode.
182
+ *
183
+ * Unlike `buildArgumentValue`, this only handles literal values
184
+ * (no variable references). Used for default values.
185
+ */
168
186
  declare const buildConstValueNode: (value: ConstValue) => ConstValueNode | null;
187
+ /**
188
+ * Wraps a named type with modifiers (non-null, list).
189
+ *
190
+ * Modifier format: starts with `?` (nullable) or `!` (non-null),
191
+ * followed by `[]?` or `[]!` pairs for lists.
192
+ *
193
+ * @example
194
+ * - `"!"` → `String!`
195
+ * - `"?"` → `String`
196
+ * - `"![]!"` → `[String!]!`
197
+ * - `"?[]?"` → `[String]`
198
+ */
169
199
  declare const buildWithTypeModifier: (modifier: TypeModifier, buildType: () => NamedTypeNode) => TypeNode;
200
+ /**
201
+ * Converts an operation type string to a GraphQL AST OperationTypeNode.
202
+ */
170
203
  declare const buildOperationTypeNode: (operation: OperationType) => OperationTypeNode;
204
+ /**
205
+ * Builds a TypedDocumentNode from operation options.
206
+ *
207
+ * This is the main entry point for converting field selections into
208
+ * a GraphQL document AST. The result can be used with any GraphQL
209
+ * client that supports TypedDocumentNode.
210
+ *
211
+ * @param options - Operation configuration (name, type, variables, fields)
212
+ * @returns TypedDocumentNode with inferred input/output types
213
+ */
171
214
  declare const buildDocument: <TSchema extends AnyGraphqlSchema, TFields extends AnyFields, TVarDefinitions extends InputTypeSpecifiers>(options: {
172
215
  operationName: string;
173
216
  operationType: OperationType;
@@ -220,6 +263,35 @@ type ColocatedFields<TEntries extends ColocatedEntries> = UnionToIntersection<{
220
263
  declare const createColocateHelper: () => <TEntries extends ColocatedEntries>(entries: TEntries) => ColocatedFields<TEntries>;
221
264
  type ColocateHelper = ReturnType<typeof createColocateHelper>;
222
265
  //#endregion
266
+ //#region packages/core/src/types/element/attachment-types.d.ts
267
+ /**
268
+ * Shape constraint for attachment objects used in type utilities.
269
+ */
270
+ type AttachmentShape = {
271
+ name: string;
272
+ createValue: (element: any) => object;
273
+ };
274
+ /**
275
+ * Extracts the property type contribution from a single attachment.
276
+ * Maps GqlElementAttachment<E, N, V> to { [N]: V }
277
+ */
278
+ type AttachmentToProperty<TAttachment> = TAttachment extends {
279
+ name: infer TName extends string;
280
+ createValue: (element: any) => infer TValue extends object;
281
+ } ? { [K in TName]: TValue } : never;
282
+ /**
283
+ * Recursively maps a tuple of attachments to an intersection of their properties.
284
+ *
285
+ * @example
286
+ * type Attachments = [
287
+ * { name: "a"; createValue: (el: any) => { x: number } },
288
+ * { name: "b"; createValue: (el: any) => { y: string } }
289
+ * ];
290
+ * type Result = AttachmentsTupleToIntersection<Attachments>;
291
+ * // Result: { a: { x: number } } & { b: { y: string } }
292
+ */
293
+ type AttachmentsTupleToIntersection<TAttachments extends readonly AttachmentShape[]> = TAttachments extends readonly [infer First extends AttachmentShape, ...infer Rest extends readonly AttachmentShape[]] ? AttachmentToProperty<First> & AttachmentsTupleToIntersection<Rest> : unknown;
294
+ //#endregion
223
295
  //#region packages/core/src/utils/empty-object.d.ts
224
296
  declare const __EMPTY_SYMBOL__: unique symbol;
225
297
  type EmptyObject = {
@@ -245,22 +317,45 @@ declare const empty: () => EmptyObject;
245
317
  * while preserving the original schema information for inference.
246
318
  */
247
319
  type FieldsBuilder<TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"] & string, TVariableDefinitions extends InputTypeSpecifiers, TFields extends AnyFields> = (tools: NoInfer<FieldsBuilderTools<TSchema, TTypeName$1, TVariableDefinitions>>) => TFields;
320
+ /**
321
+ * Tools provided to field builder callbacks.
322
+ * - `f`: Field selection factories for the current type
323
+ * - `$`: Variable references for the current scope
324
+ */
248
325
  type FieldsBuilderTools<TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"] & string, TVariableDefinitions extends InputTypeSpecifiers> = {
249
326
  f: FieldSelectionFactories<TSchema, TTypeName$1>;
250
- $: AssigningInput<TSchema, TVariableDefinitions>;
327
+ $: DeclaredVariables<TSchema, TVariableDefinitions>;
251
328
  };
252
- /** Narrow builder used when a field resolves to an object and we need nested selections. */
329
+ /**
330
+ * Builder for nested object field selections.
331
+ * Used when a field returns an object type requiring sub-selections.
332
+ */
253
333
  type NestedObjectFieldsBuilder<TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"] & string, TFields extends AnyNestedObject> = (tools: NoInfer<NestedObjectFieldsBuilderTools<TSchema, TTypeName$1>>) => TFields;
334
+ /**
335
+ * Tools for nested object builders (no variable access).
336
+ * @internal
337
+ */
254
338
  type NestedObjectFieldsBuilderTools<TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"] & string> = {
255
339
  f: FieldSelectionFactories<TSchema, TTypeName$1>;
256
340
  };
341
+ /**
342
+ * Builder for union type selections with per-member field definitions.
343
+ */
257
344
  type NestedUnionFieldsBuilder<TSchema extends AnyGraphqlSchema, TMemberName extends string, TUnionFields extends AnyNestedUnion> = { [TTypename in keyof TUnionFields & TMemberName]?: NestedObjectFieldsBuilder<TSchema, TTypename, NonNullable<TUnionFields[TTypename]>> };
258
345
  /** Map each field to a factory capable of emitting fully-typed references. */
259
346
  type FieldSelectionFactories<TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"] & string> = { [TFieldName in keyof ObjectFieldRecord<TSchema, TTypeName$1>]: TFieldName extends string ? FieldSelectionFactory<TSchema, FieldSelectionTemplateOf<TSchema, TTypeName$1, TFieldName>> : never };
347
+ /**
348
+ * Type-erased field selection factory.
349
+ * @internal
350
+ */
260
351
  type AnyFieldSelectionFactory = <TAlias extends string | null = null>(fieldArgs: AnyAssignableInput | void, extras?: {
261
352
  alias?: TAlias;
262
353
  directives?: AnyDirectiveAttachments;
263
354
  }) => AnyFieldSelectionFactoryReturn<TAlias>;
355
+ /**
356
+ * Factory function for creating a typed field selection.
357
+ * Accepts field arguments and optional alias/directives.
358
+ */
264
359
  type FieldSelectionFactory<TSchema extends AnyGraphqlSchema, TSelection extends AnyFieldSelection> = <TAlias extends string | null = null>(fieldArgs: TSelection["args"] | IfOmittable<TSelection["args"], void | null>, extras?: {
265
360
  alias?: TAlias;
266
361
  directives?: TSelection["directives"];
@@ -305,41 +400,138 @@ type LazyEvaluatorContext = {
305
400
  //#region packages/core/src/types/element/gql-element.d.ts
306
401
  declare const GQL_ELEMENT_FACTORY: unique symbol;
307
402
  declare const GQL_ELEMENT_CONTEXT: unique symbol;
403
+ /**
404
+ * Context passed to element definition factories, containing the canonical ID.
405
+ */
308
406
  type GqlElementContext = LazyEvaluatorContext;
407
+ /**
408
+ * Factory function that produces the element definition.
409
+ * May be sync or async (async requires async build mode).
410
+ */
309
411
  type GqlElementDefinitionFactory<T> = (context: GqlElementContext | null) => T | Promise<T>;
310
- type GqlElementAttachment<TElement extends object, TName$1 extends string, TValue extends object> = {
412
+ /**
413
+ * Configuration for attaching a computed property to an element.
414
+ */
415
+ type GqlElementAttachment<TElement extends object, TName$1 extends string, TValue$1 extends object> = {
311
416
  name: TName$1;
312
- createValue: (element: TElement) => TValue;
417
+ createValue: (element: TElement) => TValue$1;
313
418
  };
419
+ /**
420
+ * Abstract base class for all GraphQL elements (Fragment, Operation).
421
+ *
422
+ * Uses lazy evaluation with caching - definition is computed on first access.
423
+ * Subclasses should not be instantiated directly; use static `create` methods.
424
+ *
425
+ * @template TDefinition - The shape of the evaluated definition
426
+ * @template TInfer - Type inference metadata (access via `$infer`)
427
+ */
314
428
  declare abstract class GqlElement<TDefinition extends object, TInfer extends object> {
429
+ /**
430
+ * Type-only property for inference. Throws at runtime.
431
+ * Use with `typeof element.$infer` to extract input/output types.
432
+ */
315
433
  readonly $infer: TInfer;
316
434
  private [GQL_ELEMENT_FACTORY];
317
435
  private [GQL_ELEMENT_CONTEXT];
318
436
  protected constructor(define: GqlElementDefinitionFactory<TDefinition>, getDeps?: () => GqlElement<any, any>[]);
319
- attach<TName$1 extends string, TValue extends object>(attachment: GqlElementAttachment<this, TName$1, TValue>): this & { [_ in TName$1]: TValue };
437
+ /**
438
+ * Attaches lazily-computed properties to this element.
439
+ * Properties are computed once on first access after evaluation.
440
+ *
441
+ * @example Single attachment
442
+ * ```typescript
443
+ * const fragment = gql.default(...)
444
+ * .attach({ name: "utils", createValue: (el) => ({ ... }) });
445
+ * ```
446
+ *
447
+ * @example Multiple attachments (use `as const` for full type inference)
448
+ * ```typescript
449
+ * const fragment = gql.default(...)
450
+ * .attach([
451
+ * { name: "a", createValue: () => ({ x: 1 }) },
452
+ * { name: "b", createValue: () => ({ y: 2 }) },
453
+ * ] as const);
454
+ * ```
455
+ */
456
+ attach<TName$1 extends string, TValue$1 extends object>(attachment: GqlElementAttachment<this, TName$1, TValue$1>): this & { [K in TName$1]: TValue$1 };
457
+ attach<const TAttachments extends readonly AttachmentShape[]>(attachments: TAttachments): this & AttachmentsTupleToIntersection<TAttachments>;
458
+ /**
459
+ * Sets the canonical context for an element. Used by the builder.
460
+ * @internal
461
+ */
320
462
  static setContext<TElement extends GqlElement<any, any>>(element: TElement, context: GqlElementContext): void;
463
+ /**
464
+ * Gets the canonical context of an element, if set.
465
+ * @internal
466
+ */
467
+ static getContext(element: GqlElement<any, any>): GqlElementContext | null;
468
+ /**
469
+ * Creates a generator for async evaluation. Used by the builder.
470
+ * @internal
471
+ */
321
472
  static createEvaluationGenerator(element: GqlElement<any, any>): Generator<Promise<void>, void, void>;
322
473
  private static evaluateInstantly;
474
+ /**
475
+ * Forces synchronous evaluation. Throws if async operation is needed.
476
+ * @internal
477
+ */
323
478
  static evaluateSync(element: GqlElement<any, any>): void;
324
- static get<TValue extends object>(element: GqlElement<TValue, any>): TValue;
479
+ /**
480
+ * Evaluates and returns the element's definition.
481
+ * Throws if async operation is needed.
482
+ * @internal
483
+ */
484
+ static get<TValue$1 extends object>(element: GqlElement<TValue$1, any>): TValue$1;
325
485
  }
326
486
  //#endregion
327
487
  //#region packages/core/src/types/element/fragment.d.ts
488
+ /**
489
+ * Type alias for any Fragment instance.
490
+ */
328
491
  type AnyFragment = Fragment<string, any, AnyFields, any>;
492
+ /**
493
+ * Type inference metadata for fragments.
494
+ * Access via `typeof fragment.$infer`.
495
+ */
329
496
  type FragmentInferMeta<TVariables, TOutput extends object> = {
330
497
  readonly input: TVariables;
331
498
  readonly output: TOutput;
332
499
  };
500
+ /**
501
+ * Internal artifact shape produced by fragment evaluation.
502
+ * @internal
503
+ */
333
504
  interface FragmentArtifact<TTypeName$1 extends string, TVariables extends Partial<AnyAssignableInput> | void, TFields extends Partial<AnyFields>> {
334
505
  readonly typename: TTypeName$1;
335
506
  readonly spread: (variables: TVariables) => TFields;
336
507
  }
337
508
  declare const __FRAGMENT_BRAND__: unique symbol;
509
+ /**
510
+ * Represents a reusable GraphQL field selection on a specific type.
511
+ *
512
+ * Fragments are created via `gql(({ fragment }) => fragment.TypeName({ ... }))`.
513
+ * Use `spread()` to include the fragment's fields in an operation.
514
+ *
515
+ * @template TTypeName - The GraphQL type this fragment selects from
516
+ * @template TVariables - Variables required when spreading
517
+ * @template TFields - The selected fields structure
518
+ * @template TOutput - Inferred output type from selected fields
519
+ */
338
520
  declare class Fragment<TTypeName$1 extends string, TVariables extends Partial<AnyAssignableInput> | void, TFields extends Partial<AnyFields>, TOutput extends object> extends GqlElement<FragmentArtifact<TTypeName$1, TVariables, TFields>, FragmentInferMeta<TVariables, TOutput>> implements FragmentArtifact<TTypeName$1, TVariables, TFields> {
339
521
  private readonly [__FRAGMENT_BRAND__];
340
522
  private constructor();
523
+ /** The GraphQL type name this fragment selects from. */
341
524
  get typename(): TTypeName$1;
525
+ /**
526
+ * Spreads this fragment's fields into a parent selection.
527
+ * Pass variables if the fragment defines any.
528
+ */
342
529
  get spread(): (variables: TVariables) => TFields;
530
+ /**
531
+ * Creates a new Fragment instance.
532
+ * Prefer using the `gql(({ fragment }) => ...)` API instead.
533
+ * @internal
534
+ */
343
535
  static create<TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"] & string, TVariableDefinitions extends InputTypeSpecifiers, TFields extends AnyFields>(define: () => {
344
536
  typename: TTypeName$1;
345
537
  spread: (variables: OptionalArg<AssignableInput<TSchema, TVariableDefinitions>>) => TFields;
@@ -351,13 +543,27 @@ declare class Fragment<TTypeName$1 extends string, TVariables extends Partial<An
351
543
  }
352
544
  //#endregion
353
545
  //#region packages/core/src/types/element/operation.d.ts
546
+ /**
547
+ * Type alias for any Operation instance.
548
+ */
354
549
  type AnyOperation = AnyOperationOf<"query"> | AnyOperationOf<"mutation"> | AnyOperationOf<"subscription">;
550
+ /**
551
+ * Type alias for an Operation of a specific type.
552
+ */
355
553
  type AnyOperationOf<TOperationType extends OperationType> = Operation<TOperationType, string, string[], any, AnyFields, any>;
554
+ /**
555
+ * Type inference metadata for operations.
556
+ * Access via `typeof operation.$infer`.
557
+ */
356
558
  type OperationInferMeta<TVariables, TData extends object> = {
357
559
  readonly input: TVariables;
358
560
  readonly output: TData;
359
561
  };
360
562
  declare const __OPERATION_BRAND__: unique symbol;
563
+ /**
564
+ * Internal artifact shape produced by operation evaluation.
565
+ * @internal
566
+ */
361
567
  type OperationArtifact<TOperationType extends OperationType, TOperationName extends string, TVariableNames extends string[], TVariables extends AnyConstAssignableInput, TFields extends Partial<AnyFields>, TData extends object> = {
362
568
  readonly operationType: TOperationType;
363
569
  readonly operationName: TOperationName;
@@ -366,15 +572,42 @@ type OperationArtifact<TOperationType extends OperationType, TOperationName exte
366
572
  readonly document: TypedDocumentNode<TData, TVariables>;
367
573
  readonly metadata?: unknown;
368
574
  };
575
+ /**
576
+ * Represents a GraphQL operation (query, mutation, or subscription).
577
+ *
578
+ * Operations are created via `gql(({ query }) => query.operation({ ... }))`.
579
+ * Produces a TypedDocumentNode for type-safe execution with GraphQL clients.
580
+ *
581
+ * @template TOperationType - 'query' | 'mutation' | 'subscription'
582
+ * @template TOperationName - The unique operation name
583
+ * @template TVariableNames - Tuple of variable names
584
+ * @template TVariables - Variable types for the operation
585
+ * @template TFields - Selected fields structure
586
+ * @template TData - Inferred response data type
587
+ */
369
588
  declare class Operation<TOperationType extends OperationType, TOperationName extends string, TVariableNames extends string[], TVariables extends AnyConstAssignableInput, TFields extends Partial<AnyFields>, TData extends object> extends GqlElement<OperationArtifact<TOperationType, TOperationName, TVariableNames, TVariables, TFields, TData>, OperationInferMeta<TVariables, TData>> implements OperationArtifact<TOperationType, TOperationName, TVariableNames, TVariables, TFields, TData> {
370
589
  private readonly [__OPERATION_BRAND__];
371
590
  private constructor();
591
+ /** The operation type: 'query', 'mutation', or 'subscription'. */
372
592
  get operationType(): TOperationType;
593
+ /** The unique name of this operation. */
373
594
  get operationName(): TOperationName;
595
+ /** List of variable names defined for this operation. */
374
596
  get variableNames(): TVariableNames;
597
+ /**
598
+ * Returns the field selections. Used for document reconstruction.
599
+ * @internal
600
+ */
375
601
  get documentSource(): () => TFields;
602
+ /** The TypedDocumentNode for use with GraphQL clients. */
376
603
  get document(): TypedDocumentNode<TData, TVariables>;
604
+ /** Custom metadata attached to this operation, if any. */
377
605
  get metadata(): unknown;
606
+ /**
607
+ * Creates a new Operation instance.
608
+ * Prefer using the `gql(({ query }) => ...)` API instead.
609
+ * @internal
610
+ */
378
611
  static create<TSchema extends AnyGraphqlSchema, TOperationType extends OperationType, TOperationName extends string, TVariableDefinitions extends InputTypeSpecifiers, TFields extends AnyFields>(define: (context: GqlElementContext | null) => {
379
612
  operationType: TOperationType;
380
613
  operationName: TOperationName;
@@ -393,25 +626,70 @@ declare class Operation<TOperationType extends OperationType, TOperationName ext
393
626
  }
394
627
  //#endregion
395
628
  //#region packages/core/src/composer/fields-builder.d.ts
629
+ /**
630
+ * Creates field selection factories for a given object type.
631
+ *
632
+ * Returns an object with a factory for each field defined on the type.
633
+ * Factories are cached per schema+type to avoid recreation.
634
+ *
635
+ * @param schema - The GraphQL schema definition
636
+ * @param typeName - The object type name to create factories for
637
+ * @returns Object mapping field names to their selection factories
638
+ *
639
+ * @internal Used by operation and fragment composers
640
+ */
396
641
  declare const createFieldFactories: <TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"] & string>(schema: TSchema, typeName: TTypeName$1) => FieldSelectionFactories<TSchema, TTypeName$1>;
397
642
  //#endregion
398
643
  //#region packages/core/src/composer/input.d.ts
399
- declare const createVarAssignments: <TSchema extends AnyGraphqlSchema, TVariableDefinitions extends InputTypeSpecifiers>(definitions: TVariableDefinitions, providedValues: AnyAssignableInput | void) => AssigningInput<TSchema, TVariableDefinitions>;
400
- declare const createVarRefs: <TSchema extends AnyGraphqlSchema, TVarDefinitions extends InputTypeSpecifiers>(definitions: TVarDefinitions) => AssigningInput<TSchema, TVarDefinitions>;
644
+ /**
645
+ * Creates variable assignments from provided values.
646
+ *
647
+ * Maps variable definitions to VarRefs. If a value is provided,
648
+ * wraps it as a nested-value VarRef. If not provided, creates
649
+ * an undefined VarRef (field will be omitted).
650
+ *
651
+ * Used when spreading fragments with partial variable values.
652
+ *
653
+ * @internal
654
+ */
655
+ declare const createVarAssignments: <TSchema extends AnyGraphqlSchema, TVariableDefinitions extends InputTypeSpecifiers>(definitions: TVariableDefinitions, providedValues: AnyAssignableInput | void) => DeclaredVariables<TSchema, TVariableDefinitions>;
656
+ /**
657
+ * Creates variable references from variable definitions.
658
+ *
659
+ * Maps each variable definition to a VarRef pointing to that variable.
660
+ * Used in operation builders to create the `$` context object.
661
+ *
662
+ * @internal
663
+ */
664
+ declare const createVarRefs: <TSchema extends AnyGraphqlSchema, TVarDefinitions extends InputTypeSpecifiers>(definitions: TVarDefinitions) => DeclaredVariables<TSchema, TVarDefinitions>;
401
665
  //#endregion
402
666
  //#region packages/core/src/composer/fragment.d.ts
403
667
  /**
404
668
  * Type alias for a fragment builder function for a specific object type.
405
- * Used in codegen to generate explicit fragment builder types instead of mapped types.
669
+ *
670
+ * Used by codegen to generate explicit fragment builder types instead of
671
+ * expensive mapped types. This improves IDE performance for large schemas.
406
672
  */
407
673
  type FragmentBuilderFor<TSchema extends AnyGraphqlSchema, TTypeName$1 extends keyof TSchema["object"] & string, TAdapter extends AnyMetadataAdapter = DefaultMetadataAdapter> = <TFields extends AnyFields, TVarDefinitions extends InputTypeSpecifiers = {}>(options: {
408
674
  variables?: TVarDefinitions;
409
675
  metadata?: FragmentMetadataBuilder<ReturnType<typeof createVarRefs<TSchema, TVarDefinitions>>, ExtractAdapterTypes<TAdapter>["fragmentMetadata"]>;
410
676
  fields: FieldsBuilder<TSchema, TTypeName$1, TVarDefinitions, TFields>;
411
677
  }) => ReturnType<typeof Fragment.create<TSchema, TTypeName$1, TVarDefinitions, TFields>>;
678
+ /**
679
+ * Creates fragment builder functions for all object types in the schema.
680
+ *
681
+ * Returns an object with a builder for each type (e.g., `fragment.User`, `fragment.Post`).
682
+ * Each builder creates a `Fragment` that can be spread into operations.
683
+ *
684
+ * @param schema - The GraphQL schema definition
685
+ * @param _adapter - Optional metadata adapter (for fragment metadata)
686
+ * @returns Object mapping type names to fragment builder functions
687
+ *
688
+ * @internal Used by `createGqlElementComposer`
689
+ */
412
690
  declare const createGqlFragmentComposers: <TSchema extends AnyGraphqlSchema, TAdapter extends AnyMetadataAdapter = DefaultMetadataAdapter>(schema: NoInfer<TSchema>, _adapter?: TAdapter) => { readonly [TTypeName in keyof TSchema["object"]]: TTypeName extends string ? <TFields extends AnyFields, TVarDefinitions extends InputTypeSpecifiers = {}>(options: {
413
691
  variables?: TVarDefinitions | undefined;
414
- metadata?: FragmentMetadataBuilder<AssigningInput<TSchema, TVarDefinitions>, ExtractAdapterTypes<TAdapter>["fragmentMetadata"]> | undefined;
692
+ metadata?: FragmentMetadataBuilder<DeclaredVariables<TSchema, TVarDefinitions>, ExtractAdapterTypes<TAdapter>["fragmentMetadata"]> | undefined;
415
693
  fields: FieldsBuilder<TSchema, TTypeName, TVarDefinitions, TFields>;
416
694
  }) => Fragment<TTypeName, OptionalArg<AssignableInput<TSchema, TVarDefinitions>>, TFields & {
417
695
  [key: symbol]: never;
@@ -470,6 +748,18 @@ type PathSegment = string;
470
748
  * Proxy type that records property accesses.
471
749
  */
472
750
  type SelectableProxy<T> = T;
751
+ /**
752
+ * Gets the full path to a variable within a nested structure.
753
+ *
754
+ * Returns path segments starting with `$variableName` followed by
755
+ * property accesses within that variable's value.
756
+ *
757
+ * @example
758
+ * ```typescript
759
+ * getVariablePath($.filter, p => p.user.id)
760
+ * // Returns: ["$filter", "user", "id"]
761
+ * ```
762
+ */
473
763
  declare const getVariablePath: <T, U>(varRef: VarRef<AnyVarRefBrand>, selector: (proxy: SelectableProxy<T>) => U) => readonly PathSegment[];
474
764
  //#endregion
475
765
  //#region packages/core/src/composer/var-builder.d.ts
@@ -500,7 +790,9 @@ type AssignableDefaultValue<TSchema extends AnyGraphqlSchema, TKind extends Inpu
500
790
  };
501
791
  }[TKind]>;
502
792
  /**
503
- * Variable specifier type.
793
+ * Represents a variable definition with its type, modifier, and optional default.
794
+ *
795
+ * Created by `$var.TypeName("modifier", { default?: ... })` calls.
504
796
  */
505
797
  type VarSpecifier<TKind extends InputTypeKind, TTypeName$1 extends string, TModifier extends TypeModifier, TDefaultFn extends (() => unknown) | null, TDirectives extends AnyConstDirectiveAttachments> = {
506
798
  kind: TKind;
@@ -558,7 +850,19 @@ type WrappedVarMethod<TVarName extends string, TSchema extends AnyGraphqlSchema,
558
850
  */
559
851
  type VarBuilderMethods<TVarName extends string, TSchema extends AnyGraphqlSchema> = { [TName in AllInputTypeNames<TSchema>]: WrappedVarMethod<TVarName, TSchema, InferInputKind<TSchema, TName>, TName> };
560
852
  /**
561
- * Type for the variable builder function.
853
+ * Variable builder function type.
854
+ *
855
+ * Call with a variable name to get type-specific methods.
856
+ * Also provides utilities for extracting values from VarRefs.
857
+ *
858
+ * @example
859
+ * ```typescript
860
+ * // In operation definition:
861
+ * variables: { userId: $var("userId").ID("!") }
862
+ *
863
+ * // In metadata builder:
864
+ * $var.getValueAt($.userId, p => p)
865
+ * ```
562
866
  */
563
867
  type VarBuilder<TSchema extends AnyGraphqlSchema> = {
564
868
  <TVarName extends string>(varName: TVarName): VarBuilderMethods<TVarName, TSchema>;
@@ -584,11 +888,26 @@ type SchemaAwareGetValueAt<TSchema extends AnyGraphqlSchema> = <T extends AnyVar
584
888
  */
585
889
  type SchemaAwareGetNameAt<TSchema extends AnyGraphqlSchema> = <T extends AnyVarRefBrand, U>(varRef: VarRef<T>, selector: (proxy: ResolveTypeFromMeta<TSchema, T>) => U) => string;
586
890
  /**
587
- * Creates a variable builder that uses injected input type methods.
891
+ * Creates a variable builder using injected input type methods.
892
+ *
893
+ * The returned builder provides type-safe variable definition methods
894
+ * for all input types in the schema. Also includes utilities for
895
+ * extracting variable names and values from VarRefs.
896
+ *
897
+ * @param inputTypeMethods - Methods for each input type (from codegen)
898
+ * @returns Variable builder with methods for all input types
899
+ *
900
+ * @internal Used by `createGqlElementComposer`
588
901
  */
589
902
  declare const createVarBuilder: <TSchema extends AnyGraphqlSchema>(inputTypeMethods: InputTypeMethods<TSchema>) => VarBuilder<TSchema>;
590
903
  //#endregion
591
904
  //#region packages/core/src/composer/gql-composer.d.ts
905
+ /**
906
+ * Function signature for composing GraphQL elements (fragments or operations).
907
+ *
908
+ * The composer provides a context with builders for fragments, operations,
909
+ * variables, and colocation helpers.
910
+ */
592
911
  type GqlElementComposer<TContext> = <TResult extends AnyFragment | AnyOperation>(composeElement: (context: TContext) => TResult) => TResult;
593
912
  /**
594
913
  * Extracts the helpers type from an adapter.
@@ -606,16 +925,41 @@ type ExtractMetadataAdapter<TAdapter extends AnyAdapter> = TAdapter extends {
606
925
  * This is the mapped type that's expensive to compute for large schemas.
607
926
  */
608
927
  type FragmentBuildersAll<TSchema extends AnyGraphqlSchema, TAdapter extends AnyMetadataAdapter = DefaultMetadataAdapter> = { readonly [TTypeName in keyof TSchema["object"]]: TTypeName extends string ? FragmentBuilderFor<TSchema, TTypeName, TAdapter> : never };
928
+ /**
929
+ * Configuration options for `createGqlElementComposer`.
930
+ */
609
931
  type GqlElementComposerOptions<TSchema extends AnyGraphqlSchema, TAdapter extends AnyAdapter = DefaultAdapter> = {
932
+ /** Optional adapter for custom helpers and metadata handling. */
610
933
  adapter?: TAdapter;
934
+ /** Methods for building variable type specifiers. */
611
935
  inputTypeMethods: InputTypeMethods<TSchema>;
612
936
  };
613
937
  /**
614
938
  * Creates a GQL element composer for a given schema.
615
939
  *
616
- * @typeParam TSchema - The GraphQL schema type
617
- * @typeParam TAdapter - The adapter type (optional)
618
- * @typeParam TFragmentBuilders - Pre-computed fragment builders type (optional, for codegen optimization)
940
+ * This is the main entry point for defining GraphQL operations and fragments.
941
+ * The returned function provides a context with:
942
+ * - `fragment`: Builders for each object type
943
+ * - `query/mutation/subscription`: Operation builders
944
+ * - `$var`: Variable definition helpers
945
+ * - `$colocate`: Fragment colocation utilities
946
+ *
947
+ * @param schema - The GraphQL schema definition
948
+ * @param options - Configuration including input type methods and optional adapter
949
+ * @returns Element composer function
950
+ *
951
+ * @example
952
+ * ```typescript
953
+ * const gql = createGqlElementComposer(schema, { inputTypeMethods });
954
+ *
955
+ * const GetUser = gql(({ query, $var }) =>
956
+ * query.operation({
957
+ * name: "GetUser",
958
+ * variables: { id: $var.ID("!") },
959
+ * fields: ({ f, $ }) => ({ ...f.user({ id: $.id })(...) }),
960
+ * })
961
+ * );
962
+ * ```
619
963
  */
620
964
  declare const createGqlElementComposer: <TSchema extends AnyGraphqlSchema, TFragmentBuilders, TAdapter extends AnyAdapter = DefaultAdapter>(schema: NoInfer<TSchema>, options: GqlElementComposerOptions<NoInfer<TSchema>, NoInfer<TAdapter>>) => GqlElementComposer<{
621
965
  fragment: TFragmentBuilders;
@@ -623,7 +967,7 @@ declare const createGqlElementComposer: <TSchema extends AnyGraphqlSchema, TFrag
623
967
  operation: <TOperationName extends string, TFields extends AnyFields, TVarDefinitions extends InputTypeSpecifiers = {}, TOperationMetadata = unknown>(options: {
624
968
  name: TOperationName;
625
969
  variables?: TVarDefinitions | undefined;
626
- metadata?: MetadataBuilder<AssigningInput<TSchema, TVarDefinitions>, TOperationMetadata, ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["aggregatedFragmentMetadata"], ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["schemaLevel"]> | undefined;
970
+ metadata?: MetadataBuilder<DeclaredVariables<TSchema, TVarDefinitions>, TOperationMetadata, ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["aggregatedFragmentMetadata"], ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["schemaLevel"]> | undefined;
627
971
  fields: FieldsBuilder<TSchema, TSchema["operations"]["query"] & keyof TSchema["object"] & string, TVarDefinitions, TFields>;
628
972
  }) => Operation<"query", TOperationName, (keyof TVarDefinitions & string)[], ConstAssignableInput<TSchema, TVarDefinitions>, TFields, InferFields<TSchema, TFields>>;
629
973
  };
@@ -631,7 +975,7 @@ declare const createGqlElementComposer: <TSchema extends AnyGraphqlSchema, TFrag
631
975
  operation: <TOperationName extends string, TFields extends AnyFields, TVarDefinitions extends InputTypeSpecifiers = {}, TOperationMetadata = unknown>(options: {
632
976
  name: TOperationName;
633
977
  variables?: TVarDefinitions | undefined;
634
- metadata?: MetadataBuilder<AssigningInput<TSchema, TVarDefinitions>, TOperationMetadata, ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["aggregatedFragmentMetadata"], ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["schemaLevel"]> | undefined;
978
+ metadata?: MetadataBuilder<DeclaredVariables<TSchema, TVarDefinitions>, TOperationMetadata, ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["aggregatedFragmentMetadata"], ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["schemaLevel"]> | undefined;
635
979
  fields: FieldsBuilder<TSchema, TSchema["operations"]["mutation"] & keyof TSchema["object"] & string, TVarDefinitions, TFields>;
636
980
  }) => Operation<"mutation", TOperationName, (keyof TVarDefinitions & string)[], ConstAssignableInput<TSchema, TVarDefinitions>, TFields, InferFields<TSchema, TFields>>;
637
981
  };
@@ -639,7 +983,7 @@ declare const createGqlElementComposer: <TSchema extends AnyGraphqlSchema, TFrag
639
983
  operation: <TOperationName extends string, TFields extends AnyFields, TVarDefinitions extends InputTypeSpecifiers = {}, TOperationMetadata = unknown>(options: {
640
984
  name: TOperationName;
641
985
  variables?: TVarDefinitions | undefined;
642
- metadata?: MetadataBuilder<AssigningInput<TSchema, TVarDefinitions>, TOperationMetadata, ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["aggregatedFragmentMetadata"], ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["schemaLevel"]> | undefined;
986
+ metadata?: MetadataBuilder<DeclaredVariables<TSchema, TVarDefinitions>, TOperationMetadata, ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["aggregatedFragmentMetadata"], ExtractAdapterTypes<ExtractMetadataAdapter<TAdapter>>["schemaLevel"]> | undefined;
643
987
  fields: FieldsBuilder<TSchema, TSchema["operations"]["subscription"] & keyof TSchema["object"] & string, TVarDefinitions, TFields>;
644
988
  }) => Operation<"subscription", TOperationName, (keyof TVarDefinitions & string)[], ConstAssignableInput<TSchema, TVarDefinitions>, TFields, InferFields<TSchema, TFields>>;
645
989
  };
@@ -648,6 +992,21 @@ declare const createGqlElementComposer: <TSchema extends AnyGraphqlSchema, TFrag
648
992
  } & ExtractHelpers<TAdapter>>;
649
993
  //#endregion
650
994
  //#region packages/core/src/composer/operation.d.ts
995
+ /**
996
+ * Creates a factory for composing GraphQL operations.
997
+ *
998
+ * Returns a curried function: first select operation type (query/mutation/subscription),
999
+ * then define the operation with name, variables, and fields.
1000
+ *
1001
+ * Handles metadata aggregation from fragments (sync or async) and builds
1002
+ * the TypedDocumentNode automatically.
1003
+ *
1004
+ * @param schema - The GraphQL schema definition
1005
+ * @param adapter - Optional metadata adapter for custom metadata handling
1006
+ * @returns Operation type selector function
1007
+ *
1008
+ * @internal Used by `createGqlElementComposer`
1009
+ */
651
1010
  declare const createOperationComposerFactory: <TSchema extends AnyGraphqlSchema, TAdapter extends AnyMetadataAdapter = DefaultMetadataAdapter>(schema: NoInfer<TSchema>, adapter?: TAdapter) => <TOperationType extends OperationType>(operationType: TOperationType) => <TOperationName extends string, TFields extends AnyFields, TVarDefinitions extends InputTypeSpecifiers = {}, TOperationMetadata = unknown>(options: {
652
1011
  name: TOperationName;
653
1012
  variables?: TVarDefinitions;
@@ -660,7 +1019,7 @@ declare const hidden: <T>() => (() => T);
660
1019
  type Hidden<T> = () => T;
661
1020
  //#endregion
662
1021
  //#region packages/core/src/utils/wrap-by-key.d.ts
663
- declare function wrapByKey<TName$1 extends string, TValue>(name: TName$1, value: TValue): { [K in TName$1]: TValue };
1022
+ declare function wrapByKey<TName$1 extends string, TValue$1>(name: TName$1, value: TValue$1): { [K in TName$1]: TValue$1 };
664
1023
  //#endregion
665
- export { NestedUnionFieldsBuilder as $, AnyOperationOf as A, AssignableInput as At, AnyFieldSelectionFactory as B, withFragmentUsageCollection as C, FieldSelectionTemplateOf as Ct, createVarRefs as D, AnyAssignableInput as Dt, createVarAssignments as E, AnyDirectiveAttachments as Et, FragmentInferMeta as F, AnyConstAssignableInput as Ft, FieldSelectionFactoryObjectReturn as G, FieldSelectionFactories as H, GqlElement as I, AnyConstAssignableInputValue as It, FieldSelectionFactoryUnionReturn as J, FieldSelectionFactoryPrimitiveReturn as K, GqlElementAttachment as L, ConstAssignableInput as Lt, OperationInferMeta as M, AssignableInputValue as Mt, AnyFragment as N, AssigningInput as Nt, createFieldFactories as O, AnyAssignableInputValue as Ot, Fragment as P, AnyConstDirectiveAttachments as Pt, NestedObjectFieldsBuilderTools as Q, GqlElementContext as R, ConstAssignableInputValue as Rt, recordFragmentUsage as S, AnyNestedUnion as St, createGqlFragmentComposers as T, InferFields as Tt, FieldSelectionFactory as U, AnyFieldSelectionFactoryReturn as V, FieldSelectionFactoryFieldArguments as W, FieldsBuilderTools as X, FieldsBuilder as Y, NestedObjectFieldsBuilder as Z, VarSpecifier as _, buildWithTypeModifier as _t, ExtractMetadataAdapter as a, ColocateHelper as at, createVarMethodFactory as b, AnyFields as bt, GqlElementComposerOptions as c, createColocateHelper as ct, InputTypeMethods as d, Tuple as dt, EmptyObject as et, ResolveTypeFromMeta as f, UnionToIntersection as ft, VarBuilderMethods as g, buildOperationTypeNode as gt, VarBuilder as h, buildDocument as ht, createOperationComposerFactory as i, empty as it, Operation as j, AssignableInputByFieldName as jt, AnyOperation as k, AnyAssigningInput as kt, createGqlElementComposer as l, StripFunctions as lt, SchemaAwareGetValueAt as m, buildConstValueNode as mt, Hidden as n, OptionalArg as nt, FragmentBuildersAll as o, ColocatedEntries as ot, SchemaAwareGetNameAt as p, buildArgumentValue as pt, FieldSelectionFactoryReturn as q, hidden as r, SwitchIfOmittable as rt, GqlElementComposer as s, ColocatedFields as st, wrapByKey as t, IfOmittable as tt, InputTypeMethod as u, StripSymbols as ut, createVarBuilder as v, AbstractFieldSelection as vt, FragmentBuilderFor as w, InferField as wt, FragmentUsageRecord as x, AnyNestedObject as xt, createVarMethod as y, AnyFieldSelection as yt, GqlElementDefinitionFactory as z, GetAssignableType as zt };
666
- //# sourceMappingURL=index--8Kj3mIU.d.cts.map
1024
+ export { NestedUnionFieldsBuilder as $, AnyOperationOf as A, AnyAssignableInput as At, AnyFieldSelectionFactory as B, ConstAssignableInput as Bt, withFragmentUsageCollection as C, AnyFields as Ct, createVarRefs as D, InferField as Dt, createVarAssignments as E, FieldSelectionTemplateOf as Et, FragmentInferMeta as F, DeclaredVariables as Ft, FieldSelectionFactoryObjectReturn as G, FieldSelectionFactories as H, GetAssignableType as Ht, GqlElement as I, FieldArgumentValue as It, FieldSelectionFactoryUnionReturn as J, FieldSelectionFactoryPrimitiveReturn as K, GqlElementAttachment as L, AnyConstDirectiveAttachments as Lt, OperationInferMeta as M, AnyAssigningInput as Mt, AnyFragment as N, AssignableInput as Nt, createFieldFactories as O, InferFields as Ot, Fragment as P, AssignableInputByFieldName as Pt, NestedObjectFieldsBuilderTools as Q, GqlElementContext as R, AnyConstAssignableInput as Rt, recordFragmentUsage as S, AnyFieldSelection as St, createGqlFragmentComposers as T, AnyNestedUnion as Tt, FieldSelectionFactory as U, AnyFieldSelectionFactoryReturn as V, ConstAssignableInputValue as Vt, FieldSelectionFactoryFieldArguments as W, FieldsBuilderTools as X, FieldsBuilder as Y, NestedObjectFieldsBuilder as Z, VarSpecifier as _, buildConstValueNode as _t, ExtractMetadataAdapter as a, AttachmentShape as at, createVarMethodFactory as b, buildWithTypeModifier as bt, GqlElementComposerOptions as c, ColocateHelper as ct, InputTypeMethods as d, createColocateHelper as dt, EmptyObject as et, ResolveTypeFromMeta as f, StripFunctions as ft, VarBuilderMethods as g, buildArgumentValue as gt, VarBuilder as h, UnionToIntersection as ht, createOperationComposerFactory as i, empty as it, Operation as j, AnyAssignableInputValue as jt, AnyOperation as k, AnyDirectiveAttachments as kt, createGqlElementComposer as l, ColocatedEntries as lt, SchemaAwareGetValueAt as m, Tuple as mt, Hidden as n, OptionalArg as nt, FragmentBuildersAll as o, AttachmentToProperty as ot, SchemaAwareGetNameAt as p, StripSymbols as pt, FieldSelectionFactoryReturn as q, hidden as r, SwitchIfOmittable as rt, GqlElementComposer as s, AttachmentsTupleToIntersection as st, wrapByKey as t, IfOmittable as tt, InputTypeMethod as u, ColocatedFields as ut, createVarBuilder as v, buildDocument as vt, FragmentBuilderFor as w, AnyNestedObject as wt, FragmentUsageRecord as x, AbstractFieldSelection as xt, createVarMethod as y, buildOperationTypeNode as yt, GqlElementDefinitionFactory as z, AnyConstAssignableInputValue as zt };
1025
+ //# sourceMappingURL=index-tyIBKIKa.d.ts.map