UNPKG

libpiggy

Version:

Use a PostgreSQL database like a JSON document store.

56 lines (41 loc) 1.36 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _fp = require('lodash/fp'); var _pgConnectionString = require('pg-connection-string'); var _pgConnectionString2 = _interopRequireDefault(_pgConnectionString); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } let pg; try { require('pg-native'); pg = require('pg').native; } catch (e) { pg = require('pg'); } const createPool = (() => { var _ref = (0, _asyncToGenerator3.default)(function* (options, globals) { try { const { url: connectionUrl, connectionName, connection: connectionOptions } = options; const { openPools } = globals.state; if (!openPools[connectionName]) { const urlConfig = _pgConnectionString2.default.parse(connectionUrl); const poolConfig = (0, _fp.defaultsDeep)(urlConfig, connectionOptions); openPools[connectionName] = new pg.Pool(poolConfig); } return openPools[connectionName]; } catch (error) { throw error; } }); return function createPool(_x, _x2) { return _ref.apply(this, arguments); }; })(); exports.default = createPool;