grafast 0.1.1-beta.20 → 0.1.1-beta.21

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 (133) hide show
  1. package/dist/args.js +2 -3
  2. package/dist/assert.js +2 -3
  3. package/dist/constraints.js +1 -2
  4. package/dist/deferred.js +1 -2
  5. package/dist/dev.js +2 -2
  6. package/dist/engine/LayerPlan.d.ts +20 -16
  7. package/dist/engine/LayerPlan.js +5 -10
  8. package/dist/engine/OperationPlan.d.ts +12 -13
  9. package/dist/engine/OperationPlan.js +210 -146
  10. package/dist/engine/OutputPlan.d.ts +4 -4
  11. package/dist/engine/OutputPlan.js +13 -10
  12. package/dist/engine/StepTracker.js +11 -2
  13. package/dist/engine/executeBucket.js +135 -94
  14. package/dist/engine/executeOutputPlan.js +1 -2
  15. package/dist/engine/lib/defaultPlanResolver.d.ts +6 -0
  16. package/dist/engine/lib/defaultPlanResolver.js +11 -0
  17. package/dist/engine/lib/withGlobalLayerPlan.d.ts +2 -2
  18. package/dist/engine/lib/withGlobalLayerPlan.js +4 -5
  19. package/dist/engine/lock.d.ts +3 -3
  20. package/dist/engine/lock.js +3 -3
  21. package/dist/error.js +4 -4
  22. package/dist/establishOperationPlan.js +2 -3
  23. package/dist/execute.js +3 -4
  24. package/dist/exportAs.js +2 -3
  25. package/dist/global.js +2 -3
  26. package/dist/grafastGraphql.js +2 -3
  27. package/dist/grafastPrint.js +7 -8
  28. package/dist/graphqlCollectFields.js +6 -7
  29. package/dist/graphqlMergeSelectionSets.js +1 -2
  30. package/dist/index.d.ts +22 -18
  31. package/dist/index.js +41 -16
  32. package/dist/input.js +75 -28
  33. package/dist/inspect.d.ts +9 -4
  34. package/dist/inspect.js +2 -2
  35. package/dist/interfaces.d.ts +110 -89
  36. package/dist/makeGrafastSchema.d.ts +18 -9
  37. package/dist/makeGrafastSchema.js +64 -30
  38. package/dist/mermaid.js +53 -14
  39. package/dist/middleware.js +1 -2
  40. package/dist/multistep.d.ts +6 -6
  41. package/dist/multistep.js +6 -7
  42. package/dist/operationPlan-input.d.ts +5 -4
  43. package/dist/operationPlan-input.js +131 -399
  44. package/dist/planJSONInterfaces.d.ts +6 -2
  45. package/dist/polymorphic.js +4 -5
  46. package/dist/prepare.js +6 -6
  47. package/dist/step.d.ts +67 -99
  48. package/dist/step.js +99 -127
  49. package/dist/steps/__flag.d.ts +16 -16
  50. package/dist/steps/__flag.js +9 -6
  51. package/dist/steps/__inputDefault.d.ts +14 -0
  52. package/dist/steps/__inputDefault.js +48 -0
  53. package/dist/steps/__inputDynamicScalar.d.ts +2 -4
  54. package/dist/steps/__inputDynamicScalar.js +4 -2
  55. package/dist/steps/__inputList.d.ts +5 -9
  56. package/dist/steps/__inputList.js +4 -1
  57. package/dist/steps/__inputObject.d.ts +6 -11
  58. package/dist/steps/__inputObject.js +13 -3
  59. package/dist/steps/__inputStaticLeaf.d.ts +2 -4
  60. package/dist/steps/__inputStaticLeaf.js +3 -1
  61. package/dist/steps/__item.d.ts +6 -6
  62. package/dist/steps/__item.js +1 -1
  63. package/dist/steps/__trackedValue.d.ts +4 -49
  64. package/dist/steps/__trackedValue.js +24 -6
  65. package/dist/steps/__value.d.ts +3 -3
  66. package/dist/steps/__value.js +3 -2
  67. package/dist/steps/access.d.ts +7 -6
  68. package/dist/steps/access.js +14 -7
  69. package/dist/steps/applyInput.d.ts +44 -0
  70. package/dist/steps/applyInput.js +206 -0
  71. package/dist/steps/applyTransforms.d.ts +2 -2
  72. package/dist/steps/applyTransforms.js +7 -5
  73. package/dist/steps/bakedInput.d.ts +23 -0
  74. package/dist/steps/bakedInput.js +90 -0
  75. package/dist/steps/condition.d.ts +5 -5
  76. package/dist/steps/condition.js +3 -3
  77. package/dist/steps/connection.d.ts +42 -39
  78. package/dist/steps/connection.js +51 -35
  79. package/dist/steps/constant.d.ts +4 -8
  80. package/dist/steps/constant.js +54 -6
  81. package/dist/steps/each.d.ts +3 -3
  82. package/dist/steps/each.js +1 -2
  83. package/dist/steps/error.d.ts +2 -2
  84. package/dist/steps/error.js +3 -3
  85. package/dist/steps/filter.d.ts +3 -2
  86. package/dist/steps/filter.js +1 -2
  87. package/dist/steps/first.d.ts +6 -5
  88. package/dist/steps/first.js +5 -4
  89. package/dist/steps/graphqlResolver.d.ts +2 -2
  90. package/dist/steps/graphqlResolver.js +44 -56
  91. package/dist/steps/groupBy.d.ts +3 -2
  92. package/dist/steps/groupBy.js +1 -2
  93. package/dist/steps/index.d.ts +4 -2
  94. package/dist/steps/index.js +21 -9
  95. package/dist/steps/lambda.d.ts +5 -5
  96. package/dist/steps/lambda.js +4 -4
  97. package/dist/steps/last.d.ts +6 -5
  98. package/dist/steps/last.js +5 -4
  99. package/dist/steps/list.d.ts +7 -7
  100. package/dist/steps/list.js +3 -3
  101. package/dist/steps/listTransform.d.ts +14 -12
  102. package/dist/steps/listTransform.js +14 -7
  103. package/dist/steps/listen.d.ts +6 -8
  104. package/dist/steps/listen.js +7 -7
  105. package/dist/steps/load.d.ts +6 -6
  106. package/dist/steps/load.js +7 -7
  107. package/dist/steps/node.d.ts +16 -10
  108. package/dist/steps/node.js +14 -7
  109. package/dist/steps/object.d.ts +11 -11
  110. package/dist/steps/object.js +5 -5
  111. package/dist/steps/partitionByIndex.d.ts +3 -2
  112. package/dist/steps/partitionByIndex.js +1 -2
  113. package/dist/steps/polymorphicBranch.d.ts +8 -8
  114. package/dist/steps/polymorphicBranch.js +4 -4
  115. package/dist/steps/proxy.d.ts +8 -8
  116. package/dist/steps/proxy.js +3 -3
  117. package/dist/steps/remapKeys.d.ts +6 -6
  118. package/dist/steps/remapKeys.js +3 -3
  119. package/dist/steps/reverse.d.ts +5 -5
  120. package/dist/steps/reverse.js +4 -4
  121. package/dist/steps/setter.d.ts +9 -18
  122. package/dist/steps/setter.js +24 -14
  123. package/dist/steps/sideEffect.d.ts +4 -4
  124. package/dist/steps/sideEffect.js +3 -3
  125. package/dist/stringifyPayload.js +1 -2
  126. package/dist/stripAnsi.js +2 -2
  127. package/dist/subscribe.js +2 -3
  128. package/dist/timeSource.d.ts +0 -1
  129. package/dist/utils.d.ts +43 -31
  130. package/dist/utils.js +97 -61
  131. package/dist/version.d.ts +1 -1
  132. package/dist/version.js +1 -1
  133. package/package.json +2 -2
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unlock = exports.lock = exports.$$unlock = void 0;
3
+ exports.$$unlock = void 0;
4
+ exports.lock = lock;
5
+ exports.unlock = unlock;
4
6
  /**
5
7
  * Used internally to prevent steps using other steps' optimize/finalize/etc
6
8
  * methods.
@@ -56,7 +58,6 @@ function lock($step) {
56
58
  };
57
59
  }
58
60
  }
59
- exports.lock = lock;
60
61
  function unlock($step) {
61
62
  if (isLocked($step)) {
62
63
  $step[exports.$$unlock]();
@@ -66,7 +67,6 @@ function unlock($step) {
66
67
  return false;
67
68
  }
68
69
  }
69
- exports.unlock = unlock;
70
70
  function optimizeLocked() {
71
71
  throw new Error(`Only Grafast may call a step's optimize method; rather than calling optimize on the steps your class depends on, consider opting in to multiple optimization passes via \`allowMultipleOptimizations\`.`);
72
72
  }
package/dist/error.js CHANGED
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isSafeError = exports.SafeError = exports.isFlaggedValue = exports.flagError = exports.$$inhibit = void 0;
4
+ exports.SafeError = exports.$$inhibit = void 0;
5
+ exports.flagError = flagError;
6
+ exports.isFlaggedValue = isFlaggedValue;
7
+ exports.isSafeError = isSafeError;
5
8
  const dev_js_1 = require("./dev.js");
6
9
  const inspect_js_1 = require("./inspect.js");
7
10
  const interfaces_js_1 = require("./interfaces.js");
@@ -42,7 +45,6 @@ exports.$$inhibit = flaggedValue(interfaces_js_1.FLAG_NULL | interfaces_js_1.FLA
42
45
  function flagError(value, planId = null) {
43
46
  return flaggedValue(interfaces_js_1.FLAG_ERROR, value, planId);
44
47
  }
45
- exports.flagError = flagError;
46
48
  /**
47
49
  * Is this a flagged value?
48
50
  *
@@ -51,7 +53,6 @@ exports.flagError = flagError;
51
53
  function isFlaggedValue(value) {
52
54
  return Object.hasOwn(value, $$flagged);
53
55
  }
54
- exports.isFlaggedValue = isFlaggedValue;
55
56
  class SafeError extends Error {
56
57
  static { _a = interfaces_js_1.$$safeError; }
57
58
  static { this.$$export = {
@@ -69,5 +70,4 @@ exports.SafeError = SafeError;
69
70
  function isSafeError(error) {
70
71
  return error[interfaces_js_1.$$safeError];
71
72
  }
72
- exports.isSafeError = isSafeError;
73
73
  //# sourceMappingURL=error.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.establishOperationPlan = void 0;
3
+ exports.establishOperationPlan = establishOperationPlan;
4
4
  const tslib_1 = require("tslib");
5
5
  const lru_1 = tslib_1.__importDefault(require("@graphile/lru"));
6
6
  const debug_1 = tslib_1.__importDefault(require("debug"));
@@ -14,7 +14,7 @@ const debug = (0, debug_1.default)("grafast:establishOperationPlan");
14
14
  const TIMEOUT_TIMEOUT = (typeof process !== "undefined" &&
15
15
  typeof process.env.GRAFAST_TIMEOUT_VALIDITY_MS === "string"
16
16
  ? parseInt(process.env.GRAFAST_TIMEOUT_VALIDITY_MS, 10)
17
- : null) || 60000;
17
+ : null) || 60_000;
18
18
  // OPTIMIZE: we should consider increasing the timeout once the process has been
19
19
  // running a while (since the JIT should have kicked in) - we could even use
20
20
  // `setTimeout` to trigger it after certain amount of time elapsed.
@@ -198,5 +198,4 @@ function establishOperationPlan(schema, operation, fragments, variableValues, co
198
198
  return operationPlan;
199
199
  }
200
200
  }
201
- exports.establishOperationPlan = establishOperationPlan;
202
201
  //# sourceMappingURL=establishOperationPlan.js.map
package/dist/execute.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.execute = exports.withGrafastArgs = void 0;
3
+ exports.withGrafastArgs = withGrafastArgs;
4
+ exports.execute = execute;
4
5
  const tslib_1 = require("tslib");
5
6
  const eventemitter3_1 = tslib_1.__importDefault(require("eventemitter3"));
6
7
  const dev_js_1 = require("./dev.js");
@@ -69,7 +70,6 @@ function withGrafastArgs(args) {
69
70
  return rootValue;
70
71
  }
71
72
  }
72
- exports.withGrafastArgs = withGrafastArgs;
73
73
  function execute(args, legacyResolvedPreset, legacyOutputDataAsString) {
74
74
  // TODO: remove legacy compatibility
75
75
  if (legacyResolvedPreset !== undefined) {
@@ -81,7 +81,7 @@ function execute(args, legacyResolvedPreset, legacyOutputDataAsString) {
81
81
  const { resolvedPreset } = args;
82
82
  const middleware = args.middleware === undefined && resolvedPreset != null
83
83
  ? (0, middleware_js_1.getGrafastMiddleware)(resolvedPreset)
84
- : args.middleware ?? null;
84
+ : (args.middleware ?? null);
85
85
  if (args.middleware === undefined) {
86
86
  args.middleware = middleware;
87
87
  }
@@ -92,6 +92,5 @@ function execute(args, legacyResolvedPreset, legacyOutputDataAsString) {
92
92
  return withGrafastArgs(args);
93
93
  }
94
94
  }
95
- exports.execute = execute;
96
95
  const executeMiddlewareCallback = (event) => withGrafastArgs(event.args);
97
96
  //# sourceMappingURL=execute.js.map
package/dist/exportAs.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exportAsMany = exports.exportAs = void 0;
3
+ exports.exportAs = exportAs;
4
+ exports.exportAsMany = exportAsMany;
4
5
  const utils_js_1 = require("./utils.js");
5
6
  /**
6
7
  * Marks that `thing` is exported from the `grafast` module as
@@ -36,7 +37,6 @@ function exportAs(moduleName, thing, exportName) {
36
37
  }
37
38
  return thing;
38
39
  }
39
- exports.exportAs = exportAs;
40
40
  /**
41
41
  * Marks that each value in `all` is exported from the `grafast`
42
42
  * module as the key in the `all` object so that `graphile-export` can
@@ -53,5 +53,4 @@ function exportAsMany(moduleName, all) {
53
53
  }
54
54
  }
55
55
  }
56
- exports.exportAsMany = exportAsMany;
57
56
  //# sourceMappingURL=exportAs.js.map
package/dist/global.js CHANGED
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDebug = exports.setDebug = void 0;
3
+ exports.setDebug = setDebug;
4
+ exports.getDebug = getDebug;
4
5
  let debug = false;
5
6
  function setDebug(newDebug) {
6
7
  debug = newDebug;
7
8
  }
8
- exports.setDebug = setDebug;
9
9
  function getDebug() {
10
10
  return debug;
11
11
  }
12
- exports.getDebug = getDebug;
13
12
  //# sourceMappingURL=global.js.map
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.grafastSync = exports.grafast = void 0;
3
+ exports.grafast = grafast;
4
+ exports.grafastSync = grafastSync;
4
5
  const tslib_1 = require("tslib");
5
6
  const lru_1 = tslib_1.__importDefault(require("@graphile/lru"));
6
7
  const graphql = tslib_1.__importStar(require("graphql"));
@@ -135,7 +136,6 @@ function grafast(args, legacyResolvedPreset, legacyCtx) {
135
136
  return (0, execute_js_1.execute)(executionArgs);
136
137
  }
137
138
  }
138
- exports.grafast = grafast;
139
139
  function grafastSync(args, legacyResolvedPreset, legacyRequestContext) {
140
140
  const result = grafast(args, legacyResolvedPreset, legacyRequestContext);
141
141
  if ((0, utils_js_1.isPromiseLike)(result)) {
@@ -143,7 +143,6 @@ function grafastSync(args, legacyResolvedPreset, legacyRequestContext) {
143
143
  }
144
144
  return result;
145
145
  }
146
- exports.grafastSync = grafastSync;
147
146
  function validateSchemaWithEvent(event) {
148
147
  return validateSchema(event.schema);
149
148
  }
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ansiPad = exports.grafastPrint = exports.grafastColor = exports.printStore = exports.recursivePrintBucket = exports._grafastPrint = void 0;
3
+ exports._grafastPrint = _grafastPrint;
4
+ exports.recursivePrintBucket = recursivePrintBucket;
5
+ exports.printStore = printStore;
6
+ exports.grafastColor = grafastColor;
7
+ exports.grafastPrint = grafastPrint;
8
+ exports.ansiPad = ansiPad;
4
9
  const tslib_1 = require("tslib");
5
10
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
11
  const executeBucket_js_1 = require("./engine/executeBucket.js");
@@ -50,7 +55,7 @@ function _grafastPrint(symbol, seen) {
50
55
  if (symbol === utils_js_1.ROOT_VALUE_OBJECT) {
51
56
  return chalk_1.default.gray `(blank)`;
52
57
  }
53
- if (symbol instanceof step_js_1.ExecutableStep) {
58
+ if (symbol instanceof step_js_1.Step) {
54
59
  return String(symbol);
55
60
  }
56
61
  if (Array.isArray(symbol)) {
@@ -103,7 +108,6 @@ function _grafastPrint(symbol, seen) {
103
108
  }
104
109
  return grafastPrintSymbol(symbol);
105
110
  }
106
- exports._grafastPrint = _grafastPrint;
107
111
  function isBucket(thing) {
108
112
  return (typeof thing === "object" &&
109
113
  thing !== null &&
@@ -134,7 +138,6 @@ ${Object.entries(bucket.children)
134
138
  .map(([_id, { bucket }]) => indent(4, recursivePrintBucket(bucket)))
135
139
  .join("\n")}`);
136
140
  }
137
- exports.recursivePrintBucket = recursivePrintBucket;
138
141
  const PRINT_STORE_INSPECT_OPTIONS = {
139
142
  colors: true,
140
143
  depth: 0,
@@ -170,12 +173,10 @@ function printStore(bucket) {
170
173
  }
171
174
  return output.join("\n") || "EMPTY";
172
175
  }
173
- exports.printStore = printStore;
174
176
  function grafastColor(text, n) {
175
177
  const color = COLORS[Math.abs(n) % COLORS.length];
176
178
  return color(text);
177
179
  }
178
- exports.grafastColor = grafastColor;
179
180
  const symbolsByAlias = new Map();
180
181
  let symbolClear = null;
181
182
  /**
@@ -213,7 +214,6 @@ function grafastPrintSymbol(symbol) {
213
214
  function grafastPrint(symbol) {
214
215
  return _grafastPrint(symbol, new Set());
215
216
  }
216
- exports.grafastPrint = grafastPrint;
217
217
  /**
218
218
  * An ANSI-aware pad function; strips ANSI sequences from the string, figures
219
219
  * out how much it needs to pad it by, and then pads the original string by
@@ -235,5 +235,4 @@ function ansiPad(ansiString, targetLength, fill, position) {
235
235
  return ansiString;
236
236
  }
237
237
  }
238
- exports.ansiPad = ansiPad;
239
238
  //# sourceMappingURL=grafastPrint.js.map
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.graphqlCollectFields = exports.newSelectionSetDigest = exports.evalDirectiveArgDirect = exports.evalDirectiveArg = void 0;
3
+ exports.evalDirectiveArg = evalDirectiveArg;
4
+ exports.evalDirectiveArgDirect = evalDirectiveArgDirect;
5
+ exports.newSelectionSetDigest = newSelectionSetDigest;
6
+ exports.graphqlCollectFields = graphqlCollectFields;
4
7
  const tslib_1 = require("tslib");
5
8
  const graphql = tslib_1.__importStar(require("graphql"));
6
9
  const error_js_1 = require("./error.js");
@@ -32,7 +35,6 @@ function evalDirectiveArg(selection, directiveName, argumentName, variableValues
32
35
  return undefined;
33
36
  return evalDirectiveArgDirect(directive, argumentName, variableValuesStep, defaultValue);
34
37
  }
35
- exports.evalDirectiveArg = evalDirectiveArg;
36
38
  function evalDirectiveArgDirect(directive, argumentName, variableValuesStep, defaultValue) {
37
39
  if (!directive.arguments)
38
40
  return defaultValue;
@@ -67,7 +69,6 @@ function evalDirectiveArgDirect(directive, argumentName, variableValuesStep, def
67
69
  return defaultValue;
68
70
  }
69
71
  }
70
- exports.evalDirectiveArgDirect = evalDirectiveArgDirect;
71
72
  /**
72
73
  * Implements the `DoesFragmentTypeApply` algorithm from the GraphQL
73
74
  * specification.
@@ -96,10 +97,10 @@ const processFragment = (operationPlan, parentStepId, objectType, isMutation, se
96
97
  const trackedVariableValuesStep = operationPlan.trackedVariableValuesStep;
97
98
  const defer = selection.directives?.find((d) => d.name.value === "defer");
98
99
  const deferIf = defer
99
- ? evalDirectiveArgDirect(defer, "if", trackedVariableValuesStep, true) ?? true
100
+ ? (evalDirectiveArgDirect(defer, "if", trackedVariableValuesStep, true) ?? true)
100
101
  : undefined;
101
102
  const label = defer
102
- ? evalDirectiveArgDirect(defer, "label", trackedVariableValuesStep, null) ?? undefined
103
+ ? (evalDirectiveArgDirect(defer, "label", trackedVariableValuesStep, null) ?? undefined)
103
104
  : undefined;
104
105
  const deferredDigest = deferIf === true
105
106
  ? {
@@ -127,7 +128,6 @@ function newSelectionSetDigest(resolverEmulation) {
127
128
  resolverEmulation,
128
129
  };
129
130
  }
130
- exports.newSelectionSetDigest = newSelectionSetDigest;
131
131
  /**
132
132
  * Implements the `GraphQLCollectFields` algorithm - like `CollectFields` the
133
133
  * GraphQL spec, but modified such that access to variables is tracked.
@@ -225,5 +225,4 @@ visitedFragments = Object.create(null)) {
225
225
  }
226
226
  return selectionSetDigest;
227
227
  }
228
- exports.graphqlCollectFields = graphqlCollectFields;
229
228
  //# sourceMappingURL=graphqlCollectFields.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fieldSelectionsForType = void 0;
3
+ exports.fieldSelectionsForType = fieldSelectionsForType;
4
4
  const tslib_1 = require("tslib");
5
5
  const graphql = tslib_1.__importStar(require("graphql"));
6
6
  const inspect_js_1 = require("./inspect.js");
@@ -56,5 +56,4 @@ function fieldSelectionsForType(operationPlan, type, selections, result = []) {
56
56
  }
57
57
  return result;
58
58
  }
59
- exports.fieldSelectionsForType = fieldSelectionsForType;
60
59
  //# sourceMappingURL=graphqlMergeSelectionSets.js.map
package/dist/index.d.ts CHANGED
@@ -9,25 +9,27 @@ import { grafastPrint } from "./grafastPrint.js";
9
9
  import { EnumPlans, FieldPlans, GrafastPlans, InputObjectPlans, InterfaceOrUnionPlans, makeGrafastSchema, ObjectPlans, ScalarPlans } from "./makeGrafastSchema.js";
10
10
  import { defer, Deferred } from "./deferred.js";
11
11
  import { isDev, noop } from "./dev.js";
12
+ import { defaultPlanResolver } from "./engine/lib/defaultPlanResolver.js";
12
13
  import { isUnaryStep } from "./engine/lib/withGlobalLayerPlan.js";
13
14
  import { OperationPlan } from "./engine/OperationPlan.js";
14
15
  import { $$inhibit, flagError, isSafeError, SafeError } from "./error.js";
15
16
  import { execute } from "./execute.js";
16
17
  import { grafast, grafastSync } from "./grafastGraphql.js";
17
- import type { $$cacheByOperation, $$hooked, $$queryCache, CacheByOperationEntry, DataFromStep, EstablishOperationPlanEvent, ExecuteEvent, ExecuteStepEvent, GrafastExecutionArgs, GrafastTimeouts, ParseAndValidateEvent, PrepareArgsEvent, ScalarInputPlanResolver, StreamStepEvent, ValidateSchemaEvent } from "./interfaces.js";
18
- import { $$bypassGraphQL, $$eventEmitter, $$extensions, $$idempotent, $$verbatim, ArgumentApplyPlanResolver, ArgumentInputPlanResolver, BaseEventMap, BaseGraphQLArguments, BaseGraphQLRootValue, BaseGraphQLVariables, EnumValueApplyPlanResolver, EventCallback, EventMapKey, ExecutionDetails, ExecutionEventEmitter, ExecutionEventMap, ExecutionExtra, FieldArgs, FieldInfo, FieldPlanResolver, GrafastArgumentConfig, GrafastFieldConfig, GrafastFieldConfigArgumentMap, GrafastInputFieldConfig, GrafastPlanJSON, GrafastResultsList, GrafastResultStreamList, GrafastSubscriber, GrafastValuesList, InputObjectFieldApplyPlanResolver, InputObjectFieldInputPlanResolver, InputObjectTypeInputPlanResolver, InputStep, JSONArray, JSONObject, JSONValue, Maybe, NodeIdCodec, NodeIdHandler, OutputPlanForType, PolymorphicData, PromiseOrDirect, ScalarPlanResolver, StepOptimizeOptions, StepStreamOptions, TypedEventEmitter, UnbatchedExecutionExtra } from "./interfaces.js";
18
+ import type { $$cacheByOperation, $$hooked, $$queryCache, ArgumentApplyPlanResolver, BatchExecutionValue, CacheByOperationEntry, DataFromStep, EnumValueApplyResolver, EstablishOperationPlanEvent, ExecuteEvent, ExecuteStepEvent, ExecutionValue, GrafastExecutionArgs, GrafastTimeouts, InputObjectFieldApplyResolver, InputObjectTypeBakedInfo, InputObjectTypeBakedResolver, ParseAndValidateEvent, PrepareArgsEvent, ScalarInputPlanResolver, UnaryExecutionValue, ValidateSchemaEvent } from "./interfaces.js";
19
+ import { $$bypassGraphQL, $$eventEmitter, $$extensions, $$idempotent, $$verbatim, BaseEventMap, BaseGraphQLArguments, BaseGraphQLRootValue, BaseGraphQLVariables, EventCallback, EventMapKey, ExecutionDetails, ExecutionDetailsStream, ExecutionEventEmitter, ExecutionEventMap, ExecutionExtra, ExecutionResults, ExecutionResultValue, FieldArg, FieldArgs, FieldInfo, FieldPlanResolver, GrafastArgumentConfig, GrafastFieldConfig, GrafastFieldConfigArgumentMap, GrafastInputFieldConfig, GrafastPlanJSON, GrafastResultsList, GrafastResultStreamList, GrafastSubscriber, GrafastValuesList, JSONArray, JSONObject, JSONValue, Maybe, NodeIdCodec, NodeIdHandler, OutputPlanForType, PolymorphicData, PromiseOrDirect, ScalarPlanResolver, StepOptimizeOptions, StepStreamOptions, TypedEventEmitter, UnbatchedExecutionExtra } from "./interfaces.js";
19
20
  import { getGrafastMiddleware } from "./middleware.js";
20
21
  import type { Multistep, UnwrapMultistep } from "./multistep.js";
21
22
  import { multistep } from "./multistep.js";
23
+ import { getNullableInputTypeAtPath } from "./operationPlan-input.js";
22
24
  import { polymorphicWrap } from "./polymorphic.js";
23
- import { assertExecutableStep, assertListCapableStep, assertModifierStep, BaseStep, ExecutableStep, isExecutableStep, isListCapableStep, isListLikeStep, isModifierStep, isObjectLikeStep, isStreamableStep, ListCapableStep, ListLikeStep, ModifierStep, ObjectLikeStep, PolymorphicStep, StreamableStep, UnbatchedExecutableStep } from "./step.js";
24
- import { __FlagStep, __InputListStep, __InputObjectStep, __InputObjectStepWithDollars, __InputStaticLeafStep, __ItemStep, __ListTransformStep, __TrackedValueStep, __TrackedValueStepWithDollars, __ValueStep, access, AccessStep, ActualKeyByDesiredKey, applyTransforms, ApplyTransformsStep, assertEdgeCapableStep, assertNotNull, assertPageInfoCapableStep, condition, ConditionStep, connection, ConnectionCapableStep, ConnectionStep, constant, ConstantStep, context, debugPlans, each, EdgeCapableStep, EdgeStep, error, ErrorStep, filter, FilterPlanMemo, first, FirstStep, GraphQLItemHandler, graphqlItemHandler, graphqlResolver, GraphQLResolverStep, groupBy, GroupByPlanMemo, inhibitOnNull, lambda, LambdaStep, last, LastStep, list, listen, ListenStep, ListStep, listTransform, ListTransformItemPlanCallback, ListTransformOptions, ListTransformReduce, LoadedRecordStep, loadMany, LoadManyCallback, loadManyCallback, loadOne, LoadOneCallback, loadOneCallback, LoadOptions, LoadStep, makeDecodeNodeId, node, nodeIdFromNode, NodeStep, object, ObjectPlanMeta, ObjectStep, operationPlan, PageInfoCapableStep, partitionByIndex, polymorphicBranch, PolymorphicBranchMatcher, PolymorphicBranchMatchers, PolymorphicBranchStep, proxy, ProxyStep, remapKeys, RemapKeysStep, reverse, reverseArray, ReverseStep, rootValue, setter, SetterCapableStep, SetterStep, sideEffect, SideEffectStep, specFromNodeId, trackedContext, trackedRootValue, trap, TRAP_ERROR, TRAP_ERROR_OR_INHIBITED, TRAP_INHIBITED } from "./steps/index.js";
25
+ import { assertExecutableStep, assertListCapableStep, assertStep, isExecutableStep, isListCapableStep, isListLikeStep, isObjectLikeStep, isStep, ListCapableStep, ListLikeStep, ObjectLikeStep, PolymorphicStep, Step, UnbatchedStep } from "./step.js";
26
+ import { __FlagStep, __InputListStep, __InputObjectStep, __InputObjectStepWithDollars, __InputStaticLeafStep, __ItemStep, __ListTransformStep, __TrackedValueStep, __TrackedValueStepWithDollars, __ValueStep, access, AccessStep, ActualKeyByDesiredKey, applyInput, ApplyInputStep, applyTransforms, ApplyTransformsStep, assertEdgeCapableStep, assertModifier, assertNotNull, assertPageInfoCapableStep, bakedInput, bakedInputRuntime, BakedInputStep, condition, ConditionStep, connection, ConnectionCapableStep, ConnectionStep, constant, ConstantStep, context, createObjectAndApplyChildren, debugPlans, each, EdgeCapableStep, EdgeStep, error, ErrorStep, filter, FilterPlanMemo, first, FirstStep, GraphQLItemHandler, graphqlItemHandler, graphqlResolver, GraphQLResolverStep, groupBy, GroupByPlanMemo, inhibitOnNull, isModifier, lambda, LambdaStep, last, LastStep, list, listen, ListenStep, ListStep, listTransform, ListTransformItemPlanCallback, ListTransformOptions, ListTransformReduce, LoadedRecordStep, loadMany, LoadManyCallback, loadManyCallback, loadOne, LoadOneCallback, loadOneCallback, LoadOptions, LoadStep, makeDecodeNodeId, makeDecodeNodeIdRuntime, Modifier, node, nodeIdFromNode, NodeStep, object, ObjectPlanMeta, ObjectStep, operationPlan, PageInfoCapableStep, partitionByIndex, polymorphicBranch, PolymorphicBranchMatcher, PolymorphicBranchMatchers, PolymorphicBranchStep, proxy, ProxyStep, remapKeys, RemapKeysStep, reverse, reverseArray, ReverseStep, rootValue, Setter, setter, SetterCapable, sideEffect, SideEffectStep, specFromNodeId, trackedContext, trackedRootValue, trap, TRAP_ERROR, TRAP_ERROR_OR_INHIBITED, TRAP_INHIBITED } from "./steps/index.js";
25
27
  import { stringifyPayload } from "./stringifyPayload.js";
26
28
  import { stripAnsi } from "./stripAnsi.js";
27
29
  import { subscribe } from "./subscribe.js";
28
- import { arrayOfLength, arraysMatch, getEnumValueConfig, GrafastInputFieldConfigMap, GrafastInputObjectType, GrafastObjectType, inputObjectFieldSpec, InputObjectTypeSpec, isPromiseLike, newGrafastFieldConfigBuilder, newInputObjectTypeBuilder, newObjectTypeBuilder, objectFieldSpec, objectSpec, ObjectTypeFields, ObjectTypeSpec, stepADependsOnStepB, stepAMayDependOnStepB, stepsAreInSamePhase } from "./utils.js";
30
+ import { arrayOfLength, arraysMatch, getEnumValueConfig, getEnumValueConfigs, GrafastInputFieldConfigMap, GrafastInputObjectType, GrafastObjectType, inputObjectFieldSpec, InputObjectTypeSpec, isPromiseLike, newGrafastFieldConfigBuilder, newInputObjectTypeBuilder, newObjectTypeBuilder, objectFieldSpec, objectSpec, ObjectTypeFields, ObjectTypeSpec, stepADependsOnStepB, stepAMayDependOnStepB, stepsAreInSamePhase } from "./utils.js";
29
31
  export { isAsyncIterable } from "iterall";
30
- export { __FlagStep, __InputListStep, __InputObjectStep, __InputObjectStepWithDollars, __InputStaticLeafStep, __ItemStep, __ListTransformStep, __TrackedValueStep, __TrackedValueStepWithDollars, __ValueStep, $$bypassGraphQL, $$eventEmitter, $$extensions, $$idempotent, $$inhibit, $$verbatim, access, AccessStep, ActualKeyByDesiredKey, applyTransforms, ApplyTransformsStep, ArgumentApplyPlanResolver, ArgumentInputPlanResolver, arrayOfLength, arraysMatch, assertEdgeCapableStep, assertExecutableStep, assertListCapableStep, assertModifierStep, assertNotNull, assertPageInfoCapableStep, BaseEventMap, BaseGraphQLArguments, BaseGraphQLRootValue, BaseGraphQLVariables, BaseStep, condition, ConditionStep, connection, ConnectionCapableStep, ConnectionStep, constant, ConstantStep, context, DataFromObjectSteps, DataFromStep, debugPlans, defer, Deferred, each, EdgeCapableStep, EdgeStep, EnumPlans, EnumValueApplyPlanResolver, error, ErrorStep, EventCallback, EventMapKey, ExecutableStep, execute, ExecutionDetails, ExecutionEventEmitter, ExecutionEventMap, ExecutionExtra, exportAs, exportAsMany, FieldArgs, FieldInfo, FieldPlanResolver, FieldPlans, filter, FilterPlanMemo, first, FirstStep, flagError, getEnumValueConfig, getGrafastMiddleware, grafast, GrafastArgumentConfig, GrafastExecutionArgs, GrafastFieldConfig, GrafastFieldConfigArgumentMap, grafast as grafastGraphql, grafastSync as grafastGraphqlSync, GrafastInputFieldConfig, GrafastInputFieldConfigMap, GrafastInputObjectType, GrafastObjectType, GrafastPlanJSON, GrafastPlans, grafastPrint, GrafastResultsList, GrafastResultStreamList, GrafastSubscriber, grafastSync, GrafastValuesList, GraphQLItemHandler, graphqlItemHandler, graphqlResolver, GraphQLResolverStep, groupBy, GroupByPlanMemo, inhibitOnNull, InputObjectFieldApplyPlanResolver, InputObjectFieldInputPlanResolver, inputObjectFieldSpec, InputObjectPlans, InputObjectTypeInputPlanResolver, InputObjectTypeSpec, InputStep, InterfaceOrUnionPlans, isDev, isExecutableStep, isListCapableStep, isListLikeStep, isModifierStep, isObjectLikeStep, isPromiseLike, isSafeError, isStreamableStep, isUnaryStep, JSONArray, JSONObject, JSONValue, lambda, LambdaStep, last, LastStep, list, ListCapableStep, listen, ListenStep, ListLikeStep, ListStep, listTransform, ListTransformItemPlanCallback, ListTransformOptions, ListTransformReduce, LoadedRecordStep, loadMany, LoadManyCallback, loadManyCallback, loadOne, LoadOneCallback, loadOneCallback, LoadOptions, LoadStep, makeDecodeNodeId, makeGrafastSchema, Maybe, ModifierStep, Multistep, multistep, newGrafastFieldConfigBuilder, newInputObjectTypeBuilder, newObjectTypeBuilder, node, NodeIdCodec, nodeIdFromNode, NodeIdHandler, NodeStep, noop, object, objectFieldSpec, ObjectLikeStep, ObjectPlanMeta, ObjectPlans, objectSpec, ObjectStep, ObjectTypeFields, ObjectTypeSpec, OperationPlan, operationPlan, OutputPlanForType, PageInfoCapableStep, partitionByIndex, polymorphicBranch, PolymorphicBranchMatcher, PolymorphicBranchMatchers, PolymorphicBranchStep, PolymorphicData, PolymorphicStep, polymorphicWrap, PromiseOrDirect, proxy, ProxyStep, remapKeys, RemapKeysStep, reverse, reverseArray, ReverseStep, rootValue, SafeError, ScalarPlanResolver, ScalarPlans, setter, SetterCapableStep, SetterStep, sideEffect, SideEffectStep, specFromNodeId, stepADependsOnStepB, stepAMayDependOnStepB, StepOptimizeOptions, stepsAreInSamePhase, StepStreamOptions, StreamableStep, stringifyPayload, stripAnsi, subscribe, trackedContext, trackedRootValue, trap, TRAP_ERROR, TRAP_ERROR_OR_INHIBITED, TRAP_INHIBITED, TypedEventEmitter, UnbatchedExecutableStep, UnbatchedExecutionExtra, UnwrapMultistep, };
32
+ export { __FlagStep, __InputListStep, __InputObjectStep, __InputObjectStepWithDollars, __InputStaticLeafStep, __ItemStep, __ListTransformStep, __TrackedValueStep, __TrackedValueStepWithDollars, __ValueStep, $$bypassGraphQL, $$eventEmitter, $$extensions, $$idempotent, $$inhibit, $$verbatim, access, AccessStep, ActualKeyByDesiredKey, applyInput, ApplyInputStep, applyTransforms, ApplyTransformsStep, arrayOfLength, arraysMatch, assertEdgeCapableStep, assertExecutableStep, assertListCapableStep, assertModifier, assertNotNull, assertPageInfoCapableStep, assertStep, bakedInput, bakedInputRuntime, BakedInputStep, BaseEventMap, BaseGraphQLArguments, BaseGraphQLRootValue, BaseGraphQLVariables, BatchExecutionValue, condition, ConditionStep, connection, ConnectionCapableStep, ConnectionStep, constant, ConstantStep, context, createObjectAndApplyChildren, DataFromObjectSteps, DataFromStep, debugPlans, defaultPlanResolver, defer, Deferred, each, EdgeCapableStep, EdgeStep, EnumPlans, error, ErrorStep, EventCallback, EventMapKey, Step as ExecutableStep, execute, ExecutionDetails, ExecutionDetailsStream, ExecutionEventEmitter, ExecutionEventMap, ExecutionExtra, ExecutionResults, ExecutionResultValue, ExecutionValue, exportAs, exportAsMany, FieldArg, FieldArgs, FieldInfo, FieldPlanResolver, FieldPlans, filter, FilterPlanMemo, first, FirstStep, flagError, getEnumValueConfig, getEnumValueConfigs, getGrafastMiddleware, getNullableInputTypeAtPath, grafast, GrafastArgumentConfig, GrafastExecutionArgs, GrafastFieldConfig, GrafastFieldConfigArgumentMap, grafast as grafastGraphql, grafastSync as grafastGraphqlSync, GrafastInputFieldConfig, GrafastInputFieldConfigMap, GrafastInputObjectType, GrafastObjectType, GrafastPlanJSON, GrafastPlans, grafastPrint, GrafastResultsList, GrafastResultStreamList, GrafastSubscriber, grafastSync, GrafastValuesList, GraphQLItemHandler, graphqlItemHandler, graphqlResolver, GraphQLResolverStep, groupBy, GroupByPlanMemo, inhibitOnNull, InputObjectFieldApplyResolver, inputObjectFieldSpec, InputObjectPlans, InputObjectTypeBakedInfo, InputObjectTypeBakedResolver, InputObjectTypeSpec, InterfaceOrUnionPlans, isDev, isExecutableStep, isListCapableStep, isListLikeStep, isModifier, isObjectLikeStep, isPromiseLike, isSafeError, isStep, isUnaryStep, JSONArray, JSONObject, JSONValue, lambda, LambdaStep, last, LastStep, list, ListCapableStep, listen, ListenStep, ListLikeStep, ListStep, listTransform, ListTransformItemPlanCallback, ListTransformOptions, ListTransformReduce, LoadedRecordStep, loadMany, LoadManyCallback, loadManyCallback, loadOne, LoadOneCallback, loadOneCallback, LoadOptions, LoadStep, makeDecodeNodeId, makeDecodeNodeIdRuntime, makeGrafastSchema, Maybe, Modifier, Multistep, multistep, newGrafastFieldConfigBuilder, newInputObjectTypeBuilder, newObjectTypeBuilder, node, NodeIdCodec, nodeIdFromNode, NodeIdHandler, NodeStep, noop, object, objectFieldSpec, ObjectLikeStep, ObjectPlanMeta, ObjectPlans, objectSpec, ObjectStep, ObjectTypeFields, ObjectTypeSpec, OperationPlan, operationPlan, OutputPlanForType, PageInfoCapableStep, partitionByIndex, polymorphicBranch, PolymorphicBranchMatcher, PolymorphicBranchMatchers, PolymorphicBranchStep, PolymorphicData, PolymorphicStep, polymorphicWrap, PromiseOrDirect, proxy, ProxyStep, remapKeys, RemapKeysStep, reverse, reverseArray, ReverseStep, rootValue, SafeError, ScalarPlanResolver, ScalarPlans, Setter, setter, SetterCapable, sideEffect, SideEffectStep, specFromNodeId, Step, stepADependsOnStepB, stepAMayDependOnStepB, StepOptimizeOptions, stepsAreInSamePhase, StepStreamOptions, stringifyPayload, stripAnsi, subscribe, trackedContext, trackedRootValue, trap, TRAP_ERROR, TRAP_ERROR_OR_INHIBITED, TRAP_INHIBITED, TypedEventEmitter, UnaryExecutionValue, UnbatchedStep as UnbatchedExecutableStep, UnbatchedExecutionExtra, UnbatchedStep, UnwrapMultistep, };
31
33
  export { hookArgs } from "./args.js";
32
34
  export { version } from "./version.js";
33
35
  /** @deprecated Renamed to 'applyTransforms' */
