mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.2 KiB
31 lines
1.2 KiB
"use strict";
|
|
/**
|
|
* @license
|
|
* Copyright Google LLC All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.dev/license
|
|
*/
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createProjectSchematic = createProjectSchematic;
|
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
const workspace_1 = require("./workspace");
|
|
/**
|
|
* Creates a schematic rule factory that provides project information to the given factory function.
|
|
* The project is determined from the `project` option. If the project is not found, an exception is
|
|
* thrown.
|
|
*
|
|
* @param factory The factory function that creates the schematic rule.
|
|
* @returns A schematic rule factory.
|
|
*/
|
|
function createProjectSchematic(factory) {
|
|
return (options) => async (tree, context) => {
|
|
const workspace = await (0, workspace_1.getWorkspace)(tree);
|
|
const project = workspace.projects.get(options.project);
|
|
if (!project) {
|
|
throw new schematics_1.SchematicsException(`Project "${options.project}" does not exist.`);
|
|
}
|
|
return factory(options, { project, workspace, tree, context });
|
|
};
|
|
}
|
|
//# sourceMappingURL=project.js.map
|