lambdaorm-base
Version:
43 lines • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ViewsConfigService = void 0;
const domain_1 = require("../../../domain");
const viewConfigService_1 = require("./viewConfigService");
class ViewsConfigService {
constructor() {
this.views = [];
}
load(value) {
if (value && value.name) {
if (!value.entities) {
value.entities = [];
}
const index = this.views.findIndex(p => p.name === value.name);
if (index === -1) {
this.views.push(value);
}
else {
this.views[index] = value;
}
}
}
get(name) {
if (name === undefined) {
return this.views[0];
}
const view = this.views.find(p => p.name === name);
if (view === undefined) {
throw new domain_1.SchemaError(`View: ${name} not found`);
}
return view;
}
getInstance(name) {
const view = this.get(name);
if (!view) {
throw new domain_1.SchemaError(`view ${name} not found`);
}
return new viewConfigService_1.ViewConfigService(view);
}
}
exports.ViewsConfigService = ViewsConfigService;
//# sourceMappingURL=viewsConfigService.js.map