@@ -59,23 +61,25 @@ declare global {
59
61
  subscribePlan?: FieldPlanResolver<any, any, any>;
60
62
  }
61
63
  interface ArgumentExtensions {
62
- inputPlan?: ArgumentInputPlanResolver;
63
64
  applyPlan?: ArgumentApplyPlanResolver;
64
- autoApplyAfterParentPlan?: boolean;
65
- autoApplyAfterParentSubscribePlan?: boolean;
65
+ applySubscribePlan?: ArgumentApplyPlanResolver;
66
+ inputPlan?: never;
67
+ autoApplyAfterParentPlan?: never;
68
+ autoApplyAfterParentSubscribePlan?: never;
66
69
  }
67
70
  interface InputObjectTypeExtensions {
68
- inputPlan?: InputObjectTypeInputPlanResolver;
71
+ baked?: InputObjectTypeBakedResolver;
69
72
  }
70
73
  interface InputFieldExtensions {
71
- inputPlan?: InputObjectFieldInputPlanResolver;
72
- applyPlan?: InputObjectFieldApplyPlanResolver;
73
- autoApplyAfterParentInputPlan?: boolean;
74
- autoApplyAfterParentApplyPlan?: boolean;
74
+ apply?: InputObjectFieldApplyResolver<any>;
75
+ inputPlan?: never;
76
+ applyPlan?: never;
77
+ autoApplyAfterParentInputPlan?: never;
78
+ autoApplyAfterParentApplyPlan?: never;
75
79
  }
