@ptdgrp/typedgql 1.0.0-beta.14 → 1.0.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,8 +30,15 @@ pnpm add -D graphql typescript
30
30
 
31
31
  For advanced usage (Subscription, directives, GraphQL mapping), see:
32
32
 
33
- - [Advanced Usage (Chinese)](./docs/advanced-usage.zh-CN.md)
34
- - [Runtime Integration Guide (Chinese)](./docs/runtime-integration.zh-CN.md)
33
+ - [Advanced Usage](./docs/advanced-usage.md)
34
+ - [Runtime Integration Guide](./docs/runtime-integration.md)
35
+ - [Quickstart](./docs/quickstart.md)
36
+ - [API Map](./docs/api-map.md)
37
+ - [Variables Semantics](./docs/variables.md)
38
+ - [Fragments Guide](./docs/fragments.md)
39
+ - [Runtime Integration Guide](./docs/runtime-integration.md)
40
+ - [Troubleshooting](./docs/troubleshooting.md)
41
+ - [Generated Files Guide](./docs/generated-files.md)
35
42
 
36
43
  ### 1. Vite Plugin (Recommended)
37
44
 
package/README.zh-CN.md CHANGED
@@ -24,6 +24,13 @@ pnpm add -D graphql typescript
24
24
 
25
25
  - [typedgql 进阶用法(中文)](./docs/advanced-usage.zh-CN.md)
26
26
  - [typedgql 运行时接入指南(中文)](./docs/runtime-integration.zh-CN.md)
27
+ - [typedgql Quickstart(英文)](./docs/quickstart.md)
28
+ - [typedgql API 地图(英文)](./docs/api-map.md)
29
+ - [typedgql 参数语义(英文)](./docs/variables.md)
30
+ - [typedgql Fragment 指南(英文)](./docs/fragments.md)
31
+ - [typedgql 运行时接入(英文)](./docs/runtime-integration.md)
32
+ - [typedgql 常见问题(英文)](./docs/troubleshooting.md)
33
+ - [typedgql 生成文件说明(英文)](./docs/generated-files.md)
27
34
 
28
35
  ### 1. Vite 插件方式(推荐)
29
36
 
