graphql-jit 0.5.0 → 0.7.0

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
@@ -11,7 +11,7 @@ code which yields much better performance. `graphql-jit` leverages this behaviou
11
11
  #### Benchmarks
12
12
 
13
13
  ```bash
14
- $ NODE_ENV=production ts-node -T ./src/__benchmarks__/benchmarks.ts skip-json
14
+ $ yarn benchmark skip-json
15
15
  Starting introspection
16
16
  graphql-js x 1,155 ops/sec ±1.55% (215 runs sampled)
17
17
  graphql-jit x 5,961 ops/sec ±5.34% (216 runs sampled)
@@ -29,8 +29,7 @@ Done in 141.94s.
29
29
 
30
30
  ### Support for GraphQL spec
31
31
 
32
- The goal is to support the [June 2018 version of the GraphQL spec](https://facebook.github.io/graphql/June2018/). At this moment,
33
- the only missing feature is support for Subscriptions.
32
+ The goal is to support the [June 2018 version of the GraphQL spec](https://facebook.github.io/graphql/June2018/).
34
33
 
35
34
  #### Differences to `graphql-js`
36
35
 
@@ -91,10 +90,19 @@ if (!isCompiledQuery(compiledQuery)) {
91
90
  #### Execute the Query
92
91
 
93
92
  ```js
94
- const executionResult = await compiledQuery.query();
93
+ const executionResult = await compiledQuery.query(root, context, variables);
95
94
  console.log(executionResult);
