cruddl 4.2.3 → 5.0.0-0.deploytest.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/.github/workflows/ci.yml +5 -3
  2. package/.husky/pre-commit +1 -0
  3. package/README.md +0 -1
  4. package/dist/src/authorization/move-errors-to-output-nodes.js +1 -0
  5. package/dist/src/authorization/move-errors-to-output-nodes.js.map +1 -1
  6. package/dist/src/authorization/transformers/traversal.js +13 -2
  7. package/dist/src/authorization/transformers/traversal.js.map +1 -1
  8. package/dist/src/cruddl-version.js +1 -1
  9. package/dist/src/database/arangodb/aql-generator.js +856 -185
  10. package/dist/src/database/arangodb/aql-generator.js.map +1 -1
  11. package/dist/src/database/arangodb/arangodb-adapter.js +30 -10
  12. package/dist/src/database/arangodb/arangodb-adapter.js.map +1 -1
  13. package/dist/src/database/arangodb/config.js +3 -8
  14. package/dist/src/database/arangodb/config.js.map +1 -1
  15. package/dist/src/database/arangodb/traversal-helpers.d.ts +10 -0
  16. package/dist/src/database/arangodb/traversal-helpers.js +52 -0
  17. package/dist/src/database/arangodb/traversal-helpers.js.map +1 -0
  18. package/dist/src/database/inmemory/inmemory-adapter.js +3 -7
  19. package/dist/src/database/inmemory/inmemory-adapter.js.map +1 -1
  20. package/dist/src/database/inmemory/js-generator.js +75 -55
  21. package/dist/src/database/inmemory/js-generator.js.map +1 -1
  22. package/dist/src/execution/runtime-errors.d.ts +1 -0
  23. package/dist/src/execution/runtime-errors.js +3 -3
  24. package/dist/src/execution/runtime-errors.js.map +1 -1
  25. package/dist/src/model/implementation/indices.js +17 -1
  26. package/dist/src/model/implementation/indices.js.map +1 -1
  27. package/dist/src/query-tree/queries.d.ts +102 -7
  28. package/dist/src/query-tree/queries.js +77 -10
  29. package/dist/src/query-tree/queries.js.map +1 -1
  30. package/dist/src/schema/schema-builder.js +5 -1
  31. package/dist/src/schema/schema-builder.js.map +1 -1
  32. package/dist/src/schema-generation/field-nodes.d.ts +10 -5
  33. package/dist/src/schema-generation/field-nodes.js +32 -4
  34. package/dist/src/schema-generation/field-nodes.js.map +1 -1
  35. package/dist/src/schema-generation/filter-augmentation.js +0 -1
  36. package/dist/src/schema-generation/filter-augmentation.js.map +1 -1
  37. package/dist/src/schema-generation/flex-search-post-filter-augmentation.js +0 -1
  38. package/dist/src/schema-generation/flex-search-post-filter-augmentation.js.map +1 -1
  39. package/dist/src/schema-generation/order-by-and-pagination-augmentation.js +41 -22
  40. package/dist/src/schema-generation/order-by-and-pagination-augmentation.js.map +1 -1
  41. package/dist/src/schema-generation/output-type-generator.js +5 -3
  42. package/dist/src/schema-generation/output-type-generator.js.map +1 -1
  43. package/dist/src/schema-generation/query-node-object-type/context.d.ts +1 -1
  44. package/dist/src/schema-generation/query-node-object-type/context.js +1 -1
  45. package/dist/src/schema-generation/query-node-object-type/query-node-generator.js +37 -3
  46. package/dist/src/schema-generation/query-node-object-type/query-node-generator.js.map +1 -1
  47. package/dist/src/schema-generation/root-field-helper.d.ts +3 -23
  48. package/dist/src/schema-generation/root-field-helper.js +9 -109
  49. package/dist/src/schema-generation/root-field-helper.js.map +1 -1
  50. package/dist/src/schema-generation/utils/filtering.d.ts +1 -2
  51. package/dist/src/schema-generation/utils/filtering.js +28 -6
  52. package/dist/src/schema-generation/utils/filtering.js.map +1 -1
  53. package/dist/src/schema-generation/utils/relations.js +0 -1
  54. package/dist/src/schema-generation/utils/relations.js.map +1 -1
  55. package/dist/src/utils/util-types.d.ts +6 -0
  56. package/knip.json +6 -1
  57. package/package.json +6 -11
  58. package/tsconfig.json +1 -1
