@aws/pdk
Version:
All documentation is located at: https://aws.github.io/aws-pdk
27 lines • 4.88 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TypeSafeApiModelBuild = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
/*! Copyright [Amazon.com](http://amazon.com/), Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0 */
const projen_1 = require("projen");
const generate_task_1 = require("../codegen/components/generate-task");
const utils_1 = require("../codegen/components/utils");
/**
* Adds the build task for parsing/bundling an OpenAPI spec ready for use by code generation projects
*/
class TypeSafeApiModelBuild extends projen_1.Component {
constructor(project, options) {
super(project);
const { openApiSpecificationPath, smithyJsonModelPath, parsedSpecFile } = options;
const generateTask = generate_task_1.GenerateTask.ensure(project);
generateTask.exec((0, utils_1.buildTypeSafeApiExecCommand)(utils_1.TypeSafeApiScript.PARSE_OPENAPI_SPEC, `--specPath ${openApiSpecificationPath} --outputPath ${parsedSpecFile}${smithyJsonModelPath ? ` --smithyJsonPath ${smithyJsonModelPath}` : ""}`));
project.compileTask.spawn(generateTask);
project.addGitIgnore(parsedSpecFile);
}
}
exports.TypeSafeApiModelBuild = TypeSafeApiModelBuild;
_a = JSII_RTTI_SYMBOL_1;
TypeSafeApiModelBuild[_a] = { fqn: "@aws/pdk.type_safe_api.TypeSafeApiModelBuild", version: "0.26.14" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1zYWZlLWFwaS1tb2RlbC1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInR5cGUtc2FmZS1hcGktbW9kZWwtYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtzQ0FDc0M7QUFDdEMsbUNBQTRDO0FBQzVDLHVFQUFtRTtBQUNuRSx1REFHcUM7QUEyQnJDOztHQUVHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxrQkFBUztJQUNsRCxZQUFZLE9BQWdCLEVBQUUsT0FBcUM7UUFDakUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxHQUNyRSxPQUFPLENBQUM7UUFFVixNQUFNLFlBQVksR0FBRyw0QkFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsRCxZQUFZLENBQUMsSUFBSSxDQUNmLElBQUEsbUNBQTJCLEVBQ3pCLHlCQUFpQixDQUFDLGtCQUFrQixFQUNwQyxjQUFjLHdCQUF3QixpQkFBaUIsY0FBYyxHQUNuRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ3JFLEVBQUUsQ0FDSCxDQUNGLENBQUM7UUFFRixPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV4QyxPQUFPLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O0FBckJILHNEQXNCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBDb3B5cmlnaHQgW0FtYXpvbi5jb21dKGh0dHA6Ly9hbWF6b24uY29tLyksIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBQcm9qZWN0IH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgR2VuZXJhdGVUYXNrIH0gZnJvbSBcIi4uL2NvZGVnZW4vY29tcG9uZW50cy9nZW5lcmF0ZS10YXNrXCI7XG5pbXBvcnQge1xuICBidWlsZFR5cGVTYWZlQXBpRXhlY0NvbW1hbmQsXG4gIFR5cGVTYWZlQXBpU2NyaXB0LFxufSBmcm9tIFwiLi4vY29kZWdlbi9jb21wb25lbnRzL3V0aWxzXCI7XG5cbi8qKlxuICogT3V0cHV0IGZvciB0aGUgT3BlbkFQSSBwYXJzZS9idW5kbGUgdGFza1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTYWZlQXBpTW9kZWxCdWlsZE91dHB1dE9wdGlvbnMge1xuICAvKipcbiAgICogUGF0aCBvZiB0aGUgcGFyc2VkL2J1bmRsZWQgT3BlbkFQSSBzcGVjaWZpY2F0aW9uIChyZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290KVxuICAgKi9cbiAgcmVhZG9ubHkgcGFyc2VkU3BlY0ZpbGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgT3BlbkFQSSBwYXJzZS9idW5kbGUgdGFza1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTYWZlQXBpTW9kZWxCdWlsZE9wdGlvbnNcbiAgZXh0ZW5kcyBUeXBlU2FmZUFwaU1vZGVsQnVpbGRPdXRwdXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIE9wZW5BUEkgc3BlY2lmaWNhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgb3BlbkFwaVNwZWNpZmljYXRpb25QYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBwYXRoIHRvIHRoZSBTbWl0aHkgSlNPTiBtb2RlbCAoZm9yIFNtaXRoeSBwcm9qZWN0cyBvbmx5KVxuICAgKi9cbiAgcmVhZG9ubHkgc21pdGh5SnNvbk1vZGVsUGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBZGRzIHRoZSBidWlsZCB0YXNrIGZvciBwYXJzaW5nL2J1bmRsaW5nIGFuIE9wZW5BUEkgc3BlYyByZWFkeSBmb3IgdXNlIGJ5IGNvZGUgZ2VuZXJhdGlvbiBwcm9qZWN0c1xuICovXG5leHBvcnQgY2xhc3MgVHlwZVNhZmVBcGlNb2RlbEJ1aWxkIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogVHlwZVNhZmVBcGlNb2RlbEJ1aWxkT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgY29uc3QgeyBvcGVuQXBpU3BlY2lmaWNhdGlvblBhdGgsIHNtaXRoeUpzb25Nb2RlbFBhdGgsIHBhcnNlZFNwZWNGaWxlIH0gPVxuICAgICAgb3B0aW9ucztcblxuICAgIGNvbnN0IGdlbmVyYXRlVGFzayA9IEdlbmVyYXRlVGFzay5lbnN1cmUocHJvamVjdCk7XG5cbiAgICBnZW5lcmF0ZVRhc2suZXhlYyhcbiAgICAgIGJ1aWxkVHlwZVNhZmVBcGlFeGVjQ29tbWFuZChcbiAgICAgICAgVHlwZVNhZmVBcGlTY3JpcHQuUEFSU0VfT1BFTkFQSV9TUEVDLFxuICAgICAgICBgLS1zcGVjUGF0aCAke29wZW5BcGlTcGVjaWZpY2F0aW9uUGF0aH0gLS1vdXRwdXRQYXRoICR7cGFyc2VkU3BlY0ZpbGV9JHtcbiAgICAgICAgICBzbWl0aHlKc29uTW9kZWxQYXRoID8gYCAtLXNtaXRoeUpzb25QYXRoICR7c21pdGh5SnNvbk1vZGVsUGF0aH1gIDogXCJcIlxuICAgICAgICB9YFxuICAgICAgKVxuICAgICk7XG5cbiAgICBwcm9qZWN0LmNvbXBpbGVUYXNrLnNwYXduKGdlbmVyYXRlVGFzayk7XG5cbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZShwYXJzZWRTcGVjRmlsZSk7XG4gIH1cbn1cbiJdfQ==