@luvio/compiler 0.137.4 → 0.138.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/dist/codegen/graphql/type/constants.d.ts +2 -0
- package/dist/codegen/graphql/type/constants.js +3 -1
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js +263 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/select.js +18 -189
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/shared/constants.d.ts +1 -0
- package/dist/codegen/shared/constants.js +2 -1
- package/dist/codegen/shared/constants.js.map +1 -1
- package/package.json +4 -4
|
@@ -64,3 +64,5 @@ export declare const MERGE_FRAGMENT_WITH_EXISTING_SELECTIONS = "mergeFragmentWit
|
|
|
64
64
|
export declare const PAGINATION_OPTIMIZATION_ORIGINAL_VARIABLE_SUFFIX = "_original";
|
|
65
65
|
export declare const BUILD_SELECTION_FOR_NODE_IDENTIFIER = "buildSelectionForNode";
|
|
66
66
|
export declare const BUILD_SELECTION_FOR_FIELD_IDENTIFIER = "buildSelectionForField";
|
|
67
|
+
export declare const SELECT_TYPE_LINK_IDENTIFIER = "selectTypeLink";
|
|
68
|
+
export declare const SELECT_TYPE_LINK_WITH_PAGINATION_IDENTIFIER = "selectTypeLinkWithPagination";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SELECT_TYPE_IDENTIFIER = exports.NORMALIZED_GRAPHQL_TYPE = exports.INGEST_MAPPED_DATA = exports.GET_FIELD_DATA_IDENTIFIER = exports.AFTER_IDENTIFIER = exports.FIRST_IDENTIFIER = exports.REQUESTED_FIELDS_IDENTIFIER = exports.IS_FRAGMENT_APPLICABLE_IDENTIFIER = exports.TYPE_NAME_IDENTIFIER = exports.START_CURSOR_IDENTIFIER = exports.END_CURSOR_IDENTIFIER = exports.HAS_PREVIOUS_PAGE_IDENTIFIER = exports.HAS_NEXT_PAGE_IDENTIFIER = exports.CURSOR_IDENTIFIER = exports.NODE_IDENTIFIER = exports.EDGES_IDENTIFIER = exports.PAGE_INFO_IDENTIFIER = exports.IS_MAPPED_FIELD_IDENTIFIER = exports.INGEST_FIELD_BY_TYPE_IDENTIFIER = exports.GET_FIELD_TYPE_IDENTIFIER = exports.QUERY_TRANSFORM_HELPER_IDENTIFIER = exports.GET_MINIMUM_SELECTIONS_IDENTIFIER = exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = exports.SINK_IDENTIFIER = exports.REQUESTED_FIELD_NAME_IDENTIFIER = exports.REQUESTED_FIELD_IDENTIFIER = exports.FIELD_TYPE_IDENTIFIER = exports.FIELD_DATA_KEY_IDENTIFIER = exports.FIELD_DATA_IDENTIFIER = exports.FIELD_KEY_IDENTIFIER = exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = exports.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = exports.GET_REQUESTED_FIELD_IDENTIFIER = exports.INGEST_TYPE_WITH_STRATEGY = exports.INGEST_NON_CURSOR_CONNECTION_TYPE = exports.INGEST_CURSOR_CONNECTION_TYPE = exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = exports.STRUCTURED_KEY_BUILDER_IDENTIFIER = exports.KEY_BUILDER_IDENTIFIER = exports.TYPE_CACHE_KEYS_IDENTIFIER = exports.TYPE_CONVERT_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_TYPE_DETAILS_INTERFACE_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
|
|
4
|
-
exports.BUILD_SELECTION_FOR_FIELD_IDENTIFIER = exports.BUILD_SELECTION_FOR_NODE_IDENTIFIER = exports.PAGINATION_OPTIMIZATION_ORIGINAL_VARIABLE_SUFFIX = exports.MERGE_FRAGMENT_WITH_EXISTING_SELECTIONS = exports.GET_ARRAY_OFFSET_FOR_PAGE = exports.SHARED_EVALUATE_ARGUMENT_VALUE = exports.GET_CURSOR_CONNECTION_MINIMUM_SELECTIONS_IDENTIFIER = exports.SHARED_GET_IN_CONTEXT_FRAGMENT_TYPE_IDENTIFIER = exports.GET_IN_CONTEXT_FRAGMENT_TYPE_IDENTIFIER = exports.CREATE_FRAGMENT_MAP_IDENTIFIER = exports.MERGE_SELECTIONS_IDENTIFIER = exports.LINKED_DATA_IDENTIFIER = exports.LINK_IDENTIFIER = exports.MAPPED_TYPE_CACHE_KEYS_IDENTIFIER = exports.GRAPHQL_LUVIO_STATE_INTERFACE_IDENTIFIER = exports.ATTACH_MAPPED_DATA_IDENTIFIER = void 0;
|
|
4
|
+
exports.SELECT_TYPE_LINK_WITH_PAGINATION_IDENTIFIER = exports.SELECT_TYPE_LINK_IDENTIFIER = exports.BUILD_SELECTION_FOR_FIELD_IDENTIFIER = exports.BUILD_SELECTION_FOR_NODE_IDENTIFIER = exports.PAGINATION_OPTIMIZATION_ORIGINAL_VARIABLE_SUFFIX = exports.MERGE_FRAGMENT_WITH_EXISTING_SELECTIONS = exports.GET_ARRAY_OFFSET_FOR_PAGE = exports.SHARED_EVALUATE_ARGUMENT_VALUE = exports.GET_CURSOR_CONNECTION_MINIMUM_SELECTIONS_IDENTIFIER = exports.SHARED_GET_IN_CONTEXT_FRAGMENT_TYPE_IDENTIFIER = exports.GET_IN_CONTEXT_FRAGMENT_TYPE_IDENTIFIER = exports.CREATE_FRAGMENT_MAP_IDENTIFIER = exports.MERGE_SELECTIONS_IDENTIFIER = exports.LINKED_DATA_IDENTIFIER = exports.LINK_IDENTIFIER = exports.MAPPED_TYPE_CACHE_KEYS_IDENTIFIER = exports.GRAPHQL_LUVIO_STATE_INTERFACE_IDENTIFIER = exports.ATTACH_MAPPED_DATA_IDENTIFIER = void 0;
|
|
5
5
|
const constants_1 = require("../../shared/constants");
|
|
6
6
|
exports.GRAPHQL_VARIABLES_IDENTIFIER = 'GraphQLVariables';
|
|
7
7
|
exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = 'GraphQLFragmentMap';
|
|
@@ -69,4 +69,6 @@ exports.MERGE_FRAGMENT_WITH_EXISTING_SELECTIONS = 'mergeFragmentWithExistingSele
|
|
|
69
69
|
exports.PAGINATION_OPTIMIZATION_ORIGINAL_VARIABLE_SUFFIX = '_original';
|
|
70
70
|
exports.BUILD_SELECTION_FOR_NODE_IDENTIFIER = 'buildSelectionForNode';
|
|
71
71
|
exports.BUILD_SELECTION_FOR_FIELD_IDENTIFIER = 'buildSelectionForField';
|
|
72
|
+
exports.SELECT_TYPE_LINK_IDENTIFIER = 'selectTypeLink';
|
|
73
|
+
exports.SELECT_TYPE_LINK_WITH_PAGINATION_IDENTIFIER = 'selectTypeLinkWithPagination';
|
|
72
74
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,174 @@ const minimumFields_1 = require("./minimumFields");
|
|
|
16
16
|
const shape_ingest_paginated_1 = require("../../shape/shape-ingest-paginated");
|
|
17
17
|
const constants_4 = require("../../shape/constants");
|
|
18
18
|
const util_1 = require("../directive/util");
|
|
19
|
+
const constants_5 = require("../../pagination-utils/constants");
|
|
20
|
+
function getResolveLinkWithPagination(importContext) {
|
|
21
|
+
const paginationMetadataType = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.PAGINATION_METADATA_TYPE_IDENTIFIER);
|
|
22
|
+
const paginationParamsType = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.PAGINATION_PARAMS_INTERFACE_IDENTIFIER);
|
|
23
|
+
const findMaxOffset = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.FIND_MAX_OFFSET_IDENTIFIER);
|
|
24
|
+
const createPageInfo = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.CREATE_PAGE_INFO_IDENTIFIER);
|
|
25
|
+
const trimEdges = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.TRIM_EDGES_IDENTIFIER);
|
|
26
|
+
const paginationVersion = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.PAGINATION_VERSION_IDENTIFIER);
|
|
27
|
+
const optimizePagination = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.OPTIMIZE_PAGINATION_IDENTIFIER);
|
|
28
|
+
const objectFreeze = importContext.importTypeUtil('ObjectFreeze');
|
|
29
|
+
return (0, deindent_1.default) `
|
|
30
|
+
function ${constants_3.SELECT_TYPE_LINK_WITH_PAGINATION_IDENTIFIER}<
|
|
31
|
+
T extends Function,
|
|
32
|
+
NormalizedGraphQLType extends ${constants_3.NORMALIZED_GRAPHQL_TYPE}<unknown>
|
|
33
|
+
>(
|
|
34
|
+
resolvedLink: ${constants_2.LUVIO_SNAPSHOT_IMPORT}<unknown, any>,
|
|
35
|
+
sel: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT},
|
|
36
|
+
${constants_3.FIELD_DATA_IDENTIFIER}: any,
|
|
37
|
+
reader: ${constants_1.ADAPTER_READER_IMPORT}<any>,
|
|
38
|
+
key: ${constants_2.LUVIO_SELECTION_PROPERTY_KEY_IMPORT},
|
|
39
|
+
${constants_3.SINK_IDENTIFIER}: any,
|
|
40
|
+
variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
|
|
41
|
+
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER},
|
|
42
|
+
selectFn: (
|
|
43
|
+
field: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT},
|
|
44
|
+
variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
|
|
45
|
+
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}
|
|
46
|
+
) => T,
|
|
47
|
+
) {
|
|
48
|
+
const source = (resolvedLink.data as NormalizedGraphQLType).data;
|
|
49
|
+
const totalEdges = source.${constants_3.EDGES_IDENTIFIER} !== undefined ? source.${constants_3.EDGES_IDENTIFIER}.length : 0;
|
|
50
|
+
const metadata: ${paginationMetadataType} | undefined = reader.resolveMetadata(source, ${paginationVersion}) as ${paginationMetadataType};
|
|
51
|
+
|
|
52
|
+
const firstArg = sel.arguments?.find(argument => { return argument.name.value === 'first'});
|
|
53
|
+
const firstArgVal = ${constants_3.SHARED_EVALUATE_ARGUMENT_VALUE}(firstArg, 'IntValue', variables);
|
|
54
|
+
const pageSize = firstArgVal !== undefined ? firstArgVal : totalEdges;
|
|
55
|
+
|
|
56
|
+
const afterArg = sel.arguments?.find(argument => { return argument.name.value === 'after'});
|
|
57
|
+
const afterArgVal = ${constants_3.SHARED_EVALUATE_ARGUMENT_VALUE}(afterArg, 'StringValue', variables);
|
|
58
|
+
|
|
59
|
+
const paginationParams:${paginationParamsType} = {
|
|
60
|
+
pageSize: parseInt(pageSize, 10),
|
|
61
|
+
token: afterArgVal
|
|
62
|
+
};
|
|
63
|
+
let { startOffset, endOffset } = ${constants_4.GET_PAGE_METADATA}(metadata, paginationParams);
|
|
64
|
+
|
|
65
|
+
const listIsComplete = (metadata?.${constants_5.LIST_END_IDENTIFIER} !== undefined);
|
|
66
|
+
let trimmedEdges: any[] | undefined = [];
|
|
67
|
+
let maxOffset: number | undefined = undefined;
|
|
68
|
+
|
|
69
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
70
|
+
const afterArgIsUnknownToLuvio = afterArgVal !== undefined && (startOffset === undefined || endOffset === undefined);
|
|
71
|
+
if(afterArgIsUnknownToLuvio) {
|
|
72
|
+
throw new RangeError("after argument value '" + afterArgVal + "' is unknown in the list. Check that non-paging arguments are constant when paginating.");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if(totalEdges === 0 && listIsComplete) {
|
|
77
|
+
// We have an empty edge list
|
|
78
|
+
|
|
79
|
+
// If after token was specified, it will never be a good cursor, so defer to a cache miss
|
|
80
|
+
if (afterArgVal !== undefined) {
|
|
81
|
+
reader.markMissingLink(${constants_3.FIELD_DATA_IDENTIFIER}.__ref)
|
|
82
|
+
reader.markMissing();
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
} else {
|
|
86
|
+
if (metadata === undefined || startOffset === undefined || endOffset === undefined) {
|
|
87
|
+
reader.markMissingLink(${constants_3.FIELD_DATA_IDENTIFIER}.__ref)
|
|
88
|
+
reader.markMissing();
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// gql paging semantics is "after" the requested cursor, so shift the offsets provided a valid cursor is provided
|
|
93
|
+
if (afterArgVal !== undefined) {
|
|
94
|
+
startOffset++;
|
|
95
|
+
// if the "first" argument was not provided then the endOffset
|
|
96
|
+
// is already set to the index of the last edge.
|
|
97
|
+
// if the "first" argument was provided then we need to increment the endOffset
|
|
98
|
+
// however we still need to make sure the endOffset doesn't go past totalEdges
|
|
99
|
+
// if the list is already complete and we can't fetch any more edges
|
|
100
|
+
if (firstArgVal !== undefined && (!listIsComplete || endOffset < totalEdges)) {
|
|
101
|
+
endOffset++;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if(startOffset >= totalEdges && listIsComplete){
|
|
106
|
+
// Data after the last page was requested, return empty set
|
|
107
|
+
startOffset = undefined;
|
|
108
|
+
endOffset = undefined;
|
|
109
|
+
} else {
|
|
110
|
+
trimmedEdges = ${trimEdges}(source.${constants_3.EDGES_IDENTIFIER}, startOffset, endOffset);
|
|
111
|
+
maxOffset = ${findMaxOffset}(metadata);
|
|
112
|
+
const listHasEnoughItems = (endOffset - 1 <= maxOffset);
|
|
113
|
+
|
|
114
|
+
if (trimmedEdges === undefined || !listHasEnoughItems) {
|
|
115
|
+
reader.markMissingLink(${constants_3.FIELD_DATA_IDENTIFIER}.__ref)
|
|
116
|
+
reader.markMissing();
|
|
117
|
+
// optimize pagination when "first" and "after" args are part of the variable
|
|
118
|
+
if (firstArg?.value?.kind === 'Variable' && afterArg?.value?.kind === 'Variable') {
|
|
119
|
+
${optimizePagination}(metadata, firstArg.value.name.value, afterArg.value.name.value, variables);
|
|
120
|
+
}
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const paginatedData = {
|
|
126
|
+
data: {
|
|
127
|
+
...source,
|
|
128
|
+
edges: ${objectFreeze}(trimmedEdges),
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
const result = selectFn(sel, variables, fragments)(paginatedData, reader);
|
|
132
|
+
const pageInfo = ${createPageInfo}(result?.edges, startOffset, endOffset, maxOffset, metadata);
|
|
133
|
+
if (pageInfo !== undefined) {
|
|
134
|
+
const selectedPageInfo = selectPageInfo(sel.selectionSet?.selections, fragments, pageInfo);
|
|
135
|
+
if (selectedPageInfo !== undefined) {
|
|
136
|
+
reader.assignNonScalar(
|
|
137
|
+
result,
|
|
138
|
+
'${constants_3.PAGE_INFO_IDENTIFIER}',
|
|
139
|
+
selectedPageInfo
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, key, result);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function selectPageInfo (
|
|
147
|
+
selections: readonly ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT}[] | undefined,
|
|
148
|
+
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER},
|
|
149
|
+
pageInfo: Record<string, any> | undefined,
|
|
150
|
+
): Record<string, any> | undefined {
|
|
151
|
+
const pageInfoSelection = getSelectionNode(selections, fragments, 'pageInfo');
|
|
152
|
+
if (pageInfo === undefined || pageInfoSelection === undefined || pageInfoSelection.kind !== 'Field') return undefined;
|
|
153
|
+
|
|
154
|
+
const pageInfoSelections = pageInfoSelection.selectionSet?.selections;
|
|
155
|
+
const selectedPageInfo: Record<string, any> = Object.assign({}, pageInfo);
|
|
156
|
+
Object.keys(pageInfo).forEach((fieldName) => {
|
|
157
|
+
if (getSelectionNode(pageInfoSelections, fragments, fieldName) === undefined) {
|
|
158
|
+
delete selectedPageInfo[fieldName];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
return selectedPageInfo;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function getSelectionNode (
|
|
165
|
+
selections: readonly ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT}[] | undefined,
|
|
166
|
+
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER},
|
|
167
|
+
fieldName: string,
|
|
168
|
+
): ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT} | undefined {
|
|
169
|
+
if (selections === undefined) return undefined;
|
|
170
|
+
for (let i=0; i<selections.length; i++) {
|
|
171
|
+
const selection = selections[i];
|
|
172
|
+
if (selection.kind === 'Field' && selection.name.value === fieldName) {
|
|
173
|
+
return selection;
|
|
174
|
+
}
|
|
175
|
+
else if (selection.kind === 'FragmentSpread') {
|
|
176
|
+
const fragment = fragments[selection.name.value];
|
|
177
|
+
return getSelectionNode(fragment?.selectionSet.selections, fragments, fieldName);
|
|
178
|
+
}
|
|
179
|
+
else if (selection.kind === 'InlineFragment') {
|
|
180
|
+
return getSelectionNode(selection.selectionSet.selections, fragments, fieldName);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return undefined;
|
|
184
|
+
}
|
|
185
|
+
`;
|
|
186
|
+
}
|
|
19
187
|
function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
20
188
|
var _a;
|
|
21
189
|
// We shouldn't be able to get here without a queryType. graphqldsl should ensure this when constructed/validated.
|
|
@@ -474,7 +642,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
474
642
|
}
|
|
475
643
|
}
|
|
476
644
|
|
|
477
|
-
|
|
645
|
+
function calculateRequestedFieldsForType(typename: string, selectionSet: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, namedFragmentsMap: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}, isFragmentApplicable: IsFragmentApplicableType): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] {
|
|
478
646
|
const selections: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] = [];
|
|
479
647
|
selectionSet.selections.forEach(selection => {
|
|
480
648
|
if(selection.kind === "Field") {
|
|
@@ -495,6 +663,38 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
495
663
|
return selections;
|
|
496
664
|
}
|
|
497
665
|
|
|
666
|
+
/*
|
|
667
|
+
GetRequestedFieldsForType- This function is used heavily in both ingest and select to figure out which fields to process. It's often called on the same
|
|
668
|
+
ASTNode repeatedly. Because it is called so often, and it is using forEach loops, it seems to get unoptimized after you've ingested a few thousand records.
|
|
669
|
+
However, we can optimize this by caching the result using a WeakMap, with the selectionSet we're interested in as the key to the map. this allows us to only perform
|
|
670
|
+
this calculation once per selectionSet, and WeakMap will take care of Garbage Collecting after the query document no longer exists.
|
|
671
|
+
|
|
672
|
+
Inside our entry to the WeakMap, we use another Map, as we might call this function with different typenames for Union or Interface return types. That Map's
|
|
673
|
+
keys are typenames, and the values are the actual Selections.
|
|
674
|
+
|
|
675
|
+
For the other two parameters - They're both static in a way that allows us to disregard them in the cache keys/values as they can't change after the first call.
|
|
676
|
+
1. namedFragmentsMap is static per-GraphQL document (same as our WeakMap keys)
|
|
677
|
+
2. isFragmentApplicable is static from codegen time.
|
|
678
|
+
|
|
679
|
+
*/
|
|
680
|
+
type CachedRequestedFields = Map<String, ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[]>;
|
|
681
|
+
let selectionSetRequestedFieldsWeakMap = new WeakMap<${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, CachedRequestedFields>();
|
|
682
|
+
export function ${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(typename: string, selectionSet: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, namedFragmentsMap: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}, isFragmentApplicable: IsFragmentApplicableType): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] {
|
|
683
|
+
let cachedRequestedFieldsConfigurations = selectionSetRequestedFieldsWeakMap.get(selectionSet);
|
|
684
|
+
if (cachedRequestedFieldsConfigurations === undefined) {
|
|
685
|
+
cachedRequestedFieldsConfigurations = new Map<String, ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[]>();
|
|
686
|
+
selectionSetRequestedFieldsWeakMap.set(selectionSet, cachedRequestedFieldsConfigurations);
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
const cachedRequestedFieldsForType = cachedRequestedFieldsConfigurations.get(typename);
|
|
690
|
+
if(cachedRequestedFieldsForType !== undefined) {
|
|
691
|
+
return cachedRequestedFieldsForType;
|
|
692
|
+
}
|
|
693
|
+
const selections = calculateRequestedFieldsForType(typename, selectionSet, namedFragmentsMap, isFragmentApplicable);
|
|
694
|
+
cachedRequestedFieldsConfigurations.set(typename, selections);
|
|
695
|
+
return selections;
|
|
696
|
+
}
|
|
697
|
+
|
|
498
698
|
export function getQueryTransformerForType(typename: string, fragmentMap: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}): ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER} | undefined {
|
|
499
699
|
switch(typename) {
|
|
500
700
|
${Object.keys(normalizableTypes).map((key) => {
|
|
@@ -702,6 +902,68 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
702
902
|
reader.exitPath();
|
|
703
903
|
return ${constants_3.SINK_IDENTIFIER};
|
|
704
904
|
}
|
|
905
|
+
|
|
906
|
+
export function ${constants_3.SELECT_TYPE_LINK_IDENTIFIER}<T extends Function, NormalizedGraphQLType extends ${constants_3.NORMALIZED_GRAPHQL_TYPE}<unknown>>(
|
|
907
|
+
sel: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT},
|
|
908
|
+
${constants_3.FIELD_DATA_IDENTIFIER}: any,
|
|
909
|
+
reader: ${constants_1.ADAPTER_READER_IMPORT}<any>,
|
|
910
|
+
key: ${constants_2.LUVIO_SELECTION_PROPERTY_KEY_IMPORT},
|
|
911
|
+
${constants_3.SINK_IDENTIFIER}: any,
|
|
912
|
+
variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
|
|
913
|
+
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER},
|
|
914
|
+
version: string | undefined,
|
|
915
|
+
selectFn: (
|
|
916
|
+
field: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT},
|
|
917
|
+
variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
|
|
918
|
+
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}
|
|
919
|
+
) => T,
|
|
920
|
+
isCursorConnection: boolean
|
|
921
|
+
) {
|
|
922
|
+
const resolvedLink = reader.read({
|
|
923
|
+
recordId: fieldData.__ref,
|
|
924
|
+
node: {
|
|
925
|
+
kind: 'Fragment',
|
|
926
|
+
private: [],
|
|
927
|
+
opaque: true,
|
|
928
|
+
version,
|
|
929
|
+
},
|
|
930
|
+
variables: {}
|
|
931
|
+
});
|
|
932
|
+
reader.markSeenId(fieldData.__ref);
|
|
933
|
+
if (resolvedLink.data !== undefined) {
|
|
934
|
+
${cursorConnectionTypes.length > 0
|
|
935
|
+
? `
|
|
936
|
+
if (isCursorConnection) {
|
|
937
|
+
${constants_3.SELECT_TYPE_LINK_WITH_PAGINATION_IDENTIFIER}<T, NormalizedGraphQLType>(
|
|
938
|
+
resolvedLink,
|
|
939
|
+
sel,
|
|
940
|
+
${constants_3.FIELD_DATA_IDENTIFIER},
|
|
941
|
+
reader,
|
|
942
|
+
key,
|
|
943
|
+
${constants_3.SINK_IDENTIFIER},
|
|
944
|
+
variables,
|
|
945
|
+
fragments,
|
|
946
|
+
selectFn,
|
|
947
|
+
);
|
|
948
|
+
} else {
|
|
949
|
+
const result = selectFn(sel, variables, fragments)(resolvedLink.data, reader);
|
|
950
|
+
reader.assignNonScalar(sink, key, result);
|
|
951
|
+
}
|
|
952
|
+
`
|
|
953
|
+
: // must be the same as the else branch.
|
|
954
|
+
`
|
|
955
|
+
const result = selectFn(sel, variables, fragments)(resolvedLink.data, reader);
|
|
956
|
+
reader.assignNonScalar(sink, key, result);
|
|
957
|
+
`}
|
|
958
|
+
|
|
959
|
+
}
|
|
960
|
+
else {
|
|
961
|
+
reader.markMissingLink(fieldData.__ref);
|
|
962
|
+
reader.markMissing();
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
${cursorConnectionTypes.length > 0 ? getResolveLinkWithPagination(importContext) : ''}
|
|
705
967
|
`);
|
|
706
968
|
}
|
|
707
969
|
exports.generateTypeUtil = generateTypeUtil;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAExD,oCAA+D;AAG/D,uDAGiC;AACjC,
|
|
1
|
+
{"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,14 +13,7 @@ const utils_2 = require("../utils");
|
|
|
13
13
|
const types_1 = require("../utils/types");
|
|
14
14
|
const interface_1 = require("./interface");
|
|
15
15
|
const version_1 = require("./version");
|
|
16
|
-
|
|
17
|
-
const pagination_1 = require("../../../intermediate/pagination");
|
|
18
|
-
const constants_5 = require("../../pagination-utils/constants");
|
|
19
|
-
const constants_6 = require("../../shape/constants");
|
|
20
|
-
function selectNamedType(field, typeNode, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes) {
|
|
21
|
-
const fieldName = field.name.value;
|
|
22
|
-
const identifier = fieldName;
|
|
23
|
-
const resolvedLinkIdentifier = `${identifier}ResolvedLink`;
|
|
16
|
+
function selectNamedType(typeNode, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes) {
|
|
24
17
|
const graphqlTypeName = typeNode.name.value;
|
|
25
18
|
const isScalar = normalizableTypeMap[graphqlTypeName] === undefined;
|
|
26
19
|
const isCursorConnectionType = cursorConnectionTypes.includes(graphqlTypeName);
|
|
@@ -29,156 +22,32 @@ function selectNamedType(field, typeNode, graphqlDsl, modelInfo, importContext,
|
|
|
29
22
|
return generateSelectScalar();
|
|
30
23
|
}
|
|
31
24
|
const namedTypeSelect = importContext.importGraphQLArtifact('types', typeNode.name.value, 'select');
|
|
32
|
-
const namedTypePartialInterface = importContext.importGraphQLArtifact('types', typeNode.name.value, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
33
25
|
const normalizedGraphQLTypeImport = (0, utils_1.getNormalizedDataType)(graphqlDsl, typeNode.name.value, importContext, modelInfo);
|
|
34
26
|
const namedTypeVersion = importContext.importGraphQLArtifact('types', typeNode.name.value, version_1.SHAPE_VERSION_IDENTIFIER);
|
|
27
|
+
const selectTypeLinkImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.SELECT_TYPE_LINK_IDENTIFIER);
|
|
35
28
|
return (0, deindent_1.default) `
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
${isCursorConnectionType
|
|
49
|
-
? resolveLinkWithPagination(resolvedLinkIdentifier, namedTypePartialInterface, normalizedGraphQLTypeImport, namedTypeSelect, importContext)
|
|
50
|
-
: resolveLink(resolvedLinkIdentifier, normalizedGraphQLTypeImport, namedTypeSelect)}
|
|
51
|
-
} else {
|
|
52
|
-
reader.markMissingLink(${constants_3.FIELD_DATA_IDENTIFIER}.__ref)
|
|
53
|
-
reader.markMissing();
|
|
54
|
-
}
|
|
55
|
-
`;
|
|
56
|
-
}
|
|
57
|
-
function resolveLink(resolvedLinkIdentifier, normalizedGraphQLType, namedTypeSelect) {
|
|
58
|
-
return (0, deindent_1.default) `
|
|
59
|
-
const result = ${namedTypeSelect}(sel, variables, fragments)(${resolvedLinkIdentifier}.data as ${normalizedGraphQLType}, reader); // Should probably
|
|
60
|
-
reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, key, result);
|
|
29
|
+
${selectTypeLinkImport}<ReturnType<typeof ${namedTypeSelect}>, ${normalizedGraphQLTypeImport}>(
|
|
30
|
+
sel,
|
|
31
|
+
${constants_3.FIELD_DATA_IDENTIFIER},
|
|
32
|
+
reader,
|
|
33
|
+
key,
|
|
34
|
+
${constants_3.SINK_IDENTIFIER},
|
|
35
|
+
variables,
|
|
36
|
+
fragments,
|
|
37
|
+
${namedTypeVersion},
|
|
38
|
+
${namedTypeSelect},
|
|
39
|
+
${isCursorConnectionType ? 'true' : 'false'}
|
|
40
|
+
);
|
|
61
41
|
`;
|
|
62
42
|
}
|
|
63
|
-
function
|
|
64
|
-
const paginationMetadataType = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.PAGINATION_METADATA_TYPE_IDENTIFIER);
|
|
65
|
-
const paginationParamsType = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.PAGINATION_PARAMS_INTERFACE_IDENTIFIER);
|
|
66
|
-
const findMaxOffset = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.FIND_MAX_OFFSET_IDENTIFIER);
|
|
67
|
-
const createPageInfo = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.CREATE_PAGE_INFO_IDENTIFIER);
|
|
68
|
-
const trimEdges = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.TRIM_EDGES_IDENTIFIER);
|
|
69
|
-
const paginationVersion = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.PAGINATION_VERSION_IDENTIFIER);
|
|
70
|
-
const getPageMetadata = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_6.GET_PAGE_METADATA);
|
|
71
|
-
const evaluateArgumentValue = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.SHARED_EVALUATE_ARGUMENT_VALUE);
|
|
72
|
-
const optimizePagination = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.OPTIMIZE_PAGINATION_IDENTIFIER);
|
|
73
|
-
const objectFreeze = importContext.importTypeUtil('ObjectFreeze');
|
|
74
|
-
return (0, deindent_1.default) `
|
|
75
|
-
const source = (${resolvedLinkIdentifier}.data as ${normalizedGraphQLType}).data;
|
|
76
|
-
const totalEdges = source.${constants_3.EDGES_IDENTIFIER} !== undefined ? source.${constants_3.EDGES_IDENTIFIER}.length : 0;
|
|
77
|
-
const metadata: ${paginationMetadataType} | undefined = reader.resolveMetadata(source, ${paginationVersion}) as ${paginationMetadataType};
|
|
78
|
-
|
|
79
|
-
const firstArg = sel.arguments?.find(argument => { return argument.name.value === 'first'});
|
|
80
|
-
const firstArgVal = ${evaluateArgumentValue}(firstArg, 'IntValue', variables);
|
|
81
|
-
const pageSize = firstArgVal !== undefined ? firstArgVal : totalEdges;
|
|
82
|
-
|
|
83
|
-
const afterArg = sel.arguments?.find(argument => { return argument.name.value === 'after'});
|
|
84
|
-
const afterArgVal = ${evaluateArgumentValue}(afterArg, 'StringValue', variables);
|
|
85
|
-
|
|
86
|
-
const paginationParams:${paginationParamsType} = {
|
|
87
|
-
pageSize: parseInt(pageSize, 10),
|
|
88
|
-
token: afterArgVal
|
|
89
|
-
};
|
|
90
|
-
let { startOffset, endOffset } = ${getPageMetadata}(metadata, paginationParams);
|
|
91
|
-
|
|
92
|
-
const listIsComplete = (metadata?.${constants_5.LIST_END_IDENTIFIER} !== undefined);
|
|
93
|
-
let trimmedEdges: any[] | undefined = [];
|
|
94
|
-
let maxOffset: number | undefined = undefined;
|
|
95
|
-
|
|
96
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
97
|
-
const afterArgIsUnknownToLuvio = afterArgVal !== undefined && (startOffset === undefined || endOffset === undefined);
|
|
98
|
-
if(afterArgIsUnknownToLuvio) {
|
|
99
|
-
throw new RangeError("after argument value '" + afterArgVal + "' is unknown in the list. Check that non-paging arguments are constant when paginating.");
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if(totalEdges === 0 && listIsComplete) {
|
|
104
|
-
// We have an empty edge list
|
|
105
|
-
|
|
106
|
-
// If after token was specified, it will never be a good cursor, so defer to a cache miss
|
|
107
|
-
if (afterArgVal !== undefined) {
|
|
108
|
-
reader.markMissingLink(${constants_3.FIELD_DATA_IDENTIFIER}.__ref)
|
|
109
|
-
reader.markMissing();
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
} else {
|
|
113
|
-
if (metadata === undefined || startOffset === undefined || endOffset === undefined) {
|
|
114
|
-
reader.markMissingLink(${constants_3.FIELD_DATA_IDENTIFIER}.__ref)
|
|
115
|
-
reader.markMissing();
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// gql paging semantics is "after" the requested cursor, so shift the offsets provided a valid cursor is provided
|
|
120
|
-
if (afterArgVal !== undefined) {
|
|
121
|
-
startOffset++;
|
|
122
|
-
// if the "first" argument was not provided then the endOffset
|
|
123
|
-
// is already set to the index of the last edge.
|
|
124
|
-
// if the "first" argument was provided then we need to increment the endOffset
|
|
125
|
-
// however we still need to make sure the endOffset doesn't go past totalEdges
|
|
126
|
-
// if the list is already complete and we can't fetch any more edges
|
|
127
|
-
if (firstArgVal !== undefined && (!listIsComplete || endOffset < totalEdges)) {
|
|
128
|
-
endOffset++;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if(startOffset >= totalEdges && listIsComplete){
|
|
133
|
-
// Data after the last page was requested, return empty set
|
|
134
|
-
startOffset = undefined;
|
|
135
|
-
endOffset = undefined;
|
|
136
|
-
} else {
|
|
137
|
-
trimmedEdges = ${trimEdges}(source.${constants_3.EDGES_IDENTIFIER}, startOffset, endOffset);
|
|
138
|
-
maxOffset = ${findMaxOffset}(metadata);
|
|
139
|
-
const listHasEnoughItems = (endOffset - 1 <= maxOffset);
|
|
140
|
-
|
|
141
|
-
if (trimmedEdges === undefined || !listHasEnoughItems) {
|
|
142
|
-
reader.markMissingLink(${constants_3.FIELD_DATA_IDENTIFIER}.__ref)
|
|
143
|
-
reader.markMissing();
|
|
144
|
-
// optimize pagination when "first" and "after" args are part of the variable
|
|
145
|
-
if (firstArg?.value?.kind === 'Variable' && afterArg?.value?.kind === 'Variable') {
|
|
146
|
-
${optimizePagination}(metadata, firstArg.value.name.value, afterArg.value.name.value, variables);
|
|
147
|
-
}
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
const paginatedData: ${normalizedGraphQLType} = {
|
|
154
|
-
data: {
|
|
155
|
-
...source,
|
|
156
|
-
edges: ${objectFreeze}(trimmedEdges),
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
const result: ${namedTypePartialInterface} | undefined = ${namedTypeSelect}(sel, variables, fragments)(paginatedData as ${normalizedGraphQLType}, reader);
|
|
160
|
-
const pageInfo = ${createPageInfo}(result?.edges, startOffset, endOffset, maxOffset, metadata);
|
|
161
|
-
if (pageInfo !== undefined) {
|
|
162
|
-
const selectedPageInfo = selectPageInfo(sel.selectionSet?.selections, fragments, pageInfo);
|
|
163
|
-
if (selectedPageInfo !== undefined) {
|
|
164
|
-
reader.assignNonScalar(
|
|
165
|
-
result,
|
|
166
|
-
'${constants_3.PAGE_INFO_IDENTIFIER}',
|
|
167
|
-
selectedPageInfo
|
|
168
|
-
);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, key, result);
|
|
172
|
-
`;
|
|
173
|
-
}
|
|
174
|
-
function selectType(field, typeNode, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes) {
|
|
43
|
+
function selectType(typeNode, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes) {
|
|
175
44
|
switch (typeNode.kind) {
|
|
176
45
|
case 'ListType':
|
|
177
46
|
case 'NonNullType': {
|
|
178
|
-
return selectType(
|
|
47
|
+
return selectType(typeNode.type, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
179
48
|
}
|
|
180
49
|
case 'NamedType': {
|
|
181
|
-
return selectNamedType(
|
|
50
|
+
return selectNamedType(typeNode, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
182
51
|
}
|
|
183
52
|
}
|
|
184
53
|
}
|
|
@@ -239,7 +108,7 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
239
108
|
return;
|
|
240
109
|
}
|
|
241
110
|
seenTypes.add(typename);
|
|
242
|
-
const body = selectType(
|
|
111
|
+
const body = selectType(type, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
243
112
|
return (0, deindent_1.default) `
|
|
244
113
|
case '${typename}': {
|
|
245
114
|
${body}
|
|
@@ -341,46 +210,6 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
341
210
|
return ${constants_3.SINK_IDENTIFIER} as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER};
|
|
342
211
|
}
|
|
343
212
|
}
|
|
344
|
-
|
|
345
|
-
function selectPageInfo (
|
|
346
|
-
selections: readonly ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT}[] | undefined,
|
|
347
|
-
fragments: ${fragmentMapImport},
|
|
348
|
-
pageInfo: Record<string, any> | undefined,
|
|
349
|
-
): Record<string, any> | undefined {
|
|
350
|
-
const pageInfoSelection = getSelectionNode(selections, fragments, '${constants_3.PAGE_INFO_IDENTIFIER}');
|
|
351
|
-
if (pageInfo === undefined || pageInfoSelection === undefined || pageInfoSelection.kind !== 'Field') return undefined;
|
|
352
|
-
|
|
353
|
-
const pageInfoSelections = pageInfoSelection.selectionSet?.selections;
|
|
354
|
-
const selectedPageInfo: Record<string, any> = Object.assign({}, pageInfo);
|
|
355
|
-
Object.keys(pageInfo).forEach((fieldName) => {
|
|
356
|
-
if (getSelectionNode(pageInfoSelections, fragments, fieldName) === undefined) {
|
|
357
|
-
delete selectedPageInfo[fieldName];
|
|
358
|
-
}
|
|
359
|
-
});
|
|
360
|
-
return selectedPageInfo;
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
function getSelectionNode (
|
|
364
|
-
selections: readonly ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT}[] | undefined,
|
|
365
|
-
fragments: ${fragmentMapImport},
|
|
366
|
-
fieldName: string,
|
|
367
|
-
): ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT} | undefined {
|
|
368
|
-
if (selections === undefined) return undefined;
|
|
369
|
-
for (let i=0; i<selections.length; i++) {
|
|
370
|
-
const selection = selections[i];
|
|
371
|
-
if (selection.kind === 'Field' && selection.name.value === fieldName) {
|
|
372
|
-
return selection;
|
|
373
|
-
}
|
|
374
|
-
else if (selection.kind === 'FragmentSpread') {
|
|
375
|
-
const fragment = fragments[selection.name.value];
|
|
376
|
-
return getSelectionNode(fragment?.selectionSet.selections, fragments, fieldName);
|
|
377
|
-
}
|
|
378
|
-
else if (selection.kind === 'InlineFragment') {
|
|
379
|
-
return getSelectionNode(selection.selectionSet.selections, fragments, fieldName);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
return undefined;
|
|
383
|
-
}
|
|
384
213
|
`;
|
|
385
214
|
}
|
|
386
215
|
exports.generateSelect = generateSelect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/select.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,uDAAgE;AAQhE,sDAKgC;AAGhC,
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/select.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export declare const LUVIO_NORMALIZED_KEY_METADATA_TYPE_IDENTIFIER = "Normalized
|
|
|
5
5
|
export declare const LUVIO_STRUCTURED_KEY_SUFFIX = "_StructuredKey";
|
|
6
6
|
export declare const LUVIO_SERIALIZE_STRUCTURED_KEY_IDENTIFIER = "serializeStructuredKey";
|
|
7
7
|
export declare const LUVIO_IMPORT: string;
|
|
8
|
+
export declare const LUVIO_SNAPSHOT_IMPORT: string;
|
|
8
9
|
export declare const LUVIO_STORE_IMPORT: string;
|
|
9
10
|
export declare const LUVIO_IN_MEMORY_STORE_IMPORT: string;
|
|
10
11
|
export declare const LUVIO_STORE_LINK_IMPORT: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LUVIO_SELECTION_PROPERTY_KEY_IMPORT = exports.LUVIO_GRAPHQL_VISIT_IMPORT = exports.LUVIO_GRAPHQL_AST_VISITOR_IMPORT = exports.LUVIO_GRAPHQL_DIRECTIVE_NODE_IMPORT = exports.LUVIO_GRAPHQL_INLINE_FRAGMENT_NODE_IMPORT = exports.LUVIO_GRAPHQL_FRAGMENT_SPREAD_NODE_IMPORT = exports.LUVIO_GRAPHQL_FRAGMENT_DEFINITION_NODE_IMPORT = exports.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT = exports.LUVIO_GRAPHQL_OBJECT_FIELD_NODE_IMPORT = exports.LUVIO_GRAPHQL_VALUE_NODE_IMPORT = exports.LUVIO_GRAPHQL_ARGUMENT_NODE_IMPORT = exports.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT = exports.LUVIO_GRAPHQL_FIELD_NODE_IMPORT = exports.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT = exports.LUVIO_GRAPHQL_DOCUMENT_NODE_IMPORT = exports.LUVIO_GRAPHQL_PARSE_IMPORT = exports.LUVIO_GRAPHQL_PRINT_IMPORT = exports.PAGINATION_KEY_SUFFIX = exports.CACHE_KEY_FIELD_DELIMITER = exports.CACHE_KEY_NAMESPACE_DELIMITER = exports.LUVIO_SERIALIZE_STRUCTURED_KEY_IMPORT = exports.LUVIO_STORE_KEY_SET_IMPORT = exports.LUVIO_STORE_KEY_MAP_IMPORT = exports.LUVIO_NORMALIZED_KEY_METADATA_IMPORT = exports.LUVIO_STORE_CREATE_METADATA_IMPORT = exports.READER_FRAGMENT_IMPORT = exports.LUVIO_DURABLE_STORE_KEY_METADATA_MAP_IMPORT = exports.LUVIO_STORE_LINK_IMPORT = exports.LUVIO_IN_MEMORY_STORE_IMPORT = exports.LUVIO_STORE_IMPORT = exports.LUVIO_IMPORT = exports.LUVIO_SERIALIZE_STRUCTURED_KEY_IDENTIFIER = exports.LUVIO_STRUCTURED_KEY_SUFFIX = exports.LUVIO_NORMALIZED_KEY_METADATA_TYPE_IDENTIFIER = exports.LUVIO_BUILD_STRUCTURED_KEY_METHOD_IDENTIFIER = exports.LUVIO_STORE_IDENTIFIER = exports.LUVIO_IDENTIFIER = void 0;
|
|
3
|
+
exports.LUVIO_SELECTION_PROPERTY_KEY_IMPORT = exports.LUVIO_GRAPHQL_VISIT_IMPORT = exports.LUVIO_GRAPHQL_AST_VISITOR_IMPORT = exports.LUVIO_GRAPHQL_DIRECTIVE_NODE_IMPORT = exports.LUVIO_GRAPHQL_INLINE_FRAGMENT_NODE_IMPORT = exports.LUVIO_GRAPHQL_FRAGMENT_SPREAD_NODE_IMPORT = exports.LUVIO_GRAPHQL_FRAGMENT_DEFINITION_NODE_IMPORT = exports.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT = exports.LUVIO_GRAPHQL_OBJECT_FIELD_NODE_IMPORT = exports.LUVIO_GRAPHQL_VALUE_NODE_IMPORT = exports.LUVIO_GRAPHQL_ARGUMENT_NODE_IMPORT = exports.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT = exports.LUVIO_GRAPHQL_FIELD_NODE_IMPORT = exports.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT = exports.LUVIO_GRAPHQL_DOCUMENT_NODE_IMPORT = exports.LUVIO_GRAPHQL_PARSE_IMPORT = exports.LUVIO_GRAPHQL_PRINT_IMPORT = exports.PAGINATION_KEY_SUFFIX = exports.CACHE_KEY_FIELD_DELIMITER = exports.CACHE_KEY_NAMESPACE_DELIMITER = exports.LUVIO_SERIALIZE_STRUCTURED_KEY_IMPORT = exports.LUVIO_STORE_KEY_SET_IMPORT = exports.LUVIO_STORE_KEY_MAP_IMPORT = exports.LUVIO_NORMALIZED_KEY_METADATA_IMPORT = exports.LUVIO_STORE_CREATE_METADATA_IMPORT = exports.READER_FRAGMENT_IMPORT = exports.LUVIO_DURABLE_STORE_KEY_METADATA_MAP_IMPORT = exports.LUVIO_STORE_LINK_IMPORT = exports.LUVIO_IN_MEMORY_STORE_IMPORT = exports.LUVIO_STORE_IMPORT = exports.LUVIO_SNAPSHOT_IMPORT = exports.LUVIO_IMPORT = exports.LUVIO_SERIALIZE_STRUCTURED_KEY_IDENTIFIER = exports.LUVIO_STRUCTURED_KEY_SUFFIX = exports.LUVIO_NORMALIZED_KEY_METADATA_TYPE_IDENTIFIER = exports.LUVIO_BUILD_STRUCTURED_KEY_METHOD_IDENTIFIER = exports.LUVIO_STORE_IDENTIFIER = exports.LUVIO_IDENTIFIER = void 0;
|
|
4
4
|
const imports_1 = require("../../utils/imports");
|
|
5
5
|
// Identifiers
|
|
6
6
|
exports.LUVIO_IDENTIFIER = 'luvio';
|
|
@@ -11,6 +11,7 @@ exports.LUVIO_STRUCTURED_KEY_SUFFIX = '_StructuredKey';
|
|
|
11
11
|
exports.LUVIO_SERIALIZE_STRUCTURED_KEY_IDENTIFIER = 'serializeStructuredKey';
|
|
12
12
|
// @luvio imports
|
|
13
13
|
exports.LUVIO_IMPORT = (0, imports_1.namedImport)('@luvio/engine', 'Luvio');
|
|
14
|
+
exports.LUVIO_SNAPSHOT_IMPORT = (0, imports_1.namedImport)('@luvio/engine', 'Snapshot');
|
|
14
15
|
exports.LUVIO_STORE_IMPORT = (0, imports_1.namedImport)('@luvio/engine', 'Store');
|
|
15
16
|
exports.LUVIO_IN_MEMORY_STORE_IMPORT = (0, imports_1.namedImport)('@luvio/engine', 'InMemoryStore');
|
|
16
17
|
exports.LUVIO_STORE_LINK_IMPORT = (0, imports_1.namedImport)('@luvio/engine', 'StoreLink');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/codegen/shared/constants.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAElD,cAAc;AACD,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,sBAAsB,GAAG,OAAO,CAAC;AACjC,QAAA,4CAA4C,GAAG,oBAAoB,CAAC;AACpE,QAAA,6CAA6C,GAAG,uBAAuB,CAAC;AACxE,QAAA,2BAA2B,GAAG,gBAAgB,CAAC;AAC/C,QAAA,yCAAyC,GAAG,wBAAwB,CAAC;AAElF,iBAAiB;AACJ,QAAA,YAAY,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACrD,QAAA,kBAAkB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAC3D,QAAA,4BAA4B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAC7E,QAAA,uBAAuB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AACpE,QAAA,2CAA2C,GAAG,IAAA,qBAAW,EAClE,eAAe,EACf,4BAA4B,CAC/B,CAAC;AACW,QAAA,sBAAsB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AACxE,QAAA,kCAAkC,GAAG,IAAA,qBAAW,EACzD,eAAe,EACf,2BAA2B,CAC9B,CAAC;AACW,QAAA,oCAAoC,GAAG,IAAA,qBAAW,EAC3D,eAAe,EACf,qDAA6C,CAChD,CAAC;AACW,QAAA,0BAA0B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AACzE,QAAA,0BAA0B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AACzE,QAAA,qCAAqC,GAAG,IAAA,qBAAW,EAC5D,eAAe,EACf,iDAAyC,CAC5C,CAAC;AAEF,wEAAwE;AAC3D,QAAA,6BAA6B,GAAG,IAAI,CAAC;AACrC,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAEhC,QAAA,qBAAqB,GAAG,cAAc,CAAC;AAEpD,gCAAgC;AACnB,QAAA,0BAA0B,GAAG,IAAA,qBAAW,EAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;AAC3E,QAAA,0BAA0B,GAAG,IAAA,qBAAW,EAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;AAC3E,QAAA,kCAAkC,GAAG,IAAA,qBAAW,EACzD,uBAAuB,EACvB,cAAc,CACjB,CAAC;AACW,QAAA,8CAA8C,GAAG,IAAA,qBAAW,EACrE,uBAAuB,EACvB,yBAAyB,CAC5B,CAAC;AACW,QAAA,+BAA+B,GAAG,IAAA,qBAAW,EAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;AACpF,QAAA,mCAAmC,GAAG,IAAA,qBAAW,EAC1D,uBAAuB,EACvB,eAAe,CAClB,CAAC;AACW,QAAA,kCAAkC,GAAG,IAAA,qBAAW,EACzD,uBAAuB,EACvB,cAAc,CACjB,CAAC;AACW,QAAA,+BAA+B,GAAG,IAAA,qBAAW,EAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;AACpF,QAAA,sCAAsC,GAAG,IAAA,qBAAW,EAC7D,uBAAuB,EACvB,iBAAiB,CACpB,CAAC;AACW,QAAA,uCAAuC,GAAG,IAAA,qBAAW,EAC9D,uBAAuB,EACvB,kBAAkB,CACrB,CAAC;AACW,QAAA,6CAA6C,GAAG,IAAA,qBAAW,EACpE,uBAAuB,EACvB,wBAAwB,CAC3B,CAAC;AACW,QAAA,yCAAyC,GAAG,IAAA,qBAAW,EAChE,uBAAuB,EACvB,oBAAoB,CACvB,CAAC;AACW,QAAA,yCAAyC,GAAG,IAAA,qBAAW,EAChE,uBAAuB,EACvB,oBAAoB,CACvB,CAAC;AACW,QAAA,mCAAmC,GAAG,IAAA,qBAAW,EAC1D,uBAAuB,EACvB,eAAe,CAClB,CAAC;AACW,QAAA,gCAAgC,GAAG,IAAA,qBAAW,EAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;AACtF,QAAA,0BAA0B,GAAG,IAAA,qBAAW,EAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;AAC3E,QAAA,mCAAmC,GAAG,IAAA,qBAAW,EAC1D,eAAe,EACf,sBAAsB,CACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/codegen/shared/constants.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luvio/compiler",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.138.0",
|
|
4
4
|
"description": "Luvio Compiler",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"test:debug": "node --inspect-brk ../../../node_modules/jest/bin/jest.js --config ./jest.config.js --runInBand"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@luvio/graphql-parser": "^0.
|
|
25
|
+
"@luvio/graphql-parser": "^0.138.0",
|
|
26
26
|
"amf-client-js": "4.2.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@luvio/adapter-test-library": "^0.
|
|
30
|
-
"@luvio/engine": "^0.
|
|
29
|
+
"@luvio/adapter-test-library": "^0.138.0",
|
|
30
|
+
"@luvio/engine": "^0.138.0"
|
|
31
31
|
},
|
|
32
32
|
"volta": {
|
|
33
33
|
"extends": "../../../package.json"
|