@luvio/compiler 0.92.0 → 0.95.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-cache-policy.js +3 -2
- package/dist/codegen/adapter/adapter-network-cache-policy.js.map +1 -1
- package/dist/codegen/adapter/adapter-network.js +1 -1
- package/dist/codegen/adapter/adapter-notify-change.js +1 -1
- package/dist/codegen/adapter/adapter-resource-error.js +1 -1
- package/dist/codegen/adapter/constants.d.ts +1 -0
- package/dist/codegen/adapter/constants.js +2 -1
- package/dist/codegen/adapter/constants.js.map +1 -1
- package/dist/codegen/adapter/delete/adapter-browser-factory.js +1 -1
- package/dist/codegen/adapter/delete/adapter-browser-factory.js.map +1 -1
- package/dist/codegen/adapter/delete/adapter-network.js +2 -2
- package/dist/codegen/adapter/delete/adapter-network.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-interface.js +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-interface.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js.map +1 -1
- package/dist/codegen/adapter/patch-post/adapter-network.js +1 -1
- package/dist/codegen/adapter-tests/expected-responses.js +1 -1
- package/dist/codegen/graphql/directive/apply-to-selection.d.ts +6 -0
- package/dist/codegen/graphql/directive/apply-to-selection.js +37 -0
- package/dist/codegen/graphql/directive/apply-to-selection.js.map +1 -0
- package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.d.ts +2 -0
- package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.js +28 -0
- package/dist/codegen/graphql/directive/defaults/include-apply-to-selection.js.map +1 -0
- package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.d.ts +2 -0
- package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.js +28 -0
- package/dist/codegen/graphql/directive/defaults/skip-apply-to-selection.js.map +1 -0
- package/dist/codegen/graphql/directive/index.d.ts +5 -0
- package/dist/codegen/graphql/directive/index.js +17 -0
- package/dist/codegen/graphql/directive/index.js.map +1 -0
- package/dist/codegen/graphql/directive/util.d.ts +7 -0
- package/dist/codegen/graphql/directive/util.js +51 -0
- package/dist/codegen/graphql/directive/util.js.map +1 -0
- package/dist/codegen/graphql/interface/ingest.js +3 -3
- package/dist/codegen/graphql/interface/ingest.js.map +1 -1
- package/dist/codegen/graphql/interface/interface.js +1 -1
- package/dist/codegen/graphql/interface/interface.js.map +1 -1
- package/dist/codegen/graphql/interface/query-transformer.js +1 -1
- package/dist/codegen/graphql/interface/query-transformer.js.map +1 -1
- package/dist/codegen/graphql/interface/select.js +5 -5
- package/dist/codegen/graphql/interface/select.js.map +1 -1
- package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.d.ts +20 -0
- package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.js +40 -0
- package/dist/codegen/graphql/source-printer/graphql-directive-source-printer.js.map +1 -0
- package/dist/codegen/graphql/source-printer/graphql-source-printer.d.ts +3 -2
- package/dist/codegen/graphql/source-printer/graphql-source-printer.js +3 -1
- package/dist/codegen/graphql/source-printer/graphql-source-printer.js.map +1 -1
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.d.ts +0 -1
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +5 -5
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
- package/dist/codegen/graphql/source-printer/index.d.ts +3 -1
- package/dist/codegen/graphql/source-printer/index.js +4 -1
- package/dist/codegen/graphql/source-printer/index.js.map +1 -1
- package/dist/codegen/graphql/type/constants.d.ts +2 -1
- package/dist/codegen/graphql/type/constants.js +3 -2
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js +49 -8
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/index.d.ts +2 -1
- package/dist/codegen/graphql/type/index.js +2 -2
- package/dist/codegen/graphql/type/index.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.d.ts +3 -2
- package/dist/codegen/graphql/type/ingest.js +111 -41
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/interface.js +1 -1
- package/dist/codegen/graphql/type/interface.js.map +1 -1
- package/dist/codegen/graphql/type/merge.js +4 -2
- package/dist/codegen/graphql/type/merge.js.map +1 -1
- package/dist/codegen/graphql/type/query-transformer.d.ts +3 -2
- package/dist/codegen/graphql/type/query-transformer.js +93 -30
- package/dist/codegen/graphql/type/query-transformer.js.map +1 -1
- package/dist/codegen/graphql/type/select.js +40 -30
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/utils.d.ts +4 -0
- package/dist/codegen/graphql/type/utils.js +37 -1
- package/dist/codegen/graphql/type/utils.js.map +1 -1
- package/dist/codegen/graphql/union/index.d.ts +2 -1
- package/dist/codegen/graphql/union/index.js +6 -1
- package/dist/codegen/graphql/union/index.js.map +1 -1
- package/dist/codegen/graphql/union/ingest.d.ts +6 -0
- package/dist/codegen/graphql/union/ingest.js +48 -0
- package/dist/codegen/graphql/union/ingest.js.map +1 -0
- package/dist/codegen/graphql/union/interface.js +3 -1
- package/dist/codegen/graphql/union/interface.js.map +1 -1
- package/dist/codegen/graphql/union/select.d.ts +7 -0
- package/dist/codegen/graphql/union/select.js +45 -0
- package/dist/codegen/graphql/union/select.js.map +1 -0
- package/dist/codegen/graphql/utils/types.js +3 -2
- package/dist/codegen/graphql/utils/types.js.map +1 -1
- package/dist/codegen/resource/composite/ingest-success-child-resource-params.js +2 -1
- package/dist/codegen/resource/composite/ingest-success-child-resource-params.js.map +1 -1
- package/dist/codegen/resource/composite/select-child-resource-params.js +1 -1
- package/dist/codegen/resource/composite/select-child-resource-params.js.map +1 -1
- package/dist/codegen/resource/graphql/ingest-error.js +1 -1
- package/dist/codegen/resource/graphql/ingest-error.js.map +1 -1
- package/dist/codegen/resource/graphql/resource-params.js +1 -1
- package/dist/codegen/resource/graphql/resource-params.js.map +1 -1
- package/dist/codegen/resource/ingest-error.js +1 -1
- package/dist/codegen/resource/ingest-error.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-ingest.js +3 -3
- package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.js +2 -2
- package/dist/codegen/shape/graphql/shape-select.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-type-definition.js +1 -1
- package/dist/codegen/shape/graphql/shape-type-definition.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/dist/interfaces/index.d.ts +2 -2
- package/dist/interfaces/source-printers/graphql/graphql-directive-printer.d.ts +11 -0
- package/dist/interfaces/source-printers/graphql/graphql-directive-printer.js +3 -0
- package/dist/interfaces/source-printers/graphql/graphql-directive-printer.js.map +1 -0
- package/dist/interfaces/source-printers/index.d.ts +2 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/dist/plugin.d.ts +3 -2
- package/dist/utils/imports.d.ts +1 -1
- package/dist/utils/imports.js +26 -9
- package/dist/utils/imports.js.map +1 -1
- package/package.json +4 -4
|
@@ -13,17 +13,17 @@ const interface_1 = require("./interface");
|
|
|
13
13
|
const types_1 = require("../utils/types");
|
|
14
14
|
const REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
|
|
15
15
|
function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
|
|
16
|
-
const
|
|
16
|
+
const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
|
|
17
17
|
const { importGraphQLArtifact } = importContext;
|
|
18
|
-
const isScalar = normalizableTypeMap[
|
|
18
|
+
const isScalar = normalizableTypeMap[graphqlTypeName] === undefined;
|
|
19
19
|
const fieldName = field.name.value;
|
|
20
20
|
if (isScalar) {
|
|
21
21
|
return generateIngestScalarField(fieldName);
|
|
22
22
|
}
|
|
23
|
-
const typeNameIngestImport = importGraphQLArtifact(
|
|
23
|
+
const typeNameIngestImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
24
24
|
const fieldStateIdentifier = `${fieldName}State`;
|
|
25
25
|
return (0, deindent_1.default) `
|
|
26
|
-
|
|
26
|
+
case '${fieldName}': {
|
|
27
27
|
const ${fieldStateIdentifier} = {
|
|
28
28
|
...state,
|
|
29
29
|
path: {
|
|
@@ -37,29 +37,29 @@ function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
|
|
|
37
37
|
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
38
38
|
${fieldStateIdentifier}
|
|
39
39
|
) as any;
|
|
40
|
-
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
41
42
|
`;
|
|
42
43
|
}
|
|
43
44
|
exports.ingestNamedType = ingestNamedType;
|
|
44
45
|
function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
|
|
45
46
|
const { importGraphQLArtifact } = importContext;
|
|
46
47
|
const fieldName = field.name.value;
|
|
47
|
-
const
|
|
48
|
+
const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
|
|
48
49
|
const fullPathIdentifier = `fullPath__${fieldName}`;
|
|
49
|
-
const typeDefinition = normalizableTypeMap[
|
|
50
|
+
const typeDefinition = normalizableTypeMap[graphqlTypeName];
|
|
50
51
|
const collectionIdentifier = `${fieldName}__items`;
|
|
51
|
-
const dataIdentifier = `data[${constants_2.FIELD_KEY_IDENTIFIER}]`;
|
|
52
52
|
// Non-normalizable types
|
|
53
53
|
if (typeDefinition === undefined) {
|
|
54
54
|
return generateIngestScalarField(fieldName);
|
|
55
55
|
}
|
|
56
|
-
const typeNameIngestImport = importGraphQLArtifact(
|
|
56
|
+
const typeNameIngestImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
57
57
|
return (0, deindent_1.default) `
|
|
58
|
-
|
|
58
|
+
case '${fieldName}': {
|
|
59
59
|
const ${collectionIdentifier}: ${constants_1.LUVIO_STORE_LINK_IMPORT}[] = [];
|
|
60
60
|
const ${fullPathIdentifier} = \`\${key}__\${${constants_2.FIELD_KEY_IDENTIFIER}}\`;
|
|
61
|
-
for(let i = 0, len = ${
|
|
62
|
-
const item = ${
|
|
61
|
+
for(let i = 0, len = ${constants_2.FIELD_DATA_IDENTIFIER}.length; i < len; i++) {
|
|
62
|
+
const item = ${constants_2.FIELD_DATA_IDENTIFIER}[i];
|
|
63
63
|
|
|
64
64
|
const itemState = {
|
|
65
65
|
...state,
|
|
@@ -75,16 +75,17 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
|
|
|
75
75
|
itemState
|
|
76
76
|
)
|
|
77
77
|
}
|
|
78
|
-
|
|
79
78
|
dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${collectionIdentifier};
|
|
80
|
-
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
81
|
`;
|
|
82
82
|
}
|
|
83
83
|
exports.ingestListType = ingestListType;
|
|
84
84
|
function generateIngestScalarField(fieldName) {
|
|
85
85
|
return (0, deindent_1.default) `
|
|
86
|
-
|
|
86
|
+
case '${fieldName}': {
|
|
87
87
|
dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
|
|
88
|
+
break;
|
|
88
89
|
}
|
|
89
90
|
`;
|
|
90
91
|
}
|
|
@@ -102,16 +103,20 @@ function ingestType(field, typeNode, importContext, normalizableTypeMap) {
|
|
|
102
103
|
}
|
|
103
104
|
}
|
|
104
105
|
exports.ingestType = ingestType;
|
|
105
|
-
function generateObjectTypeIngest(
|
|
106
|
-
const
|
|
106
|
+
function generateObjectTypeIngest(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap) {
|
|
107
|
+
const { typeNameToExtensions } = graphqlDsl;
|
|
108
|
+
const fields = (0, types_1.getObjectFields)(def);
|
|
107
109
|
const fieldIngestStatements = fields
|
|
110
|
+
.filter((field) => field.type !== undefined)
|
|
108
111
|
.map((field) => {
|
|
109
|
-
|
|
112
|
+
// omit the fields that are mapped to RAML fields and delegate to RAML ingestion
|
|
113
|
+
const graphqlFieldName = field.name.value;
|
|
114
|
+
const ramlFieldName = (0, utils_2.getRamlFieldName)(typeNameToExtensions, graphqlTypeName, graphqlFieldName);
|
|
115
|
+
if (ramlFieldName !== undefined) {
|
|
110
116
|
return '';
|
|
111
117
|
}
|
|
112
118
|
return ingestType(field, field.type, importContext, normalizableTypeMap);
|
|
113
|
-
})
|
|
114
|
-
.filter((statement) => statement !== '');
|
|
119
|
+
});
|
|
115
120
|
const eachFieldHandling = fieldIngestStatements.join('\n');
|
|
116
121
|
const ingestStatements = [
|
|
117
122
|
getRequestedFieldsStatement(importContext),
|
|
@@ -120,7 +125,7 @@ function generateObjectTypeIngest(type, importContext, normalizableTypeMap) {
|
|
|
120
125
|
return ingestStatements.join('\n');
|
|
121
126
|
}
|
|
122
127
|
function getRequestedFieldsStatement(importContext) {
|
|
123
|
-
const getRequestedFieldsImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER);
|
|
128
|
+
const getRequestedFieldsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER);
|
|
124
129
|
return (0, deindent_1.default) `
|
|
125
130
|
const ${REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] =
|
|
126
131
|
astNode && astNode.selectionSet ?
|
|
@@ -129,63 +134,128 @@ function getRequestedFieldsStatement(importContext) {
|
|
|
129
134
|
`;
|
|
130
135
|
}
|
|
131
136
|
function iterateThroughResponseKeys(importContext, individualFieldIngestBlock) {
|
|
132
|
-
const getRequestedFieldImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
|
|
133
|
-
const getFieldKeyImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
137
|
+
const getRequestedFieldImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
|
|
138
|
+
const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
134
139
|
return (0, deindent_1.default) `
|
|
135
|
-
const
|
|
136
|
-
for(var responseFieldIndex = 0; responseFieldIndex < responseKeys.length; responseFieldIndex++){
|
|
137
|
-
const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} = responseKeys[responseFieldIndex];
|
|
140
|
+
for(const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)){
|
|
138
141
|
const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
|
|
139
142
|
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${REQUESTED_FIELDS_IDENTIFIER});
|
|
143
|
+
|
|
140
144
|
if(${constants_2.REQUESTED_FIELD_IDENTIFIER} === undefined) {
|
|
141
145
|
break; // TODO: (W-11132802) We got a field back we didn't ask for. Call handleUnknownField.
|
|
142
146
|
}
|
|
143
147
|
const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables);
|
|
144
|
-
|
|
148
|
+
|
|
149
|
+
switch( ${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value) {
|
|
150
|
+
${individualFieldIngestBlock}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
`;
|
|
154
|
+
}
|
|
155
|
+
function generateRamlIngestDelegation(graphqlDsl, graphqlTypeName, importContext, def, modelInfo, graphqlStateInterface) {
|
|
156
|
+
// get the target RAML type ingest function
|
|
157
|
+
const { typeNameToExtensions } = graphqlDsl;
|
|
158
|
+
const { importRamlArtifact } = importContext;
|
|
159
|
+
const ramlTypeName = (0, utils_2.getRamlTypeName)(typeNameToExtensions, graphqlTypeName);
|
|
160
|
+
if (ramlTypeName === undefined) {
|
|
161
|
+
return '';
|
|
162
|
+
}
|
|
163
|
+
const ramlTypeId = (0, utils_2.getRamlTypeIdByName)(ramlTypeName, modelInfo);
|
|
164
|
+
if (ramlTypeId === undefined) {
|
|
165
|
+
return '';
|
|
166
|
+
}
|
|
167
|
+
const ramlIngest = importRamlArtifact(ramlTypeId, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
168
|
+
// get RAML mapping
|
|
169
|
+
const graphqlFields = (0, types_1.getObjectFields)(def);
|
|
170
|
+
const ramlIngestStatements = graphqlFields
|
|
171
|
+
.filter((graphqlField) => graphqlField.type !== undefined)
|
|
172
|
+
.map((graphqlField) => {
|
|
173
|
+
const graphqlFieldName = graphqlField.name.value;
|
|
174
|
+
const ramlFieldName = (0, utils_2.getRamlFieldName)(typeNameToExtensions, graphqlTypeName, graphqlFieldName);
|
|
175
|
+
if (ramlFieldName === undefined) {
|
|
176
|
+
return '';
|
|
177
|
+
}
|
|
178
|
+
return (0, deindent_1.default) `
|
|
179
|
+
if (responseKey === "${graphqlFieldName}") {
|
|
180
|
+
ramlSink["${ramlFieldName}"] = data["${graphqlFieldName}"];
|
|
181
|
+
}
|
|
182
|
+
`;
|
|
183
|
+
});
|
|
184
|
+
if (ramlIngestStatements.length === 0) {
|
|
185
|
+
return '';
|
|
186
|
+
}
|
|
187
|
+
return (0, deindent_1.default) `
|
|
188
|
+
export function convertGraphQLToRaml (state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
|
|
189
|
+
const { path, data, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
|
|
190
|
+
const ramlSink = {};
|
|
191
|
+
const responseKeys = Object.keys(data);
|
|
192
|
+
for (const responseKey of responseKeys) {
|
|
193
|
+
${ramlIngestStatements.join('\n')}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// delegate type ingest to RAML ingest if the type is in RAML mapping
|
|
197
|
+
if (Object.keys(ramlSink).length === 0) {
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
const ramlTypeRef = ${ramlIngest}(ramlSink, path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER});
|
|
201
|
+
return ramlTypeRef;
|
|
145
202
|
}
|
|
146
203
|
`;
|
|
147
204
|
}
|
|
148
|
-
function generateIngest(graphqlDsl,
|
|
205
|
+
function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metadata, modelInfo) {
|
|
149
206
|
var _a;
|
|
150
|
-
const { schema } = graphqlDsl;
|
|
207
|
+
const { schema, typeNameToExtensions } = graphqlDsl;
|
|
151
208
|
const { importGraphQLArtifact, importAdapterUtil } = importContext;
|
|
152
209
|
const normalizableTypeMap = (0, utils_1.getNormalizableTypeMap)(schema);
|
|
153
|
-
const createLink = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
|
|
154
|
-
const graphqlStateInterface = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
|
|
210
|
+
const createLink = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
|
|
211
|
+
const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_STATE_INTERFACE_IDENTIFIER);
|
|
155
212
|
const keyPrefix = importAdapterUtil('keyPrefix');
|
|
156
|
-
const ttl = (0, utils_2.isTypeExtensionDefined)(
|
|
213
|
+
const ttl = (0, utils_2.isTypeExtensionDefined)(typeNameToExtensions, graphqlTypeName, 'ttl')
|
|
157
214
|
? 'TTL'
|
|
158
|
-
: importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, 'TTL');
|
|
159
|
-
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) ===
|
|
215
|
+
: importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, 'TTL');
|
|
216
|
+
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === graphqlTypeName
|
|
160
217
|
? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
161
218
|
: constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
219
|
+
const converToRaml = generateRamlIngestDelegation(graphqlDsl, graphqlTypeName, importContext, def, modelInfo, graphqlStateInterface);
|
|
162
220
|
return (0, deindent_1.default) `
|
|
221
|
+
|
|
222
|
+
${converToRaml}
|
|
223
|
+
|
|
163
224
|
export function ingest(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
|
|
164
|
-
const { path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER} } = state;
|
|
225
|
+
const { path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
|
|
165
226
|
const data = state.data;
|
|
166
227
|
const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(path, data);
|
|
167
|
-
|
|
168
|
-
// normalize fields
|
|
169
228
|
const dataSink = <PartialInterface>({});
|
|
170
|
-
|
|
229
|
+
|
|
230
|
+
// normalize fields
|
|
231
|
+
${generateObjectTypeIngest(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap)}
|
|
171
232
|
|
|
172
233
|
// merge existing cache data and new request response data
|
|
173
|
-
let mergedData
|
|
234
|
+
let mergedData;
|
|
174
235
|
const existingData = ${constants_1.LUVIO_STORE_IDENTIFIER}.readEntry<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>(key);
|
|
175
236
|
if (existingData !== undefined && existingData.__type !== "error") {
|
|
176
237
|
mergedData = mergeData(existingData as PartialInterface, dataSink);
|
|
177
238
|
}
|
|
178
239
|
else {
|
|
179
|
-
mergedData = dataSink;
|
|
240
|
+
mergedData = {data: dataSink};
|
|
180
241
|
}
|
|
181
242
|
|
|
243
|
+
${converToRaml === ''
|
|
244
|
+
? ''
|
|
245
|
+
: (0, deindent_1.default) `
|
|
246
|
+
// partially ingest with RAML
|
|
247
|
+
const ramlTypeRef = convertGraphQLToRaml(state);
|
|
248
|
+
if (ramlTypeRef !== undefined) {
|
|
249
|
+
mergedData["__link"] = ramlTypeRef;
|
|
250
|
+
}`}
|
|
251
|
+
|
|
182
252
|
// publish
|
|
183
253
|
${constants_1.LUVIO_IDENTIFIER}.storePublish(key, mergedData);
|
|
184
254
|
|
|
185
255
|
const storeMetadataParams = {
|
|
186
256
|
ttl: ${ttl},
|
|
187
257
|
namespace: ${keyPrefix},
|
|
188
|
-
representationName: "${
|
|
258
|
+
representationName: "${graphqlTypeName}",
|
|
189
259
|
};
|
|
190
260
|
${constants_1.LUVIO_IDENTIFIER}.publishStoreMetadata(key, storeMetadataParams);
|
|
191
261
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":";;;;;;AAOA,uEAA+C;AAE/C,sDAMgC;AAEhC,oCAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":";;;;;;AAOA,uEAA+C;AAE/C,sDAMgC;AAEhC,oCAAmE;AACnE,mCAKiB;AACjB,2CAcqB;AAGrB,2CAA2D;AAC3D,0CAAiD;AAGjD,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAEtD,SAAgB,eAAe,CAC3B,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,yBAAyB,CAAC,SAAS,CAAC,CAAC;KAC/C;IAED,MAAM,oBAAoB,GAAG,qBAAqB,CAC9C,OAAO,EACP,eAAe,EACf,kCAAsB,CACzB,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAG,SAAS,OAAO,CAAC;IACjD,OAAO,IAAA,kBAAQ,EAAA;gBACH,SAAS;oBACL,oBAAoB;;;;oCAIJ,gCAAoB;6CACX,gCAAoB;;wBAEzC,iCAAqB;;uBAEtB,gCAAoB,OAAO,oBAAoB;kBACpD,sCAA0B;kBAC1B,oBAAoB;;;;KAIjC,CAAC;AACN,CAAC;AAxCD,0CAwCC;AAED,SAAgB,cAAc,CAC1B,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;IAC5D,MAAM,oBAAoB,GAAG,GAAG,SAAS,SAAS,CAAC;IAEnD,yBAAyB;IACzB,IAAI,cAAc,KAAK,SAAS,EAAE;QAC9B,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;KAC/C;IAED,MAAM,oBAAoB,GAAG,qBAAqB,CAC9C,OAAO,EACP,eAAe,EACf,kCAAsB,CACzB,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;gBACH,SAAS;oBACL,oBAAoB,KAAK,mCAAuB;oBAChD,kBAAkB,oBAAoB,gCAAoB;mCAC3C,iCAAqB;+BACzB,iCAAqB;;;;;;;oCAOhB,kBAAkB;;;;kBAIpC,oBAAoB,SAAS,oBAAoB;sBAC7C,sCAA0B;;;;uBAIzB,gCAAoB,OAAO,oBAAoB;;;KAGjE,CAAC;AACN,CAAC;AAjDD,wCAiDC;AAED,SAAS,yBAAyB,CAAC,SAAiB;IAChD,OAAO,IAAA,kBAAQ,EAAA;gBACH,SAAS;uBACF,gCAAoB,OAAO,iCAAqB;;;KAGlE,CAAC;AACN,CAAC;AAED,SAAgB,UAAU,CACtB,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,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAChF,KAAK,UAAU;YACX,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QAC/E;YACI,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;KACnF;AACL,CAAC;AAlBD,gCAkBC;AAED,SAAS,wBAAwB,CAC7B,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,gFAAgF;QAChF,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,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAa;QAC/B,2BAA2B,CAAC,aAAa,CAAC;QAC1C,0BAA0B,CAAC,aAAa,EAAE,iBAAiB,CAAC;KAC/D,CAAC;IAEF,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,2BAA2B,CAAC,aAA4B;IAC7D,MAAM,wBAAwB,GAAG,aAAa,CAAC,qBAAqB,CAChE,OAAO,EACP,gCAAoB,EACpB,oDAAwC,CAC3C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;gBACH,2BAA2B,KAAK,2CAA+B;;cAEjE,wBAAwB;;KAEjC,CAAC;AACN,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,2BAA2B;;iBAEvH,sCAA0B;;;oBAGvB,gCAAoB,MAAM,iBAAiB,IAAI,sCAA0B;;sBAEvE,sCAA0B;kBAC9B,0BAA0B;;;KAGvC,CAAC;AACN,CAAC;AAED,SAAS,4BAA4B,CACjC,UAA2B,EAC3B,eAAuB,EACvB,aAA4B,EAC5B,GAA6B,EAC7B,SAAoB,EACpB,qBAA6B;IAE7B,2CAA2C;IAC3C,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IAC5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC5E,IAAI,YAAY,KAAK,SAAS,EAAE;QAC5B,OAAO,EAAE,CAAC;KACb;IACD,MAAM,UAAU,GAAG,IAAA,2BAAmB,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,OAAO,EAAE,CAAC;KACb;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,kCAAsB,CAAC,CAAC;IAE1E,mBAAmB;IACnB,MAAM,aAAa,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,oBAAoB,GAAG,aAAa;SACrC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC;SACzD,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAClB,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACjD,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,IAAA,kBAAQ,EAAA;uCACY,gBAAgB;gCACvB,aAAa,cAAc,gBAAgB;;aAE9D,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;QACnC,OAAO,EAAE,CAAC;KACb;IACD,OAAO,IAAA,kBAAQ,EAAA;uDACoC,qBAAqB,IAAI,wCAA4B;kCAC1E,4BAAgB,KAAK,kCAAsB,KAAK,gCAAoB;;;;kBAIpF,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;kCAOf,UAAU,oBAAoB,4BAAgB,KAAK,kCAAsB,KAAK,gCAAoB;;;KAG/H,CAAC;AACN,CAAC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,SAAiC,EACjC,SAAoB;;IAEpB,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC;IACpD,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IACnE,MAAM,mBAAmB,GAAG,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,EAAE,gCAAoB,EAAE,kCAAsB,CAAC,CAAC;IAChG,MAAM,qBAAqB,GAAG,qBAAqB,CAC/C,OAAO,EACP,gCAAoB,EACpB,8CAAkC,CACrC,CAAC;IACF,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAA,8BAAsB,EAAC,oBAAoB,EAAE,eAAe,EAAE,KAAK,CAAC;QAC5E,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,gCAAoB,EAAE,KAAK,CAAC,CAAC;IAClE,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,YAAY,GAAG,4BAA4B,CAC7C,UAAU,EACV,eAAe,EACf,aAAa,EACb,GAAG,EACH,SAAS,EACT,qBAAqB,CACxB,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;;UAET,YAAY;;0CAEoB,gBAAgB,YAAY,qBAAqB,IAAI,wCAA4B;4BAC/F,4BAAgB,KAAK,kCAAsB,KAAK,gCAAoB;;0BAEtE,kCAAsB;;;;cAIlC,wBAAwB,CACtB,UAAU,EACV,eAAe,EACf,aAAa,EACb,GAAG,EACH,mBAAmB,CACtB;;;;mCAIsB,kCAAsB,cAAc,wCAA4B;;;;;;;;cASnF,YAAY,KAAK,EAAE;QACf,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAA,kBAAQ,EAAA;;;;;cAMlB;;;cAGE,4BAAgB;;;uBAGP,GAAG;6BACG,SAAS;uCACC,eAAe;;cAExC,4BAAgB;;qBAET,UAAU;;KAE1B,CAAC;AACN,CAAC;AAvFD,wCAuFC"}
|
|
@@ -16,7 +16,7 @@ function generateNamedTypeReference(type, importContext, scalarToPrimitiveMap) {
|
|
|
16
16
|
if (scalarToPrimitiveMap[typeName] !== undefined) {
|
|
17
17
|
return scalarToPrimitiveMap[typeName];
|
|
18
18
|
}
|
|
19
|
-
return importContext.importGraphQLArtifact(typeName, exports.TYPE_INTERFACE_IDENTIFIER);
|
|
19
|
+
return importContext.importGraphQLArtifact('types', typeName, exports.TYPE_INTERFACE_IDENTIFIER);
|
|
20
20
|
}
|
|
21
21
|
function generateTypeReference(type, importContext, scalarToPrimitiveMap, state) {
|
|
22
22
|
switch (type.kind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/interface.ts"],"names":[],"mappings":";;;;;;AAOA,uEAA+C;AAE/C,+BAAmC;AAEnC,mCAAiD;AAGpC,QAAA,yBAAyB,GAAG,WAAW,CAAC;AACxC,QAAA,oBAAoB,GAAG,YAAY,CAAC;AACpC,QAAA,4BAA4B,GAAG,UAAU,iCAAyB,EAAE,CAAC;AACrE,QAAA,4BAA4B,GAAG,UAAU,iCAAyB,EAAE,CAAC;AAElF,SAAS,0BAA0B,CAC/B,IAAmB,EACnB,aAA4B,EAC5B,oBAA4C;IAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAEjC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;QAC9C,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;KACzC;IAED,OAAO,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,iCAAyB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,10 @@ const interface_1 = require("./interface");
|
|
|
8
8
|
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
9
9
|
function generateMerge(importContext) {
|
|
10
10
|
return (0, deindent_1.default) `
|
|
11
|
-
export function mergeData(existingData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, newData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER})
|
|
12
|
-
return
|
|
11
|
+
export function mergeData(existingData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, newData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
|
|
12
|
+
return {
|
|
13
|
+
data: ${importContext.importTypeUtil('ObjectAssign')}(existingData["data"], newData),
|
|
14
|
+
}
|
|
13
15
|
}
|
|
14
16
|
`;
|
|
15
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/merge.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA2D;AAC3D,uEAA+C;AAG/C,SAAgB,aAAa,CAAC,aAA4B;IACtD,OAAO,IAAA,kBAAQ,EAAA;kDAC+B,wCAA4B,cAAc,wCAA4B,
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/merge.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA2D;AAC3D,uEAA+C;AAG/C,SAAgB,aAAa,CAAC,aAA4B;IACtD,OAAO,IAAA,kBAAQ,EAAA;kDAC+B,wCAA4B,cAAc,wCAA4B;;wBAEhG,aAAa,CAAC,cAAc,CAChC,cAAc,CACjB;;;KAGZ,CAAC;AACN,CAAC;AAVD,sCAUC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { InterfaceTypeDefinitionNode, ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
1
|
+
import type { GraphQLSchema, InterfaceTypeDefinitionNode, 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
|
-
export declare function
|
|
5
|
+
export declare function generateQueryTransformerForFields(graphqlDsl: LuvioGraphQLDSL, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, importContext: ImportContext): string;
|
|
6
|
+
export declare function generateQueryTransformerForQueryReturnTypes(schema: GraphQLSchema, importContext: ImportContext): string;
|
|
6
7
|
export declare function generateGetMinimumFields(isQueryType: boolean, def: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode): string;
|
|
7
8
|
export declare function generate(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: ObjectTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
|
|
@@ -3,44 +3,58 @@ 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.generate = exports.generateGetMinimumFields = exports.
|
|
6
|
+
exports.generate = exports.generateGetMinimumFields = exports.generateQueryTransformerForQueryReturnTypes = exports.generateQueryTransformerForFields = void 0;
|
|
7
7
|
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
8
|
const constants_1 = require("../../shared/constants");
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
10
|
const key_1 = require("./key");
|
|
11
11
|
const interface_1 = require("./interface");
|
|
12
12
|
const constants_2 = require("./constants");
|
|
13
|
-
function
|
|
13
|
+
function generateQueryTransformerForFields(graphqlDsl, def, importContext) {
|
|
14
14
|
const { schema } = graphqlDsl;
|
|
15
15
|
const type = schema.getType(def.name.value);
|
|
16
16
|
const fieldMap = type.getFields();
|
|
17
17
|
const fieldList = Object.keys(fieldMap);
|
|
18
18
|
const queryTransformerStatements = fieldList
|
|
19
19
|
.map((fieldName) => {
|
|
20
|
-
var _a
|
|
20
|
+
var _a;
|
|
21
21
|
const field = fieldMap[fieldName];
|
|
22
|
-
if (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
22
|
+
if (field !== undefined &&
|
|
23
|
+
field !== null &&
|
|
24
|
+
field.astNode !== undefined &&
|
|
25
|
+
field.astNode !== null) {
|
|
26
|
+
const fieldTypeName = (0, utils_1.resolveTypeName)((_a = field.astNode) === null || _a === void 0 ? void 0 : _a.type);
|
|
27
|
+
const schemaType = schema.getType(fieldTypeName);
|
|
28
|
+
if (schemaType === undefined ||
|
|
29
|
+
schemaType === null ||
|
|
30
|
+
schemaType.astNode === undefined ||
|
|
31
|
+
schemaType.astNode === null) {
|
|
32
|
+
return '';
|
|
33
|
+
}
|
|
34
|
+
// Interface or Object Type
|
|
35
|
+
if (schemaType.astNode.kind === 'InterfaceTypeDefinition' ||
|
|
36
|
+
schemaType.astNode.kind === 'ObjectTypeDefinition') {
|
|
37
|
+
const getQueryTransformerImport = importContext.importGraphQLArtifact('types', fieldTypeName, constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER);
|
|
38
|
+
const getMinimumFieldsImport = importContext.importGraphQLArtifact('types', fieldTypeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
|
|
39
|
+
return (0, deindent_1.default) `
|
|
40
|
+
if (fieldName === '${fieldName}') {
|
|
41
|
+
return {
|
|
42
|
+
${constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: ${getQueryTransformerImport},
|
|
43
|
+
${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: ${getMinimumFieldsImport}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
}
|
|
48
|
+
// Union Type
|
|
49
|
+
if (schemaType.astNode.kind === 'UnionTypeDefinition') {
|
|
50
|
+
return (0, deindent_1.default) `
|
|
51
|
+
if (fieldName === '${fieldName}') {
|
|
52
|
+
return {
|
|
53
|
+
${constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: (fieldName: string) => { return undefined },
|
|
54
|
+
${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: () => { return [] }
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
`;
|
|
44
58
|
}
|
|
45
59
|
}
|
|
46
60
|
return '';
|
|
@@ -49,14 +63,59 @@ function generateQueryTransformer(graphqlDsl, def, importContext) {
|
|
|
49
63
|
// default return when field does not have a schema defined type
|
|
50
64
|
queryTransformerStatements.push('return undefined;');
|
|
51
65
|
const eachFieldHandling = queryTransformerStatements.join('\n');
|
|
52
|
-
const queryTransformerFunctionsImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.QUERY_TRANSFORMER_IDENTIFIER);
|
|
66
|
+
const queryTransformerFunctionsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.QUERY_TRANSFORMER_IDENTIFIER);
|
|
53
67
|
return (0, deindent_1.default) `
|
|
54
|
-
export function ${constants_2.
|
|
68
|
+
export function ${constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}(fieldName: string): ${queryTransformerFunctionsImport} {
|
|
55
69
|
${eachFieldHandling}
|
|
56
70
|
}
|
|
57
71
|
`;
|
|
58
72
|
}
|
|
59
|
-
exports.
|
|
73
|
+
exports.generateQueryTransformerForFields = generateQueryTransformerForFields;
|
|
74
|
+
function generateQueryTransformerForQueryReturnTypes(schema, importContext) {
|
|
75
|
+
const queryType = schema.getQueryType();
|
|
76
|
+
if (queryType === null || queryType === undefined) {
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
// Get the list of potential query return types
|
|
80
|
+
let queryReturnTypes = Object.values(queryType.getFields()).reduce((acc, queryField) => {
|
|
81
|
+
const queryReturnTypeName = queryField.type.name;
|
|
82
|
+
return [queryReturnTypeName, ...acc];
|
|
83
|
+
}, []);
|
|
84
|
+
queryReturnTypes = [...new Set(queryReturnTypes)];
|
|
85
|
+
const queryTransformerStatements = queryReturnTypes
|
|
86
|
+
.map((typeName) => {
|
|
87
|
+
const schemaType = schema.getType(typeName);
|
|
88
|
+
if (schemaType !== undefined &&
|
|
89
|
+
schemaType !== null &&
|
|
90
|
+
schemaType.astNode !== undefined &&
|
|
91
|
+
schemaType.astNode !== null &&
|
|
92
|
+
(schemaType.astNode.kind === 'InterfaceTypeDefinition' ||
|
|
93
|
+
schemaType.astNode.kind === 'ObjectTypeDefinition')) {
|
|
94
|
+
const getQueryTransformerImport = importContext.importGraphQLArtifact('types', typeName, constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER);
|
|
95
|
+
const getMinimumFieldsImport = importContext.importGraphQLArtifact('types', typeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
|
|
96
|
+
return (0, deindent_1.default) `
|
|
97
|
+
if (typeName === '${typeName}') {
|
|
98
|
+
return {
|
|
99
|
+
${constants_2.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}: ${getQueryTransformerImport},
|
|
100
|
+
${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: ${getMinimumFieldsImport}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
`;
|
|
104
|
+
}
|
|
105
|
+
return '';
|
|
106
|
+
})
|
|
107
|
+
.filter((statement) => statement !== '');
|
|
108
|
+
// default return when type is not defined in the schema
|
|
109
|
+
queryTransformerStatements.push('return undefined;');
|
|
110
|
+
const eachTypeHandling = queryTransformerStatements.join('\n');
|
|
111
|
+
const queryTransformerFunctionsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.QUERY_TRANSFORMER_IDENTIFIER);
|
|
112
|
+
return (0, deindent_1.default) `
|
|
113
|
+
export function ${constants_2.GET_QUERY_TRANSFORMER_FOR_TYPE_IDENTIFIER}(typeName: string): ${queryTransformerFunctionsImport} {
|
|
114
|
+
${eachTypeHandling}
|
|
115
|
+
}
|
|
116
|
+
`;
|
|
117
|
+
}
|
|
118
|
+
exports.generateQueryTransformerForQueryReturnTypes = generateQueryTransformerForQueryReturnTypes;
|
|
60
119
|
function generateGetMinimumFields(isQueryType, def) {
|
|
61
120
|
const idNode = (0, key_1.findIdNode)(def);
|
|
62
121
|
const minFieldStatements = isQueryType
|
|
@@ -87,10 +146,14 @@ function generate(graphqlDsl, typeName, def, importContext, _metadata) {
|
|
|
87
146
|
var _a;
|
|
88
147
|
const { schema } = graphqlDsl;
|
|
89
148
|
const isQueryType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName;
|
|
90
|
-
const
|
|
149
|
+
const queryTransformerForFields = generateQueryTransformerForFields(graphqlDsl, def, importContext);
|
|
150
|
+
const queryTransformerForAllTypes = isQueryType
|
|
151
|
+
? generateQueryTransformerForQueryReturnTypes(schema, importContext)
|
|
152
|
+
: '';
|
|
91
153
|
const minimumFields = generateGetMinimumFields(isQueryType, def);
|
|
92
154
|
return (0, deindent_1.default) `
|
|
93
|
-
${
|
|
155
|
+
${queryTransformerForFields}
|
|
156
|
+
${queryTransformerForAllTypes}
|
|
94
157
|
${minimumFields}
|
|
95
158
|
`;
|
|
96
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/query-transformer.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/query-transformer.ts"],"names":[],"mappings":"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"}
|