@soda-gql/core 0.8.2 → 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.
Files changed (34) hide show
  1. package/README.md +67 -0
  2. package/dist/adapter.cjs +50 -3
  3. package/dist/adapter.cjs.map +1 -1
  4. package/dist/adapter.d.cts +52 -5
  5. package/dist/adapter.d.cts.map +1 -1
  6. package/dist/adapter.d.ts +52 -5
  7. package/dist/adapter.d.ts.map +1 -1
  8. package/dist/adapter.js +50 -3
  9. package/dist/adapter.js.map +1 -1
  10. package/dist/{index-CGLXqMlv.d.cts → index-B_TU5U2U.d.ts} +194 -15
  11. package/dist/index-B_TU5U2U.d.ts.map +1 -0
  12. package/dist/{schema-2qqtKss4.d.ts → index-BlVgxrXb.d.ts} +371 -300
  13. package/dist/index-BlVgxrXb.d.ts.map +1 -0
  14. package/dist/{index-tyIBKIKa.d.ts → index-_6fYTfcA.d.cts} +194 -15
  15. package/dist/index-_6fYTfcA.d.cts.map +1 -0
  16. package/dist/{schema-CPTxQbTv.d.cts → index-zCOsREx0.d.cts} +371 -300
  17. package/dist/index-zCOsREx0.d.cts.map +1 -0
  18. package/dist/index.cjs +234 -41
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +4 -4
  21. package/dist/index.d.ts +4 -4
  22. package/dist/index.js +231 -42
  23. package/dist/index.js.map +1 -1
  24. package/dist/runtime.d.cts +2 -2
  25. package/dist/runtime.d.ts +2 -2
  26. package/dist/{schema-builder-BYJd50o2.d.cts → schema-builder-BI5PQkH7.d.cts} +2 -2
  27. package/dist/{schema-builder-BYJd50o2.d.cts.map → schema-builder-BI5PQkH7.d.cts.map} +1 -1
  28. package/dist/{schema-builder-Dhss2O1I.d.ts → schema-builder-CF_AwsOM.d.ts} +2 -2
  29. package/dist/{schema-builder-Dhss2O1I.d.ts.map → schema-builder-CF_AwsOM.d.ts.map} +1 -1
  30. package/package.json +1 -1
  31. package/dist/index-CGLXqMlv.d.cts.map +0 -1
  32. package/dist/index-tyIBKIKa.d.ts.map +0 -1
  33. package/dist/schema-2qqtKss4.d.ts.map +0 -1
  34. package/dist/schema-CPTxQbTv.d.cts.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as NestedValueElement, A as InputDepthOverrides, At as appendToPath, B as FragmentMetaInfo, C as ObjectTypeProfile, Ct as GetSignature, D as DefaultDepth, Dt as ConstValues, E as DecrementDepth, Et as ConstValue, F as AnyMetadataAdapter, G as FragmentMetadataBuilder, H as createDefaultAdapter, I as DefaultAdapter, J as MetadataBuilderTools, K as FragmentMetadataBuilderTools, L as DefaultMetadataAdapter, M as NumberToDepth, Mt as isListType, N as Adapter, Nt as withFieldPath, O as DepthCounter, Ot as FieldPath, P as AnyAdapter, Q as NestedValue, R as ExtractAdapterTypes, S as GetModifiedType, St as ApplyTypeModifier, T as TypeProfile, Tt as ValidTypeModifier, U as defaultMetadataAdapter, V as MetadataAdapter, W as ExtractMetadata, X as AnyVarRef, Y as OperationMetadata, Z as AnyVarRefBrand, _ as ScalarDefinition, _t as OutputTypeKind, a as EnumDefinition, at as AnyTypeSpecifier, b as UnionTypeRecord, bt as OutputTypenameSpecifier, c as InferOutputProfile, ct as InputInputObjectSpecifier, d as ObjectDefinition, 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, j as IsDepthExhausted, jt as getCurrentFieldPath, k as GetInputTypeDepth, kt as FieldPathSegment, l as InputDefinition, lt as InputScalarSpecifier, m as OperationType, mt as OutputInferrableTypeSpecifier, n as AnyFieldName, nt as createVarRefFromNestedValue, o as InferInputKind, ot as InputEnumSpecifier, p as OperationRoots, pt as OutputEnumSpecifier, q as MetadataBuilder, r as AnyGraphqlSchema, rt as createVarRefFromVariable, s as InferInputProfile, st as InputInferrableTypeSpecifier, t as AllInputTypeNames, tt as VarRefInner, u as InputFieldRecord, ut as InputTypeKind, v as UnionDefinition, vt as OutputTypeSpecifier, w as PrimitiveTypeProfile, wt as TypeModifier, x as GetConstAssignableType, xt as OutputUnionSpecifier, y as UnionMemberName, yt as OutputTypeSpecifiers, z as ExtractUnifiedAdapterTypes } from "./schema-CPTxQbTv.cjs";
