@itrocks/storage
Version:
Transforms model objects to and from storage systems
20 lines • 939 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataSource = void 0;
exports.createDataSource = createDataSource;
exports.dataSource = dataSource;
exports.ds = dataSource;
const class_type_1 = require("@itrocks/class-type");
const data_source_1 = require("./data-source");
Object.defineProperty(exports, "DataSource", { enumerable: true, get: function () { return data_source_1.DataSource; } });
let dataSources = {};
function createDataSource(config, dataSource = 'main') {
const { engine, ...engineConfig } = config;
const module = require(engine);
const type = module.default ?? Object.values(module).find(any => (0, class_type_1.isAnyType)(any));
return dataSources[dataSource] = new type(engineConfig);
}
function dataSource(dataSource = 'main') {
return dataSources[dataSource] ?? (() => { throw 'Unknown data source ' + dataSource; })();
}
//# sourceMappingURL=storage.js.map
;