UNPKG

libpiggy

Version:

Use a PostgreSQL database like a JSON document store.

48 lines (34 loc) 1.24 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _defaultsDeep = require('lodash/defaultsDeep'); var _defaultsDeep2 = _interopRequireDefault(_defaultsDeep); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const createClient = (() => { var _ref = (0, _asyncToGenerator3.default)(function* (options, globals) { try { const settings = (0, _defaultsDeep2.default)({}, options, globals.options); const { openPools, openClients } = globals.state; const pool = openPools[settings.connectionName]; const client = yield pool.connect(); client.close = function () { const clientIndex = openClients.indexOf(client); if (clientIndex > -1) { openClients.splice(clientIndex, 1); } client.release(); }; openClients.push(client); return client; } catch (error) { throw error; } }); return function createClient(_x, _x2) { return _ref.apply(this, arguments); }; })(); exports.default = createClient;