@angstone/monostone
Version:
monolitic event-sourced framework
42 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const error_1 = require("../error");
const _1 = require("./");
function createView(viewRecipe) {
let viewSheet;
try {
viewSheet = require(viewRecipe.featurePath + "/" +
"views/" +
viewRecipe.viewName + ".view").view;
}
catch (e) {
error_1.error.fatal(e, "failed to load viewSheet for view " + viewRecipe.viewName);
}
if (!viewSheet) {
error_1.error.fatal("failed to load viewSheet for view " + viewRecipe.viewName, "Did you exported it named as 'view' using 'IView' interface?");
}
return Object.assign({}, viewSheet, {
featureName: viewRecipe.featureName,
viewName: viewRecipe.viewName,
viewTag: viewRecipe.featureName + ' ' + viewRecipe.viewName
});
}
exports.createView = createView;
function createViews(viewsRecipe) {
if (viewsRecipe.viewNames.length == 0) {
viewsRecipe.viewNames = _1.FolderTools.getFiles(viewsRecipe.featurePath + '/views')
.filter(_1.StringTools.filters.lastCharactersMustBe('ts'))
.map(_1.FolderTools.firstNameOfFile);
}
const views = [];
viewsRecipe.viewNames.forEach((viewName, index) => {
views[index] = createView({
featureName: viewsRecipe.featureName,
featurePath: viewsRecipe.featurePath,
viewName
});
});
return views;
}
exports.createViews = createViews;
//# sourceMappingURL=view.tools.js.map