@graphitation/supermassive 2.6.1 → 3.0.0-alpha.3

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 (206) hide show
  1. package/.eslintcache +1 -1
  2. package/CHANGELOG.md +17 -1
  3. package/lib/__testUtils__/execute.d.ts +13 -0
  4. package/lib/__testUtils__/execute.d.ts.map +1 -0
  5. package/lib/__testUtils__/execute.js +196 -0
  6. package/lib/__testUtils__/execute.js.map +7 -0
  7. package/lib/__testUtils__/execute.mjs +174 -0
  8. package/lib/__testUtils__/execute.mjs.map +7 -0
  9. package/lib/benchmarks/index.js +11 -20
  10. package/lib/benchmarks/index.js.map +3 -3
  11. package/lib/benchmarks/index.mjs +12 -23
  12. package/lib/benchmarks/index.mjs.map +2 -2
  13. package/lib/benchmarks/swapi-schema/index.d.ts +4 -2
  14. package/lib/benchmarks/swapi-schema/index.d.ts.map +1 -1
  15. package/lib/benchmarks/swapi-schema/index.js +8 -2
  16. package/lib/benchmarks/swapi-schema/index.js.map +2 -2
  17. package/lib/benchmarks/swapi-schema/index.mjs +8 -2
  18. package/lib/benchmarks/swapi-schema/index.mjs.map +2 -2
  19. package/lib/benchmarks/swapi-schema/makeExecutableSchema.d.ts +7 -0
  20. package/lib/benchmarks/swapi-schema/makeExecutableSchema.d.ts.map +1 -0
  21. package/lib/benchmarks/swapi-schema/makeExecutableSchema.js +916 -0
  22. package/lib/benchmarks/swapi-schema/makeExecutableSchema.js.map +7 -0
  23. package/lib/benchmarks/swapi-schema/makeExecutableSchema.mjs +903 -0
  24. package/lib/benchmarks/swapi-schema/makeExecutableSchema.mjs.map +7 -0
  25. package/lib/benchmarks/swapi-schema/resolvers.d.ts.map +1 -1
  26. package/lib/benchmarks/swapi-schema/resolvers.js +53 -17
  27. package/lib/benchmarks/swapi-schema/resolvers.js.map +2 -2
  28. package/lib/benchmarks/swapi-schema/resolvers.mjs +54 -18
  29. package/lib/benchmarks/swapi-schema/resolvers.mjs.map +2 -2
  30. package/lib/collectFields.d.ts +27 -10
  31. package/lib/collectFields.d.ts.map +1 -1
  32. package/lib/collectFields.js +146 -80
  33. package/lib/collectFields.js.map +3 -3
  34. package/lib/collectFields.mjs +143 -81
  35. package/lib/collectFields.mjs.map +2 -2
  36. package/lib/executeWithSchema.d.ts +1 -1
  37. package/lib/executeWithSchema.d.ts.map +1 -1
  38. package/lib/executeWithSchema.js +7 -13
  39. package/lib/executeWithSchema.js.map +2 -2
  40. package/lib/executeWithSchema.mjs +9 -20
  41. package/lib/executeWithSchema.mjs.map +2 -2
  42. package/lib/executeWithoutSchema.d.ts +53 -16
  43. package/lib/executeWithoutSchema.d.ts.map +1 -1
  44. package/lib/executeWithoutSchema.js +1076 -274
  45. package/lib/executeWithoutSchema.js.map +3 -3
  46. package/lib/executeWithoutSchema.mjs +1092 -281
  47. package/lib/executeWithoutSchema.mjs.map +3 -3
  48. package/lib/index.d.ts +3 -9
  49. package/lib/index.d.ts.map +1 -1
  50. package/lib/index.js +3 -7
  51. package/lib/index.js.map +2 -2
  52. package/lib/index.mjs +3 -10
  53. package/lib/index.mjs.map +2 -2
  54. package/lib/jsutils/AccumulatorMap.d.ts +8 -0
  55. package/lib/jsutils/AccumulatorMap.d.ts.map +1 -0
  56. package/lib/jsutils/AccumulatorMap.js +36 -0
  57. package/lib/jsutils/AccumulatorMap.js.map +7 -0
  58. package/lib/jsutils/AccumulatorMap.mjs +17 -0
  59. package/lib/jsutils/AccumulatorMap.mjs.map +7 -0
  60. package/lib/jsutils/didYouMean.d.ts +1 -2
  61. package/lib/jsutils/didYouMean.d.ts.map +1 -1
  62. package/lib/jsutils/didYouMean.js.map +2 -2
  63. package/lib/jsutils/didYouMean.mjs.map +2 -2
  64. package/lib/jsutils/instanceOf.js.map +2 -2
  65. package/lib/jsutils/instanceOf.mjs.map +2 -2
  66. package/lib/schema/definition.d.ts +95 -0
  67. package/lib/schema/definition.d.ts.map +1 -0
  68. package/lib/schema/definition.js +77 -0
  69. package/lib/schema/definition.js.map +7 -0
  70. package/lib/schema/definition.mjs +58 -0
  71. package/lib/schema/definition.mjs.map +7 -0
  72. package/lib/schema/directives.d.ts +41 -0
  73. package/lib/schema/directives.d.ts.map +1 -0
  74. package/lib/schema/directives.js +82 -0
  75. package/lib/schema/directives.js.map +7 -0
  76. package/lib/schema/directives.mjs +65 -0
  77. package/lib/schema/directives.mjs.map +7 -0
  78. package/lib/schema/fragment.d.ts +41 -0
  79. package/lib/schema/fragment.d.ts.map +1 -0
  80. package/lib/schema/fragment.js +270 -0
  81. package/lib/schema/fragment.js.map +7 -0
  82. package/lib/schema/fragment.mjs +267 -0
  83. package/lib/schema/fragment.mjs.map +7 -0
  84. package/lib/schema/reference.d.ts +12 -0
  85. package/lib/schema/reference.d.ts.map +1 -0
  86. package/lib/schema/reference.js +137 -0
  87. package/lib/schema/reference.js.map +7 -0
  88. package/lib/schema/reference.mjs +118 -0
  89. package/lib/schema/reference.mjs.map +7 -0
  90. package/lib/schema/resolvers.d.ts +9 -0
  91. package/lib/schema/resolvers.d.ts.map +1 -0
  92. package/lib/schema/resolvers.js +47 -0
  93. package/lib/schema/resolvers.js.map +7 -0
  94. package/lib/schema/resolvers.mjs +35 -0
  95. package/lib/schema/resolvers.mjs.map +7 -0
  96. package/lib/subscribeWithSchema.d.ts +3 -2
  97. package/lib/subscribeWithSchema.d.ts.map +1 -1
  98. package/lib/subscribeWithSchema.js +7 -13
  99. package/lib/subscribeWithSchema.js.map +2 -2
  100. package/lib/subscribeWithSchema.mjs +9 -20
  101. package/lib/subscribeWithSchema.mjs.map +2 -2
  102. package/lib/subscribeWithoutSchema.d.ts +3 -35
  103. package/lib/subscribeWithoutSchema.d.ts.map +1 -1
  104. package/lib/subscribeWithoutSchema.js +1 -163
  105. package/lib/subscribeWithoutSchema.js.map +2 -2
  106. package/lib/subscribeWithoutSchema.mjs +2 -175
  107. package/lib/subscribeWithoutSchema.mjs.map +2 -2
  108. package/lib/types.d.ts +71 -29
  109. package/lib/types.d.ts.map +1 -1
  110. package/lib/types.js +14 -0
  111. package/lib/types.js.map +2 -2
  112. package/lib/types.mjs +11 -0
  113. package/lib/types.mjs.map +3 -3
  114. package/lib/utilities/addMinimalViableSchemaToRequestDocument.d.ts +9 -0
  115. package/lib/utilities/addMinimalViableSchemaToRequestDocument.d.ts.map +1 -0
  116. package/lib/utilities/addMinimalViableSchemaToRequestDocument.js +303 -0
  117. package/lib/utilities/addMinimalViableSchemaToRequestDocument.js.map +7 -0
  118. package/lib/utilities/addMinimalViableSchemaToRequestDocument.mjs +317 -0
  119. package/lib/utilities/addMinimalViableSchemaToRequestDocument.mjs.map +7 -0
  120. package/lib/utilities/annotateDocumentGraphQLTransform.d.ts +3 -0
  121. package/lib/utilities/annotateDocumentGraphQLTransform.d.ts.map +1 -0
  122. package/lib/utilities/annotateDocumentGraphQLTransform.js +34 -0
  123. package/lib/utilities/annotateDocumentGraphQLTransform.js.map +7 -0
  124. package/lib/utilities/annotateDocumentGraphQLTransform.mjs +17 -0
  125. package/lib/utilities/annotateDocumentGraphQLTransform.mjs.map +7 -0
  126. package/lib/utilities/coerceInputValue.d.ts +10 -0
  127. package/lib/utilities/coerceInputValue.d.ts.map +1 -0
  128. package/lib/utilities/coerceInputValue.js +181 -0
  129. package/lib/utilities/coerceInputValue.js.map +7 -0
  130. package/lib/utilities/coerceInputValue.mjs +167 -0
  131. package/lib/utilities/coerceInputValue.mjs.map +7 -0
  132. package/lib/utilities/decodeASTSchema.d.ts +7 -0
  133. package/lib/utilities/decodeASTSchema.d.ts.map +1 -0
  134. package/lib/utilities/decodeASTSchema.js +243 -0
  135. package/lib/utilities/decodeASTSchema.js.map +7 -0
  136. package/lib/utilities/decodeASTSchema.mjs +242 -0
  137. package/lib/utilities/decodeASTSchema.mjs.map +7 -0
  138. package/lib/utilities/encodeASTSchema.d.ts +4 -0
  139. package/lib/utilities/encodeASTSchema.d.ts.map +1 -0
  140. package/lib/utilities/encodeASTSchema.js +122 -0
  141. package/lib/utilities/encodeASTSchema.js.map +7 -0
  142. package/lib/utilities/encodeASTSchema.mjs +105 -0
  143. package/lib/utilities/encodeASTSchema.mjs.map +7 -0
  144. package/lib/utilities/getSchemaFragment.d.ts +4 -0
  145. package/lib/utilities/getSchemaFragment.d.ts.map +1 -0
  146. package/lib/utilities/getSchemaFragment.js +38 -0
  147. package/lib/utilities/getSchemaFragment.js.map +7 -0
  148. package/lib/utilities/getSchemaFragment.mjs +22 -0
  149. package/lib/utilities/getSchemaFragment.mjs.map +7 -0
  150. package/lib/utilities/makeReadableErrorPath.d.ts +3 -0
  151. package/lib/utilities/makeReadableErrorPath.d.ts.map +1 -0
  152. package/lib/utilities/makeReadableErrorPath.js +47 -0
  153. package/lib/utilities/makeReadableErrorPath.js.map +7 -0
  154. package/lib/utilities/makeReadableErrorPath.mjs +28 -0
  155. package/lib/utilities/makeReadableErrorPath.mjs.map +7 -0
  156. package/lib/utilities/mergeDefinitions.d.ts +8 -0
  157. package/lib/utilities/mergeDefinitions.d.ts.map +1 -0
  158. package/lib/utilities/mergeDefinitions.js +126 -0
  159. package/lib/utilities/mergeDefinitions.js.map +7 -0
  160. package/lib/utilities/mergeDefinitions.mjs +114 -0
  161. package/lib/utilities/mergeDefinitions.mjs.map +7 -0
  162. package/lib/utilities/mergeResolvers.d.ts +1 -1
  163. package/lib/utilities/mergeResolvers.d.ts.map +1 -1
  164. package/lib/utilities/mergeResolvers.js.map +2 -2
  165. package/lib/utilities/mergeResolvers.mjs.map +2 -2
  166. package/lib/utilities/typeNameFromAST.d.ts +1 -1
  167. package/lib/utilities/typeNameFromAST.d.ts.map +1 -1
  168. package/lib/utilities/typeNameFromAST.js.map +2 -2
  169. package/lib/utilities/typeNameFromAST.mjs.map +2 -2
  170. package/lib/utilities/valueFromAST.d.ts +27 -0
  171. package/lib/utilities/valueFromAST.d.ts.map +1 -0
  172. package/lib/utilities/valueFromAST.js +139 -0
  173. package/lib/utilities/valueFromAST.js.map +7 -0
  174. package/lib/utilities/valueFromAST.mjs +125 -0
  175. package/lib/utilities/valueFromAST.mjs.map +7 -0
  176. package/lib/utilities/valueFromASTUntyped.d.ts +21 -0
  177. package/lib/utilities/valueFromASTUntyped.d.ts.map +1 -0
  178. package/lib/utilities/valueFromASTUntyped.js +51 -0
  179. package/lib/utilities/valueFromASTUntyped.js.map +7 -0
  180. package/lib/utilities/valueFromASTUntyped.mjs +32 -0
  181. package/lib/utilities/valueFromASTUntyped.mjs.map +7 -0
  182. package/lib/values.d.ts +8 -13
  183. package/lib/values.d.ts.map +1 -1
  184. package/lib/values.js +83 -75
  185. package/lib/values.js.map +2 -2
  186. package/lib/values.mjs +85 -83
  187. package/lib/values.mjs.map +2 -2
  188. package/package.json +8 -9
  189. package/lib/definition.d.ts +0 -7
  190. package/lib/definition.d.ts.map +0 -1
  191. package/lib/definition.js +0 -59
  192. package/lib/definition.js.map +0 -7
  193. package/lib/definition.mjs +0 -40
  194. package/lib/definition.mjs.map +0 -7
  195. package/lib/directives.d.ts +0 -79
  196. package/lib/directives.d.ts.map +0 -1
  197. package/lib/directives.js +0 -160
  198. package/lib/directives.js.map +0 -7
  199. package/lib/directives.mjs +0 -146
  200. package/lib/directives.mjs.map +0 -7
  201. package/lib/extractImplicitTypesRuntime.d.ts +0 -4
  202. package/lib/extractImplicitTypesRuntime.d.ts.map +0 -1
  203. package/lib/extractImplicitTypesRuntime.js +0 -123
  204. package/lib/extractImplicitTypesRuntime.js.map +0 -7
  205. package/lib/extractImplicitTypesRuntime.mjs +0 -114
  206. package/lib/extractImplicitTypesRuntime.mjs.map +0 -7