2
- import { $ as NestedUnionFieldsBuilder, A as AnyOperationOf, At as AnyAssignableInput, B as AnyFieldSelectionFactory, Bt as ConstAssignableInput, C as withFragmentUsageCollection, Ct as AnyFields, D as createVarRefs, Dt as InferField, E as createVarAssignments, Et as FieldSelectionTemplateOf, F as FragmentInferMeta, Ft as DeclaredVariables, G as FieldSelectionFactoryObjectReturn, H as FieldSelectionFactories, Ht as GetAssignableType, I as GqlElement, It as FieldArgumentValue, J as FieldSelectionFactoryUnionReturn, K as FieldSelectionFactoryPrimitiveReturn, L as GqlElementAttachment, Lt as AnyConstDirectiveAttachments, M as OperationInferMeta, Mt as AnyAssigningInput, N as AnyFragment, Nt as AssignableInput, O as createFieldFactories, Ot as InferFields, P as Fragment, Pt as AssignableInputByFieldName, Q as NestedObjectFieldsBuilderTools, R as GqlElementContext, Rt as AnyConstAssignableInput, S as recordFragmentUsage, St as AnyFieldSelection, T as createGqlFragmentComposers, Tt as AnyNestedUnion, U as FieldSelectionFactory, V as AnyFieldSelectionFactoryReturn, Vt as ConstAssignableInputValue, W as FieldSelectionFactoryFieldArguments, X as FieldsBuilderTools, Y as FieldsBuilder, Z as NestedObjectFieldsBuilder, _ as VarSpecifier, _t as buildConstValueNode, a as ExtractMetadataAdapter, at as AttachmentShape, b as createVarMethodFactory, bt as buildWithTypeModifier, c as GqlElementComposerOptions, ct as ColocateHelper, d as InputTypeMethods, dt as createColocateHelper, et as EmptyObject, f as ResolveTypeFromMeta, ft as StripFunctions, g as VarBuilderMethods, gt as buildArgumentValue, h as VarBuilder, ht as UnionToIntersection, i as createOperationComposerFactory, it as empty, j as Operation, jt as AnyAssignableInputValue, k as AnyOperation, kt as AnyDirectiveAttachments, l as createGqlElementComposer, lt as ColocatedEntries, m as SchemaAwareGetValueAt, mt as Tuple, n as Hidden, nt as OptionalArg, o as FragmentBuildersAll, ot as AttachmentToProperty, p as SchemaAwareGetNameAt, pt as StripSymbols, q as FieldSelectionFactoryReturn, r as hidden, rt as SwitchIfOmittable, s as GqlElementComposer, st as AttachmentsTupleToIntersection, t as wrapByKey, tt as IfOmittable, u as InputTypeMethod, ut as ColocatedFields, v as createVarBuilder, vt as buildDocument, w as FragmentBuilderFor, wt as AnyNestedObject, x as FragmentUsageRecord, xt as AbstractFieldSelection, y as createVarMethod, yt as buildOperationTypeNode, z as GqlElementDefinitionFactory, zt as AnyConstAssignableInputValue } from "./index-CGLXqMlv.cjs";
3
- import { n as defineOperationRoots, r as defineScalar, t as define } from "./schema-builder-BYJd50o2.cjs";
1
+ import { $ as InputInferrableTypeSpecifier, A as InputDefinition, At as ConstValue, B as UnionMemberName, C as AnyFieldName, Ct as DecrementDepth, D as InferInputKind, Dt as InputDepthOverrides, E as EnumDefinition, Et as GetInputTypeDepth, F as OperationType, Ft as getCurrentFieldPath, G as NestedValueElement, H as AnyVarRef, I as PickTypeSpecifierByFieldName, It as isListType, J as createVarRefFromNestedValue, K as VarRef, L as ResolveInputProfileFromMeta, Lt as withFieldPath, M as ObjectDefinition, Mt as FieldPath, N as ObjectFieldRecord, Nt as FieldPathSegment, O as InferInputProfile, Ot as IsDepthExhausted, P as OperationRoots, Pt as appendToPath, Q as InputEnumSpecifier, R as ScalarDefinition, S as AllInputTypeNames, St as ValidTypeModifier, T as AnyTypeName, Tt as DepthCounter, U as AnyVarRefBrand, V as UnionTypeRecord, W as NestedValue, X as AnyDefaultValue, Y as createVarRefFromVariable, Z as AnyTypeSpecifier, _ as FragmentMetadataBuilder, _t as PrimitiveTypeProfile, a as DefaultMetadataAdapter, at as OutputEnumSpecifier, b as MetadataBuilderTools, bt as GetSignature, c as ExtractAdapterTypes, ct as OutputScalarSpecifier, d as MetadataAdapter, dt as OutputTypeSpecifiers, et as InputInputObjectSpecifier, f as OperationDocumentTransformArgs, ft as OutputTypenameSpecifier, g as ExtractMetadata, gt as ObjectTypeProfile, h as defaultMetadataAdapter, ht as GetModifiedType, i as DefaultAdapter, it as InputTypeSpecifiers, j as InputFieldRecord, jt as ConstValues, k as InferOutputProfile, kt as NumberToDepth, l as ExtractUnifiedAdapterTypes, lt as OutputTypeKind, m as createDefaultAdapter, mt as GetConstAssignableType, n as AnyAdapter, nt as InputTypeKind, o as DocumentTransformArgs, ot as OutputInferrableTypeSpecifier, p as OperationDocumentTransformer, pt as OutputUnionSpecifier, q as VarRefInner, r as AnyMetadataAdapter, rt as InputTypeSpecifier, s as DocumentTransformer, st as OutputObjectSpecifier, t as Adapter, tt as InputScalarSpecifier, u as FragmentMetaInfo, ut as OutputTypeSpecifier, v as FragmentMetadataBuilderTools, vt as TypeProfile, w as AnyGraphqlSchema, wt as DefaultDepth, x as OperationMetadata, xt as TypeModifier, y as MetadataBuilder, yt as ApplyTypeModifier, z as UnionDefinition } from "./index-zCOsREx0.cjs";
2
+ import { $ as NestedUnionFieldsBuilder, $t as AnyDirectiveRefBrand, A as AnyOperationOf, At as AbstractFieldSelection, B as AnyFieldSelectionFactory, Bt as AnyAssignableInputValue, C as withFragmentUsageCollection, Ct as Tuple, D as createVarRefs, Dt as buildDocument, E as createVarAssignments, Et as buildConstValueNode, F as FragmentInferMeta, Ft as FieldSelectionTemplateOf, G as FieldSelectionFactoryObjectReturn, Gt as FieldArgumentValue, H as FieldSelectionFactories, Ht as AssignableInput, I as GqlElement, It as InferField, J as FieldSelectionFactoryUnionReturn, Jt as AnyConstAssignableInputValue, K as FieldSelectionFactoryPrimitiveReturn, Kt as AnyConstDirectiveAttachments, L as GqlElementAttachment, Lt as InferFields, M as OperationInferMeta, Mt as AnyFields, N as AnyFragment, Nt as AnyNestedObject, O as createFieldFactories, Ot as buildOperationTypeNode, P as Fragment, Pt as AnyNestedUnion, Q as NestedObjectFieldsBuilderTools, Qt as AnyDirectiveRef, R as GqlElementContext, Rt as AnyDirectiveAttachments, S as recordFragmentUsage, St as StripSymbols, T as createGqlFragmentComposers, Tt as buildArgumentValue, U as FieldSelectionFactory, Ut as AssignableInputByFieldName, V as AnyFieldSelectionFactoryReturn, Vt as AnyAssigningInput, W as FieldSelectionFactoryFieldArguments, Wt as DeclaredVariables, X as FieldsBuilderTools, Xt as ConstAssignableInputValue, Y as FieldsBuilder, Yt as ConstAssignableInput, Z as NestedObjectFieldsBuilder, Zt as GetAssignableType, _ as VarSpecifier, _t as ColocateHelper, a as ExtractMetadataAdapter, at as AttachmentShape, b as createVarMethodFactory, bt as createColocateHelper, c as GqlElementComposerOptions, ct as AnyDirectiveMethod, d as InputTypeMethods, dt as DirectiveMethod, en as DirectiveLocation, et as EmptyObject, f as ResolveTypeFromMeta, ft as StandardDirectives, g as VarBuilderMethods, gt as isDirectiveRef, h as VarBuilder, ht as createStandardDirectives, i as createOperationComposerFactory, it as empty, j as Operation, jt as AnyFieldSelection, k as AnyOperation, kt as buildWithTypeModifier, l as createGqlElementComposer, lt as DirectiveArgValue, m as SchemaAwareGetValueAt, mt as createDirectiveMethod, n as Hidden, nn as DirectiveRefInner, nt as OptionalArg, o as FragmentBuildersAll, ot as AttachmentToProperty, p as SchemaAwareGetNameAt, pt as createDirectiveBuilder, q as FieldSelectionFactoryReturn, qt as AnyConstAssignableInput, r as hidden, rt as SwitchIfOmittable, s as GqlElementComposer, st as AttachmentsTupleToIntersection, t as wrapByKey, tn as DirectiveRef, tt as IfOmittable, u as InputTypeMethod, ut as DirectiveBuilder, v as createVarBuilder, vt as ColocatedEntries, w as FragmentBuilderFor, wt as UnionToIntersection, x as FragmentUsageRecord, xt as StripFunctions, y as createVarMethod, yt as ColocatedFields, z as GqlElementDefinitionFactory, zt as AnyAssignableInput } from "./index-_6fYTfcA.cjs";
3
+ import { n as defineOperationRoots, r as defineScalar, t as define } from "./schema-builder-BI5PQkH7.cjs";
4
4
 
5
5
  //#region packages/core/src/types/type-foundation/modified-type-name.d.ts
6
6
  type ModifiedTypeName<TNameCandidate extends [string], TName extends TNameCandidate[0], TModifier extends TypeModifier> = [string] extends TNameCandidate ? `${TName}:${TModifier}` : TNameCandidate extends [TName] ?
@@ -132,5 +132,5 @@ declare const unsafeOutputType: {
132
132
  };
133
133
  };
134
134
  //#endregion
