UNPKG

aquameta-datum

Version:

Service layer for the Aquameta database API

56 lines (43 loc) 4.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _endpoint = _interopRequireDefault(require("./endpoint.js")); var _ramda = require("ramda"); var _client = require("../client.js"); var _index = require("../database/index.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * query * * Execute the given query with a client * * @curried * @params {Client} client * @params {ExecutableQuery} query * @returns {Promise} */ var _default = (0, _ramda.curry)(async function (client, query) { // Runtime validations if ((0, _client.isInvalidClient)(client)) { throw new TypeError('query: invalid client'); } if ((0, _index.isInvalidExecutable)(query)) { throw new TypeError('query: invalid executable'); } try { const res = await invoke(client, query); return res; } catch (e) { console.error(e); } }); // TODO exports.default = _default; const makeEvented = i => i; const execute = (0, _ramda.cond)([false && [isConnectionClient, executeConnection], [_client.isEndpointClient, _endpoint.default], [_ramda.T, () => { throw new Error('must specify endpoint or connection for client'); }]].filter(Boolean)); const getKey = (0, _ramda.curry)((key, obj) => obj[key]); const invoke = (0, _ramda.compose)((0, _ramda.when)(getKey('evented'), makeEvented), execute); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbImNsaWVudCIsInF1ZXJ5IiwiVHlwZUVycm9yIiwicmVzIiwiaW52b2tlIiwiZSIsImNvbnNvbGUiLCJlcnJvciIsIm1ha2VFdmVudGVkIiwiaSIsImV4ZWN1dGUiLCJpc0Nvbm5lY3Rpb25DbGllbnQiLCJleGVjdXRlQ29ubmVjdGlvbiIsImlzRW5kcG9pbnRDbGllbnQiLCJleGVjdXRlRW5kcG9pbnQiLCJUIiwiRXJyb3IiLCJmaWx0ZXIiLCJCb29sZWFuIiwiZ2V0S2V5Iiwia2V5Iiwib2JqIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBS0E7Ozs7QUFJQTs7Ozs7Ozs7OztlQVVlLGtCQUFNLGdCQUFlQSxNQUFmLEVBQStCQyxLQUEvQixFQUF5RDtBQUM1RTtBQUNBLE1BQUksNkJBQWdCRCxNQUFoQixDQUFKLEVBQTZCO0FBQzNCLFVBQU0sSUFBSUUsU0FBSixDQUFjLHVCQUFkLENBQU47QUFDRDs7QUFDRCxNQUFJLGdDQUFvQkQsS0FBcEIsQ0FBSixFQUFnQztBQUM5QixVQUFNLElBQUlDLFNBQUosQ0FBYywyQkFBZCxDQUFOO0FBQ0Q7O0FBRUQsTUFBSTtBQUNGLFVBQU1DLEdBQUcsR0FBRyxNQUFNQyxNQUFNLENBQUNKLE1BQUQsRUFBU0MsS0FBVCxDQUF4QjtBQUNBLFdBQU9FLEdBQVA7QUFDRCxHQUhELENBR0UsT0FBT0UsQ0FBUCxFQUFVO0FBQ1ZDLElBQUFBLE9BQU8sQ0FBQ0MsS0FBUixDQUFjRixDQUFkO0FBQ0Q7QUFDRixDQWZjLEMsRUFpQmY7Ozs7O0FBQ0EsTUFBTUcsV0FBVyxHQUFHQyxDQUFDLElBQUlBLENBQXpCOztBQUVBLE1BQU1DLE9BQU8sR0FBRyxpQkFDZCxDQUNFLFNBQVksQ0FBQ0Msa0JBQUQsRUFBcUJDLGlCQUFyQixDQURkLEVBRUUsQ0FBQ0Msd0JBQUQsRUFBbUJDLGlCQUFuQixDQUZGLEVBR0UsQ0FDRUMsUUFERixFQUVFLE1BQU07QUFDSixRQUFNLElBQUlDLEtBQUosQ0FBVSxnREFBVixDQUFOO0FBQ0QsQ0FKSCxDQUhGLEVBU0VDLE1BVEYsQ0FTU0MsT0FUVCxDQURjLENBQWhCO0FBYUEsTUFBTUMsTUFBTSxHQUFHLGtCQUFNLENBQUNDLEdBQUQsRUFBTUMsR0FBTixLQUFjQSxHQUFHLENBQUNELEdBQUQsQ0FBdkIsQ0FBZjtBQUVBLE1BQU1oQixNQUFNLEdBQUcsb0JBQ2IsaUJBQUtlLE1BQU0sQ0FBQyxTQUFELENBQVgsRUFBd0JYLFdBQXhCLENBRGEsRUFFYkUsT0FGYSxDQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGV4ZWN1dGVFbmRwb2ludCBmcm9tICcuL2VuZHBvaW50LmpzJztcbmltcG9ydCBleGVjdXRlQ29ubmVjdGlvbiBmcm9tICcuL2Nvbm5lY3Rpb24uanMnO1xuaW1wb3J0IHtjb21wb3NlLCBjb25kLCBjdXJyeSwgd2hlbiwgVH0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHtcbiAgaXNDb25uZWN0aW9uQ2xpZW50LFxuICBpc0VuZHBvaW50Q2xpZW50LFxuICBpc0ludmFsaWRDbGllbnQsXG59IGZyb20gJy4uL2NsaWVudC5qcyc7XG5pbXBvcnQge2lzSW52YWxpZEV4ZWN1dGFibGV9IGZyb20gJy4uL2RhdGFiYXNlL2luZGV4LmpzJztcblxuaW1wb3J0IHR5cGUge0NsaWVudCwgRXhlY3V0YWJsZSwgUXVlcnl9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuLyoqXG4gKiBxdWVyeVxuICpcbiAqIEV4ZWN1dGUgdGhlIGdpdmVuIHF1ZXJ5IHdpdGggYSBjbGllbnRcbiAqXG4gKiBAY3VycmllZFxuICogQHBhcmFtcyB7Q2xpZW50fSBjbGllbnRcbiAqIEBwYXJhbXMge0V4ZWN1dGFibGVRdWVyeX0gcXVlcnlcbiAqIEByZXR1cm5zIHtQcm9taXNlfVxuICovXG5leHBvcnQgZGVmYXVsdCBjdXJyeShhc3luYyBmdW5jdGlvbihjbGllbnQ6IENsaWVudCwgcXVlcnk6IEV4ZWN1dGFibGUpOiBRdWVyeSB7XG4gIC8vIFJ1bnRpbWUgdmFsaWRhdGlvbnNcbiAgaWYgKGlzSW52YWxpZENsaWVudChjbGllbnQpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcigncXVlcnk6IGludmFsaWQgY2xpZW50Jyk7XG4gIH1cbiAgaWYgKGlzSW52YWxpZEV4ZWN1dGFibGUocXVlcnkpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcigncXVlcnk6IGludmFsaWQgZXhlY3V0YWJsZScpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBpbnZva2UoY2xpZW50LCBxdWVyeSk7XG4gICAgcmV0dXJuIHJlcztcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gIH1cbn0pO1xuXG4vLyBUT0RPXG5jb25zdCBtYWtlRXZlbnRlZCA9IGkgPT4gaTtcblxuY29uc3QgZXhlY3V0ZSA9IGNvbmQoXG4gIFtcbiAgICBfX05PREVfXyAmJiBbaXNDb25uZWN0aW9uQ2xpZW50LCBleGVjdXRlQ29ubmVjdGlvbl0sXG4gICAgW2lzRW5kcG9pbnRDbGllbnQsIGV4ZWN1dGVFbmRwb2ludF0sXG4gICAgW1xuICAgICAgVCxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtdXN0IHNwZWNpZnkgZW5kcG9pbnQgb3IgY29ubmVjdGlvbiBmb3IgY2xpZW50Jyk7XG4gICAgICB9LFxuICAgIF0sXG4gIF0uZmlsdGVyKEJvb2xlYW4pLFxuKTtcblxuY29uc3QgZ2V0S2V5ID0gY3VycnkoKGtleSwgb2JqKSA9PiBvYmpba2V5XSk7XG5cbmNvbnN0IGludm9rZSA9IGNvbXBvc2UoXG4gIHdoZW4oZ2V0S2V5KCdldmVudGVkJyksIG1ha2VFdmVudGVkKSxcbiAgZXhlY3V0ZSxcbik7XG4iXX0=