package/dist/index.cjs CHANGED
@@ -104,21 +104,43 @@ const registerSchemaType = (type) => {
104
104
  //#endregion
105
105
  //#region src/runtime/parameter.ts
106
106
  /**
107
- * @author ChenTao
107
+ * Runtime marker for `ParameterRef`.
108
108
  *
109
- * 1. If object is used by field arguments, don't specify the graphqlTypeName
110
- * 2. If object is used by directive arguments, graphqlTypeName is required
109
+ * We use a unique symbol instead of string keys to avoid accidental collision
110
+ * with user objects passed as argument literals.
111
111
  */
112
112
  const __marker = Symbol("__parameter_ref_marker");
113
113
  var ParameterRef = class ParameterRef {
114
114
  [__marker] = true;
115
- constructor(name, graphqlTypeName) {
115
+ constructor(name, explicitType) {
116
116
  this.name = name;
117
- this.graphqlTypeName = graphqlTypeName;
117
+ this.explicitType = explicitType;
118
118
  if (name.startsWith("$")) throw new Error("parameter name cannot start with '$'");
119
119
  }
120
- static of(name, graphqlTypeName) {
121
- return new ParameterRef(name, graphqlTypeName);
120
+ /**
121
+ * Represents a GraphQL variable reference used in DSL argument objects.
122
+ *
123
+ * Example:
124
+ * - `id: ParameterRef.of("postId")` -> `id: $postId`
125
+ *
126
+ * Main use cases:
127
+ * 1. Rename/bind a field argument to a different variable name.
128
+ * 2. Explicitly annotate variable type when runtime cannot infer it from a
129
+ * field argument position (for example directive args or nested literals).
130
+ *
131
+ * When `explicitType` is NOT needed:
132
+ * - Field arg slot with schema type:
133
+ * `q.user({ id: ParameterRef.of("userId") }, (u) => u.id)`
134
+ * `id` type is inferred from schema (`ID!`).
135
+ *
136
+ * When `explicitType` IS needed:
137
+ * - Directive arg slot:
138
+ * `node.$directive("include", { if: ParameterRef.of("withEmail", "Boolean!") })`
139
+ * - Nested input slot without direct arg type context:
140
+ * `q.search({ filter: { keyword: ParameterRef.of("kw", "String!") } }, ...)`
141
+ */
142
+ static of(name, explicitType) {
143
+ return new ParameterRef(name, explicitType);
122
144
  }
123
145
  };
124
146
 
@@ -414,7 +436,7 @@ var SerializeContext = class SerializeContext {
414
436
  t(name);
415
437
  if (field.argGraphQLTypes) {
416
438
  const meta = sel._enumInputMetadata;
417
- this.acceptArgs(field.args, field.argGraphQLTypes, meta);
439
+ this.acceptArgs(field.args, field.argGraphQLTypes, meta, `field '${runtime.schemaType.name}.${name}'`);
418
440
  }
419
441
  this.acceptDirectives(field.fieldOptionsValue?.directives);
420
442
  }
@@ -456,10 +478,10 @@ var SerializeContext = class SerializeContext {
456
478
  if (!directives) return;
457
479
  for (const [directive, args] of directives) {
458
480
  this.writer.text(`\n@${directive}`);
459
- this.acceptArgs(args);
481
+ this.acceptArgs(args, void 0, void 0, `directive '@${directive}'`);
460
482
  }
461
483
  }
462
- acceptArgs(args, argGraphQLTypeMap, enumInputMetadata) {
484
+ acceptArgs(args, argGraphQLTypeMap, enumInputMetadata, argContext = "argument") {
463
485
  if (!args) return;
464
486
  const t = this.writer.text.bind(this.writer);
465
487
  let hasField;
@@ -481,7 +503,7 @@ var SerializeContext = class SerializeContext {
481
503
  const typeName = argGraphQLTypeMap.get(argName);
482
504
  if (typeName !== void 0) if (arg?.[__marker]) {
483
505
  const ref = arg;
484
- this.registerVariableType(ref, typeName, false, "field argument");
506
+ this.registerVariableType(ref, typeName, false, `${argContext}.${argName}`);
485
507
  t(`${argName}: $${ref.name}`);
486
508
  } else {
487
509
  t(`${argName}: `);
@@ -490,8 +512,8 @@ var SerializeContext = class SerializeContext {
490
512
  else throw new Error(`Unknown argument '${argName}'`);
491
513
  } else if (arg?.[__marker]) {
492
514
  const ref = arg;
493
- if (!ref.graphqlTypeName) throw new Error(`Directive argument '${ref.name}' requires graphqlTypeName`);
494
- this.registerVariableType(ref, ref.graphqlTypeName, false, "directive argument");
515
+ if (!ref.explicitType) throw new Error(`Cannot infer the type of directive argument '${ref.name}'; an explicit type annotation is required.`);
516
+ this.registerVariableType(ref, ref.explicitType, false, `${argContext}.${argName}`);
495
517
  t(`${argName}: $${ref.name}`);
496
518
  } else {
497
519
  t(`${argName}: `);
@@ -500,7 +522,7 @@ var SerializeContext = class SerializeContext {
500
522
  }
501
523
  });
502
524
  }
503
- acceptLiteral(value, metaType, graphqlTypeName) {
525
+ acceptLiteral(value, metaType, explicitType) {
504
526
  const t = this.writer.text.bind(this.writer);
505
527
  if (value == null) {
506
528
  t("null");
@@ -520,8 +542,8 @@ var SerializeContext = class SerializeContext {
520
542
  }
521
543
  if (value?.[__marker]) {
522
544
  const ref = value;
523
- if (!graphqlTypeName && !ref.graphqlTypeName) throw new Error(`Argument '${ref.name}' nested type cannot be inferred; provide graphqlTypeName`);
524
- this.registerVariableType(ref, graphqlTypeName, true, "nested argument");
545
+ if (!explicitType && !ref.explicitType) throw new Error(`Cannot infer the nested type of argument '${ref.name}'; an explicit type annotation is required.`);
546
+ this.registerVariableType(ref, explicitType, true, "nested argument");
525
547
  t(`$${ref.name}`);
526
548
  return;
527
549
  }
@@ -530,7 +552,7 @@ var SerializeContext = class SerializeContext {
530
552
  return;
531
553
  }
532
554
  if (Array.isArray(value) || value instanceof Set) {
533
- const elementGraphQLTypeName = SerializeContext.elementTypeName(graphqlTypeName);
555
+ const elementGraphQLTypeName = SerializeContext.elementTypeName(explicitType);
534
556
  this.writer.scope({ type: "array" }, () => {
535
557
  for (const e of value) {
536
558
  this.writer.separator(", ");
@@ -555,12 +577,15 @@ var SerializeContext = class SerializeContext {
555
577
  });
556
578
  }
557
579
  registerVariableType(ref, expectedTypeName, allowImplicitFromRef = false, context = "argument") {
558
- const typeName = expectedTypeName ?? (allowImplicitFromRef ? ref.graphqlTypeName : void 0);
559
- if (!typeName) throw new Error(`Directive argument '${ref.name}' requires graphqlTypeName`);
560
- if (ref.graphqlTypeName && ref.graphqlTypeName !== typeName) throw new Error(`Argument '${ref.name}' type conflict: '${typeName}' vs ParameterRef '${ref.graphqlTypeName}' (${context})`);
580
+ const typeName = expectedTypeName ?? (allowImplicitFromRef ? ref.explicitType : void 0);
581
+ if (!typeName) throw new Error(`Cannot infer the type of directive argument '${ref.name}'; an explicit type annotation is required.`);
582
+ if (ref.explicitType && ref.explicitType !== typeName) throw new Error(`Variable '$${ref.name}' has conflicting GraphQL types at ${context}: inferred '${typeName}', but ParameterRef declares '${ref.explicitType}'`);
561
583
  const existing = this.variableTypeMap.get(ref.name);
562
- if (existing && existing !== typeName) throw new Error(`Argument '${ref.name}' type conflict: '${existing}' vs '${typeName}' (${context})`);
563
- this.variableTypeMap.set(ref.name, typeName);
584
+ if (existing && existing.typeName !== typeName) throw new Error(`Variable '$${ref.name}' has conflicting GraphQL types: first '${existing.typeName}' at ${existing.source}, then '${typeName}' at ${context}`);
585
+ this.variableTypeMap.set(ref.name, {
586
+ typeName,
587
+ source: context
588
+ });
564
589
  }
565
590
  static enumMetaType(meta, typeName) {
566
591
  if (!meta || !typeName) return void 0;
@@ -720,13 +745,15 @@ const createChildSelectionProxy = (schemaType, enumInputMetadata) => {
720
745
  void 0
721
746
  ], false, ""), proxyHandler(schemaType));
722
747
  };
723
- const buildRequiredArgs = (argTypeMap) => {
724
- if (!argTypeMap.size) return void 0;
725
- const requiredArgNames = Array.from(argTypeMap.entries()).filter(([, type]) => type.endsWith("!")).map(([name]) => name);
726
- if (!requiredArgNames.length) return void 0;
727
- const args = {};
728
- for (const name of requiredArgNames) args[name] = ParameterRef.of(name);
729
- return args;
748
+ const resolveAutoPropagatedArgs = (declaredArgTypeMap, providedArgs) => {
749
+ if (!declaredArgTypeMap?.size) return providedArgs;
750
+ const autoArgs = {};
751
+ for (const argName of declaredArgTypeMap.keys()) autoArgs[argName] = ParameterRef.of(argName);
752
+ if (!providedArgs) return autoArgs;
753
+ return {
754
+ ...autoArgs,
755
+ ...providedArgs
756
+ };
730
757
  };
731
758
  const resolveAssociationTarget = (fieldName, fieldTargetTypeName, ownerTypeName) => {
732
759
  if (!fieldTargetTypeName) throw new Error(`Field "${fieldName}" has no target type`);
@@ -793,8 +820,8 @@ const proxyHandler = (schemaType) => {
793
820
  let { args, childSelectionFactory, childSelection } = parseAssociationArgs(argArray);
794
821
  if (childSelectionFactory) childSelection = childSelectionFactory(createChildSelectionProxy(targetSchemaType, target._enumInputMetadata));
795
822
  if (!childSelection) throw new Error(`Field "${p}" requires a child selection`);
796
- if (!args) args = buildRequiredArgs(field.argGraphQLTypeMap);
797
- return new Proxy(target.addField(p, args, childSelection), handler);
823
+ const resolvedArgs = resolveAutoPropagatedArgs(field.argGraphQLTypeMap, args);
824
+ return new Proxy(target.addField(p, resolvedArgs, childSelection), handler);
798
825
  };
799
826
  if (field.isFunction) return new Proxy(DUMMY, methodHandler(target, handler, p));
800
827
  return new Proxy(target.addField(p), handler);
@@ -862,11 +889,9 @@ const methodHandler = (targetSelection, handler, field) => {
862
889
  return new Proxy(current, handler);
863
890
  }
864
891
  let { args, child, optionsValue } = parseMethodArgs(argArray);
865
- if (!args) {
866
- const argMap = targetSelection.schemaType.ownFields.get(field)?.argGraphQLTypeMap;
867
- args = argMap ? buildRequiredArgs(argMap) : void 0;
868
- }
869
- return new Proxy(targetSelection.addField(field, args, child, optionsValue), handler);
892
+ const declaredArgTypeMap = targetSelection.schemaType.fields.get(field)?.argGraphQLTypeMap;
893
+ const resolvedArgs = resolveAutoPropagatedArgs(declaredArgTypeMap, args);
894
+ return new Proxy(targetSelection.addField(field, resolvedArgs, child, optionsValue), handler);
870
895
  } };
871
896
  };
872
897
  const DUMMY = () => {};
package/dist/index.d.cts CHANGED
@@ -74,18 +74,48 @@ declare const createSchemaType: <E extends string>(name: E, category: SchemaType
74
74
  //#endregion
75
75
  //#region src/runtime/parameter.d.ts
76
76
  /**
77
- * @author ChenTao
77
+ * Runtime marker for `ParameterRef`.
78
78
  *
79
- * 1. If object is used by field arguments, don't specify the graphqlTypeName
80
- * 2. If object is used by directive arguments, graphqlTypeName is required
79
+ * We use a unique symbol instead of string keys to avoid accidental collision
80
+ * with user objects passed as argument literals.
81
81
  */
82
82
  declare const __marker: unique symbol;
83
83
  declare class ParameterRef<TName extends string> {
84
+ /** GraphQL variable name without `$` prefix. */
84
85
  readonly name: TName;
85
- readonly graphqlTypeName?: string | undefined;
86
+ /**
87
+ * Optional GraphQL type annotation (e.g. `Boolean!`, `[String!]`).
88
+ *
89
+ * - Field argument position: usually omitted, type can be inferred from
90
+ * schema `argGraphQLTypeMap`.
91
+ * - Directive/nested position: usually required to register variable type.
92
+ */
93
+ readonly explicitType?: string | undefined;
86
94
  readonly [__marker] = true;
87
95
  private constructor();
88
- static of<TName extends string>(name: TName, graphqlTypeName?: string): ParameterRef<TName>;
96
+ /**
97
+ * Represents a GraphQL variable reference used in DSL argument objects.
98
+ *
99
+ * Example:
100
+ * - `id: ParameterRef.of("postId")` -> `id: $postId`
101
+ *
102
+ * Main use cases:
103
+ * 1. Rename/bind a field argument to a different variable name.
104
+ * 2. Explicitly annotate variable type when runtime cannot infer it from a
105
+ * field argument position (for example directive args or nested literals).
106
+ *
107
+ * When `explicitType` is NOT needed:
108
+ * - Field arg slot with schema type:
109
+ * `q.user({ id: ParameterRef.of("userId") }, (u) => u.id)`
110
+ * `id` type is inferred from schema (`ID!`).
111
+ *
112
+ * When `explicitType` IS needed:
113
+ * - Directive arg slot:
114
+ * `node.$directive("include", { if: ParameterRef.of("withEmail", "Boolean!") })`
115
+ * - Nested input slot without direct arg type context:
116
+ * `q.search({ filter: { keyword: ParameterRef.of("kw", "String!") } }, ...)`
117
+ */
118
+ static of<TName extends string>(name: TName, explicitType?: string): ParameterRef<TName>;
89
119
  }
90
120
  type AcceptableVariables<T extends object> = { [K in keyof T]: T[K] | ParameterRef<string> };
91
121
  type UnresolvedVariables<T, TVariables> = ReversedType<UnresolvedNames<UnresolvedRefs<T>>, TVariables>;
@@ -128,7 +158,7 @@ interface SelectionRuntime<E extends string = string> {
128
158
  readonly operationName?: string;
129
159
  readonly fieldMap: ReadonlyMap<string, FieldSelection>;
130
160
  readonly directiveMap: ReadonlyMap<string, DirectiveArgs>;
131
- readonly variableTypeMap: ReadonlyMap<string, string>;
161
+ readonly variableTypeMap: ReadonlyMap<string, VariableTypeRegistration>;
132
162
  findField(fieldKey: string): FieldSelection | undefined;
133
163
  findFieldsByName(fieldName: string): readonly FieldSelection[];
134
164
  findFieldByName(fieldName: string): FieldSelection | undefined;
@@ -141,6 +171,10 @@ type ShapeOf<F> = F extends Selection<string, infer M, object> ? M : never;
141
171
  type VariablesOf<T> = T extends Selection<string, object, infer TVariables> ? TVariables : never;
142
172
  type Expand<T> = T extends ReadonlyArray<infer U> ? ReadonlyArray<Expand<U>> : T extends Array<infer U> ? Array<Expand<U>> : T extends object ? { [K in keyof T]: Expand<T[K]> } : T;
143
173
  type ValueOrThunk<T> = T | (() => T);
174
+ interface VariableTypeRegistration {
175
+ readonly typeName: string;
176
+ readonly source: string;
177
+ }
144
178
  interface FieldSelection {
145
179
  readonly name: string;
146
180
  readonly argGraphQLTypes?: ReadonlyMap<string, string>;
@@ -252,7 +286,7 @@ declare class SelectionImpl<E extends string, T extends object, TVariables exten
252
286
  withOperationName<F extends SelectionImpl<string, object, object>>(operationName?: string): F;
253
287
  get fieldMap(): ReadonlyMap<string, FieldSelection>;
254
288
  get directiveMap(): ReadonlyMap<string, DirectiveArgs>;
255
- get variableTypeMap(): ReadonlyMap<string, string>;
289
+ get variableTypeMap(): ReadonlyMap<string, VariableTypeRegistration>;
256
290
  findField(fieldKey: string): FieldSelection | undefined;
257
291
  findFieldsByName(fieldName: string): readonly FieldSelection[];
258
292
  findFieldByName(fieldName: string): FieldSelection | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/runtime/schema.ts","../src/runtime/parameter.ts","../src/runtime/field-options.ts","../src/runtime/types.ts","../src/runtime/enum-metadata.ts","../src/runtime/selection.ts","../src/runtime/proxy.ts","../src/runtime/text-builder.ts","../src/runtime/cyrb53.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/runtime/schema.ts","../src/runtime/parameter.ts","../src/runtime/field-options.ts","../src/runtime/types.ts","../src/runtime/enum-metadata.ts","../src/runtime/selection.ts","../src/runtime/proxy.ts","../src/runtime/text-builder.ts","../src/runtime/cyrb53.ts"],"mappings":";;AAYA;;;;;AAcA;;;;KAdY,kBAAA;AAqBZ;;;;;;;;;;;;AAAA,KAPY,mBAAA;;;;UAOK,UAAA;EAMN;EAAA,SAJA,IAAA,EAAM,CAAA;EAMN;EAAA,SAJA,QAAA,EAAU,kBAAA;EAIqB;EAAA,SAF/B,UAAA,WAAqB,UAAA;EAIb;EAAA,SAFR,SAAA,EAAW,WAAA,SAAoB,WAAA;EAEQ;EAAA,SAAvC,MAAA,EAAQ,WAAA,SAAoB,WAAA;AAAA;;;;UAMtB,WAAA;EAIN;EAAA,SAFA,IAAA;EAIA;EAAA,SAFA,QAAA,EAAU,mBAAA;EAIV;EAAA,SAFA,iBAAA,EAAmB,WAAA;EAMnB;EAAA,SAJA,cAAA;EAQA;EAAA,SANA,QAAA;EAMa;EAAA,SAJb,aAAA;EAsCV;EAAA,SApCU,UAAA;EAUT;EAAA,SARS,aAAA;AAAA;AAAA,cAOE,2BAAA,GACX,QAAA,aACC,UAAA;AAAA,cA2BU,yBAAA,GACX,QAAA,UACA,OAAA,QAAe,UAAA;AAAA,KASZ,eAAA;EAAA,SAGU,IAAA;EAAA,SACA,QAAA,EAAU,mBAAA;EAAA,SACV,WAAA;EAAA,SACA,iBAAA;IAAA,UAAgC,GAAA;EAAA;EAAA,SAChC,cAAA;AAAA;AAAA,cAKF,gBAAA,qBACX,IAAA,EAAM,CAAA,EACN,QAAA,EAAU,kBAAA,EACV,UAAA,WAAqB,UAAA,IACrB,cAAA,WAAyB,eAAA,OACxB,UAAA,CAAW,CAAA;;;;AArHd;;;;;cCNa,QAAA;AAAA,cAEA,YAAA;;WAKA,IAAA,EAAM,KAAA;EDaY;AAO/B;;;;;;EAP+B,SCLlB,YAAA;EAAA,UAZD,QAAA;EAAA,QAEH,WAAA,CAAA;EDgCU;;;;;;;;;;;;;;;;;;AAMnB;;;;EANmB,OCOV,EAAA,sBAAA,CACL,IAAA,EAAM,KAAA,EACN,YAAA,YACC,YAAA,CAAa,KAAA;AAAA;AAAA,KAKN,mBAAA,mCACE,CAAA,GAAI,CAAA,CAAE,CAAA,IAAK,YAAA;AAAA,KAGb,mBAAA,kBAAqC,YAAA,CAC/C,eAAA,CAAgB,cAAA,CAAe,CAAA,IAC/B,UAAA;AAAA,KAGG,cAAA,eAA6B,IAAA,CAChC,UAAA,gBAEc,UAAA,GAAa,UAAA,CAAW,CAAA,UAAW,YAAA,WAC3C,CAAA,iBAEE,UAAA;AAAA,KAGL,eAAA,0CACS,uBAAA,GAA0B,gBAAA,CACpC,uBAAA,CAAwB,CAAA;AAAA,KAIvB,YAAA,WAAuB,MAAA,OAAa,CAAA,mCACjC,CAAA,OAAQ,CAAA,kBACA,CAAA,GAAI,CAAA,CAAE,CAAA,UAAW,CAAA,GACzB,CAAA,eAAgB,SAAA,GACd,SAAA,CAAU,CAAA,0BAGV,CAAA;AAAA,KAGL,gBAAA,MACH,CAAA,SAAU,YAAA,mBAA+B,QAAA;;;UCrF1B,iBAAA;EAAA,SACN,KAAA;EAAA,SACA,UAAA,EAAY,WAAA,SAAoB,aAAA;AAAA;AAAA,cAG9B,YAAA;EAAA,UAEqB,GAAA,WAAc,aAAA;AAAA;EAAA,iBAM3B,KAAA;EAAA,iBACA,MAAA;EAAA,iBACA,UAAA;EAAA,iBACA,cAAA;EAAA,QANX,MAAA;cAGW,KAAA,GAAQ,YAAA,gCACR,MAAA,uBACA,UAAA,uBACA,cAAA;EAGnB,KAAA,uBAAA,CACE,KAAA,EAAO,MAAA,GACN,YAAA,CAAa,MAAA,EAAQ,WAAA,EAAa,mBAAA;EAOrC,SAAA,0CAAmD,aAAA,MAAA,CACjD,SAAA,EAAW,UAAA,EACX,IAAA,GAAO,KAAA,GACN,YAAA,CACD,MAAA,EACA,WAAA,sBAAiC,UAAA,GAAa,KAAA,IAC9C,mBAAA,GAAsB,mBAAA,CAAoB,KAAA,EAAO,MAAA,OAAa,KAAA;EAAA,IAc5D,KAAA,CAAA,GAAS,iBAAA;EAAA,QAIL,WAAA;AAAA;;;cCxDG,SAAA;AAAA,cACA,SAAA;AAAA,UAII,SAAA;EAKf,QAAA;EACA,gBAAA;EACA,MAAA;EAAA,UAEU,SAAA,aAAsB,CAAA,EAAG,CAAA,EAAG,UAAA;AAAA;AAAA,UAGvB,gBAAA;EAAA,SACN,UAAA,EAAY,UAAA,CAAW,CAAA;EAAA,SACvB,aAAA;EAAA,SACA,QAAA,EAAU,WAAA,SAAoB,cAAA;EAAA,SAC9B,YAAA,EAAc,WAAA,SAAoB,aAAA;EAAA,SAClC,eAAA,EAAiB,WAAA,SAAoB,wBAAA;EAE9C,SAAA,CAAU,QAAA,WAAmB,cAAA;EAC7B,gBAAA,CAAiB,SAAA,oBAA6B,cAAA;EAC9C,eAAA,CAAgB,SAAA,WAAoB,cAAA;AAAA;AAAA,KAG1B,mBAAA,kEAIR,SAAA,CAAU,CAAA,EAAG,CAAA,EAAG,UAAA;EAAA,UACR,SAAA,GAAY,gBAAA,CAAiB,CAAA;AAAA;AAAA,iBAGzB,SAAA,+DAAA,CAId,SAAA,EAAW,SAAA,CAAU,CAAA,EAAG,CAAA,EAAG,UAAA,IAAc,gBAAA,CAAiB,CAAA;AAAA,KAMhD,OAAA,MACV,CAAA,SAAU,SAAA,4BAAqC,CAAA;AAAA,KAErC,WAAA,MACV,CAAA,SAAU,SAAA,qCAA8C,UAAA;AAAA,KAE9C,MAAA,MACV,CAAA,SAAU,aAAA,YACN,aAAA,CAAc,MAAA,CAAO,CAAA,KACrB,CAAA,SAAU,KAAA,YACR,KAAA,CAAM,MAAA,CAAO,CAAA,KACb,CAAA,gCACgB,CAAA,GAAI,MAAA,CAAO,CAAA,CAAE,CAAA,OAC3B,CAAA;AAAA,KAEE,YAAA,MAAkB,CAAA,UAAW,CAAA;AAAA,UAExB,wBAAA;EAAA,SACN,QAAA;EAAA,SACA,MAAA;AAAA;AAAA,UAGM,cAAA;EAAA,SACN,IAAA;EAAA,SACA,eAAA,GAAkB,WAAA;EAAA,SAClB,IAAA;EAAA,SACA,iBAAA,GAAoB,iBAAA;EAAA,SACpB,MAAA;EAAA,SACA,eAAA,GAAkB,aAAA,CACzB,mBAAA;AAAA;AAAA,KAMQ,aAAA;EAAA,UACI,GAAA,WAAc,YAAA,WAAuB,WAAA;AAAA;AAAA,cAGxC,WAAA;EAAA,SAEA,KAAA;EAAA,SACA,cAAA;cADA,KAAA,OACA,cAAA;AAAA;AAAA,cAIA,iBAAA;AAAA,uBAES,cAAA;EAAA,SAST,IAAA,EAAM,aAAA;EAAA,SACN,SAAA,EAAW,mBAAA,CAAoB,CAAA,EAAG,CAAA,EAAG,UAAA;EAAA,UAJtC,iBAAA;EAAA,UAED,WAAA,CACE,IAAA,EAAM,aAAA,EACN,SAAA,EAAW,mBAAA,CAAoB,CAAA,EAAG,CAAA,EAAG,UAAA;AAAA;AAAA,cAIrC,WAAA,sGAKH,cAAA,CAAe,aAAA,EAAe,CAAA,EAAG,CAAA,EAAG,UAAA;cAE1C,IAAA,EAAM,aAAA,EACN,SAAA,EAAW,mBAAA,CAAoB,CAAA,EAAG,CAAA,EAAG,UAAA;AAAA;;;;AH7GzC;;;;;AAcA;;;KIhBY,iBAAA,GAAoB,WAAA,SAAoB,iBAAA;;UAGnC,iBAAA;EJoBU;EAAA,SIlBhB,IAAA;EJoBM;EAAA,SIlBN,IAAA;EJsBqB;EAAA,SIpBrB,MAAA,GAAS,WAAA,SAAoB,iBAAA;EJsBlB;EAAA,SIpBX,mBAAA,GAAsB,WAAA;AAAA;;UAIhB,QAAA;EAAA,SACN,IAAA;EAAA,SACA,QAAA;EAAA,SACA,eAAA;EAAA,SACA,MAAA;AAAA;;;;;;;;;;;AJoBX;cINa,wBAAA;EAAA,QACH,OAAA;EAAA,wBACgB,eAAA;EJMf;EIGT,GAAA,CAAI,IAAA,UAAc,MAAA,GAAS,aAAA,CAAc,QAAA;EJDtB;EIOnB,KAAA,CAAA,GAAS,iBAAA;AAAA;;;cCvCE,aAAA,2EAIA,SAAA,CAAU,CAAA,EAAG,CAAA,EAAG,UAAA;EAAA,iBASR,IAAA;EAAA,iBAGA,SAAA;EAAA,iBACA,MAAA;EAAA,iBACA,KAAA;EAAA,iBACA,MAAA;EAAA,iBACA,kBAAA;EAAA,iBACA,UAAA;EAAA,iBACA,cAAA;EAAA,iBACA,cAAA;EAAA,UAlBD,SAAA,aAAsB,CAAA,EAAG,CAAA,EAAG,UAAA;EAAA,UACpC,SAAA,GAAY,gBAAA,CAAiB,CAAA;EAAA,QAE/B,SAAA;EAAA,QACA,aAAA;EAAA,QACA,OAAA;cAGW,IAAA,EACb,aAAA,qCACU,UAAA,CAAW,CAAA,GAAI,iBAAA,yBACZ,SAAA,WACA,MAAA,UACA,KAAA;IAAA,CAAW,GAAA;EAAA,eACX,MAAA,GAAS,aAAA,sCACT,kBAAA,GAAqB,iBAAA,cACrB,UAAA,uBACA,cAAA,GAAiB,aAAA,EACjB,cAAA;EAAA,IAKf,SAAA,CAAA;EAAA,YAMQ,WAAA,CAAA;EAAA,YAOA,kBAAA,CAAA;EAAA,YAMA,eAAA,CAAA;EAAA,YAQA,KAAA,CAAA;EAAA,IAMR,UAAA,CAAA,GAAc,UAAA,CAAW,CAAA;EAAA,IAIzB,aAAA,CAAA;EASJ,QAAA,WAAmB,aAAA,yBAAA,CACjB,KAAA,UACA,IAAA;IAAA,CAAU,GAAA;EAAA,GACV,KAAA,GAAQ,aAAA,0BACR,YAAA,GAAe,iBAAA,GACd,CAAA;EAWH,WAAA,WAAsB,aAAA,yBAAA,CACpB,KAAA,WACC,CAAA;EAKH,aAAA,WAAwB,aAAA,yBAAA,CACtB,KAAA,EAAO,aAAA,0BACP,YAAA,YACC,CAAA;EAyBH,YAAA,WAAuB,aAAA,yBAAA,CACrB,SAAA,UACA,aAAA,GAAgB,aAAA,GACf,CAAA;EAaH,iBAAA,WAA4B,aAAA,yBAAA,CAC1B,aAAA,YACC,CAAA;EAAA,IAsBC,QAAA,CAAA,GAAY,WAAA,SAAoB,cAAA;EAAA,IAIhC,YAAA,CAAA,GAAgB,WAAA,SAAoB,aAAA;EAAA,IAIpC,eAAA,CAAA,GAAmB,WAAA,SAAoB,wBAAA;EAM3C,SAAA,CAAU,QAAA,WAAmB,cAAA;EAc7B,gBAAA,CAAiB,SAAA,oBAA6B,cAAA;EAM9C,eAAA,CAAgB,SAAA,WAAoB,cAAA;EAYpC,QAAA,CAAA;EAIA,gBAAA,CAAA;EAIA,MAAA,CAAA;EAAA,QAQQ,cAAA;EAAA,QAgDA,kBAAA;EAAA,QAcA,oBAAA;EAAA,QAcA,UAAA;AAAA;AAAA,cAKG,iBAAA,aAA+B,SAAA,0BAC1C,SAAA,EAAW,CAAA,EACX,aAAA,cACC,CAAA;;;cCrTU,eAAA,+BAED,SAAA,CAAU,CAAA,mBAEpB,UAAA,EAAY,UAAA,CAAW,CAAA,GACvB,iBAAA,EAAmB,iBAAA,EACnB,gBAAA,2BACC,CAAA;;;KC9BS,SAAA;AAAA,UAEK,YAAA;EAAA,SACN,IAAA,EAAM,SAAA;EAAA,SACN,UAAA;EAAA,SACA,SAAA;EAAA,SACA,MAAA;EAAA,SACA,MAAA;AAAA;AAAA,cAqBE,WAAA;EAAA,iBAKkB,MAAA;EAAA,QAJrB,MAAA;EAAA,QACA,SAAA;EAAA,iBACS,MAAA;cAEY,MAAA;EAE7B,IAAA,CAAK,KAAA;EAsBL,KAAA,CAAM,OAAA,EAAS,YAAA,EAAc,MAAA;EA0B7B,SAAA,CAAU,KAAA;EAWV,QAAA,CAAA;EAAA,QAIQ,WAAA;EAAA,QAOA,SAAA;AAAA;;;cCzGG,MAAA,GAAU,GAAA,UAAa,IAAA"}
package/dist/index.d.mts CHANGED
@@ -74,18 +74,48 @@ declare const createSchemaType: <E extends string>(name: E, category: SchemaType
74
74
  //#endregion
75
75
  //#region src/runtime/parameter.d.ts
76
76
  /**
77
- * @author ChenTao
77
+ * Runtime marker for `ParameterRef`.
78
78
  *
79
- * 1. If object is used by field arguments, don't specify the graphqlTypeName
80
- * 2. If object is used by directive arguments, graphqlTypeName is required
79
+ * We use a unique symbol instead of string keys to avoid accidental collision
80
+ * with user objects passed as argument literals.
81
81
  */
82
82
  declare const __marker: unique symbol;
83
83
  declare class ParameterRef<TName extends string> {
84
+ /** GraphQL variable name without `$` prefix. */
84
85
  readonly name: TName;
85
- readonly graphqlTypeName?: string | undefined;
86
+ /**
87
+ * Optional GraphQL type annotation (e.g. `Boolean!`, `[String!]`).
88
+ *
89
+ * - Field argument position: usually omitted, type can be inferred from
90
+ * schema `argGraphQLTypeMap`.
91
+ * - Directive/nested position: usually required to register variable type.
92
+ */
93
+ readonly explicitType?: string | undefined;
86
94
  readonly [__marker] = true;
87
95
  private constructor();
88
- static of<TName extends string>(name: TName, graphqlTypeName?: string): ParameterRef<TName>;
96
+ /**
97
+ * Represents a GraphQL variable reference used in DSL argument objects.
98
+ *
99
+ * Example:
100
+ * - `id: ParameterRef.of("postId")` -> `id: $postId`
101
+ *
102
+ * Main use cases:
103
+ * 1. Rename/bind a field argument to a different variable name.
104
+ * 2. Explicitly annotate variable type when runtime cannot infer it from a
105
+ * field argument position (for example directive args or nested literals).
106
+ *
107
+ * When `explicitType` is NOT needed:
108
+ * - Field arg slot with schema type:
109
+ * `q.user({ id: ParameterRef.of("userId") }, (u) => u.id)`
110
+ * `id` type is inferred from schema (`ID!`).
111
+ *
112
+ * When `explicitType` IS needed:
113
+ * - Directive arg slot:
114
+ * `node.$directive("include", { if: ParameterRef.of("withEmail", "Boolean!") })`
115
+ * - Nested input slot without direct arg type context:
116
+ * `q.search({ filter: { keyword: ParameterRef.of("kw", "String!") } }, ...)`
117
+ */
118
+ static of<TName extends string>(name: TName, explicitType?: string): ParameterRef<TName>;
89
119
  }
90
120
  type AcceptableVariables<T extends object> = { [K in keyof T]: T[K] | ParameterRef<string> };
91
121
  type UnresolvedVariables<T, TVariables> = ReversedType<UnresolvedNames<UnresolvedRefs<T>>, TVariables>;
@@ -128,7 +158,7 @@ interface SelectionRuntime<E extends string = string> {
128
158
  readonly operationName?: string;
129
159
  readonly fieldMap: ReadonlyMap<string, FieldSelection>;
130
160
  readonly directiveMap: ReadonlyMap<string, DirectiveArgs>;
131
- readonly variableTypeMap: ReadonlyMap<string, string>;
161
+ readonly variableTypeMap: ReadonlyMap<string, VariableTypeRegistration>;
132
162
  findField(fieldKey: string): FieldSelection | undefined;
133
163
  findFieldsByName(fieldName: string): readonly FieldSelection[];
134
164
  findFieldByName(fieldName: string): FieldSelection | undefined;
@@ -141,6 +171,10 @@ type ShapeOf<F> = F extends Selection<string, infer M, object> ? M : never;
141
171
  type VariablesOf<T> = T extends Selection<string, object, infer TVariables> ? TVariables : never;
142
172
  type Expand<T> = T extends ReadonlyArray<infer U> ? ReadonlyArray<Expand<U>> : T extends Array<infer U> ? Array<Expand<U>> : T extends object ? { [K in keyof T]: Expand<T[K]> } : T;
143
173
  type ValueOrThunk<T> = T | (() => T);
174
+ interface VariableTypeRegistration {
175
+ readonly typeName: string;
176
+ readonly source: string;
177
+ }
144
178
  interface FieldSelection {
145
179
  readonly name: string;
146
180
  readonly argGraphQLTypes?: ReadonlyMap<string, string>;
@@ -252,7 +286,7 @@ declare class SelectionImpl<E extends string, T extends object, TVariables exten
252
286
  withOperationName<F extends SelectionImpl<string, object, object>>(operationName?: string): F;
253
287
  get fieldMap(): ReadonlyMap<string, FieldSelection>;
254
288
  get directiveMap(): ReadonlyMap<string, DirectiveArgs>;
255
- get variableTypeMap(): ReadonlyMap<string, string>;
289
+ get variableTypeMap(): ReadonlyMap<string, VariableTypeRegistration>;
256
290
  findField(fieldKey: string): FieldSelection | undefined;
257
291
  findFieldsByName(fieldName: string): readonly FieldSelection[];
258
292
  findFieldByName(fieldName: string): FieldSelection | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/runtime/schema.ts","../src/runtime/parameter.ts","../src/runtime/field-options.ts","../src/runtime/types.ts","../src/runtime/enum-metadata.ts","../src/runtime/selection.ts","../src/runtime/proxy.ts","../src/runtime/text-builder.ts","../src/runtime/cyrb53.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/runtime/schema.ts","../src/runtime/parameter.ts","../src/runtime/field-options.ts","../src/runtime/types.ts","../src/runtime/enum-metadata.ts","../src/runtime/selection.ts","../src/runtime/proxy.ts","../src/runtime/text-builder.ts","../src/runtime/cyrb53.ts"],"mappings":"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"}