@luvio/compiler 0.89.0 → 0.92.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen/adapter/adapter-network.d.ts +1 -1
- package/dist/codegen/adapter/adapter-network.js +5 -2
- package/dist/codegen/adapter/adapter-network.js.map +1 -1
- package/dist/codegen/adapter/constants.d.ts +1 -0
- package/dist/codegen/adapter/constants.js +3 -2
- package/dist/codegen/adapter/constants.js.map +1 -1
- package/dist/codegen/adapter/graphql/adapter-config-transformer.d.ts +3 -0
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js +27 -0
- package/dist/codegen/adapter/graphql/adapter-config-transformer.js.map +1 -0
- package/dist/codegen/adapter/graphql/index.js +6 -1
- package/dist/codegen/adapter/graphql/index.js.map +1 -1
- package/dist/codegen/graphql/interface/index.js +4 -0
- package/dist/codegen/graphql/interface/index.js.map +1 -1
- package/dist/codegen/graphql/interface/query-transformer.d.ts +5 -0
- package/dist/codegen/graphql/interface/query-transformer.js +21 -0
- package/dist/codegen/graphql/interface/query-transformer.js.map +1 -0
- package/dist/codegen/graphql/interface/select.d.ts +6 -0
- package/dist/codegen/graphql/interface/select.js +47 -0
- package/dist/codegen/graphql/interface/select.js.map +1 -0
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.d.ts +1 -0
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js +6 -3
- package/dist/codegen/graphql/source-printer/graphql-type-source-printer.js.map +1 -1
- package/dist/codegen/graphql/type/constants.d.ts +8 -0
- package/dist/codegen/graphql/type/constants.js +9 -1
- package/dist/codegen/graphql/type/constants.js.map +1 -1
- package/dist/codegen/graphql/type/generateTypeUtil.d.ts +2 -1
- package/dist/codegen/graphql/type/generateTypeUtil.js +109 -3
- package/dist/codegen/graphql/type/generateTypeUtil.js.map +1 -1
- package/dist/codegen/graphql/type/index.js +6 -0
- package/dist/codegen/graphql/type/index.js.map +1 -1
- package/dist/codegen/graphql/type/ingest.d.ts +0 -1
- package/dist/codegen/graphql/type/ingest.js +56 -51
- package/dist/codegen/graphql/type/ingest.js.map +1 -1
- package/dist/codegen/graphql/type/interface.d.ts +3 -1
- package/dist/codegen/graphql/type/interface.js +10 -1
- package/dist/codegen/graphql/type/interface.js.map +1 -1
- package/dist/codegen/graphql/type/merge.d.ts +2 -0
- package/dist/codegen/graphql/type/merge.js +17 -0
- package/dist/codegen/graphql/type/merge.js.map +1 -0
- package/dist/codegen/graphql/type/query-transformer.d.ts +7 -0
- package/dist/codegen/graphql/type/query-transformer.js +98 -0
- package/dist/codegen/graphql/type/query-transformer.js.map +1 -0
- package/dist/codegen/graphql/type/select.d.ts +5 -0
- package/dist/codegen/graphql/type/select.js +179 -0
- package/dist/codegen/graphql/type/select.js.map +1 -0
- package/dist/codegen/graphql/utils/types.d.ts +7 -1
- package/dist/codegen/graphql/utils/types.js +28 -1
- package/dist/codegen/graphql/utils/types.js.map +1 -1
- package/dist/codegen/resource/graphql/create-resource-request.js +0 -2
- package/dist/codegen/resource/graphql/create-resource-request.js.map +1 -1
- package/dist/codegen/resource/graphql/index.js +2 -2
- package/dist/codegen/resource/graphql/index.js.map +1 -1
- package/dist/codegen/resource/graphql/select.d.ts +3 -0
- package/dist/codegen/resource/graphql/select.js +30 -0
- package/dist/codegen/resource/graphql/select.js.map +1 -0
- package/dist/codegen/shape/graphql/index.js +2 -2
- package/dist/codegen/shape/graphql/index.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-ingest.js +7 -0
- package/dist/codegen/shape/graphql/shape-ingest.js.map +1 -1
- package/dist/codegen/shape/graphql/shape-select.d.ts +3 -0
- package/dist/codegen/shape/graphql/shape-select.js +77 -0
- package/dist/codegen/shape/graphql/shape-select.js.map +1 -0
- package/dist/codegen/shape/shape-utils-ingest.js +0 -22
- package/dist/codegen/shape/shape-utils-ingest.js.map +1 -1
- package/dist/codegen/shape/shape-utils.js +1 -1
- package/dist/codegen/shared/constants.d.ts +5 -0
- package/dist/codegen/shared/constants.js +6 -1
- package/dist/codegen/shared/constants.js.map +1 -1
- package/package.json +4 -4
|
@@ -2,4 +2,4 @@ import type { AdapterAnnotation } from '../../intermediate/adapter-annotation';
|
|
|
2
2
|
import type { ModelInfo } from '../../intermediate/model-info';
|
|
3
3
|
import type { Resource } from '../../intermediate/resource';
|
|
4
4
|
import type { ImportContext } from '../../utils/imports';
|
|
5
|
-
export declare function generateNetworkFunction(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource, modelInfo: ModelInfo): string;
|
|
5
|
+
export declare function generateNetworkFunction(context: ImportContext, adapterAnnotation: AdapterAnnotation, resource: Resource, modelInfo: ModelInfo, transformConfigurationIdentifier?: string): string;
|
|
@@ -12,7 +12,7 @@ const constants_2 = require("../shared/constants");
|
|
|
12
12
|
const util_1 = require("./util");
|
|
13
13
|
const adapter_prepare_request_1 = require("./adapter-prepare-request");
|
|
14
14
|
const shape_1 = require("../../utils/shape");
|
|
15
|
-
function generateNetworkFunction(context, adapterAnnotation, resource, modelInfo) {
|
|
15
|
+
function generateNetworkFunction(context, adapterAnnotation, resource, modelInfo, transformConfigurationIdentifier) {
|
|
16
16
|
const { id: resourceId, returnShape } = resource;
|
|
17
17
|
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
18
18
|
const { importRamlArtifact } = context;
|
|
@@ -36,11 +36,14 @@ function generateNetworkFunction(context, adapterAnnotation, resource, modelInfo
|
|
|
36
36
|
const buildRequestStatement = usePrepareRequest(resource, modelInfo) === true
|
|
37
37
|
? `const ${constants_1.ADAPTER_REQUEST_IDENTIFIER} = ${adapter_prepare_request_1.PREPARE_REQUEST_IDENTIFIER}(${constants_2.LUVIO_IDENTIFIER}, ${constants_1.ADAPTER_CONFIG_IDENTIFIER}, ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER}, ${constants_1.ADAPTER_CACHE_SNAPSHOT_IDENTIFIER});`
|
|
38
38
|
: `const ${constants_1.ADAPTER_REQUEST_IDENTIFIER} = ${createResourceRequestIdentifier}(${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER});`;
|
|
39
|
+
const buildResourceParamsStatement = transformConfigurationIdentifier
|
|
40
|
+
? `const ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER} = ${createResourceParamsIdentifier}(${transformConfigurationIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}));`
|
|
41
|
+
: `const ${constants_1.ADAPTER_RESOURCE_PARAMS_IDENTIFIER} = ${createResourceParamsIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER});`;
|
|
39
42
|
return (0, deindent_1.default) `
|
|
40
43
|
export function ${constants_1.ADAPTER_BUILD_NETWORK_SNAPSHOT}(
|
|
41
44
|
${buildNetworkSnapshotParams.join(',\n')}
|
|
42
45
|
) : Promise<${snapshotTypeDefinition}> {
|
|
43
|
-
|
|
46
|
+
${buildResourceParamsStatement}
|
|
44
47
|
${buildRequestStatement}
|
|
45
48
|
return ${constants_2.LUVIO_IDENTIFIER}.dispatchResourceRequest<${resourceTypeIdentifier}>(${constants_1.ADAPTER_REQUEST_IDENTIFIER}, ${constants_1.ADAPTER_DISPATCH_OPTIONS_IDENTIFIER})
|
|
46
49
|
.then((${constants_1.ADAPTER_RESPONSE_IDENTIFIER}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-network.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAK5C,iFAAyF;AACzF,yEAAqF;AACrF,2CAiBqB;AACrB,mDAAqE;AACrE,iCAAuE;AAEvE,uEAAuE;AACvE,6CAAgD;AAEhD,SAAgB,uBAAuB,CACnC,OAAsB,EACtB,iBAAoC,EACpC,QAAkB,EAClB,SAAoB;
|
|
1
|
+
{"version":3,"file":"adapter-network.js","sourceRoot":"","sources":["../../../src/codegen/adapter/adapter-network.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ export declare const ADAPTER_SNAPSHOT_REFRESH_IDENTIFIER = "snapshotRefresh";
|
|
|
21
21
|
export declare const ADAPTER_ONE_OF_CONFIG_PROPERTIES_IDENTIFIER = "oneOfConfigPropertiesIdentifier";
|
|
22
22
|
export declare const ADAPTER_SNAPSHOT_IDENTIFIER = "snapshot";
|
|
23
23
|
export declare const ADAPTER_CREATE_RESOURCE_PARAMS_IDENTIFIER = "createResourceParams";
|
|
24
|
+
export declare const ADAPTER_TRASNFORM_CONFIGURATION_IDENTIFIER = "transformConfiguration";
|
|
24
25
|
export declare const ADAPTER_CACHE_SNAPSHOT_IDENTIFIER = "cacheSnapshot";
|
|
25
26
|
export declare const ADAPTER_CONFIG_PROPERTY_NAMES_IDENTIFIER = "configPropertyNames";
|
|
26
27
|
export declare const ADAPTER_OVERRIDE_IDENTIFIER = "override";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.ADAPTER_IMPORT_ENVIRONMENTS_MAKEDURABLE = exports.RESPONSE_STATUS_TEXT_500 = exports.RESPONSE_STATUS_TEXT_404 = exports.RESPONSE_STATUS_TEXT_400 = exports.RESPONSE_STATUS_TEXT_304 = exports.RESPONSE_STATUS_TEXT_200 = exports.ADAPTER_REQUEST_CONTEXT_INTERFACE_IDENTIFIER = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_GETMOCKNETWORKADAPTERCALLCOUNT = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_MOCKDURABLESTORE = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_GETMOCKSNAPSHOT = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_BUILDSUCCESSMOCKPAYLOAD = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_GETMOCKLUVIO = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_STRIPPROPERTIES = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_BUILDMOCKNETWORKADAPTER = exports.STORE_LOOKUP_IMPORT_IDENTIFIER = exports.ADAPTER_SNAPSHOT_REFRESH_INTERFACE_IDENTIFIER = exports.COERCED_ADAPTER_CONTEXT_IDENTIFIER = exports.ADAPTER_RESOURCE_RESPONSE_INTERFACE_IDENTIFIER = exports.ADAPTER_FETCH_RESPONSE_INTERFACE_IDENTIFIER = exports.ADAPTER_DISPATCH_RESOURCE_REQUEST_CONTEXT_IMPORT = exports.ADAPTER_RESOURCE_REQUEST_OVERRIDE_IMPORT = exports.ADAPTER_GRAPH_NODE_IMPORT = exports.ADAPTER_INGEST_STATE_IMPORT = exports.ADAPTER_INGEST_RESULT_IMPORT = exports.ADAPTER_FRAGMENT_SELECTION_IMPORT = exports.ADAPTER_BASE_FRAGMENT_IMPORT = exports.ADAPTER_RESOURCE_INGEST_INTERFACE_IDENTIFIER = exports.ADAPTER_FRAGMENT_UNION_SELECTION_INTERFACE_IDENTIFIER = void 0;
|
|
3
|
+
exports.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER = exports.ADAPTER_RESOURCE_REQUEST_IDENTIFIER = exports.ADAPTER_SELECTOR_IMPORT = exports.ADAPTER_ENVIRONMENT_IMPORT = exports.ADAPTER_READER_IMPORT = exports.ADAPTER_FRAGMENT_IDENTIFIER = exports.ADAPTER_SNAPSHOT_REFRESH_INTERFACE = exports.ADAPTER_DELETE_ADAPTER_FACTORY_IMPORT = exports.ADAPTER_FACTORY_IMPORT = exports.ADAPTER_ERROR_SNAPSHOT_IMPORT = exports.ADAPTER_PENDING_SNAPSHOT_IMPORT = exports.ADAPTER_STALE_SNAPSHOT_IMPORT = exports.ADAPTER_FULFILLED_SNAPSHOT_IMPORT = exports.ADAPTER_UNFULFILLED_SNAPSHOT_IMPORT = exports.ADAPTER_UNAVAILABLE_SNAPSHOT_IMPORT = exports.ADAPTER_SNAPSHOT_IMPORT = exports.ADAPTER_DELETE_ADAPTER_INTERFACE = exports.ADAPTER_INTERFACE = exports.ADAPTER_BUILD_SNAPSHOT_CONTEXT_IDENTIFIER = exports.ADAPTER_BUILD_SNAPSHOT_CONTEXT_TYPE_IDENTIFIER = exports.ADAPTER_REQUEST_CONTEXT_IDENTIFIER = exports.ADAPTER_RESPONSE_BODY_IDENTIFIER = exports.ADAPTER_DISPATCH_OPTIONS_IDENTIFIER = exports.ADAPTER_OVERRIDE_IDENTIFIER = exports.ADAPTER_CONFIG_PROPERTY_NAMES_IDENTIFIER = exports.ADAPTER_CACHE_SNAPSHOT_IDENTIFIER = exports.ADAPTER_TRASNFORM_CONFIGURATION_IDENTIFIER = exports.ADAPTER_CREATE_RESOURCE_PARAMS_IDENTIFIER = exports.ADAPTER_SNAPSHOT_IDENTIFIER = exports.ADAPTER_ONE_OF_CONFIG_PROPERTIES_IDENTIFIER = exports.ADAPTER_SNAPSHOT_REFRESH_IDENTIFIER = exports.ADAPTER_REQUEST_IDENTIFIER = exports.ADAPTER_RESPONSE_IDENTIFIER = exports.ADAPTER_RESOURCE_PARAMS_IDENTIFIER = exports.ADAPTER_HANDLE_ERROR_RESPONSE = exports.ADAPTER_HANDLE_SUCCESS_RESPONSE = exports.ADAPTER_ON_RESOURCE_RESPONSE_ERROR = exports.ADAPTER_ON_RESOURCE_RESPONSE_SUCCESS = exports.ADAPTER_VALIDATE_ADAPTER_CONFIG_IDENTIFIER = exports.ADAPTER_BUILD_NETWORK_SNAPSHOT_FOR_CACHE_POLICY = exports.ADAPTER_BUILD_NETWORK_SNAPSHOT = exports.ADAPTER_BUILD_CACHED_SNAPSHOT_CACHE_POLICY = exports.ADAPTER_BUILD_CACHED_SNAPSHOT = exports.ADAPTER_NAME_IDENTIFIER = exports.ADAPTER_FRAGMENT = exports.ADAPTER_TYPECHECK_FUNCTION_IDENTIFIER = exports.ADAPTER_UNTRUSTED_CONFIG_IDENTIFIER = exports.ADAPTER_COERCED_CONFIG_IDENTIFIER = exports.ADAPTER_COERCE_FUNCTION_IDENTIFIER = exports.ADAPTER_CONFIG_IDENTIFIER = void 0;
|
|
4
|
+
exports.ADAPTER_IMPORT_ENVIRONMENTS_MAKEDURABLE = exports.RESPONSE_STATUS_TEXT_500 = exports.RESPONSE_STATUS_TEXT_404 = exports.RESPONSE_STATUS_TEXT_400 = exports.RESPONSE_STATUS_TEXT_304 = exports.RESPONSE_STATUS_TEXT_200 = exports.ADAPTER_REQUEST_CONTEXT_INTERFACE_IDENTIFIER = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_GETMOCKNETWORKADAPTERCALLCOUNT = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_MOCKDURABLESTORE = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_GETMOCKSNAPSHOT = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_BUILDSUCCESSMOCKPAYLOAD = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_GETMOCKLUVIO = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_STRIPPROPERTIES = exports.ADAPTER_IMPORT_ADAPTERTESTLIB_BUILDMOCKNETWORKADAPTER = exports.STORE_LOOKUP_IMPORT_IDENTIFIER = exports.ADAPTER_SNAPSHOT_REFRESH_INTERFACE_IDENTIFIER = exports.COERCED_ADAPTER_CONTEXT_IDENTIFIER = exports.ADAPTER_RESOURCE_RESPONSE_INTERFACE_IDENTIFIER = exports.ADAPTER_FETCH_RESPONSE_INTERFACE_IDENTIFIER = exports.ADAPTER_DISPATCH_RESOURCE_REQUEST_CONTEXT_IMPORT = exports.ADAPTER_RESOURCE_REQUEST_OVERRIDE_IMPORT = exports.ADAPTER_GRAPH_NODE_IMPORT = exports.ADAPTER_INGEST_STATE_IMPORT = exports.ADAPTER_INGEST_RESULT_IMPORT = exports.ADAPTER_FRAGMENT_SELECTION_IMPORT = exports.ADAPTER_BASE_FRAGMENT_IMPORT = exports.ADAPTER_RESOURCE_INGEST_INTERFACE_IDENTIFIER = exports.ADAPTER_FRAGMENT_UNION_SELECTION_INTERFACE_IDENTIFIER = exports.ADAPTER_PATH_SELECTION_IDENTIFIER = void 0;
|
|
5
5
|
const imports_1 = require("../../utils/imports");
|
|
6
6
|
// Identifiers
|
|
7
7
|
exports.ADAPTER_CONFIG_IDENTIFIER = 'config';
|
|
@@ -27,6 +27,7 @@ exports.ADAPTER_SNAPSHOT_REFRESH_IDENTIFIER = 'snapshotRefresh';
|
|
|
27
27
|
exports.ADAPTER_ONE_OF_CONFIG_PROPERTIES_IDENTIFIER = 'oneOfConfigPropertiesIdentifier';
|
|
28
28
|
exports.ADAPTER_SNAPSHOT_IDENTIFIER = 'snapshot';
|
|
29
29
|
exports.ADAPTER_CREATE_RESOURCE_PARAMS_IDENTIFIER = 'createResourceParams';
|
|
30
|
+
exports.ADAPTER_TRASNFORM_CONFIGURATION_IDENTIFIER = 'transformConfiguration';
|
|
30
31
|
exports.ADAPTER_CACHE_SNAPSHOT_IDENTIFIER = 'cacheSnapshot';
|
|
31
32
|
exports.ADAPTER_CONFIG_PROPERTY_NAMES_IDENTIFIER = 'configPropertyNames';
|
|
32
33
|
exports.ADAPTER_OVERRIDE_IDENTIFIER = 'override';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/codegen/adapter/constants.ts"],"names":[],"mappings":";;;;AAAA,iDAAkD;AAElD,cAAc;AACD,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,kCAAkC,GAAG,cAAc,CAAC;AACpD,QAAA,iCAAiC,GAAG,eAAe,CAAC;AACpD,QAAA,mCAAmC,GAAG,iBAAiB,CAAC;AACxD,QAAA,qCAAqC,GAAG,iBAAiB,CAAC;AAC1D,QAAA,gBAAgB,GAAG,iBAAiB,CAAC;AACrC,QAAA,uBAAuB,GAAG,aAAa,CAAC;AACxC,QAAA,6BAA6B,GAAG,qBAAqB,CAAC;AACtD,QAAA,0CAA0C,GAAG,gCAAgC,CAAC;AAC9E,QAAA,8BAA8B,GAAG,sBAAsB,CAAC;AACxD,QAAA,+CAA+C,GAAG,iCAAiC,CAAC;AACpF,QAAA,0CAA0C,GAAG,uBAAuB,CAAC;AACrE,QAAA,oCAAoC,GAAG,2BAA2B,CAAC;AACnE,QAAA,kCAAkC,GAAG,yBAAyB,CAAC;AAC/D,QAAA,+BAA+B,GAAG,uBAAuB,CAAC;AAC1D,QAAA,6BAA6B,GAAG,qBAAqB,CAAC;AACtD,QAAA,kCAAkC,GAAG,gBAAgB,CAAC;AACtD,QAAA,2BAA2B,GAAG,UAAU,CAAC;AACzC,QAAA,0BAA0B,GAAG,SAAS,CAAC;AACvC,QAAA,mCAAmC,GAAG,iBAAiB,CAAC;AACxD,QAAA,2CAA2C,GAAG,iCAAiC,CAAC;AAChF,QAAA,2BAA2B,GAAG,UAAU,CAAC;AACzC,QAAA,yCAAyC,GAAG,sBAAsB,CAAC;AACnE,QAAA,iCAAiC,GAAG,eAAe,CAAC;AACpD,QAAA,wCAAwC,GAAG,qBAAqB,CAAC;AACjE,QAAA,2BAA2B,GAAG,UAAU,CAAC;AACzC,QAAA,mCAAmC,GAAG,SAAS,CAAC;AAChD,QAAA,gCAAgC,GAAG,MAAM,CAAC;AAC1C,QAAA,kCAAkC,GAAG,gBAAgB,CAAC;AACtD,QAAA,8CAA8C,GAAG,sBAAsB,CAAC;AACxE,QAAA,yCAAyC,GAAG,SAAS,CAAC;AAEnE,iBAAiB;AACJ,QAAA,iBAAiB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAC5D,QAAA,gCAAgC,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AACjF,QAAA,uBAAuB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AACnE,QAAA,mCAAmC,GAAG,IAAA,qBAAW,EAC1D,eAAe,EACf,qBAAqB,CACxB,CAAC;AACW,QAAA,mCAAmC,GAAG,IAAA,qBAAW,EAC1D,eAAe,EACf,qBAAqB,CACxB,CAAC;AACW,QAAA,iCAAiC,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AACtF,QAAA,6BAA6B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAC9E,QAAA,+BAA+B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAClF,QAAA,6BAA6B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAC9E,QAAA,sBAAsB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AACxE,QAAA,qCAAqC,GAAG,IAAA,qBAAW,EAC5D,eAAe,EACf,sBAAsB,CACzB,CAAC;AACW,QAAA,kCAAkC,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AACrF,QAAA,2BAA2B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AACvE,QAAA,qBAAqB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC/D,QAAA,0BAA0B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AACzE,QAAA,uBAAuB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AACnE,QAAA,mCAAmC,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AACtF,QAAA,wCAAwC,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AACtF,QAAA,iCAAiC,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAClF,QAAA,qDAAqD,GAAG,IAAA,qBAAW,EAC5E,eAAe,EACf,wBAAwB,CAC3B,CAAC;AACW,QAAA,4CAA4C,GAAG,IAAA,qBAAW,EACnE,eAAe,EACf,gBAAgB,CACnB,CAAC;AACW,QAAA,4BAA4B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAC5E,QAAA,iCAAiC,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AACtF,QAAA,4BAA4B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;AACpF,QAAA,2BAA2B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;AAClF,QAAA,yBAAyB,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AACtE,QAAA,wCAAwC,GAAG,IAAA,qBAAW,EAC/D,eAAe,EACf,yBAAyB,CAC5B,CAAC;AACW,QAAA,gDAAgD,GAAG,IAAA,qBAAW,EACvE,eAAe,EACf,gCAAgC,CACnC,CAAC;AACW,QAAA,2CAA2C,GAAG,IAAA,qBAAW,EAClE,eAAe,EACf,eAAe,CAClB,CAAC;AACW,QAAA,8CAA8C,GAAG,IAAA,qBAAW,EACrE,eAAe,EACf,kBAAkB,CACrB,CAAC;AAEW,QAAA,kCAAkC,GAAG,IAAA,qBAAW,EACzD,eAAe,EACf,8BAA8B,CACjC,CAAC;AAEW,QAAA,6CAA6C,GAAG,IAAA,qBAAW,EACpE,eAAe,EACf,iBAAiB,CACpB,CAAC;AAEW,QAAA,8BAA8B,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAE1F,sCAAsC;AACzB,QAAA,qDAAqD,GAAG,IAAA,qBAAW,EAC5E,6BAA6B,EAC7B,yBAAyB,CAC5B,CAAC;AACW,QAAA,6CAA6C,GAAG,IAAA,qBAAW,EACpE,6BAA6B,EAC7B,iBAAiB,CACpB,CAAC;AACW,QAAA,0CAA0C,GAAG,IAAA,qBAAW,EACjE,6BAA6B,EAC7B,mCAAmC,CACtC,CAAC;AACW,QAAA,qDAAqD,GAAG,IAAA,qBAAW,EAC5E,6BAA6B,EAC7B,yBAAyB,CAC5B,CAAC;AAEW,QAAA,6CAA6C,GAAG,IAAA,qBAAW,EACpE,6BAA6B,EAC7B,0BAA0B,CAC7B,CAAC;AAEW,QAAA,8CAA8C,GAAG,IAAA,qBAAW,EACrE,6BAA6B,EAC7B,kBAAkB,CACrB,CAAC;AAEW,QAAA,4DAA4D,GAAG,IAAA,qBAAW,EACnF,6BAA6B,EAC7B,gCAAgC,CACnC,CAAC;AAEW,QAAA,4CAA4C,GAAG,IAAA,qBAAW,EACnE,eAAe,EACf,uBAAuB,CAC1B,CAAC;AAEF,wBAAwB;AACX,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAChC,QAAA,wBAAwB,GAAG,cAAc,CAAC;AAC1C,QAAA,wBAAwB,GAAG,aAAa,CAAC;AACzC,QAAA,wBAAwB,GAAG,WAAW,CAAC;AACvC,QAAA,wBAAwB,GAAG,cAAc,CAAC;AAEvD,8BAA8B;AACjB,QAAA,uCAAuC,GAAG,IAAA,qBAAW,EAC9D,qBAAqB,EACrB,aAAa,CAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/codegen/adapter/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
2
|
+
import type { AdapterAnnotation } from '../../../intermediate/adapter-annotation';
|
|
3
|
+
export declare function generateConfigTransformerFunction(context: ImportContext, adapterAnnotation: AdapterAnnotation): string;
|
|
@@ -0,0 +1,27 @@
|
|
|
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.generateConfigTransformerFunction = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const constants_2 = require("../../graphql/type/constants");
|
|
10
|
+
const util_1 = require("../util");
|
|
11
|
+
function generateConfigTransformerFunction(context, adapterAnnotation) {
|
|
12
|
+
const { name: adapterName, id: adapterId } = adapterAnnotation;
|
|
13
|
+
const { importGraphQLArtifact, importRamlArtifact } = context;
|
|
14
|
+
const configInterfaceIdentifier = importRamlArtifact(adapterId, (0, util_1.buildConfigInterfaceName)(adapterName));
|
|
15
|
+
const transformConfigurationIdentifier = importRamlArtifact(adapterId, constants_1.ADAPTER_TRASNFORM_CONFIGURATION_IDENTIFIER);
|
|
16
|
+
const applyMinimumFieldsToQuery = importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER);
|
|
17
|
+
return (0, deindent_1.default) `
|
|
18
|
+
export function ${transformConfigurationIdentifier}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}: ${configInterfaceIdentifier}): ${configInterfaceIdentifier} {
|
|
19
|
+
return {
|
|
20
|
+
...${constants_1.ADAPTER_CONFIG_IDENTIFIER},
|
|
21
|
+
query: ${applyMinimumFieldsToQuery}(${constants_1.ADAPTER_CONFIG_IDENTIFIER}.query)
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
`;
|
|
25
|
+
}
|
|
26
|
+
exports.generateConfigTransformerFunction = generateConfigTransformerFunction;
|
|
27
|
+
//# sourceMappingURL=adapter-config-transformer.js.map
|
|
@@ -0,0 +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;AAGnD,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,gCAAoB,EACpB,oDAAwC,CAC3C,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;0BACO,gCAAgC,IAAI,qCAAyB,KAAK,yBAAyB,MAAM,yBAAyB;;qBAE/H,qCAAyB;yBACrB,yBAAyB,IAAI,qCAAyB;;;KAG1E,CAAC;AACN,CAAC;AA5BD,8EA4BC"}
|
|
@@ -21,10 +21,14 @@ const adapter_validation_config_object_1 = require("../adapter-validation-config
|
|
|
21
21
|
const create_resource_params_1 = require("../create-resource-params");
|
|
22
22
|
const adapter_prepare_request_1 = require("../adapter-prepare-request");
|
|
23
23
|
const adapter_config_interface_1 = require("./adapter-config-interface");
|
|
24
|
+
const adapter_config_transformer_1 = require("./adapter-config-transformer");
|
|
24
25
|
const index_1 = require("../index");
|
|
26
|
+
const constants_1 = require("../constants");
|
|
25
27
|
function generateGraphQLAdapter(resource, typescriptFilePath, compilerBaseOutputDir, adapterAnnotation, modelInfo, plugin) {
|
|
26
28
|
const configParamInfos = (0, index_1.buildConfigParamInfos)(resource);
|
|
27
29
|
const importContext = (0, imports_1.createImportContext)(typescriptFilePath, compilerBaseOutputDir, plugin);
|
|
30
|
+
const { id: adapterId } = adapterAnnotation;
|
|
31
|
+
const transformConfigurationIdentifier = importContext.importRamlArtifact(adapterId, constants_1.ADAPTER_TRASNFORM_CONFIGURATION_IDENTIFIER);
|
|
28
32
|
const code = [
|
|
29
33
|
(0, adapter_name_1.generateAdapterNameExport)(adapterAnnotation.name),
|
|
30
34
|
(0, adapter_one_of_params_1.generateAdapterOneOfParams)(adapterAnnotation),
|
|
@@ -34,12 +38,13 @@ function generateGraphQLAdapter(resource, typescriptFilePath, compilerBaseOutput
|
|
|
34
38
|
(0, adapter_key_builder_1.generateKeyBuilder)(importContext, adapterAnnotation, resource),
|
|
35
39
|
(0, adapter_type_check_1.generateTypeCheckFunction)(importContext, adapterAnnotation, configParamInfos, modelInfo),
|
|
36
40
|
(0, adapter_config_validation_1.generateConfigValidation)(importContext, adapterAnnotation),
|
|
41
|
+
(0, adapter_config_transformer_1.generateConfigTransformerFunction)(importContext, adapterAnnotation),
|
|
37
42
|
(0, adapter_fragment_1.generateAdapterFragmentFunction)(importContext, adapterAnnotation, resource),
|
|
38
43
|
(0, adapter_cache_1.generateCacheFunction)(importContext, adapterAnnotation, resource),
|
|
39
44
|
(0, adapter_resource_success_1.generateResourceSuccess)(importContext, adapterAnnotation, resource),
|
|
40
45
|
(0, adapter_resource_error_1.generateResourceError)(importContext, adapterAnnotation, resource),
|
|
41
46
|
(0, adapter_prepare_request_1.generatePrepareRequest)(importContext, adapterAnnotation, resource, modelInfo),
|
|
42
|
-
(0, adapter_network_1.generateNetworkFunction)(importContext, adapterAnnotation, resource, modelInfo),
|
|
47
|
+
(0, adapter_network_1.generateNetworkFunction)(importContext, adapterAnnotation, resource, modelInfo, transformConfigurationIdentifier),
|
|
43
48
|
(0, adapter_build_snapshot_context_1.generateBuildSnapshotContext)(importContext, adapterAnnotation, resource),
|
|
44
49
|
(0, adapter_network_cache_policy_1.generateNetworkSnapshotFunctionCachePolicy)(importContext, adapterAnnotation, resource),
|
|
45
50
|
(0, adapter_memory_cache_policy_1.generateMemorySnapshotFunctionCachePolicy)(importContext, adapterAnnotation, resource),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/adapter/graphql/index.ts"],"names":[],"mappings":";;;AAGA,oDAA6E;AAC7E,wEAAoE;AACpE,sFAAiF;AACjF,oDAAyD;AACzD,4EAAwE;AACxE,0DAAsE;AACtE,gEAA4D;AAC5D,gFAA2F;AAC3F,kDAA4D;AAC5D,wDAA6D;AAC7D,kFAA6F;AAC7F,oEAAgE;AAChE,oEAAsE;AACtE,sEAAkE;AAClE,0EAAsE;AACtE,8DAAkE;AAClE,0FAA4F;AAC5F,sEAAyE;AACzE,wEAAoE;AAGpE,yEAAmF;AACnF,oCAAiD;
|
|
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,0DAAsE;AACtE,gEAA4D;AAC5D,gFAA2F;AAC3F,kDAA4D;AAC5D,wDAA6D;AAC7D,kFAA6F;AAC7F,oEAAgE;AAChE,oEAAsE;AACtE,sEAAkE;AAClE,0EAAsE;AACtE,8DAAkE;AAClE,0FAA4F;AAC5F,sEAAyE;AACzE,wEAAoE;AAGpE,yEAAmF;AACnF,6EAAiF;AACjF,oCAAiD;AACjD,4CAA0E;AAE1E,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,8CAAyB,EAAC,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,CAAC;QACxF,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;AA/CD,wDA+CC"}
|
|
@@ -8,11 +8,15 @@ const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
|
8
8
|
const interface_1 = require("./interface");
|
|
9
9
|
const ingest_1 = require("./ingest");
|
|
10
10
|
const imports_1 = require("../../../utils/imports");
|
|
11
|
+
const select_1 = require("./select");
|
|
12
|
+
const query_transformer_1 = require("./query-transformer");
|
|
11
13
|
function generateInterfaceType(graphqlDsl, typeName, def, importContext, metadata) {
|
|
12
14
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
13
15
|
export const name = '${typeName}';
|
|
14
16
|
${(0, interface_1.generateInterface)(typeName, def, importContext, metadata)}
|
|
15
17
|
${(0, ingest_1.generateIngest)(graphqlDsl, typeName, def, importContext, metadata)}
|
|
18
|
+
${(0, select_1.generateSelect)(graphqlDsl, typeName, def, importContext, metadata)}
|
|
19
|
+
${(0, query_transformer_1.generate)(graphqlDsl, typeName, def, importContext, metadata)}
|
|
16
20
|
`);
|
|
17
21
|
}
|
|
18
22
|
exports.generateInterfaceType = generateInterfaceType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,2CAAgD;AAChD,qCAA0C;AAC1C,oDAAwD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,2CAAgD;AAChD,qCAA0C;AAC1C,oDAAwD;AAKxD,qCAA0C;AAC1C,2DAA2E;AAE3E,SAAgB,qBAAqB,CACjC,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,QAAQ;UAC7B,IAAA,6BAAiB,EAAC,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UACzD,IAAA,uBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAClE,IAAA,uBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAClE,IAAA,4BAAwB,EAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KACjF,CAAC,CAAC;AACP,CAAC;AAdD,sDAcC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { InterfaceTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
2
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
+
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
4
|
+
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
5
|
+
export declare function generate(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: InterfaceTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
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.generate = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const query_transformer_1 = require("../type/query-transformer");
|
|
9
|
+
function generate(graphqlDsl, typeName, def, importContext, _metadata) {
|
|
10
|
+
var _a;
|
|
11
|
+
const { schema } = graphqlDsl;
|
|
12
|
+
const isQueryType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName;
|
|
13
|
+
const queryTransform = (0, query_transformer_1.generateQueryTransformer)(graphqlDsl, def, importContext);
|
|
14
|
+
const minimumFields = (0, query_transformer_1.generateGetMinimumFields)(isQueryType, def);
|
|
15
|
+
return (0, deindent_1.default) `
|
|
16
|
+
${queryTransform}
|
|
17
|
+
${minimumFields}
|
|
18
|
+
`;
|
|
19
|
+
}
|
|
20
|
+
exports.generate = generate;
|
|
21
|
+
//# sourceMappingURL=query-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-transformer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/query-transformer.ts"],"names":[],"mappings":";;;;;;AACA,uEAA+C;AAI/C,iEAA+F;AAE/F,SAAgB,QAAQ,CACpB,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,WAAW,GAAG,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAA,4CAAwB,EAAC,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,IAAA,4CAAwB,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEjE,OAAO,IAAA,kBAAQ,EAAA;UACT,cAAc;UACd,aAAa;KAClB,CAAC;AACN,CAAC;AAjBD,4BAiBC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GraphQLInterfaceType, GraphQLSchema, InterfaceTypeDefinitionNode } from '@luvio/graphql-parser';
|
|
2
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
3
|
+
import type { LuvioGraphQLDSL } from '../../../intermediate/graphql';
|
|
4
|
+
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
5
|
+
export declare function generateSelectFromDef(graphQLSchema: GraphQLSchema, interfaceType: GraphQLInterfaceType, importContext: ImportContext): string;
|
|
6
|
+
export declare function generateSelect(graphqlDsl: LuvioGraphQLDSL, typeName: string, def: InterfaceTypeDefinitionNode, importContext: ImportContext, _metadata: GraphQLCodegenMetadata): string;
|
|
@@ -0,0 +1,47 @@
|
|
|
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.generateSelect = exports.generateSelectFromDef = void 0;
|
|
7
|
+
const deindent_1 = __importDefault(require("../../../utils/deindent"));
|
|
8
|
+
const constants_1 = require("../../adapter/constants");
|
|
9
|
+
const constants_2 = require("../../shared/constants");
|
|
10
|
+
const constants_3 = require("../type/constants");
|
|
11
|
+
const interface_1 = require("./interface");
|
|
12
|
+
function generateSelectFromDef(graphQLSchema, interfaceType, importContext) {
|
|
13
|
+
const selectStatements = graphQLSchema
|
|
14
|
+
.getImplementations(interfaceType)
|
|
15
|
+
.objects.map((object) => {
|
|
16
|
+
const objectPartialInterfaceAlias = importContext.importGraphQLArtifact(object.name, interface_1.PARTIAL_INTERFACE_IDENTIFIER);
|
|
17
|
+
return (0, deindent_1.default) `
|
|
18
|
+
if(typename === '${object.name}') {
|
|
19
|
+
return ${importContext.importGraphQLArtifact(object.name, 'select')}(field, variables, fragments)(source as ${objectPartialInterfaceAlias}, reader)
|
|
20
|
+
}`;
|
|
21
|
+
});
|
|
22
|
+
return selectStatements.join('\n');
|
|
23
|
+
}
|
|
24
|
+
exports.generateSelectFromDef = generateSelectFromDef;
|
|
25
|
+
function generateSelect(graphqlDsl, typeName, def, importContext, _metadata) {
|
|
26
|
+
var _a;
|
|
27
|
+
const { schema } = graphqlDsl;
|
|
28
|
+
const type = schema.getType(def.name.value);
|
|
29
|
+
if (!type) {
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
const astNodeParamType = ((_a = schema.getQueryType()) === null || _a === void 0 ? void 0 : _a.name) === typeName
|
|
33
|
+
? constants_2.LUVIO_GRAPHQL_OPERATION_DEFINITION_NODE_IMPORT
|
|
34
|
+
: constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
|
|
35
|
+
const graphqlVariablesImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_VARIABLES_IDENTIFIER);
|
|
36
|
+
const fragmentMapImport = importContext.importGraphQLArtifact(constants_3.TYPE_UTIL_IDENTIFIER, constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER);
|
|
37
|
+
return (0, deindent_1.default) `
|
|
38
|
+
export function select(field: ${astNodeParamType}, variables: ${graphqlVariablesImport}, fragments: ${fragmentMapImport}) {
|
|
39
|
+
return (source: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, reader: ${constants_1.ADAPTER_READER_IMPORT}<any>): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER} => {
|
|
40
|
+
const typename = source.__typename;
|
|
41
|
+
${generateSelectFromDef(schema, type, importContext)}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
`;
|
|
45
|
+
}
|
|
46
|
+
exports.generateSelect = generateSelect;
|
|
47
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/interface/select.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,uDAAgE;AAOhE,sDAGgC;AAGhC,iDAI2B;AAC3B,2CAA2D;AAE3D,SAAgB,qBAAqB,CACjC,aAA4B,EAC5B,aAAmC,EACnC,aAA4B;IAE5B,MAAM,gBAAgB,GAAG,aAAa;SACjC,kBAAkB,CAAC,aAAa,CAAC;SACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACpB,MAAM,2BAA2B,GAAG,aAAa,CAAC,qBAAqB,CACnE,MAAM,CAAC,IAAI,EACX,wCAA4B,CAC/B,CAAC;QACF,OAAO,IAAA,kBAAQ,EAAA;mCACQ,MAAM,CAAC,IAAI;6BACjB,aAAa,CAAC,qBAAqB,CACxC,MAAM,CAAC,IAAI,EACX,QAAQ,CACX,2CAA2C,2BAA2B;kBACzE,CAAC;IACX,CAAC,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAtBD,sDAsBC;AAED,SAAgB,cAAc,CAC1B,UAA2B,EAC3B,QAAgB,EAChB,GAAgC,EAChC,aAA4B,EAC5B,SAAiC;;IAEjC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,EAAE,CAAC;KACb;IACD,MAAM,gBAAgB,GAClB,CAAA,MAAA,MAAM,CAAC,YAAY,EAAE,0CAAE,IAAI,MAAK,QAAQ;QACpC,CAAC,CAAC,0DAA8C;QAChD,CAAC,CAAC,2CAA+B,CAAC;IAC1C,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,gCAAoB,EACpB,wCAA4B,CAC/B,CAAC;IACF,MAAM,iBAAiB,GAAG,aAAa,CAAC,qBAAqB,CACzD,gCAAoB,EACpB,2CAA+B,CAClC,CAAC;IACF,OAAO,IAAA,kBAAQ,EAAA;wCACqB,gBAAgB,gBAAgB,sBAAsB,gBAAgB,iBAAiB;8BACjG,wCAA4B,aAAa,iCAAqB,WAAW,wCAA4B;;kBAEjH,qBAAqB,CAAC,MAAM,EAAE,IAA4B,EAAE,aAAa,CAAC;;;KAGvF,CAAC;AACN,CAAC;AAhCD,wCAgCC"}
|
|
@@ -16,4 +16,5 @@ export declare class GraphQLTypeSourcePrinter implements GraphQLTypePrinter {
|
|
|
16
16
|
importContext: ImportContext;
|
|
17
17
|
};
|
|
18
18
|
generateGraphQLInteropTypes(modelInfo: ModelInfo, compilerBaseOutputDir: path.ParsedPath, plugin: CompilerPlugin, graphqlResource: GraphQLResource): GraphQLTypeGenerationResult;
|
|
19
|
+
addTypeModule(graphQLResource: GraphQLResource, compilerBaseOutputDir: path.ParsedPath, metadata: GraphQLCodegenMetadata, modules: GraphQLTypeGenerationResult): void;
|
|
19
20
|
}
|
|
@@ -23,9 +23,7 @@ class GraphQLTypeSourcePrinter {
|
|
|
23
23
|
const { graphqlDSL } = graphQLResource;
|
|
24
24
|
const typeKeys = Object.keys(graphqlDSL.schema.getTypeMap());
|
|
25
25
|
const modules = {};
|
|
26
|
-
|
|
27
|
-
const typeUtil = (0, generateTypeUtil_1.generateTypeUtil)(graphQLResource, metadata);
|
|
28
|
-
modules[relPath] = typeUtil;
|
|
26
|
+
this.addTypeModule(graphQLResource, compilerBaseOutputDir, metadata, modules);
|
|
29
27
|
// TODO: What should happen if multiple endpoints use the same Representation? Technically this would be legal in RAML as the
|
|
30
28
|
// top level types are the same.
|
|
31
29
|
Object.assign(modules, this.generateGraphQLInteropTypes(modelInfo, compilerBaseOutputDir, plugin, graphQLResource));
|
|
@@ -83,6 +81,11 @@ class GraphQLTypeSourcePrinter {
|
|
|
83
81
|
}
|
|
84
82
|
return modules;
|
|
85
83
|
}
|
|
84
|
+
addTypeModule(graphQLResource, compilerBaseOutputDir, metadata, modules) {
|
|
85
|
+
const { importContext, relPath } = this.createGraphQLTypeImportContext(compilerBaseOutputDir, 'type-util');
|
|
86
|
+
const typeUtil = (0, generateTypeUtil_1.generateTypeUtil)(graphQLResource, metadata, importContext);
|
|
87
|
+
modules[relPath] = typeUtil;
|
|
88
|
+
}
|
|
86
89
|
}
|
|
87
90
|
exports.GraphQLTypeSourcePrinter = GraphQLTypeSourcePrinter;
|
|
88
91
|
//# sourceMappingURL=graphql-type-source-printer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-type-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-type-source-printer.ts"],"names":[],"mappings":";;;;;;AAEA,oDAA6D;AAC7D,gDAAwB;AACxB,0DAA6C;AAC7C,kCAAuC;AACvC,+DAA4D;AAC5D,oCAAyD;AACzD,kCAAuD;AAIvD,uDAA0D;AAG1D,iDAAuE;AACvE,4CAAqD;AAExC,QAAA,wBAAwB,GAAG,SAAS,CAAC;AACrC,QAAA,uBAAuB,GAAG,UAAU,CAAC;AAClD,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACxC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAIrC,MAAa,wBAAwB;IACjC,QAAQ,CACJ,eAAgC,EAChC,qBAAsC,EACtC,QAAgC,EAChC,SAAoB,EACpB,MAAsB;QAEtB,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAgC,EAAE,CAAC;QAEhD,
|
|
1
|
+
{"version":3,"file":"graphql-type-source-printer.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/source-printer/graphql-type-source-printer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const GRAPHQL_VARIABLES_IDENTIFIER = "GraphQLVariables";
|
|
2
|
+
export declare const GRAPHQL_FRAGMENT_MAP_IDENTIFIER = "GraphQLFragmentMap";
|
|
2
3
|
export declare const GRAPHQL_STATE_INTERFACE_IDENTIFIER = "GraphQLState";
|
|
3
4
|
export declare const TIMESTAMP_IDENTIFIER = "timestamp";
|
|
4
5
|
export declare const CREATE_LINK_IDENTIFIER = "createLink";
|
|
@@ -7,8 +8,15 @@ export declare const TYPE_INGEST_IDENTIFIER = "ingest";
|
|
|
7
8
|
export declare const KEY_BUILDER_IDENTIFIER = "keyBuilder";
|
|
8
9
|
export declare const SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = "serializeFieldArguments";
|
|
9
10
|
export declare const GET_REQUESTED_FIELD_IDENTIFIER = "getRequestedField";
|
|
11
|
+
export declare const GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = "getRequestedFieldsForType";
|
|
10
12
|
export declare const GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = "getSerializedKeyForField";
|
|
11
13
|
export declare const FIELD_KEY_IDENTIFIER = "fieldKey";
|
|
12
14
|
export declare const FIELD_DATA_IDENTIFIER = "fieldData";
|
|
13
15
|
export declare const FIELD_DATA_KEY_IDENTIFIER = "fieldDataKey";
|
|
14
16
|
export declare const REQUESTED_FIELD_IDENTIFIER = "requestedField";
|
|
17
|
+
export declare const REQUESTED_FIELD_NAME_IDENTIFIER = "requestedFieldName";
|
|
18
|
+
export declare const SINK_IDENTIFIER = "sink";
|
|
19
|
+
export declare const APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = "applyMinimumFieldsToQuery";
|
|
20
|
+
export declare const GET_QUERY_TRANSFORMER_IDENTIFIER = "getQueryTransformer";
|
|
21
|
+
export declare const GET_MINIMUM_FIELDS_IDENTIFIER = "getMinimumFields";
|
|
22
|
+
export declare const QUERY_TRANSFORMER_IDENTIFIER = "QueryTransformer";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
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_FIELD_IDENTIFIER = exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = exports.KEY_BUILDER_IDENTIFIER = exports.TYPE_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
|
|
3
|
+
exports.QUERY_TRANSFORMER_IDENTIFIER = exports.GET_MINIMUM_FIELDS_IDENTIFIER = exports.GET_QUERY_TRANSFORMER_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_INGEST_IDENTIFIER = exports.TYPE_UTIL_IDENTIFIER = exports.CREATE_LINK_IDENTIFIER = exports.TIMESTAMP_IDENTIFIER = exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = exports.GRAPHQL_VARIABLES_IDENTIFIER = void 0;
|
|
4
4
|
exports.GRAPHQL_VARIABLES_IDENTIFIER = 'GraphQLVariables';
|
|
5
|
+
exports.GRAPHQL_FRAGMENT_MAP_IDENTIFIER = 'GraphQLFragmentMap';
|
|
5
6
|
exports.GRAPHQL_STATE_INTERFACE_IDENTIFIER = 'GraphQLState';
|
|
6
7
|
exports.TIMESTAMP_IDENTIFIER = 'timestamp';
|
|
7
8
|
exports.CREATE_LINK_IDENTIFIER = 'createLink';
|
|
@@ -10,9 +11,16 @@ exports.TYPE_INGEST_IDENTIFIER = 'ingest';
|
|
|
10
11
|
exports.KEY_BUILDER_IDENTIFIER = 'keyBuilder';
|
|
11
12
|
exports.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER = 'serializeFieldArguments';
|
|
12
13
|
exports.GET_REQUESTED_FIELD_IDENTIFIER = 'getRequestedField';
|
|
14
|
+
exports.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER = 'getRequestedFieldsForType';
|
|
13
15
|
exports.GET_SERIALIZED_KEY_FOR_FIELD_IDENTIFIER = 'getSerializedKeyForField';
|
|
14
16
|
exports.FIELD_KEY_IDENTIFIER = 'fieldKey';
|
|
15
17
|
exports.FIELD_DATA_IDENTIFIER = 'fieldData';
|
|
16
18
|
exports.FIELD_DATA_KEY_IDENTIFIER = 'fieldDataKey';
|
|
17
19
|
exports.REQUESTED_FIELD_IDENTIFIER = 'requestedField';
|
|
20
|
+
exports.REQUESTED_FIELD_NAME_IDENTIFIER = 'requestedFieldName';
|
|
21
|
+
exports.SINK_IDENTIFIER = 'sink';
|
|
22
|
+
exports.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER = 'applyMinimumFieldsToQuery';
|
|
23
|
+
exports.GET_QUERY_TRANSFORMER_IDENTIFIER = 'getQueryTransformer';
|
|
24
|
+
exports.GET_MINIMUM_FIELDS_IDENTIFIER = 'getMinimumFields';
|
|
25
|
+
exports.QUERY_TRANSFORMER_IDENTIFIER = 'QueryTransformer';
|
|
18
26
|
//# 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,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,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,oCAAoC,GAAG,yBAAyB,CAAC;AACjE,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AACrD,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"}
|
|
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,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,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,gCAAgC,GAAG,qBAAqB,CAAC;AACzD,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AACnD,QAAA,4BAA4B,GAAG,kBAAkB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ImportContext } from '../../../utils/imports';
|
|
1
2
|
import type { GraphQLCodegenMetadata } from '../source-printer';
|
|
2
3
|
import type { GraphQLResource } from '../../../intermediate/resource';
|
|
3
|
-
export declare function generateTypeUtil(graphqlResource: GraphQLResource, metadata: GraphQLCodegenMetadata): string;
|
|
4
|
+
export declare function generateTypeUtil(graphqlResource: GraphQLResource, metadata: GraphQLCodegenMetadata, importContext: ImportContext): string;
|
|
@@ -10,20 +10,43 @@ const utils_1 = require("../utils");
|
|
|
10
10
|
const constants_1 = require("../../adapter/constants");
|
|
11
11
|
const constants_2 = require("../../shared/constants");
|
|
12
12
|
const constants_3 = require("./constants");
|
|
13
|
-
function generateTypeUtil(graphqlResource, metadata) {
|
|
13
|
+
function generateTypeUtil(graphqlResource, metadata, importContext) {
|
|
14
14
|
var _a;
|
|
15
|
+
// We shouldn't be able to get here without a queryType. graphqldsl should ensure this when constructed/validated.
|
|
16
|
+
const queryType = graphqlResource.graphqlDSL.schema.getQueryType();
|
|
17
|
+
if (!queryType) {
|
|
18
|
+
throw new Error('Invalid GraphQL Schema. You must include a Query Type.');
|
|
19
|
+
}
|
|
20
|
+
const queryTypeName = queryType.name;
|
|
21
|
+
const queryTransformerImport = importContext.importGraphQLArtifact(queryTypeName, 'getQueryTransformer');
|
|
22
|
+
// TODO: W-11246519 improve readability of the applyMinimumFields function by replacing the AST visitor with
|
|
23
|
+
// manual node traversal
|
|
15
24
|
return (0, imports_1.resolveImports)((0, deindent_1.default) `
|
|
16
25
|
export type ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER} = Record<string, any>;
|
|
17
|
-
|
|
26
|
+
export type ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER} = Record<string, ${constants_2.LUVIO_GRAPHQL_FRAGMENT_DEFINITION_NODE_IMPORT}>;
|
|
18
27
|
export interface ${constants_3.GRAPHQL_STATE_INTERFACE_IDENTIFIER}<D = unknown> {
|
|
19
28
|
data: D,
|
|
20
29
|
variables: ${constants_3.GRAPHQL_VARIABLES_IDENTIFIER},
|
|
21
|
-
|
|
30
|
+
fragments: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER},
|
|
31
|
+
path: ${constants_1.ADAPTER_INGEST_PATH_INTERFACE_IDENTIFIER},
|
|
22
32
|
${constants_2.LUVIO_IDENTIFIER}: ${constants_2.LUVIO_IMPORT},
|
|
23
33
|
${constants_2.LUVIO_STORE_IDENTIFIER}: ${constants_2.LUVIO_STORE_IMPORT},
|
|
24
34
|
${constants_3.TIMESTAMP_IDENTIFIER}: number
|
|
25
35
|
};
|
|
26
36
|
|
|
37
|
+
export interface QueryTransformerFunction {
|
|
38
|
+
(fieldId: string): ${constants_3.QUERY_TRANSFORMER_IDENTIFIER} | undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface GetMinimumFieldsFunction {
|
|
42
|
+
(): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface ${constants_3.QUERY_TRANSFORMER_IDENTIFIER} {
|
|
46
|
+
${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER}: QueryTransformerFunction,
|
|
47
|
+
${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: GetMinimumFieldsFunction
|
|
48
|
+
}
|
|
49
|
+
|
|
27
50
|
export function ${constants_3.CREATE_LINK_IDENTIFIER}(ref: string) {
|
|
28
51
|
return {
|
|
29
52
|
__ref: ref,
|
|
@@ -79,6 +102,68 @@ function generateTypeUtil(graphqlResource, metadata) {
|
|
|
79
102
|
|
|
80
103
|
export const TTL = ${(0, utils_1.getShapeTtl)(metadata.rootTtl, (_a = graphqlResource.returnShape) === null || _a === void 0 ? void 0 : _a.id, metadata.shapeTtls)};
|
|
81
104
|
|
|
105
|
+
export function ${constants_3.APPLY_MINIMUM_FIELDS_TO_QUERY_IDENTIFIER} (query: ${constants_2.LUVIO_GRAPHQL_DOCUMENT_NODE_IMPORT}): ${constants_2.LUVIO_GRAPHQL_DOCUMENT_NODE_IMPORT} {
|
|
106
|
+
const queryTransformerStack: ${constants_3.QUERY_TRANSFORMER_IDENTIFIER}[] = [];
|
|
107
|
+
const visitor: ${constants_2.LUVIO_GRAPHQL_AST_VISITOR_IMPORT} = {
|
|
108
|
+
OperationDefinition: {
|
|
109
|
+
enter(node) {
|
|
110
|
+
if (node.operation === 'query') {
|
|
111
|
+
queryTransformerStack.push({
|
|
112
|
+
${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER}: ${queryTransformerImport},
|
|
113
|
+
${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}: () => {return []}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
Field: {
|
|
119
|
+
enter(node) {
|
|
120
|
+
if (node.selectionSet?.selections !== undefined) {
|
|
121
|
+
const { ${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER} } = queryTransformerStack[queryTransformerStack.length - 1];
|
|
122
|
+
const queryTransformer = ${constants_3.GET_QUERY_TRANSFORMER_IDENTIFIER}(node.name.value);
|
|
123
|
+
if (queryTransformer === undefined) {
|
|
124
|
+
throw new Error("Invalid field in query '" + node.name.value + "'");
|
|
125
|
+
}
|
|
126
|
+
queryTransformerStack.push(queryTransformer);
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
leave(node) {
|
|
130
|
+
if (node.selectionSet?.selections !== undefined) {
|
|
131
|
+
queryTransformerStack.pop();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
SelectionSet: {
|
|
136
|
+
enter(node, _key, parent) {
|
|
137
|
+
// No changes if no selections.
|
|
138
|
+
const { selections } = node;
|
|
139
|
+
if (!selections) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// This node is always entered after a Field node. A query transformer for this node was pushed
|
|
144
|
+
// onto the stack when that Field node was entered. The query transformer provides a function
|
|
145
|
+
// to get the minimum fields for this node.
|
|
146
|
+
const { ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER} } = queryTransformerStack[queryTransformerStack.length - 1];
|
|
147
|
+
|
|
148
|
+
// Call the function to get the minimum fields for this node, filtering out any
|
|
149
|
+
// fields that are already present in the selection.
|
|
150
|
+
const minimumFields = ${constants_3.GET_MINIMUM_FIELDS_IDENTIFIER}().filter(field => {
|
|
151
|
+
return !selections.some(selection => {
|
|
152
|
+
return selection.kind === 'Field' && (selection.name.value === field.name.value);
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
// Return a new SelectionSet including minimum fields
|
|
157
|
+
return {
|
|
158
|
+
...node,
|
|
159
|
+
selections: [...selections, ...minimumFields],
|
|
160
|
+
};
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
return ${constants_2.LUVIO_GRAPHQL_VISIT_IMPORT}(query, visitor);
|
|
165
|
+
}
|
|
166
|
+
|
|
82
167
|
export function ${constants_3.GET_REQUESTED_FIELD_IDENTIFIER}(responseDataFieldName: string, requestedFields: ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[]): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} | undefined {
|
|
83
168
|
return requestedFields.find(fieldNode => (fieldNode.alias && fieldNode.alias.value === responseDataFieldName) || (!fieldNode.alias && fieldNode.name.value === responseDataFieldName));
|
|
84
169
|
}
|
|
@@ -88,6 +173,27 @@ function generateTypeUtil(graphqlResource, metadata) {
|
|
|
88
173
|
const argumentString : string = field.arguments && field.arguments.length > 0 ? '__' + ${constants_3.SERIALIZE_FIELD_ARGUMENTS_IDENTIFIER}(field.arguments, variables) : '';
|
|
89
174
|
return field.name.value + argumentString; // It should be safe to always use the fieldName - If an alias is meaningful, there will be arguments on the key also.
|
|
90
175
|
}
|
|
176
|
+
|
|
177
|
+
export function ${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(typename: string, selectionSet: ${constants_2.LUVIO_GRAPHQL_SELECTION_SET_NODE_IMPORT}, namedFragmentsMap: ${constants_3.GRAPHQL_FRAGMENT_MAP_IDENTIFIER}): ${constants_2.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] {
|
|
178
|
+
const selections = [];
|
|
179
|
+
selectionSet.selections.forEach(selection => {
|
|
180
|
+
if(selection.kind === "Field") {
|
|
181
|
+
selections.push(selection);
|
|
182
|
+
}
|
|
183
|
+
if(selection.kind === "InlineFragment" && selection.typeCondition.name.value === typename) {
|
|
184
|
+
${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(typename, selection.selectionSet, namedFragmentsMap)
|
|
185
|
+
.forEach(fragmentFieldSelection => selections.push(fragmentFieldSelection));
|
|
186
|
+
}
|
|
187
|
+
if(selection.kind === "FragmentSpread") {
|
|
188
|
+
const namedFragment = namedFragmentsMap[selection.name.value];
|
|
189
|
+
if(namedFragment && namedFragment.typeCondition.name.value === typename) {
|
|
190
|
+
${constants_3.GET_REQUESTED_FIELDS_FOR_TYPE_IDENTIFIER}(typename, namedFragment.selectionSet, namedFragmentsMap)
|
|
191
|
+
.forEach(fragmentFieldSelection => selections.push(fragmentFieldSelection));
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
return selections;
|
|
196
|
+
}
|
|
91
197
|
`);
|
|
92
198
|
}
|
|
93
199
|
exports.generateTypeUtil = generateTypeUtil;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;
|
|
1
|
+
{"version":3,"file":"generateTypeUtil.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/generateTypeUtil.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,oDAAwD;AAExD,oCAAuC;AAGvC,uDAAmF;AACnF,sDAagC;AAChC,2CAcqB;AAErB,SAAgB,gBAAgB,CAC5B,eAAgC,EAChC,QAAgC,EAChC,aAA4B;;IAE5B,kHAAkH;IAClH,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACnE,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;KAC7E;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACrC,MAAM,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAC9D,aAAa,EACb,qBAAqB,CACxB,CAAC;IAEF,4GAA4G;IAC5G,wBAAwB;IACxB,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B;sBAC5B,2CAA+B,qBAAqB,yDAA6C;2BAC5F,8CAAkC;;yBAEpC,wCAA4B;yBAC5B,2CAA+B;oBACpC,oDAAwC;cAC9C,4BAAgB,KAAK,wBAAY;cACjC,kCAAsB,KAAK,8BAAkB;cAC7C,gCAAoB;;;;iCAID,wCAA4B;;;;kBAI3C,2CAA+B;;;2BAGtB,wCAA4B;cACzC,4CAAgC;cAChC,yCAA6B;;;0BAGjB,kCAAsB;;;;;;0BAMtB,gDAAoC,4BAA4B,8CAAkC,mBAAmB,wCAA4B;;;;;;;;;;kDAUzH,8CAAkC,gBAAgB,wCAA4B;;;;;iDAK/E,2CAA+B,gBAAgB,wCAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgC/F,IAAA,mBAAW,EAC5B,QAAQ,CAAC,OAAO,EAChB,MAAA,eAAe,CAAC,WAAW,0CAAE,EAAE,EAC/B,QAAQ,CAAC,SAAS,CACrB;;0BAEiB,oDAAwC,YAAY,8CAAkC,MAAM,8CAAkC;2CAC7G,wCAA4B;6BAC1C,4CAAgC;;;;;kCAK3B,4CAAgC,KAAK,sBAAsB;kCAC3D,yCAA6B;;;;;;;;sCAQzB,4CAAgC;uDACf,4CAAgC;;;;;;;;;;;;;;;;;;;;;;;;kCAwBrD,yCAA6B;;;;gDAIf,yCAA6B;;;;;;;;;;;;;;qBAcxD,sCAA0B;;;0BAGrB,0CAA8B,oDAAoD,2CAA+B,QAAQ,2CAA+B;;;;0BAIxJ,mDAAuC,WAAW,2CAA+B,gBAAgB,wCAA4B;;qGAElD,gDAAoC;;;;0BAI/G,oDAAwC,oCAAoC,mDAAuC,wBAAwB,2CAA+B,MAAM,2CAA+B;;;;;;;sBAOnN,oDAAwC;;;;;;0BAMpC,oDAAwC;;;;;;;KAO7D,CAAC,CAAC;AACP,CAAC;AApMD,4CAoMC"}
|