@@ -1,132 +1,194 @@
1
1
  // src/collectFields.ts
2
- import { Kind } from "graphql";
2
+ import {
3
+ Kind
4
+ } from "graphql";
3
5
  import { getDirectiveValues } from "./values.mjs";
4
- import { GraphQLSkipDirective, GraphQLIncludeDirective } from "./directives.mjs";
5
- import { typeNameFromAST } from "./utilities/typeNameFromAST.mjs";
6
- import { isUnionResolverType, isInterfaceResolverType } from "./definition.mjs";
7
- function collectFields(resolvers, fragments, variableValues, runtimeTypeName, selectionSet, fields, visitedFragmentNames) {
6
+ import {
7
+ GraphQLSkipDirective,
8
+ GraphQLIncludeDirective,
9
+ GraphQLDeferDirective
10
+ } from "./schema/directives.mjs";
11
+ import { AccumulatorMap } from "./jsutils/AccumulatorMap.mjs";
12
+ import invariant from "invariant";
13
+ function collectFields(exeContext, runtimeTypeName) {
14
+ const { operation } = exeContext;
15
+ const groupedFieldSet = new AccumulatorMap();
16
+ const patches = [];
17
+ collectFieldsImpl(
18
+ exeContext,
19
+ runtimeTypeName,
20
+ operation.selectionSet,
21
+ groupedFieldSet,
22
+ patches,
23
+ /* @__PURE__ */ new Set()
24
+ );
25
+ return { groupedFieldSet, patches };
26
+ }
27
+ function collectSubfields(exeContext, returnTypeName, fieldGroup) {
28
+ const subGroupedFieldSet = new AccumulatorMap();
29
+ const visitedFragmentNames = /* @__PURE__ */ new Set();
30
+ const subPatches = [];
31
+ const subFieldsAndPatches = {
32
+ groupedFieldSet: subGroupedFieldSet,
33
+ patches: subPatches
34
+ };
35
+ for (const node of fieldGroup) {
36
+ if (node.selectionSet) {
37
+ collectFieldsImpl(
38
+ exeContext,
39
+ returnTypeName,
40
+ node.selectionSet,
41
+ subGroupedFieldSet,
42
+ subPatches,
43
+ visitedFragmentNames
44
+ );
45
+ }
46
+ }
47
+ return subFieldsAndPatches;
48
+ }
49
+ function collectFieldsImpl(exeContext, runtimeTypeName, selectionSet, groupedFieldSet, patches, visitedFragmentNames) {
8
50
  for (const selection of selectionSet.selections) {
9
51
  switch (selection.kind) {
10
52
  case Kind.FIELD: {
11
- if (!shouldIncludeNode(resolvers, variableValues, selection)) {
53
+ if (!shouldIncludeNode(exeContext, selection)) {
12
54
  continue;
13
55
  }
14
- const name = getFieldEntryKey(selection);
15
- const fieldList = fields.get(name);
16
- if (fieldList !== void 0) {
17
- fieldList.push(selection);
18
- } else {
19
- fields.set(name, [selection]);
20
- }
56
+ groupedFieldSet.add(getFieldEntryKey(selection), selection);
21
57
  break;
22
58
  }
23
59
  case Kind.INLINE_FRAGMENT: {
24
- if (!shouldIncludeNode(resolvers, variableValues, selection) || !doesFragmentConditionMatch(selection, runtimeTypeName, resolvers)) {
60
+ if (!shouldIncludeNode(exeContext, selection) || !doesFragmentConditionMatch(
61
+ selection,
62
+ runtimeTypeName,
63
+ exeContext.schemaTypes
64
+ )) {
25
65
  continue;
26
66
  }
27
- collectFields(
28
- resolvers,
29
- fragments,
30
- variableValues,
31
- runtimeTypeName,
32
- selection.selectionSet,
33
- fields,
34
- visitedFragmentNames
35
- );
67
+ const defer = getDeferValues(exeContext, selection);
68
+ if (defer) {
69
+ const patchFields = new AccumulatorMap();
70
+ collectFieldsImpl(
71
+ exeContext,
72
+ runtimeTypeName,
73
+ selection.selectionSet,
74
+ patchFields,
75
+ patches,
76
+ visitedFragmentNames
77
+ );
78
+ patches.push({
79
+ label: defer.label,
80
+ groupedFieldSet: patchFields
81
+ });
82
+ } else {
83
+ collectFieldsImpl(
84
+ exeContext,
85
+ runtimeTypeName,
86
+ selection.selectionSet,
87
+ groupedFieldSet,
88
+ patches,
89
+ visitedFragmentNames
90
+ );
91
+ }
36
92
  break;
37
93
  }
38
94
  case Kind.FRAGMENT_SPREAD: {
39
95
  const fragName = selection.name.value;
40
- if (visitedFragmentNames.has(fragName) || !shouldIncludeNode(resolvers, variableValues, selection)) {
96
+ if (!shouldIncludeNode(exeContext, selection)) {
41
97
  continue;
42
98
  }
43
- visitedFragmentNames.add(fragName);
44
- const fragment = fragments[fragName];
45
- if (!fragment || !doesFragmentConditionMatch(fragment, runtimeTypeName, resolvers)) {
99
+ const defer = getDeferValues(exeContext, selection);
100
+ if (visitedFragmentNames.has(fragName) && !defer) {
46
101
  continue;
47
102
  }
48
- collectFields(
49
- resolvers,
50
- fragments,
51
- variableValues,
103
+ const fragment = exeContext.fragments[fragName];
104
+ if (fragment == null || !doesFragmentConditionMatch(
105
+ fragment,
52
106
  runtimeTypeName,
53
- fragment.selectionSet,
54
- fields,
55
- visitedFragmentNames
56
- );
107
+ exeContext.schemaTypes
108
+ )) {
109
+ continue;
110
+ }
111
+ if (!defer) {
112
+ visitedFragmentNames.add(fragName);
113
+ }
114
+ if (defer) {
115
+ const patchFields = new AccumulatorMap();
116
+ collectFieldsImpl(
117
+ exeContext,
118
+ runtimeTypeName,
119
+ fragment.selectionSet,
120
+ patchFields,
121
+ patches,
122
+ visitedFragmentNames
123
+ );
124
+ patches.push({
125
+ label: defer.label,
126
+ groupedFieldSet: patchFields
127
+ });
128
+ } else {
129
+ collectFieldsImpl(
130
+ exeContext,
131
+ runtimeTypeName,
132
+ fragment.selectionSet,
133
+ groupedFieldSet,
134
+ patches,
135
+ visitedFragmentNames
136
+ );
137
+ }
57
138
  break;
58
139
  }
59
140
  }
60
141
  }
61
- return fields;
62
142
  }
63
- function shouldIncludeNode(resolvers, variableValues, node) {
143
+ function shouldIncludeNode(exeContext, node) {
64
144
  var _a;
65
145
  if (!((_a = node.directives) == null ? void 0 : _a.length)) {
66
146
  return true;
67
147
  }
68
- const skip = getDirectiveValues(
69
- GraphQLSkipDirective,
70
- node,
71
- resolvers,
72
- variableValues
73
- );
148
+ const skip = getDirectiveValues(exeContext, GraphQLSkipDirective, node);
74
149
  if ((skip == null ? void 0 : skip.if) === true) {
75
150
  return false;
76
151
  }
77
- const include = getDirectiveValues(
78
- GraphQLIncludeDirective,
79
- node,
80
- resolvers,
81
- variableValues
82
- );
152
+ const include = getDirectiveValues(exeContext, GraphQLIncludeDirective, node);
83
153
  if ((include == null ? void 0 : include.if) === false) {
84
154
  return false;
85
155
  }
86
156
  return true;
87
157
  }
88
- function doesFragmentConditionMatch(fragment, typeName, resolvers) {
158
+ function doesFragmentConditionMatch(fragment, typeName, schemaFragment) {
89
159
  const typeConditionNode = fragment.typeCondition;
90
160
  if (!typeConditionNode) {
91
161
  return true;
92
162
  }
93
- const conditionalType = typeNameFromAST(typeConditionNode);
94
- if (conditionalType === typeName) {
163
+ const conditionalTypeName = typeConditionNode.name.value;
164
+ if (conditionalTypeName === typeName) {
95
165
  return true;
96
166
  }
97
- const subTypes = getSubTypes(resolvers, /* @__PURE__ */ new Set(), conditionalType);
98
- return subTypes.has(typeName);
99
- }
100
- function getSubTypes(resolvers, abstractTypes, conditionalType) {
101
- const resolver = resolvers[conditionalType];
102
- if (isInterfaceResolverType(resolver)) {
103
- const result = resolver.__implementedBy.reduce(
104
- (acc, item) => {
105
- if (!abstractTypes.has(item)) {
106
- const newTypes = /* @__PURE__ */ new Set([...abstractTypes, item]);
107
- acc.push(...abstractTypes, ...getSubTypes(resolvers, newTypes, item));
108
- }
109
- return acc;
110
- },
111
- []
112
- );
113
- return /* @__PURE__ */ new Set([...result]);
167
+ if (schemaFragment.isAbstractType(conditionalTypeName)) {
168
+ return schemaFragment.isSubType(conditionalTypeName, typeName);
114
169
  }
115
- if (isUnionResolverType(resolver)) {
116
- const result = resolver.__types.reduce((acc, item) => {
117
- if (!abstractTypes.has(item)) {
118
- const newTypes = /* @__PURE__ */ new Set([...abstractTypes, item]);
119
- acc.push(...abstractTypes, ...getSubTypes(resolvers, newTypes, item));
120
- }
121
- return acc;
122
- }, []);
123
- return /* @__PURE__ */ new Set([...result]);
124
- }
125
- return abstractTypes;
170
+ return false;
126
171
  }
127
172
  function getFieldEntryKey(node) {
128
173
  return node.alias ? node.alias.value : node.name.value;
129
174
  }
175
+ function getDeferValues(exeContext, node) {
176
+ const defer = getDirectiveValues(exeContext, GraphQLDeferDirective, node);
177
+ if (!defer) {
178
+ return;
179
+ }
180
+ if (defer.if === false) {
181
+ return;
182
+ }
183
+ invariant(
184
+ exeContext.operation.operation !== "subscription",
185
+ "`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`."
186
+ );
187
+ return {
188
+ label: typeof defer.label === "string" ? defer.label : void 0
189
+ };
190
+ }
130
191
  export {
131
- collectFields
192
+ collectFields,
193
+ collectSubfields
132
194
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/collectFields.ts"],
4
- "sourcesContent": ["import { Kind } from \"graphql\";\nimport {\n FieldNode,\n FragmentDefinitionNode,\n InlineFragmentNode,\n SelectionNode,\n SelectionSetNode,\n} from \"@graphitation/supermassive-ast\";\nimport type { ObjMap } from \"./jsutils/ObjMap\";\nimport { getDirectiveValues } from \"./values\";\nimport { GraphQLSkipDirective, GraphQLIncludeDirective } from \"./directives\";\nimport { typeNameFromAST } from \"./utilities/typeNameFromAST\";\nimport { isUnionResolverType, isInterfaceResolverType } from \"./definition\";\n\nimport { Resolvers } from \"./types\";\n\n/**\n * Given a selectionSet, adds all of the fields in that selection to\n * the passed in map of fields, and returns it at the end.\n *\n * CollectFields requires the \"runtime type\" of an object. For a field which\n * returns an Interface or Union type, the \"runtime type\" will be the actual\n * Object type returned by that field.\n *\n * @internal\n */\nexport function collectFields(\n resolvers: Resolvers,\n fragments: ObjMap<FragmentDefinitionNode>,\n variableValues: { [variable: string]: unknown },\n runtimeTypeName: string,\n selectionSet: SelectionSetNode,\n fields: Map<string, Array<FieldNode>>,\n visitedFragmentNames: Set<string>,\n): Map<string, Array<FieldNode>> {\n for (const selection of selectionSet.selections) {\n switch (selection.kind) {\n case Kind.FIELD: {\n if (!shouldIncludeNode(resolvers, variableValues, selection)) {\n continue;\n }\n const name = getFieldEntryKey(selection);\n const fieldList = fields.get(name);\n if (fieldList !== undefined) {\n fieldList.push(selection);\n } else {\n fields.set(name, [selection]);\n }\n break;\n }\n case Kind.INLINE_FRAGMENT: {\n if (\n !shouldIncludeNode(resolvers, variableValues, selection) ||\n !doesFragmentConditionMatch(selection, runtimeTypeName, resolvers)\n ) {\n continue;\n }\n collectFields(\n resolvers,\n fragments,\n variableValues,\n runtimeTypeName,\n selection.selectionSet,\n fields,\n visitedFragmentNames,\n );\n break;\n }\n case Kind.FRAGMENT_SPREAD: {\n const fragName = selection.name.value;\n if (\n visitedFragmentNames.has(fragName) ||\n !shouldIncludeNode(resolvers, variableValues, selection)\n ) {\n continue;\n }\n visitedFragmentNames.add(fragName);\n const fragment = fragments[fragName];\n if (\n !fragment ||\n !doesFragmentConditionMatch(fragment, runtimeTypeName, resolvers)\n ) {\n continue;\n }\n collectFields(\n resolvers,\n fragments,\n variableValues,\n runtimeTypeName,\n fragment.selectionSet,\n fields,\n visitedFragmentNames,\n );\n break;\n }\n }\n }\n return fields;\n}\n\n/**\n * Determines if a field should be included based on the @include and @skip\n * directives, where @skip has higher precedence than @include.\n */\nfunction shouldIncludeNode(\n resolvers: Resolvers,\n variableValues: { [variable: string]: unknown },\n node: SelectionNode,\n): boolean {\n if (!node.directives?.length) {\n return true;\n }\n\n const skip = getDirectiveValues(\n GraphQLSkipDirective,\n node as SelectionNode,\n resolvers,\n variableValues,\n );\n if (skip?.if === true) {\n return false;\n }\n\n const include = getDirectiveValues(\n GraphQLIncludeDirective,\n node as SelectionNode,\n resolvers,\n variableValues,\n );\n\n if (include?.if === false) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Determines if a fragment is applicable to the given type.\n */\nfunction doesFragmentConditionMatch(\n fragment: FragmentDefinitionNode | InlineFragmentNode,\n typeName: string,\n resolvers: Resolvers,\n): boolean {\n const typeConditionNode = fragment.typeCondition;\n if (!typeConditionNode) {\n return true;\n }\n\n const conditionalType = typeNameFromAST(typeConditionNode);\n\n if (conditionalType === typeName) {\n return true;\n }\n\n const subTypes = getSubTypes(resolvers, new Set(), conditionalType);\n\n return subTypes.has(typeName);\n}\n\nfunction getSubTypes(\n resolvers: Resolvers,\n abstractTypes: Set<string>,\n conditionalType: string,\n): Set<string> {\n const resolver = resolvers[conditionalType];\n if (isInterfaceResolverType(resolver)) {\n const result = resolver.__implementedBy.reduce(\n (acc: string[], item: string) => {\n if (!abstractTypes.has(item)) {\n const newTypes = new Set([...abstractTypes, item]);\n\n acc.push(...abstractTypes, ...getSubTypes(resolvers, newTypes, item));\n }\n return acc;\n },\n [],\n );\n\n return new Set([...result]);\n }\n\n if (isUnionResolverType(resolver)) {\n const result = resolver.__types.reduce((acc: string[], item: string) => {\n if (!abstractTypes.has(item)) {\n const newTypes = new Set([...abstractTypes, item]);\n\n acc.push(...abstractTypes, ...getSubTypes(resolvers, newTypes, item));\n }\n return acc;\n }, []);\n\n return new Set([...result]);\n }\n\n return abstractTypes;\n}\n\n/**\n * Implements the logic to compute the key of a given field's entry\n */\nfunction getFieldEntryKey(node: FieldNode): string {\n return node.alias ? node.alias.value : node.name.value;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n Kind,\n FieldNode,\n FragmentDefinitionNode,\n FragmentSpreadNode,\n InlineFragmentNode,\n SelectionNode,\n SelectionSetNode,\n} from \"graphql\";\nimport { getDirectiveValues } from \"./values\";\nimport {\n GraphQLSkipDirective,\n GraphQLIncludeDirective,\n GraphQLDeferDirective,\n} from \"./schema/directives\";\n\nimport { AccumulatorMap } from \"./jsutils/AccumulatorMap\";\nimport invariant from \"invariant\";\nimport { ExecutionContext } from \"./executeWithoutSchema\";\nimport { SchemaFragment } from \"./schema/fragment\";\n\nexport type FieldGroup = ReadonlyArray<FieldNode>;\n\nexport type GroupedFieldSet = Map<string, FieldGroup>;\n\nexport interface PatchFields {\n label: string | undefined;\n groupedFieldSet: GroupedFieldSet;\n}\n\nexport interface FieldsAndPatches {\n groupedFieldSet: GroupedFieldSet;\n patches: Array<PatchFields>;\n}\n\n/**\n * Given a selectionSet, collects all of the fields and returns them.\n *\n * CollectFields requires the \"runtime type\" of an object. For a field that\n * returns an Interface or Union type, the \"runtime type\" will be the actual\n * object type returned by that field.\n *\n * @internal\n */\nexport function collectFields(\n exeContext: ExecutionContext,\n runtimeTypeName: string,\n): FieldsAndPatches {\n const { operation } = exeContext;\n const groupedFieldSet = new AccumulatorMap<string, FieldNode>();\n const patches: Array<PatchFields> = [];\n collectFieldsImpl(\n exeContext,\n runtimeTypeName,\n operation.selectionSet,\n groupedFieldSet,\n patches,\n new Set(),\n );\n return { groupedFieldSet, patches };\n}\n\n/**\n * Given an array of field nodes, collects all of the subfields of the passed\n * in fields, and returns them at the end.\n *\n * CollectSubFields requires the \"return type\" of an object. For a field that\n * returns an Interface or Union type, the \"return type\" will be the actual\n * object type returned by that field.\n *\n * @internal\n */\n// eslint-disable-next-line max-params\nexport function collectSubfields(\n exeContext: ExecutionContext,\n returnTypeName: string,\n fieldGroup: FieldGroup,\n): FieldsAndPatches {\n const subGroupedFieldSet = new AccumulatorMap<string, FieldNode>();\n const visitedFragmentNames = new Set<string>();\n\n const subPatches: Array<PatchFields> = [];\n const subFieldsAndPatches = {\n groupedFieldSet: subGroupedFieldSet,\n patches: subPatches,\n };\n\n for (const node of fieldGroup) {\n if (node.selectionSet) {\n collectFieldsImpl(\n exeContext,\n returnTypeName,\n node.selectionSet,\n subGroupedFieldSet,\n subPatches,\n visitedFragmentNames,\n );\n }\n }\n return subFieldsAndPatches;\n}\n\n// eslint-disable-next-line max-params\nfunction collectFieldsImpl(\n exeContext: ExecutionContext,\n runtimeTypeName: string,\n selectionSet: SelectionSetNode,\n groupedFieldSet: AccumulatorMap<string, FieldNode>,\n patches: Array<PatchFields>,\n visitedFragmentNames: Set<string>,\n): void {\n for (const selection of selectionSet.selections) {\n switch (selection.kind) {\n case Kind.FIELD: {\n if (!shouldIncludeNode(exeContext, selection)) {\n continue;\n }\n groupedFieldSet.add(getFieldEntryKey(selection), selection);\n break;\n }\n case Kind.INLINE_FRAGMENT: {\n if (\n !shouldIncludeNode(exeContext, selection) ||\n !doesFragmentConditionMatch(\n selection,\n runtimeTypeName,\n exeContext.schemaTypes,\n )\n ) {\n continue;\n }\n\n const defer = getDeferValues(exeContext, selection);\n\n if (defer) {\n const patchFields = new AccumulatorMap<string, FieldNode>();\n collectFieldsImpl(\n exeContext,\n runtimeTypeName,\n selection.selectionSet,\n patchFields,\n patches,\n visitedFragmentNames,\n );\n patches.push({\n label: defer.label,\n groupedFieldSet: patchFields,\n });\n } else {\n collectFieldsImpl(\n exeContext,\n runtimeTypeName,\n selection.selectionSet,\n groupedFieldSet,\n patches,\n visitedFragmentNames,\n );\n }\n break;\n }\n case Kind.FRAGMENT_SPREAD: {\n const fragName = selection.name.value;\n\n if (!shouldIncludeNode(exeContext, selection)) {\n continue;\n }\n\n const defer = getDeferValues(exeContext, selection);\n if (visitedFragmentNames.has(fragName) && !defer) {\n continue;\n }\n\n const fragment = exeContext.fragments[fragName];\n if (\n fragment == null ||\n !doesFragmentConditionMatch(\n fragment,\n runtimeTypeName,\n exeContext.schemaTypes,\n )\n ) {\n continue;\n }\n\n if (!defer) {\n visitedFragmentNames.add(fragName);\n }\n\n if (defer) {\n const patchFields = new AccumulatorMap<string, FieldNode>();\n collectFieldsImpl(\n exeContext,\n runtimeTypeName,\n fragment.selectionSet,\n patchFields,\n patches,\n visitedFragmentNames,\n );\n patches.push({\n label: defer.label,\n groupedFieldSet: patchFields,\n });\n } else {\n collectFieldsImpl(\n exeContext,\n runtimeTypeName,\n fragment.selectionSet,\n groupedFieldSet,\n patches,\n visitedFragmentNames,\n );\n }\n break;\n }\n }\n }\n}\n\n/**\n * Determines if a field should be included based on the @include and @skip\n * directives, where @skip has higher precedence than @include.\n */\nfunction shouldIncludeNode(\n exeContext: ExecutionContext,\n node: SelectionNode,\n): boolean {\n if (!node.directives?.length) {\n return true;\n }\n\n const skip = getDirectiveValues(exeContext, GraphQLSkipDirective, node);\n if (skip?.if === true) {\n return false;\n }\n\n const include = getDirectiveValues(exeContext, GraphQLIncludeDirective, node);\n if (include?.if === false) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Determines if a fragment is applicable to the given type.\n */\nfunction doesFragmentConditionMatch(\n fragment: FragmentDefinitionNode | InlineFragmentNode,\n typeName: string,\n // resolvers: Resolvers,\n schemaFragment: SchemaFragment,\n): boolean {\n const typeConditionNode = fragment.typeCondition;\n if (!typeConditionNode) {\n return true;\n }\n\n const conditionalTypeName = typeConditionNode.name.value;\n\n if (conditionalTypeName === typeName) {\n return true;\n }\n if (schemaFragment.isAbstractType(conditionalTypeName)) {\n return schemaFragment.isSubType(conditionalTypeName, typeName);\n }\n return false;\n}\n\n/**\n * Implements the logic to compute the key of a given field's entry\n */\nfunction getFieldEntryKey(node: FieldNode): string {\n return node.alias ? node.alias.value : node.name.value;\n}\n\n/**\n * Returns an object containing the `@defer` arguments if a field should be\n * deferred based on the experimental flag, defer directive present and\n * not disabled by the \"if\" argument.\n */\nfunction getDeferValues(\n exeContext: ExecutionContext,\n node: FragmentSpreadNode | InlineFragmentNode,\n): undefined | { label: string | undefined } {\n const defer = getDirectiveValues(exeContext, GraphQLDeferDirective, node);\n\n if (!defer) {\n return;\n }\n\n if (defer.if === false) {\n return;\n }\n\n invariant(\n exeContext.operation.operation !== \"subscription\",\n \"`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.\",\n );\n\n return {\n label: typeof defer.label === \"string\" ? defer.label : undefined,\n };\n}\n"],
5
+ "mappings": ";AAAA;AAAA,EACE;AAAA,OAOK;AACP,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,sBAAsB;AAC/B,OAAO,eAAe;AA2Bf,SAAS,cACd,YACA,iBACkB;AAClB,QAAM,EAAE,UAAU,IAAI;AACtB,QAAM,kBAAkB,IAAI,eAAkC;AAC9D,QAAM,UAA8B,CAAC;AACrC;AAAA,IACE;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,oBAAI,IAAI;AAAA,EACV;AACA,SAAO,EAAE,iBAAiB,QAAQ;AACpC;AAaO,SAAS,iBACd,YACA,gBACA,YACkB;AAClB,QAAM,qBAAqB,IAAI,eAAkC;AACjE,QAAM,uBAAuB,oBAAI,IAAY;AAE7C,QAAM,aAAiC,CAAC;AACxC,QAAM,sBAAsB;AAAA,IAC1B,iBAAiB;AAAA,IACjB,SAAS;AAAA,EACX;AAEA,aAAW,QAAQ,YAAY;AAC7B,QAAI,KAAK,cAAc;AACrB;AAAA,QACE;AAAA,QACA;AAAA,QACA,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAGA,SAAS,kBACP,YACA,iBACA,cACA,iBACA,SACA,sBACM;AACN,aAAW,aAAa,aAAa,YAAY;AAC/C,YAAQ,UAAU,MAAM;AAAA,MACtB,KAAK,KAAK,OAAO;AACf,YAAI,CAAC,kBAAkB,YAAY,SAAS,GAAG;AAC7C;AAAA,QACF;AACA,wBAAgB,IAAI,iBAAiB,SAAS,GAAG,SAAS;AAC1D;AAAA,MACF;AAAA,MACA,KAAK,KAAK,iBAAiB;AACzB,YACE,CAAC,kBAAkB,YAAY,SAAS,KACxC,CAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA,WAAW;AAAA,QACb,GACA;AACA;AAAA,QACF;AAEA,cAAM,QAAQ,eAAe,YAAY,SAAS;AAElD,YAAI,OAAO;AACT,gBAAM,cAAc,IAAI,eAAkC;AAC1D;AAAA,YACE;AAAA,YACA;AAAA,YACA,UAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,UACF;AACA,kBAAQ,KAAK;AAAA,YACX,OAAO,MAAM;AAAA,YACb,iBAAiB;AAAA,UACnB,CAAC;AAAA,QACH,OAAO;AACL;AAAA,YACE;AAAA,YACA;AAAA,YACA,UAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF;AAAA,MACA,KAAK,KAAK,iBAAiB;AACzB,cAAM,WAAW,UAAU,KAAK;AAEhC,YAAI,CAAC,kBAAkB,YAAY,SAAS,GAAG;AAC7C;AAAA,QACF;AAEA,cAAM,QAAQ,eAAe,YAAY,SAAS;AAClD,YAAI,qBAAqB,IAAI,QAAQ,KAAK,CAAC,OAAO;AAChD;AAAA,QACF;AAEA,cAAM,WAAW,WAAW,UAAU,QAAQ;AAC9C,YACE,YAAY,QACZ,CAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA,WAAW;AAAA,QACb,GACA;AACA;AAAA,QACF;AAEA,YAAI,CAAC,OAAO;AACV,+BAAqB,IAAI,QAAQ;AAAA,QACnC;AAEA,YAAI,OAAO;AACT,gBAAM,cAAc,IAAI,eAAkC;AAC1D;AAAA,YACE;AAAA,YACA;AAAA,YACA,SAAS;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,UACF;AACA,kBAAQ,KAAK;AAAA,YACX,OAAO,MAAM;AAAA,YACb,iBAAiB;AAAA,UACnB,CAAC;AAAA,QACH,OAAO;AACL;AAAA,YACE;AAAA,YACA;AAAA,YACA,SAAS;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAMA,SAAS,kBACP,YACA,MACS;AAjOX;AAkOE,MAAI,GAAC,UAAK,eAAL,mBAAiB,SAAQ;AAC5B,WAAO;AAAA,EACT;AAEA,QAAM,OAAO,mBAAmB,YAAY,sBAAsB,IAAI;AACtE,OAAI,6BAAM,QAAO,MAAM;AACrB,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,mBAAmB,YAAY,yBAAyB,IAAI;AAC5E,OAAI,mCAAS,QAAO,OAAO;AACzB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAKA,SAAS,2BACP,UACA,UAEA,gBACS;AACT,QAAM,oBAAoB,SAAS;AACnC,MAAI,CAAC,mBAAmB;AACtB,WAAO;AAAA,EACT;AAEA,QAAM,sBAAsB,kBAAkB,KAAK;AAEnD,MAAI,wBAAwB,UAAU;AACpC,WAAO;AAAA,EACT;AACA,MAAI,eAAe,eAAe,mBAAmB,GAAG;AACtD,WAAO,eAAe,UAAU,qBAAqB,QAAQ;AAAA,EAC/D;AACA,SAAO;AACT;AAKA,SAAS,iBAAiB,MAAyB;AACjD,SAAO,KAAK,QAAQ,KAAK,MAAM,QAAQ,KAAK,KAAK;AACnD;AAOA,SAAS,eACP,YACA,MAC2C;AAC3C,QAAM,QAAQ,mBAAmB,YAAY,uBAAuB,IAAI;AAExE,MAAI,CAAC,OAAO;AACV;AAAA,EACF;AAEA,MAAI,MAAM,OAAO,OAAO;AACtB;AAAA,EACF;AAEA;AAAA,IACE,WAAW,UAAU,cAAc;AAAA,IACnC;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO,OAAO,MAAM,UAAU,WAAW,MAAM,QAAQ;AAAA,EACzD;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
1
  import { PromiseOrValue } from "./jsutils/PromiseOrValue";
2
2
  import { ExecutionResult, ExecutionWithSchemaArgs } from "./types";
3
- export declare function executeWithSchema({ typeDefs, resolvers, document: rawDocument, rootValue, contextValue, variableValues, operationName, fieldResolver, typeResolver, fieldExecutionHooks, }: ExecutionWithSchemaArgs): PromiseOrValue<ExecutionResult>;
3
+ export declare function executeWithSchema({ typeDefs, resolvers, document, rootValue, contextValue, variableValues, operationName, fieldResolver, typeResolver, fieldExecutionHooks, }: ExecutionWithSchemaArgs): PromiseOrValue<ExecutionResult>;
4
4
  //# sourceMappingURL=executeWithSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executeWithSchema.d.ts","sourceRoot":"","sources":["../src/executeWithSchema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAa,eAAe,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE9E,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,QAAQ,EAAE,WAAW,EACrB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,EAAE,uBAAuB,GAAG,cAAc,CAAC,eAAe,CAAC,CA0B3D"}
1
+ {"version":3,"file":"executeWithSchema.d.ts","sourceRoot":"","sources":["../src/executeWithSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGnE,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,EAAE,uBAAuB,GAAG,cAAc,CAAC,eAAe,CAAC,CAmB3D"}
@@ -23,10 +23,11 @@ __export(executeWithSchema_exports, {
23
23
  module.exports = __toCommonJS(executeWithSchema_exports);
24
24
  var import_graphql = require("graphql");
25
25
  var import_index = require("./index");
26
+ var import_addMinimalViableSchemaToRequestDocument = require("./utilities/addMinimalViableSchemaToRequestDocument");
26
27
  function executeWithSchema({
27
28
  typeDefs,
28
29
  resolvers,
29
- document: rawDocument,
30
+ document,
30
31
  rootValue,
31
32
  contextValue,
32
33
  variableValues,
@@ -36,21 +37,14 @@ function executeWithSchema({
36
37
  fieldExecutionHooks
37
38
  }) {
38
39
  const schema = (0, import_graphql.buildASTSchema)(typeDefs);
39
- let extractedResolvers = {};
40
- const getTypeByName = (name) => {
41
- const type = import_index.specifiedScalars[name] || extractedResolvers[name];
42
- if ((0, import_graphql.isInputType)(type)) {
43
- return type;
44
- } else {
45
- throw new Error("Invalid type");
46
- }
47
- };
48
- extractedResolvers = (0, import_index.extractImplicitTypes)(typeDefs, getTypeByName);
49
- const document = (0, import_index.addTypesToRequestDocument)(schema, rawDocument);
40
+ const schemaFragment = (0, import_addMinimalViableSchemaToRequestDocument.extractMinimalViableSchemaForRequestDocument)(
41
+ schema,
42
+ document
43
+ );
50
44
  return (0, import_index.executeWithoutSchema)({
51
45
  document,
52
46
  resolvers,
53
- schemaResolvers: extractedResolvers,
47
+ schemaFragment,
54
48
  rootValue,
55
49
  contextValue,
56
50
  variableValues,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/executeWithSchema.ts"],
4
- "sourcesContent": ["import { isInputType, buildASTSchema } from \"graphql\";\nimport {\n addTypesToRequestDocument,\n executeWithoutSchema,\n extractImplicitTypes,\n specifiedScalars,\n} from \"./index\";\nimport { PromiseOrValue } from \"./jsutils/PromiseOrValue\";\nimport { Resolvers, ExecutionResult, ExecutionWithSchemaArgs } from \"./types\";\n\nexport function executeWithSchema({\n typeDefs,\n resolvers,\n document: rawDocument,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n}: ExecutionWithSchemaArgs): PromiseOrValue<ExecutionResult> {\n const schema = buildASTSchema(typeDefs);\n let extractedResolvers: Resolvers = {};\n const getTypeByName = (name: string) => {\n const type = specifiedScalars[name] || extractedResolvers[name];\n if (isInputType(type)) {\n return type;\n } else {\n throw new Error(\"Invalid type\");\n }\n };\n extractedResolvers = extractImplicitTypes(typeDefs, getTypeByName);\n\n const document = addTypesToRequestDocument(schema, rawDocument);\n return executeWithoutSchema({\n document,\n resolvers,\n schemaResolvers: extractedResolvers,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n });\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4C;AAC5C,mBAKO;AAIA,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6D;AAC3D,QAAM,aAAS,+BAAe,QAAQ;AACtC,MAAI,qBAAgC,CAAC;AACrC,QAAM,gBAAgB,CAAC,SAAiB;AACtC,UAAM,OAAO,8BAAiB,IAAI,KAAK,mBAAmB,IAAI;AAC9D,YAAI,4BAAY,IAAI,GAAG;AACrB,aAAO;AAAA,IACT,OAAO;AACL,YAAM,IAAI,MAAM,cAAc;AAAA,IAChC;AAAA,EACF;AACA,2BAAqB,mCAAqB,UAAU,aAAa;AAEjE,QAAM,eAAW,wCAA0B,QAAQ,WAAW;AAC9D,aAAO,mCAAqB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
4
+ "sourcesContent": ["import { buildASTSchema } from \"graphql\";\nimport { executeWithoutSchema } from \"./index\";\nimport { PromiseOrValue } from \"./jsutils/PromiseOrValue\";\nimport { ExecutionResult, ExecutionWithSchemaArgs } from \"./types\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"./utilities/addMinimalViableSchemaToRequestDocument\";\n\nexport function executeWithSchema({\n typeDefs,\n resolvers,\n document,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n}: ExecutionWithSchemaArgs): PromiseOrValue<ExecutionResult> {\n const schema = buildASTSchema(typeDefs);\n const schemaFragment = extractMinimalViableSchemaForRequestDocument(\n schema,\n document,\n );\n\n return executeWithoutSchema({\n document,\n resolvers,\n schemaFragment,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n });\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA+B;AAC/B,mBAAqC;AAGrC,qDAA6D;AAEtD,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6D;AAC3D,QAAM,aAAS,+BAAe,QAAQ;AACtC,QAAM,qBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,EACF;AAEA,aAAO,mCAAqB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -1,15 +1,11 @@
1
1
  // src/executeWithSchema.ts
2
- import { isInputType, buildASTSchema } from "graphql";
3
- import {
4
- addTypesToRequestDocument,
5
- executeWithoutSchema,
6
- extractImplicitTypes,
7
- specifiedScalars
8
- } from "./index.mjs";
2
+ import { buildASTSchema } from "graphql";
3
+ import { executeWithoutSchema } from "./index.mjs";
4
+ import { extractMinimalViableSchemaForRequestDocument } from "./utilities/addMinimalViableSchemaToRequestDocument.mjs";
9
5
  function executeWithSchema({
10
6
  typeDefs,
11
7
  resolvers,
12
- document: rawDocument,
8
+ document,
13
9
  rootValue,
14
10
  contextValue,
15
11
  variableValues,
@@ -19,21 +15,14 @@ function executeWithSchema({
19
15
  fieldExecutionHooks
20
16
  }) {
21
17
  const schema = buildASTSchema(typeDefs);
22
- let extractedResolvers = {};
23
- const getTypeByName = (name) => {
24
- const type = specifiedScalars[name] || extractedResolvers[name];
25
- if (isInputType(type)) {
26
- return type;
27
- } else {
28
- throw new Error("Invalid type");
29
- }
30
- };
31
- extractedResolvers = extractImplicitTypes(typeDefs, getTypeByName);
32
- const document = addTypesToRequestDocument(schema, rawDocument);
18
+ const schemaFragment = extractMinimalViableSchemaForRequestDocument(
19
+ schema,
20
+ document
21
+ );
33
22
  return executeWithoutSchema({
34
23
  document,
35
24
  resolvers,
36
- schemaResolvers: extractedResolvers,
25
+ schemaFragment,
37
26
  rootValue,
38
27
  contextValue,
39
28
  variableValues,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/executeWithSchema.ts"],
4
- "sourcesContent": ["import { isInputType, buildASTSchema } from \"graphql\";\nimport {\n addTypesToRequestDocument,\n executeWithoutSchema,\n extractImplicitTypes,\n specifiedScalars,\n} from \"./index\";\nimport { PromiseOrValue } from \"./jsutils/PromiseOrValue\";\nimport { Resolvers, ExecutionResult, ExecutionWithSchemaArgs } from \"./types\";\n\nexport function executeWithSchema({\n typeDefs,\n resolvers,\n document: rawDocument,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n}: ExecutionWithSchemaArgs): PromiseOrValue<ExecutionResult> {\n const schema = buildASTSchema(typeDefs);\n let extractedResolvers: Resolvers = {};\n const getTypeByName = (name: string) => {\n const type = specifiedScalars[name] || extractedResolvers[name];\n if (isInputType(type)) {\n return type;\n } else {\n throw new Error(\"Invalid type\");\n }\n };\n extractedResolvers = extractImplicitTypes(typeDefs, getTypeByName);\n\n const document = addTypesToRequestDocument(schema, rawDocument);\n return executeWithoutSchema({\n document,\n resolvers,\n schemaResolvers: extractedResolvers,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n });\n}\n"],
5
- "mappings": ";AAAA,SAAS,aAAa,sBAAsB;AAC5C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIA,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6D;AAC3D,QAAM,SAAS,eAAe,QAAQ;AACtC,MAAI,qBAAgC,CAAC;AACrC,QAAM,gBAAgB,CAAC,SAAiB;AACtC,UAAM,OAAO,iBAAiB,IAAI,KAAK,mBAAmB,IAAI;AAC9D,QAAI,YAAY,IAAI,GAAG;AACrB,aAAO;AAAA,IACT,OAAO;AACL,YAAM,IAAI,MAAM,cAAc;AAAA,IAChC;AAAA,EACF;AACA,uBAAqB,qBAAqB,UAAU,aAAa;AAEjE,QAAM,WAAW,0BAA0B,QAAQ,WAAW;AAC9D,SAAO,qBAAqB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
4
+ "sourcesContent": ["import { buildASTSchema } from \"graphql\";\nimport { executeWithoutSchema } from \"./index\";\nimport { PromiseOrValue } from \"./jsutils/PromiseOrValue\";\nimport { ExecutionResult, ExecutionWithSchemaArgs } from \"./types\";\nimport { extractMinimalViableSchemaForRequestDocument } from \"./utilities/addMinimalViableSchemaToRequestDocument\";\n\nexport function executeWithSchema({\n typeDefs,\n resolvers,\n document,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n}: ExecutionWithSchemaArgs): PromiseOrValue<ExecutionResult> {\n const schema = buildASTSchema(typeDefs);\n const schemaFragment = extractMinimalViableSchemaForRequestDocument(\n schema,\n document,\n );\n\n return executeWithoutSchema({\n document,\n resolvers,\n schemaFragment,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n fieldExecutionHooks,\n });\n}\n"],
5
+ "mappings": ";AAAA,SAAS,sBAAsB;AAC/B,SAAS,4BAA4B;AAGrC,SAAS,oDAAoD;AAEtD,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6D;AAC3D,QAAM,SAAS,eAAe,QAAQ;AACtC,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,EACF;AAEA,SAAO,qBAAqB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -1,11 +1,12 @@
1
- import { GraphQLError } from "graphql";
2
- import { DocumentNode, FieldNode, FragmentDefinitionNode, OperationDefinitionNode, OperationTypeDefinitionNode, TypeNode } from "@graphitation/supermassive-ast";
1
+ import { GraphQLError, DocumentNode, FragmentDefinitionNode, OperationDefinitionNode, OperationTypeDefinitionNode } from "graphql";
2
+ import { FieldGroup } from "./collectFields";
3
3
  import type { Maybe } from "./jsutils/Maybe";
4
4
  import type { ObjMap } from "./jsutils/ObjMap";
5
5
  import type { Path } from "./jsutils/Path";
6
6
  import type { PromiseOrValue } from "./jsutils/PromiseOrValue";
7
- import { ExecutionWithoutSchemaArgs, FunctionFieldResolver, ResolveInfo, Resolvers, TypeResolver, ExecutionResult } from "./types";
7
+ import { ExecutionWithoutSchemaArgs, FunctionFieldResolver, ResolveInfo, TypeResolver, ExecutionResult } from "./types";
8
8
  import { ExecutionHooks } from "./hooks/types";
9
+ import { SchemaFragment } from "./schema/fragment";
9
10
  /**
10
11
  * Terminology
11
12
  *
@@ -32,18 +33,21 @@ import { ExecutionHooks } from "./hooks/types";
32
33
  * and the fragments defined in the query document
33
34
  */
34
35
  export interface ExecutionContext {
35
- resolvers: Resolvers;
36
+ schemaTypes: SchemaFragment;
36
37
  fragments: ObjMap<FragmentDefinitionNode>;
37
38
  rootValue: unknown;
38
39
  contextValue: unknown;
40
+ buildContextValue?: (contextValue?: unknown) => unknown;
39
41
  operation: OperationDefinitionNode;
40
42
  variableValues: {
41
43
  [variable: string]: unknown;
42
44
  };
43
45
  fieldResolver: FunctionFieldResolver<unknown, unknown>;
44
46
  typeResolver: TypeResolver<unknown, unknown>;
47
+ subscribeFieldResolver: FunctionFieldResolver<unknown, unknown>;
45
48
  errors: Array<GraphQLError>;
46
49
  fieldExecutionHooks?: ExecutionHooks;
50
+ subsequentPayloads: Set<IncrementalDataRecord>;
47
51
  }
48
52
  /**
49
53
  * Implements the "Executing requests" section of the GraphQL specification.
@@ -65,21 +69,10 @@ export declare function executeWithoutSchema(args: ExecutionWithoutSchemaArgs):
65
69
  export declare function assertValidExecutionArguments(document: DocumentNode, rawVariableValues: Maybe<{
66
70
  [variable: string]: unknown;
67
71
  }>): void;
68
- /**
69
- * Constructs a ExecutionContext object from the arguments passed to
70
- * execute, which we will pass throughout the other execution methods.
71
- *
72
- * Throws a GraphQLError if a valid execution context cannot be created.
73
- *
74
- * @internal
75
- */
76
- export declare function buildExecutionContext(resolvers: Resolvers, document: DocumentNode, rootValue: unknown, contextValue: unknown, rawVariableValues: Maybe<{
77
- [variable: string]: unknown;
78
- }>, operationName: Maybe<string>, fieldResolver: Maybe<FunctionFieldResolver<unknown, unknown>>, typeResolver?: Maybe<TypeResolver<unknown, unknown>>, fieldExecutionHooks?: ExecutionHooks): Array<GraphQLError> | ExecutionContext;
79
72
  /**
80
73
  * @internal
81
74
  */
82
- export declare function buildResolveInfo(exeContext: ExecutionContext, fieldName: string, fieldNodes: Array<FieldNode>, parentTypeName: string, returnTypeName: string, returnTypeNode: TypeNode, path: Path): ResolveInfo;
75
+ export declare function buildResolveInfo(exeContext: ExecutionContext, fieldName: string, fieldGroup: FieldGroup, parentTypeName: string, returnTypeName: string, path: Path): ResolveInfo;
83
76
  /**
84
77
  * If a resolveType function is not given, then a default resolve behavior is
85
78
  * used which attempts two strategies:
@@ -99,4 +92,48 @@ export declare const defaultTypeResolver: TypeResolver<unknown, unknown>;
99
92
  */
100
93
  export declare const defaultFieldResolver: FunctionFieldResolver<unknown, unknown>;
101
94
  export declare function getOperationRootTypeName(operation: OperationDefinitionNode | OperationTypeDefinitionNode): string;
95
+ export type IncrementalDataRecord = DeferredFragmentRecord | StreamItemsRecord;
96
+ declare class DeferredFragmentRecord {
97
+ type: "defer";
98
+ errors: Array<GraphQLError>;
99
+ label: string | undefined;
100
+ path: Array<string | number>;
101
+ promise: Promise<void>;
102
+ data: ObjMap<unknown> | null;
103
+ parentContext: IncrementalDataRecord | undefined;
104
+ isCompleted: boolean;
105
+ _exeContext: ExecutionContext;
106
+ _resolve?: (arg: PromiseOrValue<ObjMap<unknown> | null>) => void;
107
+ constructor(opts: {
108
+ label: string | undefined;
109
+ path: Path | undefined;
110
+ parentContext: IncrementalDataRecord | undefined;
111
+ exeContext: ExecutionContext;
112
+ });
113
+ addData(data: PromiseOrValue<ObjMap<unknown> | null>): void;
114
+ }
115
+ declare class StreamItemsRecord {
116
+ type: "stream";
117
+ errors: Array<GraphQLError>;
118
+ label: string | undefined;
119
+ path: Array<string | number>;
120
+ items: Array<unknown> | null;
121
+ promise: Promise<void>;
122
+ parentContext: IncrementalDataRecord | undefined;
123
+ asyncIterator: AsyncIterator<unknown> | undefined;
124
+ isCompletedAsyncIterator?: boolean;
125
+ isCompleted: boolean;
126
+ _exeContext: ExecutionContext;
127
+ _resolve?: (arg: PromiseOrValue<Array<unknown> | null>) => void;
128
+ constructor(opts: {
129
+ label: string | undefined;
130
+ path: Path | undefined;
131
+ asyncIterator?: AsyncIterator<unknown>;
132
+ parentContext: IncrementalDataRecord | undefined;
133
+ exeContext: ExecutionContext;
134
+ });
135
+ addItems(items: PromiseOrValue<Array<unknown> | null>): void;
136
+ setIsCompletedAsyncIterator(): void;
137
+ }
138
+ export {};
102
139
  //# sourceMappingURL=executeWithoutSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executeWithoutSchema.d.ts","sourceRoot":"","sources":["../src/executeWithoutSchema.ts"],"names":[],"mappings":"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"}