@universis/dining
Version:
Universis api for dining
33 lines (31 loc) • 1.27 kB
JavaScript
;Object.defineProperty(exports, "__esModule", { value: true });exports.DiningSchemaLoader = void 0;var _data = require("@themost/data");
var _path = _interopRequireDefault(require("path"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
/**
* A schema loader for loading extra data models
*/
class DiningSchemaLoader extends _data.FileSchemaLoaderStrategy {
/**
* @param {ConfigurationBase} config
*/
constructor(config) {
super(config);
// set model path
this.setModelPath(_path.default.resolve(__dirname, 'config/models'));
}
getModelDefinition(name) {
const model = super.getModelDefinition.bind(this)(name);
if (model) {
if (Array.isArray(model.eventListeners)) {
model.eventListeners.forEach(eventListener => {
if (eventListener.type.indexOf('.') === 0) {
eventListener.type = _path.default.resolve(__dirname, eventListener.type);
}
});
}
if (model.classPath && model.classPath.indexOf('.') === 0) {
model.classPath = _path.default.resolve(__dirname, model.classPath);
}
}
return model;
}}exports.DiningSchemaLoader = DiningSchemaLoader;
//# sourceMappingURL=DiningSchemaLoader.js.map