@luvio/compiler 0.97.0 → 0.97.1
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/create-resource-params.js +21 -6
- package/dist/codegen/adapter/create-resource-params.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js +8 -2
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-fragment.d.ts +4 -0
- package/dist/codegen/adapter/graphql/adapter-fragment.js +24 -0
- package/dist/codegen/adapter/graphql/adapter-fragment.js.map +1 -0
- package/dist/codegen/adapter/graphql/adapter-resource-error.d.ts +4 -0
- package/dist/codegen/adapter/graphql/adapter-resource-error.js +33 -0
- package/dist/codegen/adapter/graphql/adapter-resource-error.js.map +1 -0
- package/dist/codegen/adapter/graphql/adapter-resource-success.d.ts +4 -0
- package/dist/codegen/adapter/graphql/adapter-resource-success.js +35 -0
- package/dist/codegen/adapter/graphql/adapter-resource-success.js.map +1 -0
- package/dist/codegen/adapter/graphql/index.js +3 -3
- package/dist/codegen/adapter/graphql/index.js.map +1 -1
- package/dist/codegen/adapter/util.d.ts +0 -1
- package/dist/codegen/adapter/util.js +1 -34
- package/dist/codegen/adapter/util.js.map +1 -1
- package/dist/codegen/graphql/type/constants.d.ts +2 -0
- package/dist/codegen/graphql/type/constants.js +3 -1
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/convert.d.ts +6 -0
- package/dist/codegen/graphql/type/convert.js +174 -0
- package/dist/codegen/graphql/type/convert.js.map +1 -0
- package/dist/codegen/graphql/type/generateTypeUtil.js +4 -4
- 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.d.ts +3 -3
- package/dist/codegen/graphql/type/ingest.js +72 -110
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/key.js +4 -4
- package/dist/codegen/graphql/type/key.js.map +1 -1
- package/dist/codegen/graphql/type/select.d.ts +1 -1
- package/dist/codegen/graphql/type/select.js +112 -70
- package/dist/codegen/graphql/type/select.js.map +1 -1
- package/dist/codegen/graphql/type/type-from-field.d.ts +6 -0
- package/dist/codegen/graphql/type/type-from-field.js +66 -0
- package/dist/codegen/graphql/type/type-from-field.js.map +1 -0
- package/dist/codegen/graphql/utils/types.js +1 -1
- package/dist/codegen/resource/graphql/ingest-error.js +4 -1
- package/dist/codegen/resource/graphql/ingest-error.js.map +1 -1
- package/dist/codegen/resource/graphql/ingest-success.js +5 -2
- package/dist/codegen/resource/graphql/ingest-success.js.map +1 -1
- package/dist/codegen/resource/graphql/key-builder.d.ts +2 -1
- package/dist/codegen/resource/graphql/key-builder.js +10 -2
- package/dist/codegen/resource/graphql/key-builder.js.map +1 -1
- package/dist/codegen/resource/graphql/select.js +6 -5
- package/dist/codegen/resource/graphql/select.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.js +2 -2
- package/dist/codegen/shape/shape-utils.js +17 -1
- package/dist/codegen/shape/shape-utils.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/package.json +4 -4
|
@@ -10,7 +10,7 @@ const resource_params_1 = require("../resource/resource-params");
|
|
|
10
10
|
const constants_1 = require("./constants");
|
|
11
11
|
const index_1 = require("./index");
|
|
12
12
|
const util_1 = require("./util");
|
|
13
|
-
function buildResourceConfigMap(paramInfos) {
|
|
13
|
+
function buildResourceConfigMap(paramInfos, resourceParamsIdentifier) {
|
|
14
14
|
const urlParameters = paramInfos.filter((pi) => pi.resourceParamType === index_1.ResourceParamType.UrlParameter);
|
|
15
15
|
const queryParameters = paramInfos.filter((pi) => pi.resourceParamType === index_1.ResourceParamType.QueryParameter);
|
|
16
16
|
const bodyShape = paramInfos.filter((pi) => pi.resourceParamType === index_1.ResourceParamType.Body);
|
|
@@ -34,8 +34,21 @@ function buildResourceConfigMap(paramInfos) {
|
|
|
34
34
|
`;
|
|
35
35
|
}
|
|
36
36
|
let bodyString = '';
|
|
37
|
+
let bodyOptionalParams = '';
|
|
37
38
|
if (bodyShape.length > 0) {
|
|
38
|
-
const bodyMap = bodyShape
|
|
39
|
+
const bodyMap = bodyShape
|
|
40
|
+
.filter((bodyParam) => bodyParam.isRequired)
|
|
41
|
+
.map(util_1.buildParameterMapEntry);
|
|
42
|
+
const bodyOptionalStrings = bodyShape
|
|
43
|
+
.filter((bodyParam) => !bodyParam.isRequired)
|
|
44
|
+
.map((optionalParam) => {
|
|
45
|
+
return (0, deindent_1.default) `
|
|
46
|
+
if(${constants_1.ADAPTER_CONFIG_IDENTIFIER}['${optionalParam.name}'] !== undefined) {
|
|
47
|
+
resourceParams.${resource_1.CONFIG_PROPERTY_BODY}['${optionalParam.name}'] = ${constants_1.ADAPTER_CONFIG_IDENTIFIER}['${optionalParam.name}'];
|
|
48
|
+
}
|
|
49
|
+
`;
|
|
50
|
+
});
|
|
51
|
+
bodyOptionalParams = bodyOptionalStrings.join('\n');
|
|
39
52
|
bodyString = (0, deindent_1.default) `
|
|
40
53
|
${resource_1.CONFIG_PROPERTY_BODY}: {
|
|
41
54
|
${bodyMap.join(', ')}
|
|
@@ -51,13 +64,15 @@ function buildResourceConfigMap(paramInfos) {
|
|
|
51
64
|
}
|
|
52
65
|
`;
|
|
53
66
|
}
|
|
54
|
-
const
|
|
67
|
+
const requiredParamsString = [urlParamsString, queryParamsString, bodyString, headersString]
|
|
55
68
|
.filter(Boolean)
|
|
56
69
|
.join(',\n');
|
|
57
70
|
return (0, deindent_1.default) `
|
|
58
|
-
{
|
|
59
|
-
${
|
|
71
|
+
const resourceParams: ${resourceParamsIdentifier} = {
|
|
72
|
+
${requiredParamsString}
|
|
60
73
|
};
|
|
74
|
+
${bodyOptionalParams ? bodyOptionalParams + ';' : ''}
|
|
75
|
+
return resourceParams;
|
|
61
76
|
`;
|
|
62
77
|
}
|
|
63
78
|
function generateCreateResourceParams(context, adapter, resource, paramInfos) {
|
|
@@ -68,7 +83,7 @@ function generateCreateResourceParams(context, adapter, resource, paramInfos) {
|
|
|
68
83
|
const resourceParamsIdentifier = importRamlArtifact(resource.id, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
69
84
|
return (0, deindent_1.default) `
|
|
70
85
|
export function ${constants_1.ADAPTER_CREATE_RESOURCE_PARAMS_IDENTIFIER}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}): ${resourceParamsIdentifier} {
|
|
71
|
-
|
|
86
|
+
${buildResourceConfigMap(paramInfos, resourceParamsIdentifier)}
|
|
72
87
|
}
|
|
73
88
|
`;
|
|
74
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-resource-params.js","sourceRoot":"","sources":["../../../src/codegen/adapter/create-resource-params.ts"],"names":[],"mappings":";;;;;;AAEA,0DAKqC;AACrC,oEAA4C;AAC5C,iEAAwE;AACxE,2CAAmG;AAEnG,mCAA4C;AAC5C,iCAA0E;AAG1E,SAAS,sBAAsB,
|
|
1
|
+
{"version":3,"file":"create-resource-params.js","sourceRoot":"","sources":["../../../src/codegen/adapter/create-resource-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
|
8
8
|
const constants_1 = require("../constants");
|
|
9
9
|
const constants_2 = require("../../graphql/type/constants");
|
|
10
10
|
const util_1 = require("../util");
|
|
11
|
+
const constants_3 = require("../../shared/constants");
|
|
11
12
|
function generateConfigTransformerFunction(context, adapterAnnotation) {
|
|
12
13
|
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
13
14
|
const { importGraphQLArtifact, importRamlArtifact } = context;
|
|
@@ -16,9 +17,14 @@ function generateConfigTransformerFunction(context, adapterAnnotation) {
|
|
|
16
17
|
const applyMinimumFieldsToQuery = importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER);
|
|
17
18
|
return (0, deindent_1.default) `
|
|
18
19
|
export function ${transformConfigurationIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}): ${configInterfaceIdentifier} {
|
|
19
|
-
|
|
20
|
+
// Make a copy of the config before running transform to avoid mutating the original config
|
|
21
|
+
const adapterConfigCopy = {
|
|
20
22
|
...${constants_1.ADAPTER_CONFIG_IDENTIFIER},
|
|
21
|
-
query: ${
|
|
23
|
+
query: ${constants_3.LUVIO_GRAPHQL_PARSE_IMPORT}(${constants_3.LUVIO_GRAPHQL_PRINT_IMPORT}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}.query))
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
...adapterConfigCopy,
|
|
27
|
+
query: ${applyMinimumFieldsToQuery}(adapterConfigCopy.query)
|
|
22
28
|
}
|
|
23
29
|
}
|
|
24
30
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-config-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-config-transformer.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,4CAGsB;AACtB,4DAGsC;AAEtC,kCAAmD;
|
|
1
|
+
{"version":3,"file":"adapter-config-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-config-transformer.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,4CAGsB;AACtB,4DAGsC;AAEtC,kCAAmD;AAEnD,sDAAgG;AAEhG,SAAgB,iCAAiC,CAC7C,OAAsB,EACtB,iBAAoC;IAEpC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAE/D,MAAM,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,yBAAyB,GAAG,kBAAkB,CAChD,SAAS,EACT,IAAA,+BAAwB,EAAC,WAAW,CAAC,CACxC,CAAC;IACF,MAAM,gCAAgC,GAAG,kBAAkB,CACvD,SAAS,EACT,sDAA0C,CAC7C,CAAC;IAEF,MAAM,yBAAyB,GAAG,qBAAqB,CACnD,OAAO,EACP,gCAAoB,EACpB,oDAAwC,CAC3C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;0BACO,gCAAgC,IAAI,qCAAyB,KAAK,yBAAyB,MAAM,yBAAyB;;;qBAG/H,qCAAyB;yBACrB,sCAA0B,IAAI,sCAA0B,IAAI,qCAAyB;;;;yBAIrF,yBAAyB;;;KAG7C,CAAC;AACN,CAAC;AAlCD,8EAkCC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AdapterAnnotation } from '../../../intermediate/adapter-annotation';
|
|
2
|
+
import type { Resource } from '../../../intermediate/resource';
|
|
3
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
4
|
+
export declare function generateAdapterFragmentFunction(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource): 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.generateAdapterFragmentFunction = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../resource/constants");
|
|
9
|
+
const util_1 = require("../util");
|
|
10
|
+
const constants_2 = require("../constants");
|
|
11
|
+
const constants_3 = require("../../shared/constants");
|
|
12
|
+
function generateAdapterFragmentFunction(context, adapterAnnotation, resource) {
|
|
13
|
+
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
14
|
+
const { importRamlArtifact } = context;
|
|
15
|
+
const configInterfaceIdentifier = importRamlArtifact(adapterId, (0, util_1.buildConfigInterfaceName)(adapterName));
|
|
16
|
+
const resourceSelect = importRamlArtifact(resource.id, constants_1.RESOURCE_SELECT_IDENTIFIER);
|
|
17
|
+
return (0, deindent_1.default) `
|
|
18
|
+
export function ${constants_2.ADAPTER_FRAGMENT}(${constants_3.LUVIO_IDENTIFIER}: ${constants_3.LUVIO_IMPORT}, ${constants_2.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}): ${constants_2.ADAPTER_FRAGMENT_IDENTIFIER} {
|
|
19
|
+
return ${resourceSelect}(${constants_3.LUVIO_IDENTIFIER}, ${constants_2.ADAPTER_CONFIG_IDENTIFIER});
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
exports.generateAdapterFragmentFunction = generateAdapterFragmentFunction;
|
|
24
|
+
//# sourceMappingURL=adapter-fragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-fragment.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-fragment.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA+C;AAC/C,wDAAsE;AACtE,kCAAmD;AAEnD,4CAIsB;AACtB,sDAAwE;AAExE,SAAgB,+BAA+B,CAC3C,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC/D,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAEvC,MAAM,yBAAyB,GAAG,kBAAkB,CAChD,SAAS,EACT,IAAA,+BAAwB,EAAC,WAAW,CAAC,CACxC,CAAC;IACF,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,sCAA0B,CAAC,CAAC;IAEnF,OAAO,IAAA,kBAAQ,EAAA;0BACO,4BAAgB,IAAI,4BAAgB,KAAK,wBAAY,KAAK,qCAAyB,KAAK,yBAAyB,MAAM,uCAA2B;qBACvJ,cAAc,IAAI,4BAAgB,KAAK,qCAAyB;;KAEhF,CAAC;AACN,CAAC;AAnBD,0EAmBC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AdapterAnnotation } from '../../../intermediate/adapter-annotation';
|
|
2
|
+
import type { Resource } from '../../../intermediate/resource';
|
|
3
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
4
|
+
export declare function generateResourceError(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource): string;
|
|
@@ -0,0 +1,33 @@
|
|
|
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.generateResourceError = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const adapter_utils_1 = require("../../adapter-utils");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
const constants_2 = require("../../shared/constants");
|
|
11
|
+
const util_1 = require("../util");
|
|
12
|
+
const resource_params_1 = require("../../resource/resource-params");
|
|
13
|
+
const ingest_error_1 = require("../../resource/ingest-error");
|
|
14
|
+
function generateResourceError(context, adapterAnnotation, resource) {
|
|
15
|
+
const { id: resourceId } = resource;
|
|
16
|
+
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
17
|
+
const { importAdapterUtil, importRamlArtifact } = context;
|
|
18
|
+
const configInterfaceIdentifier = importRamlArtifact(adapterId, (0, util_1.buildConfigInterfaceName)(adapterName));
|
|
19
|
+
const resourceParamsIdentifier = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
20
|
+
const resourceIngestError = importRamlArtifact(resourceId, ingest_error_1.RESOURCE_INGEST_ERROR_IDENTIFIER);
|
|
21
|
+
const buildNetworkSnapshotIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_BUILD_NETWORK_SNAPSHOT);
|
|
22
|
+
const refreshOptionsIdentifier = importAdapterUtil('snapshotRefreshOptions');
|
|
23
|
+
const snapshotRefresh = (0, adapter_utils_1.generateSnapshotRefresh)(constants_1.ADAPTER_CONFIG_IDENTIFIER, buildNetworkSnapshotIdentifier, constants_2.LUVIO_IDENTIFIER, refreshOptionsIdentifier);
|
|
24
|
+
return (0, deindent_1.default) `
|
|
25
|
+
export function ${constants_1.ADAPTER_ON_RESOURCE_RESPONSE_ERROR}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}: ${resourceParamsIdentifier}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_ERROR_RESPONSE_INTERFACE_IDENTIFIER}) {
|
|
26
|
+
const ${constants_1.ADAPTER_SNAPSHOT_IDENTIFIER} = ${resourceIngestError}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}, ${snapshotRefresh});
|
|
27
|
+
${constants_2.LUVIO_IDENTIFIER}.storeBroadcast();
|
|
28
|
+
return ${constants_1.ADAPTER_SNAPSHOT_IDENTIFIER};
|
|
29
|
+
}
|
|
30
|
+
`;
|
|
31
|
+
}
|
|
32
|
+
exports.generateResourceError = generateResourceError;
|
|
33
|
+
//# sourceMappingURL=adapter-resource-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-resource-error.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-resource-error.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA+C;AAC/C,uDAA8D;AAC9D,4CAQsB;AACtB,sDAAwE;AACxE,kCAAmD;AACnD,oEAA2E;AAC3E,8DAA+E;AAG/E,SAAgB,qBAAqB,CACjC,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC/D,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAE1D,MAAM,yBAAyB,GAAG,kBAAkB,CAChD,SAAS,EACT,IAAA,+BAAwB,EAAC,WAAW,CAAC,CACxC,CAAC;IACF,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IAE3F,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,UAAU,EAAE,+CAAgC,CAAC,CAAC;IAE7F,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,0CAA8B,CACjC,CAAC;IACF,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAE7E,MAAM,eAAe,GAAG,IAAA,uCAAuB,EAC3C,qCAAyB,EACzB,8BAA8B,EAC9B,4BAAgB,EAChB,wBAAwB,CAC3B,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;0BACO,8CAAkC,IAAI,4BAAgB,KAAK,wBAAY,KAAK,qCAAyB,KAAK,yBAAyB,KAAK,8CAAkC,KAAK,wBAAwB,KAAK,uCAA2B,KAAK,uDAA2C;oBAC7R,uCAA2B,MAAM,mBAAmB,IAAI,4BAAgB,KAAK,qCAAyB,KAAK,8CAAkC,KAAK,uCAA2B,KAAK,eAAe;cACvM,4BAAgB;qBACT,uCAA2B;;KAE3C,CAAC;AACN,CAAC;AArCD,sDAqCC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AdapterAnnotation } from '../../../intermediate/adapter-annotation';
|
|
2
|
+
import type { Resource } from '../../../intermediate/resource';
|
|
3
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
4
|
+
export declare function generateResourceSuccess(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource): string;
|
|
@@ -0,0 +1,35 @@
|
|
|
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.generateResourceSuccess = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const adapter_utils_1 = require("../../adapter-utils");
|
|
9
|
+
const ingest_success_1 = require("../../resource/ingest-success");
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
|
+
const constants_2 = require("../../shared/constants");
|
|
12
|
+
const util_1 = require("../util");
|
|
13
|
+
const resource_params_1 = require("../../resource/resource-params");
|
|
14
|
+
function generateResourceSuccess(context, adapterAnnotation, resource) {
|
|
15
|
+
const { returnShape, id: resourceId } = resource;
|
|
16
|
+
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
17
|
+
const { importAdapterUtil, importRamlArtifact } = context;
|
|
18
|
+
const returnShapeName = returnShape.name;
|
|
19
|
+
const resourceTypeIdentifier = importRamlArtifact(returnShape.id, returnShapeName);
|
|
20
|
+
const configInterfaceIdentifier = importRamlArtifact(adapterId, (0, util_1.buildConfigInterfaceName)(adapterName));
|
|
21
|
+
const resourceParamsIdentifier = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
22
|
+
const resourceIngestSuccess = importRamlArtifact(resourceId, ingest_success_1.RESOURCE_INGEST_SUCCESS_IDENTIFIER);
|
|
23
|
+
const buildNetworkSnapshotIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_BUILD_NETWORK_SNAPSHOT);
|
|
24
|
+
const refreshOptionsIdentifier = importAdapterUtil('snapshotRefreshOptions');
|
|
25
|
+
const snapshotRefresh = (0, adapter_utils_1.generateSnapshotRefresh)(constants_1.ADAPTER_CONFIG_IDENTIFIER, buildNetworkSnapshotIdentifier, constants_2.LUVIO_IDENTIFIER, refreshOptionsIdentifier);
|
|
26
|
+
return (0, deindent_1.default) `
|
|
27
|
+
export function ${constants_1.ADAPTER_ON_RESOURCE_RESPONSE_SUCCESS}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}: ${resourceParamsIdentifier}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_RESOURCE_RESPONSE_INTERFACE_IDENTIFIER}<${resourceTypeIdentifier}>) {
|
|
28
|
+
const ${constants_1.ADAPTER_SNAPSHOT_IDENTIFIER} = ${resourceIngestSuccess}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}, ${snapshotRefresh});
|
|
29
|
+
${constants_2.LUVIO_IDENTIFIER}.storeBroadcast();
|
|
30
|
+
return ${constants_1.ADAPTER_SNAPSHOT_IDENTIFIER};
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
exports.generateResourceSuccess = generateResourceSuccess;
|
|
35
|
+
//# sourceMappingURL=adapter-resource-success.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-resource-success.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/adapter-resource-success.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA+C;AAC/C,uDAA8D;AAC9D,kEAAmF;AACnF,4CAQsB;AACtB,sDAAwE;AACxE,kCAAmD;AACnD,oEAA2E;AAG3E,SAAgB,uBAAuB,CACnC,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC/D,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAC1D,MAAM,eAAe,GAAG,WAAY,CAAC,IAAI,CAAC;IAC1C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,WAAY,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,yBAAyB,GAAG,kBAAkB,CAChD,SAAS,EACT,IAAA,+BAAwB,EAAC,WAAW,CAAC,CACxC,CAAC;IACF,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IAE3F,MAAM,qBAAqB,GAAG,kBAAkB,CAC5C,UAAU,EACV,mDAAkC,CACrC,CAAC;IACF,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,0CAA8B,CACjC,CAAC;IACF,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,IAAA,uCAAuB,EAC3C,qCAAyB,EACzB,8BAA8B,EAC9B,4BAAgB,EAChB,wBAAwB,CAC3B,CAAC;IAEF,OAAO,IAAA,kBAAQ,EAAA;0BACO,gDAAoC,IAAI,4BAAgB,KAAK,wBAAY,KAAK,qCAAyB,KAAK,yBAAyB,KAAK,8CAAkC,KAAK,wBAAwB,KAAK,uCAA2B,KAAK,0DAA8C,IAAI,sBAAsB;oBAC5T,uCAA2B,MAAM,qBAAqB,IAAI,4BAAgB,KAAK,qCAAyB,KAAK,8CAAkC,KAAK,uCAA2B,KAAK,eAAe;cACzM,4BAAgB;qBACT,uCAA2B;;KAE3C,CAAC;AACN,CAAC;AAvCD,0DAuCC"}
|
|
@@ -6,7 +6,7 @@ const adapter_browser_factory_1 = require("../adapter-browser-factory");
|
|
|
6
6
|
const adapter_build_snapshot_context_1 = require("../adapter-build-snapshot-context");
|
|
7
7
|
const adapter_cache_1 = require("../adapter-cache");
|
|
8
8
|
const adapter_config_validation_1 = require("../adapter-config-validation");
|
|
9
|
-
const adapter_fragment_1 = require("
|
|
9
|
+
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");
|
|
@@ -14,8 +14,8 @@ 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");
|
|
17
|
-
const adapter_resource_error_1 = require("
|
|
18
|
-
const adapter_resource_success_1 = require("
|
|
17
|
+
const adapter_resource_error_1 = require("./adapter-resource-error");
|
|
18
|
+
const adapter_resource_success_1 = require("./adapter-resource-success");
|
|
19
19
|
const adapter_validation_config_object_1 = require("../adapter-validation-config-object");
|
|
20
20
|
const create_resource_params_1 = require("../create-resource-params");
|
|
21
21
|
const adapter_prepare_request_1 = require("../adapter-prepare-request");
|
|
@@ -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,
|
|
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,wDAA6D;AAC7D,kFAA6F;AAC7F,oEAAgE;AAChE,oEAAsE;AACtE,qEAAiE;AACjE,yEAAqE;AACrE,0FAA4F;AAC5F,sEAAyE;AACzE,wEAAoE;AAGpE,yEAAmF;AACnF,6EAAiF;AACjF,oCAAiD;AACjD,4CAA0E;AAC1E,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,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC5C,MAAM,gCAAgC,GAAG,aAAa,CAAC,kBAAkB,CACrE,SAAS,EACT,sDAA0C,CAC7C,CAAC;IACF,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,EACnB,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,gCAAgC,CACnC;QACD,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;AApDD,wDAoDC"}
|
|
@@ -6,6 +6,5 @@ export declare function buildAdapterValidationConfigObjectName(adapterName: stri
|
|
|
6
6
|
export declare function buildConfigInterfaceName(adapterName: string): string;
|
|
7
7
|
export declare function buildAdapterFactoryName(adapterName: string): string;
|
|
8
8
|
export declare function buildParameterMapEntry(parameter: ResourceParamInfo): string;
|
|
9
|
-
export declare function buildResourceConfigMap(paramInfos: ResourceParamInfo[]): string;
|
|
10
9
|
export declare function getSiblingGetReturnShapeForDelete(deleteResource: Resource, modelInfo: ModelInfo): NodeShapeDefinition | undefined;
|
|
11
10
|
export declare function isPaginatedResource(resource: Resource): boolean;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPaginatedResource = exports.getSiblingGetReturnShapeForDelete = exports.
|
|
4
|
-
const resource_1 = require("../../intermediate/resource");
|
|
3
|
+
exports.isPaginatedResource = exports.getSiblingGetReturnShapeForDelete = exports.buildParameterMapEntry = exports.buildAdapterFactoryName = exports.buildConfigInterfaceName = exports.buildAdapterValidationConfigObjectName = void 0;
|
|
5
4
|
const format_1 = require("../../utils/format");
|
|
6
5
|
const constants_1 = require("./constants");
|
|
7
|
-
const index_1 = require("./index");
|
|
8
6
|
function buildAdapterValidationConfigObjectName(adapterName) {
|
|
9
7
|
return `${adapterName}_ConfigPropertyNames`;
|
|
10
8
|
}
|
|
@@ -22,37 +20,6 @@ function buildParameterMapEntry(parameter) {
|
|
|
22
20
|
return `${name}: ${constants_1.ADAPTER_CONFIG_IDENTIFIER}.${name}`;
|
|
23
21
|
}
|
|
24
22
|
exports.buildParameterMapEntry = buildParameterMapEntry;
|
|
25
|
-
function buildResourceConfigMap(paramInfos) {
|
|
26
|
-
const urlParameters = paramInfos.filter((pi) => pi.resourceParamType === index_1.ResourceParamType.UrlParameter);
|
|
27
|
-
const queryParameters = paramInfos.filter((pi) => pi.resourceParamType === index_1.ResourceParamType.QueryParameter);
|
|
28
|
-
const bodyShape = paramInfos.filter((pi) => pi.resourceParamType === index_1.ResourceParamType.Body);
|
|
29
|
-
const headers = paramInfos.filter((pi) => pi.resourceParamType === index_1.ResourceParamType.Header);
|
|
30
|
-
let urlParamsString = '';
|
|
31
|
-
if (urlParameters.length > 0) {
|
|
32
|
-
const urlParamsMap = urlParameters.map(buildParameterMapEntry);
|
|
33
|
-
urlParamsString = `${resource_1.CONFIG_PROPERTY_URL_PARAMS}: { ${urlParamsMap.join(', ')} }`;
|
|
34
|
-
}
|
|
35
|
-
let queryParamsString = '';
|
|
36
|
-
if (queryParameters.length > 0) {
|
|
37
|
-
const queryParamsMap = queryParameters.map(buildParameterMapEntry);
|
|
38
|
-
queryParamsString = `${resource_1.CONFIG_PROPERTY_QUERY_PARAMS}: { ${queryParamsMap.join(', ')} }`;
|
|
39
|
-
}
|
|
40
|
-
let bodyString = '';
|
|
41
|
-
if (bodyShape.length > 0) {
|
|
42
|
-
const bodyMap = bodyShape.map(buildParameterMapEntry);
|
|
43
|
-
bodyString = `${resource_1.CONFIG_PROPERTY_BODY}: { ${bodyMap.join(', ')} }`;
|
|
44
|
-
}
|
|
45
|
-
let headersString = '';
|
|
46
|
-
if (headers.length > 0) {
|
|
47
|
-
const headersMap = headers.map(buildParameterMapEntry);
|
|
48
|
-
headersString = `${resource_1.CONFIG_PROPERTY_HEADERS}: { ${headersMap.join(', ')} }`;
|
|
49
|
-
}
|
|
50
|
-
const allParamsString = [urlParamsString, queryParamsString, bodyString, headersString]
|
|
51
|
-
.filter(Boolean)
|
|
52
|
-
.join(',\n');
|
|
53
|
-
return `{ ${allParamsString} }`;
|
|
54
|
-
}
|
|
55
|
-
exports.buildResourceConfigMap = buildResourceConfigMap;
|
|
56
23
|
function getSiblingGetReturnShapeForDelete(deleteResource, modelInfo) {
|
|
57
24
|
var _a;
|
|
58
25
|
const { resources } = modelInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/codegen/adapter/util.ts"],"names":[],"mappings":";;;AAGA
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/codegen/adapter/util.ts"],"names":[],"mappings":";;;AAGA,+CAA8D;AAC9D,2CAAwD;AAGxD,SAAgB,sCAAsC,CAAC,WAAmB;IACtE,OAAO,GAAG,WAAW,sBAAsB,CAAC;AAChD,CAAC;AAFD,wFAEC;AAED,SAAgB,wBAAwB,CAAC,WAAmB;IACxD,OAAO,IAAA,iCAAwB,EAAC,GAAG,WAAW,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAFD,4DAEC;AAED,SAAgB,uBAAuB,CAAC,WAAmB;IACvD,OAAO,GAAG,WAAW,gBAAgB,CAAC;AAC1C,CAAC;AAFD,0DAEC;AAED,SAAgB,sBAAsB,CAAC,SAA4B;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAE3B,OAAO,GAAG,IAAI,KAAK,qCAAyB,IAAI,IAAI,EAAE,CAAC;AAC3D,CAAC;AAJD,wDAIC;AAED,SAAgB,iCAAiC,CAC7C,cAAwB,EACxB,SAAoB;;IAEpB,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAChC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;IAEhG,IAAI,WAAW,KAAK,SAAS,EAAE;QAC3B,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,cAAc,GAAG,MAAA,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,0CAAE,WAAW,CAAC;IAC/F,OAAO,cAAe,CAAC;AAC3B,CAAC;AAbD,8EAaC;AAED,SAAgB,mBAAmB,CAAC,QAAkB;IAClD,OAAO,QAAQ,CAAC,gBAAgB,KAAK,SAAS,CAAC;AACnD,CAAC;AAFD,kDAEC"}
|
|
@@ -6,6 +6,7 @@ export declare const TIMESTAMP_IDENTIFIER = "timestamp";
|
|
|
6
6
|
export declare const CREATE_LINK_IDENTIFIER = "createLink";
|
|
7
7
|
export declare const TYPE_UTIL_IDENTIFIER = "type-util";
|
|
8
8
|
export declare const TYPE_INGEST_IDENTIFIER = "ingest";
|
|
9
|
+
export declare const TYPE_CONVERT_IDENTIFIER = "convertGraphQLToRaml";
|
|
9
10
|
export declare const TYPE_CACHE_KEYS_IDENTIFIER = "getTypeCacheKeys";
|
|
10
11
|
export declare const KEY_BUILDER_IDENTIFIER = "keyBuilder";
|
|
11
12
|
export declare const SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = "serializeFieldArguments";
|
|
@@ -23,3 +24,4 @@ export declare const GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER = "getQuery
|
|
|
23
24
|
export declare const GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = "getQueryTransformHelperForType";
|
|
24
25
|
export declare const GET_MINIMUM_FIELDS_IDENTIFIER = "getMinimumFields";
|
|
25
26
|
export declare const QUERY_TRANSFORM_HELPER_IDENTIFIER = "QueryTransformHelper";
|
|
27
|
+
export declare const GET_FIELD_TYPE_IDENTIFIER = "getFieldType";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
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_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.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;
|
|
4
4
|
exports.GRAPHQL_VARIABLES_IDENTIFIER = 'GraphQLVariables';
|
|
5
5
|
exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = 'GraphQLFragmentMap';
|
|
6
6
|
exports.GRAPHQL_INGEST_STATE_INTERFACE_IDENTIFIER = 'GraphQLIngestState';
|
|
@@ -9,6 +9,7 @@ exports.TIMESTAMP_IDENTIFIER = 'timestamp';
|
|
|
9
9
|
exports.CREATE_LINK_IDENTIFIER = 'createLink';
|
|
10
10
|
exports.TYPE_UTIL_IDENTIFIER = 'type-util';
|
|
11
11
|
exports.TYPE_INGEST_IDENTIFIER = 'ingest';
|
|
12
|
+
exports.TYPE_CONVERT_IDENTIFIER = 'convertGraphQLToRaml';
|
|
12
13
|
exports.TYPE_CACHE_KEYS_IDENTIFIER = 'getTypeCacheKeys';
|
|
13
14
|
exports.KEY_BUILDER_IDENTIFIER = 'keyBuilder';
|
|
14
15
|
exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = 'serializeFieldArguments';
|
|
@@ -26,4 +27,5 @@ exports.GET_QUERY_TRANSFORM_HELPER_FOR_FIELD_IDENTIFIER = 'getQueryTransformHelp
|
|
|
26
27
|
exports.GET_QUERY_TRANSFORM_HELPER_FOR_TYPE_IDENTIFIER = 'getQueryTransformHelperForType';
|
|
27
28
|
exports.GET_MINIMUM_FIELDS_IDENTIFIER = 'getMinimumFields';
|
|
28
29
|
exports.QUERY_TRANSFORM_HELPER_IDENTIFIER = 'QueryTransformHelper';
|
|
30
|
+
exports.GET_FIELD_TYPE_IDENTIFIER = 'getFieldType';
|
|
29
31
|
//# 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,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"}
|
|
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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ObjectTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
2
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
+
import type { NormalizableTypes } from '../utils';
|
|
4
|
+
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
5
|
+
import type { ModelInfo } from '../../../main';
|
|
6
|
+
export declare function generateRamlConversion(graphqlDsl: LuvioGraphQLDSL, graphqlTypeName: string, importContext: ImportContext, def: ObjectTypeDefinitionNode, modelInfo: ModelInfo, graphqlStateInterface: string, normalizableTypeMap: NormalizableTypes): string;
|
|
@@ -0,0 +1,174 @@
|
|
|
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.generateRamlConversion = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../shared/constants");
|
|
9
|
+
const utils_1 = require("../utils");
|
|
10
|
+
const utils_2 = require("./utils");
|
|
11
|
+
const constants_2 = require("./constants");
|
|
12
|
+
const interface_1 = require("./interface");
|
|
13
|
+
const types_1 = require("../utils/types");
|
|
14
|
+
const REQUESTED_FIELDS_IDENTIFIER = 'requestedFields';
|
|
15
|
+
function generateConvertScalarField(graphqlFieldName, ramlFieldName) {
|
|
16
|
+
return (0, deindent_1.default) `
|
|
17
|
+
case "${graphqlFieldName}": {
|
|
18
|
+
${constants_2.SINK_IDENTIFIER}["${ramlFieldName}"] = data["${graphqlFieldName}"];
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
function generateConvertNamedTypeField(graphqlField, typeNode, ramlFieldName, importContext, normalizableTypeMap) {
|
|
24
|
+
const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
|
|
25
|
+
const { importGraphQLArtifact } = importContext;
|
|
26
|
+
const graphqlFieldName = graphqlField.name.value;
|
|
27
|
+
const isScalar = normalizableTypeMap[graphqlTypeName] === undefined;
|
|
28
|
+
if (isScalar) {
|
|
29
|
+
return generateConvertScalarField(graphqlFieldName, ramlFieldName);
|
|
30
|
+
}
|
|
31
|
+
const typeConvertImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_CONVERT_IDENTIFIER);
|
|
32
|
+
const fieldStateIdentifier = `${graphqlFieldName}State`;
|
|
33
|
+
return (0, deindent_1.default) `
|
|
34
|
+
case '${graphqlFieldName}': {
|
|
35
|
+
const ${fieldStateIdentifier} = {
|
|
36
|
+
...state,
|
|
37
|
+
path: {
|
|
38
|
+
parent: null,
|
|
39
|
+
propertyName: ${constants_2.FIELD_KEY_IDENTIFIER},
|
|
40
|
+
fullPath: key + '__' + ${constants_2.FIELD_KEY_IDENTIFIER}
|
|
41
|
+
},
|
|
42
|
+
data: ${constants_2.FIELD_DATA_IDENTIFIER},
|
|
43
|
+
};
|
|
44
|
+
${constants_2.SINK_IDENTIFIER}["${ramlFieldName}"] = ${typeConvertImport}(
|
|
45
|
+
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
46
|
+
${fieldStateIdentifier} as any
|
|
47
|
+
);
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
`;
|
|
51
|
+
}
|
|
52
|
+
function generateConvertListType(graphqlField, typeNode, ramlFieldName, importContext, normalizableTypeMap) {
|
|
53
|
+
const { importGraphQLArtifact } = importContext;
|
|
54
|
+
const graphqlFieldName = graphqlField.name.value;
|
|
55
|
+
const graphqlTypeName = (0, utils_1.resolveTypeName)(typeNode);
|
|
56
|
+
const fullPathIdentifier = `fullPath__${graphqlFieldName}`;
|
|
57
|
+
const collectionIdentifier = `${graphqlFieldName}__items`;
|
|
58
|
+
// Non-normalizable types
|
|
59
|
+
const isScalar = normalizableTypeMap[graphqlTypeName] === undefined;
|
|
60
|
+
if (isScalar) {
|
|
61
|
+
return generateConvertScalarField(graphqlFieldName, ramlFieldName);
|
|
62
|
+
}
|
|
63
|
+
const typeConvertImport = importGraphQLArtifact('types', graphqlTypeName, constants_2.TYPE_CONVERT_IDENTIFIER);
|
|
64
|
+
const recursivePartialInterface = importContext.importTypeUtil('RecursivePartial');
|
|
65
|
+
return (0, deindent_1.default) `
|
|
66
|
+
case '${graphqlFieldName}': {
|
|
67
|
+
const ${collectionIdentifier}: ${recursivePartialInterface}<NonNullable<ReturnType<typeof ${typeConvertImport}>>>[] = [];
|
|
68
|
+
const ${fullPathIdentifier} = \`\${key}__\${${constants_2.FIELD_KEY_IDENTIFIER}}\`;
|
|
69
|
+
for(let i = 0, len = ${constants_2.FIELD_DATA_IDENTIFIER}.length; i < len; i++) {
|
|
70
|
+
const item = ${constants_2.FIELD_DATA_IDENTIFIER}[i];
|
|
71
|
+
const itemState = {
|
|
72
|
+
...state,
|
|
73
|
+
path: {
|
|
74
|
+
parent: null,
|
|
75
|
+
propertyName: i,
|
|
76
|
+
fullPath: ${fullPathIdentifier} + i
|
|
77
|
+
},
|
|
78
|
+
data: item,
|
|
79
|
+
};
|
|
80
|
+
${collectionIdentifier}[i] = ${typeConvertImport}(
|
|
81
|
+
${constants_2.REQUESTED_FIELD_IDENTIFIER},
|
|
82
|
+
itemState as any
|
|
83
|
+
) || {};
|
|
84
|
+
}
|
|
85
|
+
${constants_2.SINK_IDENTIFIER}["${ramlFieldName}"] = ${collectionIdentifier};
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
function generateConvertType(field, typeNode, ramlFieldName, importContext, normalizableTypeMap) {
|
|
91
|
+
if (field === undefined) {
|
|
92
|
+
return '';
|
|
93
|
+
}
|
|
94
|
+
switch (typeNode.kind) {
|
|
95
|
+
case 'NamedType':
|
|
96
|
+
return generateConvertNamedTypeField(field, typeNode, ramlFieldName, importContext, normalizableTypeMap);
|
|
97
|
+
case 'ListType':
|
|
98
|
+
return generateConvertListType(field, typeNode, ramlFieldName, importContext, normalizableTypeMap);
|
|
99
|
+
default:
|
|
100
|
+
return generateConvertType(field, typeNode.type, ramlFieldName, importContext, normalizableTypeMap);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function getRequestedFieldsStatement(importContext) {
|
|
104
|
+
const getRequestedFieldsImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER);
|
|
105
|
+
return (0, deindent_1.default) `
|
|
106
|
+
const ${REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] =
|
|
107
|
+
astNode && astNode.selectionSet ?
|
|
108
|
+
${getRequestedFieldsImport}(name, astNode.selectionSet, state.fragments) :
|
|
109
|
+
[];
|
|
110
|
+
`;
|
|
111
|
+
}
|
|
112
|
+
function generateRamlConversion(graphqlDsl, graphqlTypeName, importContext, def, modelInfo, graphqlStateInterface, normalizableTypeMap) {
|
|
113
|
+
var _a;
|
|
114
|
+
// get the target RAML type ingest function
|
|
115
|
+
const { schema, typeNameToExtensions } = graphqlDsl;
|
|
116
|
+
const ramlTypeName = (0, utils_2.getRamlTypeName)(typeNameToExtensions, graphqlTypeName);
|
|
117
|
+
if (ramlTypeName === undefined) {
|
|
118
|
+
return '';
|
|
119
|
+
}
|
|
120
|
+
const ramlTypeId = (0, utils_2.getRamlTypeIdByName)(ramlTypeName, modelInfo);
|
|
121
|
+
if (ramlTypeId === undefined) {
|
|
122
|
+
return '';
|
|
123
|
+
}
|
|
124
|
+
const { importRamlArtifact } = importContext;
|
|
125
|
+
const ramlInterface = importRamlArtifact(ramlTypeId, ramlTypeName);
|
|
126
|
+
// get RAML mapping
|
|
127
|
+
const graphqlFields = (0, types_1.getObjectFields)(def);
|
|
128
|
+
const ramlIngestStatements = graphqlFields
|
|
129
|
+
.filter((graphqlField) => graphqlField.type !== undefined)
|
|
130
|
+
.map((graphqlField) => {
|
|
131
|
+
const graphqlFieldName = graphqlField.name.value;
|
|
132
|
+
const ramlFieldName = (0, utils_2.getRamlFieldName)(typeNameToExtensions, graphqlTypeName, graphqlFieldName);
|
|
133
|
+
if (ramlFieldName === undefined) {
|
|
134
|
+
return '';
|
|
135
|
+
}
|
|
136
|
+
return generateConvertType(graphqlField, graphqlField.type, ramlFieldName, importContext, normalizableTypeMap);
|
|
137
|
+
})
|
|
138
|
+
.filter((ramlIngestStatement) => ramlIngestStatement !== '');
|
|
139
|
+
if (ramlIngestStatements.length === 0) {
|
|
140
|
+
return '';
|
|
141
|
+
}
|
|
142
|
+
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === graphqlTypeName
|
|
143
|
+
? constants_1.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
144
|
+
: constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
145
|
+
const getRequestedFieldImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
|
|
146
|
+
const getFieldKeyImport = importContext.importGraphQLArtifact('types', constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER);
|
|
147
|
+
const recursivePartialInterface = importContext.importTypeUtil('RecursivePartial');
|
|
148
|
+
return (0, deindent_1.default) `
|
|
149
|
+
export function convertGraphQLToRaml (astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
|
|
150
|
+
const { ${constants_1.LUVIO_IDENTIFIER}, path, data } = state;
|
|
151
|
+
const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(${constants_1.LUVIO_IDENTIFIER}, path, data);
|
|
152
|
+
const ${constants_2.SINK_IDENTIFIER}: ${recursivePartialInterface}<${ramlInterface}> = {};
|
|
153
|
+
${getRequestedFieldsStatement(importContext)}
|
|
154
|
+
for (const ${constants_2.FIELD_DATA_KEY_IDENTIFIER} of Object.keys(data)) {
|
|
155
|
+
const ${constants_2.FIELD_DATA_IDENTIFIER} = data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}];
|
|
156
|
+
const ${constants_2.REQUESTED_FIELD_IDENTIFIER} = ${getRequestedFieldImport}(${constants_2.FIELD_DATA_KEY_IDENTIFIER}, ${REQUESTED_FIELDS_IDENTIFIER});
|
|
157
|
+
if(${constants_2.REQUESTED_FIELD_IDENTIFIER} === undefined) {
|
|
158
|
+
break; // TODO: (W-11132802) We got a field back we didn't ask for. Call handleUnknownField.
|
|
159
|
+
}
|
|
160
|
+
const ${constants_2.FIELD_KEY_IDENTIFIER} = ${getFieldKeyImport}(${constants_2.REQUESTED_FIELD_IDENTIFIER}, state.variables);
|
|
161
|
+
switch(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value) {
|
|
162
|
+
${ramlIngestStatements.join('\n')}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (Object.keys(${constants_2.SINK_IDENTIFIER}).length === 0) {
|
|
167
|
+
return undefined;
|
|
168
|
+
}
|
|
169
|
+
return ${constants_2.SINK_IDENTIFIER};
|
|
170
|
+
}
|
|
171
|
+
`;
|
|
172
|
+
}
|
|
173
|
+
exports.generateRamlConversion = generateRamlConversion;
|
|
174
|
+
//# sourceMappingURL=convert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,12 +80,12 @@ function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
|
80
80
|
case("StringValue"):
|
|
81
81
|
return valueNode.value
|
|
82
82
|
case("ListValue"):
|
|
83
|
-
const mutableValueNodeList = Object.assign([] as
|
|
83
|
+
const mutableValueNodeList = Object.assign([] as ${constants_2.LUVIO_GRAPHQL_VALUE_NODE_IMPORT}[], valueNode.values);
|
|
84
84
|
return mutableValueNodeList.sort(
|
|
85
85
|
(a, b) =>{
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
return
|
|
86
|
+
const aVal = serializeValueNode(a, variables).toUpperCase()
|
|
87
|
+
const bVal = serializeValueNode(b, variables).toUpperCase()
|
|
88
|
+
return aVal < bVal ? -1 : (aVal > bVal) ? 1 : 0
|
|
89
89
|
}).map((val, i) => serializeValueNode(val, variables) + \`[\${i}]\`).join(',')
|
|
90
90
|
case("Variable"):
|
|
91
91
|
return variables[valueNode.name.value] + "" //TODO: Is this correct serialization for object type variables?
|