135
- export { AbstractFieldSelection, Adapter, AllInputTypeNames, AnyAdapter, AnyAssignableInput, AnyAssignableInputValue, AnyAssigningInput, AnyConstAssignableInput, AnyConstAssignableInputValue, AnyConstDirectiveAttachments, AnyDefaultValue, AnyDirectiveAttachments, AnyFieldName, AnyFieldSelection, AnyFieldSelectionFactory, AnyFieldSelectionFactoryReturn, AnyFields, AnyFragment, AnyGraphqlSchema, AnyMetadataAdapter, AnyNestedObject, AnyNestedUnion, AnyOperation, AnyOperationOf, AnyTypeName, AnyTypeSpecifier, AnyVarRef, AnyVarRefBrand, ApplyTypeModifier, AssignableInput, AssignableInputByFieldName, AttachmentShape, AttachmentToProperty, AttachmentsTupleToIntersection, ColocateHelper, ColocatedEntries, ColocatedFields, ConstAssignableInput, ConstAssignableInputValue, ConstValue, ConstValues, DeclaredVariables, DecrementDepth, DefaultAdapter, DefaultDepth, DefaultMetadataAdapter, DepthCounter, EmptyObject, EnumDefinition, ExtractAdapterTypes, ExtractMetadata, ExtractMetadataAdapter, ExtractUnifiedAdapterTypes, FieldArgumentValue, FieldPath, FieldPathSegment, FieldSelectionFactories, FieldSelectionFactory, FieldSelectionFactoryFieldArguments, FieldSelectionFactoryObjectReturn, FieldSelectionFactoryPrimitiveReturn, FieldSelectionFactoryReturn, FieldSelectionFactoryUnionReturn, FieldSelectionTemplateOf, FieldsBuilder, FieldsBuilderTools, Fragment, FragmentBuilderFor, FragmentBuildersAll, FragmentInferMeta, FragmentMetaInfo, FragmentMetadataBuilder, FragmentMetadataBuilderTools, FragmentUsageRecord, GetAssignableType, GetConstAssignableType, GetInputTypeDepth, GetModifiedType, GetSignature, GqlElement, GqlElementAttachment, GqlElementComposer, GqlElementComposerOptions, GqlElementContext, GqlElementDefinitionFactory, Hidden, IfOmittable, InferField, InferFields, InferInputKind, InferInputProfile, InferOutputProfile, InputDefinition, InputDepthOverrides, InputEnumSpecifier, InputFieldRecord, InputInferrableTypeSpecifier, InputInputObjectSpecifier, InputScalarSpecifier, InputTypeKind, InputTypeMethod, InputTypeMethods, InputTypeSpecifier, InputTypeSpecifiers, IsDepthExhausted, MetadataAdapter, MetadataBuilder, MetadataBuilderTools, ModifiedTypeName, NestedObjectFieldsBuilder, NestedObjectFieldsBuilderTools, NestedUnionFieldsBuilder, NestedValue, NestedValueElement, NumberToDepth, ObjectDefinition, ObjectFieldRecord, ObjectTypeProfile, Operation, OperationInferMeta, OperationMetadata, OperationRoots, OperationType, OptionalArg, OutputEnumSpecifier, OutputInferrableTypeSpecifier, OutputObjectSpecifier, OutputScalarSpecifier, OutputTypeKind, OutputTypeSpecifier, OutputTypeSpecifiers, OutputTypenameSpecifier, OutputUnionSpecifier, PickTypeSpecifierByFieldName, PrimitiveTypeProfile, ResolveInputProfileFromMeta, ResolveTypeFromMeta, ScalarDefinition, SchemaAwareGetNameAt, SchemaAwareGetValueAt, StripFunctions, StripSymbols, SwitchIfOmittable, Tuple, TypeModifier, TypeProfile, UnionDefinition, UnionMemberName, UnionToIntersection, UnionTypeRecord, ValidTypeModifier, VarBuilder, VarBuilderMethods, VarRef, VarRefInner, VarSpecifier, appendToPath, buildArgumentValue, buildConstValueNode, buildDocument, buildOperationTypeNode, buildWithTypeModifier, createColocateHelper, createDefaultAdapter, createFieldFactories, createGqlElementComposer, createGqlFragmentComposers, createOperationComposerFactory, createVarAssignments, createVarBuilder, createVarMethod, createVarMethodFactory, createVarRefFromNestedValue, createVarRefFromVariable, createVarRefs, defaultMetadataAdapter, define, defineOperationRoots, defineScalar, empty, getCurrentFieldPath, hidden, isListType, parseModifiedTypeName, recordFragmentUsage, unsafeInputType, unsafeOutputType, withFieldPath, withFragmentUsageCollection, wrapByKey };
135
+ export { AbstractFieldSelection, Adapter, AllInputTypeNames, AnyAdapter, AnyAssignableInput, AnyAssignableInputValue, AnyAssigningInput, AnyConstAssignableInput, AnyConstAssignableInputValue, AnyConstDirectiveAttachments, AnyDefaultValue, AnyDirectiveAttachments, AnyDirectiveMethod, AnyDirectiveRef, AnyDirectiveRefBrand, AnyFieldName, AnyFieldSelection, AnyFieldSelectionFactory, AnyFieldSelectionFactoryReturn, AnyFields, AnyFragment, AnyGraphqlSchema, AnyMetadataAdapter, AnyNestedObject, AnyNestedUnion, AnyOperation, AnyOperationOf, AnyTypeName, AnyTypeSpecifier, AnyVarRef, AnyVarRefBrand, ApplyTypeModifier, AssignableInput, AssignableInputByFieldName, AttachmentShape, AttachmentToProperty, AttachmentsTupleToIntersection, ColocateHelper, ColocatedEntries, ColocatedFields, ConstAssignableInput, ConstAssignableInputValue, ConstValue, ConstValues, DeclaredVariables, DecrementDepth, DefaultAdapter, DefaultDepth, DefaultMetadataAdapter, DepthCounter, DirectiveArgValue, DirectiveBuilder, DirectiveLocation, DirectiveMethod, DirectiveRef, DirectiveRefInner, DocumentTransformArgs, DocumentTransformer, EmptyObject, EnumDefinition, ExtractAdapterTypes, ExtractMetadata, ExtractMetadataAdapter, ExtractUnifiedAdapterTypes, FieldArgumentValue, FieldPath, FieldPathSegment, FieldSelectionFactories, FieldSelectionFactory, FieldSelectionFactoryFieldArguments, FieldSelectionFactoryObjectReturn, FieldSelectionFactoryPrimitiveReturn, FieldSelectionFactoryReturn, FieldSelectionFactoryUnionReturn, FieldSelectionTemplateOf, FieldsBuilder, FieldsBuilderTools, Fragment, FragmentBuilderFor, FragmentBuildersAll, FragmentInferMeta, FragmentMetaInfo, FragmentMetadataBuilder, FragmentMetadataBuilderTools, FragmentUsageRecord, GetAssignableType, GetConstAssignableType, GetInputTypeDepth, GetModifiedType, GetSignature, GqlElement, GqlElementAttachment, GqlElementComposer, GqlElementComposerOptions, GqlElementContext, GqlElementDefinitionFactory, Hidden, IfOmittable, InferField, InferFields, InferInputKind, InferInputProfile, InferOutputProfile, InputDefinition, InputDepthOverrides, InputEnumSpecifier, InputFieldRecord, InputInferrableTypeSpecifier, InputInputObjectSpecifier, InputScalarSpecifier, InputTypeKind, InputTypeMethod, InputTypeMethods, InputTypeSpecifier, InputTypeSpecifiers, IsDepthExhausted, MetadataAdapter, MetadataBuilder, MetadataBuilderTools, ModifiedTypeName, NestedObjectFieldsBuilder, NestedObjectFieldsBuilderTools, NestedUnionFieldsBuilder, NestedValue, NestedValueElement, NumberToDepth, ObjectDefinition, ObjectFieldRecord, ObjectTypeProfile, Operation, OperationDocumentTransformArgs, OperationDocumentTransformer, OperationInferMeta, OperationMetadata, OperationRoots, OperationType, OptionalArg, OutputEnumSpecifier, OutputInferrableTypeSpecifier, OutputObjectSpecifier, OutputScalarSpecifier, OutputTypeKind, OutputTypeSpecifier, OutputTypeSpecifiers, OutputTypenameSpecifier, OutputUnionSpecifier, PickTypeSpecifierByFieldName, PrimitiveTypeProfile, ResolveInputProfileFromMeta, ResolveTypeFromMeta, ScalarDefinition, SchemaAwareGetNameAt, SchemaAwareGetValueAt, StandardDirectives, StripFunctions, StripSymbols, SwitchIfOmittable, Tuple, TypeModifier, TypeProfile, UnionDefinition, UnionMemberName, UnionToIntersection, UnionTypeRecord, ValidTypeModifier, VarBuilder, VarBuilderMethods, VarRef, VarRefInner, VarSpecifier, appendToPath, buildArgumentValue, buildConstValueNode, buildDocument, buildOperationTypeNode, buildWithTypeModifier, createColocateHelper, createDefaultAdapter, createDirectiveBuilder, createDirectiveMethod, createFieldFactories, createGqlElementComposer, createGqlFragmentComposers, createOperationComposerFactory, createStandardDirectives, createVarAssignments, createVarBuilder, createVarMethod, createVarMethodFactory, createVarRefFromNestedValue, createVarRefFromVariable, createVarRefs, defaultMetadataAdapter, define, defineOperationRoots, defineScalar, empty, getCurrentFieldPath, hidden, isDirectiveRef, isListType, parseModifiedTypeName, recordFragmentUsage, unsafeInputType, unsafeOutputType, withFieldPath, withFragmentUsageCollection, wrapByKey };
136
136
  //# sourceMappingURL=index.d.cts.map
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as NestedValueElement, A as InputDepthOverrides, At as appendToPath, B as FragmentMetaInfo, C as ObjectTypeProfile, Ct as GetSignature, D as DefaultDepth, Dt as ConstValues, E as DecrementDepth, Et as ConstValue, F as AnyMetadataAdapter, G as FragmentMetadataBuilder, H as createDefaultAdapter, I as DefaultAdapter, J as MetadataBuilderTools, K as FragmentMetadataBuilderTools, L as DefaultMetadataAdapter, M as NumberToDepth, Mt as isListType, N as Adapter, Nt as withFieldPath, O as DepthCounter, Ot as FieldPath, P as AnyAdapter, Q as NestedValue, R as ExtractAdapterTypes, S as GetModifiedType, St as ApplyTypeModifier, T as TypeProfile, Tt as ValidTypeModifier, U as defaultMetadataAdapter, V as MetadataAdapter, W as ExtractMetadata, X as AnyVarRef, Y as OperationMetadata, Z as AnyVarRefBrand, _ as ScalarDefinition, _t as OutputTypeKind, a as EnumDefinition, at as AnyTypeSpecifier, b as UnionTypeRecord, bt as OutputTypenameSpecifier, c as InferOutputProfile, ct as InputInputObjectSpecifier, d as ObjectDefinition, 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, j as IsDepthExhausted, jt as getCurrentFieldPath, k as GetInputTypeDepth, kt as FieldPathSegment, l as InputDefinition, lt as InputScalarSpecifier, m as OperationType, mt as OutputInferrableTypeSpecifier, n as AnyFieldName, nt as createVarRefFromNestedValue, o as InferInputKind, ot as InputEnumSpecifier, p as OperationRoots, pt as OutputEnumSpecifier, q as MetadataBuilder, r as AnyGraphqlSchema, rt as createVarRefFromVariable, s as InferInputProfile, st as InputInferrableTypeSpecifier, t as AllInputTypeNames, tt as VarRefInner, u as InputFieldRecord, ut as InputTypeKind, v as UnionDefinition, vt as OutputTypeSpecifier, w as PrimitiveTypeProfile, wt as TypeModifier, x as GetConstAssignableType, xt as OutputUnionSpecifier, y as UnionMemberName, yt as OutputTypeSpecifiers, z as ExtractUnifiedAdapterTypes } from "./schema-2qqtKss4.js";
2
- import { $ as NestedUnionFieldsBuilder, A as AnyOperationOf, At as AnyAssignableInput, B as AnyFieldSelectionFactory, Bt as ConstAssignableInput, C as withFragmentUsageCollection, Ct as AnyFields, D as createVarRefs, Dt as InferField, E as createVarAssignments, Et as FieldSelectionTemplateOf, F as FragmentInferMeta, Ft as DeclaredVariables, G as FieldSelectionFactoryObjectReturn, H as FieldSelectionFactories, Ht as GetAssignableType, I as GqlElement, It as FieldArgumentValue, J as FieldSelectionFactoryUnionReturn, K as FieldSelectionFactoryPrimitiveReturn, L as GqlElementAttachment, Lt as AnyConstDirectiveAttachments, M as OperationInferMeta, Mt as AnyAssigningInput, N as AnyFragment, Nt as AssignableInput, O as createFieldFactories, Ot as InferFields, P as Fragment, Pt as AssignableInputByFieldName, Q as NestedObjectFieldsBuilderTools, R as GqlElementContext, Rt as AnyConstAssignableInput, S as recordFragmentUsage, St as AnyFieldSelection, T as createGqlFragmentComposers, Tt as AnyNestedUnion, U as FieldSelectionFactory, V as AnyFieldSelectionFactoryReturn, Vt as ConstAssignableInputValue, W as FieldSelectionFactoryFieldArguments, X as FieldsBuilderTools, Y as FieldsBuilder, Z as NestedObjectFieldsBuilder, _ as VarSpecifier, _t as buildConstValueNode, a as ExtractMetadataAdapter, at as AttachmentShape, b as createVarMethodFactory, bt as buildWithTypeModifier, c as GqlElementComposerOptions, ct as ColocateHelper, d as InputTypeMethods, dt as createColocateHelper, et as EmptyObject, f as ResolveTypeFromMeta, ft as StripFunctions, g as VarBuilderMethods, gt as buildArgumentValue, h as VarBuilder, ht as UnionToIntersection, i as createOperationComposerFactory, it as empty, j as Operation, jt as AnyAssignableInputValue, k as AnyOperation, kt as AnyDirectiveAttachments, l as createGqlElementComposer, lt as ColocatedEntries, m as SchemaAwareGetValueAt, mt as Tuple, n as Hidden, nt as OptionalArg, o as FragmentBuildersAll, ot as AttachmentToProperty, p as SchemaAwareGetNameAt, pt as StripSymbols, q as FieldSelectionFactoryReturn, r as hidden, rt as SwitchIfOmittable, s as GqlElementComposer, st as AttachmentsTupleToIntersection, t as wrapByKey, tt as IfOmittable, u as InputTypeMethod, ut as ColocatedFields, v as createVarBuilder, vt as buildDocument, w as FragmentBuilderFor, wt as AnyNestedObject, x as FragmentUsageRecord, xt as AbstractFieldSelection, y as createVarMethod, yt as buildOperationTypeNode, z as GqlElementDefinitionFactory, zt as AnyConstAssignableInputValue } from "./index-tyIBKIKa.js";
3
- import { n as defineOperationRoots, r as defineScalar, t as define } from "./schema-builder-Dhss2O1I.js";
1
+ import { $ as InputInferrableTypeSpecifier, A as InputDefinition, At as ConstValue, B as UnionMemberName, C as AnyFieldName, Ct as DecrementDepth, D as InferInputKind, Dt as InputDepthOverrides, E as EnumDefinition, Et as GetInputTypeDepth, F as OperationType, Ft as getCurrentFieldPath, G as NestedValueElement, H as AnyVarRef, I as PickTypeSpecifierByFieldName, It as isListType, J as createVarRefFromNestedValue, K as VarRef, L as ResolveInputProfileFromMeta, Lt as withFieldPath, M as ObjectDefinition, Mt as FieldPath, N as ObjectFieldRecord, Nt as FieldPathSegment, O as InferInputProfile, Ot as IsDepthExhausted, P as OperationRoots, Pt as appendToPath, Q as InputEnumSpecifier, R as ScalarDefinition, S as AllInputTypeNames, St as ValidTypeModifier, T as AnyTypeName, Tt as DepthCounter, U as AnyVarRefBrand, V as UnionTypeRecord, W as NestedValue, X as AnyDefaultValue, Y as createVarRefFromVariable, Z as AnyTypeSpecifier, _ as FragmentMetadataBuilder, _t as PrimitiveTypeProfile, a as DefaultMetadataAdapter, at as OutputEnumSpecifier, b as MetadataBuilderTools, bt as GetSignature, c as ExtractAdapterTypes, ct as OutputScalarSpecifier, d as MetadataAdapter, dt as OutputTypeSpecifiers, et as InputInputObjectSpecifier, f as OperationDocumentTransformArgs, ft as OutputTypenameSpecifier, g as ExtractMetadata, gt as ObjectTypeProfile, h as defaultMetadataAdapter, ht as GetModifiedType, i as DefaultAdapter, it as InputTypeSpecifiers, j as InputFieldRecord, jt as ConstValues, k as InferOutputProfile, kt as NumberToDepth, l as ExtractUnifiedAdapterTypes, lt as OutputTypeKind, m as createDefaultAdapter, mt as GetConstAssignableType, n as AnyAdapter, nt as InputTypeKind, o as DocumentTransformArgs, ot as OutputInferrableTypeSpecifier, p as OperationDocumentTransformer, pt as OutputUnionSpecifier, q as VarRefInner, r as AnyMetadataAdapter, rt as InputTypeSpecifier, s as DocumentTransformer, st as OutputObjectSpecifier, t as Adapter, tt as InputScalarSpecifier, u as FragmentMetaInfo, ut as OutputTypeSpecifier, v as FragmentMetadataBuilderTools, vt as TypeProfile, w as AnyGraphqlSchema, wt as DefaultDepth, x as OperationMetadata, xt as TypeModifier, y as MetadataBuilder, yt as ApplyTypeModifier, z as UnionDefinition } from "./index-BlVgxrXb.js";
2
+ import { $ as NestedUnionFieldsBuilder, $t as AnyDirectiveRefBrand, A as AnyOperationOf, At as AbstractFieldSelection, B as AnyFieldSelectionFactory, Bt as AnyAssignableInputValue, C as withFragmentUsageCollection, Ct as Tuple, D as createVarRefs, Dt as buildDocument, E as createVarAssignments, Et as buildConstValueNode, F as FragmentInferMeta, Ft as FieldSelectionTemplateOf, G as FieldSelectionFactoryObjectReturn, Gt as FieldArgumentValue, H as FieldSelectionFactories, Ht as AssignableInput, I as GqlElement, It as InferField, J as FieldSelectionFactoryUnionReturn, Jt as AnyConstAssignableInputValue, K as FieldSelectionFactoryPrimitiveReturn, Kt as AnyConstDirectiveAttachments, L as GqlElementAttachment, Lt as InferFields, M as OperationInferMeta, Mt as AnyFields, N as AnyFragment, Nt as AnyNestedObject, O as createFieldFactories, Ot as buildOperationTypeNode, P as Fragment, Pt as AnyNestedUnion, Q as NestedObjectFieldsBuilderTools, Qt as AnyDirectiveRef, R as GqlElementContext, Rt as AnyDirectiveAttachments, S as recordFragmentUsage, St as StripSymbols, T as createGqlFragmentComposers, Tt as buildArgumentValue, U as FieldSelectionFactory, Ut as AssignableInputByFieldName, V as AnyFieldSelectionFactoryReturn, Vt as AnyAssigningInput, W as FieldSelectionFactoryFieldArguments, Wt as DeclaredVariables, X as FieldsBuilderTools, Xt as ConstAssignableInputValue, Y as FieldsBuilder, Yt as ConstAssignableInput, Z as NestedObjectFieldsBuilder, Zt as GetAssignableType, _ as VarSpecifier, _t as ColocateHelper, a as ExtractMetadataAdapter, at as AttachmentShape, b as createVarMethodFactory, bt as createColocateHelper, c as GqlElementComposerOptions, ct as AnyDirectiveMethod, d as InputTypeMethods, dt as DirectiveMethod, en as DirectiveLocation, et as EmptyObject, f as ResolveTypeFromMeta, ft as StandardDirectives, g as VarBuilderMethods, gt as isDirectiveRef, h as VarBuilder, ht as createStandardDirectives, i as createOperationComposerFactory, it as empty, j as Operation, jt as AnyFieldSelection, k as AnyOperation, kt as buildWithTypeModifier, l as createGqlElementComposer, lt as DirectiveArgValue, m as SchemaAwareGetValueAt, mt as createDirectiveMethod, n as Hidden, nn as DirectiveRefInner, nt as OptionalArg, o as FragmentBuildersAll, ot as AttachmentToProperty, p as SchemaAwareGetNameAt, pt as createDirectiveBuilder, q as FieldSelectionFactoryReturn, qt as AnyConstAssignableInput, r as hidden, rt as SwitchIfOmittable, s as GqlElementComposer, st as AttachmentsTupleToIntersection, t as wrapByKey, tn as DirectiveRef, tt as IfOmittable, u as InputTypeMethod, ut as DirectiveBuilder, v as createVarBuilder, vt as ColocatedEntries, w as FragmentBuilderFor, wt as UnionToIntersection, x as FragmentUsageRecord, xt as StripFunctions, y as createVarMethod, yt as ColocatedFields, z as GqlElementDefinitionFactory, zt as AnyAssignableInput } from "./index-B_TU5U2U.js";
3
+ import { n as defineOperationRoots, r as defineScalar, t as define } from "./schema-builder-CF_AwsOM.js";
4
4
 
