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