UNPKG

@itrocks/storage

Version:

Transforms model objects to and from storage systems

17 lines 736 B
import { createRequire } from 'module' const require = createRequire(import.meta.url) import { isAnyType } from '@itrocks/class-type'; import { DataSource } from './data-source.js'; export { DataSource }; let dataSources = {}; export function createDataSource(config, dataSource = 'main') { const { engine, ...engineConfig } = config; const module = require(engine); const type = module.default ?? Object.values(module).find(any => isAnyType(any)); return dataSources[dataSource] = new type(engineConfig); } export { dataSource as ds }; export function dataSource(dataSource = 'main') { return dataSources[dataSource] ?? (() => { throw 'Unknown data source ' + dataSource; })(); } //# sourceMappingURL=storage.js.map