5
5
  //#region packages/core/src/types/type-foundation/modified-type-name.d.ts
6
6
  type ModifiedTypeName<TNameCandidate extends [string], TName extends TNameCandidate[0], TModifier extends TypeModifier> = [string] extends TNameCandidate ? `${TName}:${TModifier}` : TNameCandidate extends [TName] ?
@@ -132,5 +132,5 @@ declare const unsafeOutputType: {
132
132
  };
133
133
  };
134
134
  //#endregion
135
- export { AbstractFieldSelection, Adapter, AllInputTypeNames, AnyAdapter, AnyAssignableInput, AnyAssignableInputValue, AnyAssigningInput, AnyConstAssignableInput, AnyConstAssignableInputValue, AnyConstDirectiveAttachments, AnyDefaultValue, AnyDirectiveAttachments, AnyFieldName, AnyFieldSelection, AnyFieldSelectionFactory, AnyFieldSelectionFactoryReturn, AnyFields, AnyFragment, AnyGraphqlSchema, AnyMetadataAdapter, AnyNestedObject, AnyNestedUnion, AnyOperation, AnyOperationOf, AnyTypeName, AnyTypeSpecifier, AnyVarRef, AnyVarRefBrand, ApplyTypeModifier, AssignableInput, AssignableInputByFieldName, AttachmentShape, AttachmentToProperty, AttachmentsTupleToIntersection, ColocateHelper, ColocatedEntries, ColocatedFields, ConstAssignableInput, ConstAssignableInputValue, ConstValue, ConstValues, DeclaredVariables, DecrementDepth, DefaultAdapter, DefaultDepth, DefaultMetadataAdapter, DepthCounter, EmptyObject, EnumDefinition, ExtractAdapterTypes, ExtractMetadata, ExtractMetadataAdapter, ExtractUnifiedAdapterTypes, FieldArgumentValue, FieldPath, FieldPathSegment, FieldSelectionFactories, FieldSelectionFactory, FieldSelectionFactoryFieldArguments, FieldSelectionFactoryObjectReturn, FieldSelectionFactoryPrimitiveReturn, FieldSelectionFactoryReturn, FieldSelectionFactoryUnionReturn, FieldSelectionTemplateOf, FieldsBuilder, FieldsBuilderTools, Fragment, FragmentBuilderFor, FragmentBuildersAll, FragmentInferMeta, FragmentMetaInfo, FragmentMetadataBuilder, FragmentMetadataBuilderTools, FragmentUsageRecord, GetAssignableType, GetConstAssignableType, GetInputTypeDepth, GetModifiedType, GetSignature, GqlElement, GqlElementAttachment, GqlElementComposer, GqlElementComposerOptions, GqlElementContext, GqlElementDefinitionFactory, Hidden, IfOmittable, InferField, InferFields, InferInputKind, InferInputProfile, InferOutputProfile, InputDefinition, InputDepthOverrides, InputEnumSpecifier, InputFieldRecord, InputInferrableTypeSpecifier, InputInputObjectSpecifier, InputScalarSpecifier, InputTypeKind, InputTypeMethod, InputTypeMethods, InputTypeSpecifier, InputTypeSpecifiers, IsDepthExhausted, MetadataAdapter, MetadataBuilder, MetadataBuilderTools, ModifiedTypeName, NestedObjectFieldsBuilder, NestedObjectFieldsBuilderTools, NestedUnionFieldsBuilder, NestedValue, NestedValueElement, NumberToDepth, ObjectDefinition, ObjectFieldRecord, ObjectTypeProfile, Operation, OperationInferMeta, OperationMetadata, OperationRoots, OperationType, OptionalArg, OutputEnumSpecifier, OutputInferrableTypeSpecifier, OutputObjectSpecifier, OutputScalarSpecifier, OutputTypeKind, OutputTypeSpecifier, OutputTypeSpecifiers, OutputTypenameSpecifier, OutputUnionSpecifier, PickTypeSpecifierByFieldName, PrimitiveTypeProfile, ResolveInputProfileFromMeta, ResolveTypeFromMeta, ScalarDefinition, SchemaAwareGetNameAt, SchemaAwareGetValueAt, StripFunctions, StripSymbols, SwitchIfOmittable, Tuple, TypeModifier, TypeProfile, UnionDefinition, UnionMemberName, UnionToIntersection, UnionTypeRecord, ValidTypeModifier, VarBuilder, VarBuilderMethods, VarRef, VarRefInner, VarSpecifier, appendToPath, buildArgumentValue, buildConstValueNode, buildDocument, buildOperationTypeNode, buildWithTypeModifier, createColocateHelper, createDefaultAdapter, createFieldFactories, createGqlElementComposer, createGqlFragmentComposers, createOperationComposerFactory, createVarAssignments, createVarBuilder, createVarMethod, createVarMethodFactory, createVarRefFromNestedValue, createVarRefFromVariable, createVarRefs, defaultMetadataAdapter, define, defineOperationRoots, defineScalar, empty, getCurrentFieldPath, hidden, isListType, parseModifiedTypeName, recordFragmentUsage, unsafeInputType, unsafeOutputType, withFieldPath, withFragmentUsageCollection, wrapByKey };
135
+ export { AbstractFieldSelection, Adapter, AllInputTypeNames, AnyAdapter, AnyAssignableInput, AnyAssignableInputValue, AnyAssigningInput, AnyConstAssignableInput, AnyConstAssignableInputValue, AnyConstDirectiveAttachments, AnyDefaultValue, AnyDirectiveAttachments, AnyDirectiveMethod, AnyDirectiveRef, AnyDirectiveRefBrand, AnyFieldName, AnyFieldSelection, AnyFieldSelectionFactory, AnyFieldSelectionFactoryReturn, AnyFields, AnyFragment, AnyGraphqlSchema, AnyMetadataAdapter, AnyNestedObject, AnyNestedUnion, AnyOperation, AnyOperationOf, AnyTypeName, AnyTypeSpecifier, AnyVarRef, AnyVarRefBrand, ApplyTypeModifier, AssignableInput, AssignableInputByFieldName, AttachmentShape, AttachmentToProperty, AttachmentsTupleToIntersection, ColocateHelper, ColocatedEntries, ColocatedFields, ConstAssignableInput, ConstAssignableInputValue, ConstValue, ConstValues, DeclaredVariables, DecrementDepth, DefaultAdapter, DefaultDepth, DefaultMetadataAdapter, DepthCounter, DirectiveArgValue, DirectiveBuilder, DirectiveLocation, DirectiveMethod, DirectiveRef, DirectiveRefInner, DocumentTransformArgs, DocumentTransformer, EmptyObject, EnumDefinition, ExtractAdapterTypes, ExtractMetadata, ExtractMetadataAdapter, ExtractUnifiedAdapterTypes, FieldArgumentValue, FieldPath, FieldPathSegment, FieldSelectionFactories, FieldSelectionFactory, FieldSelectionFactoryFieldArguments, FieldSelectionFactoryObjectReturn, FieldSelectionFactoryPrimitiveReturn, FieldSelectionFactoryReturn, FieldSelectionFactoryUnionReturn, FieldSelectionTemplateOf, FieldsBuilder, FieldsBuilderTools, Fragment, FragmentBuilderFor, FragmentBuildersAll, FragmentInferMeta, FragmentMetaInfo, FragmentMetadataBuilder, FragmentMetadataBuilderTools, FragmentUsageRecord, GetAssignableType, GetConstAssignableType, GetInputTypeDepth, GetModifiedType, GetSignature, GqlElement, GqlElementAttachment, GqlElementComposer, GqlElementComposerOptions, GqlElementContext, GqlElementDefinitionFactory, Hidden, IfOmittable, InferField, InferFields, InferInputKind, InferInputProfile, InferOutputProfile, InputDefinition, InputDepthOverrides, InputEnumSpecifier, InputFieldRecord, InputInferrableTypeSpecifier, InputInputObjectSpecifier, InputScalarSpecifier, InputTypeKind, InputTypeMethod, InputTypeMethods, InputTypeSpecifier, InputTypeSpecifiers, IsDepthExhausted, MetadataAdapter, MetadataBuilder, MetadataBuilderTools, ModifiedTypeName, NestedObjectFieldsBuilder, NestedObjectFieldsBuilderTools, NestedUnionFieldsBuilder, NestedValue, NestedValueElement, NumberToDepth, ObjectDefinition, ObjectFieldRecord, ObjectTypeProfile, Operation, OperationDocumentTransformArgs, OperationDocumentTransformer, OperationInferMeta, OperationMetadata, OperationRoots, OperationType, OptionalArg, OutputEnumSpecifier, OutputInferrableTypeSpecifier, OutputObjectSpecifier, OutputScalarSpecifier, OutputTypeKind, OutputTypeSpecifier, OutputTypeSpecifiers, OutputTypenameSpecifier, OutputUnionSpecifier, PickTypeSpecifierByFieldName, PrimitiveTypeProfile, ResolveInputProfileFromMeta, ResolveTypeFromMeta, ScalarDefinition, SchemaAwareGetNameAt, SchemaAwareGetValueAt, StandardDirectives, StripFunctions, StripSymbols, SwitchIfOmittable, Tuple, TypeModifier, TypeProfile, UnionDefinition, UnionMemberName, UnionToIntersection, UnionTypeRecord, ValidTypeModifier, VarBuilder, VarBuilderMethods, VarRef, VarRefInner, VarSpecifier, appendToPath, buildArgumentValue, buildConstValueNode, buildDocument, buildOperationTypeNode, buildWithTypeModifier, createColocateHelper, createDefaultAdapter, createDirectiveBuilder, createDirectiveMethod, createFieldFactories, createGqlElementComposer, createGqlFragmentComposers, createOperationComposerFactory, createStandardDirectives, createVarAssignments, createVarBuilder, createVarMethod, createVarMethodFactory, createVarRefFromNestedValue, createVarRefFromVariable, createVarRefs, defaultMetadataAdapter, define, defineOperationRoots, defineScalar, empty, getCurrentFieldPath, hidden, isDirectiveRef, isListType, parseModifiedTypeName, recordFragmentUsage, unsafeInputType, unsafeOutputType, withFieldPath, withFragmentUsageCollection, wrapByKey };
136
136
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,6 +1,37 @@
1
1
  import { a as unsafeOutputType, i as unsafeInputType, n as defineOperationRoots, o as wrapByKey, r as defineScalar, t as define } from "./schema-BiYcVVvm.js";
