@luvio/compiler 0.114.0 → 0.115.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/interface/index.d.ts +2 -1
- package/dist/codegen/graphql/interface/index.js +2 -2
- package/dist/codegen/graphql/interface/index.js.map +1 -1
- package/dist/codegen/graphql/interface/select.d.ts +2 -1
- package/dist/codegen/graphql/interface/select.js +7 -5
- package/dist/codegen/graphql/interface/select.js.map +1 -1
- package/dist/codegen/graphql/interface/type-cache-keys.js +4 -4
- package/dist/codegen/graphql/interface/type-cache-keys.js.map +1 -1
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +1 -1
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
- package/dist/codegen/graphql/type/attach-mapped.d.ts +4 -0
- package/dist/codegen/graphql/type/attach-mapped.js +49 -0
- package/dist/codegen/graphql/type/attach-mapped.js.map +1 -0
- package/dist/codegen/graphql/type/constants.d.ts +9 -0
- package/dist/codegen/graphql/type/constants.js +11 -1
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/convert.d.ts +1 -2
- package/dist/codegen/graphql/type/convert.js +5 -3
- package/dist/codegen/graphql/type/convert.js.map +1 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js +5 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/index.d.ts +1 -1
- package/dist/codegen/graphql/type/index.js +10 -2
- package/dist/codegen/graphql/type/index.js.map +1 -1
- package/dist/codegen/graphql/type/ingest-mapped.d.ts +4 -0
- package/dist/codegen/graphql/type/ingest-mapped.js +36 -0
- package/dist/codegen/graphql/type/ingest-mapped.js.map +1 -0
- package/dist/codegen/graphql/type/ingest.js +13 -27
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/mapped-type-cache-keys.d.ts +4 -0
- package/dist/codegen/graphql/type/mapped-type-cache-keys.js +36 -0
- package/dist/codegen/graphql/type/mapped-type-cache-keys.js.map +1 -0
- package/dist/codegen/graphql/type/select.d.ts +2 -1
- package/dist/codegen/graphql/type/select.js +40 -38
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/type-cache-keys.d.ts +2 -1
- package/dist/codegen/graphql/type/type-cache-keys.js +40 -27
- package/dist/codegen/graphql/type/type-cache-keys.js.map +1 -1
- package/dist/codegen/graphql/type/utils.d.ts +6 -1
- package/dist/codegen/graphql/type/utils.js +24 -1
- package/dist/codegen/graphql/type/utils.js.map +1 -1
- package/dist/codegen/graphql/union/select.js +5 -4
- package/dist/codegen/graphql/union/select.js.map +1 -1
- package/dist/codegen/graphql/union/type-cache-keys.js +4 -4
- package/dist/codegen/graphql/union/type-cache-keys.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-cache-keys.js +2 -1
- package/dist/codegen/shape/graphql/shape-cache-keys.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.js +2 -3
- package/dist/codegen/shape/graphql/shape-select.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAE/C,sDAMgC;AAChC,
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
2
|
+
import type { ModelInfo } from '../../../main';
|
|
3
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
4
|
+
export declare function generateGetRamlMappingCacheKeys(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, importContext: ImportContext, modelInfo: ModelInfo): string;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateGetRamlMappingCacheKeys = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../shared/constants");
|
|
9
|
+
const constants_2 = require("./constants");
|
|
10
|
+
const interface_1 = require("./interface");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
function generateGetRamlMappingCacheKeys(graphqlDsl, graphqlTypeName, importContext, modelInfo) {
|
|
13
|
+
var _a;
|
|
14
|
+
const astNodeParamType = ((_a = graphqlDsl.schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === graphqlTypeName
|
|
15
|
+
? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
16
|
+
: constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
17
|
+
const mappedRamlTypeIdAndName = (0, utils_1.getMappedRamlTypeIdAndName)(graphqlDsl, graphqlTypeName, modelInfo);
|
|
18
|
+
if (mappedRamlTypeIdAndName === undefined) {
|
|
19
|
+
return '';
|
|
20
|
+
}
|
|
21
|
+
const convertGraphQLToRamlImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_CONVERT_IDENTIFIER);
|
|
22
|
+
const partialInterfaceImport = importContext.importGraphQLArtifact('types', graphqlTypeName, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
23
|
+
const graphqlStateInterface = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_LUVIO_STATE_INTERFACE_IDENTIFIER);
|
|
24
|
+
const ramlTypeCacheKeysImport = importContext.importRamlArtifact(mappedRamlTypeIdAndName.id, constants_2.TYPE_CACHE_KEYS_IDENTIFIER);
|
|
25
|
+
return (0, deindent_1.default) `
|
|
26
|
+
export function ${constants_2.MAPPED_TYPE_CACHE_KEYS_IDENTIFIER}(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${partialInterfaceImport}>): ${constants_1.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} {
|
|
27
|
+
const convertedData = ${convertGraphQLToRamlImport}(astNode, state);
|
|
28
|
+
if(convertedData) {
|
|
29
|
+
return ${ramlTypeCacheKeysImport}(state.luvio, convertedData as any, () => state.path.fullPath);
|
|
30
|
+
}
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
}
|
|
35
|
+
exports.generateGetRamlMappingCacheKeys = generateGetRamlMappingCacheKeys;
|
|
36
|
+
//# sourceMappingURL=mapped-type-cache-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapped-type-cache-keys.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/mapped-type-cache-keys.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA+C;AAE/C,sDAIgC;AAChC,2CAMqB;AACrB,2CAA2D;AAC3D,mCAAqD;AAErD,SAAgB,+BAA+B,CAC3C,UAA2B,EAC3B,eAAuB,EACvB,aAA4B,EAC5B,SAAoB;;IAEpB,MAAM,gBAAgB,GAClB,CAAA,MAAA,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,eAAe;QACtD,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAE1C,MAAM,uBAAuB,GAAG,IAAA,kCAA0B,EACtD,UAAU,EACV,eAAe,EACf,SAAS,CACZ,CAAC;IAEF,IAAI,uBAAuB,KAAK,SAAS,EAAE;QACvC,OAAO,EAAE,CAAC;KACb;IACD,MAAM,0BAA0B,GAAG,aAAa,CAAC,qBAAqB,CAClE,OAAO,EACP,eAAe,EACf,mCAAuB,CAC1B,CAAC;IACF,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,OAAO,EACP,eAAe,EACf,wCAA4B,CAC/B,CAAC;IACF,MAAM,qBAAqB,GAAG,aAAa,CAAC,qBAAqB,CAC7D,OAAO,EACP,gCAAoB,EACpB,oDAAwC,CAC3C,CAAC;IACF,MAAM,uBAAuB,GAAG,aAAa,CAAC,kBAAkB,CAC5D,uBAAuB,CAAC,EAAE,EAC1B,sCAA0B,CAC7B,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;0BACO,6CAAiC,aAAa,gBAAgB,YAAY,qBAAqB,IAAI,sBAAsB,OAAO,iDAAqC;oCAC3J,0BAA0B;;yBAErC,uBAAuB;;;;KAI3C,CAAC;AACN,CAAC;AAhDD,0EAgDC"}
|
|
@@ -2,4 +2,5 @@ import type { ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
|
2
2
|
import type { ImportContext } from '../../../utils/imports';
|
|
3
3
|
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
4
4
|
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
5
|
-
|
|
5
|
+
import type { ModelInfo } from '../../../intermediate/model-info';
|
|
6
|
+
export declare function generateSelect(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo): string;
|
|
@@ -18,7 +18,7 @@ const constants_4 = require("../../pagination-utils/constants");
|
|
|
18
18
|
const pagination_1 = require("../../../intermediate/pagination");
|
|
19
19
|
const constants_5 = require("../../pagination-utils/constants");
|
|
20
20
|
const constants_6 = require("../../shape/constants");
|
|
21
|
-
function selectNamedType(field, typeNode, importContext, normalizableTypeMap, cursorConnectionTypes) {
|
|
21
|
+
function selectNamedType(field, typeNode, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes) {
|
|
22
22
|
const fieldName = field.name.value;
|
|
23
23
|
const identifier = fieldName;
|
|
24
24
|
const resolvedLinkIdentifier = `${identifier}ResolvedLink`;
|
|
@@ -30,7 +30,8 @@ function selectNamedType(field, typeNode, importContext, normalizableTypeMap, cu
|
|
|
30
30
|
return generateSelectScalar();
|
|
31
31
|
}
|
|
32
32
|
const namedTypeSelect = importContext.importGraphQLArtifact('types', typeNode.name.value, 'select');
|
|
33
|
-
const namedTypePartialInterface = importContext.importGraphQLArtifact('types', typeNode.name.value,
|
|
33
|
+
const namedTypePartialInterface = importContext.importGraphQLArtifact('types', typeNode.name.value, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
34
|
+
const normalizedGraphQLTypeImport = (0, utils_1.getNormalizedDataType)(graphqlDsl, typeNode.name.value, importContext, modelInfo);
|
|
34
35
|
const namedTypeVersion = importContext.importGraphQLArtifact('types', typeNode.name.value, version_1.SHAPE_VERSION_IDENTIFIER);
|
|
35
36
|
return (0, deindent_1.default) `
|
|
36
37
|
const ${resolvedLinkIdentifier} = reader.read({
|
|
@@ -46,21 +47,21 @@ function selectNamedType(field, typeNode, importContext, normalizableTypeMap, cu
|
|
|
46
47
|
reader.markSeenId(${constants_3.FIELD_DATA_IDENTIFIER}.__ref);
|
|
47
48
|
if (${resolvedLinkIdentifier}.data !== undefined) {
|
|
48
49
|
${isCursorConnectionType
|
|
49
|
-
? resolveLinkWithPagination(resolvedLinkIdentifier, namedTypePartialInterface, namedTypeSelect, importContext)
|
|
50
|
-
: resolveLink(resolvedLinkIdentifier,
|
|
50
|
+
? resolveLinkWithPagination(resolvedLinkIdentifier, namedTypePartialInterface, normalizedGraphQLTypeImport, namedTypeSelect, importContext)
|
|
51
|
+
: resolveLink(resolvedLinkIdentifier, normalizedGraphQLTypeImport, namedTypeSelect)}
|
|
51
52
|
} else {
|
|
52
53
|
reader.markMissingLink(${constants_3.FIELD_DATA_IDENTIFIER}.__ref)
|
|
53
54
|
reader.markMissing();
|
|
54
55
|
}
|
|
55
56
|
`;
|
|
56
57
|
}
|
|
57
|
-
function resolveLink(resolvedLinkIdentifier,
|
|
58
|
+
function resolveLink(resolvedLinkIdentifier, normalizedGraphQLType, namedTypeSelect) {
|
|
58
59
|
return (0, deindent_1.default) `
|
|
59
|
-
const result = ${namedTypeSelect}(sel, variables, fragments)(${resolvedLinkIdentifier}.data as ${
|
|
60
|
+
const result = ${namedTypeSelect}(sel, variables, fragments)(${resolvedLinkIdentifier}.data as ${normalizedGraphQLType}, reader); // Should probably
|
|
60
61
|
reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, key, result);
|
|
61
62
|
`;
|
|
62
63
|
}
|
|
63
|
-
function resolveLinkWithPagination(resolvedLinkIdentifier, namedTypePartialInterface, namedTypeSelect, importContext) {
|
|
64
|
+
function resolveLinkWithPagination(resolvedLinkIdentifier, namedTypePartialInterface, normalizedGraphQLType, namedTypeSelect, importContext) {
|
|
64
65
|
const paginationMetadataType = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.PAGINATION_METADATA_TYPE_IDENTIFIER);
|
|
65
66
|
const paginationParamsType = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.PAGINATION_PARAMS_INTERFACE_IDENTIFIER);
|
|
66
67
|
const findMaxOffset = importContext.importPaginationUtil(pagination_1.Strategy.Cursor, constants_4.FIND_MAX_OFFSET_IDENTIFIER);
|
|
@@ -70,7 +71,7 @@ function resolveLinkWithPagination(resolvedLinkIdentifier, namedTypePartialInter
|
|
|
70
71
|
const getPageMetadata = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_6.GET_PAGE_METADATA);
|
|
71
72
|
const objectFreeze = importContext.importTypeUtil('ObjectFreeze');
|
|
72
73
|
return (0, deindent_1.default) `
|
|
73
|
-
const source = (${resolvedLinkIdentifier}.data as ${
|
|
74
|
+
const source = (${resolvedLinkIdentifier}.data as ${normalizedGraphQLType}).data;
|
|
74
75
|
const totalEdges = source.${constants_3.EDGES_IDENTIFIER} !== undefined ? source.${constants_3.EDGES_IDENTIFIER}.length : 0;
|
|
75
76
|
const metadata: ${paginationMetadataType} | undefined = reader.resolveMetadata(source, ${paginationVersion}) as ${paginationMetadataType};
|
|
76
77
|
|
|
@@ -113,13 +114,13 @@ function resolveLinkWithPagination(resolvedLinkIdentifier, namedTypePartialInter
|
|
|
113
114
|
return;
|
|
114
115
|
}
|
|
115
116
|
|
|
116
|
-
const paginatedData
|
|
117
|
+
const paginatedData: ${normalizedGraphQLType} = {
|
|
117
118
|
data: {
|
|
118
119
|
...source,
|
|
119
120
|
edges: ${objectFreeze}(trimmedEdges),
|
|
120
121
|
}
|
|
121
122
|
};
|
|
122
|
-
const result
|
|
123
|
+
const result: ${namedTypePartialInterface} | undefined = ${namedTypeSelect}(sel, variables, fragments)(paginatedData as ${normalizedGraphQLType}, reader);
|
|
123
124
|
const pageInfo = ${createPageInfo}(result?.edges, startOffset, endOffset, maxOffset, metadata);
|
|
124
125
|
if (pageInfo !== undefined) {
|
|
125
126
|
const selectedPageInfo = selectPageInfo(sel.selectionSet?.selections, fragments, pageInfo);
|
|
@@ -134,14 +135,14 @@ function resolveLinkWithPagination(resolvedLinkIdentifier, namedTypePartialInter
|
|
|
134
135
|
reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, key, result);
|
|
135
136
|
`;
|
|
136
137
|
}
|
|
137
|
-
function selectType(field, typeNode, importContext, normalizableTypeMap, cursorConnectionTypes) {
|
|
138
|
+
function selectType(field, typeNode, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes) {
|
|
138
139
|
switch (typeNode.kind) {
|
|
139
140
|
case 'ListType':
|
|
140
141
|
case 'NonNullType': {
|
|
141
|
-
return selectType(field, typeNode.type, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
142
|
+
return selectType(field, typeNode.type, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
142
143
|
}
|
|
143
144
|
case 'NamedType': {
|
|
144
|
-
return selectNamedType(field, typeNode, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
145
|
+
return selectNamedType(field, typeNode, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
145
146
|
}
|
|
146
147
|
}
|
|
147
148
|
}
|
|
@@ -160,7 +161,7 @@ function generateGetMappedDataByType(graphqlField, typeNode, ramlFieldName, norm
|
|
|
160
161
|
return (0, deindent_1.default) `
|
|
161
162
|
case "${graphqlFieldName}": {
|
|
162
163
|
const ${constants_3.FIELD_KEY_IDENTIFIER} = "${ramlFieldName}";
|
|
163
|
-
return source.
|
|
164
|
+
return source.${constants_3.LINKED_DATA_IDENTIFIER} ? source.${constants_3.LINKED_DATA_IDENTIFIER}[${constants_3.FIELD_KEY_IDENTIFIER}] : undefined;
|
|
164
165
|
}
|
|
165
166
|
`;
|
|
166
167
|
}
|
|
@@ -184,7 +185,7 @@ function generateDataMapping(graphqlDsl, graphqlTypeName, def, normalizableTypeM
|
|
|
184
185
|
.filter((fieldIngestStatement) => fieldIngestStatement !== '')
|
|
185
186
|
.join('\n');
|
|
186
187
|
}
|
|
187
|
-
function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metadata) {
|
|
188
|
+
function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metadata, modelInfo) {
|
|
188
189
|
var _a;
|
|
189
190
|
const { schema, cursorConnectionTypes } = graphqlDsl;
|
|
190
191
|
const type = schema.getType(def.name.value);
|
|
@@ -197,7 +198,7 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
197
198
|
.map((field) => {
|
|
198
199
|
const type = field.type;
|
|
199
200
|
const typename = (0, types_1.resolveTypeName)(type);
|
|
200
|
-
const body = selectType(field, type, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
201
|
+
const body = selectType(field, type, graphqlDsl, modelInfo, importContext, normalizableTypeMap, cursorConnectionTypes);
|
|
201
202
|
return (0, deindent_1.default) `
|
|
202
203
|
case '${typename}': {
|
|
203
204
|
${body}
|
|
@@ -215,9 +216,13 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
215
216
|
const fieldTypeImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_3.GET_FIELD_TYPE_IDENTIFIER);
|
|
216
217
|
const isFragmentApplicableImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_3.IS_FRAGMENT_APPLICABLE_IDENTIFIER);
|
|
217
218
|
const isCursorConnectionType = cursorConnectionTypes.includes(graphqlTypeName);
|
|
219
|
+
const getFieldDataImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_3.GET_FIELD_DATA_IDENTIFIER);
|
|
220
|
+
const selectTypeImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_3.SELECT_TYPE_IDENTIFIER);
|
|
221
|
+
const denormalizeMappedDataString = getDenormalizeMappedDataString(graphqlDsl, graphqlTypeName, importContext, modelInfo);
|
|
222
|
+
const normalizedGraphQLDataType = (0, utils_1.getNormalizedDataType)(graphqlDsl, graphqlTypeName, importContext, modelInfo);
|
|
218
223
|
return (0, deindent_1.default) `
|
|
219
|
-
export function
|
|
220
|
-
source: ${
|
|
224
|
+
export function ${constants_3.GET_FIELD_DATA_IDENTIFIER}(
|
|
225
|
+
source: ${normalizedGraphQLDataType},
|
|
221
226
|
sel: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} ,
|
|
222
227
|
variables: ${graphqlVariablesImport}
|
|
223
228
|
) {
|
|
@@ -240,9 +245,9 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
240
245
|
}
|
|
241
246
|
return ${constants_3.SINK_IDENTIFIER};
|
|
242
247
|
}
|
|
243
|
-
export function buildSelectionForField(source: ${
|
|
248
|
+
export function buildSelectionForField(source: ${normalizedGraphQLDataType}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>, sel: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} , variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
|
|
244
249
|
const ${constants_3.SINK_IDENTIFIER}: Record<string, any> = {}
|
|
245
|
-
const ${constants_3.FIELD_DATA_IDENTIFIER} =
|
|
250
|
+
const ${constants_3.FIELD_DATA_IDENTIFIER} = ${getFieldDataImport}(source, sel, variables);
|
|
246
251
|
const ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER} = sel.alias ? sel.alias.value : sel.name.value;
|
|
247
252
|
|
|
248
253
|
${isCursorConnectionType
|
|
@@ -267,17 +272,17 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
267
272
|
const arraySink: any[] = [];
|
|
268
273
|
for(let i = 0, len = ${constants_3.FIELD_DATA_IDENTIFIER}.length; i < len; i += 1) {
|
|
269
274
|
reader.enterPath(i);
|
|
270
|
-
|
|
275
|
+
${selectTypeImport}(fieldType.typename, sel, ${constants_3.FIELD_DATA_IDENTIFIER}[i], reader, i, arraySink, variables, fragments);
|
|
271
276
|
reader.exitPath();
|
|
272
277
|
}
|
|
273
278
|
reader.assignNonScalar(${constants_3.SINK_IDENTIFIER}, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, arraySink);
|
|
274
279
|
} else {
|
|
275
|
-
|
|
280
|
+
${selectTypeImport}(fieldType.typename, sel, ${constants_3.FIELD_DATA_IDENTIFIER}, reader, ${constants_3.REQUESTED_FIELD_NAME_IDENTIFIER}, ${constants_3.SINK_IDENTIFIER}, variables, fragments);
|
|
276
281
|
}
|
|
277
282
|
|
|
278
283
|
return ${constants_3.SINK_IDENTIFIER};
|
|
279
284
|
}
|
|
280
|
-
export function buildSelectionForNode(source: ${
|
|
285
|
+
export function buildSelectionForNode(source: ${normalizedGraphQLDataType}, 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}) {
|
|
281
286
|
const ${constants_3.SINK_IDENTIFIER}: Record<string, any> = {}
|
|
282
287
|
if(selectionNode.directives) {
|
|
283
288
|
const selectionWithDirectives = ${importContext.importGraphQLArtifact('directives', util_1.DIRECTIVE_UTIL_MODULE_IDENTIFIER, util_1.APPLY_DIRECTIVES_FOR_SELECTION_IDENTIFIER)}(selectionNode, variables);
|
|
@@ -310,22 +315,9 @@ function generateSelect(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
310
315
|
return ${constants_3.SINK_IDENTIFIER};
|
|
311
316
|
}
|
|
312
317
|
export function select(field: ${astNodeParamType}, variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
|
|
313
|
-
return (source: ${
|
|
318
|
+
return (source: ${normalizedGraphQLDataType}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER} | undefined => {
|
|
314
319
|
const ${constants_3.SINK_IDENTIFIER}: Record<string, any> = {};
|
|
315
|
-
|
|
316
|
-
// careful - may need to get the reader fragment from each type in RAML in the future
|
|
317
|
-
if (source.__link !== undefined) {
|
|
318
|
-
source.__linkedData = reader.read({
|
|
319
|
-
recordId: source.__link.__ref,
|
|
320
|
-
node: {
|
|
321
|
-
kind: 'Fragment',
|
|
322
|
-
private: [],
|
|
323
|
-
opaque: true,
|
|
324
|
-
version: ${version_1.SHAPE_VERSION_IDENTIFIER}
|
|
325
|
-
},
|
|
326
|
-
variables: {}
|
|
327
|
-
});
|
|
328
|
-
}
|
|
320
|
+
${denormalizeMappedDataString}
|
|
329
321
|
field.selectionSet?.selections.forEach((sel) => {
|
|
330
322
|
Object.assign(${constants_3.SINK_IDENTIFIER}, buildSelectionForNode(source, reader, field, sel, variables, fragments));
|
|
331
323
|
});
|
|
@@ -380,4 +372,14 @@ function generateSelectScalar() {
|
|
|
380
372
|
reader.assignScalar(key, ${constants_3.SINK_IDENTIFIER}, ${constants_3.FIELD_DATA_IDENTIFIER});
|
|
381
373
|
`;
|
|
382
374
|
}
|
|
375
|
+
function getDenormalizeMappedDataString(graphqlDsl, graphqlTypeName, importContext, modelInfo) {
|
|
376
|
+
const ramlTypeInfo = (0, utils_1.getMappedRamlTypeIdAndName)(graphqlDsl, graphqlTypeName, modelInfo);
|
|
377
|
+
if (ramlTypeInfo !== undefined) {
|
|
378
|
+
const attachMappedDataImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_3.ATTACH_MAPPED_DATA_IDENTIFIER);
|
|
379
|
+
return (0, deindent_1.default) `
|
|
380
|
+
source = ${attachMappedDataImport}(source, reader);
|
|
381
|
+
`;
|
|
382
|
+
}
|
|
383
|
+
return '';
|
|
384
|
+
}
|
|
383
385
|
//# sourceMappingURL=select.js.map
|
|
@@ -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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"}
|
|
@@ -3,7 +3,8 @@ import type { ImportContext } from '../../../utils/imports';
|
|
|
3
3
|
import type { NormalizableTypes } from '../utils';
|
|
4
4
|
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
5
5
|
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
6
|
+
import type { ModelInfo } from '../../../main';
|
|
6
7
|
export declare function getNamedTypeCacheKeys(field: FieldDefinitionNode, typeNode: NamedTypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
7
8
|
export declare function getListTypeCacheKeys(field: FieldDefinitionNode, typeNode: ListTypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
8
9
|
export declare function getFieldCacheKeys(field: FieldDefinitionNode, typeNode: TypeNode, importContext: ImportContext, normalizableTypeMap: NormalizableTypes): string;
|
|
9
|
-
export declare function generateGetTypeCacheKeys(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
|
|
10
|
+
export declare function generateGetTypeCacheKeys(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata, modelInfo: ModelInfo): string;
|
|
@@ -24,7 +24,7 @@ function getNamedTypeCacheKeys(field, typeNode, importContext, normalizableTypeM
|
|
|
24
24
|
const objectAssignImport = importContext.importTypeUtil('ObjectAssign');
|
|
25
25
|
const fieldStateIdentifier = `${fieldName}State`;
|
|
26
26
|
return (0, deindent_1.default) `
|
|
27
|
-
case '${
|
|
27
|
+
case '${graphqlTypeName}': {
|
|
28
28
|
const ${fieldStateIdentifier} = {
|
|
29
29
|
...state,
|
|
30
30
|
path: {
|
|
@@ -35,7 +35,6 @@ function getNamedTypeCacheKeys(field, typeNode, importContext, normalizableTypeM
|
|
|
35
35
|
data: ${constants_2.FIELD_DATA_IDENTIFIER},
|
|
36
36
|
};
|
|
37
37
|
${objectAssignImport}(${CACHE_KEY_SINK_IDENTIFIER}, ${typeCacheKeysImport}(
|
|
38
|
-
${constants_1.LUVIO_IDENTIFIER},
|
|
39
38
|
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
40
39
|
${fieldStateIdentifier}
|
|
41
40
|
));
|
|
@@ -57,7 +56,7 @@ function getListTypeCacheKeys(field, typeNode, importContext, normalizableTypeMa
|
|
|
57
56
|
const typeCacheKeysImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_CACHE_KEYS_IDENTIFIER);
|
|
58
57
|
const objectAssignImport = importContext.importTypeUtil('ObjectAssign');
|
|
59
58
|
return (0, deindent_1.default) `
|
|
60
|
-
case '${
|
|
59
|
+
case '${graphqlTypeName}': {
|
|
61
60
|
const ${fullPathIdentifier} = \`\${rootKey}__\${${constants_2.FIELD_KEY_IDENTIFIER}}\`;
|
|
62
61
|
for(let i = 0, len = ${constants_2.FIELD_DATA_IDENTIFIER}.length; i < len; i++) {
|
|
63
62
|
const item = ${constants_2.FIELD_DATA_IDENTIFIER}[i];
|
|
@@ -67,12 +66,11 @@ function getListTypeCacheKeys(field, typeNode, importContext, normalizableTypeMa
|
|
|
67
66
|
path: {
|
|
68
67
|
parent: null,
|
|
69
68
|
propertyName: null,
|
|
70
|
-
fullPath: ${fullPathIdentifier} + i
|
|
69
|
+
fullPath: ${fullPathIdentifier} + '__' + i
|
|
71
70
|
},
|
|
72
71
|
data: item,
|
|
73
72
|
};
|
|
74
73
|
${objectAssignImport}(${CACHE_KEY_SINK_IDENTIFIER}, ${typeCacheKeysImport}(
|
|
75
|
-
${constants_1.LUVIO_IDENTIFIER},
|
|
76
74
|
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
77
75
|
itemState
|
|
78
76
|
))
|
|
@@ -97,62 +95,74 @@ function getFieldCacheKeys(field, typeNode, importContext, normalizableTypeMap)
|
|
|
97
95
|
}
|
|
98
96
|
exports.getFieldCacheKeys = getFieldCacheKeys;
|
|
99
97
|
function generateObjectTypeCacheKeys(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap) {
|
|
100
|
-
const { typeNameToExtensions } = graphqlDsl;
|
|
101
98
|
const fields = (0, types_1.getObjectFields)(def);
|
|
102
|
-
const
|
|
99
|
+
const eachTypeCacheKeyStatements = fields
|
|
103
100
|
.filter((field) => field.type !== undefined)
|
|
104
101
|
.map((field) => {
|
|
105
|
-
const graphqlFieldName = field.name.value;
|
|
106
|
-
const ramlFieldName = (0, utils_2.getRamlFieldName)(typeNameToExtensions, graphqlTypeName, graphqlFieldName);
|
|
107
|
-
if (ramlFieldName !== undefined) {
|
|
108
|
-
return '';
|
|
109
|
-
}
|
|
110
102
|
return getFieldCacheKeys(field, field.type, importContext, normalizableTypeMap);
|
|
111
103
|
})
|
|
112
104
|
.filter((statement) => statement !== '');
|
|
113
|
-
const hasNormalizableFields =
|
|
105
|
+
const hasNormalizableFields = eachTypeCacheKeyStatements.length > 0;
|
|
114
106
|
if (!hasNormalizableFields) {
|
|
115
107
|
return ``;
|
|
116
108
|
}
|
|
117
|
-
const
|
|
118
|
-
const
|
|
109
|
+
const eachTypeHandling = eachTypeCacheKeyStatements.join('\n');
|
|
110
|
+
const typeCacheKeysStatements = [
|
|
119
111
|
(0, utils_2.getRequestedFieldsStatement)(importContext, graphqlTypeName),
|
|
120
|
-
iterateThroughResponseKeys(importContext,
|
|
112
|
+
iterateThroughResponseKeys(importContext, eachTypeHandling, graphqlTypeName),
|
|
121
113
|
];
|
|
122
|
-
return
|
|
114
|
+
return typeCacheKeysStatements.join('\n');
|
|
123
115
|
}
|
|
124
|
-
function iterateThroughResponseKeys(importContext,
|
|
116
|
+
function iterateThroughResponseKeys(importContext, individualFieldCacheKeysBlock, graphqlTypename) {
|
|
125
117
|
const getRequestedFieldImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
|
|
126
118
|
const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
119
|
+
const isMappedFieldImport = importContext.importGraphQLArtifact('types', graphqlTypename, constants_2.IS_MAPPED_FIELD_IDENTIFIER);
|
|
120
|
+
const getFieldTypeImport = importContext.importGraphQLArtifact('types', graphqlTypename, constants_2.GET_FIELD_TYPE_IDENTIFIER);
|
|
127
121
|
return (0, deindent_1.default) `
|
|
128
122
|
for(const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)){
|
|
129
123
|
const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
|
|
130
124
|
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${constants_2.REQUESTED_FIELDS_IDENTIFIER});
|
|
131
125
|
|
|
132
126
|
if(${constants_2.REQUESTED_FIELD_IDENTIFIER} === undefined) {
|
|
133
|
-
|
|
127
|
+
continue; // Skip unknown field.
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const ${constants_2.FIELD_TYPE_IDENTIFIER} = ${getFieldTypeImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER});
|
|
131
|
+
if(${isMappedFieldImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}) || ${constants_2.FIELD_TYPE_IDENTIFIER} === undefined) {
|
|
132
|
+
continue;
|
|
134
133
|
}
|
|
135
|
-
const ${constants_2.FIELD_TYPE_IDENTIFIER} = ${constants_2.GET_FIELD_TYPE_IDENTIFIER}(${constants_2.REQUESTED_FIELD_IDENTIFIER});
|
|
136
134
|
const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables, ${constants_2.FIELD_TYPE_IDENTIFIER});
|
|
137
135
|
|
|
138
|
-
switch( ${constants_2.
|
|
139
|
-
${
|
|
136
|
+
switch( ${constants_2.FIELD_TYPE_IDENTIFIER}.typename) {
|
|
137
|
+
${individualFieldCacheKeysBlock}
|
|
140
138
|
}
|
|
141
139
|
}
|
|
142
140
|
`;
|
|
143
141
|
}
|
|
144
|
-
function
|
|
142
|
+
function generateRamlMappingCacheKeyString(graphqlDsl, graphqlTypeName, importContext, modelInfo) {
|
|
143
|
+
const mappedRamlTypeIdAndName = (0, utils_2.getMappedRamlTypeIdAndName)(graphqlDsl, graphqlTypeName, modelInfo);
|
|
144
|
+
if (mappedRamlTypeIdAndName === undefined) {
|
|
145
|
+
return '';
|
|
146
|
+
}
|
|
147
|
+
const objectAssignImport = importContext.importTypeUtil('ObjectAssign');
|
|
148
|
+
const getMappedTypeCacheKeysImport = importContext.importGraphQLArtifact('types', graphqlTypeName, constants_2.MAPPED_TYPE_CACHE_KEYS_IDENTIFIER);
|
|
149
|
+
return (0, deindent_1.default) `
|
|
150
|
+
${objectAssignImport}(${CACHE_KEY_SINK_IDENTIFIER}, ${getMappedTypeCacheKeysImport}(astNode, state));
|
|
151
|
+
`;
|
|
152
|
+
}
|
|
153
|
+
function generateGetTypeCacheKeys(graphqlDsl, graphqlTypeName, def, importContext, _metadata, modelInfo) {
|
|
145
154
|
var _a;
|
|
146
155
|
const { schema } = graphqlDsl;
|
|
147
156
|
const { importGraphQLArtifact } = importContext;
|
|
148
157
|
const normalizableTypeMap = (0, utils_1.getNormalizableTypeMap)(schema);
|
|
149
|
-
const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.
|
|
158
|
+
const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_LUVIO_STATE_INTERFACE_IDENTIFIER);
|
|
150
159
|
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === graphqlTypeName
|
|
151
160
|
? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
152
161
|
: constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
162
|
+
const ramlMappingString = generateRamlMappingCacheKeyString(graphqlDsl, graphqlTypeName, importContext, modelInfo);
|
|
153
163
|
return (0, deindent_1.default) `
|
|
154
|
-
export function ${constants_2.TYPE_CACHE_KEYS_IDENTIFIER}(
|
|
155
|
-
const { path, data } = state;
|
|
164
|
+
export function ${constants_2.TYPE_CACHE_KEYS_IDENTIFIER}(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>): ${constants_1.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} {
|
|
165
|
+
const { path, data, ${constants_1.LUVIO_IDENTIFIER}} = state;
|
|
156
166
|
const rootKey = ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}, path, data);
|
|
157
167
|
const ${CACHE_KEY_SINK_IDENTIFIER} = {
|
|
158
168
|
[rootKey]: {
|
|
@@ -163,7 +173,10 @@ function generateGetTypeCacheKeys(graphqlDsl, graphqlTypeName, def, importContex
|
|
|
163
173
|
};
|
|
164
174
|
|
|
165
175
|
// get all cache keys from normalizable fields
|
|
166
|
-
${generateObjectTypeCacheKeys(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap)}
|
|
176
|
+
${generateObjectTypeCacheKeys(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap)}
|
|
177
|
+
|
|
178
|
+
// Deal with mapped types' cache keys
|
|
179
|
+
${ramlMappingString}
|
|
167
180
|
|
|
168
181
|
return ${CACHE_KEY_SINK_IDENTIFIER};
|
|
169
182
|
}
|
|
@@ -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,
|
|
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,sDAKgC;AAEhC,oCAAmE;AACnE,mCAAkF;AAClF,2CAgBqB;AAGrB,2CAA2D;AAC3D,0CAAiD;AAGjD,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,eAAe;oBACX,oBAAoB;;;;;iDAKS,gCAAoB;;wBAE7C,iCAAqB;;cAE/B,kBAAkB,IAAI,yBAAyB,KAAK,mBAAmB;kBACnE,sCAA0B;kBAC1B,oBAAoB;;;;KAIjC,CAAC;AACN,CAAC;AAzCD,sDAyCC;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,eAAe;oBACX,kBAAkB,wBAAwB,gCAAoB;mCAC/C,iCAAqB;+BACzB,iCAAqB;;;;;;;oCAOhB,kBAAkB;;;;kBAIpC,kBAAkB,IAAI,yBAAyB,KAAK,mBAAmB;sBACnE,sCAA0B;;;;;;KAM3C,CAAC;AACN,CAAC;AA/CD,oDA+CC;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,MAAM,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC;IACpC,MAAM,0BAA0B,GAAG,MAAM;SACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;SAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,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,0BAA0B,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,IAAI,CAAC,qBAAqB,EAAE;QACxB,OAAO,EAAE,CAAC;KACb;IACD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,uBAAuB,GAAa;QACtC,IAAA,mCAA2B,EAAC,aAAa,EAAE,eAAe,CAAC;QAC3D,0BAA0B,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,CAAC;KAC/E,CAAC;IAEF,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,0BAA0B,CAC/B,aAA4B,EAC5B,6BAAqC,EACrC,eAAuB;IAEvB,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;IAEF,MAAM,mBAAmB,GAAG,aAAa,CAAC,qBAAqB,CAC3D,OAAO,EACP,eAAe,EACf,sCAA0B,CAC7B,CAAC;IAEF,MAAM,kBAAkB,GAAG,aAAa,CAAC,qBAAqB,CAC1D,OAAO,EACP,eAAe,EACf,qCAAyB,CAC5B,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;oBACC,qCAAyB;oBACzB,iCAAqB,WAAW,qCAAyB;oBACzD,sCAA0B,MAAM,uBAAuB,IAAI,qCAAyB,KAAK,uCAA2B;;iBAEvH,sCAA0B;;;;oBAIvB,iCAAqB,MAAM,kBAAkB,IAAI,sCAA0B;iBAC9E,mBAAmB,IAAI,sCAA0B,QAAQ,iCAAqB;;;oBAG3E,gCAAoB,MAAM,iBAAiB,IAAI,sCAA0B,sBAAsB,iCAAqB;;sBAElH,iCAAqB;kBACzB,6BAA6B;;;KAG1C,CAAC;AACN,CAAC;AAED,SAAS,iCAAiC,CACtC,UAA2B,EAC3B,eAAuB,EACvB,aAA4B,EAC5B,SAAoB;IAEpB,MAAM,uBAAuB,GAAG,IAAA,kCAA0B,EACtD,UAAU,EACV,eAAe,EACf,SAAS,CACZ,CAAC;IAEF,IAAI,uBAAuB,KAAK,SAAS,EAAE;QACvC,OAAO,EAAE,CAAC;KACb;IACD,MAAM,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACxE,MAAM,4BAA4B,GAAG,aAAa,CAAC,qBAAqB,CACpE,OAAO,EACP,eAAe,EACf,6CAAiC,CACpC,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;UACT,kBAAkB,IAAI,yBAAyB,KAAK,4BAA4B;KACrF,CAAC;AACN,CAAC;AAED,SAAgB,wBAAwB,CACpC,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,SAAiC,EACjC,SAAoB;;IAEpB,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,oDAAwC,CAC3C,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,MAAM,iBAAiB,GAAG,iCAAiC,CACvD,UAAU,EACV,eAAe,EACf,aAAa,EACb,SAAS,CACZ,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;0BACO,sCAA0B,aAAa,gBAAgB,YAAY,qBAAqB,IAAI,wCAA4B,OAAO,iDAAqC;kCAC5J,4BAAgB;8BACpB,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;;;cAGC,iBAAiB;;qBAEV,yBAAyB;;KAEzC,CAAC;AACN,CAAC;AAvDD,4DAuDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GraphQLAnnotation } from '../../../intermediate/graphql-annotation';
|
|
2
|
-
import type { GraphQLTypeExtension } from '../../../intermediate/graphql';
|
|
2
|
+
import type { GraphQLTypeExtension, LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
3
3
|
import type { ModelInfo } from '../../../main';
|
|
4
4
|
import type { ImportContext } from '../../../utils/imports';
|
|
5
5
|
export declare function isTypeExtensionDefined(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string, extensionName: keyof GraphQLTypeExtension): boolean;
|
|
@@ -7,3 +7,8 @@ export declare function getRamlTypeName(typeNameToExtensions: GraphQLAnnotation[
|
|
|
7
7
|
export declare function getRamlFieldName(typeNameToExtensions: GraphQLAnnotation['typeNameToExtensions'] | undefined, graphqlTypeName: string, graphqlFieldName: string): string | undefined;
|
|
8
8
|
export declare function getRamlTypeIdByName(ramlTypeName: string, modelInfo: ModelInfo): string | undefined;
|
|
9
9
|
export declare function getRequestedFieldsStatement(importContext: ImportContext, graphqlTypename: string): string;
|
|
10
|
+
export declare function getNormalizedDataType(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, importContext: ImportContext, modelInfo: ModelInfo): string;
|
|
11
|
+
export declare function getMappedRamlTypeIdAndName(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, modelInfo: ModelInfo): {
|
|
12
|
+
typename: string;
|
|
13
|
+
id: string;
|
|
14
|
+
} | undefined;
|
|
@@ -3,7 +3,7 @@ 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.getRequestedFieldsStatement = exports.getRamlTypeIdByName = exports.getRamlFieldName = exports.getRamlTypeName = exports.isTypeExtensionDefined = void 0;
|
|
6
|
+
exports.getMappedRamlTypeIdAndName = exports.getNormalizedDataType = exports.getRequestedFieldsStatement = exports.getRamlTypeIdByName = exports.getRamlFieldName = exports.getRamlTypeName = exports.isTypeExtensionDefined = void 0;
|
|
7
7
|
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
8
|
const constants_1 = require("../../shared/constants");
|
|
9
9
|
const constants_2 = require("./constants");
|
|
@@ -57,4 +57,27 @@ function getRequestedFieldsStatement(importContext, graphqlTypename) {
|
|
|
57
57
|
`;
|
|
58
58
|
}
|
|
59
59
|
exports.getRequestedFieldsStatement = getRequestedFieldsStatement;
|
|
60
|
+
function getNormalizedDataType(graphqlDsl, graphqlTypeName, importContext, modelInfo) {
|
|
61
|
+
const normalizedGraphQLTypeImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.NORMALIZED_GRAPHQL_TYPE);
|
|
62
|
+
const ramlTypeInfo = getMappedRamlTypeIdAndName(graphqlDsl, graphqlTypeName, modelInfo);
|
|
63
|
+
if (ramlTypeInfo !== undefined) {
|
|
64
|
+
const ramlShapeNameImport = importContext.importRamlArtifact(ramlTypeInfo.id, `${ramlTypeInfo.typename}Normalized`);
|
|
65
|
+
return `${normalizedGraphQLTypeImport}<${ramlShapeNameImport}>`;
|
|
66
|
+
}
|
|
67
|
+
return normalizedGraphQLTypeImport;
|
|
68
|
+
}
|
|
69
|
+
exports.getNormalizedDataType = getNormalizedDataType;
|
|
70
|
+
function getMappedRamlTypeIdAndName(graphqlDsl, graphqlTypeName, modelInfo) {
|
|
71
|
+
const mappedRamlTypeName = getRamlTypeName(graphqlDsl.typeNameToExtensions, graphqlTypeName);
|
|
72
|
+
if (mappedRamlTypeName) {
|
|
73
|
+
const ramlTypeId = getRamlTypeIdByName(mappedRamlTypeName, modelInfo);
|
|
74
|
+
if (ramlTypeId) {
|
|
75
|
+
return {
|
|
76
|
+
typename: mappedRamlTypeName,
|
|
77
|
+
id: ramlTypeId,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.getMappedRamlTypeIdAndName = getMappedRamlTypeIdAndName;
|
|
60
83
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/utils.ts"],"names":[],"mappings":";;;;;;AAGA,uEAA+C;AAE/C,sDAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,11 +11,11 @@ const constants_3 = require("../type/constants");
|
|
|
11
11
|
const interface_1 = require("../interface/interface");
|
|
12
12
|
function generateSelectFromDef(graphQLSchema, interfaceType, importContext) {
|
|
13
13
|
const selectStatements = graphQLSchema.getPossibleTypes(interfaceType).map((object) => {
|
|
14
|
-
const objectPartialInterfaceAlias = importContext.importGraphQLArtifact('types', object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
15
14
|
return (0, deindent_1.default) `
|
|
16
15
|
if(typename === '${object.name}') {
|
|
17
|
-
return ${importContext.importGraphQLArtifact('types', object.name, 'select')}(field, variables, fragments)(source as
|
|
18
|
-
}`;
|
|
16
|
+
return ${importContext.importGraphQLArtifact('types', object.name, 'select')}(field, variables, fragments)(source as any, reader)
|
|
17
|
+
}`; // Using the any cast here instead of doing all the calulations to figure out the Normalized
|
|
18
|
+
// representation of each interface implementation when it doesn't add a ton of value (still ends up a type cast and it's proper once we're in the new function)
|
|
19
19
|
});
|
|
20
20
|
return selectStatements.join('\n');
|
|
21
21
|
}
|
|
@@ -32,9 +32,10 @@ function generateSelect(graphqlDsl, name, def, importContext, _metadata) {
|
|
|
32
32
|
: constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
33
33
|
const graphqlVariablesImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
34
34
|
const fragmentMapImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER);
|
|
35
|
+
const normalizedGraphQLTypeImport = importContext.importGraphQLArtifact('types', constants_3.TYPE_UTIL_IDENTIFIER, constants_3.NORMALIZED_GRAPHQL_TYPE);
|
|
35
36
|
return (0, deindent_1.default) `
|
|
36
37
|
export function select(field: ${astNodeParamType}, variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
|
|
37
|
-
return (source: ${
|
|
38
|
+
return (source: ${normalizedGraphQLTypeImport}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER} | undefined => {
|
|
38
39
|
const typename = source.data.__typename;
|
|
39
40
|
${generateSelectFromDef(schema, type, importContext)}
|
|
40
41
|
}
|