96
95
  ```
97
96
 
97
+ #### Subscribe to the Query
98
+
99
+ ```js
100
+ const result = await compiledQuery.subscribe(root, context, variables);
101
+ for await (const value of result) {
102
+ console.log(value);
103
+ }
104
+ ```
105
+
98
106
  ## API
99
107
 
100
108
  ### compiledQuery = compileQuery(schema, document, operationName, compilerOptions)
@@ -112,14 +120,18 @@ Compiles the `document` AST, using an optional operationName and compiler option
112
120
  for overly expensive serializers
113
121
  - `customJSONSerializer` {boolean, default: false} - Whether to produce also a JSON serializer function using `fast-json-stringify`. The default stringifier function is `JSON.stringify`
114
122
 
115
- #### compiledQuery.compiled(root: any, context: any, variables: Maybe<{ [key: string]: any }>)
123
+ #### compiledQuery.query(root: any, context: any, variables: Maybe<{ [key: string]: any }>)
116
124
 
117
125
  the compiled function that can be called with a root value, a context and the required variables.
118
126
 
127
+ #### compiledQuery.subscribe(root: any, context: any, variables: Maybe<{ [key: string]: any }>)
128
+
129
+ (available for GraphQL Subscription only) the compiled function that can be called with a root value, a context and the required variables to produce either an AsyncIterator (if successful) or an ExecutionResult (error).
130
+
119
131
  #### compiledQuery.stringify(value: any)
120
132
 
121
133
  the compiled function for producing a JSON string. It will be `JSON.stringify` unless `compilerOptions.customJSONSerializer` is true.
122
- The value argument should the return of the compiled GraphQL function.
134
+ The value argument should be the return of the compiled GraphQL function.
123
135
 
124
136
  ## LICENSE
125
137
 
package/dist/ast.d.ts CHANGED
@@ -33,6 +33,20 @@ export declare function resolveFieldDef(compilationContext: CompilationContext,
33
33
  export declare const collectSubfields: (compilationContext: CompilationContext, returnType: GraphQLObjectType, fieldNodes: FieldNode[]) => {
34
34
  [key: string]: FieldNode[];
35
35
  };
36
+ declare type ResponsePathType = "variable" | "literal" | "meta";
37
+ export interface ObjectPath {
38
+ prev: ObjectPath | undefined;
39
+ key: string;
40
+ type: ResponsePathType;
41
+ }
42
+ interface MissingVariablePath {
43
+ valueNode: VariableNode;
44
+ path?: ObjectPath;
45
+ argument?: {
46
+ definition: GraphQLArgument;
47
+ node: ArgumentNode;
48
+ };
49
+ }
36
50
  export interface Arguments {
37
51
  values: {
38
52
  [argument: string]: any;
@@ -48,14 +62,6 @@ export interface Arguments {
48
62
  * Object prototype.
49
63
  */
50
64
  export declare function getArgumentDefs(def: GraphQLField<any, any> | GraphQLDirective, node: FieldNode | DirectiveNode): Arguments;
51
- interface MissingVariablePath {
52
- valueNode: VariableNode;
53
- path?: ObjectPath;
54
- argument?: {
55
- definition: GraphQLArgument;
56
- node: ArgumentNode;
57
- };
58
- }
59
65
  interface ASTValueWithVariables {
60
66
  value: object | string | boolean | symbol | number | null | any[];
61
67
  variables: MissingVariablePath[];
@@ -65,12 +71,6 @@ interface ASTValue {
65
71
  }
66
72
  export declare function valueFromAST(valueNode: ValueNode, type: GraphQLInputType): undefined | ASTValue | ASTValueWithVariables;
67
73
  export declare function computeLocations(nodes: ASTNode[]): SourceLocation[];
68
- export interface ObjectPath {
69
- prev: ObjectPath | undefined;
70
- key: string;
71
- type: ResponsePathType;
72
- }
73
- declare type ResponsePathType = "variable" | "literal" | "meta";
74
74
  export declare function addPath(responsePath: ObjectPath | undefined, key: string, type?: ResponsePathType): ObjectPath;
75
75
  export declare function flattenPath(path: ObjectPath): Array<{
76
76
  key: string;
package/dist/ast.js CHANGED
@@ -11,7 +11,7 @@ const language_1 = require("graphql/language");
11
11
  const type_1 = require("graphql/type");
12
12
  const execution_1 = require("./execution");
13
13
  const inspect_1 = __importDefault(require("./inspect"));
14
- const inspect = inspect_1.default();
14
+ const inspect = (0, inspect_1.default)();
15
15
  /**
16
16
  * Given a selectionSet, adds all of the fields in that selection to
17
17
  * the passed in map of fields, and returns it at the end.
@@ -32,7 +32,7 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
32
32
  var _a;
33
33
  for (const selection of selectionSet.selections) {
34
34
  switch (selection.kind) {
35
- case language_1.Kind.FIELD:
35
+ case language_1.Kind.FIELD: {
36
36
  const name = getFieldEntryKey(selection);
37
37
  if (!fields[name]) {
38
38
  fields[name] = [];
@@ -65,6 +65,7 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
65
65
  augmentFieldNodeTree(compilationContext, fieldNode);
66
66
  fields[name].push(fieldNode);
67
67
  break;
68
+ }
68
69
  case language_1.Kind.INLINE_FRAGMENT:
69
70
  if (!doesFragmentConditionMatch(compilationContext, selection, runtimeType)) {
70
71
  continue;
@@ -75,7 +76,7 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
75
76
  // current fragment's shouldInclude
76
77
  compileSkipInclude(compilationContext, selection)));
77
78
  break;
78
- case language_1.Kind.FRAGMENT_SPREAD:
79
+ case language_1.Kind.FRAGMENT_SPREAD: {
79
80
  const fragName = selection.name.value;
80
81
  if (visitedFragmentNames[fragName]) {
81
82
  continue;
@@ -92,6 +93,7 @@ function collectFieldsImpl(compilationContext, runtimeType, selectionSet, fields
92
93
  // current fragment's shouldInclude
93
94
  compileSkipInclude(compilationContext, selection)));
94
95
  break;
96
+ }
95
97
  }
96
98
  }
97
99
  return fields;
@@ -151,12 +153,14 @@ function augmentFieldNodeTree(compilationContext, rootFieldNode) {
151
153
  * Recursively traverse through sub-selection and combine `shouldInclude`s
152
154
  * from parent and current ones.
153
155
  */
154
- function handle(parentFieldNode, selection) {
156
+ function handle(parentFieldNode, selection, comesFromFragmentSpread = false) {
155
157
  var _a, _b, _c, _d;
156
158
  switch (selection.kind) {
157
159
  case language_1.Kind.FIELD: {
158
160
  const jitFieldNode = selection;
159
- jitFieldNode.__internalShouldInclude = joinShouldIncludeCompilations((_a = parentFieldNode.__internalShouldInclude) !== null && _a !== void 0 ? _a : "", (_b = jitFieldNode.__internalShouldInclude) !== null && _b !== void 0 ? _b : "");
161
+ if (!comesFromFragmentSpread) {
162
+ jitFieldNode.__internalShouldInclude = joinShouldIncludeCompilations((_a = parentFieldNode.__internalShouldInclude) !== null && _a !== void 0 ? _a : "", (_b = jitFieldNode.__internalShouldInclude) !== null && _b !== void 0 ? _b : "");
163
+ }
160
164
  // go further down the query tree
161
165
  for (const selection of (_d = (_c = jitFieldNode.selectionSet) === null || _c === void 0 ? void 0 : _c.selections) !== null && _d !== void 0 ? _d : []) {
162
166
  handle(jitFieldNode, selection);
@@ -165,14 +169,14 @@ function augmentFieldNodeTree(compilationContext, rootFieldNode) {
165
169
  }
166
170
  case language_1.Kind.INLINE_FRAGMENT: {
167
171
  for (const subSelection of selection.selectionSet.selections) {
168
- handle(parentFieldNode, subSelection);
172
+ handle(parentFieldNode, subSelection, true);
169
173
  }
170
174
  break;
171
175
  }
172
176
  case language_1.Kind.FRAGMENT_SPREAD: {
173
177
  const fragment = compilationContext.fragments[selection.name.value];
174
178
  for (const subSelection of fragment.selectionSet.selections) {
175
- handle(parentFieldNode, subSelection);
179
+ handle(parentFieldNode, subSelection, true);
176
180
  }
177
181
  }
178
182
  }
@@ -202,10 +206,6 @@ function augmentFieldNodeTree(compilationContext, rootFieldNode) {
202
206
  * @param compilations
203
207
  */
204
208
  function joinShouldIncludeCompilations(...compilations) {
205
- // remove empty strings
206
- let filteredCompilations = compilations.filter(it => it);
207
- // FIXME(boopathi): Maybe, find a better fix?
208
- //
209
209
  // remove "true" since we are joining with '&&' as `true && X` = `X`
210
210
  // This prevents an explosion of `&& true` which could break
211
211
  // V8's internal size limit for string.
@@ -216,15 +216,12 @@ function joinShouldIncludeCompilations(...compilations) {
216
216
  //
217
217
  // Failing to do this results in [RangeError: invalid array length]
218
218
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_array_length
219
- filteredCompilations = filteredCompilations.filter(it => it.trim() !== "true");
220
- /**
221
- * If we have filtered out everything in the list, it means, we
222
- * called this with a join(true, true, etc...) - returning empty string
223
- * is wrong, so we return a single true
224
- */
225
- if (filteredCompilations.length < 1) {
226
- return "true";
227
- }
219
+ // remove empty strings
220
+ let filteredCompilations = compilations.filter((it) => it);
221
+ // Split conditions by && and flatten it
222
+ filteredCompilations = [].concat(...filteredCompilations.map((e) => e.split(" && ").map((it) => it.trim())));
223
+ // Deduplicate items
224
+ filteredCompilations = Array.from(new Set(filteredCompilations));
228
225
  return filteredCompilations.join(" && ");
229
226
  }
230
227
  /**
@@ -235,7 +232,7 @@ function joinShouldIncludeCompilations(...compilations) {
235
232
  * for which we generate the compiled skipInclude.
236
233
  */
237
234
  function compileSkipInclude(compilationContext, node) {
238
- const gen = generate_function_1.default();
235
+ const gen = (0, generate_function_1.default)();
239
236
  const { skipValue, includeValue } = compileSkipIncludeDirectiveValues(compilationContext, node);
240
237
  /**
241
238
  * Spec: https://spec.graphql.org/June2018/#sec--include
@@ -270,8 +267,8 @@ function compileSkipInclude(compilationContext, node) {
270
267
  */
271
268
  function compileSkipIncludeDirectiveValues(compilationContext, node) {
272
269
  var _a, _b;
273
- const skipDirective = (_a = node.directives) === null || _a === void 0 ? void 0 : _a.find(it => it.name.value === graphql_1.GraphQLSkipDirective.name);
274
- const includeDirective = (_b = node.directives) === null || _b === void 0 ? void 0 : _b.find(it => it.name.value === graphql_1.GraphQLIncludeDirective.name);
270
+ const skipDirective = (_a = node.directives) === null || _a === void 0 ? void 0 : _a.find((it) => it.name.value === graphql_1.GraphQLSkipDirective.name);
271
+ const includeDirective = (_b = node.directives) === null || _b === void 0 ? void 0 : _b.find((it) => it.name.value === graphql_1.GraphQLIncludeDirective.name);
275
272
  const skipValue = skipDirective
276
273
  ? compileSkipIncludeDirective(compilationContext, skipDirective)
277
274
  : // The null here indicates the absense of the directive
@@ -294,7 +291,7 @@ function compileSkipIncludeDirectiveValues(compilationContext, node) {
294
291
  */
295
292
  function compileSkipIncludeDirective(compilationContext, directive) {
296
293
  var _a;
297
- const ifNode = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find(it => it.name.value === "if");
294
+ const ifNode = (_a = directive.arguments) === null || _a === void 0 ? void 0 : _a.find((it) => it.name.value === "if");
298
295
  if (ifNode == null) {
299
296
  throw new graphql_1.GraphQLError(`Directive '${directive.name.value}' is missing required arguments: 'if'`, [directive]);
300
297
  }
@@ -305,7 +302,7 @@ function compileSkipIncludeDirective(compilationContext, directive) {
305
302
  case language_1.Kind.BOOLEAN:
306
303
  return `${ifNode.value.value.toString()}`;
307
304
  default:
308
- throw new graphql_1.GraphQLError(`Argument 'if' on Directive '${directive.name.value}' has an invalid value (${graphql_1.valueFromASTUntyped(ifNode.value)}). Expected type 'Boolean!'`, [ifNode]);
305
+ throw new graphql_1.GraphQLError(`Argument 'if' on Directive '${directive.name.value}' has an invalid value (${(0, graphql_1.valueFromASTUntyped)(ifNode.value)}). Expected type 'Boolean!'`, [ifNode]);
309
306
  }
310
307
  }
311
308
  /**
@@ -319,7 +316,7 @@ function compileSkipIncludeDirective(compilationContext, directive) {
319
316
  */
320
317
  function validateSkipIncludeVariableType(compilationContext, variable) {
321
318
  var _a;
322
- const variableDefinition = (_a = compilationContext.operation.variableDefinitions) === null || _a === void 0 ? void 0 : _a.find(it => it.variable.name.value === variable.name.value);
319
+ const variableDefinition = (_a = compilationContext.operation.variableDefinitions) === null || _a === void 0 ? void 0 : _a.find((it) => it.variable.name.value === variable.name.value);
323
320
  if (variableDefinition == null) {
324
321
  throw new graphql_1.GraphQLError(`Variable '${variable.name.value}' is not defined`, [
325
322
  variable
@@ -354,15 +351,15 @@ function doesFragmentConditionMatch(compilationContext, fragment, type) {
354
351
  if (!typeConditionNode) {
355
352
  return true;
356
353
  }
357
- const conditionalType = graphql_1.typeFromAST(compilationContext.schema, typeConditionNode);
354
+ const conditionalType = (0, graphql_1.typeFromAST)(compilationContext.schema, typeConditionNode);
358
355
  if (conditionalType === type) {
359
356
  return true;
360
357
  }
361
358
  if (!conditionalType) {
362
359
  return false;
363
360
  }
364
- if (type_1.isAbstractType(conditionalType)) {
365
- return compilationContext.schema.isPossibleType(conditionalType, type);
361
+ if ((0, type_1.isAbstractType)(conditionalType)) {
362
+ return compilationContext.schema.isSubType(conditionalType, type);
366
363
  }
367
364
  return false;
368
365
  }
@@ -380,8 +377,11 @@ function getFieldEntryKey(node) {
380
377
  */
381
378
  function resolveFieldDef(compilationContext, parentType, fieldNodes) {
382
379
  const fieldNode = fieldNodes[0];
383
- const fieldName = fieldNode.name.value;
384
- return execute_1.getFieldDef(compilationContext.schema, parentType, fieldName);
380
+ if (graphql_1.versionInfo.major < 16) {
381
+ const fieldName = fieldNode.name.value;
382
+ return (0, execute_1.getFieldDef)(compilationContext.schema, parentType, fieldName);
383
+ }
384
+ return (0, execute_1.getFieldDef)(compilationContext.schema, parentType, fieldNode);
385
385
  }
386
386
  exports.resolveFieldDef = resolveFieldDef;
387
387
  /**
@@ -426,6 +426,7 @@ function memoize3(fn) {
426
426
  cache2 = new WeakMap();
427
427
  cache1.set(a2, cache2);
428
428
  }
429
+ // eslint-disable-next-line prefer-rest-params
429
430
  const newValue = fn(...arguments);
430
431
  cache2.set(a3, newValue);
431
432
  return newValue;
@@ -445,7 +446,7 @@ function getArgumentDefs(def, node) {
445
446
  const missing = [];
446
447
  const argDefs = def.args;
447
448
  const argNodes = node.arguments || [];
448
- const argNodeMap = keyMap(argNodes, arg => arg.name.value);
449
+ const argNodeMap = keyMap(argNodes, (arg) => arg.name.value);
449
450
  for (const argDef of argDefs) {
450
451
  const name = argDef.name;
451
452
  if (argDef.defaultValue !== undefined) {
@@ -469,7 +470,7 @@ function getArgumentDefs(def, node) {
469
470
  // Note: ValuesOfCorrectType validation should catch this before
470
471
  // execution. This is a runtime check to ensure execution does not
471
472
  // continue with an invalid argument value.
472
- throw new graphql_1.GraphQLError(`Argument "${name}" of type \"${argType}\" has invalid value ${graphql_1.print(argumentNode.value)}.`, argumentNode.value);
473
+ throw new graphql_1.GraphQLError(`Argument "${name}" of type "${argType}" has invalid value ${(0, graphql_1.print)(argumentNode.value)}.`, argumentNode.value);
473
474
  }
