@luvio/compiler 0.58.1 → 0.61.0-236.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen/adapter/adapter-network-cache-policy.js +1 -1
- package/dist/codegen/adapter/adapter-network-cache-policy.js.map +1 -1
- package/dist/codegen/adapter/adapter-network.js +3 -2
- package/dist/codegen/adapter/adapter-network.js.map +1 -1
- package/dist/codegen/adapter/adapter-resolve-unfulfilled.d.ts +4 -0
- package/dist/codegen/adapter/adapter-resolve-unfulfilled.js +39 -0
- package/dist/codegen/adapter/adapter-resolve-unfulfilled.js.map +1 -0
- package/dist/codegen/adapter/index.js +0 -2
- package/dist/codegen/adapter/index.js.map +1 -1
- package/dist/codegen/resource/composite/child-envelopes.d.ts +6 -0
- package/dist/codegen/resource/composite/child-envelopes.js +31 -0
- package/dist/codegen/resource/composite/child-envelopes.js.map +1 -0
- package/dist/codegen/resource/composite/ingest-success-child-resource-params.js +3 -3
- package/dist/codegen/resource/composite/ingest-success-child-resource-params.js.map +1 -1
- package/dist/codegen/resource/composite/ingest-success.d.ts +0 -1
- package/dist/codegen/resource/composite/ingest-success.js +5 -16
- package/dist/codegen/resource/composite/ingest-success.js.map +1 -1
- package/dist/codegen/resource/composite/response-child-cache-keys.d.ts +6 -0
- package/dist/codegen/resource/composite/response-child-cache-keys.js +77 -0
- package/dist/codegen/resource/composite/response-child-cache-keys.js.map +1 -0
- package/dist/codegen/resource/index.js +2 -0
- package/dist/codegen/resource/index.js.map +1 -1
- package/dist/codegen/resource/response-cache-keys.d.ts +5 -0
- package/dist/codegen/resource/response-cache-keys.js +45 -0
- package/dist/codegen/resource/response-cache-keys.js.map +1 -0
- package/dist/codegen/shape/index.js +2 -0
- package/dist/codegen/shape/index.js.map +1 -1
- package/dist/codegen/shape/shape-cache-keys.d.ts +7 -0
- package/dist/codegen/shape/shape-cache-keys.js +289 -0
- package/dist/codegen/shape/shape-cache-keys.js.map +1 -0
- package/package.json +5 -4
- package/dist/codegen/adapter/adapter-response-keys.d.ts +0 -4
- package/dist/codegen/adapter/adapter-response-keys.js +0 -44
- package/dist/codegen/adapter/adapter-response-keys.js.map +0 -1
|
@@ -18,7 +18,7 @@ function generateNetworkSnapshotFunctionCachePolicy(context, adapterAnnotation,
|
|
|
18
18
|
const snapshotTypeDefinition = `${constants_2.ADAPTER_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, any>`;
|
|
19
19
|
const buildNetworkSnapshotIdentifier = importRamlArtifact(adapterId, constants_2.ADAPTER_BUILD_NETWORK_SNAPSHOT);
|
|
20
20
|
return deindent_1.default `
|
|
21
|
-
export function ${constants_2.ADAPTER_BUILD_NETWORK_SNAPSHOT_FOR_CACHE_POLICY}(${constants_2.ADAPTER_BUILD_SNAPSHOT_CONTEXT_IDENTIFIER}: ${constants_2.ADAPTER_BUILD_SNAPSHOT_CONTEXT_TYPE_IDENTIFIER}, _${dispatchResourceRequestIdentifier}
|
|
21
|
+
export function ${constants_2.ADAPTER_BUILD_NETWORK_SNAPSHOT_FOR_CACHE_POLICY}(${constants_2.ADAPTER_BUILD_SNAPSHOT_CONTEXT_IDENTIFIER}: ${constants_2.ADAPTER_BUILD_SNAPSHOT_CONTEXT_TYPE_IDENTIFIER}, _${dispatchResourceRequestIdentifier}?: ${constants_2.DISPATCH_RESOURCE_REQUEST_IMPORT_IDENTIFIER}<${resourceTypeIdentifier}>) : Promise<${snapshotTypeDefinition}> {
|
|
22
22
|
${adapter_build_snapshot_context_1.generateSnapshotContextDestructuring()}
|
|
23
23
|
return ${buildNetworkSnapshotIdentifier}(${constants_1.LUVIO_IDENTIFIER}, ${constants_2.ADAPTER_CONFIG_IDENTIFIER});
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-network-cache-policy.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network-cache-policy.ts"],"names":[],"mappings":";;;;;;AAEA,mDAAuD;AACvD,oEAA4C;AAC5C,2CAQqB;AAErB,qFAAwF;AAExF,MAAM,iCAAiC,GAAG,yBAAyB,CAAC;AAEpE,SAAgB,0CAA0C,CACtD,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAEvC,MAAM,eAAe,GAAG,WAAY,CAAC,IAAI,CAAC;IAC1C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,WAAY,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,sBAAsB,GAAG,GAAG,mCAAuB,IAAI,sBAAsB,QAAQ,CAAC;IAE5F,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,0CAA8B,CACjC,CAAC;IAEF,OAAO,kBAAQ,CAAA;0BACO,2DAA+C,IAAI,qDAAyC,KAAK,0DAA8C,MAAM,iCAAiC,
|
|
1
|
+
{"version":3,"file":"adapter-network-cache-policy.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network-cache-policy.ts"],"names":[],"mappings":";;;;;;AAEA,mDAAuD;AACvD,oEAA4C;AAC5C,2CAQqB;AAErB,qFAAwF;AAExF,MAAM,iCAAiC,GAAG,yBAAyB,CAAC;AAEpE,SAAgB,0CAA0C,CACtD,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAEvC,MAAM,eAAe,GAAG,WAAY,CAAC,IAAI,CAAC;IAC1C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,WAAY,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,sBAAsB,GAAG,GAAG,mCAAuB,IAAI,sBAAsB,QAAQ,CAAC;IAE5F,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,0CAA8B,CACjC,CAAC;IAEF,OAAO,kBAAQ,CAAA;0BACO,2DAA+C,IAAI,qDAAyC,KAAK,0DAA8C,MAAM,iCAAiC,MAAM,uDAA2C,IAAI,sBAAsB,gBAAgB,sBAAsB;cACnT,qEAAoC,EAAE;qBAC/B,8BAA8B,IAAI,4BAAgB,KAAK,qCAAyB;;KAEhG,CAAC;AACN,CAAC;AAxBD,gGAwBC"}
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.generateNetworkFunction = void 0;
|
|
7
7
|
const deindent_1 = __importDefault(require("../../utils/deindent"));
|
|
8
8
|
const create_resource_request_1 = require("../resource/create-resource-request");
|
|
9
|
+
const response_cache_keys_1 = require("../resource/response-cache-keys");
|
|
9
10
|
const constants_1 = require("./constants");
|
|
10
11
|
const constants_2 = require("../shared/constants");
|
|
11
12
|
const util_1 = require("./util");
|
|
12
|
-
const adapter_response_keys_1 = require("./adapter-response-keys");
|
|
13
13
|
function generateNetworkFunction(context, adapterAnnotation, resource) {
|
|
14
14
|
const { id: resourceId, returnShape } = resource;
|
|
15
15
|
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
@@ -22,13 +22,14 @@ function generateNetworkFunction(context, adapterAnnotation, resource) {
|
|
|
22
22
|
const createResourceParamsIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_CREATE_RESOURCE_PARAMS_IDENTIFIER);
|
|
23
23
|
const requestResponseSuccessIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_ON_RESOURCE_RESPONSE_SUCCESS);
|
|
24
24
|
const requestResponseErrorIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_ON_RESOURCE_RESPONSE_ERROR);
|
|
25
|
+
const resourceCacheKeysIdentifier = importRamlArtifact(resourceId, response_cache_keys_1.GET_RESPONSE_CACHE_KEYS_IDENTIFIER);
|
|
25
26
|
return deindent_1.default `
|
|
26
27
|
export function ${constants_1.ADAPTER_BUILD_NETWORK_SNAPSHOT}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}, ${constants_1.ADAPTER_OVERRIDE_IDENTIFIER}?: ${constants_1.ADAPTER_RESOURCE_REQUEST_OVERRIDE_IMPORT}) : Promise<${snapshotTypeDefinition}> {
|
|
27
28
|
const ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER} = ${createResourceParamsIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER});
|
|
28
29
|
const ${constants_1.ADAPTER_REQUEST_IDENTIFIER} = ${resourceIdentifier}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER});
|
|
29
30
|
return ${constants_2.LUVIO_IDENTIFIER}.dispatchResourceRequest<${resourceTypeIdentifier}>(${constants_1.ADAPTER_REQUEST_IDENTIFIER}, ${constants_1.ADAPTER_OVERRIDE_IDENTIFIER})
|
|
30
31
|
.then((${constants_1.ADAPTER_RESPONSE_IDENTIFIER}) => {
|
|
31
|
-
return ${constants_2.LUVIO_IDENTIFIER}.handleSuccessResponse(() => ${requestResponseSuccessIdentifier}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}), () => ${
|
|
32
|
+
return ${constants_2.LUVIO_IDENTIFIER}.handleSuccessResponse(() => ${requestResponseSuccessIdentifier}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}), () => ${resourceCacheKeysIdentifier}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}.body));
|
|
32
33
|
}, (${constants_1.ADAPTER_RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_FETCH_RESPONSE_INTERFACE_IDENTIFIER}<unknown>) => {
|
|
33
34
|
return ${requestResponseErrorIdentifier}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER});
|
|
34
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-network.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network.ts"],"names":[],"mappings":";;;;;;AAEA,oEAA4C;AAC5C,iFAAyF;AACzF,2CAaqB;AACrB,mDAAqE;AACrE,iCAAkD;
|
|
1
|
+
{"version":3,"file":"adapter-network.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network.ts"],"names":[],"mappings":";;;;;;AAEA,oEAA4C;AAC5C,iFAAyF;AACzF,yEAAqF;AACrF,2CAaqB;AACrB,mDAAqE;AACrE,iCAAkD;AAGlD,SAAgB,uBAAuB,CACnC,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC/D,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAEvC,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,+BAAwB,CAAC,WAAW,CAAC,CACxC,CAAC;IACF,MAAM,sBAAsB,GAAG,GAAG,mCAAuB,IAAI,sBAAsB,QAAQ,CAAC;IAE5F,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,UAAU,EAAE,4DAAkC,CAAC,CAAC;IAC9F,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,qDAAyC,CAC5C,CAAC;IACF,MAAM,gCAAgC,GAAG,kBAAkB,CACvD,SAAS,EACT,gDAAoC,CACvC,CAAC;IACF,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,8CAAkC,CACrC,CAAC;IAEF,MAAM,2BAA2B,GAAG,kBAAkB,CAClD,UAAU,EACV,wDAAkC,CACrC,CAAC;IAEF,OAAO,kBAAQ,CAAA;0BACO,0CAA8B,IAAI,4BAAgB,KAAK,wBAAY,KAAK,qCAAyB,KAAK,yBAAyB,KAAK,uCAA2B,MAAM,oDAAwC,eAAe,sBAAsB;oBACxP,8CAAkC,MAAM,8BAA8B,IAAI,qCAAyB;oBACnG,sCAA0B,MAAM,kBAAkB,IAAI,8CAAkC;qBACvF,4BAAgB,4BAA4B,sBAAsB,KAAK,sCAA0B,KAAK,uCAA2B;yBAC7H,uCAA2B;6BACvB,4BAAgB,gCAAgC,gCAAgC,IAAI,4BAAgB,KAAK,qCAAyB,KAAK,8CAAkC,KAAK,uCAA2B,YAAY,2BAA2B,IAAI,8CAAkC,KAAK,uCAA2B;sBAC7T,uCAA2B,KAAK,uDAA2C;6BACpE,8BAA8B,IAAI,4BAAgB,KAAK,qCAAyB,KAAK,8CAAkC,KAAK,uCAA2B;;;KAG/K,CAAC;AACN,CAAC;AAhDD,0DAgDC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AdapterAnnotation } from '../../intermediate/adapter-annotation';
|
|
2
|
+
import { Resource } from '../../intermediate/resource';
|
|
3
|
+
import { ImportContext } from '../../utils/imports';
|
|
4
|
+
export declare function generateResolveUnfulfilledSnapshotFunction(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource): string;
|
|
@@ -0,0 +1,39 @@
|
|
|
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.generateResolveUnfulfilledSnapshotFunction = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../utils/deindent"));
|
|
8
|
+
const create_resource_request_1 = require("../resource/create-resource-request");
|
|
9
|
+
const constants_1 = require("./constants");
|
|
10
|
+
const util_1 = require("./util");
|
|
11
|
+
function generateResolveUnfulfilledSnapshotFunction(context, adapterAnnotation, resource) {
|
|
12
|
+
const { returnShape } = resource;
|
|
13
|
+
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
14
|
+
const { importRamlArtifact } = context;
|
|
15
|
+
const returnShapeName = returnShape.name;
|
|
16
|
+
const resourceTypeIdentifier = importRamlArtifact(returnShape.id, returnShapeName);
|
|
17
|
+
const configInterfaceIdentifier = importRamlArtifact(adapterId, util_1.buildConfigInterfaceName(adapterName));
|
|
18
|
+
const snapshotTypeDefinition = `${constants_1.ADAPTER_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, any>`;
|
|
19
|
+
const unfulfilledSnapshotTypeDefinition = `${constants_1.ADAPTER_UNFULFILLED_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, any>`;
|
|
20
|
+
const requestIdentifier = 'request';
|
|
21
|
+
const resourceIdentifier = importRamlArtifact(resource.id, create_resource_request_1.CREATE_RESOURCE_REQUEST_IDENTIFIER);
|
|
22
|
+
const createResourceParamsIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_CREATE_RESOURCE_PARAMS_IDENTIFIER);
|
|
23
|
+
const requestResponseSuccessIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_ON_RESOURCE_RESPONSE_SUCCESS);
|
|
24
|
+
const requestResponseErrorIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_ON_RESOURCE_RESPONSE_ERROR);
|
|
25
|
+
return deindent_1.default `
|
|
26
|
+
export function ${constants_1.ADAPTER_RESOLVE_UNFULFILLED_SNAPSHOT}(${constants_1.ADAPTER_LUVIO_IDENTIFIER}: ${constants_1.ADAPTER_LUVIO_IMPORT}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}, ${constants_1.ADAPTER_SNAPSHOT_IDENTIFIER}: ${unfulfilledSnapshotTypeDefinition}) : Promise<${snapshotTypeDefinition}> {
|
|
27
|
+
const ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER} = ${createResourceParamsIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER});
|
|
28
|
+
const ${requestIdentifier} = ${resourceIdentifier}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER});
|
|
29
|
+
return ${constants_1.ADAPTER_LUVIO_IDENTIFIER}.resolveUnfulfilledSnapshot<${resourceTypeIdentifier}>(${requestIdentifier}, ${constants_1.ADAPTER_SNAPSHOT_IDENTIFIER})
|
|
30
|
+
.then((${constants_1.ADAPTER_RESPONSE_IDENTIFIER}) => {
|
|
31
|
+
return ${requestResponseSuccessIdentifier}(${constants_1.ADAPTER_LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER});
|
|
32
|
+
}, (${constants_1.ADAPTER_RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_FETCH_RESPONSE_INTERFACE_IDENTIFIER}<unknown>) => {
|
|
33
|
+
return ${requestResponseErrorIdentifier}(${constants_1.ADAPTER_LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
}
|
|
38
|
+
exports.generateResolveUnfulfilledSnapshotFunction = generateResolveUnfulfilledSnapshotFunction;
|
|
39
|
+
//# sourceMappingURL=adapter-resolve-unfulfilled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-resolve-unfulfilled.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-resolve-unfulfilled.ts"],"names":[],"mappings":";;;;;;AAIA,oEAA4C;AAC5C,iFAAyF;AACzF,2CAcqB;AACrB,iCAAkD;AAGlD,SAAgB,0CAA0C,CACtD,OAAsB,EACtB,iBAAoC,EACpC,QAAkB;IAElB,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;IAC/D,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAEvC,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,+BAAwB,CAAC,WAAW,CAAC,CACxC,CAAC;IACF,MAAM,sBAAsB,GAAG,GAAG,mCAAuB,IAAI,sBAAsB,QAAQ,CAAC;IAC5F,MAAM,iCAAiC,GAAG,GAAG,+CAAmC,IAAI,sBAAsB,QAAQ,CAAC;IAEnH,MAAM,iBAAiB,GAAG,SAAS,CAAC;IAEpC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,4DAAkC,CAAC,CAAC;IAC/F,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,qDAAyC,CAC5C,CAAC;IACF,MAAM,gCAAgC,GAAG,kBAAkB,CACvD,SAAS,EACT,gDAAoC,CACvC,CAAC;IACF,MAAM,8BAA8B,GAAG,kBAAkB,CACrD,SAAS,EACT,8CAAkC,CACrC,CAAC;IAEF,OAAO,kBAAQ,CAAA;0BACO,gDAAoC,IAAI,oCAAwB,KAAK,gCAAoB,KAAK,qCAAyB,KAAK,yBAAyB,KAAK,uCAA2B,KAAK,iCAAiC,eAAe,sBAAsB;oBACtQ,8CAAkC,MAAM,8BAA8B,IAAI,qCAAyB;oBACnG,iBAAiB,MAAM,kBAAkB,IAAI,8CAAkC;qBAC9E,oCAAwB,+BAA+B,sBAAsB,KAAK,iBAAiB,KAAK,uCAA2B;yBAC/H,uCAA2B;6BACvB,gCAAgC,IAAI,oCAAwB,KAAK,qCAAyB,KAAK,8CAAkC,KAAK,uCAA2B;sBACxK,uCAA2B,KAAK,uDAA2C;6BACpE,8BAA8B,IAAI,oCAAwB,KAAK,qCAAyB,KAAK,8CAAkC,KAAK,uCAA2B;;;KAGvL,CAAC;AACN,CAAC;AA9CD,gGA8CC"}
|
|
@@ -19,7 +19,6 @@ const adapter_notify_change_1 = require("./adapter-notify-change");
|
|
|
19
19
|
const adapter_one_of_params_1 = require("./adapter-one-of-params");
|
|
20
20
|
const adapter_resource_error_1 = require("./adapter-resource-error");
|
|
21
21
|
const adapter_resource_success_1 = require("./adapter-resource-success");
|
|
22
|
-
const adapter_response_keys_1 = require("./adapter-response-keys");
|
|
23
22
|
const adapter_shape_key_param_coercion_1 = require("./adapter-shape-key-param-coercion");
|
|
24
23
|
const adapter_type_check_1 = require("./adapter-type-check");
|
|
25
24
|
const adapter_validation_config_object_1 = require("./adapter-validation-config-object");
|
|
@@ -84,7 +83,6 @@ function generateGetAdapter(env, adapterAnnotation, resource, modelInfo) {
|
|
|
84
83
|
adapter_shape_key_param_coercion_1.generateKeyParamCoercionFunction(importContext, adapterAnnotation, resource, modelInfo),
|
|
85
84
|
adapter_config_coercion_1.generateConfigCoercionFunction(importContext, adapterAnnotation, modelInfo, configParamInfos),
|
|
86
85
|
adapter_key_builder_1.generateKeyBuilder(importContext, adapterAnnotation, resource),
|
|
87
|
-
adapter_response_keys_1.generateAdapterResponseKeys(importContext, resource),
|
|
88
86
|
adapter_type_check_1.generateTypeCheckFunction(importContext, adapterAnnotation, configParamInfos, modelInfo),
|
|
89
87
|
adapter_config_validation_1.generateConfigValidation(importContext, adapterAnnotation),
|
|
90
88
|
adapter_fragment_1.generateAdapterFragmentFunction(importContext, adapterAnnotation, resource),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/adapter/index.ts"],"names":[],"mappings":";;;AAUA,+CAAsD;AACtD,iDAA0E;AAC1E,uEAAmE;AACnE,qFAAgF;AAChF,mDAAwD;AACxD,uEAA2E;AAC3E,yEAA4E;AAC5E,2EAAuE;AACvE,yDAAqE;AACrE,+DAA2D;AAC3D,+EAA0F;AAC1F,iDAA2D;AAC3D,uDAA4D;AAC5D,iFAA4F;AAC5F,mEAA+D;AAC/D,mEAAqE;AACrE,qEAAiE;AACjE,yEAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/adapter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ModelInfo } from '../../../intermediate/model-info';
|
|
2
|
+
import { Resource } from '../../../intermediate/resource';
|
|
3
|
+
import { ImportContext } from '../../../utils/imports';
|
|
4
|
+
export declare const CHILD_ENVELOPES_IDENTIFIER = "childEnvelopes";
|
|
5
|
+
export declare const CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER = "childResourceParamsArray";
|
|
6
|
+
export declare function generateChildEnvelopesAndResourceParamsCode(importContext: ImportContext, resource: Resource, modelInfo: ModelInfo, responseBodyIdentifier: string): string;
|
|
@@ -0,0 +1,31 @@
|
|
|
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.generateChildEnvelopesAndResourceParamsCode = exports.CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER = exports.CHILD_ENVELOPES_IDENTIFIER = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../adapter/constants");
|
|
9
|
+
const create_child_resource_params_1 = require("./create-child-resource-params");
|
|
10
|
+
exports.CHILD_ENVELOPES_IDENTIFIER = 'childEnvelopes';
|
|
11
|
+
exports.CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER = 'childResourceParamsArray';
|
|
12
|
+
// this code is shared by both ingest and cache-key code
|
|
13
|
+
function generateChildEnvelopesAndResourceParamsCode(importContext, resource, modelInfo, responseBodyIdentifier) {
|
|
14
|
+
const { importRamlArtifact } = importContext;
|
|
15
|
+
const composite = modelInfo.compositeResources[resource.endPointId];
|
|
16
|
+
const { id: resourceId } = resource;
|
|
17
|
+
const { envelope } = composite;
|
|
18
|
+
const { path: envelopePath } = envelope;
|
|
19
|
+
const createChildResourceParams = importRamlArtifact(resourceId, create_child_resource_params_1.CREATE_CHILD_RESOURCE_PARAMS_IDENTIFIER);
|
|
20
|
+
return deindent_1.default `
|
|
21
|
+
const ${exports.CHILD_ENVELOPES_IDENTIFIER} = ${responseBodyIdentifier}.${envelopePath};
|
|
22
|
+
const ${exports.CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER} = ${createChildResourceParams}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER});
|
|
23
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
24
|
+
if (${exports.CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}.length !== ${exports.CHILD_ENVELOPES_IDENTIFIER}.length) {
|
|
25
|
+
throw new Error('Invalid composite resource response. Expected ' + ${exports.CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}.length + ' items, received ' + ${exports.CHILD_ENVELOPES_IDENTIFIER}.length);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
}
|
|
30
|
+
exports.generateChildEnvelopesAndResourceParamsCode = generateChildEnvelopesAndResourceParamsCode;
|
|
31
|
+
//# sourceMappingURL=child-envelopes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-envelopes.js","sourceRoot":"","sources":["../../../../src/codegen/resource/composite/child-envelopes.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA+C;AAE/C,uDAA6E;AAC7E,iFAAyF;AAE5E,QAAA,0BAA0B,GAAG,gBAAgB,CAAC;AAC9C,QAAA,sCAAsC,GAAG,0BAA0B,CAAC;AAEjF,wDAAwD;AACxD,SAAgB,2CAA2C,CACvD,aAA4B,EAC5B,QAAkB,EAClB,SAAoB,EACpB,sBAA8B;IAE9B,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAEpC,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IAExC,MAAM,yBAAyB,GAAG,kBAAkB,CAChD,UAAU,EACV,sEAAuC,CAC1C,CAAC;IAEF,OAAO,kBAAQ,CAAA;gBACH,kCAA0B,MAAM,sBAAsB,IAAI,YAAY;gBACtE,8CAAsC,MAAM,yBAAyB,IAAI,8CAAkC;;kBAEzG,8CAAsC,eAAe,kCAA0B;qFACZ,8CAAsC,mCAAmC,kCAA0B;;;KAGnL,CAAC;AACN,CAAC;AA3BD,kGA2BC"}
|
|
@@ -14,7 +14,7 @@ const ingest_error_1 = require("../ingest-error");
|
|
|
14
14
|
const ingest_success_1 = require("../ingest-success");
|
|
15
15
|
const key_builder_1 = require("../key-builder");
|
|
16
16
|
const resource_params_1 = require("../resource-params");
|
|
17
|
-
const
|
|
17
|
+
const child_envelopes_1 = require("./child-envelopes");
|
|
18
18
|
const non_cached_errors_object_1 = require("./non-cached-errors-object");
|
|
19
19
|
const ITERATOR_INDEX_IDENTIFIER = 'index';
|
|
20
20
|
const CHILD_ENVELOPE_IDENTIFIER = 'result';
|
|
@@ -61,7 +61,7 @@ function generateIngestSuccessChildResourceParams(importContext, resource, model
|
|
|
61
61
|
const getFetchResponseStatusTextIdentifier = importAdapterUtil('getFetchResponseStatusText');
|
|
62
62
|
const objectFreezeIdentifier = importAdapterUtil('ObjectFreeze');
|
|
63
63
|
return deindent_1.default `
|
|
64
|
-
export function ${exports.INGEST_CHILD_RESOURCE_PARAMS}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}: ${childResourceParamsIdentifier}[], ${
|
|
64
|
+
export function ${exports.INGEST_CHILD_RESOURCE_PARAMS}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}: ${childResourceParamsIdentifier}[], ${child_envelopes_1.CHILD_ENVELOPES_IDENTIFIER}: Array<any>): {${exports.CHILD_SNAPSHOT_DATA_IDENTIFIER}: ${resourceTypeIdentifier}, ${exports.SEEN_RECORDS_IDENTIFIER}: {[key: string]: boolean}, ${exports.SNAPSHOT_STATE_IDENTIFIER}: string} {
|
|
65
65
|
const ${CHILD_SNAPSHOT_RESPONSES_IDENTIFIER}: ${resourceTypeIdentifier}['${envelopePath}'] = [];
|
|
66
66
|
let ${exports.SEEN_RECORDS_IDENTIFIER}: ${constants_1.ADAPTER_FULFILLED_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, {}>['${exports.SEEN_RECORDS_IDENTIFIER}'] = {};
|
|
67
67
|
let ${exports.SNAPSHOT_STATE_IDENTIFIER} = 'Fulfilled';
|
|
@@ -69,7 +69,7 @@ function generateIngestSuccessChildResourceParams(importContext, resource, model
|
|
|
69
69
|
for (let ${ITERATOR_INDEX_IDENTIFIER} = 0, len = ${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}.length; ${ITERATOR_INDEX_IDENTIFIER} < len; ${ITERATOR_INDEX_IDENTIFIER} += 1) {
|
|
70
70
|
const ${CHILD_RESOURCE_PARAMS_IDENTIFIER} = ${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}[${ITERATOR_INDEX_IDENTIFIER}];
|
|
71
71
|
const ${CHILD_KEY_IDENTIFIER} = ${childKeyBuilder}(${CHILD_RESOURCE_PARAMS_IDENTIFIER})
|
|
72
|
-
const ${CHILD_ENVELOPE_IDENTIFIER} = ${
|
|
72
|
+
const ${CHILD_ENVELOPE_IDENTIFIER} = ${child_envelopes_1.CHILD_ENVELOPES_IDENTIFIER}[${ITERATOR_INDEX_IDENTIFIER}];
|
|
73
73
|
const { ${envelopeStatusCode}: ${CHILD_STATUS_CODE_IDENTIFIER}, ${envelopeBody}: ${CHILD_BODY_IDENTIFIER} } = ${CHILD_ENVELOPE_IDENTIFIER};
|
|
74
74
|
if (${CHILD_STATUS_CODE_IDENTIFIER} === ${engine_1.HttpStatusCode.Ok}) {
|
|
75
75
|
const ${CHILD_RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_RESOURCE_RESPONSE_INTERFACE_IDENTIFIER}<${childResourceOkResponseShapeInterfaceImport}> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest-success-child-resource-params.js","sourceRoot":"","sources":["../../../../src/codegen/resource/composite/ingest-success-child-resource-params.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA+C;AAG/C,uEAA+C;AAC/C,8CAAsD;AAEtD,uDAIiC;AACjC,sDAAwE;AACxE,qDAA6D;AAC7D,kDAAmE;AACnE,sDAAuE;AACvE,gDAAiE;AACjE,wDAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"ingest-success-child-resource-params.js","sourceRoot":"","sources":["../../../../src/codegen/resource/composite/ingest-success-child-resource-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Resource } from '../../../intermediate/resource';
|
|
2
2
|
import { ModelInfo } from '../../../intermediate/model-info';
|
|
3
3
|
import { ImportContext } from '../../../utils/imports';
|
|
4
|
-
export declare const CHILD_ENVELOPES_IDENTIFIER = "childEnvelopes";
|
|
5
4
|
export declare const SYNTHETIC_SNAPSHOT_IDENTIFIER = "syntheticSnapshot";
|
|
6
5
|
export declare function generateIngestSuccess(importContext: ImportContext, resource: Resource, modelInfo: ModelInfo): string;
|
|
@@ -3,45 +3,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generateIngestSuccess = exports.SYNTHETIC_SNAPSHOT_IDENTIFIER =
|
|
6
|
+
exports.generateIngestSuccess = exports.SYNTHETIC_SNAPSHOT_IDENTIFIER = void 0;
|
|
7
7
|
const resource_params_1 = require("./../resource-params");
|
|
8
8
|
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
9
9
|
const constants_1 = require("../../adapter/constants");
|
|
10
10
|
const constants_2 = require("../../shared/constants");
|
|
11
11
|
const key_builder_1 = require("./../key-builder");
|
|
12
12
|
const constants_3 = require("./../constants");
|
|
13
|
-
const create_child_resource_params_1 = require("./create-child-resource-params");
|
|
14
13
|
const ingest_success_1 = require("../ingest-success");
|
|
15
14
|
const ingest_success_child_resource_params_1 = require("./ingest-success-child-resource-params");
|
|
15
|
+
const child_envelopes_1 = require("./child-envelopes");
|
|
16
16
|
const RESPONSE_IDENTIFIER = 'response';
|
|
17
|
-
const CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER = 'childResourceParamsArray';
|
|
18
17
|
const KEY_IDENTIFIER = 'key';
|
|
19
|
-
exports.CHILD_ENVELOPES_IDENTIFIER = 'childEnvelopes';
|
|
20
18
|
exports.SYNTHETIC_SNAPSHOT_IDENTIFIER = 'syntheticSnapshot';
|
|
21
19
|
function generateIngestSuccess(importContext, resource, modelInfo) {
|
|
22
20
|
const { importRamlArtifact } = importContext;
|
|
23
|
-
const composite = modelInfo.compositeResources[resource.endPointId];
|
|
24
21
|
const { id: resourceId, returnShape } = resource;
|
|
25
22
|
const returnShapeName = returnShape.name;
|
|
26
23
|
const resourceTypeIdentifier = importRamlArtifact(returnShape.id, returnShapeName);
|
|
27
|
-
const { envelope } = composite;
|
|
28
|
-
const { path: envelopePath } = envelope;
|
|
29
24
|
const resourceRequestConfig = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
30
|
-
const createChildResourceParams = importRamlArtifact(resourceId, create_child_resource_params_1.CREATE_CHILD_RESOURCE_PARAMS_IDENTIFIER);
|
|
31
25
|
const keyBuilder = importRamlArtifact(resourceId, key_builder_1.RESOURCE_KEY_BUILDER_IDENTIFIER);
|
|
32
26
|
const ingestSuccessChildResourceParams = importRamlArtifact(resourceId, ingest_success_child_resource_params_1.INGEST_CHILD_RESOURCE_PARAMS);
|
|
33
27
|
const select = importRamlArtifact(resourceId, constants_3.RESOURCE_SELECT_IDENTIFIER);
|
|
34
28
|
return deindent_1.default `
|
|
35
29
|
export function ${ingest_success_1.RESOURCE_INGEST_SUCCESS_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}: ${resourceRequestConfig}, ${RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_RESOURCE_RESPONSE_INTERFACE_IDENTIFIER}<${resourceTypeIdentifier}>, ${constants_1.ADAPTER_SNAPSHOT_REFRESH_IDENTIFIER}?: ${constants_1.ADAPTER_SNAPSHOT_REFRESH_INTERFACE}<${resourceTypeIdentifier}>): ${constants_1.ADAPTER_FULFILLED_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, any> | ${constants_1.ADAPTER_STALE_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, any> | ${constants_1.ADAPTER_PENDING_SNAPSHOT_IMPORT}<${resourceTypeIdentifier}, any> {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
39
|
-
if (${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}.length !== ${exports.CHILD_ENVELOPES_IDENTIFIER}.length) {
|
|
40
|
-
throw new Error('Invalid composite resource response. Expected ' + ${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}.length + ' items, received ' + ${exports.CHILD_ENVELOPES_IDENTIFIER}.length);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
30
|
+
${child_envelopes_1.generateChildEnvelopesAndResourceParamsCode(importContext, resource, modelInfo, `${RESPONSE_IDENTIFIER}.body`)}
|
|
31
|
+
|
|
43
32
|
const ${KEY_IDENTIFIER} = ${keyBuilder}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER});
|
|
44
|
-
const {${ingest_success_child_resource_params_1.CHILD_SNAPSHOT_DATA_IDENTIFIER}, ${ingest_success_child_resource_params_1.SEEN_RECORDS_IDENTIFIER}, ${ingest_success_child_resource_params_1.SNAPSHOT_STATE_IDENTIFIER}} = ${ingestSuccessChildResourceParams}(${constants_2.LUVIO_IDENTIFIER}, ${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}, ${
|
|
33
|
+
const {${ingest_success_child_resource_params_1.CHILD_SNAPSHOT_DATA_IDENTIFIER}, ${ingest_success_child_resource_params_1.SEEN_RECORDS_IDENTIFIER}, ${ingest_success_child_resource_params_1.SNAPSHOT_STATE_IDENTIFIER}} = ${ingestSuccessChildResourceParams}(${constants_2.LUVIO_IDENTIFIER}, ${child_envelopes_1.CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}, ${child_envelopes_1.CHILD_ENVELOPES_IDENTIFIER});
|
|
45
34
|
const ${exports.SYNTHETIC_SNAPSHOT_IDENTIFIER} = {
|
|
46
35
|
recordId: ${KEY_IDENTIFIER},
|
|
47
36
|
data: ${ingest_success_child_resource_params_1.CHILD_SNAPSHOT_DATA_IDENTIFIER},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest-success.js","sourceRoot":"","sources":["../../../../src/codegen/resource/composite/ingest-success.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiE;AAEjE,uEAA+C;AAC/C,uDAQiC;AACjC,sDAAwE;AACxE,kDAAmE;AACnE,8CAA4D;AAE5D,
|
|
1
|
+
{"version":3,"file":"ingest-success.js","sourceRoot":"","sources":["../../../../src/codegen/resource/composite/ingest-success.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiE;AAEjE,uEAA+C;AAC/C,uDAQiC;AACjC,sDAAwE;AACxE,kDAAmE;AACnE,8CAA4D;AAE5D,sDAAuE;AAEvE,iGAKgD;AAChD,uDAI2B;AAE3B,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAEvC,MAAM,cAAc,GAAG,KAAK,CAAC;AAEhB,QAAA,6BAA6B,GAAG,mBAAmB,CAAC;AAEjE,SAAgB,qBAAqB,CACjC,aAA4B,EAC5B,QAAkB,EAClB,SAAoB;IAEpB,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjD,MAAM,eAAe,GAAG,WAAY,CAAC,IAAI,CAAC;IAE1C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,WAAY,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAEpF,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IAExF,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,6CAA+B,CAAC,CAAC;IAEnF,MAAM,gCAAgC,GAAG,kBAAkB,CACvD,UAAU,EACV,mEAA4B,CAC/B,CAAC;IAEF,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,EAAE,sCAA0B,CAAC,CAAC;IAE1E,OAAO,kBAAQ,CAAA;0BACO,mDAAkC,IAAI,4BAAgB,KAAK,wBAAY,KAAK,8CAAkC,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,0DAA8C,IAAI,sBAAsB,MAAM,+CAAmC,MAAM,8CAAkC,IAAI,sBAAsB,OAAO,6CAAiC,IAAI,sBAAsB,YAAY,yCAA6B,IAAI,sBAAsB,YAAY,2CAA+B,IAAI,sBAAsB;cAC9iB,6DAA2C,CACzC,aAAa,EACb,QAAQ,EACR,SAAS,EACT,GAAG,mBAAmB,OAAO,CAChC;;oBAEO,cAAc,MAAM,UAAU,IAAI,8CAAkC;qBACnE,qEAA8B,KAAK,8DAAuB,KAAK,gEAAyB,OAAO,gCAAgC,IAAI,4BAAgB,KAAK,wDAAsC,KAAK,4CAA0B;oBAC9N,qCAA6B;4BACrB,cAAc;wBAClB,qEAA8B;yBAC7B,gEAAyB;+BACnB,8DAAuB;;gCAEtB,cAAc;4BAClB,MAAM,IAAI,4BAAgB,KAAK,8CAAkC;;;2BAGlE,+CAAmC;;mBAE3C,6CAAiC,IAAI,sBAAsB,YAAY,yCAA6B,IAAI,sBAAsB,YAAY,2CAA+B,IAAI,sBAAsB;;iBAErM,gEAAyB;kBACxB,4BAAgB,2BAA2B,qCAA6B,OAAO,2CAA+B,IAAI,sBAAsB;sBACpI,mDAAkC,IAAI,4BAAgB,KAAK,8CAAkC,KAAK,mBAAmB,KAAK,+CAAmC;;;;cAIrK,4BAAgB,eAAe,cAAc;qBACtC,qCAA6B;;KAE7C,CAAC;AACN,CAAC;AAzDD,sDAyDC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Resource } from '../../../intermediate/resource';
|
|
2
|
+
import { ModelInfo } from '../../../intermediate/model-info';
|
|
3
|
+
import { ImportContext } from '../../../utils/imports';
|
|
4
|
+
export declare const CHILD_ENVELOPES_IDENTIFIER = "childEnvelopes";
|
|
5
|
+
export declare const SYNTHETIC_SNAPSHOT_IDENTIFIER = "syntheticSnapshot";
|
|
6
|
+
export declare function generateCompositeGetResponseCacheKeys(getResponseCacheKeysFunctionIdentifier: string, importContext: ImportContext, resource: Resource, modelInfo: ModelInfo): string;
|
|
@@ -0,0 +1,77 @@
|
|
|
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.generateCompositeGetResponseCacheKeys = exports.SYNTHETIC_SNAPSHOT_IDENTIFIER = exports.CHILD_ENVELOPES_IDENTIFIER = void 0;
|
|
7
|
+
const resource_params_1 = require("./../resource-params");
|
|
8
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
9
|
+
const constants_1 = require("../../adapter/constants");
|
|
10
|
+
const key_builder_1 = require("./../key-builder");
|
|
11
|
+
const child_envelopes_1 = require("./child-envelopes");
|
|
12
|
+
const shape_cache_keys_1 = require("../../shape/shape-cache-keys");
|
|
13
|
+
const http_1 = require("../../../utils/http");
|
|
14
|
+
const constants_2 = require("../../shared/constants");
|
|
15
|
+
const KEYS_IDENTIFIER = 'keys';
|
|
16
|
+
const RESPONSE_IDENTIFIER = 'response';
|
|
17
|
+
const ITERATOR_INDEX_IDENTIFIER = 'index';
|
|
18
|
+
const CHILD_RESULT_IDENTIFIER = 'childResult';
|
|
19
|
+
const CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER = 'childResourceParamsArray';
|
|
20
|
+
const CHILD_KEY_IDENTIFIER = 'childKey';
|
|
21
|
+
const CHILD_KEYS_IDENTIFIER = 'childKeys';
|
|
22
|
+
const CHILD_RESOURCE_PARAMS_IDENTIFIER = 'childResourceParams';
|
|
23
|
+
const CHILD_BODY_IDENTIFIER = 'childBody';
|
|
24
|
+
const CHILD_STATUS_CODE_IDENTIFIER = 'childStatusCode';
|
|
25
|
+
exports.CHILD_ENVELOPES_IDENTIFIER = 'childEnvelopes';
|
|
26
|
+
exports.SYNTHETIC_SNAPSHOT_IDENTIFIER = 'syntheticSnapshot';
|
|
27
|
+
function generateCompositeGetResponseCacheKeys(getResponseCacheKeysFunctionIdentifier, importContext, resource, modelInfo) {
|
|
28
|
+
const composite = modelInfo.compositeResources[resource.endPointId];
|
|
29
|
+
if (composite === undefined) {
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
const { importRamlArtifact } = importContext;
|
|
33
|
+
const { id: resourceId, returnShape } = resource;
|
|
34
|
+
const { name: returnShapeName } = returnShape;
|
|
35
|
+
const resourceTypeIdentifier = importRamlArtifact(returnShape.id, returnShapeName);
|
|
36
|
+
const resourceRequestConfig = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
37
|
+
const { childEndpoint, envelope } = composite;
|
|
38
|
+
const { responses: envelopeResponses, body: envelopeBody, statusCode: envelopeStatusCode, } = envelope;
|
|
39
|
+
const { id: childEndpointId } = childEndpoint;
|
|
40
|
+
const childResourceOkResponse = envelopeResponses.find((resp) => resp.statusCode === http_1.HTTPStatusCodes.Ok);
|
|
41
|
+
const childResourceOkResponseShapeName = childResourceOkResponse.shapeName;
|
|
42
|
+
const childResourceOkResponseShapeId = childResourceOkResponse.shapeId;
|
|
43
|
+
const childResourceOkResponseShapeInterfaceImport = importContext.importRamlArtifact(childResourceOkResponseShapeId, childResourceOkResponseShapeName);
|
|
44
|
+
const childResponseCacheKeys = importRamlArtifact(childEndpointId, getResponseCacheKeysFunctionIdentifier);
|
|
45
|
+
const childKeyBuilder = importRamlArtifact(childEndpointId, key_builder_1.RESOURCE_KEY_BUILDER_IDENTIFIER);
|
|
46
|
+
// NOTE: top-level composite success responses do not cache top-level key so
|
|
47
|
+
// we don't include it in this generated code
|
|
48
|
+
return deindent_1.default `
|
|
49
|
+
|
|
50
|
+
export function ${getResponseCacheKeysFunctionIdentifier}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}: ${resourceRequestConfig}, ${RESPONSE_IDENTIFIER}: ${resourceTypeIdentifier}): ${constants_2.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} {
|
|
51
|
+
let ${KEYS_IDENTIFIER}: ${constants_2.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} = {}
|
|
52
|
+
|
|
53
|
+
${child_envelopes_1.generateChildEnvelopesAndResourceParamsCode(importContext, resource, modelInfo, RESPONSE_IDENTIFIER)}
|
|
54
|
+
|
|
55
|
+
// get children keys
|
|
56
|
+
for (let ${ITERATOR_INDEX_IDENTIFIER} = 0, len = ${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}.length; ${ITERATOR_INDEX_IDENTIFIER} < len; ${ITERATOR_INDEX_IDENTIFIER}++) {
|
|
57
|
+
const ${CHILD_RESOURCE_PARAMS_IDENTIFIER} = ${CHILD_RESOURCE_PARAMS_ARRAY_IDENTIFIER}[${ITERATOR_INDEX_IDENTIFIER}];
|
|
58
|
+
const ${CHILD_RESULT_IDENTIFIER} = ${exports.CHILD_ENVELOPES_IDENTIFIER}[${ITERATOR_INDEX_IDENTIFIER}];
|
|
59
|
+
const { ${envelopeStatusCode}: ${CHILD_STATUS_CODE_IDENTIFIER}, ${envelopeBody}: ${CHILD_BODY_IDENTIFIER} } = ${CHILD_RESULT_IDENTIFIER};
|
|
60
|
+
if(${CHILD_STATUS_CODE_IDENTIFIER} === 200){
|
|
61
|
+
const ${CHILD_KEYS_IDENTIFIER} = ${childResponseCacheKeys}(${CHILD_RESOURCE_PARAMS_IDENTIFIER}, ${CHILD_BODY_IDENTIFIER} as ${childResourceOkResponseShapeInterfaceImport});
|
|
62
|
+
${KEYS_IDENTIFIER} = {...${KEYS_IDENTIFIER}, ...${CHILD_KEYS_IDENTIFIER}};
|
|
63
|
+
} else if(${CHILD_STATUS_CODE_IDENTIFIER} === 404){
|
|
64
|
+
const ${CHILD_KEY_IDENTIFIER} = ${childKeyBuilder}(${CHILD_RESOURCE_PARAMS_IDENTIFIER});
|
|
65
|
+
${KEYS_IDENTIFIER}[${CHILD_KEY_IDENTIFIER}] = {
|
|
66
|
+
namespace: ${shape_cache_keys_1.generateNamespaceValue(importContext, modelInfo)},
|
|
67
|
+
representationName: ${shape_cache_keys_1.generateRepresentationNameRuntimeValue(CHILD_KEY_IDENTIFIER)}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return ${KEYS_IDENTIFIER};
|
|
73
|
+
}
|
|
74
|
+
`;
|
|
75
|
+
}
|
|
76
|
+
exports.generateCompositeGetResponseCacheKeys = generateCompositeGetResponseCacheKeys;
|
|
77
|
+
//# sourceMappingURL=response-child-cache-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-child-cache-keys.js","sourceRoot":"","sources":["../../../../src/codegen/resource/composite/response-child-cache-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const create_child_resource_params_1 = require("./composite/create-child-resourc
|
|
|
13
13
|
const ingest_success_child_resource_params_1 = require("./composite/ingest-success-child-resource-params");
|
|
14
14
|
const create_resource_request_from_representation_1 = require("./create-resource-request-from-representation");
|
|
15
15
|
const non_cached_errors_object_1 = require("./composite/non-cached-errors-object");
|
|
16
|
+
const response_cache_keys_1 = require("./response-cache-keys");
|
|
16
17
|
function generateResource(env, resource, modelInfo, relPath) {
|
|
17
18
|
const importContext = imports_1.createImportContext(env);
|
|
18
19
|
const { endPointId } = resource;
|
|
@@ -23,6 +24,7 @@ function generateResource(env, resource, modelInfo, relPath) {
|
|
|
23
24
|
resource_params_1.generateResourceParams(importContext, resource, modelInfo),
|
|
24
25
|
select_1.generateSelect(importContext, resource, modelInfo),
|
|
25
26
|
key_builder_1.generateKeyBuilder(importContext, resource, modelInfo),
|
|
27
|
+
response_cache_keys_1.generateGetResponseCacheKeys(importContext, resource, modelInfo),
|
|
26
28
|
ingest_success_child_resource_params_1.generateIngestSuccessChildResourceParams(importContext, resource, modelInfo),
|
|
27
29
|
ingest_success_1.generateIngestSuccess(importContext, resource, modelInfo),
|
|
28
30
|
ingest_error_1.generateIngestError(importContext, resource, modelInfo),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/resource/index.ts"],"names":[],"mappings":";;;AAGA,iDAA0E;AAC1E,uEAA0E;AAC1E,iDAAqD;AACrD,qDAAyD;AACzD,mDAAuD;AACvD,+CAAmD;AACnD,uDAA2D;AAC3D,qCAA0C;AAC1C,2FAA6F;AAC7F,2GAA4G;AAC5G,+GAAgH;AAChH,mFAAqF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/resource/index.ts"],"names":[],"mappings":";;;AAGA,iDAA0E;AAC1E,uEAA0E;AAC1E,iDAAqD;AACrD,qDAAyD;AACzD,mDAAuD;AACvD,+CAAmD;AACnD,uDAA2D;AAC3D,qCAA0C;AAC1C,2FAA6F;AAC7F,2GAA4G;AAC5G,+GAAgH;AAChH,mFAAqF;AACrF,+DAAqE;AAErE,SAAgB,gBAAgB,CAC5B,GAA8B,EAC9B,QAAkB,EAClB,SAAoB,EACpB,OAAe;IAEf,MAAM,aAAa,GAAG,6BAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAChC,MAAM,WAAW,GAAG,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG;QACT,WAAW,CAAC,CAAC,CAAC,wDAA6B,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;QACpF,gEAAiC,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QACrE,wCAAsB,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC1D,uBAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAClD,gCAAkB,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QACtD,kDAA4B,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAChE,+EAAwC,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC5E,sCAAqB,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QACzD,kCAAmB,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;QACvD,oCAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC;QAC7C,uDAA6B,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACpF,6FAA+C,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;KACtF;SACI,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO,wBAAc,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AA5BD,4CA4BC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ModelInfo } from '../../intermediate/model-info';
|
|
2
|
+
import { Resource } from '../../intermediate/resource';
|
|
3
|
+
import { ImportContext } from '../../utils/imports';
|
|
4
|
+
export declare const GET_RESPONSE_CACHE_KEYS_IDENTIFIER = "getResponseCacheKeys";
|
|
5
|
+
export declare function generateGetResponseCacheKeys(importContext: ImportContext, resource: Resource, modelInfo: ModelInfo): string;
|
|
@@ -0,0 +1,45 @@
|
|
|
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.generateGetResponseCacheKeys = exports.GET_RESPONSE_CACHE_KEYS_IDENTIFIER = void 0;
|
|
7
|
+
const resource_1 = require("../../intermediate/resource");
|
|
8
|
+
const deindent_1 = __importDefault(require("../../utils/deindent"));
|
|
9
|
+
const constants_1 = require("../adapter/constants");
|
|
10
|
+
const constants_2 = require("../shared/constants");
|
|
11
|
+
const key_builder_1 = require("./key-builder");
|
|
12
|
+
const resource_params_1 = require("./resource-params");
|
|
13
|
+
const shape_cache_keys_1 = require("../shape/shape-cache-keys");
|
|
14
|
+
const response_child_cache_keys_1 = require("./composite/response-child-cache-keys");
|
|
15
|
+
exports.GET_RESPONSE_CACHE_KEYS_IDENTIFIER = 'getResponseCacheKeys';
|
|
16
|
+
const RESPONSE_IDENTIFIER = 'response';
|
|
17
|
+
function generateGetResponseCacheKeys(importContext, resource, modelInfo) {
|
|
18
|
+
const { importRamlArtifact } = importContext;
|
|
19
|
+
const { id: resourceId, method, returnShape, endPointId } = resource;
|
|
20
|
+
if (method === 'delete' || returnShape === undefined) {
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
if (modelInfo.compositeResources[endPointId]) {
|
|
24
|
+
return response_child_cache_keys_1.generateCompositeGetResponseCacheKeys(exports.GET_RESPONSE_CACHE_KEYS_IDENTIFIER, importContext, resource, modelInfo);
|
|
25
|
+
}
|
|
26
|
+
const { name: returnShapeName, id: returnShapeId } = returnShape;
|
|
27
|
+
const returnShapeKey = modelInfo.shapeKeysDefinition[returnShapeId];
|
|
28
|
+
if (returnShapeKey === undefined && (method === 'patch' || method === 'put')) {
|
|
29
|
+
return '';
|
|
30
|
+
}
|
|
31
|
+
const isPatchPutOrPostResource = method === 'patch' || method === 'put' || resource_1.isPurePost(resource);
|
|
32
|
+
const keyStatement = isPatchPutOrPostResource
|
|
33
|
+
? `${importRamlArtifact(returnShapeId, 'keyBuilderFromType')}(${RESPONSE_IDENTIFIER})`
|
|
34
|
+
: `${importRamlArtifact(resourceId, key_builder_1.RESOURCE_KEY_BUILDER_IDENTIFIER)}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER})`;
|
|
35
|
+
const resourceTypeIdentifier = importRamlArtifact(returnShapeId, returnShapeName);
|
|
36
|
+
const resourceRequestConfig = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
37
|
+
const shapeCacheKeysIdentifier = importRamlArtifact(returnShapeId, shape_cache_keys_1.GET_SHAPE_CACHE_KEYS_IDENTIFIER);
|
|
38
|
+
return deindent_1.default `
|
|
39
|
+
export function ${exports.GET_RESPONSE_CACHE_KEYS_IDENTIFIER}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}: ${resourceRequestConfig}, ${RESPONSE_IDENTIFIER}: ${resourceTypeIdentifier}): ${constants_2.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} {
|
|
40
|
+
return ${shapeCacheKeysIdentifier}(${RESPONSE_IDENTIFIER}, () => ${keyStatement})
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
}
|
|
44
|
+
exports.generateGetResponseCacheKeys = generateGetResponseCacheKeys;
|
|
45
|
+
//# sourceMappingURL=response-cache-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-cache-keys.js","sourceRoot":"","sources":["../../../src/codegen/resource/response-cache-keys.ts"],"names":[],"mappings":";;;;;;AACA,0DAAmE;AACnE,oEAA4C;AAE5C,oDAA0E;AAC1E,mDAA4E;AAC5E,+CAAgE;AAChE,uDAA8D;AAC9D,gEAA4E;AAC5E,qFAA8F;AAEjF,QAAA,kCAAkC,GAAG,sBAAsB,CAAC;AACzE,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAEvC,SAAgB,4BAA4B,CACxC,aAA4B,EAC5B,QAAkB,EAClB,SAAoB;IAEpB,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAAC;IAC7C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACrE,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS,EAAE;QAClD,OAAO,EAAE,CAAC;KACb;IAED,IAAI,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;QAC1C,OAAO,iEAAqC,CACxC,0CAAkC,EAClC,aAAa,EACb,QAAQ,EACR,SAAS,CACZ,CAAC;KACL;IAED,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IACjE,MAAM,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAEpE,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;QAC1E,OAAO,EAAE,CAAC;KACb;IAED,MAAM,wBAAwB,GAAG,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,KAAK,IAAI,qBAAU,CAAC,QAAQ,CAAC,CAAC;IAChG,MAAM,YAAY,GAAG,wBAAwB;QACzC,CAAC,CAAC,GAAG,kBAAkB,CAAC,aAAa,EAAE,oBAAoB,CAAC,IAAI,mBAAmB,GAAG;QACtF,CAAC,CAAC,GAAG,kBAAkB,CACjB,UAAU,EACV,6CAA+B,CAClC,IAAI,8CAAkC,GAAG,CAAC;IAEjD,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAElF,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IAExF,MAAM,wBAAwB,GAAG,kBAAkB,CAC/C,aAAa,EACb,kDAA+B,CAClC,CAAC;IAEF,OAAO,kBAAQ,CAAA;0BACO,0CAAkC,IAAI,8CAAkC,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,sBAAsB,MAAM,iDAAqC;qBACrM,wBAAwB,IAAI,mBAAmB,WAAW,YAAY;;KAEtF,CAAC;AACN,CAAC;AAjDD,oEAiDC"}
|
|
@@ -23,6 +23,7 @@ const shape_dynamic_ingest_params_1 = require("./shape-dynamic-ingest-params");
|
|
|
23
23
|
const shape_dynamic_select_params_1 = require("./shape-dynamic-select-params");
|
|
24
24
|
const shape_dynamic_select_1 = require("./shape-dynamic-select");
|
|
25
25
|
const shape_representation_type_1 = require("./shape-representation-type");
|
|
26
|
+
const shape_cache_keys_1 = require("./shape-cache-keys");
|
|
26
27
|
function generateModule(shapeConfig) {
|
|
27
28
|
let code = [
|
|
28
29
|
shape_discriminator_values_enum_1.generateDiscriminatorValuesEnum(shapeConfig),
|
|
@@ -42,6 +43,7 @@ function generateModule(shapeConfig) {
|
|
|
42
43
|
shape_deep_freeze_1.generateDeepFreeze(shapeConfig),
|
|
43
44
|
shape_ingest_1.generateIngest(shapeConfig),
|
|
44
45
|
shape_ingest_discriminator_1.generateIngestDiscriminator(shapeConfig),
|
|
46
|
+
shape_cache_keys_1.generateGetShapeCacheKeys(shapeConfig),
|
|
45
47
|
shape_dynamic_ingest_1.generateDynamicIngest(shapeConfig),
|
|
46
48
|
shape_normalized_interface_1.generateNormalizedInterface(shapeConfig),
|
|
47
49
|
shape_type_definition_1.generateTypeDefinition(shapeConfig),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/shape/index.ts"],"names":[],"mappings":";;;AAEA,iDAAoE;AACpE,2DAAyD;AACzD,uFAAoF;AACpF,iDAAgD;AAChD,iDAAgD;AAChD,6EAA2E;AAC3E,iEAA+D;AAC/D,+DAAkE;AAClE,yDAAwD;AACxD,uDAA0D;AAC1D,uEAAqE;AACrE,6EAA2E;AAC3E,iDAAgD;AAChD,6EAA2E;AAC3E,2CAA0C;AAC1C,mEAAiE;AACjE,+CAAmD;AACnD,yDAAwD;AACxD,+EAA4E;AAC5E,+EAA4E;AAC5E,iEAAoE;AACpE,2EAAyE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/shape/index.ts"],"names":[],"mappings":";;;AAEA,iDAAoE;AACpE,2DAAyD;AACzD,uFAAoF;AACpF,iDAAgD;AAChD,iDAAgD;AAChD,6EAA2E;AAC3E,iEAA+D;AAC/D,+DAAkE;AAClE,yDAAwD;AACxD,uDAA0D;AAC1D,uEAAqE;AACrE,6EAA2E;AAC3E,iDAAgD;AAChD,6EAA2E;AAC3E,2CAA0C;AAC1C,mEAAiE;AACjE,+CAAmD;AACnD,yDAAwD;AACxD,+EAA4E;AAC5E,+EAA4E;AAC5E,iEAAoE;AACpE,2EAAyE;AACzE,yDAA+D;AAQ/D,SAAgB,cAAc,CAAC,WAA+B;IAC1D,IAAI,IAAI,GAAG;QACP,iEAA+B,CAAC,WAAW,CAAC;QAC5C,uBAAW,CAAC,WAAW,CAAC;QACxB,qCAAkB,CAAC,WAAW,CAAC;QAC/B,sDAA0B,CAAC,WAAW,CAAC;QACvC,+CAAyB,CAAC,WAAW,CAAC;QACtC,qCAAkB,CAAC,WAAW,CAAC;QAC/B,uCAAqB,CAAC,WAAW,CAAC;QAClC,yDAA2B,CAAC,WAAW,CAAC;QACxC,kDAAwB,CAAC,WAAW,CAAC;QACrC,wDAA2B,CAAC,WAAW,CAAC;QACxC,6BAAc,CAAC,WAAW,CAAC;QAC3B,yDAA2B,CAAC,WAAW,CAAC;QACxC,iDAA0B,CAAC,WAAW,CAAC;QACvC,6BAAc,CAAC,WAAW,CAAC;QAC3B,sCAAkB,CAAC,WAAW,CAAC;QAC/B,6BAAc,CAAC,WAAW,CAAC;QAC3B,wDAA2B,CAAC,WAAW,CAAC;QACxC,4CAAyB,CAAC,WAAW,CAAC;QACtC,4CAAqB,CAAC,WAAW,CAAC;QAClC,wDAA2B,CAAC,WAAW,CAAC;QACxC,8CAAsB,CAAC,WAAW,CAAC;KACtC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,OAAO,wBAAc,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AA1BD,wCA0BC;AAED,SAAgB,iBAAiB;IAC7B,OAAO,gCAAkB,EAAE,CAAC;AAChC,CAAC;AAFD,8CAEC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CodegenShapeConfig } from './index';
|
|
2
|
+
import { ImportContext } from '../../utils/imports';
|
|
3
|
+
import { ModelInfo } from '../../intermediate/model-info';
|
|
4
|
+
export declare const GET_SHAPE_CACHE_KEYS_IDENTIFIER = "getTypeCacheKeys";
|
|
5
|
+
export declare function generateNamespaceValue(importContext: ImportContext, modelInfo: ModelInfo): string;
|
|
6
|
+
export declare function generateRepresentationNameRuntimeValue(cacheKeyVariableName: string): string;
|
|
7
|
+
export declare function generateGetShapeCacheKeys(shapeConfig: CodegenShapeConfig): string;
|
|
@@ -0,0 +1,289 @@
|
|
|
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.generateGetShapeCacheKeys = exports.generateRepresentationNameRuntimeValue = exports.generateNamespaceValue = exports.GET_SHAPE_CACHE_KEYS_IDENTIFIER = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../shared/constants");
|
|
9
|
+
const shape_representation_type_1 = require("./shape-representation-type");
|
|
10
|
+
const shape_keybuilder_1 = require("./shape-keybuilder");
|
|
11
|
+
const inheritance_1 = require("../../intermediate/inheritance");
|
|
12
|
+
const shape_1 = require("../../utils/shape");
|
|
13
|
+
const utils_1 = require("../../intermediate/utils");
|
|
14
|
+
const constants_2 = require("../shared/constants");
|
|
15
|
+
exports.GET_SHAPE_CACHE_KEYS_IDENTIFIER = 'getTypeCacheKeys';
|
|
16
|
+
const INPUT_IDENTIFIER = 'input';
|
|
17
|
+
const FULL_PATH_FACTORY_IDENTIFIER = 'fullPathFactory';
|
|
18
|
+
const ROOT_KEY_IDENTIFIER = 'rootKey';
|
|
19
|
+
const ROOT_KEY_SET_IDENTIFIER = 'rootKeySet';
|
|
20
|
+
const loopIteratorVar = 'i';
|
|
21
|
+
function generateNamespaceValue(importContext, modelInfo) {
|
|
22
|
+
const { importAdapterUtil } = importContext;
|
|
23
|
+
return modelInfo.keyPrefix ? importAdapterUtil('keyPrefix') : `''`;
|
|
24
|
+
}
|
|
25
|
+
exports.generateNamespaceValue = generateNamespaceValue;
|
|
26
|
+
function generateRepresentationNameRuntimeValue(cacheKeyVariableName) {
|
|
27
|
+
return `${cacheKeyVariableName}.split('${constants_2.CACHE_KEY_NAMESPACE_DELIMITER}')[1].split('${constants_2.CACHE_KEY_FIELD_DELIMITER}')[0]`;
|
|
28
|
+
}
|
|
29
|
+
exports.generateRepresentationNameRuntimeValue = generateRepresentationNameRuntimeValue;
|
|
30
|
+
function shapeHasParentWithKeyBuilder(shape, modelInfo) {
|
|
31
|
+
if (inheritance_1.hasInheritance(shape, modelInfo)) {
|
|
32
|
+
const { shapeKeysDefinition } = modelInfo;
|
|
33
|
+
const parent = inheritance_1.getParentShape(shape, modelInfo);
|
|
34
|
+
const keys = shapeKeysDefinition[parent.shapeId];
|
|
35
|
+
return keys !== undefined;
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
function shapeHasKeyBuilder(shape, modelInfo) {
|
|
40
|
+
const { shapeKeysDefinition } = modelInfo;
|
|
41
|
+
if (inheritance_1.hasInheritance(shape, modelInfo)) {
|
|
42
|
+
return shapeHasParentWithKeyBuilder(shape, modelInfo);
|
|
43
|
+
}
|
|
44
|
+
const keys = shapeKeysDefinition[shape.id];
|
|
45
|
+
return keys !== undefined;
|
|
46
|
+
}
|
|
47
|
+
function generateRepresentationName(shape, modelInfo, importContext, hasKeyBuilder) {
|
|
48
|
+
const { importRamlArtifact } = importContext;
|
|
49
|
+
// if this Type inherits from a parent and uses its keybuilder then use the
|
|
50
|
+
// parents representation name
|
|
51
|
+
if (hasKeyBuilder && shapeHasParentWithKeyBuilder(shape, modelInfo)) {
|
|
52
|
+
const parent = inheritance_1.getParentShape(shape, modelInfo);
|
|
53
|
+
return importRamlArtifact(parent.shapeId, shape_representation_type_1.REPRESENTATION_TYPE_IDENTIFIER);
|
|
54
|
+
}
|
|
55
|
+
// if we don't have a keyBuilder function then we are relying on the fallback
|
|
56
|
+
// key function and we won't know the representation name until runtime so
|
|
57
|
+
// we need code to calculate it at runtime
|
|
58
|
+
if (hasKeyBuilder === false) {
|
|
59
|
+
return generateRepresentationNameRuntimeValue(ROOT_KEY_IDENTIFIER);
|
|
60
|
+
}
|
|
61
|
+
// default case - we use this Type's representation name
|
|
62
|
+
return shape_representation_type_1.REPRESENTATION_TYPE_IDENTIFIER;
|
|
63
|
+
}
|
|
64
|
+
function generateSelfCacheKey(shape, modelInfo, importContext) {
|
|
65
|
+
const { importRamlArtifact } = importContext;
|
|
66
|
+
const hasKeyBuilder = shapeHasKeyBuilder(shape, modelInfo);
|
|
67
|
+
const keyBuilderFromType = importRamlArtifact(shape.id, shape_keybuilder_1.SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER);
|
|
68
|
+
const rootKeyCode = hasKeyBuilder
|
|
69
|
+
? `${keyBuilderFromType}(${INPUT_IDENTIFIER})`
|
|
70
|
+
: `${FULL_PATH_FACTORY_IDENTIFIER}()`;
|
|
71
|
+
return deindent_1.default `
|
|
72
|
+
// root cache key (uses ${FULL_PATH_FACTORY_IDENTIFIER} if ${shape_keybuilder_1.SHAPE_KEY_BUILDER_FROM_TYPE_IDENTIFIER} isn't defined)
|
|
73
|
+
const ${ROOT_KEY_IDENTIFIER} = ${rootKeyCode};
|
|
74
|
+
${ROOT_KEY_SET_IDENTIFIER}[${ROOT_KEY_IDENTIFIER}] = {
|
|
75
|
+
namespace: ${generateNamespaceValue(importContext, modelInfo)},
|
|
76
|
+
representationName: ${generateRepresentationName(shape, modelInfo, importContext, hasKeyBuilder)}
|
|
77
|
+
};
|
|
78
|
+
`;
|
|
79
|
+
}
|
|
80
|
+
function buildVarNameFromPropertyName(propertyName) {
|
|
81
|
+
if (propertyName === INPUT_IDENTIFIER) {
|
|
82
|
+
return `${propertyName}__root`;
|
|
83
|
+
}
|
|
84
|
+
return `${INPUT_IDENTIFIER}_${propertyName}`;
|
|
85
|
+
}
|
|
86
|
+
function buildPathFromPropertyName(propertyName) {
|
|
87
|
+
if (propertyName === INPUT_IDENTIFIER) {
|
|
88
|
+
return INPUT_IDENTIFIER;
|
|
89
|
+
}
|
|
90
|
+
return `${INPUT_IDENTIFIER}.${propertyName}`;
|
|
91
|
+
}
|
|
92
|
+
function generateObject(shape, modelInfo, importContext, propertyName) {
|
|
93
|
+
const lines = [];
|
|
94
|
+
const { importTypeUtil } = importContext;
|
|
95
|
+
const OBJECT_CREATE = importTypeUtil('ObjectCreate');
|
|
96
|
+
const OBJECT_KEYS = importTypeUtil('ObjectKeys');
|
|
97
|
+
shape.properties
|
|
98
|
+
.filter((propertyShape) => {
|
|
99
|
+
// filter out non-normalizable properties
|
|
100
|
+
const propertyValueShape = propertyShape.range;
|
|
101
|
+
return shape_1.isNormalizable(propertyValueShape.id, modelInfo);
|
|
102
|
+
})
|
|
103
|
+
.forEach((propertyShape) => {
|
|
104
|
+
const shapeName = propertyShape.name;
|
|
105
|
+
const patternName = propertyShape.patternName;
|
|
106
|
+
if (patternName !== null) {
|
|
107
|
+
// if this isn't a link then nothing to do here
|
|
108
|
+
if (propertyShape.range.isLink === false) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
// have to see if the pattern response is normalizable
|
|
112
|
+
const responseCacheKeyLines = generateShape(propertyShape.range, modelInfo, importContext, propertyName);
|
|
113
|
+
const fallbackPrefix = responseCacheKeyLines.length > 0
|
|
114
|
+
? `${ROOT_KEY_IDENTIFIER} + "__${propertyName}"`
|
|
115
|
+
: ROOT_KEY_IDENTIFIER;
|
|
116
|
+
// have to iterate over the keys and get cache keys for each
|
|
117
|
+
const propertyIdentifier = buildVarNameFromPropertyName(propertyName);
|
|
118
|
+
const varName = `${propertyIdentifier}_cacheKeys`;
|
|
119
|
+
const { name: linkName, id: linkId } = propertyShape.range
|
|
120
|
+
.linkTarget;
|
|
121
|
+
const cacheKeysIdentifier = importContext.importRamlArtifact(linkId, exports.GET_SHAPE_CACHE_KEYS_IDENTIFIER);
|
|
122
|
+
const inputTypeIdentifier = importContext.importRamlArtifact(linkId, linkName);
|
|
123
|
+
const code = deindent_1.default `
|
|
124
|
+
const ${propertyIdentifier} = ${buildPathFromPropertyName(propertyName)};
|
|
125
|
+
const ${propertyIdentifier}_keys = ${OBJECT_KEYS}(${propertyIdentifier});
|
|
126
|
+
const ${propertyIdentifier}_length = ${propertyIdentifier}_keys.length;
|
|
127
|
+
let ${varName} = ${OBJECT_CREATE}(null);
|
|
128
|
+
for (let ${loopIteratorVar} = 0; ${loopIteratorVar} < ${propertyIdentifier}_length; ${loopIteratorVar}++) {
|
|
129
|
+
const key = ${propertyIdentifier}_keys[i];
|
|
130
|
+
const cacheKeys = ${cacheKeysIdentifier}(${propertyIdentifier}[key] as ${inputTypeIdentifier}, () => ${fallbackPrefix} + "__" + key);
|
|
131
|
+
${varName} = {...${varName}, ...cacheKeys};
|
|
132
|
+
}
|
|
133
|
+
`;
|
|
134
|
+
lines.push({ varName, code });
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const nestedProps = generateShape(propertyShape.range, modelInfo, importContext, shapeName);
|
|
138
|
+
for (const nestedProp of nestedProps) {
|
|
139
|
+
lines.push(nestedProp);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
return lines;
|
|
143
|
+
}
|
|
144
|
+
function generateArray(shape, importContext, propertyName) {
|
|
145
|
+
// if this isn't a link then nothing to do here
|
|
146
|
+
if (shape.items.isLink === false) {
|
|
147
|
+
return [];
|
|
148
|
+
}
|
|
149
|
+
const { importTypeUtil } = importContext;
|
|
150
|
+
const OBJECT_CREATE = importTypeUtil('ObjectCreate');
|
|
151
|
+
const cacheKeysIdentifier = importContext.importRamlArtifact(shape.items.linkTarget.id, exports.GET_SHAPE_CACHE_KEYS_IDENTIFIER);
|
|
152
|
+
const propertyIdentifier = buildVarNameFromPropertyName(propertyName);
|
|
153
|
+
const propertyPath = buildPathFromPropertyName(propertyName);
|
|
154
|
+
// note we pass a no-op path factory because if we got here then the shape
|
|
155
|
+
// is normalizable and the array items will have a key builder
|
|
156
|
+
const fallbackKeyBuilder = `() => ''`;
|
|
157
|
+
const code = deindent_1.default `
|
|
158
|
+
const ${propertyIdentifier}_length = ${propertyPath}.length;
|
|
159
|
+
let ${propertyIdentifier} = ${OBJECT_CREATE}(null);
|
|
160
|
+
for (let ${loopIteratorVar} = 0; ${loopIteratorVar} < ${propertyIdentifier}_length; ${loopIteratorVar}++) {
|
|
161
|
+
${propertyIdentifier} = {...${propertyIdentifier}, ...${cacheKeysIdentifier}(${propertyPath}[i], ${fallbackKeyBuilder})};
|
|
162
|
+
}
|
|
163
|
+
`;
|
|
164
|
+
return [{ varName: propertyIdentifier, code }];
|
|
165
|
+
}
|
|
166
|
+
function generateUnion(valueShape, modelInfo, importContext, propertyName) {
|
|
167
|
+
const nonScalarShapes = valueShape.anyOf.filter((shape) => !utils_1.isScalarShape(shape) && !utils_1.isNilShape(shape));
|
|
168
|
+
// If union is only between simple type, no normalization is needed.
|
|
169
|
+
if (nonScalarShapes.length === 0) {
|
|
170
|
+
return [];
|
|
171
|
+
}
|
|
172
|
+
// the union is composed of a single non scalar shape with n scalar shapes.
|
|
173
|
+
const nonScalarShape = nonScalarShapes[0];
|
|
174
|
+
const nonScalarCacheKeyLine = generateShape(nonScalarShape, modelInfo, importContext, propertyName)[0];
|
|
175
|
+
if (nonScalarCacheKeyLine === undefined) {
|
|
176
|
+
return [];
|
|
177
|
+
}
|
|
178
|
+
const propertyPath = buildPathFromPropertyName(propertyName);
|
|
179
|
+
const outerVarName = `${buildVarNameFromPropertyName(propertyName)}__outer`;
|
|
180
|
+
const inScalarShapeShape = [
|
|
181
|
+
`${propertyPath} !== null`,
|
|
182
|
+
`typeof ${propertyPath} === 'object'`,
|
|
183
|
+
].join(' && ');
|
|
184
|
+
const code = deindent_1.default `
|
|
185
|
+
let ${outerVarName} = {};
|
|
186
|
+
if (${inScalarShapeShape}) {
|
|
187
|
+
${nonScalarCacheKeyLine.code}
|
|
188
|
+
${outerVarName} = ${nonScalarCacheKeyLine.varName}
|
|
189
|
+
}
|
|
190
|
+
`;
|
|
191
|
+
return [{ varName: outerVarName, code }];
|
|
192
|
+
}
|
|
193
|
+
function generateLink(linkShape, importContext, propertyName) {
|
|
194
|
+
const linkTarget = linkShape.linkTarget;
|
|
195
|
+
const { id: linkId, name: linkName } = linkTarget;
|
|
196
|
+
const { importRamlArtifact } = importContext;
|
|
197
|
+
const cacheKeysIdentifier = importRamlArtifact(linkId, exports.GET_SHAPE_CACHE_KEYS_IDENTIFIER);
|
|
198
|
+
const inputTypeIdentifier = importRamlArtifact(linkId, linkName);
|
|
199
|
+
const varName = buildVarNameFromPropertyName(propertyName);
|
|
200
|
+
const code = deindent_1.default `
|
|
201
|
+
const ${varName} = ${cacheKeysIdentifier}(${buildPathFromPropertyName(propertyName)} as ${inputTypeIdentifier}, () => ${ROOT_KEY_IDENTIFIER} + "__" + "${propertyName}")
|
|
202
|
+
`;
|
|
203
|
+
return {
|
|
204
|
+
varName,
|
|
205
|
+
code,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function generateShape(shape, modelInfo, importContext, propertyName) {
|
|
209
|
+
// non-normalized types don't have any nested keys
|
|
210
|
+
if (!shape_1.isNormalizable(shape.id, modelInfo) || shape_1.isOpaque(shape.id, modelInfo)) {
|
|
211
|
+
return [];
|
|
212
|
+
}
|
|
213
|
+
// only use the link's cache key function if this shape is not inherited from it
|
|
214
|
+
if (shape.isLink && !inheritance_1.isDiscriminatorShape(shape.linkTarget, modelInfo)) {
|
|
215
|
+
return [generateLink(shape, importContext, propertyName)];
|
|
216
|
+
}
|
|
217
|
+
// Recursively normalize inline shape definitions
|
|
218
|
+
if (utils_1.isNodeShape(shape)) {
|
|
219
|
+
return generateObject(shape, modelInfo, importContext, propertyName);
|
|
220
|
+
}
|
|
221
|
+
else if (utils_1.isArrayShape(shape)) {
|
|
222
|
+
return generateArray(shape, importContext, propertyName);
|
|
223
|
+
}
|
|
224
|
+
else if (utils_1.isUnionShape(shape)) {
|
|
225
|
+
return generateUnion(shape, modelInfo, importContext, propertyName);
|
|
226
|
+
}
|
|
227
|
+
return [];
|
|
228
|
+
}
|
|
229
|
+
function generateRoot(shape, modelInfo, importContext) {
|
|
230
|
+
const { importTypeUtil } = importContext;
|
|
231
|
+
const OBJECT_CREATE = importTypeUtil('ObjectCreate');
|
|
232
|
+
const nested = generateShape(shape, modelInfo, importContext, INPUT_IDENTIFIER);
|
|
233
|
+
const nestedCode = nested.map((line) => line.code).join('\n\n');
|
|
234
|
+
let returnLine = `${ROOT_KEY_SET_IDENTIFIER}`;
|
|
235
|
+
if (nested.length > 0) {
|
|
236
|
+
returnLine = `{...${returnLine}`;
|
|
237
|
+
for (const line of nested) {
|
|
238
|
+
returnLine += `, ...${line.varName}`;
|
|
239
|
+
}
|
|
240
|
+
returnLine += '}';
|
|
241
|
+
}
|
|
242
|
+
return deindent_1.default `
|
|
243
|
+
const ${ROOT_KEY_SET_IDENTIFIER}: ${constants_1.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} = ${OBJECT_CREATE}(null);
|
|
244
|
+
|
|
245
|
+
${generateSelfCacheKey(shape, modelInfo, importContext)}
|
|
246
|
+
|
|
247
|
+
${nestedCode}
|
|
248
|
+
|
|
249
|
+
return ${returnLine};
|
|
250
|
+
`;
|
|
251
|
+
}
|
|
252
|
+
function generateDiscriminatorShape(shape, modelInfo, importContext) {
|
|
253
|
+
const { references, discriminatorPropertyName, type: discriminatorType, } = inheritance_1.getDiscriminatorShape(shape, modelInfo);
|
|
254
|
+
const propertyAccessor = 'discriminatorValue';
|
|
255
|
+
const referenceKeys = Object.keys(references);
|
|
256
|
+
const cases = referenceKeys.map((key) => {
|
|
257
|
+
const childShape = references[key];
|
|
258
|
+
const cacheKeysIdentifier = importContext.importRamlArtifact(childShape.id, exports.GET_SHAPE_CACHE_KEYS_IDENTIFIER);
|
|
259
|
+
const inputTypeIdentifier = importContext.importRamlArtifact(childShape.id, childShape.name);
|
|
260
|
+
const formattedKey = discriminatorType === 'string' ? `'${key}'` : key;
|
|
261
|
+
return deindent_1.default `
|
|
262
|
+
if (${propertyAccessor} === ${formattedKey}) {
|
|
263
|
+
return ${cacheKeysIdentifier}(${INPUT_IDENTIFIER} as ${inputTypeIdentifier}, ${FULL_PATH_FACTORY_IDENTIFIER})
|
|
264
|
+
}
|
|
265
|
+
`;
|
|
266
|
+
});
|
|
267
|
+
const referenceKeyStrings = referenceKeys.map((key) => `"${key}"`).join(',');
|
|
268
|
+
return deindent_1.default `
|
|
269
|
+
const ${propertyAccessor} = ${INPUT_IDENTIFIER}.${discriminatorPropertyName};
|
|
270
|
+
|
|
271
|
+
${cases.join('\n')}
|
|
272
|
+
|
|
273
|
+
throw new Error(\`Invalid discriminatorValue "\${${propertyAccessor}\}". Expected one of ${referenceKeyStrings}\`);
|
|
274
|
+
`;
|
|
275
|
+
}
|
|
276
|
+
function generateGetShapeCacheKeys(shapeConfig) {
|
|
277
|
+
const { shape, importContext, modelInfo } = shapeConfig;
|
|
278
|
+
const generateDiscriminatorCacheKeyCode = inheritance_1.isDiscriminatorShape(shape, modelInfo);
|
|
279
|
+
const code = generateDiscriminatorCacheKeyCode
|
|
280
|
+
? generateDiscriminatorShape(shape, modelInfo, importContext)
|
|
281
|
+
: generateRoot(shape, modelInfo, importContext);
|
|
282
|
+
return deindent_1.default `
|
|
283
|
+
export function ${exports.GET_SHAPE_CACHE_KEYS_IDENTIFIER}(${INPUT_IDENTIFIER}: ${shape.name}, ${FULL_PATH_FACTORY_IDENTIFIER}: () => string): ${constants_1.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} {
|
|
284
|
+
${code}
|
|
285
|
+
}
|
|
286
|
+
`;
|
|
287
|
+
}
|
|
288
|
+
exports.generateGetShapeCacheKeys = generateGetShapeCacheKeys;
|
|
289
|
+
//# sourceMappingURL=shape-cache-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape-cache-keys.js","sourceRoot":"","sources":["../../../src/codegen/shape/shape-cache-keys.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luvio/compiler",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.61.0-236.0",
|
|
4
4
|
"description": "Luvio Compiler",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"types": "dist/main.d.ts",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"amf-client-js": "4.2.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@luvio/adapter-test-library": "0.
|
|
24
|
-
"@luvio/engine": "0.
|
|
25
|
-
}
|
|
23
|
+
"@luvio/adapter-test-library": "0.61.0-236.0",
|
|
24
|
+
"@luvio/engine": "0.61.0-236.0"
|
|
25
|
+
},
|
|
26
|
+
"gitHead": "4b95b09a954e65b46e5c5e004717349a046113de"
|
|
26
27
|
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Resource } from '../../intermediate/resource';
|
|
2
|
-
import { ImportContext } from '../../utils/imports';
|
|
3
|
-
export declare const ADAPTER_RESPONSE_KEYS_IDENTIFIER = "naiveGetResponseCacheKeys";
|
|
4
|
-
export declare function generateAdapterResponseKeys(context: ImportContext, resource: Resource): string;
|
|
@@ -1,44 +0,0 @@
|
|
|
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.generateAdapterResponseKeys = exports.ADAPTER_RESPONSE_KEYS_IDENTIFIER = void 0;
|
|
7
|
-
const deindent_1 = __importDefault(require("../../utils/deindent"));
|
|
8
|
-
const ingest_success_1 = require("../resource/ingest-success");
|
|
9
|
-
const constants_1 = require("./constants");
|
|
10
|
-
const constants_2 = require("../shared/constants");
|
|
11
|
-
const resource_params_1 = require("../resource/resource-params");
|
|
12
|
-
exports.ADAPTER_RESPONSE_KEYS_IDENTIFIER = 'naiveGetResponseCacheKeys';
|
|
13
|
-
function generateAdapterResponseKeys(context, resource) {
|
|
14
|
-
const { returnShape, id: resourceId } = resource;
|
|
15
|
-
const { importRamlArtifact, importAdapterUtil } = context;
|
|
16
|
-
const returnShapeName = returnShape.name;
|
|
17
|
-
const resourceTypeIdentifier = importRamlArtifact(returnShape.id, returnShapeName);
|
|
18
|
-
const resourceParamsIdentifier = importRamlArtifact(resourceId, resource_params_1.RESOURCE_PARAMS_INTERFACE);
|
|
19
|
-
const resourceIngestSuccess = importRamlArtifact(resourceId, ingest_success_1.RESOURCE_INGEST_SUCCESS_IDENTIFIER);
|
|
20
|
-
const OBJECT_KEYS = importAdapterUtil('ObjectKeys');
|
|
21
|
-
const OBJECT_CREATE = importAdapterUtil('ObjectCreate');
|
|
22
|
-
return deindent_1.default `
|
|
23
|
-
// naive way to get a response's cache keys: ingest it and look at seenRecords
|
|
24
|
-
export function ${exports.ADAPTER_RESPONSE_KEYS_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}: ${resourceParamsIdentifier}, ${constants_1.ADAPTER_RESPONSE_IDENTIFIER}: ${constants_1.ADAPTER_RESOURCE_RESPONSE_INTERFACE_IDENTIFIER}<${resourceTypeIdentifier}>): ${constants_2.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} {
|
|
25
|
-
// must clone response since ingestion is destructive
|
|
26
|
-
const responseCopy = JSON.parse(JSON.stringify(${constants_1.ADAPTER_RESPONSE_IDENTIFIER}))
|
|
27
|
-
const ${constants_1.ADAPTER_SNAPSHOT_IDENTIFIER} = ${resourceIngestSuccess}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, responseCopy);
|
|
28
|
-
const keys = [...${OBJECT_KEYS}(snapshot.seenRecords), snapshot.recordId]
|
|
29
|
-
const keySet: ${constants_2.ADAPTER_CACHE_KEY_SET_TYPE_IDENTIFIER} = ${OBJECT_CREATE}(null);
|
|
30
|
-
for (let i = 0, len = keys.length; i < len; i++) {
|
|
31
|
-
const key = keys[i];
|
|
32
|
-
const namespace = key.split('${constants_2.CACHE_KEY_NAMESPACE_DELIMITER}')[0];
|
|
33
|
-
const representationName = key.split('${constants_2.CACHE_KEY_NAMESPACE_DELIMITER}')[1].split('${constants_2.CACHE_KEY_FIELD_DELIMITER}')[0];
|
|
34
|
-
keySet[key] = {
|
|
35
|
-
namespace,
|
|
36
|
-
representationName,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return keySet;
|
|
40
|
-
}
|
|
41
|
-
`;
|
|
42
|
-
}
|
|
43
|
-
exports.generateAdapterResponseKeys = generateAdapterResponseKeys;
|
|
44
|
-
//# sourceMappingURL=adapter-response-keys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-response-keys.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-response-keys.ts"],"names":[],"mappings":";;;;;;AAGA,oEAA4C;AAC5C,+DAAgF;AAChF,2CAKqB;AACrB,mDAM6B;AAC7B,iEAAwE;AAG3D,QAAA,gCAAgC,GAAG,2BAA2B,CAAC;AAE5E,SAAgB,2BAA2B,CAAC,OAAsB,EAAE,QAAkB;IAClF,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,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,wBAAwB,GAAG,kBAAkB,CAAC,UAAU,EAAE,2CAAyB,CAAC,CAAC;IAE3F,MAAM,qBAAqB,GAAG,kBAAkB,CAC5C,UAAU,EACV,mDAAkC,CACrC,CAAC;IAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAExD,OAAO,kBAAQ,CAAA;;0BAEO,wCAAgC,IAAI,4BAAgB,KAAK,wBAAY,KAAK,8CAAkC,KAAK,wBAAwB,KAAK,uCAA2B,KAAK,0DAA8C,IAAI,sBAAsB,OAAO,iDAAqC;;6DAE/P,uCAA2B;oBACpE,uCAA2B,MAAM,qBAAqB,IAAI,4BAAgB,KAAK,8CAAkC;+BACtG,WAAW;4BACd,iDAAqC,MAAM,aAAa;;;+CAGrC,yCAA6B;wDACpB,yCAA6B,gBAAgB,qCAAyB;;;;;;;;KAQzH,CAAC;AACN,CAAC;AAnCD,kEAmCC"}
|