libpiggy
Version:
Use a PostgreSQL database like a JSON document store.
48 lines (34 loc) • 1.24 kB
JavaScript
;
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;