@luvio/compiler 0.103.0 → 0.105.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/adapter/adapter-network.d.ts +1 -1
- package/dist/codegen/adapter/adapter-network.js +2 -5
- package/dist/codegen/adapter/adapter-network.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-network.d.ts +5 -0
- package/dist/codegen/adapter/graphql/adapter-network.js +72 -0
- package/dist/codegen/adapter/graphql/adapter-network.js.map +1 -0
- package/dist/codegen/adapter/graphql/index.js +2 -5
- package/dist/codegen/adapter/graphql/index.js.map +1 -1
- package/dist/codegen/graphql/type/constants.d.ts +6 -0
- package/dist/codegen/graphql/type/constants.js +7 -1
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/convert.js +4 -13
- package/dist/codegen/graphql/type/convert.js.map +1 -1
- package/dist/codegen/graphql/type/fragment-matcher.d.ts +5 -0
- package/dist/codegen/graphql/type/fragment-matcher.js +24 -0
- package/dist/codegen/graphql/type/fragment-matcher.js.map +1 -0
- package/dist/codegen/graphql/type/generateTypeUtil.js +31 -7
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/index.js +2 -0
- package/dist/codegen/graphql/type/index.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.js +105 -20
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/select.js +9 -7
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/type-cache-keys.js +4 -13
- package/dist/codegen/graphql/type/type-cache-keys.js.map +1 -1
- package/dist/codegen/graphql/type/utils.d.ts +2 -0
- package/dist/codegen/graphql/type/utils.js +15 -1
- package/dist/codegen/graphql/type/utils.js.map +1 -1
- package/dist/codegen/pagination-utils/constants.d.ts +5 -0
- package/dist/codegen/pagination-utils/constants.js +6 -1
- package/dist/codegen/pagination-utils/constants.js.map +1 -1
- package/dist/codegen/pagination-utils/cursor-based.d.ts +0 -1
- package/dist/codegen/pagination-utils/cursor-based.js +42 -9
- package/dist/codegen/pagination-utils/cursor-based.js.map +1 -1
- package/dist/codegen/pagination-utils/synthetic-cursor.js +8 -7
- package/dist/codegen/pagination-utils/synthetic-cursor.js.map +1 -1
- package/dist/codegen/shape/constants.d.ts +3 -0
- package/dist/codegen/shape/constants.js +4 -1
- package/dist/codegen/shape/constants.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.js +0 -3
- package/dist/codegen/shape/graphql/shape-select.js.map +1 -1
- package/dist/codegen/shape/shape-ingest-paginated.d.ts +5 -0
- package/dist/codegen/shape/shape-ingest-paginated.js +54 -54
- package/dist/codegen/shape/shape-ingest-paginated.js.map +1 -1
- package/dist/codegen/shape/shape-utils.js +3 -2
- package/dist/codegen/shape/shape-utils.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
|
@@ -11,67 +11,145 @@ const utils_2 = require("./utils");
|
|
|
11
11
|
const convert_1 = require("./convert");
|
|
12
12
|
const constants_2 = require("./constants");
|
|
13
13
|
const interface_1 = require("./interface");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const constants_3 = require("../../pagination-utils/constants");
|
|
15
|
+
const pagination_1 = require("../../../intermediate/pagination");
|
|
16
|
+
const constants_4 = require("../../shape/constants");
|
|
17
|
+
const constants_5 = require("../../pagination-utils/constants");
|
|
18
|
+
const shape_ingest_paginated_1 = require("../../shape/shape-ingest-paginated");
|
|
19
|
+
const constants_6 = require("../../shape/constants");
|
|
20
|
+
const INGEST_PAGINATED_METDATA = 'ingestPaginationMetadata';
|
|
21
|
+
function generateObjectTypeIngest(importContext, graphqlTypeName, isCursorConnectionType) {
|
|
17
22
|
const ingestStatements = [
|
|
18
|
-
getRequestedFieldsStatement(importContext),
|
|
19
|
-
iterateThroughResponseKeys(importContext, graphqlTypeName),
|
|
23
|
+
(0, utils_2.getRequestedFieldsStatement)(importContext, graphqlTypeName),
|
|
24
|
+
iterateThroughResponseKeys(importContext, graphqlTypeName, isCursorConnectionType),
|
|
20
25
|
];
|
|
21
26
|
return ingestStatements.join('\n');
|
|
22
27
|
}
|
|
23
|
-
function
|
|
24
|
-
const
|
|
28
|
+
function generatePaginationFunction(importContext, astNodeParamType) {
|
|
29
|
+
const paginationMetadataType = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_3.PAGINATION_METADATA_TYPE_IDENTIFIER);
|
|
30
|
+
const graphqlStateInterface = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER);
|
|
31
|
+
const assignMetadataLink = importContext.importTypeUtil(constants_6.ASSIGN_METADATA_IDENTIFIER);
|
|
32
|
+
const equalsObject = importContext.importTypeUtil(constants_6.EQUALS_OBJECT_IDENTIFIER);
|
|
33
|
+
const offsetFromToken = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.OFFSET_FROM_TOKEN_IDENTIFIER);
|
|
34
|
+
const mergeMetadata = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.MERGE_METADATA_IDENTIFIER);
|
|
35
|
+
const hasGraphQLPaginationFields = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.HAS_GRAPHQL_PAGINATION_FIELDS_IDENTIFIER);
|
|
36
|
+
const createPaginationMetadata = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_5.CREATE_PAGINATION_METADATA_IDENTIFIER);
|
|
25
37
|
return (0, deindent_1.default) `
|
|
26
|
-
|
|
27
|
-
astNode
|
|
28
|
-
${
|
|
29
|
-
|
|
38
|
+
export function ${INGEST_PAGINATED_METDATA}(
|
|
39
|
+
astNode: ${astNodeParamType},
|
|
40
|
+
state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>,
|
|
41
|
+
key: string,
|
|
42
|
+
sink: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER},
|
|
43
|
+
existingData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER},
|
|
44
|
+
) {
|
|
45
|
+
const { data, luvio, store } = state;
|
|
46
|
+
const { pageInfo, edges } = data;
|
|
47
|
+
|
|
48
|
+
if (!${hasGraphQLPaginationFields}(data)) return;
|
|
49
|
+
|
|
50
|
+
const ${shape_ingest_paginated_1.PAGINATION_KEY_IDENTIFIER} = ${constants_4.KEY_IDENTIFIER} + '${constants_1.PAGINATION_KEY_SUFFIX}';
|
|
51
|
+
const ${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER} = store.readEntry(paginationKey) as ${paginationMetadataType} | undefined;
|
|
52
|
+
|
|
53
|
+
const afterArg = astNode.arguments?.find(argument => { return argument.name.value === 'after'});
|
|
54
|
+
const afterArgVal = afterArg?.value.kind === 'StringValue' ? afterArg?.value.value : undefined;
|
|
55
|
+
|
|
56
|
+
if (
|
|
57
|
+
afterArgVal !== undefined &&
|
|
58
|
+
${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER} !== undefined &&
|
|
59
|
+
${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER}[afterArgVal] !== undefined &&
|
|
60
|
+
${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER}[pageInfo.startCursor] === undefined
|
|
61
|
+
) {
|
|
62
|
+
const previousPageOffset = ${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER}[afterArgVal] as number;
|
|
63
|
+
${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER}[pageInfo.startCursor] = previousPageOffset + 1;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const ${shape_ingest_paginated_1.START_OFFSET_IDENTIFIER} = ${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER} === undefined
|
|
67
|
+
? 0
|
|
68
|
+
: ${offsetFromToken}(${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER}, pageInfo.startCursor);
|
|
69
|
+
|
|
70
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
71
|
+
if (${shape_ingest_paginated_1.START_OFFSET_IDENTIFIER} < 0) {
|
|
72
|
+
throw new RangeError('Cursor value ' + pageInfo.startCursor + ' is not recognized');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const ${shape_ingest_paginated_1.NEXT_OFFSET_IDENTIFIER} = ${shape_ingest_paginated_1.START_OFFSET_IDENTIFIER} + edges.length;
|
|
77
|
+
const ${shape_ingest_paginated_1.INCOMING_PAGINATION_METADATA_IDENTIFIER}: ${paginationMetadataType} = ${createPaginationMetadata}(${shape_ingest_paginated_1.START_OFFSET_IDENTIFIER}, edges);
|
|
78
|
+
|
|
79
|
+
if (!pageInfo.hasNextPage) {
|
|
80
|
+
${shape_ingest_paginated_1.INCOMING_PAGINATION_METADATA_IDENTIFIER}.${constants_5.LIST_END_IDENTIFIER} = ${shape_ingest_paginated_1.NEXT_OFFSET_IDENTIFIER};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// store the updated pagination metadata
|
|
84
|
+
const mergedPaginationMetadata = ${mergeMetadata}(${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER}, ${shape_ingest_paginated_1.INCOMING_PAGINATION_METADATA_IDENTIFIER});
|
|
85
|
+
if (
|
|
86
|
+
${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER} === undefined ||
|
|
87
|
+
${equalsObject}(${shape_ingest_paginated_1.EXISTING_PAGINATION_METADATA_IDENTIFIER}, mergedPaginationMetadata, (existingProp, incomingProp) => {
|
|
88
|
+
return existingProp === incomingProp;
|
|
89
|
+
}) === false
|
|
90
|
+
) {
|
|
91
|
+
luvio.storePublish(${shape_ingest_paginated_1.PAGINATION_KEY_IDENTIFIER}, mergedPaginationMetadata);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// merge the edges
|
|
95
|
+
${assignMetadataLink}(${constants_2.SINK_IDENTIFIER}, ${shape_ingest_paginated_1.PAGINATION_KEY_IDENTIFIER});
|
|
96
|
+
const ${constants_4.EXISTING_RECORD_IDENTIFIER} = existingData ? existingData.data : undefined;
|
|
97
|
+
if (${constants_4.EXISTING_RECORD_IDENTIFIER} !== undefined && ${constants_4.EXISTING_RECORD_IDENTIFIER}.edges !== undefined) {
|
|
98
|
+
${constants_2.SINK_IDENTIFIER}.edges = [
|
|
99
|
+
...${constants_4.EXISTING_RECORD_IDENTIFIER}.edges.slice(0, ${shape_ingest_paginated_1.START_OFFSET_IDENTIFIER}),
|
|
100
|
+
...${constants_2.SINK_IDENTIFIER}.edges,
|
|
101
|
+
...${constants_4.EXISTING_RECORD_IDENTIFIER}.edges.slice(${shape_ingest_paginated_1.NEXT_OFFSET_IDENTIFIER}),
|
|
102
|
+
];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
30
105
|
`;
|
|
31
106
|
}
|
|
32
|
-
function iterateThroughResponseKeys(importContext, graphqlTypeName) {
|
|
107
|
+
function iterateThroughResponseKeys(importContext, graphqlTypeName, isCursorConnectionType) {
|
|
33
108
|
const getRequestedFieldImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
|
|
34
109
|
const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
35
110
|
const getFieldTypeImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.GET_FIELD_TYPE_IDENTIFIER);
|
|
36
111
|
return (0, deindent_1.default) `
|
|
37
112
|
for(const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)){
|
|
38
113
|
const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
|
|
39
|
-
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${REQUESTED_FIELDS_IDENTIFIER});
|
|
114
|
+
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${constants_2.REQUESTED_FIELDS_IDENTIFIER});
|
|
40
115
|
if(${constants_2.REQUESTED_FIELD_IDENTIFIER} === undefined) {
|
|
41
116
|
continue; // TODO: (W-11132802) We got a field back we didn't ask for. Call handleUnknownField.
|
|
42
117
|
}
|
|
43
118
|
if(${constants_2.IS_MAPPED_FIELD_IDENTIFIER}(${constants_2.REQUESTED_FIELD_IDENTIFIER})) {
|
|
44
119
|
continue; // Skips scalar fields that are mapped to RAML.
|
|
45
120
|
}
|
|
46
|
-
const ${constants_2.
|
|
47
|
-
const ${
|
|
121
|
+
const ${constants_2.FIELD_TYPE_IDENTIFIER} = ${getFieldTypeImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER});
|
|
122
|
+
const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables, ${constants_2.FIELD_TYPE_IDENTIFIER});
|
|
48
123
|
if(fieldType === undefined) {
|
|
49
124
|
// This field's type is unknown to us. This breaks normalization.
|
|
50
125
|
console.warn(\`Unknown Field: ${constants_2.REQUESTED_FIELD_IDENTIFIER}. This field or nested fields cannot participate in normalization\`);
|
|
51
126
|
${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
|
|
52
127
|
continue;
|
|
53
128
|
}
|
|
129
|
+
${isCursorConnectionType
|
|
130
|
+
? `if (${constants_2.FIELD_KEY_IDENTIFIER} === '${constants_2.PAGE_INFO_IDENTIFIER}') continue; // pageInfo is always synthesized from pagination metadata`
|
|
131
|
+
: ''}
|
|
54
132
|
if (${constants_2.FIELD_DATA_IDENTIFIER} === null) {
|
|
55
133
|
${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
|
|
56
134
|
continue; // Don't delegate null to type ingest.
|
|
57
135
|
}
|
|
58
|
-
if(${FIELD_TYPE_IDENTIFIER}.isArray && ${constants_2.FIELD_DATA_IDENTIFIER}.length !== undefined) {
|
|
136
|
+
if(${constants_2.FIELD_TYPE_IDENTIFIER}.isArray && ${constants_2.FIELD_DATA_IDENTIFIER}.length !== undefined) {
|
|
59
137
|
const arrayLength = ${constants_2.FIELD_DATA_IDENTIFIER}.length;
|
|
60
138
|
const arraySink: any[] = new Array(arrayLength);
|
|
61
139
|
for(let i = 0, len = arrayLength; i < len; i += 1) {
|
|
62
140
|
const arrayFullPathKey = key + '__' + ${constants_2.FIELD_KEY_IDENTIFIER};
|
|
63
|
-
${constants_2.INGEST_FIELD_BY_TYPE_IDENTIFIER}(${FIELD_TYPE_IDENTIFIER}.typename, arrayFullPathKey, ${constants_2.REQUESTED_FIELD_IDENTIFIER}, arraySink, i, ${constants_2.FIELD_DATA_IDENTIFIER}[i], state);
|
|
141
|
+
${constants_2.INGEST_FIELD_BY_TYPE_IDENTIFIER}(${constants_2.FIELD_TYPE_IDENTIFIER}.typename, arrayFullPathKey, ${constants_2.REQUESTED_FIELD_IDENTIFIER}, arraySink, i, ${constants_2.FIELD_DATA_IDENTIFIER}[i], state);
|
|
64
142
|
}
|
|
65
143
|
${constants_2.SINK_IDENTIFIER}[${constants_2.FIELD_KEY_IDENTIFIER}] = arraySink;
|
|
66
144
|
} else {
|
|
67
|
-
${constants_2.INGEST_FIELD_BY_TYPE_IDENTIFIER}(${FIELD_TYPE_IDENTIFIER}.typename, key, ${constants_2.REQUESTED_FIELD_IDENTIFIER}, ${constants_2.SINK_IDENTIFIER}, ${constants_2.FIELD_KEY_IDENTIFIER}, ${constants_2.FIELD_DATA_IDENTIFIER}, state);
|
|
145
|
+
${constants_2.INGEST_FIELD_BY_TYPE_IDENTIFIER}(${constants_2.FIELD_TYPE_IDENTIFIER}.typename, key, ${constants_2.REQUESTED_FIELD_IDENTIFIER}, ${constants_2.SINK_IDENTIFIER}, ${constants_2.FIELD_KEY_IDENTIFIER}, ${constants_2.FIELD_DATA_IDENTIFIER}, state);
|
|
68
146
|
}
|
|
69
147
|
}
|
|
70
148
|
`;
|
|
71
149
|
}
|
|
72
150
|
function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metadata, modelInfo) {
|
|
73
151
|
var _a;
|
|
74
|
-
const { schema, typeNameToExtensions } = graphqlDsl;
|
|
152
|
+
const { schema, typeNameToExtensions, cursorConnectionTypes } = graphqlDsl;
|
|
75
153
|
const { importGraphQLArtifact, importAdapterUtil, importRamlArtifact } = importContext;
|
|
76
154
|
const normalizableTypeMap = (0, utils_1.getNormalizableTypeMap)(schema);
|
|
77
155
|
const createLink = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
|
|
@@ -92,21 +170,28 @@ function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
92
170
|
ramlIngest = importRamlArtifact(ramlTypeId, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
93
171
|
}
|
|
94
172
|
}
|
|
173
|
+
const isCursorConnectionType = cursorConnectionTypes.includes(graphqlTypeName);
|
|
95
174
|
return (0, deindent_1.default) `
|
|
96
175
|
|
|
97
176
|
${convertToRaml}
|
|
98
177
|
|
|
178
|
+
${isCursorConnectionType ? generatePaginationFunction(importContext, astNodeParamType) : ''}
|
|
179
|
+
|
|
99
180
|
export function ingest(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
|
|
100
181
|
const { path, data, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
|
|
101
182
|
const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}, path, data);
|
|
102
183
|
const ${constants_2.SINK_IDENTIFIER}: Record<string,any> = {};
|
|
103
184
|
|
|
104
185
|
// ingest field data
|
|
105
|
-
${generateObjectTypeIngest(importContext, graphqlTypeName)}
|
|
186
|
+
${generateObjectTypeIngest(importContext, graphqlTypeName, isCursorConnectionType)}
|
|
106
187
|
|
|
107
188
|
// merge existing cache data and new request response data
|
|
108
189
|
let mergedData: Record<string,any>;
|
|
109
190
|
const existingData = ${constants_1.LUVIO_STORE_IDENTIFIER}.readEntry<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>(key);
|
|
191
|
+
${isCursorConnectionType
|
|
192
|
+
? `${INGEST_PAGINATED_METDATA}(astNode, state, key, ${constants_2.SINK_IDENTIFIER} as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, existingData as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER});`
|
|
193
|
+
: ''}
|
|
194
|
+
|
|
110
195
|
if (existingData !== undefined && existingData !== null && existingData.__type !== "error") {
|
|
111
196
|
mergedData = mergeData(existingData as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, ${constants_2.SINK_IDENTIFIER} as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER});
|
|
112
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,6 +124,7 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
124
124
|
const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
125
125
|
const fragmentMapImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER);
|
|
126
126
|
const fieldTypeImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_3.GET_FIELD_TYPE_IDENTIFIER);
|
|
127
|
+
const isFragmentApplicableImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_3.IS_FRAGMENT_APPLICABLE_IDENTIFIER);
|
|
127
128
|
return (0, deindent_1.default) `
|
|
128
129
|
export function getFieldData(
|
|
129
130
|
source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER},
|
|
@@ -133,7 +134,8 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
133
134
|
switch(sel.name.value){
|
|
134
135
|
${generateDataMapping(graphqlDsl, graphqlTypeName, def, normalizableTypeMap)}
|
|
135
136
|
default: {
|
|
136
|
-
const ${constants_3.
|
|
137
|
+
const ${constants_3.FIELD_TYPE_IDENTIFIER} = ${constants_3.GET_FIELD_TYPE_IDENTIFIER}(sel);
|
|
138
|
+
const ${constants_3.FIELD_KEY_IDENTIFIER} = ${`${getFieldKeyImport}(sel, variables, ${constants_3.FIELD_TYPE_IDENTIFIER})`};
|
|
137
139
|
return source.data[${constants_3.FIELD_KEY_IDENTIFIER}];
|
|
138
140
|
}
|
|
139
141
|
}
|
|
@@ -182,7 +184,7 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
182
184
|
|
|
183
185
|
return ${constants_3.SINK_IDENTIFIER};
|
|
184
186
|
}
|
|
185
|
-
export function buildSelectionForNode(source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>, selectionNode: ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT} , variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
|
|
187
|
+
export function buildSelectionForNode(source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>, parentNode: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} | ${constants_2.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT}, selectionNode: ${constants_2.LUVIO_GRAPHQL_SELECTION_NODE_IMPORT} , variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
|
|
186
188
|
const ${constants_3.SINK_IDENTIFIER}: Record<string, any> = {}
|
|
187
189
|
if(selectionNode.directives) {
|
|
188
190
|
const selectionWithDirectives = ${importContext.importGraphQLArtifact('directives', util_1.DIRECTIVE_UTIL_MODULE_IDENTIFIER, util_1.APPLY_DIRECTIVES_FOR_SELECTION_IDENTIFIER)}(selectionNode, variables);
|
|
@@ -192,20 +194,20 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
192
194
|
selectionNode = selectionWithDirectives;
|
|
193
195
|
}
|
|
194
196
|
if(selectionNode.kind === "InlineFragment") {
|
|
195
|
-
if(
|
|
197
|
+
if(${isFragmentApplicableImport}(parentNode, selectionNode)) {
|
|
196
198
|
// Get selections out of the inline fragment
|
|
197
199
|
selectionNode.selectionSet.selections.forEach(fragmentSelection => {
|
|
198
200
|
// Call into field handling with selections
|
|
199
|
-
Object.assign(${constants_3.SINK_IDENTIFIER}, buildSelectionForNode(source, reader, fragmentSelection, variables, fragments));
|
|
201
|
+
Object.assign(${constants_3.SINK_IDENTIFIER}, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments));
|
|
200
202
|
});
|
|
201
203
|
}
|
|
202
204
|
}
|
|
203
205
|
if(selectionNode.kind === "FragmentSpread") {
|
|
204
206
|
const namedFragment = fragments[selectionNode.name.value];
|
|
205
|
-
if(namedFragment && namedFragment
|
|
207
|
+
if(namedFragment && ${isFragmentApplicableImport}(parentNode, namedFragment)) {
|
|
206
208
|
namedFragment.selectionSet.selections.forEach(fragmentSelection => {
|
|
207
209
|
// Call into field handling with selections
|
|
208
|
-
Object.assign(${constants_3.SINK_IDENTIFIER}, buildSelectionForNode(source, reader, fragmentSelection, variables, fragments));
|
|
210
|
+
Object.assign(${constants_3.SINK_IDENTIFIER}, buildSelectionForNode(source, reader, parentNode, fragmentSelection, variables, fragments));
|
|
209
211
|
});
|
|
210
212
|
}
|
|
211
213
|
}
|
|
@@ -231,7 +233,7 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
231
233
|
});
|
|
232
234
|
}
|
|
233
235
|
field.selectionSet?.selections.forEach((sel) => {
|
|
234
|
-
Object.assign(${constants_3.SINK_IDENTIFIER}, buildSelectionForNode(source, reader, sel, variables, fragments));
|
|
236
|
+
Object.assign(${constants_3.SINK_IDENTIFIER}, buildSelectionForNode(source, reader, field, sel, variables, fragments));
|
|
235
237
|
});
|
|
236
238
|
return ${constants_3.SINK_IDENTIFIER} as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER};
|
|
237
239
|
}
|
|
@@ -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":";;;;;;AAAA,uEAA+C;AAC/C,uDAAgE;AAQhE,sDAKgC;AAGhC,2CAYqB;AACrB,mCAA2C;AAE3C,oCAAkD;AAClD,0CAAkE;AAClE,2CAA2D;AAC3D,4CAG2B;AAE3B,SAAS,eAAe,CACpB,KAA0B,EAC1B,QAAuB,EACvB,aAA4B,EAC5B,mBAAsC;IAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACnC,MAAM,UAAU,GAAG,SAAS,CAAC;IAC7B,MAAM,sBAAsB,GAAG,GAAG,UAAU,cAAc,CAAC;IAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC;IAEpE,mBAAmB;IACnB,IAAI,QAAQ,EAAE;QACV,OAAO,oBAAoB,EAAE,CAAC;KACjC;IACD,MAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,CACvD,OAAO,EACP,QAAQ,CAAC,IAAI,CAAC,KAAK,EACnB,QAAQ,CACX,CAAC;IACF,MAAM,yBAAyB,GAAG,aAAa,CAAC,qBAAqB,CACjE,OAAO,EACP,QAAQ,CAAC,IAAI,CAAC,KAAK,EACnB,kBAAkB,CACrB,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;gBACH,sBAAsB;wBACd,iCAAqB;;;;;;;;4BAQjB,iCAAqB;cACnC,sBAAsB;6BACP,eAAe,+BAA+B,sBAAsB,YAAY,yBAAyB;qCACjG,2BAAe;;qCAEf,iCAAqB;;;KAGrD,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CACf,KAA0B,EAC1B,QAAkB,EAClB,aAA4B,EAC5B,mBAAsC;IAEtC,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa,CAAC,CAAC;YAChB,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;SAC/E;QACD,KAAK,WAAW,CAAC,CAAC;YACd,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;SAC/E;KACJ;AACL,CAAC;AAED,SAAS,2BAA2B,CAChC,YAAiC,EACjC,QAAkB,EAClB,aAAiC,EACjC,mBAAsC;IAEtC,IAAI,YAAY,KAAK,SAAS,EAAE;QAC5B,OAAO,EAAE,CAAC;KACb;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC,CAAC;YACb,oFAAoF;YACpF,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YACjD,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC;YACpE,IAAI,QAAQ,IAAI,aAAa,KAAK,SAAS,EAAE;gBACzC,OAAO,IAAA,kBAAQ,EAAA;4BACH,gBAAgB;gCACZ,gCAAoB,OAAO,aAAa;0DACd,gCAAoB;;iBAE7D,CAAC;aACL;YACD,OAAO,EAAE,CAAC;SACb;QACD,OAAO,CAAC,CAAC;YACL,OAAO,2BAA2B,CAC9B,YAAY,EACZ,QAAQ,CAAC,IAAI,EACb,aAAa,EACb,mBAAmB,CACtB,CAAC;SACL;KACJ;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,mBAAsC;IAEtC,MAAM,aAAa,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,aAAa;SACf,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC;SACzD,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAClB,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;QAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACjD,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAClC,oBAAoB,EACpB,eAAe,EACf,gBAAgB,CACnB,CAAC;QACF,OAAO,2BAA2B,CAC9B,YAAY,EACZ,YAAY,CAAC,IAAI,EACjB,aAAa,EACb,mBAAmB,CACtB,CAAC;IACN,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,KAAK,EAAE,CAAC;SAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,EAAE,CAAC;KACb;IACD,MAAM,mBAAmB,GAAG,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;IAC3D,+BAA+B;IAC/B,MAAM,kCAAkC,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC;SAC1D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAEzE,OAAO,IAAA,kBAAQ,EAAA;wBACH,QAAQ;sBACV,IAAI;;;aAGb,CAAC;IACN,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,eAAe;QAC3C,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAC1C,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,OAAO,EACP,gCAAoB,EACpB,mDAAuC,CAC1C,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,OAAO,EACP,gCAAoB,EACpB,2CAA+B,CAClC,CAAC;IACF,MAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,CACvD,OAAO,EACP,eAAe,EACf,qCAAyB,CAC5B,CAAC;IACF,MAAM,0BAA0B,GAAG,aAAa,CAAC,qBAAqB,CAClE,OAAO,EACP,eAAe,EACf,6CAAiC,CACpC,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;;sBAEG,wCAA4B;mBAC/B,2CAA+B;yBACzB,sBAAsB;;;kBAG7B,mBAAmB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,CAAC;;4BAEhE,iCAAqB,MAAM,qCAAyB;4BACpD,gCAAoB,MAAM,GAAG,iBAAiB,oBAAoB,iCAAqB,GAAG;yCAC7E,gCAAoB;;;;4DAID,2CAA+B,KAAK,iCAAqB,kBAAkB,iCAAqB,eAAe,+CAAmC,KAAK,2BAAe,qBAAqB,sBAAsB,gBAAgB,iBAAiB;kBAC5R,iCAAqB;kBACrB,oBAAoB,EAAE;yBACf,2BAAe;;;kBAGtB,kCAAkC;;qBAE/B,2BAAe;;yDAEqB,wCAA4B,aAAa,iCAAqB,eAAe,2CAA+B,iBAAiB,sBAAsB,gBAAgB,iBAAiB;oBACzN,2BAAe;oBACf,iCAAqB;oBACrB,2CAA+B;;iBAElC,iCAAqB;;;;;iBAKrB,iCAAqB;sCACA,2CAA+B,KAAK,2BAAe,KAAK,iCAAqB;;;;gCAInF,eAAe;;;gDAGC,2CAA+B;yCACtC,2BAAe,KAAK,2CAA+B,KAAK,iCAAqB;;;uCAG/E,iCAAqB;;0DAEF,iCAAqB;;;yCAGtC,2BAAe,KAAK,2CAA+B;;sDAEtC,iCAAqB,aAAa,2CAA+B,KAAK,2BAAe;;;qBAGtH,2BAAe;;wDAEoB,wCAA4B,aAAa,iCAAqB,sBAAsB,2CAA+B,MAAM,0DAA8C,oBAAoB,+CAAmC,iBAAiB,sBAAsB,gBAAgB,iBAAiB;oBAC1U,2BAAe;;kDAEe,aAAa,CAAC,qBAAqB,CACjE,YAAY,EACZ,uCAAgC,EAChC,gDAAyC,CAC5C;;;;;;;qBAOI,0BAA0B;;;;wCAIP,2BAAe;;;;;;sCAMjB,0BAA0B;;;wCAGxB,2BAAe;;;;;gCAKvB,2BAAe;;qBAE1B,2BAAe;;wCAEI,gBAAgB,gBAAgB,sBAAsB,gBAAgB,iBAAiB;8BACjG,wCAA4B,aAAa,iCAAqB,WAAW,wCAA4B;wBAC3G,2BAAe;;;;;;;;;;;;;;;oCAeH,2BAAe;;yBAE1B,2BAAe,OAAO,wCAA4B;;;KAGtE,CAAC;AACN,CAAC;AAhLD,wCAgLC;AAED,SAAS,oBAAoB;IACzB,OAAO,IAAA,kBAAQ,EAAA;mCACgB,2BAAe,KAAK,iCAAqB;KACvE,CAAC;AACN,CAAC"}
|
|
@@ -11,7 +11,6 @@ const utils_2 = require("./utils");
|
|
|
11
11
|
const constants_2 = require("./constants");
|
|
12
12
|
const interface_1 = require("./interface");
|
|
13
13
|
const types_1 = require("../utils/types");
|
|
14
|
-
const REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
|
|
15
14
|
const CACHE_KEY_SINK_IDENTIFIER = 'cacheKeySink';
|
|
16
15
|
function getNamedTypeCacheKeys(field, typeNode, importContext, normalizableTypeMap) {
|
|
17
16
|
const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
|
|
@@ -117,32 +116,24 @@ function generateObjectTypeCacheKeys(graphqlDsl, graphqlTypeName, importContext,
|
|
|
117
116
|
}
|
|
118
117
|
const eachFieldHandling = fieldIngestStatements.join('\n');
|
|
119
118
|
const ingestStatements = [
|
|
120
|
-
getRequestedFieldsStatement(importContext),
|
|
119
|
+
(0, utils_2.getRequestedFieldsStatement)(importContext, graphqlTypeName),
|
|
121
120
|
iterateThroughResponseKeys(importContext, eachFieldHandling),
|
|
122
121
|
];
|
|
123
122
|
return ingestStatements.join('\n');
|
|
124
123
|
}
|
|
125
|
-
function getRequestedFieldsStatement(importContext) {
|
|
126
|
-
const getRequestedFieldsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER);
|
|
127
|
-
return (0, deindent_1.default) `
|
|
128
|
-
const ${REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] =
|
|
129
|
-
astNode && astNode.selectionSet ?
|
|
130
|
-
${getRequestedFieldsImport}(name, astNode.selectionSet, state.fragments) :
|
|
131
|
-
[];
|
|
132
|
-
`;
|
|
133
|
-
}
|
|
134
124
|
function iterateThroughResponseKeys(importContext, individualFieldIngestBlock) {
|
|
135
125
|
const getRequestedFieldImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
|
|
136
126
|
const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
137
127
|
return (0, deindent_1.default) `
|
|
138
128
|
for(const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)){
|
|
139
129
|
const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
|
|
140
|
-
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${REQUESTED_FIELDS_IDENTIFIER});
|
|
130
|
+
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${constants_2.REQUESTED_FIELDS_IDENTIFIER});
|
|
141
131
|
|
|
142
132
|
if(${constants_2.REQUESTED_FIELD_IDENTIFIER} === undefined) {
|
|
143
133
|
break; // Skip unknown field.
|
|
144
134
|
}
|
|
145
|
-
const ${constants_2.
|
|
135
|
+
const ${constants_2.FIELD_TYPE_IDENTIFIER} = ${constants_2.GET_FIELD_TYPE_IDENTIFIER}(${constants_2.REQUESTED_FIELD_IDENTIFIER});
|
|
136
|
+
const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables, ${constants_2.FIELD_TYPE_IDENTIFIER});
|
|
146
137
|
|
|
147
138
|
switch( ${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value) {
|
|
148
139
|
${individualFieldIngestBlock}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-cache-keys.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/type-cache-keys.ts"],"names":[],"mappings":";;;;;;AAOA,uEAA+C;AAE/C,sDAMgC;AAEhC,oCAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"type-cache-keys.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/type-cache-keys.ts"],"names":[],"mappings":";;;;;;AAOA,uEAA+C;AAE/C,sDAMgC;AAEhC,oCAAmE;AACnE,mCAAwE;AACxE,2CAcqB;AAGrB,2CAA2D;AAC3D,0CAAiD;AAEjD,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAEjD,SAAgB,qBAAqB,CACjC,KAA0B,EAC1B,QAAuB,EACvB,aAA4B,EAC5B,mBAAsC;IAEtC,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAEnC,IAAI,QAAQ,EAAE;QACV,OAAO,EAAE,CAAC;KACb;IAED,MAAM,mBAAmB,GAAG,qBAAqB,CAC7C,OAAO,EACP,eAAe,EACf,sCAA0B,CAC7B,CAAC;IACF,MAAM,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAExE,MAAM,oBAAoB,GAAG,GAAG,SAAS,OAAO,CAAC;IACjD,OAAO,IAAA,kBAAQ,EAAA;gBACH,SAAS;oBACL,oBAAoB;;;;;iDAKS,gCAAoB;;wBAE7C,iCAAqB;;cAE/B,kBAAkB,IAAI,yBAAyB,KAAK,mBAAmB;kBACnE,4BAAgB;kBAChB,sCAA0B;kBAC1B,oBAAoB;;;;KAIjC,CAAC;AACN,CAAC;AA1CD,sDA0CC;AAED,SAAgB,oBAAoB,CAChC,KAA0B,EAC1B,QAAsB,EACtB,aAA4B,EAC5B,mBAAsC;IAEtC,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACnC,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,kBAAkB,GAAG,aAAa,SAAS,EAAE,CAAC;IACpD,MAAM,cAAc,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAE5D,yBAAyB;IACzB,IAAI,cAAc,KAAK,SAAS,EAAE;QAC9B,OAAO,EAAE,CAAC;KACb;IAED,MAAM,mBAAmB,GAAG,qBAAqB,CAC7C,OAAO,EACP,eAAe,EACf,sCAA0B,CAC7B,CAAC;IACF,MAAM,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAExE,OAAO,IAAA,kBAAQ,EAAA;gBACH,SAAS;oBACL,kBAAkB,wBAAwB,gCAAoB;mCAC/C,iCAAqB;+BACzB,iCAAqB;;;;;;;oCAOhB,kBAAkB;;;;kBAIpC,kBAAkB,IAAI,yBAAyB,KAAK,mBAAmB;sBACnE,4BAAgB;sBAChB,sCAA0B;;;;;;KAM3C,CAAC;AACN,CAAC;AAhDD,oDAgDC;AAED,SAAgB,iBAAiB,CAC7B,KAA0B,EAC1B,QAAkB,EAClB,aAA4B,EAC5B,mBAAsC;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO,EAAE,CAAC;KACb;IAED,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,WAAW;YACZ,OAAO,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACtF,KAAK,UAAU;YACX,OAAO,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACrF;YACI,OAAO,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;KAC1F;AACL,CAAC;AAlBD,8CAkBC;AAED,SAAS,2BAA2B,CAChC,UAA2B,EAC3B,eAAuB,EACvB,aAA4B,EAC5B,GAA6B,EAC7B,mBAAsC;IAEtC,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC;IACpC,MAAM,qBAAqB,GAAG,MAAM;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;SAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAClC,oBAAoB,EACpB,eAAe,EACf,gBAAgB,CACnB,CAAC;QACF,IAAI,aAAa,KAAK,SAAS,EAAE;YAC7B,OAAO,EAAE,CAAC;SACb;QACD,OAAO,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACpF,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IAE7C,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,qBAAqB,EAAE;QACxB,OAAO,EAAE,CAAC;KACb;IACD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAa;QAC/B,IAAA,mCAA2B,EAAC,aAAa,EAAE,eAAe,CAAC;QAC3D,0BAA0B,CAAC,aAAa,EAAE,iBAAiB,CAAC;KAC/D,CAAC;IAEF,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,0BAA0B,CAC/B,aAA4B,EAC5B,0BAAkC;IAElC,MAAM,uBAAuB,GAAG,aAAa,CAAC,qBAAqB,CAC/D,OAAO,EACP,gCAAoB,EACpB,0CAA8B,CACjC,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,OAAO,EACP,gCAAoB,EACpB,mDAAuC,CAC1C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;oBACC,qCAAyB;oBACzB,iCAAqB,WAAW,qCAAyB;oBACzD,sCAA0B,MAAM,uBAAuB,IAAI,qCAAyB,KAAK,uCAA2B;;iBAEvH,sCAA0B;;;oBAGvB,iCAAqB,MAAM,qCAAyB,IAAI,sCAA0B;oBAClF,gCAAoB,MAAM,iBAAiB,IAAI,sCAA0B,sBAAsB,iCAAqB;;sBAElH,sCAA0B;kBAC9B,0BAA0B;;;KAGvC,CAAC;AACN,CAAC;AAED,SAAgB,wBAAwB,CACpC,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAC;IAChD,MAAM,mBAAmB,GAAG,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,qBAAqB,GAAG,qBAAqB,CAC/C,OAAO,EACP,gCAAoB,EACpB,8CAAkC,CACrC,CAAC;IACF,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,eAAe;QAC3C,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAE1C,OAAO,IAAA,kBAAQ,EAAA;0BACO,sCAA0B,IAAI,4BAAgB,KAAK,wBAAY,cAAc,gBAAgB,YAAY,qBAAqB,IAAI,wCAA4B,OAAO,iDAAqC;;8BAEtM,kCAAsB,IAAI,4BAAgB;oBACpD,yBAAyB;;iCAEZ,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC;;;;;;;cAO/D,2BAA2B,CACzB,UAAU,EACV,eAAe,EACf,aAAa,EACb,GAAG,EACH,mBAAmB,CACtB;;qBAEQ,yBAAyB;;KAEzC,CAAC;AACN,CAAC;AA5CD,4DA4CC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { GraphQLAnnotation } from '../../../intermediate/graphql-annotation';
|
|
2
2
|
import type { GraphQLTypeExtension } from '../../../intermediate/graphql';
|
|
3
3
|
import type { ModelInfo } from '../../../main';
|
|
4
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
4
5
|
export declare function isTypeExtensionDefined(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string, extensionName: keyof GraphQLTypeExtension): boolean;
|
|
5
6
|
export declare function getRamlTypeName(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string): string | undefined;
|
|
6
7
|
export declare function getRamlFieldName(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string, graphqlFieldName: string): string | undefined;
|
|
7
8
|
export declare function getRamlTypeIdByName(ramlTypeName: string, modelInfo: ModelInfo): string | undefined;
|
|
9
|
+
export declare function getRequestedFieldsStatement(importContext: ImportContext, graphqlTypename: string): string;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRamlTypeIdByName = exports.getRamlFieldName = exports.getRamlTypeName = exports.isTypeExtensionDefined = void 0;
|
|
6
|
+
exports.getRequestedFieldsStatement = exports.getRamlTypeIdByName = exports.getRamlFieldName = exports.getRamlTypeName = exports.isTypeExtensionDefined = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../shared/constants");
|
|
9
|
+
const constants_2 = require("./constants");
|
|
4
10
|
function isTypeExtensionDefined(typeNameToExtensions, graphqlTypeName, extensionName) {
|
|
5
11
|
return (typeNameToExtensions !== undefined &&
|
|
6
12
|
typeNameToExtensions[graphqlTypeName] !== undefined &&
|
|
@@ -43,4 +49,12 @@ function getRamlTypeIdByName(ramlTypeName, modelInfo) {
|
|
|
43
49
|
return undefined;
|
|
44
50
|
}
|
|
45
51
|
exports.getRamlTypeIdByName = getRamlTypeIdByName;
|
|
52
|
+
function getRequestedFieldsStatement(importContext, graphqlTypename) {
|
|
53
|
+
const isFragmentApplicableImport = importContext.importGraphQLArtifact('types', graphqlTypename, constants_2.IS_FRAGMENT_APPLICABLE_IDENTIFIER);
|
|
54
|
+
const getRequestedFieldsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER);
|
|
55
|
+
return (0, deindent_1.default) `
|
|
56
|
+
const ${constants_2.REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] = astNode.selectionSet ? ${getRequestedFieldsImport}(astNode, astNode.selectionSet, state.fragments, ${isFragmentApplicableImport}) : [];
|
|
57
|
+
`;
|
|
58
|
+
}
|
|
59
|
+
exports.getRequestedFieldsStatement = getRequestedFieldsStatement;
|
|
46
60
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/utils.ts"],"names":[],"mappings":";;;;;;AAGA,uEAA+C;AAE/C,sDAAyE;AACzE,2CAKqB;AAErB,SAAgB,sBAAsB,CAClC,oBAA2E,EAC3E,eAAuB,EACvB,aAAyC;IAEzC,OAAO,CACH,oBAAoB,KAAK,SAAS;QAClC,oBAAoB,CAAC,eAAe,CAAC,KAAK,SAAS;QACnD,oBAAoB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,CACrE,CAAC;AACN,CAAC;AAVD,wDAUC;AAED,SAAgB,eAAe,CAC3B,oBAA2E,EAC3E,eAAuB;IAEvB,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;QAC/E,OAAO,SAAS,CAAC;KACpB;IACD,OAAO,oBAAqB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAE,CAAC,QAAQ,CAAC;AAC3E,CAAC;AATD,0CASC;AAED,SAAgB,gBAAgB,CAC5B,oBAA2E,EAC3E,eAAuB,EACvB,gBAAwB;IAExB,MAAM,aAAa,GAAG,aAAa,CAAC;IACpC,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;QAC/E,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,4BAA4B,GAC9B,oBAAqB,CAAC,eAAe,CAAC,CAAC,aAAa,CAAE,CAAC,4BAA4B,CAAC;IACxF,IAAI,gBAAgB,IAAI,4BAA4B,EAAE;QAClD,OAAO,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;KACzD;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAfD,4CAeC;AAED,SAAgB,mBAAmB,CAC/B,YAAoB,EACpB,SAAoB;IAEpB,MAAM,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IAC/C,IAAI,wBAAwB,KAAK,SAAS,EAAE;QACxC,OAAO,SAAS,CAAC;KACpB;IACD,KAAK,MAAM,kBAAkB,IAAI,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE;QACtE,IAAI,kBAAkB,KAAK,SAAS,EAAE;YAClC,SAAS;SACZ;QACD,IAAI,kBAAkB,CAAC,IAAI,KAAK,YAAY,EAAE;YAC1C,OAAO,kBAAkB,CAAC,EAAE,CAAC;SAChC;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAjBD,kDAiBC;AAED,SAAgB,2BAA2B,CAAC,aAA4B,EAAE,eAAuB;IAC7F,MAAM,0BAA0B,GAAG,aAAa,CAAC,qBAAqB,CAClE,OAAO,EACP,eAAe,EACf,6CAAiC,CACpC,CAAC;IACF,MAAM,wBAAwB,GAAG,aAAa,CAAC,qBAAqB,CAChE,OAAO,EACP,gCAAoB,EACpB,oDAAwC,CAC3C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;gBACH,uCAA2B,KAAK,2CAA+B,+BAA+B,wBAAwB,oDAAoD,0BAA0B;KAC/M,CAAC;AACN,CAAC;AAdD,kEAcC"}
|
|
@@ -3,3 +3,8 @@ export declare const PAGINATION_METADATA_TYPE_IDENTIFIER = "PaginationMetadata";
|
|
|
3
3
|
export declare const PAGINATION_PARAMS_IDENTIFIER = "paginationParams";
|
|
4
4
|
export declare const PAGINATION_PARAMS_INTERFACE_IDENTIFIER = "PaginationParams";
|
|
5
5
|
export declare const PAGE_METADATA_IDENTIFIER = "PageMetadata";
|
|
6
|
+
export declare const LIST_END_IDENTIFIER = "__END__";
|
|
7
|
+
export declare const CREATE_PAGINATION_METADATA_IDENTIFIER = "createPaginationMetadata";
|
|
8
|
+
export declare const MERGE_METADATA_IDENTIFIER = "mergeMetadata";
|
|
9
|
+
export declare const HAS_GRAPHQL_PAGINATION_FIELDS_IDENTIFIER = "hasGraphQLPaginationFields";
|
|
10
|
+
export declare const OFFSET_FROM_TOKEN_IDENTIFIER = "offsetFromToken";
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PAGE_METADATA_IDENTIFIER = exports.PAGINATION_PARAMS_INTERFACE_IDENTIFIER = exports.PAGINATION_PARAMS_IDENTIFIER = exports.PAGINATION_METADATA_TYPE_IDENTIFIER = exports.PAGINATION_METADATA_IDENTIFIER = void 0;
|
|
3
|
+
exports.OFFSET_FROM_TOKEN_IDENTIFIER = exports.HAS_GRAPHQL_PAGINATION_FIELDS_IDENTIFIER = exports.MERGE_METADATA_IDENTIFIER = exports.CREATE_PAGINATION_METADATA_IDENTIFIER = exports.LIST_END_IDENTIFIER = exports.PAGE_METADATA_IDENTIFIER = exports.PAGINATION_PARAMS_INTERFACE_IDENTIFIER = exports.PAGINATION_PARAMS_IDENTIFIER = exports.PAGINATION_METADATA_TYPE_IDENTIFIER = exports.PAGINATION_METADATA_IDENTIFIER = void 0;
|
|
4
4
|
exports.PAGINATION_METADATA_IDENTIFIER = 'paginationMetadata';
|
|
5
5
|
exports.PAGINATION_METADATA_TYPE_IDENTIFIER = 'PaginationMetadata';
|
|
6
6
|
exports.PAGINATION_PARAMS_IDENTIFIER = 'paginationParams';
|
|
7
7
|
exports.PAGINATION_PARAMS_INTERFACE_IDENTIFIER = 'PaginationParams';
|
|
8
8
|
exports.PAGE_METADATA_IDENTIFIER = 'PageMetadata';
|
|
9
|
+
exports.LIST_END_IDENTIFIER = '__END__';
|
|
10
|
+
exports.CREATE_PAGINATION_METADATA_IDENTIFIER = 'createPaginationMetadata';
|
|
11
|
+
exports.MERGE_METADATA_IDENTIFIER = 'mergeMetadata';
|
|
12
|
+
exports.HAS_GRAPHQL_PAGINATION_FIELDS_IDENTIFIER = 'hasGraphQLPaginationFields';
|
|
13
|
+
exports.OFFSET_FROM_TOKEN_IDENTIFIER = 'offsetFromToken';
|
|
9
14
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AACtD,QAAA,mCAAmC,GAAG,oBAAoB,CAAC;AAC3D,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAClD,QAAA,sCAAsC,GAAG,kBAAkB,CAAC;AAC5D,QAAA,wBAAwB,GAAG,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AACtD,QAAA,mCAAmC,GAAG,oBAAoB,CAAC;AAC3D,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAClD,QAAA,sCAAsC,GAAG,kBAAkB,CAAC;AAC5D,QAAA,wBAAwB,GAAG,cAAc,CAAC;AAC1C,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,qCAAqC,GAAG,0BAA0B,CAAC;AACnE,QAAA,yBAAyB,GAAG,eAAe,CAAC;AAC5C,QAAA,wCAAwC,GAAG,4BAA4B,CAAC;AACxE,QAAA,4BAA4B,GAAG,iBAAiB,CAAC"}
|
|
@@ -3,11 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generatePaginationUtils = exports.TOKEN_MISSING_TYPE_IDENTIFIER = exports.NULLABLE_TOKEN_TYPE_IDENTIFIER =
|
|
6
|
+
exports.generatePaginationUtils = exports.TOKEN_MISSING_TYPE_IDENTIFIER = exports.NULLABLE_TOKEN_TYPE_IDENTIFIER = void 0;
|
|
7
7
|
const deindent_1 = __importDefault(require("../../utils/deindent"));
|
|
8
8
|
const imports_1 = require("../../utils/imports");
|
|
9
9
|
const constants_1 = require("./constants");
|
|
10
|
-
exports.LIST_END_IDENTIFIER = '__END__';
|
|
11
10
|
exports.NULLABLE_TOKEN_TYPE_IDENTIFIER = 'NullableToken';
|
|
12
11
|
exports.TOKEN_MISSING_TYPE_IDENTIFIER = 'TokenMissing';
|
|
13
12
|
const TYPES = (0, deindent_1.default) `
|
|
@@ -27,7 +26,7 @@ const TYPES = (0, deindent_1.default) `
|
|
|
27
26
|
}
|
|
28
27
|
`;
|
|
29
28
|
const OFFSET_FROM_TOKEN = (0, deindent_1.default) `
|
|
30
|
-
export function
|
|
29
|
+
export function ${constants_1.OFFSET_FROM_TOKEN_IDENTIFIER}(${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER}, token: string | undefined): number {
|
|
31
30
|
if (token === undefined) {
|
|
32
31
|
return 0;
|
|
33
32
|
}
|
|
@@ -43,7 +42,7 @@ const TOKEN_FROM_OFFSET = (0, deindent_1.default) `
|
|
|
43
42
|
const token = tokens[i];
|
|
44
43
|
if (
|
|
45
44
|
${constants_1.PAGINATION_METADATA_IDENTIFIER}[token] === offset &&
|
|
46
|
-
token !== '${
|
|
45
|
+
token !== '${constants_1.LIST_END_IDENTIFIER}'
|
|
47
46
|
) {
|
|
48
47
|
return token;
|
|
49
48
|
}
|
|
@@ -56,7 +55,7 @@ const PAGE_END_OFFSET = (0, deindent_1.default) `
|
|
|
56
55
|
startOffset: number,
|
|
57
56
|
pageSize: number
|
|
58
57
|
): number {
|
|
59
|
-
const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${
|
|
58
|
+
const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${constants_1.LIST_END_IDENTIFIER};
|
|
60
59
|
const nextPageOffset = startOffset + pageSize;
|
|
61
60
|
if (listEndOffset === undefined) {
|
|
62
61
|
return nextPageOffset;
|
|
@@ -70,7 +69,7 @@ const NEXT_TOKEN = (0, deindent_1.default) `
|
|
|
70
69
|
${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
|
|
71
70
|
pageEndOffset: number
|
|
72
71
|
): ${exports.NULLABLE_TOKEN_TYPE_IDENTIFIER} | ${exports.TOKEN_MISSING_TYPE_IDENTIFIER} {
|
|
73
|
-
const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${
|
|
72
|
+
const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${constants_1.LIST_END_IDENTIFIER};
|
|
74
73
|
|
|
75
74
|
if (listEndOffset === undefined || pageEndOffset < listEndOffset) {
|
|
76
75
|
return tokenFromOffset(${constants_1.PAGINATION_METADATA_IDENTIFIER}, pageEndOffset);
|
|
@@ -90,7 +89,7 @@ const PREVIOUS_TOKEN = (0, deindent_1.default) `
|
|
|
90
89
|
return null;
|
|
91
90
|
}
|
|
92
91
|
|
|
93
|
-
const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${
|
|
92
|
+
const listEndOffset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}.${constants_1.LIST_END_IDENTIFIER};
|
|
94
93
|
if (listEndOffset !== undefined && previousPageOffset >= listEndOffset) {
|
|
95
94
|
return;
|
|
96
95
|
}
|
|
@@ -110,7 +109,7 @@ const TOKEN_FOR_AT_MOST = (0, deindent_1.default) `
|
|
|
110
109
|
for (let i = 0, len = tokens.length; i < len; i++) {
|
|
111
110
|
const token = tokens[i];
|
|
112
111
|
const offset = ${constants_1.PAGINATION_METADATA_IDENTIFIER}[token];
|
|
113
|
-
if (token === '${
|
|
112
|
+
if (token === '${constants_1.LIST_END_IDENTIFIER}' || offset === undefined) {
|
|
114
113
|
continue;
|
|
115
114
|
}
|
|
116
115
|
|
|
@@ -128,7 +127,7 @@ const TOKEN_FOR_AT_MOST = (0, deindent_1.default) `
|
|
|
128
127
|
}
|
|
129
128
|
`;
|
|
130
129
|
const MERGE_METADATA = (0, deindent_1.default) `
|
|
131
|
-
export function
|
|
130
|
+
export function ${constants_1.MERGE_METADATA_IDENTIFIER}(
|
|
132
131
|
existingMetadata: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER} | undefined,
|
|
133
132
|
incomingMetadata: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER}
|
|
134
133
|
): ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER} {
|
|
@@ -142,6 +141,38 @@ const MERGE_METADATA = (0, deindent_1.default) `
|
|
|
142
141
|
};
|
|
143
142
|
}
|
|
144
143
|
`;
|
|
144
|
+
const HAS_GRAPHQL_PAGINATION_FIELDS = (0, deindent_1.default) `
|
|
145
|
+
export function ${constants_1.HAS_GRAPHQL_PAGINATION_FIELDS_IDENTIFIER}(data: any): boolean {
|
|
146
|
+
return (
|
|
147
|
+
data !== null &&
|
|
148
|
+
data !== undefined &&
|
|
149
|
+
data.pageInfo !== undefined &&
|
|
150
|
+
data.pageInfo !== null &&
|
|
151
|
+
data.pageInfo.endCursor !== undefined &&
|
|
152
|
+
data.pageInfo.endCursor !== null &&
|
|
153
|
+
data.pageInfo.startCursor !== undefined &&
|
|
154
|
+
data.pageInfo.startCursor !== null &&
|
|
155
|
+
data.edges !== null &&
|
|
156
|
+
data.edges !== undefined &&
|
|
157
|
+
data.edges.length > 0
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
`;
|
|
161
|
+
const CREATE_PAGINATION_METADATA = (0, deindent_1.default) `
|
|
162
|
+
interface GraphQLEdge {
|
|
163
|
+
cursor: string
|
|
164
|
+
}
|
|
165
|
+
export function ${constants_1.CREATE_PAGINATION_METADATA_IDENTIFIER}(startOffset:number, edges: GraphQLEdge[]): ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER} {
|
|
166
|
+
const paginationMetadata: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER} = {};
|
|
167
|
+
for (let i = 0; i < edges.length; i++) {
|
|
168
|
+
const cursor: string = edges[i].cursor;
|
|
169
|
+
Object.assign(paginationMetadata, {
|
|
170
|
+
[cursor]: startOffset + i,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return paginationMetadata;
|
|
174
|
+
}
|
|
175
|
+
`;
|
|
145
176
|
const GET_PAGE_TOKEN_AND_OFFSET = (0, deindent_1.default) `
|
|
146
177
|
export function getPageTokenAndOffset(
|
|
147
178
|
${constants_1.PAGINATION_METADATA_IDENTIFIER}: ${constants_1.PAGINATION_METADATA_TYPE_IDENTIFIER},
|
|
@@ -165,7 +196,9 @@ const GET_PAGE_TOKEN_AND_OFFSET = (0, deindent_1.default) `
|
|
|
165
196
|
function generatePaginationUtils() {
|
|
166
197
|
const src = [
|
|
167
198
|
TYPES,
|
|
199
|
+
CREATE_PAGINATION_METADATA,
|
|
168
200
|
GET_PAGE_TOKEN_AND_OFFSET,
|
|
201
|
+
HAS_GRAPHQL_PAGINATION_FIELDS,
|
|
169
202
|
MERGE_METADATA,
|
|
170
203
|
NEXT_TOKEN,
|
|
171
204
|
OFFSET_FROM_TOKEN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-based.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/cursor-based.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAC5C,iDAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"cursor-based.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/cursor-based.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAC5C,iDAAqD;AACrD,2CAUqB;AAER,QAAA,8BAA8B,GAAG,eAAe,CAAC;AACjD,QAAA,6BAA6B,GAAG,cAAc,CAAC;AAE5D,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAA;kBACJ,+CAAmC;kBACnC,sCAA8B;kBAC9B,qCAA6B;;uBAExB,kDAAsC;;;;;uBAKtC,oCAAwB;;;;;CAK9C,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B,IAAI,0CAA8B,KAAK,+CAAmC;;;;;yBAKnG,0CAA8B;;;CAGtD,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;sCACI,0CAA8B,KAAK,+CAAmC,+BAA+B,qCAA6B;qCACnI,0CAA8B;;;;kBAIjD,0CAA8B;6BACnB,+BAAmB;;;;;;CAM/C,CAAC;AAEF,MAAM,eAAe,GAAG,IAAA,kBAAQ,EAAA;;UAEtB,0CAA8B,KAAK,+CAAmC;;;;gCAIhD,0CAA8B,IAAI,+BAAmB;;;;;;;;CAQpF,CAAC;AAEF,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAA;;UAEjB,0CAA8B,KAAK,+CAAmC;;SAEvE,sCAA8B,MAAM,qCAA6B;gCAC1C,0CAA8B,IAAI,+BAAmB;;;qCAGhD,0CAA8B;;;;;CAKlE,CAAC;AAEF,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAA;;UAErB,0CAA8B,KAAK,+CAAmC;;;SAGvE,sCAA8B,MAAM,qCAA6B;;;;;;gCAM1C,0CAA8B,IAAI,+BAAmB;;;;;iCAKpD,0CAA8B;;CAE9D,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;;UAExB,0CAA8B,KAAK,+CAAmC;;;qCAG3C,0CAA8B;;;;;;6BAMtC,0CAA8B;6BAC9B,+BAAmB;;;;;;;;;;;;;;;;CAgB/C,CAAC;AAEF,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAA;sBACT,qCAAyB;4BACnB,+CAAmC;4BACnC,+CAAmC;SACtD,+CAAmC;;;;;;;;;;CAU3C,CAAC;AAEF,MAAM,6BAA6B,GAAG,IAAA,kBAAQ,EAAA;sBACxB,oDAAwC;;;;;;;;;;;;;;;CAe7D,CAAC;AAEF,MAAM,0BAA0B,GAAG,IAAA,kBAAQ,EAAA;;;;sBAIrB,iDAAqC,+CAA+C,+CAAmC;oCACzG,+CAAmC;;;;;;;;;CAStE,CAAC;AAEF,MAAM,yBAAyB,GAAG,IAAA,kBAAQ,EAAA;;UAEhC,0CAA8B,KAAK,+CAAmC;;;;iDAI/B,0CAA8B;;;;;;;8CAOjC,0CAA8B;;;;;;CAM3E,CAAC;AAEF,SAAgB,uBAAuB;IACnC,MAAM,GAAG,GAAG;QACR,KAAK;QACL,0BAA0B;QAC1B,yBAAyB;QACzB,6BAA6B;QAC7B,cAAc;QACd,UAAU;QACV,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,iBAAiB;QACjB,iBAAiB;KACpB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAhBD,0DAgBC"}
|