2
2
  import { Kind, OperationTypeNode } from "graphql";
3
3
 
4
+ //#region packages/core/src/types/type-foundation/directive-ref.ts
5
+ /**
6
+ * A reference to a directive that can be applied to fields.
7
+ *
8
+ * DirectiveRef carries type information about the directive via the TBrand
9
+ * type parameter, but this information is only used for type inference,
10
+ * not for runtime validation.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const skipDirective = new DirectiveRef({
15
+ * name: "skip",
16
+ * arguments: { if: true },
17
+ * locations: ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"],
18
+ * });
19
+ * ```
20
+ */
21
+ var DirectiveRef = class {
22
+ constructor(inner) {
23
+ this.inner = inner;
24
+ }
25
+ /**
26
+ * Extracts the inner structure from a DirectiveRef.
27
+ * Used by build-document.ts to generate DirectiveNode.
28
+ */
29
+ static getInner(ref) {
30
+ return ref.inner;
31
+ }
32
+ };
33
+
34
+ //#endregion
4
35
  //#region packages/core/src/types/type-foundation/var-ref.ts
5
36
  var VarRef = class {
6
37
  constructor(inner) {
@@ -97,6 +128,41 @@ const buildArguments = (args) => Object.entries(args ?? {}).map(([name, value])
97
128
  value: valueNode
98
129
  } : null;
99
130
  }).filter((item) => item !== null);
