UNPKG

@aws/pdk

Version:

All documentation is located at: https://aws.github.io/aws-pdk

36 lines 3.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GenerateTask = void 0; /*! Copyright [Amazon.com](http://amazon.com/), Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ const monorepo_1 = require("../../../../monorepo"); const projen_1 = require("projen"); /** * Component which manages a "generate" task for a project */ class GenerateTask extends projen_1.Component { /** * Retrieves an instance of GenerateTask if one is associated to the given project. * * @param project project instance. */ static of(project) { return project.components.find((c) => monorepo_1.ProjectUtils.isNamedInstanceOf(c, GenerateTask))?.task; } /** * Retrieves an instance of GenerateTask if one is associated to the given project, * otherwise creates a GenerateTask instance for the project. * * @param project project instance. */ static ensure(project) { return GenerateTask.of(project) || new GenerateTask(project).task; } constructor(project) { super(project); this.task = project.tasks.tryFind("generate") ?? project.addTask("generate"); } } exports.GenerateTask = GenerateTask; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtdGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdlbmVyYXRlLXRhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7c0NBQ3NDO0FBQ3RDLDRDQUE2QztBQUM3QyxtQ0FBa0Q7QUFFbEQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxrQkFBUztJQUN6Qzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUN4QixPQUNFLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDNUIsdUJBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBRWxELEVBQUUsSUFBSSxDQUFDO0lBQ1YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFnQjtRQUM1QixPQUFPLFlBQVksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BFLENBQUM7SUFJRCxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxJQUFJO1lBQ1AsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0Y7QUFoQ0Qsb0NBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiLyohIENvcHlyaWdodCBbQW1hem9uLmNvbV0oaHR0cDovL2FtYXpvbi5jb20vKSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wICovXG5pbXBvcnQgeyBQcm9qZWN0VXRpbHMgfSBmcm9tIFwiQGF3cy9tb25vcmVwb1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBQcm9qZWN0LCBUYXNrIH0gZnJvbSBcInByb2plblwiO1xuXG4vKipcbiAqIENvbXBvbmVudCB3aGljaCBtYW5hZ2VzIGEgXCJnZW5lcmF0ZVwiIHRhc2sgZm9yIGEgcHJvamVjdFxuICovXG5leHBvcnQgY2xhc3MgR2VuZXJhdGVUYXNrIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhbiBpbnN0YW5jZSBvZiBHZW5lcmF0ZVRhc2sgaWYgb25lIGlzIGFzc29jaWF0ZWQgdG8gdGhlIGdpdmVuIHByb2plY3QuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9qZWN0IHByb2plY3QgaW5zdGFuY2UuXG4gICAqL1xuICBzdGF0aWMgb2YocHJvamVjdDogUHJvamVjdCk6IFRhc2sgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICBwcm9qZWN0LmNvbXBvbmVudHMuZmluZCgoYykgPT5cbiAgICAgICAgUHJvamVjdFV0aWxzLmlzTmFtZWRJbnN0YW5jZU9mKGMsIEdlbmVyYXRlVGFzaylcbiAgICAgICkgYXMgR2VuZXJhdGVUYXNrIHwgdW5kZWZpbmVkXG4gICAgKT8udGFzaztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW4gaW5zdGFuY2Ugb2YgR2VuZXJhdGVUYXNrIGlmIG9uZSBpcyBhc3NvY2lhdGVkIHRvIHRoZSBnaXZlbiBwcm9qZWN0LFxuICAgKiBvdGhlcndpc2UgY3JlYXRlcyBhIEdlbmVyYXRlVGFzayBpbnN0YW5jZSBmb3IgdGhlIHByb2plY3QuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9qZWN0IHByb2plY3QgaW5zdGFuY2UuXG4gICAqL1xuICBzdGF0aWMgZW5zdXJlKHByb2plY3Q6IFByb2plY3QpOiBUYXNrIHtcbiAgICByZXR1cm4gR2VuZXJhdGVUYXNrLm9mKHByb2plY3QpIHx8IG5ldyBHZW5lcmF0ZVRhc2socHJvamVjdCkudGFzaztcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB0YXNrOiBUYXNrO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMudGFzayA9XG4gICAgICBwcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJnZW5lcmF0ZVwiKSA/PyBwcm9qZWN0LmFkZFRhc2soXCJnZW5lcmF0ZVwiKTtcbiAgfVxufVxuIl19