@zenweb/repositories
Version:
Zenweb ORM Repositories module
25 lines (24 loc) • 910 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function setup(option) {
return function repositories(setup) {
setup.debug('option: %o', option);
if (!option.Repositories) {
throw new Error('Repositories must be set!');
}
// core
if (option.coreQuery) {
const repositories = new option.Repositories(option.coreQuery());
setup.defineCoreProperty(option.coreProperty || 'repositories', { value: repositories });
}
// context
const contextQuery = option.contextQuery;
if (contextQuery) {
setup.defineContextCacheProperty(option.contextProperty || 'repositories', ctx => {
const query = contextQuery(ctx);
return new option.Repositories(query);
});
}
};
}
exports.default = setup;