@@ -75,7 +75,6 @@ class OrderByAndPaginationAugmentation {
75
75
  resolve: (sourceNode, args, info) => {
76
76
  let listNode = schemaField.resolve(sourceNode, args, info);
77
77
  let itemVariable = new query_tree_1.VariableQueryNode((0, utils_1.decapitalize)(type.name));
78
- let objectNode = this.rootFieldHelper.getRealItemNode(itemVariable, info);
79
78
  let maxCount = args[constants_1.FIRST_ARG];
80
79
  if (options.firstLimitCheckType &&
81
80
  info.maxLimitForRootEntityQueries &&
@@ -104,17 +103,27 @@ class OrderByAndPaginationAugmentation {
104
103
  let filterNode;
105
104
  const originalListNode = listNode;
106
105
  if (listNode instanceof query_tree_1.TransformListQueryNode &&
107
- listNode.skip === 0 &&
106
+ // TODO aql-perf we could theoretically append this to the new sort order if it's not absolute
107
+ // but the more sane thing is probably just to throw
108
108
  listNode.orderBy.isUnordered() &&
109
+ // TODO aql-perf it's probably better to throw instead of checking because two LIMITs in a row is probably bad
110
+ listNode.skip === 0 &&
109
111
  listNode.maxCount == undefined &&
112
+ // TODO aql-perf why is this condition necessary?
110
113
  listNode.innerNode === listNode.itemVariable) {
111
114
  filterNode = listNode.filterNode.equals(query_tree_1.ConstBoolQueryNode.TRUE)
112
115
  ? undefined
113
116
  : listNode.filterNode;
114
117
  itemVariable = listNode.itemVariable;
115
- objectNode = this.rootFieldHelper.getRealItemNode(itemVariable, info);
116
118
  listNode = listNode.listNode;
117
119
  }
120
+ else if (listNode instanceof query_tree_1.TraversalQueryNode) {
121
+ // a bit down, we check again whether it's a TraversalQueryNode and then merge the sort and pagination into it
122
+ itemVariable = listNode.itemVariable;
123
+ if (listNode.skip !== 0 || listNode.maxCount !== undefined) {
124
+ throw new Error(`Pagination augmentation does not expect existing skip/maxCount on TraversalQueryNode`);
125
+ }
126
+ }
118
127
  // flexsearch?
119
128
  // we only offer cursor-based pagination if we can cover all required filters with flex search filters
120
129
  // this means we just replace the flexsearch listNode with a flexsearch listNode that does the cursor-filtering
@@ -165,7 +174,7 @@ class OrderByAndPaginationAugmentation {
165
174
  afterArg,
166
175
  // pagination acts on the listNode (which is a FlexSearchQueryNode) and not on the resulting
167
176
  // TransformListQueryNode, so we need to use listNode.itemVariable in the pagination filter
168
- itemNode: this.rootFieldHelper.getRealItemNode(listNode.itemVariable, info),
177
+ itemNode: listNode.itemVariable,
169
178
  orderByValues,
170
179
  isFlexSearch: true,
171
180
  });
@@ -185,7 +194,7 @@ class OrderByAndPaginationAugmentation {
185
194
  : (0, pagination_1.getOrderByValues)(args, orderByType, { isAbsoluteOrderRequired });
186
195
  paginationFilter = this.createPaginationFilterNode({
187
196
  afterArg,
188
- itemNode: objectNode,
197
+ itemNode: itemVariable,
189
198
  orderByValues,
190
199
  isFlexSearch: false,
191
200
  });
@@ -193,25 +202,14 @@ class OrderByAndPaginationAugmentation {
193
202
  // sorting always happens on the TransformListQueryNode and not in the FlexSearchQueryNode
194
203
  const orderBy = !orderByType
195
204
  ? query_tree_1.OrderSpecification.UNORDERED
196
- : new query_tree_1.OrderSpecification(orderByValues.map((value) => value.getClause(objectNode)));
205
+ : new query_tree_1.OrderSpecification(orderByValues.map((value) => value.getClause(itemVariable)));
197
206
  if (orderBy.isUnordered() &&
198
207
  maxCount == undefined &&
199
- paginationFilter === query_tree_1.ConstBoolQueryNode.TRUE) {
208
+ (!paginationFilter || paginationFilter === query_tree_1.ConstBoolQueryNode.TRUE)) {
200
209
  return originalListNode;
201
210
  }
202
- // There is no way to specify LIMIT with an offset but without count properly, and specifying a huge
203
- // count would still trigger the constrained-heap optimization for flexsearch views which would OOM
204
- // https://arangodb.atlassian.net/servicedesk/customer/portal/10/DEVSUP-625
205
- // https://github.com/AEB-labs/cruddl/pull/171#issuecomment-669032789
206
- if (listNode instanceof flex_search_1.FlexSearchQueryNode &&
207
- skip &&
208
- maxCount === undefined &&
209
- !orderBy.isUnordered()) {
210
- return new query_tree_1.RuntimeErrorQueryNode(`Using "skip" without "first" in combination with "orderBy" or cursor-based pagination is not supported on flex search queries.`, {
211
- code: query_tree_1.NOT_SUPPORTED_ERROR,
212
- });
213
- }
214
211
  if (!(listNode instanceof flex_search_1.FlexSearchQueryNode) &&
212
+ !(listNode instanceof query_tree_1.TraversalQueryNode) && // does not make use of indices for sorting
215
213
  !skip &&
216
214
  maxCount != undefined &&
217
215
  orderBy.clauses.length > 1 &&
@@ -226,7 +224,6 @@ class OrderByAndPaginationAugmentation {
226
224
  const optimizedQueryNode = this.getPaginatedNodeUsingMultiIndexOptimization({
227
225
  orderBy,
228
226
  itemVariable,
229
- objectNode,
230
227
  orderByType,
231
228
  listNode,
232
229
  args,
@@ -240,6 +237,28 @@ class OrderByAndPaginationAugmentation {
240
237
  }
241
238
  return optimizedQueryNode;
242
239
  }
240
+ if (listNode instanceof query_tree_1.TraversalQueryNode) {
241
+ if (wrapQueryNodeInResultValidator && options.operation) {
242
+ // traversals are always limited in nature, so we don't check item count
243
+ throw new Error(`result validator not supported on TraversalQueryNode`);
244
+ }
245
+ return new query_tree_1.TraversalQueryNode({
246
+ entitiesIdentifierKind: listNode.entitiesIdentifierKind,
247
+ sourceEntityNode: listNode.sourceEntityNode,
248
+ relationSegments: listNode.relationSegments,
249
+ fieldSegments: listNode.fieldSegments,
250
+ sourceIsList: listNode.sourceIsList,
251
+ alwaysProduceList: listNode.alwaysProduceList,
252
+ preserveNullValues: listNode.preserveNullValues,
253
+ filterNode: listNode.filterNode,
254
+ innerNode: listNode.innerNode,
255
+ rootEntityVariable: listNode.rootEntityVariable,
256
+ skip,
257
+ maxCount,
258
+ itemVariable,
259
+ orderBy,
260
+ });
261
+ }
243
262
  const transformListNode = new query_tree_1.TransformListQueryNode({
244
263
  listNode,
245
264
  itemVariable,
@@ -270,7 +289,7 @@ class OrderByAndPaginationAugmentation {
270
289
  resultNode: v,
271
290
  });
272
291
  }
273
- getPaginatedNodeUsingMultiIndexOptimization({ args, orderByType, itemVariable, objectNode, listNode, orderBy, maxCount, filterNode, }) {
292
+ getPaginatedNodeUsingMultiIndexOptimization({ args, orderByType, itemVariable, listNode, orderBy, maxCount, filterNode, }) {
274
293
  const afterArg = args[constants_1.AFTER_ARG];
275
294
  let cursorObj;
276
295
  try {
@@ -295,7 +314,7 @@ class OrderByAndPaginationAugmentation {
295
314
  return new query_tree_1.RuntimeErrorQueryNode(`Invalid cursor supplied to "after": Property "${cursorProperty}" missing. Make sure this cursor has been obtained with the same orderBy clause.`, { code: query_tree_1.INVALID_CURSOR_ERROR });
296
315
  }
297
316
  const cursorValue = cursorObj[cursorProperty];
298
- const valueNode = clause.getValueNode(objectNode);
317
+ const valueNode = clause.getValueNode(itemVariable);
299
318
  const operator = clause.direction == query_tree_1.OrderDirection.ASCENDING
300
319
  ? query_tree_1.BinaryOperator.GREATER_THAN
301
320
  : query_tree_1.BinaryOperator.LESS_THAN;
@@ -1 +1 @@
1
- {"version":3,"file":"order-by-and-pagination-augmentation.js","sourceRoot":"","sources":["../../../src/schema-generation/order-by-and-pagination-augmentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order-by-and-pagination-augmentation.js","sourceRoot":"","sources":["../../../src/schema-generation/order-by-and-pagination-augmentation.ts"],"names":[],"mappings":"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"}
@@ -167,7 +167,9 @@ class OutputTypeGenerator {
167
167
  // a check that they return null if the source node is null.
168
168
  // if we skip both, entity extensions will be passed as null, but they will only ever be used to look up
169
169
  // fields in them, and a FieldQueryNode returns null if the source is null.
170
- skipNullCheck: field.type.isEntityExtensionType,
170
+ // parent fields and root fields can never be null (either they exist, or querying them throws an error)
171
+ // it's important to skip the null check because ArangoDB would otherwise no longer use the reduce-extraction-to-projection optimiztion
172
+ skipNullCheck: field.type.isEntityExtensionType || field.isParentField || field.isRootField,
171
173
  isPure: true,
172
174
  resolve: (sourceNode, args, info) => this.resolveField(field, sourceNode, info),
173
175
  };
@@ -187,9 +189,9 @@ class OutputTypeGenerator {
187
189
  // the helper will already produce result nodes for parent and root fields
188
190
  return rootHelperResult.resultNode;
189
191
  }
190
- return (0, field_nodes_1.createFieldNode)(field, rootHelperResult.sourceNode, {
192
+ return (0, field_nodes_1.createFieldNode)(field, sourceNode, {
191
193
  skipNullFallbackForEntityExtensions: true,
192
- captureRootEntitiesOnCollectFields: rootHelperResult.captureRootEntitiesOnCollectFields,
194
+ registerRootNode: (rootNode) => rootHelperResult.registerRootNode(rootNode),
193
195
  });
194
196
  }
195
197
  createMetaField(field) {
@@ -1 +1 @@
1
- {"version":3,"file":"output-type-generator.js","sourceRoot":"","sources":["../../../src/schema-generation/output-type-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-type-generator.js","sourceRoot":"","sources":["../../../src/schema-generation/output-type-generator.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { FieldSelection } from '../../graphql/query-distiller';
5
5
  *
6
6
  * There usually is a 1:1 relationship between a FieldSelection/FieldRequest and the SelectionToken. However, instances
7
7
  * of a FieldSelection do not convey an identity per se. Usage of the SelectionToken class makes it clear that it's not
8
- * taken for its values bot for the identity within an execution. This is a useful property for caches and external
8
+ * taken for its values but for the identity within an execution. This is a useful property for caches and external
9
9
  * state management.
10
10
  */
11
11
  export declare class SelectionToken {
@@ -6,7 +6,7 @@ exports.SelectionToken = void 0;
6
6
  *
7
7
  * There usually is a 1:1 relationship between a FieldSelection/FieldRequest and the SelectionToken. However, instances
8
8
  * of a FieldSelection do not convey an identity per se. Usage of the SelectionToken class makes it clear that it's not
9
- * taken for its values bot for the identity within an execution. This is a useful property for caches and external
9
+ * taken for its values but for the identity within an execution. This is a useful property for caches and external
10
10
  * state management.
11
11
  */
12
12
  class SelectionToken {
@@ -116,10 +116,19 @@ function buildFieldQueryNode0(sourceNode, field, fieldRequest, context) {
116
116
  // Note: previously, we had a safeguard here that converted non-lists to empty lists
117
117
  // This is no longer necessary because createFieldNode() already does this where necessary (only for simple field lookups)
118
118
  // All other code should return lists where lists are expected
119
- return buildTransformListQueryNode(fieldQueryNode, queryTreeObjectType, fieldRequest.selectionSet, context);
119
+ return applyListTransformations(fieldQueryNode, queryTreeObjectType, fieldRequest.selectionSet, context);
120
120
  }
121
121
  // object
122
122
  if (field.skipNullCheck) {
123
+ // if there is no null check, this output node does not access fieldQueryNode at all, so
124
+ // moveErrorsToOutputNodes() won't move errors here. Without this logic here, runtime errors
125
+ // would only be moved to the fields that use fieldQueryNode, and the main object would
126
+ // still exist (without error)
127
+ // Limitation: if fieldQueryNode is a complex expression that can sometimes result in a
128
+ // RuntimeErrorQueryNode, we still have the problem. Currently, we don't generate such a pattern.
129
+ if (fieldQueryNode instanceof query_tree_1.RuntimeErrorQueryNode) {
130
+ return fieldQueryNode;
131
+ }
123
132
  return buildObjectQueryNode(fieldQueryNode, queryTreeObjectType, fieldRequest.selectionSet, context);
124
133
  }
125
134
  else {
@@ -144,7 +153,7 @@ function buildFieldQueryNode(sourceNode, field, fieldRequest, context) {
144
153
  resultNode: variableNode,
145
154
  });
146
155
  }
147
- function buildTransformListQueryNode(listNode, itemType, selectionSet, context) {
156
+ function applyListTransformations(listNode, itemType, selectionSet, context) {
148
157
  // if we can, just extend a given TransformListNode so that other cruddl optimizations can operate
149
158
  // (e.g. projection indirection)
150
159
  if (listNode instanceof query_tree_1.TransformListQueryNode &&
@@ -159,7 +168,32 @@ function buildTransformListQueryNode(listNode, itemType, selectionSet, context)
159
168
  skip: listNode.skip,
160
169
  });
161
170
  }
162
- const itemVariable = new query_tree_1.VariableQueryNode(itemType.name);
171
+ // same applies to TraversalQueryNode which is used for collect fields
172
+ // this is actually functionally required because otherwise we would not have access to the rootEntityNode
173
+ // (needed for @root fields)
174
+ if (listNode instanceof query_tree_1.TraversalQueryNode) {
175
+ const itemVariable = listNode.itemVariable ?? new query_tree_1.VariableQueryNode(`collectItem`);
176
+ const rootEntityVariable = listNode.rootEntityVariable ?? new query_tree_1.VariableQueryNode(`collectRoot`);
177
+ const oldInnerNode = listNode.innerNode ?? itemVariable;
178
+ const innerNode = buildObjectQueryNode(oldInnerNode, itemType, selectionSet, context);
179
+ return new query_tree_1.TraversalQueryNode({
180
+ entitiesIdentifierKind: listNode.entitiesIdentifierKind,
181
+ sourceEntityNode: listNode.sourceEntityNode,
182
+ relationSegments: listNode.relationSegments,
183
+ fieldSegments: listNode.fieldSegments,
184
+ sourceIsList: listNode.sourceIsList,
185
+ alwaysProduceList: listNode.alwaysProduceList,
186
+ preserveNullValues: listNode.preserveNullValues,
187
+ filterNode: listNode.filterNode,
188
+ orderBy: listNode.orderBy,
189
+ skip: listNode.skip,
190
+ maxCount: listNode.maxCount,
191
+ innerNode,
192
+ itemVariable,
193
+ rootEntityVariable,
194
+ });
195
+ }
196
+ const itemVariable = new query_tree_1.VariableQueryNode((0, utils_1.decapitalize)(itemType.name));
163
197
  const innerNode = buildObjectQueryNode(itemVariable, itemType, selectionSet, context);
164
198
  return new query_tree_1.TransformListQueryNode({
165
199
  listNode,
@@ -1 +1 @@
1
- {"version":3,"file":"query-node-generator.js","sourceRoot":"","sources":["../../../../src/schema-generation/query-node-object-type/query-node-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-node-generator.js","sourceRoot":"","sources":["../../../../src/schema-generation/query-node-object-type/query-node-generator.ts"],"names":[],"mappings":";;AA+BA,wDAaC;AAED,0EAoCC;AAlFD,qCAAoD;AAEpD,iDAmB0B;AAC1B,2EAAsE;AACtE,6CAA0D;AAC1D,uCAAyD;AAEzD,mCAAgF;AAChF,yEAAgF;AAIhF,SAAgB,sBAAsB,CAClC,UAEI,EAAE;IAEN,OAAO;QACH,cAAc,EAAE,EAAE;QAClB,mBAAmB,EAAE,EAAE;QACvB,cAAc,EAAE,IAAI,wBAAc,EAAE;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,gCAAY,EAAE;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,iCAAa,EAAE;QACvD,GAAG,OAAO;KACb,CAAC;AACN,CAAC;AAED,SAAgB,+BAA+B,CAC3C,UAAqB,EACrB,IAAyB,EACzB,YAA2C,EAC3C,OAAqB;IAErB,IAAI,UAAU,YAAY,4BAAe,EAAE,CAAC;QACxC,6GAA6G;QAC7G,OAAO,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,UAAU,YAAY,0BAAa,EAAE,CAAC;QACtC,OAAO,0BAAa,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,oEAAoE;IACpE,IAAI,6BAA6B,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,iCAAoB,CAC3B,IAAI,+BAAkB,CAAC,UAAU,EAAE,sBAAS,CAAC,IAAI,CAAC,EAClD,IAAI,0BAAa,EAAE,EACnB,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAChE,CAAC;IACN,CAAC;IAED,4IAA4I;IAC5I,6HAA6H;IAC7H,MAAM,YAAY,GAAG,IAAI,8BAAiB,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,OAAO,IAAI,wCAA2B,CAAC;QACnC,YAAY;QACZ,iBAAiB,EAAE,UAAU;QAC7B,UAAU,EAAE,IAAI,iCAAoB,CAChC,IAAI,+BAAkB,CAAC,YAAY,EAAE,sBAAS,CAAC,IAAI,CAAC,EACpD,IAAI,0BAAa,EAAE,EACnB,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAClE;KACJ,CAAC,CAAC;AACP,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,OAAO,EAAoD,CAAC;AAEtF,SAAS,WAAW,CAAC,IAAyB;IAC1C,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,QAAQ,GAAG,IAAI,GAAG,CACd,IAAA,mCAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAC3F,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,oBAAoB,CACzB,UAAqB,EACrB,IAAyB,EACzB,UAAyC,EACzC,OAAqB;IAErB,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,qBAAqB,GAAG,IAAA,yCAAkB,EAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAqC,EAAE,CAAC;IACjE,IAAI,UAAU,GAAc,IAAI,4BAAe,CAC3C,IAAA,eAAO,EAAC,qBAAqB,EAAE,CAAC,UAAU,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAChD,IAAI,YAAY,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YAC1C,OAAO,UAAU,CAAC,GAAG,CACjB,CAAC,CAAC,EAAE,EAAE,CACF,IAAI,kCAAqB,CACrB,CAAC,CAAC,YAAY,EACd,IAAI,6BAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CACrD,CACR,CAAC;QACN,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,wBAAc,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAiB;YAC7B,GAAG,OAAO;YACV,cAAc,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1D,mBAAmB,EAAE,CAAC,GAAG,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC;YACrE,cAAc;SACjB,CAAC;QACF,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QACxF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,kCAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACJ,MAAM,YAAY,GAAG,IAAI,8BAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,mBAAmB,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;YACzD,OAAO,UAAU,CAAC,GAAG,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,kCAAqB,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CACjE,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CACL,CAAC;IACF,KAAK,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAI,mBAAmB,EAAE,CAAC;QAClE,UAAU,GAAG,IAAI,wCAA2B,CAAC;YACzC,YAAY;YACZ,iBAAiB;YACjB,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AACD,SAAS,gCAAgC,CACrC,UAAqB,EACrB,KAAqB,EACrB,YAA0B,EAC1B,OAAqB;IAErB,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9F,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,SAAS,CAAC,sBAAsB,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACJ,OAAO,sBAAsB,CAAC;IAClC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CACzB,UAAqB,EACrB,KAAqB,EACrB,YAA0B,EAC1B,OAAqB;IAErB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE7E,0CAA0C;IAC1C,MAAM,mBAAmB,GAAG,IAAA,kCAA0B,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,IAAI,IAAA,iCAAyB,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,oFAAoF;QACpF,0HAA0H;QAC1H,8DAA8D;QAE9D,OAAO,wBAAwB,CAC3B,cAAc,EACd,mBAAmB,EACnB,YAAY,CAAC,YAAY,EACzB,OAAO,CACV,CAAC;IACN,CAAC;IAED,SAAS;IACT,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,wFAAwF;QACxF,4FAA4F;QAC5F,uFAAuF;QACvF,8BAA8B;QAC9B,uFAAuF;QACvF,iGAAiG;QACjG,IAAI,cAAc,YAAY,kCAAqB,EAAE,CAAC;YAClD,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,OAAO,oBAAoB,CACvB,cAAc,EACd,mBAAmB,EACnB,YAAY,CAAC,YAAY,EACzB,OAAO,CACV,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,wGAAwG;QACxG,sDAAsD;QACtD,OAAO,+BAA+B,CAClC,cAAc,EACd,mBAAmB,EACnB,YAAY,CAAC,YAAY,EACzB,OAAO,CACV,CAAC;IACN,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,UAAqB,EACrB,KAAqB,EACrB,YAA0B,EAC1B,OAAqB;IAErB,MAAM,IAAI,GAAG,gCAAgC,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACxF,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,8BAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,IAAI,sCAAyB,CAAC;QACjC,cAAc,EAAE;YACZ,IAAI,8BAAiB,CAAC;gBAClB,KAAK,EAAE,IAAI;gBACX,cAAc,EAAE,YAAY;aAC/B,CAAC;SACL;QACD,UAAU,EAAE,YAAY;KAC3B,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAC7B,QAAmB,EACnB,QAA6B,EAC7B,YAA2C,EAC3C,OAAqB;IAErB,kGAAkG;IAClG,gCAAgC;IAChC,IACI,QAAQ,YAAY,mCAAsB;QAC1C,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,YAAY,EAC9C,CAAC;QACC,OAAO,IAAI,mCAAsB,CAAC;YAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,oBAAoB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;YACvF,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACtB,CAAC,CAAC;IACP,CAAC;IAED,sEAAsE;IACtE,0GAA0G;IAC1G,4BAA4B;IAC5B,IAAI,QAAQ,YAAY,+BAAkB,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,8BAAiB,CAAC,aAAa,CAAC,CAAC;QACnF,MAAM,kBAAkB,GACpB,QAAQ,CAAC,kBAAkB,IAAI,IAAI,8BAAiB,CAAC,aAAa,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC;QACxD,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAEtF,OAAO,IAAI,+BAAkB,CAAC;YAC1B,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;YACvD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAE3B,SAAS;YACT,YAAY;YACZ,kBAAkB;SACoC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,8BAAiB,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACtF,OAAO,IAAI,mCAAsB,CAAC;QAC9B,QAAQ;QACR,SAAS;QACT,YAAY;KACf,CAAC,CAAC;AACP,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAe;IAClD,OAAO,CACH,IAAI,YAAY,8BAAiB;QACjC,CAAC,IAAI,YAAY,2BAAc,IAAI,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CACrF,CAAC;AACN,CAAC"}
@@ -1,44 +1,24 @@
1
1
  import { Field } from '../model';
2
2
  import { QueryNode } from '../query-tree';
3
- import { FieldContext, SelectionToken } from './query-node-object-type';
3
+ import { FieldContext } from './query-node-object-type';
4
4
  export interface ProcessFieldResult {
5
5
  /**
6
6
  * If the RootFieldHelper can already resolve this fields, this will be populated with the value.
7
7
  */
8
8
  readonly resultNode: QueryNode | undefined;
9
9
  /**
10
- * The source node, which might differ from the sourceNode passed in in case of root entity capture.
11
- *
12
- * Only relevant if resultNode is undefined.
10
+ * Call this on collect fields that traverse root entities to store a reference to the root entity in the stack
13
11
  */
14
- readonly sourceNode: QueryNode;
15
- /**
16
- * if this field is a collect field, specifies whether it should capture root entities
17
- */
18
- readonly captureRootEntitiesOnCollectFields: boolean;
12
+ registerRootNode(rootNode: QueryNode): void;
19
13
  }
20
14
  export declare class RootFieldHelper {
21
15
  private readonly hierarchyStackFramesBySelection;
22
16
  private readonly fieldsBySelection;
23
- private readonly selectionsThatCaptureRootEntities;
24
17
  /**
25
18
  * Should be called whenever a field is resolved. Will maintain a hierarchy structure, and may produce a value node
26
19
  */
27
20
  processField(field: Field, sourceNode: QueryNode, fieldContext: FieldContext): ProcessFieldResult;
28
- getRealItemNode(itemNode: QueryNode, fieldContext: FieldContext): QueryNode;
29
- /**
30
- * Determines whether a selection has been instructed (by captureRootEntitiesOnCollectFields) to capture root entities
31
- */
32
- capturesRootEntity(selectionToken: SelectionToken): boolean;
33
21
  private tryResolveField;
34
- private shouldCaptureRootEntity;
35
- private selectsRootField;
36
- /**
37
- * Determines whether a @root field can be reached from anywhere within the given type.
38
- *
39
- * Stops at root entity boundaries
40
- */
41
- private hasReachableRootField;
42
22
  private getHierarchyStackFrame;
43
23
  private setHierarchyStackFrame;
44
24
  private getFieldAtSelection;
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RootFieldHelper = void 0;
4
- const tslib_1 = require("tslib");
5
- const memorize_decorator_1 = tslib_1.__importDefault(require("memorize-decorator"));
6
4
  const query_tree_1 = require("../query-tree");
7
5
  const query_node_object_type_1 = require("./query-node-object-type");
8
6
  class RootFieldHelper {
9
7
  hierarchyStackFramesBySelection = new WeakMap();
10
8
  fieldsBySelection = new WeakMap();
11
- selectionsThatCaptureRootEntities = new WeakSet();
12
9
  /**
13
10
  * Should be called whenever a field is resolved. Will maintain a hierarchy structure, and may produce a value node
14
11
  */
@@ -46,12 +43,6 @@ class RootFieldHelper {
46
43
  this.setFieldAtSelection(fieldContext.selectionToken, field);
47
44
  const existingHierarchyFrame = this.getHierarchyStackFrame(fieldContext.selectionToken);
48
45
  const outerField = this.getFieldAtSelection(parentSelectionToken);
49
- let collectRootNode;
50
- if (this.capturesRootEntity(parentSelectionToken)) {
51
- collectRootNode = new query_tree_1.PropertyAccessQueryNode(sourceNode, 'root');
52
- // we will return the sourceNode below
53
- sourceNode = new query_tree_1.PropertyAccessQueryNode(sourceNode, 'obj');
54
- }
55
46
  // if this is the first time at this layer, calculate the hierarchy frame for this layer
56
47
  let hierarchyFrame;
57
48
  if (existingHierarchyFrame) {
@@ -77,7 +68,7 @@ class RootFieldHelper {
77
68
  // traversing root entities, so need to take new root. parent is not available.
78
69
  hierarchyFrame = {
79
70
  currentEntityNode,
80
- rootEntityNode: collectRootNode,
71
+ rootEntityNode: outerFrame?.rootEntityNodeForChildFrames,
81
72
  };
82
73
  }
83
74
  else {
@@ -101,30 +92,17 @@ class RootFieldHelper {
101
92
  }
102
93
  this.setHierarchyStackFrame(fieldContext.selectionToken, hierarchyFrame);
103
94
  }
104
- const captureRootEntitiesOnCollectFields = this.shouldCaptureRootEntity(field, fieldContext.selectionStack[fieldContext.selectionStack.length - 1].fieldRequest);
105
- if (captureRootEntitiesOnCollectFields) {
106
- this.selectionsThatCaptureRootEntities.add(fieldContext.selectionToken);
107
- }
108
95
  return {
109
- sourceNode,
110
96
  resultNode: this.tryResolveField(field, hierarchyFrame),
111
- captureRootEntitiesOnCollectFields,
97
+ registerRootNode(rootNode) {
98
+ if (hierarchyFrame.rootEntityNodeForChildFrames) {
99
+ throw new Error(`Root query node already registered for field "${field.declaringType.name}.${field.name}"`);
100
+ }
101
+ hierarchyFrame.rootEntityNodeForChildFrames = rootNode;
102
+ },
112
103
  };
113
104
  }
114
- getRealItemNode(itemNode, fieldContext) {
115
- if (this.capturesRootEntity(fieldContext.selectionToken)) {
116
- return new query_tree_1.PropertyAccessQueryNode(itemNode, 'obj');
117
- }
118
- return itemNode;
119
- }
120
- /**
121
- * Determines whether a selection has been instructed (by captureRootEntitiesOnCollectFields) to capture root entities
122
- */
123
- capturesRootEntity(selectionToken) {
124
- return this.selectionsThatCaptureRootEntities.has(selectionToken);
125
- }
126
105
  tryResolveField(field, hierarchyFrame) {
127
- let resultNode;
128
106
  // parent fields that have root entity types are effectively root fields, and those are a bit easier to manage,
129
107
  // so use the logic for root fields in these cases.
130
108
  if (field.isRootField || (field.isParentField && field.type.isRootEntityType)) {
@@ -133,11 +111,9 @@ class RootFieldHelper {
133
111
  code: query_tree_1.NOT_SUPPORTED_ERROR,
134
112
  });
135
113
  }
136
- else {
137
- return hierarchyFrame.rootEntityNode;
138
- }
114
+ return hierarchyFrame.rootEntityNode;
139
115
  }
140
- else if (field.isParentField) {
116
+ if (field.isParentField) {
141
117
  if (!hierarchyFrame.parentEntityFrame?.currentEntityNode) {
142
118
  return new query_tree_1.RuntimeErrorQueryNode(`Parent entity is not available here`, {
143
119
  code: query_tree_1.NOT_SUPPORTED_ERROR,
@@ -147,76 +123,6 @@ class RootFieldHelper {
147
123
  }
148
124
  return undefined;
149
125
  }
150
- shouldCaptureRootEntity(field, fieldRequest) {
151
- if (!field.collectPath) {
152
- return false;
153
- }
154
- // we will only ever need it for collect paths that cross both inter- and intra-root-entity fields
155
- // (and it's not allowed to capture it in other cases anyway)
156
- // we also only need it if the result is a child entity type. It can't be an entity extension (that would be a
157
- // validation error), and value objects can't declare parent fields.
158
- // note that isChildEntityType + traversesRootEntityTypes implies that there are field traversals as well.
159
- if (!field.type.isChildEntityType || !field.collectPath.traversesRootEntityTypes) {
160
- return false;
161
- }
162
- return this.selectsRootField(fieldRequest, field.type);
163
- }
164
- // caching is helpful because it might get called further down in the hierarchy again
165
- // caching is ok because it only keeps a small boolean in the case of a kept-alive FieldRequest
166
- selectsRootField(fieldRequest, type) {
167
- // hasReachableRootField can be cached request-independently, so we can save the time to crawl the selections
168
- // if we know there aren't any reachable root fields
169
- if (!this.hasReachableRootField(type)) {
170
- return false;
171
- }
172
- // assumes that parent/root fields, child entity fields and entity extension fields are always called
173
- // exactly like in the model (to do this properly, using the output-type-generator itself, we would need several
174
- // passes, or we would need to run the query-node-generator upfront and associate metadata with the
175
- // QueryNodeFields
176
- return fieldRequest.selectionSet.some((f) => {
177
- const field = type.getField(f.fieldRequest.field.name);
178
- if (!field) {
179
- return false;
180
- }
181
- if (field.isRootField || (field.isParentField && field.type.isRootEntityType)) {
182
- return true;
183
- }
184
- // don't walk out of the current root entity, we're not interested in them (that would change the root)
185
- if ((field.type.isChildEntityType || field.type.isEntityExtensionType) &&
186
- (!field.collectPath || !field.collectPath.traversesRootEntityTypes)) {
187
- return this.selectsRootField(f.fieldRequest, field.type);
188
- }
189
- return false;
190
- });
191
- }
192
- /**
193
- * Determines whether a @root field can be reached from anywhere within the given type.
194
- *
195
- * Stops at root entity boundaries
196
- */
197
- hasReachableRootField(type) {
198
- const seen = new Set([type]);
199
- let fringe = [type];
200
- do {
201
- const newFringe = [];
202
- for (const type of fringe) {
203
- for (const field of type.fields) {
204
- // parent fields of root entity types are basically root fields (and they will make use of captureRootEntity)
205
- if (field.isRootField || (field.isParentField && field.type.isRootEntityType)) {
206
- return true;
207
- }
208
- if ((field.type.isChildEntityType || field.type.isEntityExtensionType) &&
209
- !seen.has(field.type) &&
210
- (!field.collectPath || !field.collectPath.traversesRootEntityTypes)) {
211
- seen.add(field.type);
212
- newFringe.push(field.type);
213
- }
214
- }
215
- }
216
- fringe = newFringe;
217
- } while (fringe.length);
218
- return false;
219
- }
220
126
  getHierarchyStackFrame(selectionToken) {
221
127
  return this.hierarchyStackFramesBySelection.get(selectionToken);
222
128
  }
@@ -237,10 +143,4 @@ class RootFieldHelper {
237
143
  }
238
144
  }
239
145
  exports.RootFieldHelper = RootFieldHelper;
240
- tslib_1.__decorate([
241
- (0, memorize_decorator_1.default)()
242
- ], RootFieldHelper.prototype, "selectsRootField", null);
243
- tslib_1.__decorate([
244
- (0, memorize_decorator_1.default)()
245
- ], RootFieldHelper.prototype, "hasReachableRootField", null);
246
146
  //# sourceMappingURL=root-field-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-field-helper.js","sourceRoot":"","sources":["../../../src/schema-generation/root-field-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"root-field-helper.js","sourceRoot":"","sources":["../../../src/schema-generation/root-field-helper.ts"],"names":[],"mappings":"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"}