UNPKG

libpiggy

Version:

Use a PostgreSQL database like a JSON document store.

80 lines (60 loc) 1.71 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _createClient = require('./create-client'); var _createClient2 = _interopRequireDefault(_createClient); var _mget = require('./mget'); var _mget2 = _interopRequireDefault(_mget); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const get = (() => { var _ref = (0, _asyncToGenerator3.default)(function* ({ client, table, key, not, options, store }, globals) { options = options || {}; let clientCreated = false; try { if (!client) { client = yield (0, _createClient2.default)(options, globals); clientCreated = true; } const got = yield (0, _mget2.default)({ store, client, table, key, not, options: (0, _extends3.default)({}, options, { limit: 1 }) }); if (got.error) { throw got.error; } const { results, rows } = got; if (rows && rows[0]) { return (0, _extends3.default)({ client, results }, rows[0]); } return { client, results, table }; } catch (error) { throw error; } finally { if (clientCreated) { client.close(); } } }); return function get(_x, _x2) { return _ref.apply(this, arguments); }; })(); exports.default = get;