graphql-jit 0.5.2 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # GraphQL JIT
2
2
 
3
- [![Build Status](https://travis-ci.org/zalando-incubator/graphql-jit.svg?branch=master)](https://travis-ci.org/zalando-incubator/graphql-jit)
4
- [![codecov](https://codecov.io/gh/zalando-incubator/graphql-jit/branch/master/graph/badge.svg)](https://codecov.io/gh/zalando-incubator/graphql-jit)
3
+ ![npm](https://img.shields.io/npm/dw/graphql-jit)
4
+ [![codecov](https://codecov.io/gh/zalando-incubator/graphql-jit/branch/main/graph/badge.svg)](https://codecov.io/gh/zalando-incubator/graphql-jit)
5
5
 
6
6
  ### Why?
7
7
 
@@ -10,27 +10,27 @@ code which yields much better performance. `graphql-jit` leverages this behaviou
10
10
 
11
11
  #### Benchmarks
12
12
 
13
+ GraphQL-JS 16 on Node 16.13.0
13
14
  ```bash
14
15
  $ yarn benchmark skip-json
15
16
  Starting introspection
16
- graphql-js x 1,155 ops/sec ±1.55% (215 runs sampled)
17
- graphql-jit x 5,961 ops/sec ±5.34% (216 runs sampled)
17
+ graphql-js x 1,941 ops/sec ±2.50% (225 runs sampled)
18
+ graphql-jit x 6,158 ops/sec ±2.38% (222 runs sampled)
18
19
  Starting fewResolvers
19
- graphql-js x 14,313 ops/sec ±1.43% (224 runs sampled)
20
- graphql-jit x 409,587 ops/sec ±1.08% (216 runs sampled)
20
+ graphql-js x 26,620 ops/sec ±2.41% (225 runs sampled)
21
+ graphql-jit x 339,223 ops/sec ±2.94% (215 runs sampled)
21
22
  Starting manyResolvers
22
- graphql-js x 13,201 ops/sec ±1.50% (216 runs sampled)
23
- graphql-jit x 229,025 ops/sec ±1.18% (216 runs sampled)
23
+ graphql-js x 16,415 ops/sec ±2.36% (220 runs sampled)
24
+ graphql-jit x 178,331 ops/sec ±2.73% (221 runs sampled)
24
25
  Starting nestedArrays
25
- graphql-js x 108 ops/sec ±1.30% (216 runs sampled)
26
- graphql-jit x 1,317 ops/sec ±2.38% (213 runs sampled)
27
- Done in 141.94s.
26
+ graphql-js x 127 ops/sec ±1.43% (220 runs sampled)
27
+ graphql-jit x 1,316 ops/sec ±2.58% (219 runs sampled)
28
+ Done in 141.25s.
28
29
  ```
29
30
 
30
31
  ### Support for GraphQL spec
31
32
 
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.
33
+ The goal is to support the [June 2018 version of the GraphQL spec](https://facebook.github.io/graphql/June2018/).
34
34
 
35
35
  #### Differences to `graphql-js`
36
36
 
@@ -50,9 +50,9 @@ For complete working examples, check the [examples/](examples) directory
50
50
  #### Create a schema
51
51
 
52
52
  ```js
53
- const typedefs = `
53
+ const typeDefs = `
54
54
  type Query {
55
- hello: string
55
+ hello: String
56
56
  }
57
57
  `;
58
58
  const resolvers = {
@@ -63,8 +63,8 @@ const resolvers = {
63
63
  }
64
64
  };
65
65
 
66
- const { makeExecutableSchema } = require("graphql");
67
- const schema = makeExecutableSchema({ typedefs, resolvers });
66
+ const { makeExecutableSchema } = require("@graphql-tools/schema");
67
+ const schema = makeExecutableSchema({ typeDefs, resolvers });
68
68
  ```
69
69
 
70
70
  #### Compile a Query
@@ -91,10 +91,19 @@ if (!isCompiledQuery(compiledQuery)) {
91
91
  #### Execute the Query
92
92
 
93
93
  ```js
94
- const executionResult = await compiledQuery.query();
94
+ const executionResult = await compiledQuery.query(root, context, variables);
95
95
  console.log(executionResult);
96
96
  ```
97
97
 
98
+ #### Subscribe to the Query
99
+
100
+ ```js
101
+ const result = await compiledQuery.subscribe(root, context, variables);
102
+ for await (const value of result) {
103
+ console.log(value);
104
+ }
105
+ ```
106
+
98
107
  ## API
99
108
 
100
109
  ### compiledQuery = compileQuery(schema, document, operationName, compilerOptions)
@@ -112,14 +121,18 @@ Compiles the `document` AST, using an optional operationName and compiler option
112
121
  for overly expensive serializers
113
122
  - `customJSONSerializer` {boolean, default: false} - Whether to produce also a JSON serializer function using `fast-json-stringify`. The default stringifier function is `JSON.stringify`
114
123
 
115
- #### compiledQuery.compiled(root: any, context: any, variables: Maybe<{ [key: string]: any }>)
124
+ #### compiledQuery.query(root: any, context: any, variables: Maybe<{ [key: string]: any }>)
116
125
 
117
126
  the compiled function that can be called with a root value, a context and the required variables.
118
127
 
128
+ #### compiledQuery.subscribe(root: any, context: any, variables: Maybe<{ [key: string]: any }>)
129
+
130
+ (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).
131
+
119
132
  #### compiledQuery.stringify(value: any)
120
133
 
121
134
  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.
135
+ The value argument should be the return of the compiled GraphQL function.
123
136
 
124
137
  ## LICENSE
125
138
 
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;
@@ -215,9 +217,9 @@ function joinShouldIncludeCompilations(...compilations) {
215
217
  // Failing to do this results in [RangeError: invalid array length]
216
218
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_array_length
217
219
  // remove empty strings
218
- let filteredCompilations = compilations.filter(it => it);
220
+ let filteredCompilations = compilations.filter((it) => it);
219
221
  // Split conditions by && and flatten it
220
- filteredCompilations = [].concat(...filteredCompilations.map(e => e.split(" && ").map(it => it.trim())));
222
+ filteredCompilations = [].concat(...filteredCompilations.map((e) => e.split(" && ").map((it) => it.trim())));
221
223
  // Deduplicate items
222
224
  filteredCompilations = Array.from(new Set(filteredCompilations));
223
225
  return filteredCompilations.join(" && ");
@@ -230,7 +232,7 @@ function joinShouldIncludeCompilations(...compilations) {
230
232
  * for which we generate the compiled skipInclude.
231
233
  */
232
234
  function compileSkipInclude(compilationContext, node) {
233
- const gen = generate_function_1.default();
235
+ const gen = (0, generate_function_1.default)();
234
236
  const { skipValue, includeValue } = compileSkipIncludeDirectiveValues(compilationContext, node);
235
237
  /**
236
238
  * Spec: https://spec.graphql.org/June2018/#sec--include
@@ -265,8 +267,8 @@ function compileSkipInclude(compilationContext, node) {
265
267
  */
266
268
  function compileSkipIncludeDirectiveValues(compilationContext, node) {
267
269
  var _a, _b;
268
- const skipDirective = (_a = node.directives) === null || _a === void 0 ? void 0 : _a.find(it => it.name.value === graphql_1.GraphQLSkipDirective.name);
269
- 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);
270
272
  const skipValue = skipDirective
271
273
  ? compileSkipIncludeDirective(compilationContext, skipDirective)
272
274
  : // The null here indicates the absense of the directive
@@ -289,7 +291,7 @@ function compileSkipIncludeDirectiveValues(compilationContext, node) {
289
291
  */
290
292
  function compileSkipIncludeDirective(compilationContext, directive) {
291
293
  var _a;
292
- 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");
293
295
  if (ifNode == null) {
294
296
  throw new graphql_1.GraphQLError(`Directive '${directive.name.value}' is missing required arguments: 'if'`, [directive]);
295
297
  }
@@ -300,7 +302,7 @@ function compileSkipIncludeDirective(compilationContext, directive) {
300
302
  case language_1.Kind.BOOLEAN:
301
303
  return `${ifNode.value.value.toString()}`;
302
304
  default:
303
- 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]);
304
306
  }
305
307
  }
306
308
  /**
@@ -314,7 +316,7 @@ function compileSkipIncludeDirective(compilationContext, directive) {
314
316
  */
315
317
  function validateSkipIncludeVariableType(compilationContext, variable) {
316
318
  var _a;
317
- 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);
318
320
  if (variableDefinition == null) {
319
321
  throw new graphql_1.GraphQLError(`Variable '${variable.name.value}' is not defined`, [
320
322
  variable
@@ -349,15 +351,15 @@ function doesFragmentConditionMatch(compilationContext, fragment, type) {
349
351
  if (!typeConditionNode) {
350
352
  return true;
351
353
  }
352
- const conditionalType = graphql_1.typeFromAST(compilationContext.schema, typeConditionNode);
354
+ const conditionalType = (0, graphql_1.typeFromAST)(compilationContext.schema, typeConditionNode);
353
355
  if (conditionalType === type) {
354
356
  return true;
355
357
  }
356
358
  if (!conditionalType) {
357
359
  return false;
358
360
  }
359
- if (type_1.isAbstractType(conditionalType)) {
360
- return compilationContext.schema.isPossibleType(conditionalType, type);
361
+ if ((0, type_1.isAbstractType)(conditionalType)) {
362
+ return compilationContext.schema.isSubType(conditionalType, type);
361
363
  }
362
364
  return false;
363
365
  }
@@ -375,8 +377,11 @@ function getFieldEntryKey(node) {
375
377
  */
376
378
  function resolveFieldDef(compilationContext, parentType, fieldNodes) {
377
379
  const fieldNode = fieldNodes[0];
378
- const fieldName = fieldNode.name.value;
379
- 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);
380
385
  }
381
386
  exports.resolveFieldDef = resolveFieldDef;
382
387
  /**
@@ -421,6 +426,7 @@ function memoize3(fn) {
421
426
  cache2 = new WeakMap();
422
427
  cache1.set(a2, cache2);
423
428
  }
429
+ // eslint-disable-next-line prefer-rest-params
424
430
  const newValue = fn(...arguments);
425
431
  cache2.set(a3, newValue);
426
432
  return newValue;
@@ -440,7 +446,7 @@ function getArgumentDefs(def, node) {
440
446
  const missing = [];
441
447
  const argDefs = def.args;
442
448
  const argNodes = node.arguments || [];
443
- const argNodeMap = keyMap(argNodes, arg => arg.name.value);
449
+ const argNodeMap = keyMap(argNodes, (arg) => arg.name.value);
444
450
  for (const argDef of argDefs) {
445
451
  const name = argDef.name;
446
452
  if (argDef.defaultValue !== undefined) {
@@ -464,7 +470,7 @@ function getArgumentDefs(def, node) {
464
470
  // Note: ValuesOfCorrectType validation should catch this before
465
471
  // execution. This is a runtime check to ensure execution does not
466
472
  // continue with an invalid argument value.
467
- 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);
468
474
  }
469
475
  if (isASTValueWithVariables(coercedValue)) {
470
476
  missing.push(...coercedValue.variables.map(({ valueNode, path }) => ({
@@ -474,7 +480,7 @@ function getArgumentDefs(def, node) {
474
480
  }
475
481
  values[name] = coercedValue.value;
476
482
  }
477
- if (graphql_1.isNonNullType(argType) && values[name] === undefined && !hasVariables) {
483
+ if ((0, graphql_1.isNonNullType)(argType) && values[name] === undefined && !hasVariables) {
478
484
  // If no value or a nullish value was provided to a variable with a
479
485
  // non-null type (required), produce an error.
480
486
  throw new graphql_1.GraphQLError(argumentNode
@@ -491,7 +497,7 @@ function isASTValueWithVariables(x) {
491
497
  return !!x.variables;
492
498
  }
493
499
  function valueFromAST(valueNode, type) {
494
- if (graphql_1.isNonNullType(type)) {
500
+ if ((0, graphql_1.isNonNullType)(type)) {
495
501
  if (valueNode.kind === language_1.Kind.NULL) {
496
502
  return; // Invalid: intentionally return no value.
497
503
  }
@@ -506,7 +512,7 @@ function valueFromAST(valueNode, type) {
506
512
  if (valueNode.kind === language_1.Kind.VARIABLE) {
507
513
  return { value: null, variables: [{ valueNode, path: undefined }] };
508
514
  }
509
- if (graphql_1.isListType(type)) {
515
+ if ((0, graphql_1.isListType)(type)) {
510
516
  const itemType = type.ofType;
511
517
  if (valueNode.kind === language_1.Kind.LIST) {
512
518
  const coercedValues = [];
@@ -553,13 +559,13 @@ function valueFromAST(valueNode, type) {
553
559
  }
554
560
  return { value: [coercedValue.value] };
555
561
  }
556
- if (graphql_1.isInputObjectType(type)) {
562
+ if ((0, graphql_1.isInputObjectType)(type)) {
557
563
  if (valueNode.kind !== language_1.Kind.OBJECT) {
558
564
  return; // Invalid: intentionally return no value.
559
565
  }
560
566
  const coercedObj = Object.create(null);
561
567
  const variables = [];
562
- const fieldNodes = keyMap(valueNode.fields, field => field.name.value);
568
+ const fieldNodes = keyMap(valueNode.fields, (field) => field.name.value);
563
569
  const fields = Object.values(type.getFields());
564
570
  for (const field of fields) {
565
571
  if (field.defaultValue !== undefined) {
@@ -583,7 +589,7 @@ function valueFromAST(valueNode, type) {
583
589
  }
584
590
  return { value: coercedObj, variables };
585
591
  }
586
- if (graphql_1.isEnumType(type)) {
592
+ if ((0, graphql_1.isEnumType)(type)) {
587
593
  if (valueNode.kind !== language_1.Kind.ENUM) {
588
594
  return; // Invalid: intentionally return no value.
589
595
  }
@@ -593,14 +599,14 @@ function valueFromAST(valueNode, type) {
593
599
  }
594
600
  return { value: enumValue.value };
595
601
  }
596
- if (graphql_1.isScalarType(type)) {
602
+ if ((0, graphql_1.isScalarType)(type)) {
597
603
  // Scalars fulfill parsing a literal value via parseLiteral().
598
604
  // Invalid values represent a failure to parse correctly, in which case
599
605
  // no value is returned.
600
606
  let result;
601
607
  try {
602
608
  if (type.parseLiteral.length > 1) {
603
- // tslint:disable-next-line
609
+ // eslint-disable-next-line
604
610
  console.error("Scalar with variable inputs detected for parsing AST literals. This is not supported.");
605
611
  }
606
612
  result = type.parseLiteral(valueNode, {});
@@ -642,12 +648,14 @@ exports.valueFromAST = valueFromAST;
642
648
  *
643
649
  */
644
650
  function keyMap(list, keyFn) {
645
- 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));
646
654
  }
647
655
  function computeLocations(nodes) {
648
656
  return nodes.reduce((list, node) => {
649
657
  if (node.loc) {
650
- list.push(graphql_1.getLocation(node.loc.source, node.loc.start));
658
+ list.push((0, graphql_1.getLocation)(node.loc.source, node.loc.start));
651
659
  }
652
660
  return list;
653
661
  }, []);
@@ -668,6 +676,7 @@ function flattenPath(path) {
668
676
  }
669
677
  exports.flattenPath = flattenPath;
670
678
  function isInvalid(value) {
679
+ // eslint-disable-next-line no-self-compare
671
680
  return value === undefined || value !== value;
672
681
  }
673
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 {};