@luvio/compiler 0.103.0 → 0.105.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen/adapter/adapter-network.d.ts +1 -1
- package/dist/codegen/adapter/adapter-network.js +2 -5
- package/dist/codegen/adapter/adapter-network.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-network.d.ts +5 -0
- package/dist/codegen/adapter/graphql/adapter-network.js +72 -0
- package/dist/codegen/adapter/graphql/adapter-network.js.map +1 -0
- package/dist/codegen/adapter/graphql/index.js +2 -5
- package/dist/codegen/adapter/graphql/index.js.map +1 -1
- package/dist/codegen/graphql/type/constants.d.ts +6 -0
- package/dist/codegen/graphql/type/constants.js +7 -1
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/convert.js +4 -13
- package/dist/codegen/graphql/type/convert.js.map +1 -1
- package/dist/codegen/graphql/type/fragment-matcher.d.ts +5 -0
- package/dist/codegen/graphql/type/fragment-matcher.js +24 -0
- package/dist/codegen/graphql/type/fragment-matcher.js.map +1 -0
- package/dist/codegen/graphql/type/generateTypeUtil.js +31 -7
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/index.js +2 -0
- package/dist/codegen/graphql/type/index.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.js +105 -20
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/select.js +9 -7
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/type-cache-keys.js +4 -13
- package/dist/codegen/graphql/type/type-cache-keys.js.map +1 -1
- package/dist/codegen/graphql/type/utils.d.ts +2 -0
- package/dist/codegen/graphql/type/utils.js +15 -1
- package/dist/codegen/graphql/type/utils.js.map +1 -1
- package/dist/codegen/pagination-utils/constants.d.ts +5 -0
- package/dist/codegen/pagination-utils/constants.js +6 -1
- package/dist/codegen/pagination-utils/constants.js.map +1 -1
- package/dist/codegen/pagination-utils/cursor-based.d.ts +0 -1
- package/dist/codegen/pagination-utils/cursor-based.js +42 -9
- package/dist/codegen/pagination-utils/cursor-based.js.map +1 -1
- package/dist/codegen/pagination-utils/synthetic-cursor.js +8 -7
- package/dist/codegen/pagination-utils/synthetic-cursor.js.map +1 -1
- package/dist/codegen/shape/constants.d.ts +3 -0
- package/dist/codegen/shape/constants.js +4 -1
- package/dist/codegen/shape/constants.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.js +0 -3
- package/dist/codegen/shape/graphql/shape-select.js.map +1 -1
- package/dist/codegen/shape/shape-ingest-paginated.d.ts +5 -0
- package/dist/codegen/shape/shape-ingest-paginated.js +54 -54
- package/dist/codegen/shape/shape-ingest-paginated.js.map +1 -1
- package/dist/codegen/shape/shape-utils.js +3 -2
- package/dist/codegen/shape/shape-utils.js.map +1 -1
- package/dist/codegen/shared/constants.d.ts +1 -0
- package/dist/codegen/shared/constants.js +2 -1
- package/dist/codegen/shared/constants.js.map +1 -1
- package/package.json +4 -4
|
@@ -2,4 +2,4 @@ import type { AdapterAnnotation } from '../../intermediate/adapter-annotation';
|
|
|
2
2
|
import type { ModelInfo } from '../../intermediate/model-info';
|
|
3
3
|
import type { Resource } from '../../intermediate/resource';
|
|
4
4
|
import type { ImportContext } from '../../utils/imports';
|
|
5
|
-
export declare function generateNetworkFunction(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource, modelInfo: ModelInfo
|
|
5
|
+
export declare function generateNetworkFunction(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource, modelInfo: ModelInfo): string;
|
|
@@ -12,7 +12,7 @@ const constants_2 = require("../shared/constants");
|
|
|
12
12
|
const util_1 = require("./util");
|
|
13
13
|
const adapter_prepare_request_1 = require("./adapter-prepare-request");
|
|
14
14
|
const shape_1 = require("../../utils/shape");
|
|
15
|
-
function generateNetworkFunction(context, adapterAnnotation, resource, modelInfo
|
|
15
|
+
function generateNetworkFunction(context, adapterAnnotation, resource, modelInfo) {
|
|
16
16
|
const { id: resourceId, returnShape } = resource;
|
|
17
17
|
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
18
18
|
const { importRamlArtifact } = context;
|
|
@@ -36,14 +36,11 @@ function generateNetworkFunction(context, adapterAnnotation, resource, modelInfo
|
|
|
36
36
|
const buildRequestStatement = usePrepareRequest(resource, modelInfo) === true
|
|
37
37
|
? `const ${constants_1.ADAPTER_REQUEST_IDENTIFIER} = ${adapter_prepare_request_1.PREPARE_REQUEST_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_CACHE_SNAPSHOT_IDENTIFIER});`
|
|
38
38
|
: `const ${constants_1.ADAPTER_REQUEST_IDENTIFIER} = ${createResourceRequestIdentifier}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER});`;
|
|
39
|
-
const buildResourceParamsStatement = transformConfigurationIdentifier
|
|
40
|
-
? `const ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER} = ${createResourceParamsIdentifier}(${transformConfigurationIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}));`
|
|
41
|
-
: `const ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER} = ${createResourceParamsIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER});`;
|
|
42
39
|
return (0, deindent_1.default) `
|
|
43
40
|
export function ${constants_1.ADAPTER_BUILD_NETWORK_SNAPSHOT}(
|
|
44
41
|
${buildNetworkSnapshotParams.join(',\n')}
|
|
45
42
|
) : Promise<${snapshotTypeDefinition}> {
|
|
46
|
-
${
|
|
43
|
+
const ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER} = ${createResourceParamsIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER});
|
|
47
44
|
${buildRequestStatement}
|
|
48
45
|
return ${constants_2.LUVIO_IDENTIFIER}.dispatchResourceRequest<${resourceTypeIdentifier}>(${constants_1.ADAPTER_REQUEST_IDENTIFIER}, ${constants_1.ADAPTER_DISPATCH_OPTIONS_IDENTIFIER})
|
|
49
46
|
.then((${constants_1.ADAPTER_RESPONSE_IDENTIFIER}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-network.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAK5C,iFAAyF;AACzF,yEAAqF;AACrF,2CAiBqB;AACrB,mDAAqE;AACrE,iCAAuE;AAEvE,uEAAuE;AACvE,6CAAgD;AAEhD,SAAgB,uBAAuB,CACnC,OAAsB,EACtB,iBAAoC,EACpC,QAAkB,EAClB,SAAoB
|
|
1
|
+
{"version":3,"file":"adapter-network.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AdapterAnnotation } from '../../../intermediate/adapter-annotation';
|
|
2
|
+
import type { ModelInfo } from '../../../intermediate/model-info';
|
|
3
|
+
import type { Resource } from '../../../intermediate/resource';
|
|
4
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
5
|
+
export declare function generateNetworkFunction(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource, modelInfo: ModelInfo): string;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateNetworkFunction = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const create_resource_request_1 = require("../../resource/create-resource-request");
|
|
9
|
+
const response_cache_keys_1 = require("../../resource/response-cache-keys");
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
|
+
const constants_2 = require("../../shared/constants");
|
|
12
|
+
const util_1 = require("../util");
|
|
13
|
+
const adapter_prepare_request_1 = require("../adapter-prepare-request");
|
|
14
|
+
const shape_1 = require("../../../utils/shape");
|
|
15
|
+
function generateNetworkFunction(context, adapterAnnotation, resource, modelInfo) {
|
|
16
|
+
const { id: resourceId, returnShape } = resource;
|
|
17
|
+
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
18
|
+
const { importRamlArtifact } = context;
|
|
19
|
+
const returnShapeName = returnShape.name;
|
|
20
|
+
const resourceTypeIdentifier = importRamlArtifact(returnShape.id, returnShapeName);
|
|
21
|
+
const configInterfaceIdentifier = importRamlArtifact(adapterId, (0, util_1.buildConfigInterfaceName)(adapterName));
|
|
22
|
+
const snapshotTypeDefinition = `${constants_1.ADAPTER_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, any>`;
|
|
23
|
+
const createResourceRequestIdentifier = importRamlArtifact(resourceId, create_resource_request_1.CREATE_RESOURCE_REQUEST_IDENTIFIER);
|
|
24
|
+
const createResourceParamsIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_CREATE_RESOURCE_PARAMS_IDENTIFIER);
|
|
25
|
+
const requestResponseSuccessIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_ON_FETCH_RESPONSE_SUCCESS);
|
|
26
|
+
const requestResponseErrorIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_ON_FETCH_RESPONSE_ERROR);
|
|
27
|
+
const resourceCacheKeysIdentifier = importRamlArtifact(resourceId, response_cache_keys_1.GET_RESPONSE_CACHE_KEYS_IDENTIFIER);
|
|
28
|
+
const buildNetworkSnapshotParams = [
|
|
29
|
+
`${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}`,
|
|
30
|
+
`${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}`,
|
|
31
|
+
`${constants_1.ADAPTER_DISPATCH_OPTIONS_IDENTIFIER}?: ${constants_1.ADAPTER_DISPATCH_RESOURCE_REQUEST_CONTEXT_IMPORT}`,
|
|
32
|
+
];
|
|
33
|
+
if ((0, util_1.isPaginatedResource)(resource)) {
|
|
34
|
+
buildNetworkSnapshotParams.push(`${constants_1.ADAPTER_CACHE_SNAPSHOT_IDENTIFIER}?: ${constants_1.ADAPTER_UNFULFILLED_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}>`);
|
|
35
|
+
}
|
|
36
|
+
const buildRequestStatement = usePrepareRequest(resource, modelInfo) === true
|
|
37
|
+
? `const ${constants_1.ADAPTER_REQUEST_IDENTIFIER} = ${adapter_prepare_request_1.PREPARE_REQUEST_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_CACHE_SNAPSHOT_IDENTIFIER});`
|
|
38
|
+
: `const ${constants_1.ADAPTER_REQUEST_IDENTIFIER} = ${createResourceRequestIdentifier}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER});`;
|
|
39
|
+
const transformConfigurationIdentifier = context.importRamlArtifact(adapterId, constants_1.ADAPTER_TRASNFORM_CONFIGURATION_IDENTIFIER);
|
|
40
|
+
return (0, deindent_1.default) `
|
|
41
|
+
export function ${constants_1.ADAPTER_BUILD_NETWORK_SNAPSHOT}(
|
|
42
|
+
${buildNetworkSnapshotParams.join(',\n')}
|
|
43
|
+
) : Promise<${snapshotTypeDefinition}> {
|
|
44
|
+
const ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER} = ${createResourceParamsIdentifier}(${transformConfigurationIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}));
|
|
45
|
+
${buildRequestStatement}
|
|
46
|
+
return ${constants_2.LUVIO_IDENTIFIER}.dispatchResourceRequest<${resourceTypeIdentifier}>(${constants_1.ADAPTER_REQUEST_IDENTIFIER}, ${constants_1.ADAPTER_DISPATCH_OPTIONS_IDENTIFIER})
|
|
47
|
+
.then((${constants_1.ADAPTER_RESPONSE_IDENTIFIER}) => {
|
|
48
|
+
const graphqlErrors = ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}?.body?.errors;
|
|
49
|
+
if((graphqlErrors || []).length === 0){
|
|
50
|
+
return ${constants_1.ADAPTER_RESPONSE_IDENTIFIER};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return Promise.reject({ errorType: 'adapterError', error: ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}?.body?.errors })
|
|
54
|
+
})
|
|
55
|
+
.then((${constants_1.ADAPTER_RESPONSE_IDENTIFIER}) => {
|
|
56
|
+
return ${constants_2.LUVIO_IDENTIFIER}.${constants_1.ADAPTER_HANDLE_SUCCESS_RESPONSE}(() => ${requestResponseSuccessIdentifier}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}), () => ${resourceCacheKeysIdentifier}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}.body));
|
|
57
|
+
})
|
|
58
|
+
.catch((${constants_1.ADAPTER_RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_ERROR_RESPONSE_INTERFACE_IDENTIFIER}) => {
|
|
59
|
+
return ${constants_2.LUVIO_IDENTIFIER}.${constants_1.ADAPTER_HANDLE_ERROR_RESPONSE}(() => ${requestResponseErrorIdentifier}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
exports.generateNetworkFunction = generateNetworkFunction;
|
|
65
|
+
function usePrepareRequest(resource, modelInfo) {
|
|
66
|
+
if ((0, util_1.isPaginatedResource)(resource) === false) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
// prepareRequest is only generated when the root type is paginated
|
|
70
|
+
return (0, shape_1.isPaginated)(resource.returnShape.id, modelInfo);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=adapter-network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-network.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-network.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const adapter_fragment_1 = require("./adapter-fragment");
|
|
|
10
10
|
const adapter_key_builder_1 = require("../adapter-key-builder");
|
|
11
11
|
const adapter_memory_cache_policy_1 = require("../adapter-memory-cache-policy");
|
|
12
12
|
const adapter_name_1 = require("../adapter-name");
|
|
13
|
-
const adapter_network_1 = require("
|
|
13
|
+
const adapter_network_1 = require("./adapter-network");
|
|
14
14
|
const adapter_network_cache_policy_1 = require("../adapter-network-cache-policy");
|
|
15
15
|
const adapter_notify_change_1 = require("../adapter-notify-change");
|
|
16
16
|
const adapter_one_of_params_1 = require("../adapter-one-of-params");
|
|
@@ -22,13 +22,10 @@ const adapter_prepare_request_1 = require("../adapter-prepare-request");
|
|
|
22
22
|
const adapter_config_interface_1 = require("./adapter-config-interface");
|
|
23
23
|
const adapter_config_transformer_1 = require("./adapter-config-transformer");
|
|
24
24
|
const index_1 = require("../index");
|
|
25
|
-
const constants_1 = require("../constants");
|
|
26
25
|
const adapter_type_check_1 = require("./adapter-type-check");
|
|
27
26
|
function generateGraphQLAdapter(resource, typescriptFilePath, compilerBaseOutputDir, adapterAnnotation, modelInfo, plugin) {
|
|
28
27
|
const configParamInfos = (0, index_1.buildConfigParamInfos)(resource);
|
|
29
28
|
const importContext = (0, imports_1.createImportContext)(typescriptFilePath, compilerBaseOutputDir, plugin);
|
|
30
|
-
const { id: adapterId } = adapterAnnotation;
|
|
31
|
-
const transformConfigurationIdentifier = importContext.importRamlArtifact(adapterId, constants_1.ADAPTER_TRASNFORM_CONFIGURATION_IDENTIFIER);
|
|
32
29
|
const code = [
|
|
33
30
|
(0, adapter_name_1.generateAdapterNameExport)(adapterAnnotation.name),
|
|
34
31
|
(0, adapter_one_of_params_1.generateAdapterOneOfParams)(adapterAnnotation),
|
|
@@ -44,7 +41,7 @@ function generateGraphQLAdapter(resource, typescriptFilePath, compilerBaseOutput
|
|
|
44
41
|
(0, adapter_resource_success_1.generateResourceSuccess)(importContext, adapterAnnotation, resource),
|
|
45
42
|
(0, adapter_resource_error_1.generateResourceError)(importContext, adapterAnnotation, resource),
|
|
46
43
|
(0, adapter_prepare_request_1.generatePrepareRequest)(importContext, adapterAnnotation, resource, modelInfo),
|
|
47
|
-
(0, adapter_network_1.generateNetworkFunction)(importContext, adapterAnnotation, resource, modelInfo
|
|
44
|
+
(0, adapter_network_1.generateNetworkFunction)(importContext, adapterAnnotation, resource, modelInfo),
|
|
48
45
|
(0, adapter_build_snapshot_context_1.generateBuildSnapshotContext)(importContext, adapterAnnotation, resource),
|
|
49
46
|
(0, adapter_network_cache_policy_1.generateNetworkSnapshotFunctionCachePolicy)(importContext, adapterAnnotation, resource),
|
|
50
47
|
(0, adapter_memory_cache_policy_1.generateMemorySnapshotFunctionCachePolicy)(importContext, adapterAnnotation, resource),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/index.ts"],"names":[],"mappings":";;;AAGA,oDAA6E;AAC7E,wEAAoE;AACpE,sFAAiF;AACjF,oDAAyD;AACzD,4EAAwE;AACxE,yDAAqE;AACrE,gEAA4D;AAC5D,gFAA2F;AAC3F,kDAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/index.ts"],"names":[],"mappings":";;;AAGA,oDAA6E;AAC7E,wEAAoE;AACpE,sFAAiF;AACjF,oDAAyD;AACzD,4EAAwE;AACxE,yDAAqE;AACrE,gEAA4D;AAC5D,gFAA2F;AAC3F,kDAA4D;AAC5D,uDAA4D;AAC5D,kFAA6F;AAC7F,oEAAgE;AAChE,oEAAsE;AACtE,qEAAiE;AACjE,yEAAqE;AACrE,0FAA4F;AAC5F,sEAAyE;AACzE,wEAAoE;AAGpE,yEAAmF;AACnF,6EAAiF;AACjF,oCAAiD;AACjD,6DAAuE;AAEvE,SAAgB,sBAAsB,CAClC,QAAyB,EACzB,kBAAmC,EACnC,qBAAsC,EACtC,iBAAoC,EACpC,SAAoB,EACpB,MAAuB;IAEvB,MAAM,gBAAgB,GAAG,IAAA,6BAAqB,EAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,IAAA,6BAAmB,EAAC,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG;QACT,IAAA,wCAAyB,EAAC,iBAAiB,CAAC,IAAI,CAAC;QACjD,IAAA,kDAA0B,EAAC,iBAAiB,CAAC;QAC7C,IAAA,wEAAqC,EAAC,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;QACzF,IAAA,gEAAqC,EAAC,aAAa,EAAE,iBAAiB,CAAC;QACvE,IAAA,qDAA4B,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QAC1F,IAAA,wCAAkB,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QAC9D,IAAA,oDAA+B,EAC3B,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,CACZ;QACD,IAAA,oDAAwB,EAAC,aAAa,EAAE,iBAAiB,CAAC;QAC1D,IAAA,8DAAiC,EAAC,aAAa,EAAE,iBAAiB,CAAC;QACnE,IAAA,kDAA+B,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QAC3E,IAAA,qCAAqB,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACjE,IAAA,kDAAuB,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACnE,IAAA,8CAAqB,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACjE,IAAA,gDAAsB,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC7E,IAAA,yCAAuB,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC9E,IAAA,6DAA4B,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACxE,IAAA,yEAA0C,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACtF,IAAA,uEAAyC,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QACrF,IAAA,gDAAsB,EAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC7E,IAAA,4CAAoB,EAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;KAC3D;SACI,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAzCD,wDAyCC"}
|
|
@@ -2,6 +2,7 @@ export declare const GRAPHQL_VARIABLES_IDENTIFIER = "GraphQLVariables";
|
|
|
2
2
|
export declare const GRAPHQL_FRAGMENT_MAP_IDENTIFIER = "GraphQLFragmentMap";
|
|
3
3
|
export declare const GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = "GraphQLIngestState";
|
|
4
4
|
export declare const GRAPHQL_STATE_INTERFACE_IDENTIFIER = "GraphQLState";
|
|
5
|
+
export declare const GRAPHQL_TYPE_DETAILS_INTERFACE_IDENTIFIER = "GraphQLTypeDetails";
|
|
5
6
|
export declare const TIMESTAMP_IDENTIFIER = "timestamp";
|
|
6
7
|
export declare const CREATE_LINK_IDENTIFIER = "createLink";
|
|
7
8
|
export declare const TYPE_UTIL_IDENTIFIER = "type-util";
|
|
@@ -16,6 +17,7 @@ export declare const GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = "getSerializedKey
|
|
|
16
17
|
export declare const FIELD_KEY_IDENTIFIER = "fieldKey";
|
|
17
18
|
export declare const FIELD_DATA_IDENTIFIER = "fieldData";
|
|
18
19
|
export declare const FIELD_DATA_KEY_IDENTIFIER = "fieldDataKey";
|
|
20
|
+
export declare const FIELD_TYPE_IDENTIFIER = "fieldType";
|
|
19
21
|
export declare const REQUESTED_FIELD_IDENTIFIER = "requestedField";
|
|
20
22
|
export declare const REQUESTED_FIELD_NAME_IDENTIFIER = "requestedFieldName";
|
|
21
23
|
export declare const SINK_IDENTIFIER = "sink";
|
|
@@ -34,3 +36,7 @@ export declare const CURSOR_IDENTIFIER = "cursor";
|
|
|
34
36
|
export declare const HAS_NEXT_PAGE_IDENTIFIER = "hasNextPage";
|
|
35
37
|
export declare const END_CURSOR_IDENTIFIER = "endCursor";
|
|
36
38
|
export declare const START_CURSOR_IDENTIFIER = "startCursor";
|
|
39
|
+
export declare const IS_FRAGMENT_APPLICABLE_IDENTIFIER = "isFragmentApplicable";
|
|
40
|
+
export declare const REQUESTED_FIELDS_IDENTIFIER = "requestedFields";
|
|
41
|
+
export declare const FIRST_IDENTIFIER = "first";
|
|
42
|
+
export declare const AFTER_IDENTIFIER = "after";
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.START_CURSOR_IDENTIFIER = exports.END_CURSOR_IDENTIFIER = exports.HAS_NEXT_PAGE_IDENTIFIER = exports.CURSOR_IDENTIFIER = exports.NODE_IDENTIFIER = exports.EDGES_IDENTIFIER = exports.PAGE_INFO_IDENTIFIER = exports.IS_MAPPED_FIELD_IDENTIFIER = exports.INGEST_FIELD_BY_TYPE_IDENTIFIER = exports.GET_FIELD_TYPE_IDENTIFIER = exports.QUERY_TRANSFORM_HELPER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER = exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = exports.SINK_IDENTIFIER = exports.REQUESTED_FIELD_NAME_IDENTIFIER = exports.REQUESTED_FIELD_IDENTIFIER = exports.FIELD_DATA_KEY_IDENTIFIER = exports.FIELD_DATA_IDENTIFIER = exports.FIELD_KEY_IDENTIFIER = exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = exports.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = exports.GET_REQUESTED_FIELD_IDENTIFIER = exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = exports.KEY_BUILDER_IDENTIFIER = exports.TYPE_CACHE_KEYS_IDENTIFIER = exports.TYPE_CONVERT_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
|
|
3
|
+
exports.AFTER_IDENTIFIER = exports.FIRST_IDENTIFIER = exports.REQUESTED_FIELDS_IDENTIFIER = exports.IS_FRAGMENT_APPLICABLE_IDENTIFIER = exports.START_CURSOR_IDENTIFIER = exports.END_CURSOR_IDENTIFIER = exports.HAS_NEXT_PAGE_IDENTIFIER = exports.CURSOR_IDENTIFIER = exports.NODE_IDENTIFIER = exports.EDGES_IDENTIFIER = exports.PAGE_INFO_IDENTIFIER = exports.IS_MAPPED_FIELD_IDENTIFIER = exports.INGEST_FIELD_BY_TYPE_IDENTIFIER = exports.GET_FIELD_TYPE_IDENTIFIER = exports.QUERY_TRANSFORM_HELPER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = exports.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER = exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = exports.SINK_IDENTIFIER = exports.REQUESTED_FIELD_NAME_IDENTIFIER = exports.REQUESTED_FIELD_IDENTIFIER = exports.FIELD_TYPE_IDENTIFIER = exports.FIELD_DATA_KEY_IDENTIFIER = exports.FIELD_DATA_IDENTIFIER = exports.FIELD_KEY_IDENTIFIER = exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = exports.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = exports.GET_REQUESTED_FIELD_IDENTIFIER = exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = exports.KEY_BUILDER_IDENTIFIER = exports.TYPE_CACHE_KEYS_IDENTIFIER = exports.TYPE_CONVERT_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_TYPE_DETAILS_INTERFACE_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
|
|
4
4
|
exports.GRAPHQL_VARIABLES_IDENTIFIER = 'GraphQLVariables';
|
|
5
5
|
exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = 'GraphQLFragmentMap';
|
|
6
6
|
exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = 'GraphQLIngestState';
|
|
7
7
|
exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = 'GraphQLState';
|
|
8
|
+
exports.GRAPHQL_TYPE_DETAILS_INTERFACE_IDENTIFIER = 'GraphQLTypeDetails';
|
|
8
9
|
exports.TIMESTAMP_IDENTIFIER = 'timestamp';
|
|
9
10
|
exports.CREATE_LINK_IDENTIFIER = 'createLink';
|
|
10
11
|
exports.TYPE_UTIL_IDENTIFIER = 'type-util';
|
|
@@ -19,6 +20,7 @@ exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = 'getSerializedKeyForField';
|
|
|
19
20
|
exports.FIELD_KEY_IDENTIFIER = 'fieldKey';
|
|
20
21
|
exports.FIELD_DATA_IDENTIFIER = 'fieldData';
|
|
21
22
|
exports.FIELD_DATA_KEY_IDENTIFIER = 'fieldDataKey';
|
|
23
|
+
exports.FIELD_TYPE_IDENTIFIER = 'fieldType';
|
|
22
24
|
exports.REQUESTED_FIELD_IDENTIFIER = 'requestedField';
|
|
23
25
|
exports.REQUESTED_FIELD_NAME_IDENTIFIER = 'requestedFieldName';
|
|
24
26
|
exports.SINK_IDENTIFIER = 'sink';
|
|
@@ -37,4 +39,8 @@ exports.CURSOR_IDENTIFIER = 'cursor';
|
|
|
37
39
|
exports.HAS_NEXT_PAGE_IDENTIFIER = 'hasNextPage';
|
|
38
40
|
exports.END_CURSOR_IDENTIFIER = 'endCursor';
|
|
39
41
|
exports.START_CURSOR_IDENTIFIER = 'startCursor';
|
|
42
|
+
exports.IS_FRAGMENT_APPLICABLE_IDENTIFIER = 'isFragmentApplicable';
|
|
43
|
+
exports.REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
|
|
44
|
+
exports.FIRST_IDENTIFIER = 'first';
|
|
45
|
+
exports.AFTER_IDENTIFIER = 'after';
|
|
40
46
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAClD,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,yCAAyC,GAAG,oBAAoB,CAAC;AACjE,QAAA,kCAAkC,GAAG,cAAc,CAAC;AACpD,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,uBAAuB,GAAG,sBAAsB,CAAC;AACjD,QAAA,0BAA0B,GAAG,kBAAkB,CAAC;AAChD,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oCAAoC,GAAG,yBAAyB,CAAC;AACjE,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AACrD,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,uCAAuC,GAAG,0BAA0B,CAAC;AACrE,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,0BAA0B,GAAG,gBAAgB,CAAC;AAC9C,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,+CAA+C,GAAG,iCAAiC,CAAC;AACpF,QAAA,8CAA8C,GAAG,gCAAgC,CAAC;AAClF,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,iCAAiC,GAAG,sBAAsB,CAAC;AAC3D,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,+BAA+B,GAAG,mBAAmB,CAAC;AACtD,QAAA,0BAA0B,GAAG,eAAe,CAAC;AAC7C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,wBAAwB,GAAG,aAAa,CAAC;AACzC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,uBAAuB,GAAG,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAClD,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,yCAAyC,GAAG,oBAAoB,CAAC;AACjE,QAAA,kCAAkC,GAAG,cAAc,CAAC;AACpD,QAAA,yCAAyC,GAAG,oBAAoB,CAAC;AACjE,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oBAAoB,GAAG,WAAW,CAAC;AACnC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,uBAAuB,GAAG,sBAAsB,CAAC;AACjD,QAAA,0BAA0B,GAAG,kBAAkB,CAAC;AAChD,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oCAAoC,GAAG,yBAAyB,CAAC;AACjE,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AACrD,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,uCAAuC,GAAG,0BAA0B,CAAC;AACrE,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,0BAA0B,GAAG,gBAAgB,CAAC;AAC9C,QAAA,+BAA+B,GAAG,oBAAoB,CAAC;AACvD,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,wCAAwC,GAAG,2BAA2B,CAAC;AACvE,QAAA,+CAA+C,GAAG,iCAAiC,CAAC;AACpF,QAAA,8CAA8C,GAAG,gCAAgC,CAAC;AAClF,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,iCAAiC,GAAG,sBAAsB,CAAC;AAC3D,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,+BAA+B,GAAG,mBAAmB,CAAC;AACtD,QAAA,0BAA0B,GAAG,eAAe,CAAC;AAC7C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAClC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,eAAe,GAAG,MAAM,CAAC;AACzB,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,wBAAwB,GAAG,aAAa,CAAC;AACzC,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,uBAAuB,GAAG,aAAa,CAAC;AACxC,QAAA,iCAAiC,GAAG,sBAAsB,CAAC;AAC3D,QAAA,2BAA2B,GAAG,iBAAiB,CAAC;AAChD,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,gBAAgB,GAAG,OAAO,CAAC"}
|
|
@@ -11,7 +11,6 @@ const utils_2 = require("./utils");
|
|
|
11
11
|
const constants_2 = require("./constants");
|
|
12
12
|
const interface_1 = require("./interface");
|
|
13
13
|
const types_1 = require("../utils/types");
|
|
14
|
-
const REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
|
|
15
14
|
function generateConvertScalarField(graphqlFieldName, ramlFieldName) {
|
|
16
15
|
return (0, deindent_1.default) `
|
|
17
16
|
case "${graphqlFieldName}": {
|
|
@@ -110,15 +109,6 @@ function generateConvertType(field, typeNode, ramlFieldName, importContext, norm
|
|
|
110
109
|
return generateConvertType(field, typeNode.type, ramlFieldName, importContext, normalizableTypeMap);
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
|
-
function getRequestedFieldsStatement(importContext) {
|
|
114
|
-
const getRequestedFieldsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER);
|
|
115
|
-
return (0, deindent_1.default) `
|
|
116
|
-
const ${REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] =
|
|
117
|
-
astNode && astNode.selectionSet ?
|
|
118
|
-
${getRequestedFieldsImport}(name, astNode.selectionSet, state.fragments) :
|
|
119
|
-
[];
|
|
120
|
-
`;
|
|
121
|
-
}
|
|
122
112
|
function generateRamlConversion(graphqlDsl, graphqlTypeName, importContext, def, modelInfo, graphqlStateInterface, normalizableTypeMap) {
|
|
123
113
|
var _a;
|
|
124
114
|
// get the target RAML type ingest function
|
|
@@ -160,14 +150,15 @@ function generateRamlConversion(graphqlDsl, graphqlTypeName, importContext, def,
|
|
|
160
150
|
const { ${constants_1.LUVIO_IDENTIFIER}, path, data } = state;
|
|
161
151
|
const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}, path, data);
|
|
162
152
|
const ${constants_2.SINK_IDENTIFIER}: ${recursivePartialInterface}<${ramlInterface}> = {};
|
|
163
|
-
${getRequestedFieldsStatement(importContext)}
|
|
153
|
+
${(0, utils_2.getRequestedFieldsStatement)(importContext, graphqlTypeName)}
|
|
164
154
|
for (const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)) {
|
|
165
155
|
const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
|
|
166
|
-
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${REQUESTED_FIELDS_IDENTIFIER});
|
|
156
|
+
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${constants_2.REQUESTED_FIELDS_IDENTIFIER});
|
|
167
157
|
if(${constants_2.REQUESTED_FIELD_IDENTIFIER} === undefined) {
|
|
168
158
|
break; // TODO: (W-11132802) We got a field back we didn't ask for. Call handleUnknownField.
|
|
169
159
|
}
|
|
170
|
-
const ${constants_2.
|
|
160
|
+
const ${constants_2.FIELD_TYPE_IDENTIFIER} = ${constants_2.GET_FIELD_TYPE_IDENTIFIER}(${constants_2.REQUESTED_FIELD_IDENTIFIER});
|
|
161
|
+
const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables, ${constants_2.FIELD_TYPE_IDENTIFIER});
|
|
171
162
|
switch(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value) {
|
|
172
163
|
${ramlIngestStatements.join('\n')}
|
|
173
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/convert.ts"],"names":[],"mappings":";;;;;;AAKA,uEAA+C;AAE/C,sDAIgC;AAEhC,oCAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
2
|
+
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
3
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
4
|
+
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
5
|
+
export declare function generateFragmentMatcher(_graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, def: ObjectTypeDefinitionNode, _importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateFragmentMatcher = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../shared/constants");
|
|
9
|
+
const constants_2 = require("./constants");
|
|
10
|
+
function generateFragmentMatcher(_graphqlDsl, graphqlTypeName, def, _importContext, _metadata) {
|
|
11
|
+
const implementedInterfaces = def.interfaces ? def.interfaces.map((i) => i.name.value) : [];
|
|
12
|
+
return (0, deindent_1.default) `
|
|
13
|
+
export function ${constants_2.IS_FRAGMENT_APPLICABLE_IDENTIFIER}(parentNode: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} | ${constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT}, fragmentNode: ${constants_1.LUVIO_GRAPHQL_FRAGMENT_DEFINITION_NODE_IMPORT} | ${constants_1.LUVIO_GRAPHQL_INLINE_FRAGMENT_NODE_IMPORT}): boolean {
|
|
14
|
+
const implementedInterfaces: string[] = [${implementedInterfaces.map((name) => `"${name}"`)}];
|
|
15
|
+
const isUntypedInlineFragment = fragmentNode.typeCondition === undefined;
|
|
16
|
+
const matchesTypeCondition = !isUntypedInlineFragment && fragmentNode.typeCondition.name.value === "${graphqlTypeName}";
|
|
17
|
+
const doesImplementInterface = !isUntypedInlineFragment && implementedInterfaces.includes(fragmentNode.typeCondition.name.value);
|
|
18
|
+
return isUntypedInlineFragment|| matchesTypeCondition || doesImplementInterface;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
exports.generateFragmentMatcher = generateFragmentMatcher;
|
|
24
|
+
//# sourceMappingURL=fragment-matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fragment-matcher.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/fragment-matcher.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA+C;AAE/C,sDAKgC;AAEhC,2CAAgE;AAEhE,SAAgB,uBAAuB,CACnC,WAA4B,EAC5B,eAAuB,EACvB,GAA6B,EAC7B,cAA6B,EAC7B,SAAiC;IAEjC,MAAM,qBAAqB,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,OAAO,IAAA,kBAAQ,EAAA;0BACO,6CAAiC,gBAAgB,2CAA+B,MAAM,0DAA8C,mBAAmB,yDAA6C,MAAM,qDAAyC;uDACtN,qBAAqB,CAAC,GAAG,CAChE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CACxB;;kHAEqG,eAAe;;;;;KAK5H,CAAC;AACN,CAAC;AApBD,0DAoBC"}
|
|
@@ -20,9 +20,12 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
20
20
|
const queryTypeName = queryType.name;
|
|
21
21
|
const getQueryTransformHelperForFieldImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformHelperForField');
|
|
22
22
|
const getQueryTransformHelperForTypeImport = importContext.importGraphQLArtifact('types', queryTypeName, 'getQueryTransformHelperForType');
|
|
23
|
+
const cursorConnectionTypes = graphqlResource.graphqlDSL.cursorConnectionTypes;
|
|
23
24
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
24
25
|
export type ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER} = Record<string, any>;
|
|
25
26
|
export type ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER} = Record<string, ${constants_2.LUVIO_GRAPHQL_FRAGMENT_DEFINITION_NODE_IMPORT}>;
|
|
27
|
+
export type ${constants_3.GRAPHQL_TYPE_DETAILS_INTERFACE_IDENTIFIER} = { isArray: boolean, typename: string };
|
|
28
|
+
|
|
26
29
|
export interface ${constants_3.GRAPHQL_STATE_INTERFACE_IDENTIFIER}<D = unknown> {
|
|
27
30
|
data: D,
|
|
28
31
|
path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER},
|
|
@@ -154,6 +157,9 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
154
157
|
}
|
|
155
158
|
injectSelectionSet(selection.selectionSet, fieldTransformHelper);
|
|
156
159
|
}
|
|
160
|
+
if (selection.kind === 'InlineFragment' && selection.selectionSet && !selection.typeCondition) {
|
|
161
|
+
injectSelectionSet(selection.selectionSet, queryTransformHelper);
|
|
162
|
+
}
|
|
157
163
|
if (selection.kind === 'InlineFragment' && selection.selectionSet && selection.typeCondition) {
|
|
158
164
|
// create a wrapper for the getMinimumFields function that filters
|
|
159
165
|
// out any fields already present via encapsulation in the parent fields
|
|
@@ -184,26 +190,44 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
184
190
|
return requestedFields.find(fieldNode => (fieldNode.alias && fieldNode.alias.value === responseDataFieldName) || (!fieldNode.alias && fieldNode.name.value === responseDataFieldName));
|
|
185
191
|
}
|
|
186
192
|
|
|
187
|
-
|
|
193
|
+
const CURSOR_CONNECTION_TYPES: string[] = [
|
|
194
|
+
${cursorConnectionTypes.map((type) => {
|
|
195
|
+
return `'${type}',`;
|
|
196
|
+
})}
|
|
197
|
+
];
|
|
198
|
+
export function isCursorConnectionType (fieldType: ${constants_3.GRAPHQL_TYPE_DETAILS_INTERFACE_IDENTIFIER}|undefined): boolean {
|
|
199
|
+
return fieldType !== undefined && CURSOR_CONNECTION_TYPES.includes(fieldType.typename);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export function ${constants_3.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER}(field: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}, variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER}, fieldType: ${constants_3.GRAPHQL_TYPE_DETAILS_INTERFACE_IDENTIFIER} | undefined): string {
|
|
203
|
+
let mutableArgumentNodes = Object.assign([] as ${constants_2.LUVIO_GRAPHQL_ARGUMENT_NODE_IMPORT}[], field.arguments);
|
|
204
|
+
|
|
205
|
+
// Paginated types are stored as a consolidated collection. Their keys should not include
|
|
206
|
+
// the "first" and "after" pagination parameters.
|
|
207
|
+
if (isCursorConnectionType(fieldType)) {
|
|
208
|
+
mutableArgumentNodes = mutableArgumentNodes.filter(node => {
|
|
209
|
+
return node.name.value !== '${constants_3.FIRST_IDENTIFIER}' && node.name.value !== '${constants_3.AFTER_IDENTIFIER}';
|
|
210
|
+
});
|
|
211
|
+
}
|
|
188
212
|
// Serialize the arguments given to this field. Luvio can't "eval" these arguments atm
|
|
189
|
-
const argumentString : string =
|
|
213
|
+
const argumentString : string = mutableArgumentNodes.length > 0 ? '__' + ${constants_3.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER}(mutableArgumentNodes, variables) : '';
|
|
190
214
|
return field.name.value + argumentString; // It should be safe to always use the fieldName - If an alias is meaningful, there will be arguments on the key also.
|
|
191
215
|
}
|
|
192
216
|
|
|
193
|
-
export function ${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(
|
|
217
|
+
export function ${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(parentNode: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} | ${constants_2.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT}, selectionSet: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, namedFragmentsMap: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}, isFragmentApplicable: (parentNode: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} | ${constants_2.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT}, fragment: ${constants_2.LUVIO_GRAPHQL_FRAGMENT_DEFINITION_NODE_IMPORT} | ${constants_2.LUVIO_GRAPHQL_INLINE_FRAGMENT_NODE_IMPORT}) => boolean): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] {
|
|
194
218
|
const selections: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] = [];
|
|
195
219
|
selectionSet.selections.forEach(selection => {
|
|
196
220
|
if(selection.kind === "Field") {
|
|
197
221
|
selections.push(selection);
|
|
198
222
|
}
|
|
199
|
-
if(selection.kind === "InlineFragment" && selection
|
|
200
|
-
${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(
|
|
223
|
+
if(selection.kind === "InlineFragment" && isFragmentApplicable(parentNode, selection)) {
|
|
224
|
+
${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(parentNode, selection.selectionSet, namedFragmentsMap, isFragmentApplicable)
|
|
201
225
|
.forEach(fragmentFieldSelection => selections.push(fragmentFieldSelection));
|
|
202
226
|
}
|
|
203
227
|
if(selection.kind === "FragmentSpread") {
|
|
204
228
|
const namedFragment = namedFragmentsMap[selection.name.value];
|
|
205
|
-
if(namedFragment && namedFragment
|
|
206
|
-
${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(
|
|
229
|
+
if(namedFragment && isFragmentApplicable(parentNode, namedFragment)) {
|
|
230
|
+
${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(parentNode, namedFragment.selectionSet, namedFragmentsMap, isFragmentApplicable)
|
|
207
231
|
.forEach(fragmentFieldSelection => selections.push(fragmentFieldSelection));
|
|
208
232
|
}
|
|
209
233
|
}
|
|
@@ -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,sDAcgC;AAChC,2CAkBqB;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;IACF,MAAM,qBAAqB,GAAG,eAAe,CAAC,UAAU,CAAC,qBAAqB,CAAC;IAE/E,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;sBACjG,qDAAyC;;2BAEpC,8CAAkC;;oBAEzC,oDAAwC;yBACnC,wCAA4B;yBAC5B,2CAA+B;;;2BAG7B,qDAAyC,eAAe,8CAAkC;cACvG,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;sBAIZ,2CAA+B,MAAM,6CAAiC;;;;kBAI1E,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;;;;;;;;;;uEAUrD,2CAA+B;;;;;;;;;;;;uEAY/B,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,qCAAqC,6CAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA4C1H,oCAAoC;;;;yDAI9B,2CAA+B;;;;;;;;;;;;;;;;;;;0BAmB9D,0CAA8B,oDAAoD,2CAA+B,QAAQ,2CAA+B;;;;;cAKpK,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,OAAO,IAAI,IAAI,IAAI,CAAC;IACxB,CAAC,CAAC;;6DAE+C,qDAAyC;;;;0BAI5E,mDAAuC,WAAW,2CAA+B,gBAAgB,wCAA4B,gBAAgB,qDAAyC;6DACnJ,8CAAkC;;;;;;kDAM7C,4BAAgB,6BAA6B,4BAAgB;;;;uFAIxB,gDAAoC;;;;0BAIjG,oDAAwC,gBAAgB,2CAA+B,MAAM,0DAA8C,mBAAmB,mDAAuC,wBAAwB,2CAA+B,wCAAwC,2CAA+B,MAAM,0DAA8C,eAAe,yDAA6C,MAAM,qDAAyC,kBAAkB,2CAA+B;gCAC7gB,2CAA+B;;;;;;sBAMzC,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AAjPD,4CAiPC"}
|
|
@@ -17,6 +17,7 @@ const type_cache_keys_1 = require("./type-cache-keys");
|
|
|
17
17
|
const type_from_field_1 = require("./type-from-field");
|
|
18
18
|
const ingest_field_by_type_1 = require("./ingest-field-by-type");
|
|
19
19
|
const is_mapped_field_1 = require("./is-mapped-field");
|
|
20
|
+
const fragment_matcher_1 = require("./fragment-matcher");
|
|
20
21
|
function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata, modelInfo) {
|
|
21
22
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
22
23
|
export const name = '${graphqlTypeName}';
|
|
@@ -31,6 +32,7 @@ function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata,
|
|
|
31
32
|
${(0, type_from_field_1.generateGetFieldType)(graphqlDsl, def)}
|
|
32
33
|
${(0, ingest_field_by_type_1.generateIngestFieldDataByType)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
|
|
33
34
|
${(0, is_mapped_field_1.generateIsMappedField)(graphqlDsl, graphqlTypeName, def)}
|
|
35
|
+
${(0, fragment_matcher_1.generateFragmentMatcher)(graphqlDsl, graphqlTypeName, def, importContext, metadata)};
|
|
34
36
|
`);
|
|
35
37
|
}
|
|
36
38
|
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;AAE3E,uDAA6D;AAC7D,uDAAyD;AACzD,iEAAuE;AACvE,uDAA0D;
|
|
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;AAC7D,uDAAyD;AACzD,iEAAuE;AACvE,uDAA0D;AAC1D,yDAA6D;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;UACnF,IAAA,sCAAoB,EAAC,UAAU,EAAE,GAAG,CAAC;UACrC,IAAA,oDAA6B,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACxF,IAAA,uCAAqB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC;UACvD,IAAA,0CAAuB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAvBD,oCAuBC"}
|