UNPKG

@itrocks/storage

Version:

Transforms model objects to and from storage systems

28 lines 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Sort = exports.Option = exports.Limit = exports.isIdentifier = exports.DataSource = void 0; exports.createDataSource = createDataSource; exports.dataSource = dataSource; exports.ds = dataSource; const class_type_1 = require("@itrocks/class-type"); var data_source_1 = require("./data-source"); Object.defineProperty(exports, "DataSource", { enumerable: true, get: function () { return data_source_1.DataSource; } }); var entity_1 = require("./entity"); Object.defineProperty(exports, "isIdentifier", { enumerable: true, get: function () { return entity_1.isIdentifier; } }); var limit_1 = require("./option/limit"); Object.defineProperty(exports, "Limit", { enumerable: true, get: function () { return limit_1.Limit; } }); var option_1 = require("./option/option"); Object.defineProperty(exports, "Option", { enumerable: true, get: function () { return option_1.Option; } }); var sort_1 = require("./option/sort"); Object.defineProperty(exports, "Sort", { enumerable: true, get: function () { return sort_1.Sort; } }); 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