UNPKG

redink

Version:
43 lines (31 loc) 4.57 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _rethinkdb = require('rethinkdb'); var _rethinkdb2 = _interopRequireDefault(_rethinkdb); var _utils = require('./utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (type, ids, field, conn) { if (!Array.isArray(ids)) { throw new Error('Expected \'' + type + '\' relationship to be an \'array\' but got type \'' + (typeof ids === 'undefined' ? 'undefined' : _typeof(ids)) + '\''); } var throwIfNotValid = function throwIfNotValid(records) { var validRecord = records.every(function (record) { return (0, _utils.isHasOneValid)(record, field); }); if (!validRecord) { throw new Error('Expected a valid record of type \'' + type + '\' ' + 'but got an invalid record.'); } }; var checkValidRecords = function checkValidRecords(records) { if (records.length !== ids.length) { throw new Error('Expected to have \'' + ids.length + '\' ids ' + ('but found \'' + records.length + '\' records of type \'' + type + '\'.')); } throwIfNotValid(records); return true; }; return _rethinkdb2.default.table(type).getAll(_rethinkdb2.default.args(ids)).coerceTo('array').run(conn).then(checkValidRecords); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25zdHJhaW50cy9jaGVja3MvY2hlY2tNYW55SW52ZXJzZUhhc09uZS5qcyJdLCJuYW1lcyI6WyJ0eXBlIiwiaWRzIiwiZmllbGQiLCJjb25uIiwiQXJyYXkiLCJpc0FycmF5IiwiRXJyb3IiLCJ0aHJvd0lmTm90VmFsaWQiLCJyZWNvcmRzIiwidmFsaWRSZWNvcmQiLCJldmVyeSIsInJlY29yZCIsImNoZWNrVmFsaWRSZWNvcmRzIiwibGVuZ3RoIiwidGFibGUiLCJnZXRBbGwiLCJhcmdzIiwiY29lcmNlVG8iLCJydW4iLCJ0aGVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7a0JBRWUsVUFBQ0EsSUFBRCxFQUFPQyxHQUFQLEVBQVlDLEtBQVosRUFBbUJDLElBQW5CLEVBQTRCO0FBQ3pDLE1BQUksQ0FBQ0MsTUFBTUMsT0FBTixDQUFjSixHQUFkLENBQUwsRUFBeUI7QUFDdkIsVUFBTSxJQUFJSyxLQUFKLGlCQUNTTixJQURULGtFQUNxRUMsR0FEckUseUNBQ3FFQSxHQURyRSxVQUFOO0FBR0Q7O0FBRUQsTUFBTU0sa0JBQWtCLFNBQWxCQSxlQUFrQixDQUFDQyxPQUFELEVBQWE7QUFDbkMsUUFBTUMsY0FBY0QsUUFBUUUsS0FBUixDQUFjO0FBQUEsYUFBVSwwQkFBY0MsTUFBZCxFQUFzQlQsS0FBdEIsQ0FBVjtBQUFBLEtBQWQsQ0FBcEI7O0FBRUEsUUFBSSxDQUFDTyxXQUFMLEVBQWtCO0FBQ2hCLFlBQU0sSUFBSUgsS0FBSixDQUNKLHVDQUFvQ04sSUFBcEMsV0FDQSw0QkFGSSxDQUFOO0FBSUQ7QUFDRixHQVREOztBQVdBLE1BQU1ZLG9CQUFvQixTQUFwQkEsaUJBQW9CLENBQUNKLE9BQUQsRUFBYTtBQUNyQyxRQUFJQSxRQUFRSyxNQUFSLEtBQW1CWixJQUFJWSxNQUEzQixFQUFtQztBQUNqQyxZQUFNLElBQUlQLEtBQUosQ0FDSix3QkFBcUJMLElBQUlZLE1BQXpCLGlDQUNjTCxRQUFRSyxNQUR0Qiw2QkFDa0RiLElBRGxELFNBREksQ0FBTjtBQUlEOztBQUVETyxvQkFBZ0JDLE9BQWhCO0FBQ0EsV0FBTyxJQUFQO0FBQ0QsR0FWRDs7QUFZQSxTQUFPLG9CQUFFTSxLQUFGLENBQVFkLElBQVIsRUFDSmUsTUFESSxDQUNHLG9CQUFFQyxJQUFGLENBQU9mLEdBQVAsQ0FESCxFQUVKZ0IsUUFGSSxDQUVLLE9BRkwsRUFHSkMsR0FISSxDQUdBZixJQUhBLEVBSUpnQixJQUpJLENBSUNQLGlCQUpELENBQVA7QUFLRCxDIiwiZmlsZSI6ImNoZWNrTWFueUludmVyc2VIYXNPbmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgciBmcm9tICdyZXRoaW5rZGInO1xuaW1wb3J0IHsgaXNIYXNPbmVWYWxpZCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCAodHlwZSwgaWRzLCBmaWVsZCwgY29ubikgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoaWRzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBFeHBlY3RlZCAnJHt0eXBlfScgcmVsYXRpb25zaGlwIHRvIGJlIGFuICdhcnJheScgYnV0IGdvdCB0eXBlICcke3R5cGVvZiBpZHN9J2BcbiAgICApO1xuICB9XG5cbiAgY29uc3QgdGhyb3dJZk5vdFZhbGlkID0gKHJlY29yZHMpID0+IHtcbiAgICBjb25zdCB2YWxpZFJlY29yZCA9IHJlY29yZHMuZXZlcnkocmVjb3JkID0+IGlzSGFzT25lVmFsaWQocmVjb3JkLCBmaWVsZCkpO1xuXG4gICAgaWYgKCF2YWxpZFJlY29yZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgYSB2YWxpZCByZWNvcmQgb2YgdHlwZSAnJHt0eXBlfScgYCArXG4gICAgICAgICdidXQgZ290IGFuIGludmFsaWQgcmVjb3JkLidcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNoZWNrVmFsaWRSZWNvcmRzID0gKHJlY29yZHMpID0+IHtcbiAgICBpZiAocmVjb3Jkcy5sZW5ndGggIT09IGlkcy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEV4cGVjdGVkIHRvIGhhdmUgJyR7aWRzLmxlbmd0aH0nIGlkcyBgICtcbiAgICAgICAgYGJ1dCBmb3VuZCAnJHtyZWNvcmRzLmxlbmd0aH0nIHJlY29yZHMgb2YgdHlwZSAnJHt0eXBlfScuYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aHJvd0lmTm90VmFsaWQocmVjb3Jkcyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgcmV0dXJuIHIudGFibGUodHlwZSlcbiAgICAuZ2V0QWxsKHIuYXJncyhpZHMpKVxuICAgIC5jb2VyY2VUbygnYXJyYXknKVxuICAgIC5ydW4oY29ubilcbiAgICAudGhlbihjaGVja1ZhbGlkUmVjb3Jkcyk7XG59O1xuIl19