@aws-amplify/graphql-transformer-core
Version:
A framework to transform from GraphQL SDL to AWS CloudFormation.
37 lines • 2.41 kB
JavaScript
;
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