UNPKG

@restorecommerce/chassis-srv

Version:
38 lines 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.get = exports.register = void 0; /** * A key, value map containing database providers. * Database providers are registered with the register function. */ const databases = {}; /** * Register a database provider. * * @param {string} name database provider identifier * @param {constructor} provider database provider constructor function */ const register = (name, provider) => { databases[name] = provider; }; exports.register = register; const arango_1 = require("./provider/arango"); const nedb_1 = require("./provider/nedb"); // Add default providers (0, exports.register)('arango', arango_1.create); (0, exports.register)('nedb', nedb_1.create); /** * Get a new database connection. * @param {Object} config Database configuration. * @param [Logger] logger * @return {Promise} New, active and ready database connection. */ const get = async (config, logger, graphName, edgeConfig) => { const db = databases[config.provider]; if (!db) { throw new Error(`database provider ${config.provider} does not exist`); } return db(config, logger, graphName, edgeConfig); }; exports.get = get; //# sourceMappingURL=index.js.map