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.
- package/.github/workflows/ci.yml +5 -3
- package/.husky/pre-commit +1 -0
- package/README.md +0 -1
- package/dist/src/authorization/move-errors-to-output-nodes.js +1 -0
- package/dist/src/authorization/move-errors-to-output-nodes.js.map +1 -1
- package/dist/src/authorization/transformers/traversal.js +13 -2
- package/dist/src/authorization/transformers/traversal.js.map +1 -1
- package/dist/src/cruddl-version.js +1 -1
- package/dist/src/database/arangodb/aql-generator.js +856 -185
- package/dist/src/database/arangodb/aql-generator.js.map +1 -1
- package/dist/src/database/arangodb/arangodb-adapter.js +30 -10
- package/dist/src/database/arangodb/arangodb-adapter.js.map +1 -1
- package/dist/src/database/arangodb/config.js +3 -8
- package/dist/src/database/arangodb/config.js.map +1 -1
- package/dist/src/database/arangodb/traversal-helpers.d.ts +10 -0
- package/dist/src/database/arangodb/traversal-helpers.js +52 -0
- package/dist/src/database/arangodb/traversal-helpers.js.map +1 -0
- package/dist/src/database/inmemory/inmemory-adapter.js +3 -7
- package/dist/src/database/inmemory/inmemory-adapter.js.map +1 -1
- package/dist/src/database/inmemory/js-generator.js +75 -55
- package/dist/src/database/inmemory/js-generator.js.map +1 -1
- package/dist/src/execution/runtime-errors.d.ts +1 -0
- package/dist/src/execution/runtime-errors.js +3 -3
- package/dist/src/execution/runtime-errors.js.map +1 -1
- package/dist/src/model/implementation/indices.js +17 -1
- package/dist/src/model/implementation/indices.js.map +1 -1
- package/dist/src/query-tree/queries.d.ts +102 -7
- package/dist/src/query-tree/queries.js +77 -10
- package/dist/src/query-tree/queries.js.map +1 -1
- package/dist/src/schema/schema-builder.js +5 -1
- package/dist/src/schema/schema-builder.js.map +1 -1
- package/dist/src/schema-generation/field-nodes.d.ts +10 -5
- package/dist/src/schema-generation/field-nodes.js +32 -4
- package/dist/src/schema-generation/field-nodes.js.map +1 -1
- package/dist/src/schema-generation/filter-augmentation.js +0 -1
- package/dist/src/schema-generation/filter-augmentation.js.map +1 -1
- package/dist/src/schema-generation/flex-search-post-filter-augmentation.js +0 -1
- package/dist/src/schema-generation/flex-search-post-filter-augmentation.js.map +1 -1
- package/dist/src/schema-generation/order-by-and-pagination-augmentation.js +41 -22
- package/dist/src/schema-generation/order-by-and-pagination-augmentation.js.map +1 -1
- package/dist/src/schema-generation/output-type-generator.js +5 -3
- package/dist/src/schema-generation/output-type-generator.js.map +1 -1
- package/dist/src/schema-generation/query-node-object-type/context.d.ts +1 -1
- package/dist/src/schema-generation/query-node-object-type/context.js +1 -1
- package/dist/src/schema-generation/query-node-object-type/query-node-generator.js +37 -3
- package/dist/src/schema-generation/query-node-object-type/query-node-generator.js.map +1 -1
- package/dist/src/schema-generation/root-field-helper.d.ts +3 -23
- package/dist/src/schema-generation/root-field-helper.js +9 -109
- package/dist/src/schema-generation/root-field-helper.js.map +1 -1
- package/dist/src/schema-generation/utils/filtering.d.ts +1 -2
- package/dist/src/schema-generation/utils/filtering.js +28 -6
- package/dist/src/schema-generation/utils/filtering.js.map +1 -1
- package/dist/src/schema-generation/utils/relations.js +0 -1
- package/dist/src/schema-generation/utils/relations.js.map +1 -1
- package/dist/src/utils/util-types.d.ts +6 -0
- package/knip.json +6 -1
- package/package.json +6 -11
- 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
|
-
|
|
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:
|
|
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:
|
|
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(
|
|
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,
|
|
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(
|
|
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
|
-
|
|
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,
|
|
192
|
+
return (0, field_nodes_1.createFieldNode)(field, sourceNode, {
|
|
191
193
|
skipNullFallbackForEntityExtensions: true,
|
|
192
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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":";;
|
|
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,44 +1,24 @@
|
|
|
1
1
|
import { Field } from '../model';
|
|
2
2
|
import { QueryNode } from '../query-tree';
|
|
3
|
-
import { FieldContext
|
|
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
|
-
*
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
137
|
-
return hierarchyFrame.rootEntityNode;
|
|
138
|
-
}
|
|
114
|
+
return hierarchyFrame.rootEntityNode;
|
|
139
115
|
}
|
|
140
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"root-field-helper.js","sourceRoot":"","sources":["../../../src/schema-generation/root-field-helper.ts"],"names":[],"mappings":";;;AAGA,8CAKuB;AACvB,qEAAwE;AAwBxE,MAAa,eAAe;IACP,+BAA+B,GAAG,IAAI,OAAO,EAG3D,CAAC;IACa,iBAAiB,GAAG,IAAI,OAAO,EAAyB,CAAC;IAE1E;;OAEG;IACH,YAAY,CACR,KAAY,EACZ,UAAqB,EACrB,YAA0B;QAE1B,MAAM,oBAAoB,GACtB,YAAY,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC;YACxC,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/E,CAAC,CAAC,IAAI,uCAAc,EAAE,CAAC;QAE/B;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QAEH,kEAAkE;QAClE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QAElE,wFAAwF;QACxF,IAAI,cAAmC,CAAC;QACxC,IAAI,sBAAsB,EAAE,CAAC;YACzB,cAAc,GAAG,sBAAsB,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;YAErE,0GAA0G;YAC1G,oCAAoC;YACpC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAClD,kGAAkG;gBAClG,+EAA+E;gBAC/E,cAAc,GAAG;oBACb,iBAAiB,EAAE,UAAU;oBAC7B,cAAc,EAAE,UAAU;iBAC7B,CAAC;YACN,CAAC;iBAAM,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,iBAAiB,GACnB,UAAU,CAAC,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB;oBACjE,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS,CAAC;gBACpB,IAAI,UAAU,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;oBAClD,+EAA+E;oBAC/E,cAAc,GAAG;wBACb,iBAAiB;wBACjB,cAAc,EAAE,UAAU,EAAE,4BAA4B;qBAC3D,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,wEAAwE;oBACxE,cAAc,GAAG;wBACb,iBAAiB;wBACjB,cAAc,EAAE,UAAU,EAAE,cAAc;qBAC7C,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3C,cAAc,GAAG;oBACb,iBAAiB,EAAE,UAAU;oBAC7B,iBAAiB,EAAE,UAAU;oBAC7B,cAAc,EAAE,UAAU,EAAE,cAAc;iBAC7C,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,yEAAyE;gBACzE,cAAc,GAAG,UAAU,IAAI,EAAE,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;YACH,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC;YACvD,gBAAgB,CAAC,QAAmB;gBAChC,IAAI,cAAc,CAAC,4BAA4B,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CACX,iDAAiD,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,CAC7F,CAAC;gBACN,CAAC;gBACD,cAAc,CAAC,4BAA4B,GAAG,QAAQ,CAAC;YAC3D,CAAC;SACJ,CAAC;IACN,CAAC;IAEO,eAAe,CACnB,KAAY,EACZ,cAAmC;QAEnC,+GAA+G;QAC/G,mDAAmD;QACnD,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;gBACjC,OAAO,IAAI,kCAAqB,CAAC,mCAAmC,EAAE;oBAClE,IAAI,EAAE,gCAAmB;iBAC5B,CAAC,CAAC;YACP,CAAC;YAED,OAAO,cAAc,CAAC,cAAc,CAAC;QACzC,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;gBACvD,OAAO,IAAI,kCAAqB,CAAC,qCAAqC,EAAE;oBACpE,IAAI,EAAE,gCAAmB;iBAC5B,CAAC,CAAC;YACP,CAAC;YAED,OAAO,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;QAC9D,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,sBAAsB,CAC1B,cAA8B;QAE9B,OAAO,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAEO,sBAAsB,CAC1B,cAA8B,EAC9B,UAA+B;QAE/B,IAAI,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IAEO,mBAAmB,CAAC,cAA8B;QACtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC;IAEO,mBAAmB,CAAC,cAA8B,EAAE,KAAY;QACpE,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;CACJ;AAvKD,0CAuKC"}
|