@ngxs/store
Version:
28 lines • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.state = state;
const schematics_1 = require("@angular-devkit/schematics");
const path_1 = require("path");
const properties_1 = require("../utils/common/properties");
const generate_utils_1 = require("../utils/generate-utils");
const ng_ast_utils_1 = require("@schematics/angular/utility/ng-ast-utils");
const project_1 = require("../utils/project");
const normalize_options_1 = require("../utils/normalize-options");
function state(options) {
return (host) => {
if ((0, properties_1.isEmpty)(options.name)) {
throw new schematics_1.SchematicsException('Invalid options, "name" is required.');
}
let isStandalone = options.standalone;
if (typeof isStandalone !== 'boolean') {
const mainFile = (0, project_1.getProjectMainFile)(host, options.project);
isStandalone = !!mainFile && (0, ng_ast_utils_1.isStandaloneApp)(host, mainFile);
}
const normalizedOptions = (0, normalize_options_1.normalizeBaseOptions)(host, options);
const path = options.flat
? normalizedOptions.path
: (0, path_1.join)(normalizedOptions.path, normalizedOptions.name);
return (0, generate_utils_1.generateFiles)((0, schematics_1.url)('./files'), path, Object.assign(Object.assign({}, normalizedOptions), { isStandalone }), options.spec);
};
}
//# sourceMappingURL=state.factory.js.map