474
475
  if (isASTValueWithVariables(coercedValue)) {
475
476
  missing.push(...coercedValue.variables.map(({ valueNode, path }) => ({
@@ -479,7 +480,7 @@ function getArgumentDefs(def, node) {
479
480
  }
480
481
  values[name] = coercedValue.value;
481
482
  }
482
- if (graphql_1.isNonNullType(argType) && values[name] === undefined && !hasVariables) {
483
+ if ((0, graphql_1.isNonNullType)(argType) && values[name] === undefined && !hasVariables) {
483
484
  // If no value or a nullish value was provided to a variable with a
484
485
  // non-null type (required), produce an error.
485
486
  throw new graphql_1.GraphQLError(argumentNode
@@ -496,7 +497,7 @@ function isASTValueWithVariables(x) {
496
497
  return !!x.variables;
497
498
  }
498
499
  function valueFromAST(valueNode, type) {
499
- if (graphql_1.isNonNullType(type)) {
500
+ if ((0, graphql_1.isNonNullType)(type)) {
500
501
  if (valueNode.kind === language_1.Kind.NULL) {
501
502
  return; // Invalid: intentionally return no value.
502
503
  }
@@ -511,7 +512,7 @@ function valueFromAST(valueNode, type) {
511
512
  if (valueNode.kind === language_1.Kind.VARIABLE) {
512
513
  return { value: null, variables: [{ valueNode, path: undefined }] };
513
514
  }
514
- if (graphql_1.isListType(type)) {
515
+ if ((0, graphql_1.isListType)(type)) {
515
516
  const itemType = type.ofType;
516
517
  if (valueNode.kind === language_1.Kind.LIST) {
517
518
  const coercedValues = [];
@@ -558,13 +559,13 @@ function valueFromAST(valueNode, type) {
558
559
  }
559
560
  return { value: [coercedValue.value] };
560
561
  }
561
- if (graphql_1.isInputObjectType(type)) {
562
+ if ((0, graphql_1.isInputObjectType)(type)) {
562
563
  if (valueNode.kind !== language_1.Kind.OBJECT) {
563
564
  return; // Invalid: intentionally return no value.
564
565
  }
565
566
  const coercedObj = Object.create(null);
566
567
  const variables = [];
567
- const fieldNodes = keyMap(valueNode.fields, field => field.name.value);
568
+ const fieldNodes = keyMap(valueNode.fields, (field) => field.name.value);
568
569
  const fields = Object.values(type.getFields());
569
570
  for (const field of fields) {
570
571
  if (field.defaultValue !== undefined) {
@@ -588,7 +589,7 @@ function valueFromAST(valueNode, type) {
588
589
  }
589
590
  return { value: coercedObj, variables };
590
591
  }
591
- if (graphql_1.isEnumType(type)) {
592
+ if ((0, graphql_1.isEnumType)(type)) {
592
593
  if (valueNode.kind !== language_1.Kind.ENUM) {
593
594
  return; // Invalid: intentionally return no value.
594
595
  }
@@ -598,14 +599,14 @@ function valueFromAST(valueNode, type) {
598
599
  }
599
600
  return { value: enumValue.value };
600
601
  }
601
- if (graphql_1.isScalarType(type)) {
602
+ if ((0, graphql_1.isScalarType)(type)) {
602
603
  // Scalars fulfill parsing a literal value via parseLiteral().
603
604
  // Invalid values represent a failure to parse correctly, in which case
604
605
  // no value is returned.
605
606
  let result;
606
607
  try {
607
608
  if (type.parseLiteral.length > 1) {
608
- // tslint:disable-next-line
609
+ // eslint-disable-next-line
609
610
  console.error("Scalar with variable inputs detected for parsing AST literals. This is not supported.");
610
611
  }
611
612
  result = type.parseLiteral(valueNode, {});
@@ -647,12 +648,14 @@ exports.valueFromAST = valueFromAST;
647
648
  *
648
649
  */
649
650
  function keyMap(list, keyFn) {
650
- return list.reduce((map, item) => ((map[keyFn(item)] = item), map), Object.create(null));
651
+ return list.reduce(
652
+ // eslint-disable-next-line no-sequences
653
+ (map, item) => ((map[keyFn(item)] = item), map), Object.create(null));
651
654
  }
652
655
  function computeLocations(nodes) {
653
656
  return nodes.reduce((list, node) => {
654
657
  if (node.loc) {
655
- list.push(graphql_1.getLocation(node.loc.source, node.loc.start));
658
+ list.push((0, graphql_1.getLocation)(node.loc.source, node.loc.start));
656
659
  }
657
660
  return list;
658
661
  }, []);
@@ -673,6 +676,7 @@ function flattenPath(path) {
673
676
  }
674
677
  exports.flattenPath = flattenPath;
675
678
  function isInvalid(value) {
679
+ // eslint-disable-next-line no-self-compare
676
680
  return value === undefined || value !== value;
677
681
  }
678
682
  //# sourceMappingURL=ast.js.map
package/dist/ast.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
package/dist/error.js CHANGED
@@ -54,11 +54,6 @@ function GraphQLError(message, locations, path, originalError, skipStackCapturin
54
54
  exports.GraphQLError = GraphQLError;
55
55
  GraphQLError.prototype = Object.create(graphql_1.GraphQLError.prototype, {
56
56
  constructor: { value: GraphQLError },
57
- name: { value: "GraphQLError" },
58
- toString: {
59
- value: function toString() {
60
- return graphql_1.printError(this);
61
- }
62
- }
57
+ name: { value: "GraphQLError" }
63
58
  });
64
59
  //# sourceMappingURL=error.js.map
package/dist/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qCAIiB;AAEjB,SAAgB,YAAY,CAC1B,OAAe,EACf,SAAyC,EACzC,IAAqC,EACrC,aAA4C,EAC5C,kBAA4B;IAE5B,MAAM,UAAU,GAAG,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC;IAC7D,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE;YACP,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,IAAI;SACjB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,SAAS,IAAI,SAAS;YAC7B,UAAU,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;SAC9C;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,IAAI,SAAS;YACxB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;SAC1B;QACD,aAAa,EAAE;YACb,KAAK,EAAE,aAAa;SACrB;QACD,UAAU,EAAE;YACV,wEAAwE;YACxE,yCAAyC;YACzC,KAAK,EAAE,UAAU,IAAI,SAAS;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;SAChC;KACF,CAAC,CAAC;IAEH,wCAAwC;IACxC,IAAI,aAAa,IAAI,aAAa,CAAC,KAAK,EAAE;QACxC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;YACnC,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;KACJ;SAAM,IAAI,CAAC,kBAAkB,EAAE;QAC9B,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAC3B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;gBACnC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK;gBACpB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;SACJ;KACF;AACH,CAAC;AAlDD,oCAkDC;AAEA,YAAoB,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAC7C,sBAAoB,CAAC,SAAS,EAC9B;IACE,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;IACpC,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;IAC/B,QAAQ,EAAE;QACR,KAAK,EAAE,SAAS,QAAQ;YACtB,OAAO,oBAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;KACF;CACF,CACF,CAAC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qCAA+E;AAE/E,SAAgB,YAAY,CAC1B,OAAe,EACf,SAAyC,EACzC,IAAqC,EACrC,aAA4C,EAC5C,kBAA4B;IAE5B,MAAM,UAAU,GAAG,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC;IAC7D,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE;YACP,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,IAAI;SACjB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,SAAS,IAAI,SAAS;YAC7B,UAAU,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;SAC9C;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,IAAI,SAAS;YACxB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;SAC1B;QACD,aAAa,EAAE;YACb,KAAK,EAAE,aAAa;SACrB;QACD,UAAU,EAAE;YACV,wEAAwE;YACxE,yCAAyC;YACzC,KAAK,EAAE,UAAU,IAAI,SAAS;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;SAChC;KACF,CAAC,CAAC;IAEH,wCAAwC;IACxC,IAAI,aAAa,IAAI,aAAa,CAAC,KAAK,EAAE;QACxC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;YACnC,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;KACJ;SAAM,IAAI,CAAC,kBAAkB,EAAE;QAC9B,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAC3B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;SAC7C;aAAM;YACL,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;gBACnC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK;gBACpB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;SACJ;KACF;AACH,CAAC;AAlDD,oCAkDC;AAEA,YAAoB,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAC7C,sBAAoB,CAAC,SAAS,EAC9B;IACE,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;IACpC,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;CAChC,CACF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { TypedDocumentNode } from "@graphql-typed-document-node/core";
1
2
  import { DocumentNode, ExecutionResult, GraphQLError, GraphQLFieldResolver, GraphQLIsTypeOfFn, GraphQLObjectType, GraphQLOutputType, GraphQLSchema } from "graphql";
2
3
  import { ExecutionContext as GraphQLContext } from "graphql/execution/execute";
3
4
  import { FieldNode } from "graphql/language/ast";
@@ -18,34 +19,6 @@ export interface CompilerOptions {
18
19
  };
19
20
  resolverInfoEnricher?: (inp: ResolveInfoEnricherInput) => object;
20
21
  }
21
- /**
22
- * The context used during compilation.
23
- *
24
- * It stores deferred nodes to be processed later as well as the function arguments to be bounded at top level
25
- */
26
- export interface CompilationContext extends GraphQLContext {
27
- resolvers: {
28
- [key: string]: GraphQLFieldResolver<any, any, any>;
29
- };
30
- serializers: {
31
- [key: string]: (c: ExecutionContext, v: any, onError: (c: ExecutionContext, msg: string) => void) => any;
32
- };
33
- hoistedFunctions: string[];
34
- hoistedFunctionNames: Map<string, number>;
35
- typeResolvers: {
36
- [key: string]: GraphQLTypeResolver<any, any>;
37
- };
38
- isTypeOfs: {
39
- [key: string]: GraphQLIsTypeOfFn<any, any>;
40
- };
41
- resolveInfos: {
42
- [key: string]: any;
43
- };
44
- deferred: DeferredField[];
45
- options: CompilerOptions;
46
- depth: number;
47
- }
48
- export declare const GLOBAL_VARIABLES_NAME = "__context.variables";
49
22
  interface ExecutionContext {
50
23
  promiseCounter: number;
51
24
  data: any;
@@ -89,11 +62,42 @@ interface DeferredField {
89
62
  fieldNodes: FieldNode[];
90
63
  args: Arguments;
91
64
  }
92
- export interface CompiledQuery {
93
- operationName?: string;
94
- query: (root: any, context: any, variables: Maybe<{
65
+ /**
66
+ * The context used during compilation.
67
+ *
68
+ * It stores deferred nodes to be processed later as well as the function arguments to be bounded at top level
69
+ */
70
+ export interface CompilationContext extends GraphQLContext {
71
+ resolvers: {
72
+ [key: string]: GraphQLFieldResolver<any, any, any>;
73
+ };
74
+ serializers: {
75
+ [key: string]: (c: ExecutionContext, v: any, onError: (c: ExecutionContext, msg: string) => void) => any;
76
+ };
77
+ hoistedFunctions: string[];
78
+ hoistedFunctionNames: Map<string, number>;
79
+ typeResolvers: {
80
+ [key: string]: GraphQLTypeResolver<any, any>;
81
+ };
82
+ isTypeOfs: {
83
+ [key: string]: GraphQLIsTypeOfFn<any, any>;
84
+ };
85
+ resolveInfos: {
95
86
  [key: string]: any;
96
- }>) => Promise<ExecutionResult> | ExecutionResult;
87
+ };
88
+ deferred: DeferredField[];
89
+ options: CompilerOptions;
90
+ depth: number;
91
+ }
92
+ export declare const GLOBAL_VARIABLES_NAME = "__context.variables";
93
+ export interface CompiledQuery<TResult = {
94
+ [key: string]: any;
95
+ }, TVariables = {
96
+ [key: string]: any;
97
+ }> {
98
+ operationName?: string;
99
+ query: (root: any, context: any, variables: Maybe<TVariables>) => Promise<ExecutionResult<TResult>> | ExecutionResult<TResult>;
100
+ subscribe?: (root: any, context: any, variables: Maybe<TVariables>) => Promise<AsyncIterableIterator<ExecutionResult<TResult>> | ExecutionResult<TResult>>;
97
101
  stringify: (v: any) => string;
98
102
  }
99
103
  /**
@@ -104,7 +108,11 @@ export interface CompiledQuery {
104
108
  * @param partialOptions compilation options to tune the compiler features
105
109
  * @returns {CompiledQuery} the cacheable result
106
110
  */
107
- export declare function compileQuery(schema: GraphQLSchema, document: DocumentNode, operationName?: string, partialOptions?: Partial<CompilerOptions>): CompiledQuery | ExecutionResult;
111
+ export declare function compileQuery<TResult = {
112
+ [key: string]: any;
113
+ }, TVariables = {
114
+ [key: string]: any;
115
+ }>(schema: GraphQLSchema, document: TypedDocumentNode<TResult, TVariables>, operationName?: string, partialOptions?: Partial<CompilerOptions>): CompiledQuery<TResult, TVariables> | ExecutionResult<TResult>;
108
116
  export declare function isCompiledQuery<C extends CompiledQuery, E extends ExecutionResult>(query: C | E): query is C;
109
117
  export declare function createBoundQuery(compilationContext: CompilationContext, document: DocumentNode, func: (context: ExecutionContext) => Promise<any> | undefined, getVariableValues: (inputs: {
110
118
  [key: string]: any;
@@ -124,4 +132,5 @@ export declare function createBoundQuery(compilationContext: CompilationContext,
124
132
  declare function safeMap(context: ExecutionContext, iterable: Iterable<any> | string, cb: (context: ExecutionContext, a: any, index: number, resultArray: any[], ...idx: number[]) => any, ...idx: number[]): any[];
125
133
  export declare function isPromise(value: any): value is Promise<any>;
126
134
  export declare function isPromiseInliner(value: string): string;
135
+ export declare function isAsyncIterable<T = unknown>(val: unknown): val is AsyncIterableIterator<T>;
127
136
  export {};