@luvio/compiler 0.94.0 → 0.97.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-key-builder.js +1 -1
- package/dist/codegen/adapter/adapter-key-builder.js.map +1 -1
- package/dist/codegen/adapter/adapter-network.js +1 -1
- package/dist/codegen/adapter/adapter-network.js.map +1 -1
- package/dist/codegen/adapter/adapter-notify-change.js +2 -2
- package/dist/codegen/adapter/adapter-notify-change.js.map +1 -1
- package/dist/codegen/adapter/adapter-param-type-check.js +2 -2
- package/dist/codegen/adapter/adapter-param-type-check.js.map +1 -1
- package/dist/codegen/adapter/adapter-prepare-request.js +1 -1
- package/dist/codegen/adapter/adapter-prepare-request.js.map +1 -1
- package/dist/codegen/adapter/delete/adapter-network.js +1 -1
- 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/graphql/adapter-type-check.d.ts +5 -0
- package/dist/codegen/adapter/graphql/adapter-type-check.js +52 -0
- package/dist/codegen/adapter/graphql/adapter-type-check.js.map +1 -0
- package/dist/codegen/adapter/graphql/index.js +2 -2
- package/dist/codegen/adapter/graphql/index.js.map +1 -1
- package/dist/codegen/adapter/patch-post/adapter-network.js +1 -1
- package/dist/codegen/adapter/patch-post/adapter-network.js.map +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/index.js +2 -0
- package/dist/codegen/graphql/interface/index.js.map +1 -1
- 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/select.js +5 -5
- package/dist/codegen/graphql/interface/select.js.map +1 -1
- package/dist/codegen/graphql/interface/type-cache-keys.d.ts +5 -0
- package/dist/codegen/graphql/interface/type-cache-keys.js +36 -0
- package/dist/codegen/graphql/interface/type-cache-keys.js.map +1 -0
- 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 +4 -4
- 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 +5 -3
- package/dist/codegen/graphql/type/constants.js +6 -4
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js +70 -109
- 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 +23 -20
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/interface.js +2 -2
- package/dist/codegen/graphql/type/interface.js.map +1 -1
- package/dist/codegen/graphql/type/key.js +3 -2
- package/dist/codegen/graphql/type/key.js.map +1 -1
- package/dist/codegen/graphql/type/query-transformer.js +12 -12
- package/dist/codegen/graphql/type/query-transformer.js.map +1 -1
- package/dist/codegen/graphql/type/select.js +18 -10
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/type-cache-keys.d.ts +9 -0
- package/dist/codegen/graphql/type/type-cache-keys.js +182 -0
- package/dist/codegen/graphql/type/type-cache-keys.js.map +1 -0
- package/dist/codegen/graphql/union/index.d.ts +2 -1
- package/dist/codegen/graphql/union/index.js +8 -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/union/type-cache-keys.d.ts +5 -0
- package/dist/codegen/graphql/union/type-cache-keys.js +36 -0
- package/dist/codegen/graphql/union/type-cache-keys.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 +1 -1
- package/dist/codegen/resource/composite/ingest-success-child-resource-params.js.map +1 -1
- package/dist/codegen/resource/composite/ingest-success.js +1 -1
- package/dist/codegen/resource/composite/ingest-success.js.map +1 -1
- package/dist/codegen/resource/composite/response-child-cache-keys.js +3 -3
- package/dist/codegen/resource/composite/response-child-cache-keys.js.map +1 -1
- package/dist/codegen/resource/composite/select-child-resource-params.js +2 -2
- package/dist/codegen/resource/composite/select-child-resource-params.js.map +1 -1
- package/dist/codegen/resource/evict-success.js +1 -1
- package/dist/codegen/resource/evict-success.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/ingest-success.js +4 -2
- package/dist/codegen/resource/graphql/ingest-success.js.map +1 -1
- package/dist/codegen/resource/graphql/key-builder.js +2 -1
- package/dist/codegen/resource/graphql/key-builder.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/graphql/response-cache-keys.js +5 -3
- package/dist/codegen/resource/graphql/response-cache-keys.js.map +1 -1
- package/dist/codegen/resource/graphql/select.js +3 -1
- package/dist/codegen/resource/graphql/select.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/resource/ingest-success.js +2 -2
- package/dist/codegen/resource/ingest-success.js.map +1 -1
- package/dist/codegen/resource/key-builder.js +2 -2
- package/dist/codegen/resource/key-builder.js.map +1 -1
- package/dist/codegen/resource/response-cache-keys.js +6 -6
- package/dist/codegen/resource/response-cache-keys.js.map +1 -1
- package/dist/codegen/shape/graphql/index.js +2 -2
- package/dist/codegen/shape/graphql/index.js.map +1 -1
- package/dist/codegen/shape/graphql/key-builder.js +1 -1
- package/dist/codegen/shape/graphql/key-builder.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-cache-keys.d.ts +3 -0
- package/dist/codegen/shape/graphql/shape-cache-keys.js +59 -0
- package/dist/codegen/shape/graphql/shape-cache-keys.js.map +1 -0
- package/dist/codegen/shape/graphql/shape-ingest.js +12 -8
- package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.js +9 -6
- 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/shape/shape-cache-keys.js +6 -6
- package/dist/codegen/shape/shape-cache-keys.js.map +1 -1
- package/dist/codegen/shape/shape-keybuilder.js +10 -9
- package/dist/codegen/shape/shape-keybuilder.js.map +1 -1
- package/dist/codegen/shape/shape-utils-ingest.js +1 -1
- package/dist/codegen/shape/shape-utils-ingest.js.map +1 -1
- package/dist/codegen/shared/constants.d.ts +2 -0
- package/dist/codegen/shared/constants.js +3 -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
|
@@ -18,34 +18,34 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
18
18
|
throw new Error('Invalid GraphQL Schema. You must include a Query Type.');
|
|
19
19
|
}
|
|
20
20
|
const queryTypeName = queryType.name;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const arrayIsArrayUtilsIdentifier = importContext.importTypeUtil('ArrayIsArray');
|
|
24
|
-
// TODO: W-11246519 improve readability of the applyMinimumFields function by replacing the AST visitor with
|
|
25
|
-
// manual node traversal
|
|
21
|
+
const getQueryTransformHelperForFieldImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformHelperForField');
|
|
22
|
+
const getQueryTransformHelperForTypeImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformHelperForType');
|
|
26
23
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
27
24
|
export type ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER} = Record<string, any>;
|
|
28
25
|
export type ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER} = Record<string, ${constants_2.LUVIO_GRAPHQL_FRAGMENT_DEFINITION_NODE_IMPORT}>;
|
|
29
26
|
export interface ${constants_3.GRAPHQL_STATE_INTERFACE_IDENTIFIER}<D = unknown> {
|
|
30
27
|
data: D,
|
|
31
|
-
variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
|
|
32
|
-
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER},
|
|
33
28
|
path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER},
|
|
29
|
+
variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
|
|
30
|
+
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface ${constants_3.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER}<D> extends ${constants_3.GRAPHQL_STATE_INTERFACE_IDENTIFIER}<D> {
|
|
34
34
|
${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT},
|
|
35
35
|
${constants_2.LUVIO_STORE_IDENTIFIER}: ${constants_2.LUVIO_STORE_IMPORT},
|
|
36
36
|
${constants_3.TIMESTAMP_IDENTIFIER}: number
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
-
export interface
|
|
40
|
-
(fieldId: string): ${constants_3.
|
|
39
|
+
export interface GetQueryTransformHelperFunction {
|
|
40
|
+
(fieldId: string): ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER} | undefined;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export interface GetMinimumFieldsFunction {
|
|
44
44
|
(): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[];
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
export interface ${constants_3.
|
|
48
|
-
${constants_3.
|
|
47
|
+
export interface ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER} {
|
|
48
|
+
${constants_3.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER}: GetQueryTransformHelperFunction,
|
|
49
49
|
${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: GetMinimumFieldsFunction
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -56,7 +56,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
export function ${constants_3.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER}(argumentNodes: Readonly<${constants_2.LUVIO_GRAPHQL_ARGUMENT_NODE_IMPORT}[]>, variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER}): string {
|
|
59
|
-
const mutableArgumentNodes = Object.assign([], argumentNodes);
|
|
59
|
+
const mutableArgumentNodes = Object.assign([] as ${constants_2.LUVIO_GRAPHQL_ARGUMENT_NODE_IMPORT}[], argumentNodes);
|
|
60
60
|
return \`args__(\${mutableArgumentNodes.sort(
|
|
61
61
|
(a, b) =>{
|
|
62
62
|
const aName = a.name.value.toUpperCase()
|
|
@@ -80,7 +80,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
80
80
|
case("StringValue"):
|
|
81
81
|
return valueNode.value
|
|
82
82
|
case("ListValue"):
|
|
83
|
-
const mutableValueNodeList = Object.assign([], valueNode.values);
|
|
83
|
+
const mutableValueNodeList = Object.assign([] as any[], valueNode.values); // TODO W-11326383 fix improper type casting
|
|
84
84
|
return mutableValueNodeList.sort(
|
|
85
85
|
(a, b) =>{
|
|
86
86
|
const aName = a.name.value.toUpperCase()
|
|
@@ -92,7 +92,7 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
92
92
|
case("NullValue"):
|
|
93
93
|
return "null";
|
|
94
94
|
case("ObjectValue"):
|
|
95
|
-
const mutableFieldNodeList = Object.assign([], valueNode.fields);
|
|
95
|
+
const mutableFieldNodeList = Object.assign([] as ${constants_2.LUVIO_GRAPHQL_OBJECT_FIELD_NODE_IMPORT}[], valueNode.fields);
|
|
96
96
|
return mutableFieldNodeList.sort(
|
|
97
97
|
(a, b) =>{
|
|
98
98
|
const aName = a.name.value.toUpperCase()
|
|
@@ -105,104 +105,65 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
105
105
|
export const TTL = ${(0, utils_1.getShapeTtl)(metadata.rootTtl, (_a = graphqlResource.returnShape) === null || _a === void 0 ? void 0 : _a.id, metadata.shapeTtls)};
|
|
106
106
|
|
|
107
107
|
export function ${constants_3.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER} (query: ${constants_2.LUVIO_GRAPHQL_DOCUMENT_NODE_IMPORT}): ${constants_2.LUVIO_GRAPHQL_DOCUMENT_NODE_IMPORT} {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
},
|
|
119
|
-
},
|
|
120
|
-
Field: {
|
|
121
|
-
enter(node) {
|
|
122
|
-
if (node.selectionSet?.selections !== undefined) {
|
|
123
|
-
const { ${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER} } = queryTransformerStack[queryTransformerStack.length - 1];
|
|
124
|
-
const queryTransformer = ${constants_3.GET_QUERY_TRANSFORMER_FOR_FIELD_IDENTIFIER}(node.name.value);
|
|
125
|
-
if (queryTransformer === undefined) {
|
|
126
|
-
throw new Error("Invalid field in query '" + node.name.value
|
|
127
|
-
+ "' at line: " + node.name.loc?.startToken.line
|
|
128
|
-
+ " column: " + node.name.loc?.startToken.column);
|
|
129
|
-
}
|
|
130
|
-
queryTransformerStack.push(queryTransformer);
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
leave(node) {
|
|
134
|
-
if (node.selectionSet?.selections !== undefined) {
|
|
135
|
-
queryTransformerStack.pop();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
InlineFragment: {
|
|
140
|
-
enter(node, _key, parentFields) {
|
|
141
|
-
if (node.typeCondition !== undefined && node.typeCondition !== null) {
|
|
142
|
-
const queryTransformer = ${queryTransformerForTypeImport}(node.typeCondition.name.value)
|
|
143
|
-
if (queryTransformer === undefined) {
|
|
144
|
-
throw new Error("Invalid type in query fragment '" + node.typeCondition.name.value
|
|
145
|
-
+ "' at line: " + node.typeCondition.name.loc?.startToken.line
|
|
146
|
-
+ " column: " + node.typeCondition.name.loc?.startToken.column);
|
|
147
|
-
}
|
|
148
|
-
const { ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER} } = queryTransformer;
|
|
108
|
+
query.definitions.forEach(queryDefinitionNode => {
|
|
109
|
+
if (queryDefinitionNode.kind === 'OperationDefinition' && queryDefinitionNode.operation === 'query') {
|
|
110
|
+
injectSelectionSet(queryDefinitionNode.selectionSet, {
|
|
111
|
+
${constants_3.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER}: ${getQueryTransformHelperForFieldImport},
|
|
112
|
+
${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: () => { return [] }
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
})
|
|
116
|
+
return query;
|
|
117
|
+
}
|
|
149
118
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
119
|
+
export function injectSelectionSet (selectionSetNode: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, queryTransformHelper: ${constants_3.QUERY_TRANSFORM_HELPER_IDENTIFIER}|undefined) {
|
|
120
|
+
const { selections } = selectionSetNode;
|
|
121
|
+
if (queryTransformHelper === undefined ||
|
|
122
|
+
queryTransformHelper === null ||
|
|
123
|
+
selections === undefined ||
|
|
124
|
+
selections === null) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const { getMinimumFields, getQueryTransformHelperForField } = queryTransformHelper;
|
|
129
|
+
|
|
130
|
+
// Call the function to get the minimum fields for this node, filtering out any
|
|
131
|
+
// fields that are already present in the selection.
|
|
132
|
+
const minimumFields = getMinimumFields().filter(field => {
|
|
133
|
+
const fieldIsAlreadyPresent = selections.some(selection => {
|
|
134
|
+
return selection.kind === 'Field' && (selection.name.value === field.name.value);
|
|
135
|
+
});
|
|
136
|
+
return !fieldIsAlreadyPresent;
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
selectionSetNode.selections = [...selections, ...minimumFields];
|
|
140
|
+
|
|
141
|
+
selectionSetNode.selections.forEach(selection => {
|
|
142
|
+
if (selection.kind === 'Field' && selection.selectionSet) {
|
|
143
|
+
const fieldTransformHelper = getQueryTransformHelperForField(selection.name.value);
|
|
144
|
+
injectSelectionSet(selection.selectionSet, fieldTransformHelper);
|
|
145
|
+
}
|
|
146
|
+
if (selection.kind === 'InlineFragment' && selection.selectionSet && selection.typeCondition) {
|
|
147
|
+
// create a wrapper for the getMinimumFields function that filters
|
|
148
|
+
// out any fields already present via encapsulation in the parent fields
|
|
149
|
+
const fieldTransformHelper = ${getQueryTransformHelperForTypeImport}(selection.typeCondition.name.value);
|
|
150
|
+
if (fieldTransformHelper === undefined) {
|
|
151
|
+
return;
|
|
173
152
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
const { selections } = node;
|
|
179
|
-
if (!selections) {
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// This node is always entered after a Field node. A query transformer for this node was pushed
|
|
184
|
-
// onto the stack when that Field node was entered. The query transformer provides a function
|
|
185
|
-
// to get the minimum fields for this node.
|
|
186
|
-
const { ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER} } = queryTransformerStack[queryTransformerStack.length - 1];
|
|
187
|
-
|
|
188
|
-
// Call the function to get the minimum fields for this node, filtering out any
|
|
189
|
-
// fields that are already present in the selection.
|
|
190
|
-
const minimumFields = ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}().filter(field => {
|
|
191
|
-
const fieldIsAlreadyPresent = selections.some(selection => {
|
|
192
|
-
return selection.kind === 'Field' && (selection.name.value === field.name.value);
|
|
153
|
+
const wrappedGetMinimumFields = ():${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] => {
|
|
154
|
+
return fieldTransformHelper.getMinimumFields().filter((field) => {
|
|
155
|
+
const fieldIsAlreadyPresent = selectionSetNode.selections.some(parentField => {
|
|
156
|
+
return parentField.kind === 'Field' && parentField.name.value === field.name.value;
|
|
193
157
|
});
|
|
194
158
|
return !fieldIsAlreadyPresent;
|
|
195
159
|
});
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
},
|
|
204
|
-
};
|
|
205
|
-
return ${constants_2.LUVIO_GRAPHQL_VISIT_IMPORT}(query, visitor);
|
|
160
|
+
};
|
|
161
|
+
injectSelectionSet(selection.selectionSet, {
|
|
162
|
+
...fieldTransformHelper,
|
|
163
|
+
getMinimumFields: wrappedGetMinimumFields
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
})
|
|
206
167
|
}
|
|
207
168
|
|
|
208
169
|
export function ${constants_3.GET_REQUESTED_FIELD_IDENTIFIER}(responseDataFieldName: string, requestedFields: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[]): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} | undefined {
|
|
@@ -216,12 +177,12 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
216
177
|
}
|
|
217
178
|
|
|
218
179
|
export function ${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(typename: string, selectionSet: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, namedFragmentsMap: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] {
|
|
219
|
-
const selections = [];
|
|
180
|
+
const selections: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] = [];
|
|
220
181
|
selectionSet.selections.forEach(selection => {
|
|
221
182
|
if(selection.kind === "Field") {
|
|
222
183
|
selections.push(selection);
|
|
223
184
|
}
|
|
224
|
-
if(selection.kind === "InlineFragment" && selection.typeCondition
|
|
185
|
+
if(selection.kind === "InlineFragment" && selection.typeCondition?.name.value === typename) {
|
|
225
186
|
${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(typename, selection.selectionSet, namedFragmentsMap)
|
|
226
187
|
.forEach(fragmentFieldSelection => selections.push(fragmentFieldSelection));
|
|
227
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAExD,oCAAuC;AAGvC,uDAAmF;AACnF,
|
|
1
|
+
{"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAExD,oCAAuC;AAGvC,uDAAmF;AACnF,sDAYgC;AAChC,2CAeqB;AAErB,SAAgB,gBAAgB,CAC5B,eAAgC,EAChC,QAAgC,EAChC,aAA4B;;IAE5B,kHAAkH;IAClH,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC7E;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACrC,MAAM,qCAAqC,GAAG,aAAa,CAAC,qBAAqB,CAC7E,OAAO,EACP,aAAa,EACb,iCAAiC,CACpC,CAAC;IACF,MAAM,oCAAoC,GAAG,aAAa,CAAC,qBAAqB,CAC5E,OAAO,EACP,aAAa,EACb,gCAAgC,CACnC,CAAC;IAEF,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;2BAC5F,8CAAkC;;oBAEzC,oDAAwC;yBACnC,wCAA4B;yBAC5B,2CAA+B;;;2BAG7B,qDAAyC,eAAe,8CAAkC;cACvG,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;iCAID,6CAAiC;;;;kBAIhD,2CAA+B;;;2BAGtB,6CAAiC;cAC9C,2DAA+C;cAC/C,yCAA6B;;;0BAGjB,kCAAsB;;;;;;0BAMtB,gDAAoC,4BAA4B,8CAAkC,mBAAmB,wCAA4B;+DAC5G,8CAAkC;;;;;;;;;kDAS/C,8CAAkC,gBAAgB,wCAA4B;;;;;iDAK/E,2CAA+B,gBAAgB,wCAA4B;;;;;;;;;;;;;;;;;;;;;;uEAsBrD,kDAAsC;;;;;;;;;;6BAUhF,IAAA,mBAAW,EAC5B,QAAQ,CAAC,OAAO,EAChB,MAAA,eAAe,CAAC,WAAW,0CAAE,EAAE,EAC/B,QAAQ,CAAC,SAAS,CACrB;;0BAEiB,oDAAwC,YAAY,8CAAkC,MAAM,8CAAkC;;;;0BAI9H,2DAA+C,KAAK,qCAAqC;0BACzF,yCAA6B;;;;;;;gEAOS,mDAAuC,2BAA2B,6CAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA8BhH,oCAAoC;;;;yDAI9B,2CAA+B;;;;;;;;;;;;;;;;0BAgB9D,0CAA8B,oDAAoD,2CAA+B,QAAQ,2CAA+B;;;;0BAIxJ,mDAAuC,WAAW,2CAA+B,gBAAgB,wCAA4B;;qGAElD,gDAAoC;;;;0BAI/G,oDAAwC,oCAAoC,mDAAuC,wBAAwB,2CAA+B,MAAM,2CAA+B;gCACzM,2CAA+B;;;;;;sBAMzC,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AA3MD,4CA2MC"}
|
|
@@ -13,6 +13,7 @@ const merge_1 = require("./merge");
|
|
|
13
13
|
const imports_1 = require("../../../utils/imports");
|
|
14
14
|
const select_1 = require("./select");
|
|
15
15
|
const query_transformer_1 = require("./query-transformer");
|
|
16
|
+
const type_cache_keys_1 = require("./type-cache-keys");
|
|
16
17
|
function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo) {
|
|
17
18
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
18
19
|
export const name = '${graphqlTypeName}';
|
|
@@ -23,6 +24,7 @@ function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata,
|
|
|
23
24
|
${(0, ingest_1.generateIngest)(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo)}
|
|
24
25
|
${(0, select_1.generateSelect)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
25
26
|
${(0, query_transformer_1.generate)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
27
|
+
${(0, type_cache_keys_1.generateGetTypeCacheKeys)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
26
28
|
`);
|
|
27
29
|
}
|
|
28
30
|
exports.generateType = generateType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,mCAAwC;AACxC,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,mCAAwC;AACxC,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAE3E,uDAA6D;AAE7D,SAAgB,YAAY,CACxB,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,QAAgC,EAChC,SAAoB;IAEpB,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,eAAe;UACpC,IAAA,iBAAW,EAAC,UAAU,EAAE,eAAe,CAAC;UACxC,IAAA,8BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC7E,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC;UACtD,IAAA,qBAAa,EAAC,aAAa,CAAC;UAC5B,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;UACpF,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzE,IAAA,4BAAwB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACnF,IAAA,0CAAwB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACxF,CAAC,CAAC;AACP,CAAC;AAnBD,oCAmBC"}
|
|
@@ -20,7 +20,8 @@ function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
|
|
|
20
20
|
if (isScalar) {
|
|
21
21
|
return generateIngestScalarField(fieldName);
|
|
22
22
|
}
|
|
23
|
-
const typeNameIngestImport = importGraphQLArtifact(graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
23
|
+
const typeNameIngestImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
24
|
+
// TODO W-11326654 firm up type casting for fieldStateIdentifier in generated code
|
|
24
25
|
const fieldStateIdentifier = `${fieldName}State`;
|
|
25
26
|
return (0, deindent_1.default) `
|
|
26
27
|
case '${fieldName}': {
|
|
@@ -35,7 +36,7 @@ function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
|
|
|
35
36
|
};
|
|
36
37
|
dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${typeNameIngestImport}(
|
|
37
38
|
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
38
|
-
${fieldStateIdentifier}
|
|
39
|
+
${fieldStateIdentifier} as any
|
|
39
40
|
) as any;
|
|
40
41
|
break;
|
|
41
42
|
}
|
|
@@ -49,18 +50,19 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
|
|
|
49
50
|
const fullPathIdentifier = `fullPath__${fieldName}`;
|
|
50
51
|
const typeDefinition = normalizableTypeMap[graphqlTypeName];
|
|
51
52
|
const collectionIdentifier = `${fieldName}__items`;
|
|
52
|
-
const dataIdentifier = `data[${constants_2.FIELD_KEY_IDENTIFIER}]`;
|
|
53
53
|
// Non-normalizable types
|
|
54
54
|
if (typeDefinition === undefined) {
|
|
55
55
|
return generateIngestScalarField(fieldName);
|
|
56
56
|
}
|
|
57
|
-
const typeNameIngestImport = importGraphQLArtifact(graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
57
|
+
const typeNameIngestImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
58
|
+
// TODO W-11326654 firm up type casting for itemState in generated code
|
|
59
|
+
// and handle case where ingest returns undefined
|
|
58
60
|
return (0, deindent_1.default) `
|
|
59
61
|
case '${fieldName}': {
|
|
60
62
|
const ${collectionIdentifier}: ${constants_1.LUVIO_STORE_LINK_IMPORT}[] = [];
|
|
61
63
|
const ${fullPathIdentifier} = \`\${key}__\${${constants_2.FIELD_KEY_IDENTIFIER}}\`;
|
|
62
|
-
for(let i = 0, len = ${
|
|
63
|
-
const item = ${
|
|
64
|
+
for(let i = 0, len = ${constants_2.FIELD_DATA_IDENTIFIER}.length; i < len; i++) {
|
|
65
|
+
const item = ${constants_2.FIELD_DATA_IDENTIFIER}[i];
|
|
64
66
|
|
|
65
67
|
const itemState = {
|
|
66
68
|
...state,
|
|
@@ -73,8 +75,8 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
|
|
|
73
75
|
};
|
|
74
76
|
${collectionIdentifier}[i] = ${typeNameIngestImport}(
|
|
75
77
|
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
76
|
-
itemState
|
|
77
|
-
)
|
|
78
|
+
itemState as any
|
|
79
|
+
) || {} as ${constants_1.LUVIO_STORE_LINK_IMPORT};
|
|
78
80
|
}
|
|
79
81
|
dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${collectionIdentifier};
|
|
80
82
|
break;
|
|
@@ -126,7 +128,7 @@ function generateObjectTypeIngest(graphqlDsl, graphqlTypeName, importContext, de
|
|
|
126
128
|
return ingestStatements.join('\n');
|
|
127
129
|
}
|
|
128
130
|
function getRequestedFieldsStatement(importContext) {
|
|
129
|
-
const getRequestedFieldsImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER);
|
|
131
|
+
const getRequestedFieldsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER);
|
|
130
132
|
return (0, deindent_1.default) `
|
|
131
133
|
const ${REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] =
|
|
132
134
|
astNode && astNode.selectionSet ?
|
|
@@ -135,8 +137,8 @@ function getRequestedFieldsStatement(importContext) {
|
|
|
135
137
|
`;
|
|
136
138
|
}
|
|
137
139
|
function iterateThroughResponseKeys(importContext, individualFieldIngestBlock) {
|
|
138
|
-
const getRequestedFieldImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
|
|
139
|
-
const getFieldKeyImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
140
|
+
const getRequestedFieldImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
|
|
141
|
+
const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
140
142
|
return (0, deindent_1.default) `
|
|
141
143
|
for(const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)){
|
|
142
144
|
const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
|
|
@@ -166,6 +168,7 @@ function generateRamlIngestDelegation(graphqlDsl, graphqlTypeName, importContext
|
|
|
166
168
|
return '';
|
|
167
169
|
}
|
|
168
170
|
const ramlIngest = importRamlArtifact(ramlTypeId, constants_2.TYPE_INGEST_IDENTIFIER);
|
|
171
|
+
const ramlInterface = importRamlArtifact(ramlTypeId, ramlTypeName);
|
|
169
172
|
// get RAML mapping
|
|
170
173
|
const graphqlFields = (0, types_1.getObjectFields)(def);
|
|
171
174
|
const ramlIngestStatements = graphqlFields
|
|
@@ -188,7 +191,7 @@ function generateRamlIngestDelegation(graphqlDsl, graphqlTypeName, importContext
|
|
|
188
191
|
return (0, deindent_1.default) `
|
|
189
192
|
export function convertGraphQLToRaml (state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
|
|
190
193
|
const { path, data, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
|
|
191
|
-
const ramlSink = {};
|
|
194
|
+
const ramlSink: Partial<${ramlInterface}> = {};
|
|
192
195
|
const responseKeys = Object.keys(data);
|
|
193
196
|
for (const responseKey of responseKeys) {
|
|
194
197
|
${ramlIngestStatements.join('\n')}
|
|
@@ -208,12 +211,12 @@ function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
208
211
|
const { schema, typeNameToExtensions } = graphqlDsl;
|
|
209
212
|
const { importGraphQLArtifact, importAdapterUtil } = importContext;
|
|
210
213
|
const normalizableTypeMap = (0, utils_1.getNormalizableTypeMap)(schema);
|
|
211
|
-
const createLink = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
|
|
212
|
-
const graphqlStateInterface = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.
|
|
214
|
+
const createLink = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.CREATE_LINK_IDENTIFIER);
|
|
215
|
+
const graphqlStateInterface = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER);
|
|
213
216
|
const keyPrefix = importAdapterUtil('keyPrefix');
|
|
214
217
|
const ttl = (0, utils_2.isTypeExtensionDefined)(typeNameToExtensions, graphqlTypeName, 'ttl')
|
|
215
218
|
? 'TTL'
|
|
216
|
-
: importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, 'TTL');
|
|
219
|
+
: importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, 'TTL');
|
|
217
220
|
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === graphqlTypeName
|
|
218
221
|
? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
219
222
|
: constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
@@ -225,17 +228,17 @@ function generateIngest(graphqlDsl, graphqlTypeName, def, importContext, _metada
|
|
|
225
228
|
export function ingest(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
|
|
226
229
|
const { path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER}, ${constants_2.TIMESTAMP_IDENTIFIER} } = state;
|
|
227
230
|
const data = state.data;
|
|
228
|
-
const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(path, data);
|
|
229
|
-
const dataSink =
|
|
231
|
+
const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}, path, data);
|
|
232
|
+
const dataSink: Record<string,any> = {};
|
|
230
233
|
|
|
231
234
|
// normalize fields
|
|
232
235
|
${generateObjectTypeIngest(graphqlDsl, graphqlTypeName, importContext, def, normalizableTypeMap)}
|
|
233
236
|
|
|
234
237
|
// merge existing cache data and new request response data
|
|
235
|
-
let mergedData
|
|
238
|
+
let mergedData: Record<string,any>;
|
|
236
239
|
const existingData = ${constants_1.LUVIO_STORE_IDENTIFIER}.readEntry<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>(key);
|
|
237
|
-
if (existingData !== undefined && existingData.__type !== "error") {
|
|
238
|
-
mergedData = mergeData(existingData as
|
|
240
|
+
if (existingData !== undefined && existingData !== null && existingData.__type !== "error") {
|
|
241
|
+
mergedData = mergeData(existingData as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, dataSink as ${interface_1.PARTIAL_INTERFACE_IDENTIFIER});
|
|
239
242
|
}
|
|
240
243
|
else {
|
|
241
244
|
mergedData = {data: dataSink};
|
|
@@ -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,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,
|
|
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,kFAAkF;IAClF,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;AAzCD,0CAyCC;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,uEAAuE;IACvE,iDAAiD;IACjD,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;;6BAEnB,mCAAuB;;uBAE7B,gCAAoB,OAAO,oBAAoB;;;KAGjE,CAAC;AACN,CAAC;AAnDD,wCAmDC;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;IAC1E,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEnE,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;sCAChE,aAAa;;;kBAGjC,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,qDAAyC,CAC5C,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,IAAI,4BAAgB;;;;cAItD,wBAAwB,CACtB,UAAU,EACV,eAAe,EACf,aAAa,EACb,GAAG,EACH,mBAAmB,CACtB;;;;mCAIsB,kCAAsB,cAAc,wCAA4B;;yDAE1C,wCAA4B,iBAAiB,wCAA4B;;;;;;cAOlH,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) {
|
|
@@ -36,7 +36,7 @@ function generateTypeReference(type, importContext, scalarToPrimitiveMap, state)
|
|
|
36
36
|
base = `${base}[]`;
|
|
37
37
|
}
|
|
38
38
|
if (state.required === false) {
|
|
39
|
-
base = `${base} |
|
|
39
|
+
base = `${base} | undefined`;
|
|
40
40
|
}
|
|
41
41
|
return base;
|
|
42
42
|
}
|
|
@@ -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,6 +8,7 @@ const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
|
8
8
|
const constants_1 = require("../../adapter/constants");
|
|
9
9
|
const shape_keybuilder_1 = require("../../shape/shape-keybuilder");
|
|
10
10
|
const interface_1 = require("./interface");
|
|
11
|
+
const constants_2 = require("../../shared/constants");
|
|
11
12
|
function findIdNode(def) {
|
|
12
13
|
if (!('fields' in def)) {
|
|
13
14
|
return undefined;
|
|
@@ -28,7 +29,7 @@ function generateKey(def, importContext, schemaName) {
|
|
|
28
29
|
const idNode = findIdNode(def);
|
|
29
30
|
if (idNode === undefined) {
|
|
30
31
|
return (0, deindent_1.default) `
|
|
31
|
-
export function ${shape_keybuilder_1.SHAPE_KEY_BUILDER_IDENTIFIER}(path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
|
|
32
|
+
export function ${shape_keybuilder_1.SHAPE_KEY_BUILDER_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
|
|
32
33
|
return path.fullPath;
|
|
33
34
|
}
|
|
34
35
|
`;
|
|
@@ -36,7 +37,7 @@ function generateKey(def, importContext, schemaName) {
|
|
|
36
37
|
const { name } = idNode;
|
|
37
38
|
const KEY_PREFIX = importContext.importAdapterUtil('keyPrefix');
|
|
38
39
|
return (0, deindent_1.default) `
|
|
39
|
-
export function ${shape_keybuilder_1.SHAPE_KEY_BUILDER_IDENTIFIER}(path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
|
|
40
|
+
export function ${shape_keybuilder_1.SHAPE_KEY_BUILDER_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER}, data: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}) {
|
|
40
41
|
return ${KEY_PREFIX} + '::${schemaName}::' + name + '::' + data.${name.value};
|
|
41
42
|
}
|
|
42
43
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/key.ts"],"names":[],"mappings":";;;;;;AAKA,uEAA+C;AAE/C,uDAAmF;AACnF,mEAA4E;AAC5E,2CAA2D;
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/key.ts"],"names":[],"mappings":";;;;;;AAKA,uEAA+C;AAE/C,uDAAmF;AACnF,mEAA4E;AAC5E,2CAA2D;AAC3D,sDAAwE;AAExE,SAAgB,UAAU,CACtB,GAA2D;IAE3D,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE;QACpB,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACvB,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,SAAS,CAAC;KACpB;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,OAAO,CACH,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CACtC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAlBD,gCAkBC;AAED,SAAgB,WAAW,CACvB,GAA2D,EAC3D,aAA4B,EAC5B,UAAkB;IAElB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,IAAA,kBAAQ,EAAA;8BACO,+CAA4B,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B;;;SAGhL,CAAC;KACL;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,IAAA,kBAAQ,EAAA;0BACO,+CAA4B,IAAI,4BAAgB,KAAK,wBAAY,WAAW,oDAAwC,WAAW,wCAA4B;qBAChK,UAAU,SAAS,UAAU,4BAA4B,IAAI,CAAC,KAAK;;KAEnF,CAAC;AACN,CAAC;AAtBD,kCAsBC"}
|
|
@@ -34,12 +34,12 @@ function generateQueryTransformerForFields(graphqlDsl, def, importContext) {
|
|
|
34
34
|
// Interface or Object Type
|
|
35
35
|
if (schemaType.astNode.kind === 'InterfaceTypeDefinition' ||
|
|
36
36
|
schemaType.astNode.kind === 'ObjectTypeDefinition') {
|
|
37
|
-
const
|
|
38
|
-
const getMinimumFieldsImport = importContext.importGraphQLArtifact(fieldTypeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
|
|
37
|
+
const getQueryTransformHelperImport = importContext.importGraphQLArtifact('types', fieldTypeName, constants_2.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER);
|
|
38
|
+
const getMinimumFieldsImport = importContext.importGraphQLArtifact('types', fieldTypeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
|
|
39
39
|
return (0, deindent_1.default) `
|
|
40
40
|
if (fieldName === '${fieldName}') {
|
|
41
41
|
return {
|
|
42
|
-
${constants_2.
|
|
42
|
+
${constants_2.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER}: ${getQueryTransformHelperImport},
|
|
43
43
|
${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: ${getMinimumFieldsImport}
|
|
44
44
|
};
|
|
45
45
|
}
|
|
@@ -50,7 +50,7 @@ function generateQueryTransformerForFields(graphqlDsl, def, importContext) {
|
|
|
50
50
|
return (0, deindent_1.default) `
|
|
51
51
|
if (fieldName === '${fieldName}') {
|
|
52
52
|
return {
|
|
53
|
-
${constants_2.
|
|
53
|
+
${constants_2.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER}: (fieldName: string) => { return undefined },
|
|
54
54
|
${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: () => { return [] }
|
|
55
55
|
};
|
|
56
56
|
}
|
|
@@ -63,9 +63,9 @@ function generateQueryTransformerForFields(graphqlDsl, def, importContext) {
|
|
|
63
63
|
// default return when field does not have a schema defined type
|
|
64
64
|
queryTransformerStatements.push('return undefined;');
|
|
65
65
|
const eachFieldHandling = queryTransformerStatements.join('\n');
|
|
66
|
-
const queryTransformerFunctionsImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.
|
|
66
|
+
const queryTransformerFunctionsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.QUERY_TRANSFORM_HELPER_IDENTIFIER);
|
|
67
67
|
return (0, deindent_1.default) `
|
|
68
|
-
export function ${constants_2.
|
|
68
|
+
export function ${constants_2.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER}(fieldName: string): ${queryTransformerFunctionsImport} | undefined {
|
|
69
69
|
${eachFieldHandling}
|
|
70
70
|
}
|
|
71
71
|
`;
|
|
@@ -91,12 +91,12 @@ function generateQueryTransformerForQueryReturnTypes(schema, importContext) {
|
|
|
91
91
|
schemaType.astNode !== null &&
|
|
92
92
|
(schemaType.astNode.kind === 'InterfaceTypeDefinition' ||
|
|
93
93
|
schemaType.astNode.kind === 'ObjectTypeDefinition')) {
|
|
94
|
-
const getQueryTransformerImport = importContext.importGraphQLArtifact(typeName, constants_2.
|
|
95
|
-
const getMinimumFieldsImport = importContext.importGraphQLArtifact(typeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
|
|
94
|
+
const getQueryTransformerImport = importContext.importGraphQLArtifact('types', typeName, constants_2.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER);
|
|
95
|
+
const getMinimumFieldsImport = importContext.importGraphQLArtifact('types', typeName, constants_2.GET_MINIMUM_FIELDS_IDENTIFIER);
|
|
96
96
|
return (0, deindent_1.default) `
|
|
97
97
|
if (typeName === '${typeName}') {
|
|
98
98
|
return {
|
|
99
|
-
${constants_2.
|
|
99
|
+
${constants_2.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER}: ${getQueryTransformerImport},
|
|
100
100
|
${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}: ${getMinimumFieldsImport}
|
|
101
101
|
};
|
|
102
102
|
}
|
|
@@ -108,9 +108,9 @@ function generateQueryTransformerForQueryReturnTypes(schema, importContext) {
|
|
|
108
108
|
// default return when type is not defined in the schema
|
|
109
109
|
queryTransformerStatements.push('return undefined;');
|
|
110
110
|
const eachTypeHandling = queryTransformerStatements.join('\n');
|
|
111
|
-
const queryTransformerFunctionsImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.
|
|
111
|
+
const queryTransformerFunctionsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.QUERY_TRANSFORM_HELPER_IDENTIFIER);
|
|
112
112
|
return (0, deindent_1.default) `
|
|
113
|
-
export function ${constants_2.
|
|
113
|
+
export function ${constants_2.GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER}(typeName: string): ${queryTransformerFunctionsImport} | undefined {
|
|
114
114
|
${eachTypeHandling}
|
|
115
115
|
}
|
|
116
116
|
`;
|
|
@@ -135,7 +135,7 @@ function generateGetMinimumFields(isQueryType, def) {
|
|
|
135
135
|
.join('\n');
|
|
136
136
|
return (0, deindent_1.default) `
|
|
137
137
|
export function ${constants_2.GET_MINIMUM_FIELDS_IDENTIFIER}(): ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] {
|
|
138
|
-
const minimumFields = [];
|
|
138
|
+
const minimumFields: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] = [];
|
|
139
139
|
${minFieldStatements}
|
|
140
140
|
return minimumFields;
|
|
141
141
|
}
|