UNPKG

@liberation-data/drivine

Version:

Best and fastest graph database client for TypeScript / Node.js. Provides a level of abstraction for building highly scalable applications, without compromising architectural integrity

42 lines 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DatabaseRegistry = void 0; const ConnectionProviderBuilder_1 = require("./ConnectionProviderBuilder"); const ConnectionProperties_1 = require("./ConnectionProperties"); class DatabaseRegistry { static buildOrResolveFromEnv(name) { return DatabaseRegistry.getInstance() .builder() .withProperties((0, ConnectionProperties_1.ConnectionPropertiesFromEnv)(name)) .register(name); } static getInstance() { if (!DatabaseRegistry.instance) { DatabaseRegistry.instance = new DatabaseRegistry(); } return DatabaseRegistry.instance; } static tearDown() { delete DatabaseRegistry.instance; } constructor() { this._providers = new Map(); } get providers() { return Array.from(this._providers.values()); } builder() { return new ConnectionProviderBuilder_1.ConnectionProviderBuilder(this); } connectionProvider(name = 'default') { if (name === 'default') { return this._providers.values().next().value; } return this._providers.get(name); } register(connectionProvider) { this._providers.set(connectionProvider.name, connectionProvider); } } exports.DatabaseRegistry = DatabaseRegistry; //# sourceMappingURL=DatabaseRegistry.js.map