76
80
  interface ObjectTypeExtensions {
77
- assertStep?: ((step: ExecutableStep) => asserts step is ExecutableStep) | {
78
- new (...args: any[]): ExecutableStep;
81
+ assertStep?: ((step: Step) => asserts step is Step) | {
82
+ new (...args: any[]): Step;
79
83
  } | null;
80
84
  }
81
85
  interface EnumTypeExtensions {
@@ -86,7 +90,8 @@ declare global {
86
90
  *
87
91
  * @experimental
88
92
  */
89
- applyPlan?: EnumValueApplyPlanResolver<any>;
93
+ apply?: EnumValueApplyResolver<any>;
94
+ applyPlan?: never;
90
95
  }
91
96
  interface ScalarTypeExtensions {
92
97
  plan?: ScalarPlanResolver;
@@ -156,7 +161,6 @@ declare global {
156
161
  /** Synchronous! */
157
162
  establishOperationPlan(event: EstablishOperationPlanEvent): OperationPlan;
158
163
  executeStep(event: ExecuteStepEvent): PromiseOrDirect<GrafastResultsList<any>>;
159
- streamStep(event: StreamStepEvent): PromiseOrDirect<GrafastResultStreamList<unknown>>;
160
164
  }
161
165
  interface Plugin {
162
166
  grafast?: {
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEnumValueConfig = exports.flagError = exports.FirstStep = exports.first = exports.filter = exports.exportAsMany = exports.exportAs = exports.execute = exports.ExecutableStep = exports.ErrorStep = exports.error = exports.EdgeStep = exports.each = exports.defer = exports.debugPlans = exports.context = exports.ConstantStep = exports.constant = exports.ConnectionStep = exports.connection = exports.ConditionStep = exports.condition = exports.BaseStep = exports.assertPageInfoCapableStep = exports.assertNotNull = exports.assertModifierStep = exports.assertListCapableStep = exports.assertExecutableStep = exports.assertEdgeCapableStep = exports.arraysMatch = exports.arrayOfLength = exports.ApplyTransformsStep = exports.applyTransforms = exports.AccessStep = exports.access = exports.$$verbatim = exports.$$inhibit = exports.$$idempotent = exports.$$extensions = exports.$$eventEmitter = exports.$$bypassGraphQL = exports.__ValueStep = exports.__TrackedValueStep = exports.__ListTransformStep = exports.__ItemStep = exports.__InputStaticLeafStep = exports.__InputObjectStep = exports.__InputListStep = exports.__FlagStep = exports.isAsyncIterable = void 0;
4
- exports.object = exports.noop = exports.NodeStep = exports.nodeIdFromNode = exports.node = exports.newObjectTypeBuilder = exports.newInputObjectTypeBuilder = exports.newGrafastFieldConfigBuilder = exports.multistep = exports.ModifierStep = exports.makeGrafastSchema = exports.makeDecodeNodeId = exports.LoadStep = exports.loadOneCallback = exports.loadOne = exports.loadManyCallback = exports.loadMany = exports.LoadedRecordStep = exports.listTransform = exports.ListStep = exports.ListenStep = exports.listen = exports.list = exports.LastStep = exports.last = exports.LambdaStep = exports.lambda = exports.isUnaryStep = exports.isStreamableStep = exports.isSafeError = exports.isPromiseLike = exports.isObjectLikeStep = exports.isModifierStep = exports.isListLikeStep = exports.isListCapableStep = exports.isExecutableStep = exports.isDev = exports.inputObjectFieldSpec = exports.inhibitOnNull = exports.groupBy = exports.GraphQLResolverStep = exports.graphqlResolver = exports.graphqlItemHandler = exports.GraphQLItemHandler = exports.grafastSync = exports.grafastPrint = exports.grafastGraphqlSync = exports.grafastGraphql = exports.grafast = exports.getGrafastMiddleware = void 0;
5
- exports.DeepEvalStep = exports.deepEval = exports.version = exports.hookArgs = exports.UnbatchedExecutableStep = exports.TRAP_INHIBITED = exports.TRAP_ERROR_OR_INHIBITED = exports.TRAP_ERROR = exports.trap = exports.trackedRootValue = exports.trackedContext = exports.subscribe = exports.stripAnsi = exports.stringifyPayload = exports.stepsAreInSamePhase = exports.stepAMayDependOnStepB = exports.stepADependsOnStepB = exports.specFromNodeId = exports.SideEffectStep = exports.sideEffect = exports.SetterStep = exports.setter = exports.SafeError = exports.rootValue = exports.ReverseStep = exports.reverseArray = exports.reverse = exports.RemapKeysStep = exports.remapKeys = exports.ProxyStep = exports.proxy = exports.polymorphicWrap = exports.PolymorphicBranchStep = exports.polymorphicBranch = exports.partitionByIndex = exports.operationPlan = exports.OperationPlan = exports.ObjectStep = exports.objectSpec = exports.objectFieldSpec = void 0;
3
+ exports.execute = exports.ExecutableStep = exports.ErrorStep = exports.error = exports.EdgeStep = exports.each = exports.defer = exports.defaultPlanResolver = exports.debugPlans = exports.createObjectAndApplyChildren = exports.context = exports.ConstantStep = exports.constant = exports.ConnectionStep = exports.connection = exports.ConditionStep = exports.condition = exports.BakedInputStep = exports.bakedInputRuntime = exports.bakedInput = exports.assertStep = exports.assertPageInfoCapableStep = exports.assertNotNull = exports.assertModifier = exports.assertListCapableStep = exports.assertExecutableStep = exports.assertEdgeCapableStep = exports.arraysMatch = exports.arrayOfLength = exports.ApplyTransformsStep = exports.applyTransforms = exports.ApplyInputStep = exports.applyInput = exports.AccessStep = exports.access = exports.$$verbatim = exports.$$inhibit = exports.$$idempotent = exports.$$extensions = exports.$$eventEmitter = exports.$$bypassGraphQL = exports.__ValueStep = exports.__TrackedValueStep = exports.__ListTransformStep = exports.__ItemStep = exports.__InputStaticLeafStep = exports.__InputObjectStep = exports.__InputListStep = exports.__FlagStep = exports.isAsyncIterable = void 0;
4
+ exports.makeGrafastSchema = exports.makeDecodeNodeIdRuntime = exports.makeDecodeNodeId = exports.LoadStep = exports.loadOneCallback = exports.loadOne = exports.loadManyCallback = exports.loadMany = exports.LoadedRecordStep = exports.listTransform = exports.ListStep = exports.ListenStep = exports.listen = exports.list = exports.LastStep = exports.last = exports.LambdaStep = exports.lambda = exports.isUnaryStep = exports.isStep = exports.isSafeError = exports.isPromiseLike = exports.isObjectLikeStep = exports.isModifier = exports.isListLikeStep = exports.isListCapableStep = exports.isExecutableStep = exports.isDev = exports.inputObjectFieldSpec = exports.inhibitOnNull = exports.groupBy = exports.GraphQLResolverStep = exports.graphqlResolver = exports.graphqlItemHandler = exports.GraphQLItemHandler = exports.grafastSync = exports.grafastPrint = exports.grafastGraphqlSync = exports.grafastGraphql = exports.grafast = exports.getNullableInputTypeAtPath = exports.getGrafastMiddleware = exports.getEnumValueConfigs = exports.getEnumValueConfig = exports.flagError = exports.FirstStep = exports.first = exports.filter = exports.exportAsMany = exports.exportAs = void 0;
5
+ exports.version = exports.hookArgs = exports.UnbatchedStep = exports.UnbatchedExecutableStep = exports.TRAP_INHIBITED = exports.TRAP_ERROR_OR_INHIBITED = exports.TRAP_ERROR = exports.trap = exports.trackedRootValue = exports.trackedContext = exports.subscribe = exports.stripAnsi = exports.stringifyPayload = exports.stepsAreInSamePhase = exports.stepAMayDependOnStepB = exports.stepADependsOnStepB = exports.Step = exports.specFromNodeId = exports.SideEffectStep = exports.sideEffect = exports.setter = exports.Setter = exports.SafeError = exports.rootValue = exports.ReverseStep = exports.reverseArray = exports.reverse = exports.RemapKeysStep = exports.remapKeys = exports.ProxyStep = exports.proxy = exports.polymorphicWrap = exports.PolymorphicBranchStep = exports.polymorphicBranch = exports.partitionByIndex = exports.operationPlan = exports.OperationPlan = exports.ObjectStep = exports.objectSpec = exports.objectFieldSpec = exports.object = exports.noop = exports.NodeStep = exports.nodeIdFromNode = exports.node = exports.newObjectTypeBuilder = exports.newInputObjectTypeBuilder = exports.newGrafastFieldConfigBuilder = exports.multistep = exports.Modifier = void 0;
6
+ exports.DeepEvalStep = exports.deepEval = void 0;
6
7
  const tslib_1 = require("tslib");
7
8
  require("./thereCanBeOnlyOne.js");
8
9
  const debug_1 = tslib_1.__importDefault(require("debug"));
@@ -21,6 +22,8 @@ Object.defineProperty(exports, "defer", { enumerable: true, get: function () { r
21
22
  const dev_js_1 = require("./dev.js");
22
23
  Object.defineProperty(exports, "isDev", { enumerable: true, get: function () { return dev_js_1.isDev; } });
23
24
  Object.defineProperty(exports, "noop", { enumerable: true, get: function () { return dev_js_1.noop; } });
25
+ const defaultPlanResolver_js_1 = require("./engine/lib/defaultPlanResolver.js");
26
+ Object.defineProperty(exports, "defaultPlanResolver", { enumerable: true, get: function () { return defaultPlanResolver_js_1.defaultPlanResolver; } });
24
27
  const withGlobalLayerPlan_js_1 = require("./engine/lib/withGlobalLayerPlan.js");
25
28
  Object.defineProperty(exports, "isUnaryStep", { enumerable: true, get: function () { return withGlobalLayerPlan_js_1.isUnaryStep; } });
26
29
  const OperationPlan_js_1 = require("./engine/OperationPlan.js");
@@ -47,22 +50,23 @@ const middleware_js_1 = require("./middleware.js");
47
50
  Object.defineProperty(exports, "getGrafastMiddleware", { enumerable: true, get: function () { return middleware_js_1.getGrafastMiddleware; } });
48
51
  const multistep_js_1 = require("./multistep.js");
49
52
  Object.defineProperty(exports, "multistep", { enumerable: true, get: function () { return multistep_js_1.multistep; } });
53
+ const operationPlan_input_js_1 = require("./operationPlan-input.js");
54
+ Object.defineProperty(exports, "getNullableInputTypeAtPath", { enumerable: true, get: function () { return operationPlan_input_js_1.getNullableInputTypeAtPath; } });
50
55
  const polymorphic_js_1 = require("./polymorphic.js");
51
56
  Object.defineProperty(exports, "polymorphicWrap", { enumerable: true, get: function () { return polymorphic_js_1.polymorphicWrap; } });
52
57
  const step_js_1 = require("./step.js");
53
58
  Object.defineProperty(exports, "assertExecutableStep", { enumerable: true, get: function () { return step_js_1.assertExecutableStep; } });
54
59
  Object.defineProperty(exports, "assertListCapableStep", { enumerable: true, get: function () { return step_js_1.assertListCapableStep; } });
55
- Object.defineProperty(exports, "assertModifierStep", { enumerable: true, get: function () { return step_js_1.assertModifierStep; } });
56
- Object.defineProperty(exports, "BaseStep", { enumerable: true, get: function () { return step_js_1.BaseStep; } });
57
- Object.defineProperty(exports, "ExecutableStep", { enumerable: true, get: function () { return step_js_1.ExecutableStep; } });
60
+ Object.defineProperty(exports, "assertStep", { enumerable: true, get: function () { return step_js_1.assertStep; } });
58
61
  Object.defineProperty(exports, "isExecutableStep", { enumerable: true, get: function () { return step_js_1.isExecutableStep; } });
59
62
  Object.defineProperty(exports, "isListCapableStep", { enumerable: true, get: function () { return step_js_1.isListCapableStep; } });
60
63
  Object.defineProperty(exports, "isListLikeStep", { enumerable: true, get: function () { return step_js_1.isListLikeStep; } });
61
- Object.defineProperty(exports, "isModifierStep", { enumerable: true, get: function () { return step_js_1.isModifierStep; } });
62
64
  Object.defineProperty(exports, "isObjectLikeStep", { enumerable: true, get: function () { return step_js_1.isObjectLikeStep; } });
63
- Object.defineProperty(exports, "isStreamableStep", { enumerable: true, get: function () { return step_js_1.isStreamableStep; } });
64
- Object.defineProperty(exports, "ModifierStep", { enumerable: true, get: function () { return step_js_1.ModifierStep; } });
65
- Object.defineProperty(exports, "UnbatchedExecutableStep", { enumerable: true, get: function () { return step_js_1.UnbatchedExecutableStep; } });
65
+ Object.defineProperty(exports, "isStep", { enumerable: true, get: function () { return step_js_1.isStep; } });
66
+ Object.defineProperty(exports, "ExecutableStep", { enumerable: true, get: function () { return step_js_1.Step; } });
67
+ Object.defineProperty(exports, "Step", { enumerable: true, get: function () { return step_js_1.Step; } });
68
+ Object.defineProperty(exports, "UnbatchedExecutableStep", { enumerable: true, get: function () { return step_js_1.UnbatchedStep; } });
69
+ Object.defineProperty(exports, "UnbatchedStep", { enumerable: true, get: function () { return step_js_1.UnbatchedStep; } });
66
70
  const index_js_1 = require("./steps/index.js");
67
71
  Object.defineProperty(exports, "__FlagStep", { enumerable: true, get: function () { return index_js_1.__FlagStep; } });
68
72
  Object.defineProperty(exports, "__InputListStep", { enumerable: true, get: function () { return index_js_1.__InputListStep; } });
@@ -74,11 +78,17 @@ Object.defineProperty(exports, "__TrackedValueStep", { enumerable: true, get: fu
74
78
  Object.defineProperty(exports, "__ValueStep", { enumerable: true, get: function () { return index_js_1.__ValueStep; } });
75
79
  Object.defineProperty(exports, "access", { enumerable: true, get: function () { return index_js_1.access; } });
76
80
  Object.defineProperty(exports, "AccessStep", { enumerable: true, get: function () { return index_js_1.AccessStep; } });
81
+ Object.defineProperty(exports, "applyInput", { enumerable: true, get: function () { return index_js_1.applyInput; } });
82
+ Object.defineProperty(exports, "ApplyInputStep", { enumerable: true, get: function () { return index_js_1.ApplyInputStep; } });
77
83
  Object.defineProperty(exports, "applyTransforms", { enumerable: true, get: function () { return index_js_1.applyTransforms; } });
78
84
  Object.defineProperty(exports, "ApplyTransformsStep", { enumerable: true, get: function () { return index_js_1.ApplyTransformsStep; } });
79
85
  Object.defineProperty(exports, "assertEdgeCapableStep", { enumerable: true, get: function () { return index_js_1.assertEdgeCapableStep; } });
86
+ Object.defineProperty(exports, "assertModifier", { enumerable: true, get: function () { return index_js_1.assertModifier; } });
80
87
  Object.defineProperty(exports, "assertNotNull", { enumerable: true, get: function () { return index_js_1.assertNotNull; } });
81
88
  Object.defineProperty(exports, "assertPageInfoCapableStep", { enumerable: true, get: function () { return index_js_1.assertPageInfoCapableStep; } });
89
+ Object.defineProperty(exports, "bakedInput", { enumerable: true, get: function () { return index_js_1.bakedInput; } });
90
+ Object.defineProperty(exports, "bakedInputRuntime", { enumerable: true, get: function () { return index_js_1.bakedInputRuntime; } });
91
+ Object.defineProperty(exports, "BakedInputStep", { enumerable: true, get: function () { return index_js_1.BakedInputStep; } });
82
92
  Object.defineProperty(exports, "condition", { enumerable: true, get: function () { return index_js_1.condition; } });
83
93
  Object.defineProperty(exports, "ConditionStep", { enumerable: true, get: function () { return index_js_1.ConditionStep; } });
84
94
  Object.defineProperty(exports, "connection", { enumerable: true, get: function () { return index_js_1.connection; } });
@@ -86,6 +96,7 @@ Object.defineProperty(exports, "ConnectionStep", { enumerable: true, get: functi
86
96
  Object.defineProperty(exports, "constant", { enumerable: true, get: function () { return index_js_1.constant; } });
87
97
  Object.defineProperty(exports, "ConstantStep", { enumerable: true, get: function () { return index_js_1.ConstantStep; } });
88
98
  Object.defineProperty(exports, "context", { enumerable: true, get: function () { return index_js_1.context; } });
99
+ Object.defineProperty(exports, "createObjectAndApplyChildren", { enumerable: true, get: function () { return index_js_1.createObjectAndApplyChildren; } });
89
100
  Object.defineProperty(exports, "debugPlans", { enumerable: true, get: function () { return index_js_1.debugPlans; } });
90
101
  Object.defineProperty(exports, "each", { enumerable: true, get: function () { return index_js_1.each; } });
91
102
  Object.defineProperty(exports, "EdgeStep", { enumerable: true, get: function () { return index_js_1.EdgeStep; } });
@@ -100,6 +111,7 @@ Object.defineProperty(exports, "graphqlResolver", { enumerable: true, get: funct
100
111
  Object.defineProperty(exports, "GraphQLResolverStep", { enumerable: true, get: function () { return index_js_1.GraphQLResolverStep; } });
101
112
  Object.defineProperty(exports, "groupBy", { enumerable: true, get: function () { return index_js_1.groupBy; } });
102
113
  Object.defineProperty(exports, "inhibitOnNull", { enumerable: true, get: function () { return index_js_1.inhibitOnNull; } });
114
+ Object.defineProperty(exports, "isModifier", { enumerable: true, get: function () { return index_js_1.isModifier; } });
103
115
  Object.defineProperty(exports, "lambda", { enumerable: true, get: function () { return index_js_1.lambda; } });
104
116
  Object.defineProperty(exports, "LambdaStep", { enumerable: true, get: function () { return index_js_1.LambdaStep; } });
105
117
  Object.defineProperty(exports, "last", { enumerable: true, get: function () { return index_js_1.last; } });
@@ -116,6 +128,8 @@ Object.defineProperty(exports, "loadOne", { enumerable: true, get: function () {
116
128
  Object.defineProperty(exports, "loadOneCallback", { enumerable: true, get: function () { return index_js_1.loadOneCallback; } });
117
129
  Object.defineProperty(exports, "LoadStep", { enumerable: true, get: function () { return index_js_1.LoadStep; } });
118
130
  Object.defineProperty(exports, "makeDecodeNodeId", { enumerable: true, get: function () { return index_js_1.makeDecodeNodeId; } });
131
+ Object.defineProperty(exports, "makeDecodeNodeIdRuntime", { enumerable: true, get: function () { return index_js_1.makeDecodeNodeIdRuntime; } });
132
+ Object.defineProperty(exports, "Modifier", { enumerable: true, get: function () { return index_js_1.Modifier; } });
119
133
  Object.defineProperty(exports, "node", { enumerable: true, get: function () { return index_js_1.node; } });
120
134
  Object.defineProperty(exports, "nodeIdFromNode", { enumerable: true, get: function () { return index_js_1.nodeIdFromNode; } });
121
135
  Object.defineProperty(exports, "NodeStep", { enumerable: true, get: function () { return index_js_1.NodeStep; } });
@@ -133,8 +147,8 @@ Object.defineProperty(exports, "reverse", { enumerable: true, get: function () {
133
147
  Object.defineProperty(exports, "reverseArray", { enumerable: true, get: function () { return index_js_1.reverseArray; } });
134
148
  Object.defineProperty(exports, "ReverseStep", { enumerable: true, get: function () { return index_js_1.ReverseStep; } });
135
149
  Object.defineProperty(exports, "rootValue", { enumerable: true, get: function () { return index_js_1.rootValue; } });
150
+ Object.defineProperty(exports, "Setter", { enumerable: true, get: function () { return index_js_1.Setter; } });
136
151
  Object.defineProperty(exports, "setter", { enumerable: true, get: function () { return index_js_1.setter; } });
137
- Object.defineProperty(exports, "SetterStep", { enumerable: true, get: function () { return index_js_1.SetterStep; } });
138
152
  Object.defineProperty(exports, "sideEffect", { enumerable: true, get: function () { return index_js_1.sideEffect; } });
139
153
  Object.defineProperty(exports, "SideEffectStep", { enumerable: true, get: function () { return index_js_1.SideEffectStep; } });
140
154
  Object.defineProperty(exports, "specFromNodeId", { enumerable: true, get: function () { return index_js_1.specFromNodeId; } });
@@ -154,6 +168,7 @@ const utils_js_1 = require("./utils.js");
154
168
  Object.defineProperty(exports, "arrayOfLength", { enumerable: true, get: function () { return utils_js_1.arrayOfLength; } });
155
169
  Object.defineProperty(exports, "arraysMatch", { enumerable: true, get: function () { return utils_js_1.arraysMatch; } });
156
170
  Object.defineProperty(exports, "getEnumValueConfig", { enumerable: true, get: function () { return utils_js_1.getEnumValueConfig; } });
171
+ Object.defineProperty(exports, "getEnumValueConfigs", { enumerable: true, get: function () { return utils_js_1.getEnumValueConfigs; } });
157
172
  Object.defineProperty(exports, "inputObjectFieldSpec", { enumerable: true, get: function () { return utils_js_1.inputObjectFieldSpec; } });
158
173
  Object.defineProperty(exports, "isPromiseLike", { enumerable: true, get: function () { return utils_js_1.isPromiseLike; } });
159
174
  Object.defineProperty(exports, "newGrafastFieldConfigBuilder", { enumerable: true, get: function () { return utils_js_1.newGrafastFieldConfigBuilder; } });
@@ -174,6 +189,7 @@ Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: funct
174
189
  OperationPlan: OperationPlan_js_1.OperationPlan,
175
190
  defer: deferred_js_1.defer,
176
191
  execute: execute_js_1.execute,
192
+ getNullableInputTypeAtPath: operationPlan_input_js_1.getNullableInputTypeAtPath,
177
193
  getGrafastMiddleware: middleware_js_1.getGrafastMiddleware,
178
194
  grafast: grafastGraphql_js_1.grafast,
179
195
  grafastSync: grafastGraphql_js_1.grafastSync,
@@ -183,20 +199,25 @@ Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: funct
183
199
  __InputObjectStep: index_js_1.__InputObjectStep,
184
200
  __InputStaticLeafStep: index_js_1.__InputStaticLeafStep,
185
201
  assertExecutableStep: step_js_1.assertExecutableStep,
202
+ assertStep: step_js_1.assertStep,
186
203
  assertListCapableStep: step_js_1.assertListCapableStep,
187
- assertModifierStep: step_js_1.assertModifierStep,
188
- isExecutableStep: step_js_1.isExecutableStep,
204
+ assertModifier: index_js_1.assertModifier,
205
+ isStep: step_js_1.isStep,
189
206
  isListCapableStep: step_js_1.isListCapableStep,
190
- isModifierStep: step_js_1.isModifierStep,
207
+ isModifier: index_js_1.isModifier,
191
208
  isObjectLikeStep: step_js_1.isObjectLikeStep,
192
209
  isListLikeStep: step_js_1.isListLikeStep,
193
- isStreamableStep: step_js_1.isStreamableStep,
194
210
  __ItemStep: index_js_1.__ItemStep,
195
211
  __ListTransformStep: index_js_1.__ListTransformStep,
196
212
  __TrackedValueStep: index_js_1.__TrackedValueStep,
197
213
  __ValueStep: index_js_1.__ValueStep,
198
214
  access: index_js_1.access,
199
215
  AccessStep: index_js_1.AccessStep,
216
+ applyInput: index_js_1.applyInput,
217
+ ApplyInputStep: index_js_1.ApplyInputStep,
218
+ bakedInput: index_js_1.bakedInput,
219
+ bakedInputRuntime: index_js_1.bakedInputRuntime,
220
+ BakedInputStep: index_js_1.BakedInputStep,
200
221
  operationPlan: index_js_1.operationPlan,
201
222
  connection: index_js_1.connection,
202
223
  assertEdgeCapableStep: index_js_1.assertEdgeCapableStep,
@@ -233,6 +254,7 @@ Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: funct
233
254
  polymorphicBranch: index_js_1.polymorphicBranch,
234
255
  PolymorphicBranchStep: index_js_1.PolymorphicBranchStep,
235
256
  makeDecodeNodeId: index_js_1.makeDecodeNodeId,
257
+ makeDecodeNodeIdRuntime: index_js_1.makeDecodeNodeIdRuntime,
236
258
  proxy: index_js_1.proxy,
237
259
  applyTransforms: index_js_1.applyTransforms,
238
260
  ApplyTransformsStep: index_js_1.ApplyTransformsStep,
@@ -259,7 +281,8 @@ Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: funct
259
281
  reverseArray: index_js_1.reverseArray,
260
282
  ReverseStep: index_js_1.ReverseStep,
261
283
  setter: index_js_1.setter,
262
- SetterStep: index_js_1.SetterStep,
284
+ createObjectAndApplyChildren: index_js_1.createObjectAndApplyChildren,
285
+ Setter: index_js_1.Setter,
263
286
  listen: index_js_1.listen,
264
287
  ListenStep: index_js_1.ListenStep,
265
288
  polymorphicWrap: polymorphic_js_1.polymorphicWrap,
@@ -279,6 +302,7 @@ Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: funct
279
302
  isDev: dev_js_1.isDev,
280
303
  noop: dev_js_1.noop,
281
304
  getEnumValueConfig: utils_js_1.getEnumValueConfig,
305
+ getEnumValueConfigs: utils_js_1.getEnumValueConfigs,
282
306
  loadOne: index_js_1.loadOne,
283
307
  loadMany: index_js_1.loadMany,
284
308
  loadOneCallback: index_js_1.loadOneCallback,
@@ -290,6 +314,7 @@ Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: funct
290
314
  flagError: error_js_1.flagError,
291
315
  SafeError: error_js_1.SafeError,
292
316
  isUnaryStep: withGlobalLayerPlan_js_1.isUnaryStep,
317
+ defaultPlanResolver: defaultPlanResolver_js_1.defaultPlanResolver,
293
318
  multistep: multistep_js_1.multistep,
294
319
  });
295
320
  var args_js_1 = require("./args.js");