UNPKG

@aws-amplify/graphql-transformer-core

Version:

A framework to transform from GraphQL SDL to AWS CloudFormation.

37 lines 2.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isJsRuntimeTemplate = exports.getRuntimeSpecificFunctionProps = exports.isJsResolverFnRuntime = void 0; const graphql_transformer_interfaces_1 = require("@aws-amplify/graphql-transformer-interfaces"); const cdk_compat_1 = require("../cdk-compat"); const isJsResolverFnRuntime = (runtime) => (runtime === null || runtime === void 0 ? void 0 : runtime.name) === 'APPSYNC_JS'; exports.isJsResolverFnRuntime = isJsResolverFnRuntime; const getRuntimeSpecificFunctionProps = (scope, props) => { const { mappingTemplate, runtime, api } = props; if ((0, exports.isJsRuntimeTemplate)(mappingTemplate)) { const { codeMappingTemplate } = mappingTemplate; if (!(0, exports.isJsResolverFnRuntime)(runtime)) { throw new Error('Runtime provided with codeMappingTemplate is not a JavaScript runtime'); } const codeTemplateLocation = codeMappingTemplate.bind(scope, api.assetProvider); return codeMappingTemplate.type === graphql_transformer_interfaces_1.MappingTemplateType.INLINE ? { runtime, code: codeTemplateLocation } : { runtime, codeS3Location: codeTemplateLocation }; } const { requestMappingTemplate, responseMappingTemplate } = mappingTemplate; const requestTemplateLocation = requestMappingTemplate === null || requestMappingTemplate === void 0 ? void 0 : requestMappingTemplate.bind(scope, api.assetProvider); const responseTemplateLocation = responseMappingTemplate === null || responseMappingTemplate === void 0 ? void 0 : responseMappingTemplate.bind(scope, api.assetProvider); return { ...(requestMappingTemplate instanceof cdk_compat_1.InlineTemplate ? { requestMappingTemplate: requestTemplateLocation } : { requestMappingTemplateS3Location: requestTemplateLocation }), ...(responseMappingTemplate instanceof cdk_compat_1.InlineTemplate ? { responseMappingTemplate: responseTemplateLocation } : { responseMappingTemplateS3Location: responseTemplateLocation }), }; }; exports.getRuntimeSpecificFunctionProps = getRuntimeSpecificFunctionProps; const isJsRuntimeTemplate = (mappingTemplate) => { return mappingTemplate.codeMappingTemplate !== undefined; }; exports.isJsRuntimeTemplate = isJsRuntimeTemplate; //# sourceMappingURL=function-runtime.js.map