131
+ /**
132
+ * Validates that a directive can be used at the specified location.
133
+ *
134
+ * @param directive - The directive reference to validate
135
+ * @param expectedLocation - The location where the directive is being used
136
+ * @throws Error if the directive is not valid at the specified location
137
+ */
138
+ const validateDirectiveLocation = (directive, expectedLocation) => {
139
+ const inner = DirectiveRef.getInner(directive);
140
+ if (!inner.locations.includes(expectedLocation)) throw new Error(`Directive @${inner.name} cannot be used on ${expectedLocation}. Valid locations: ${inner.locations.join(", ")}`);
141
+ };
142
+ /**
143
+ * Builds DirectiveNode array from field directives.
144
+ *
145
+ * Filters for DirectiveRef instances, validates their locations,
146
+ * and converts them to GraphQL AST DirectiveNode objects.
147
+ *
148
+ * @param directives - Array of directive references (or unknown values)
149
+ * @param location - The location context for validation
150
+ * @returns Array of DirectiveNode for the GraphQL AST
151
+ */
152
+ const buildDirectives = (directives, location) => {
153
+ return directives.filter((d) => d instanceof DirectiveRef).map((directive) => {
154
+ validateDirectiveLocation(directive, location);
155
+ const inner = DirectiveRef.getInner(directive);
156
+ return {
157
+ kind: Kind.DIRECTIVE,
158
+ name: {
159
+ kind: Kind.NAME,
160
+ value: inner.name
161
+ },
162
+ arguments: buildArguments(inner.arguments)
163
+ };
164
+ });
165
+ };
100
166
  const buildUnionSelection = (union) => Object.entries(union).map(([typeName, object]) => {
101
167
  return object ? {
102
168
  kind: Kind.INLINE_FRAGMENT,
@@ -113,25 +179,29 @@ const buildUnionSelection = (union) => Object.entries(union).map(([typeName, obj
113
179
  }
114
180
  } : null;
115
181
  }).filter((item) => item !== null);
116
- const buildField = (field) => Object.entries(field).map(([alias, { args, field: field$1, object, union }]) => ({
117
- kind: Kind.FIELD,
118
- name: {
119
- kind: Kind.NAME,
120
- value: field$1
121
- },
122
- alias: alias !== field$1 ? {
123
- kind: Kind.NAME,
124
- value: alias
125
- } : void 0,
126
- arguments: buildArguments(args),
127
- selectionSet: object ? {
128
- kind: Kind.SELECTION_SET,
129
- selections: buildField(object)
130
- } : union ? {
131
- kind: Kind.SELECTION_SET,
132
- selections: buildUnionSelection(union)
133
- } : void 0
134
- }));
182
+ const buildField = (field) => Object.entries(field).map(([alias, { args, field: field$1, object, union, directives }]) => {
183
+ const builtDirectives = buildDirectives(directives, "FIELD");
184
+ return {
185
+ kind: Kind.FIELD,
186
+ name: {
187
+ kind: Kind.NAME,
188
+ value: field$1
189
+ },
190
+ alias: alias !== field$1 ? {
191
+ kind: Kind.NAME,
192
+ value: alias
193
+ } : void 0,
194
+ arguments: buildArguments(args),
195
+ directives: builtDirectives.length > 0 ? builtDirectives : void 0,
196
+ selectionSet: object ? {
197
+ kind: Kind.SELECTION_SET,
198
+ selections: buildField(object)
199
+ } : union ? {
200
+ kind: Kind.SELECTION_SET,
201
+ selections: buildUnionSelection(union)
202
+ } : void 0
203
+ };
204
+ });
135
205
  /**
136
206
  * Converts a constant value to a GraphQL AST ConstValueNode.
137
207
  *
@@ -341,6 +411,85 @@ const createColocateHelper = () => {
341
411
  return $colocate;
342
412
  };
343
413
 
414
+ //#endregion
415
+ //#region packages/core/src/composer/directive-builder.ts
416
+ /**
417
+ * Directive builder utilities for creating field-level directives.
418
+ *
419
+ * Provides type-safe methods for creating directive references that can be
420
+ * applied to field selections. The builder follows a similar pattern to
421
+ * the variable builder ($var).
422
+ *
423
+ * @module
424
+ */
425
+ /**
426
+ * Creates a directive method factory for a specific directive.
427
+ *
428
+ * @param name - The directive name (without @)
429
+ * @param locations - Valid locations where the directive can be applied
430
+ * @returns A function that creates DirectiveRef instances
431
+ *
432
+ * @example
433
+ * ```typescript
434
+ * const skipMethod = createDirectiveMethod("skip", ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"] as const);
435
+ * const skipDirective = skipMethod({ if: true });
436
+ * ```
437
+ */
438
+ const createDirectiveMethod = (name, locations) => {
439
+ return (args) => new DirectiveRef({
440
+ name,
441
+ arguments: args,
442
+ locations
443
+ });
444
+ };
445
+ /**
446
+ * Standard directive locations for @skip and @include.
447
+ */
448
+ const CONDITIONAL_DIRECTIVE_LOCATIONS = [
449
+ "FIELD",
450
+ "FRAGMENT_SPREAD",
451
+ "INLINE_FRAGMENT"
452
+ ];
453
+ /**
454
+ * Creates the standard GraphQL directives (@skip, @include).
455
+ * These are always available regardless of schema definition.
456
+ *
457
+ * @returns Object containing skip and include directive methods
458
+ *
459
+ * @example
460
+ * ```typescript
461
+ * const $dir = createStandardDirectives();
462
+ * const skipDirective = $dir.skip({ if: true });
463
+ * ```
464
+ */
465
+ const createStandardDirectives = () => ({
466
+ skip: createDirectiveMethod("skip", CONDITIONAL_DIRECTIVE_LOCATIONS),
467
+ include: createDirectiveMethod("include", CONDITIONAL_DIRECTIVE_LOCATIONS)
468
+ });
469
+ /**
470
+ * Creates a directive builder with standard directives and optional custom directives.
471
+ *
472
+ * @param customDirectives - Additional directive methods from schema (generated by codegen)
473
+ * @returns Combined directive builder with all available directives
474
+ *
475
+ * @internal Used by codegen to create schema-specific directive builders
476
+ */
477
+ const createDirectiveBuilder = (customDirectives) => {
478
+ return {
479
+ ...createStandardDirectives(),
480
+ ...customDirectives ?? {}
481
+ };
482
+ };
483
+ /**
484
+ * Type guard to check if a value is a DirectiveRef.
485
+ *
486
+ * @param value - Value to check
487
+ * @returns True if value is a DirectiveRef instance
488
+ */
489
+ const isDirectiveRef = (value) => {
490
+ return value instanceof DirectiveRef;
491
+ };
492
+
344
493
  //#endregion
345
494
  //#region packages/core/src/composer/field-path-context.ts
346
495
  /**
@@ -450,6 +599,7 @@ const createFieldFactoriesInner = (schema, typeName) => {
450
599
  const entries = Object.entries(typeDef.fields).map(([fieldName, type]) => {
451
600
  const factory = (fieldArgs, extras) => {
452
601
  const wrap = (value) => wrapByKey(extras?.alias ?? fieldName, value);
602
+ const directives = extras?.directives ?? [];
453
603
  if (type.kind === "object") {
454
604
  const factoryReturn = ((nest) => {
455
605
  const nestedFields = withFieldPath(appendToPath(getCurrentFieldPath(), {
@@ -462,7 +612,7 @@ const createFieldFactoriesInner = (schema, typeName) => {
462
612
  field: fieldName,
463
613
  type,
464
614
  args: fieldArgs ?? {},
465
- directives: extras?.directives ?? {},
615
+ directives,
466
616
  object: nestedFields,
467
617
  union: null
468
618
  });
@@ -484,7 +634,7 @@ const createFieldFactoriesInner = (schema, typeName) => {
484
634
  field: fieldName,
485
635
  type,
486
636
  args: fieldArgs ?? {},
487
- directives: extras?.directives ?? {},
637
+ directives,
488
638
  object: null,
489
639
  union: nestedUnion
490
640
  });
@@ -496,7 +646,7 @@ const createFieldFactoriesInner = (schema, typeName) => {
496
646
  field: fieldName,
497
647
  type,
498
648
  args: fieldArgs ?? {},
499
- directives: extras?.directives ?? {},
649
+ directives,
500
650
  object: null,
501
651
  union: null
502
652
  });
@@ -868,11 +1018,12 @@ const defaultMetadataAdapter = createDefaultAdapter();
868
1018
  *
869
1019
  * @param schema - The GraphQL schema definition
870
1020
  * @param adapter - Optional metadata adapter for custom metadata handling
1021
+ * @param transformDocument - Optional document transformer called after building
871
1022
  * @returns Operation type selector function
872
1023
  *
873
1024
  * @internal Used by `createGqlElementComposer`
874
1025
  */
875
- const createOperationComposerFactory = (schema, adapter) => {
1026
+ const createOperationComposerFactory = (schema, adapter, transformDocument) => {
876
1027
  const resolvedAdapter = adapter ?? defaultMetadataAdapter;
877
1028
  return (operationType) => {
878
1029
  const operationTypeName = schema.operations[operationType];
@@ -893,23 +1044,25 @@ const createOperationComposerFactory = (schema, adapter) => {
893
1044
  variables,
894
1045
  fields
895
1046
  });
896
- const createDefinition = (metadata) => ({
1047
+ const variableNames = Object.keys(variables);
1048
+ if (!fragmentUsages.some((u) => u.metadataBuilder) && !options.metadata && !transformDocument && !options.transformDocument) return {
897
1049
  operationType,
898
1050
  operationName,
899
- variableNames: Object.keys(variables),
1051
+ variableNames,
900
1052
  documentSource: () => fields,
901
1053
  document,
902
- metadata
903
- });
904
- if (!fragmentUsages.some((u) => u.metadataBuilder) && !options.metadata) return createDefinition(void 0);
905
- const fragmentMetadataResults = fragmentUsages.map((usage) => usage.metadataBuilder ? usage.metadataBuilder() : void 0);
906
- const hasAsyncFragmentMetadata = fragmentMetadataResults.some((r) => r instanceof Promise);
907
- const buildOperationMetadata = (resolvedFragmentMetadata) => {
1054
+ metadata: void 0
1055
+ };
1056
+ const aggregateFragmentMetadata = (resolvedFragmentMetadata) => {
908
1057
  const fragmentMetaInfos = fragmentUsages.map((usage, index) => ({
909
1058
  metadata: resolvedFragmentMetadata[index],
910
1059
  fieldPath: usage.path
911
1060
  }));
912
- const aggregatedFragmentMetadata = resolvedAdapter.aggregateFragmentMetadata(fragmentMetaInfos);
1061
+ return resolvedAdapter.aggregateFragmentMetadata(fragmentMetaInfos);
1062
+ };
1063
+ const fragmentMetadataResults = fragmentUsages.map((usage) => usage.metadataBuilder ? usage.metadataBuilder() : void 0);
1064
+ const hasAsyncFragmentMetadata = fragmentMetadataResults.some((r) => r instanceof Promise);
1065
+ const buildOperationMetadata = (aggregatedFragmentMetadata) => {
913
1066
  const schemaLevel = resolvedAdapter.schemaLevel;
914
1067
  return options.metadata?.({
915
1068
  $,
@@ -918,12 +1071,40 @@ const createOperationComposerFactory = (schema, adapter) => {
918
1071
  schemaLevel
919
1072
  });
920
1073
  };
1074
+ const makeCreateDefinition = (aggregated$1) => {
1075
+ return ({ metadata }) => {
1076
+ let finalDocument = options.transformDocument ? options.transformDocument({
1077
+ document,
1078
+ metadata
1079
+ }) : document;
1080
+ if (transformDocument) finalDocument = transformDocument({
1081
+ document: finalDocument,
1082
+ operationName,
1083
+ operationType,
1084
+ variableNames,
1085
+ schemaLevel: resolvedAdapter.schemaLevel,
1086
+ fragmentMetadata: aggregated$1
1087
+ });
1088
+ return {
1089
+ operationType,
1090
+ operationName,
1091
+ variableNames,
1092
+ documentSource: () => fields,
1093
+ document: finalDocument,
1094
+ metadata
1095
+ };
1096
+ };
1097
+ };
921
1098
  if (hasAsyncFragmentMetadata) return Promise.all(fragmentMetadataResults).then(async (resolvedFragmentMetadata) => {
922
- return createDefinition(await buildOperationMetadata(resolvedFragmentMetadata));
1099
+ const aggregated$1 = aggregateFragmentMetadata(resolvedFragmentMetadata);
1100
+ const operationMetadata = await buildOperationMetadata(aggregated$1);
1101
+ return makeCreateDefinition(aggregated$1)({ metadata: operationMetadata });
923
1102
  });
924
- const operationMetadataResult = buildOperationMetadata(fragmentMetadataResults);
925
- if (operationMetadataResult instanceof Promise) return operationMetadataResult.then(createDefinition);
926
- return createDefinition(operationMetadataResult);
1103
+ const aggregated = aggregateFragmentMetadata(fragmentMetadataResults);
1104
+ const createDefinition = makeCreateDefinition(aggregated);
1105
+ const operationMetadataResult = buildOperationMetadata(aggregated);
1106
+ if (operationMetadataResult instanceof Promise) return operationMetadataResult.then((metadata) => createDefinition({ metadata }));
1107
+ return createDefinition({ metadata: operationMetadataResult });
927
1108
  });
928
1109
  };
929
1110
  };
@@ -1150,6 +1331,7 @@ const createVarBuilder = (inputTypeMethods) => {
1150
1331
  * - `fragment`: Builders for each object type
1151
1332
  * - `query/mutation/subscription`: Operation builders
1152
1333
  * - `$var`: Variable definition helpers
1334
+ * - `$dir`: Field directive helpers (@skip, @include)
1153
1335
  * - `$colocate`: Fragment colocation utilities
1154
1336
  *
1155
1337
  * @param schema - The GraphQL schema definition
@@ -1160,27 +1342,34 @@ const createVarBuilder = (inputTypeMethods) => {
1160
1342
  * ```typescript
1161
1343
  * const gql = createGqlElementComposer(schema, { inputTypeMethods });
1162
1344
  *
1163
- * const GetUser = gql(({ query, $var }) =>
1345
+ * const GetUser = gql(({ query, $var, $dir }) =>
1164
1346
  * query.operation({
1165
1347
  * name: "GetUser",
1166
- * variables: { id: $var.ID("!") },
1167
- * fields: ({ f, $ }) => ({ ...f.user({ id: $.id })(...) }),
1348
+ * variables: { showEmail: $var("showEmail").Boolean("!") },
1349
+ * fields: ({ f, $ }) => ({
1350
+ * ...f.user({ id: "1" })(({ f }) => ({
1351
+ * ...f.name(),
1352
+ * ...f.email({}, { directives: [$dir.skip({ if: $.showEmail })] }),
1353
+ * })),
1354
+ * }),
1168
1355
  * })
1169
1356
  * );
1170
1357
  * ```
1171
1358
  */
1172
1359
  const createGqlElementComposer = (schema, options) => {
1173
- const { adapter, inputTypeMethods } = options;
1360
+ const { adapter, inputTypeMethods, directiveMethods } = options;
1174
1361
  const helpers = adapter?.helpers;
1175
1362
  const metadataAdapter = adapter?.metadata;
1363
+ const transformDocument = adapter?.transformDocument;
1176
1364
  const fragment = createGqlFragmentComposers(schema, metadataAdapter);
1177
- const createOperationComposer = createOperationComposerFactory(schema, metadataAdapter);
1365
+ const createOperationComposer = createOperationComposerFactory(schema, metadataAdapter, transformDocument);
1178
1366
  const context = {
1179
1367
  fragment,
1180
1368
  query: { operation: createOperationComposer("query") },
1181
1369
  mutation: { operation: createOperationComposer("mutation") },
1182
1370
  subscription: { operation: createOperationComposer("subscription") },
1183
1371
  $var: createVarBuilder(inputTypeMethods),
1372
+ $dir: directiveMethods ?? createStandardDirectives(),
1184
1373
  $colocate: createColocateHelper(),
1185
1374
  ...helpers ?? {}
1186
1375
  };
@@ -1189,5 +1378,5 @@ const createGqlElementComposer = (schema, options) => {
1189
1378
  };
1190
1379
 
1191
1380
  //#endregion
1192
- export { Fragment, GqlElement, Operation, appendToPath, buildArgumentValue, buildConstValueNode, buildDocument, buildOperationTypeNode, buildWithTypeModifier, createColocateHelper, createDefaultAdapter, createFieldFactories, createGqlElementComposer, createGqlFragmentComposers, createOperationComposerFactory, createVarAssignments, createVarBuilder, createVarMethod, createVarMethodFactory, createVarRefs, defaultMetadataAdapter, define, defineOperationRoots, defineScalar, getCurrentFieldPath, isListType, recordFragmentUsage, unsafeInputType, unsafeOutputType, withFieldPath, withFragmentUsageCollection };
1381
+ export { Fragment, GqlElement, Operation, appendToPath, buildArgumentValue, buildConstValueNode, buildDocument, buildOperationTypeNode, buildWithTypeModifier, createColocateHelper, createDefaultAdapter, createDirectiveBuilder, createDirectiveMethod, createFieldFactories, createGqlElementComposer, createGqlFragmentComposers, createOperationComposerFactory, createStandardDirectives, createVarAssignments, createVarBuilder, createVarMethod, createVarMethodFactory, createVarRefs, defaultMetadataAdapter, define, defineOperationRoots, defineScalar, getCurrentFieldPath, isDirectiveRef, isListType, recordFragmentUsage, unsafeInputType, unsafeOutputType, withFieldPath, withFragmentUsageCollection };
1193
1382
  //# sourceMappingURL=index.js.map