redink
Version:
RethinkDB model layer
58 lines (41 loc) • 4.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
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; }; /* eslint-disable no-param-reassign */
var _hasOwnProperty = require('./hasOwnProperty');
var _hasOwnProperty2 = _interopRequireDefault(_hasOwnProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (table, options) {
if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object') return table;
var row = table;
if ((0, _hasOwnProperty2.default)(options, 'filter')) {
row = row.filter(options.filter);
}
if ((0, _hasOwnProperty2.default)(options, 'pluck')) {
// always pluck the id
row = row.pluck(_extends({}, options.include, {
id: true
}));
}
if ((0, _hasOwnProperty2.default)(options, 'without')) {
// disallow forgoing the id
delete options.without.id;
row = row.without(options.without);
}
if ((0, _hasOwnProperty2.default)(options, 'between')) {
row = row.between(options.between);
}
if ((0, _hasOwnProperty2.default)(options, 'skip')) {
row = row.skip(options.skip);
}
if ((0, _hasOwnProperty2.default)(options, 'limit')) {
row = row.limit(options.limit);
}
if ((0, _hasOwnProperty2.default)(options, 'orderBy')) {
row = row.orderBy(options.orderBy);
}
return row;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hcHBseU9wdGlvbnMuanMiXSwibmFtZXMiOlsidGFibGUiLCJvcHRpb25zIiwicm93IiwiZmlsdGVyIiwicGx1Y2siLCJpbmNsdWRlIiwiaWQiLCJ3aXRob3V0IiwiYmV0d2VlbiIsInNraXAiLCJsaW1pdCIsIm9yZGVyQnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OzhRQUFBOzs7QUFDQTs7Ozs7O2tCQUVlLFVBQUNBLEtBQUQsRUFBUUMsT0FBUixFQUFvQjtBQUNqQyxNQUFJLFFBQU9BLE9BQVAseUNBQU9BLE9BQVAsT0FBbUIsUUFBdkIsRUFBaUMsT0FBT0QsS0FBUDs7QUFFakMsTUFBSUUsTUFBTUYsS0FBVjs7QUFFQSxNQUFJLDhCQUFlQyxPQUFmLEVBQXdCLFFBQXhCLENBQUosRUFBdUM7QUFDckNDLFVBQU1BLElBQUlDLE1BQUosQ0FBV0YsUUFBUUUsTUFBbkIsQ0FBTjtBQUNEOztBQUVELE1BQUksOEJBQWVGLE9BQWYsRUFBd0IsT0FBeEIsQ0FBSixFQUFzQztBQUNwQztBQUNBQyxVQUFNQSxJQUFJRSxLQUFKLGNBQ0RILFFBQVFJLE9BRFA7QUFFSkMsVUFBSTtBQUZBLE9BQU47QUFJRDs7QUFFRCxNQUFJLDhCQUFlTCxPQUFmLEVBQXdCLFNBQXhCLENBQUosRUFBd0M7QUFDdEM7QUFDQSxXQUFPQSxRQUFRTSxPQUFSLENBQWdCRCxFQUF2QjtBQUNBSixVQUFNQSxJQUFJSyxPQUFKLENBQVlOLFFBQVFNLE9BQXBCLENBQU47QUFDRDs7QUFFRCxNQUFJLDhCQUFlTixPQUFmLEVBQXdCLFNBQXhCLENBQUosRUFBd0M7QUFDdENDLFVBQU1BLElBQUlNLE9BQUosQ0FBWVAsUUFBUU8sT0FBcEIsQ0FBTjtBQUNEOztBQUVELE1BQUksOEJBQWVQLE9BQWYsRUFBd0IsTUFBeEIsQ0FBSixFQUFxQztBQUNuQ0MsVUFBTUEsSUFBSU8sSUFBSixDQUFTUixRQUFRUSxJQUFqQixDQUFOO0FBQ0Q7O0FBRUQsTUFBSSw4QkFBZVIsT0FBZixFQUF3QixPQUF4QixDQUFKLEVBQXNDO0FBQ3BDQyxVQUFNQSxJQUFJUSxLQUFKLENBQVVULFFBQVFTLEtBQWxCLENBQU47QUFDRDs7QUFFRCxNQUFJLDhCQUFlVCxPQUFmLEVBQXdCLFNBQXhCLENBQUosRUFBd0M7QUFDdENDLFVBQU1BLElBQUlTLE9BQUosQ0FBWVYsUUFBUVUsT0FBcEIsQ0FBTjtBQUNEOztBQUVELFNBQU9ULEdBQVA7QUFDRCxDIiwiZmlsZSI6ImFwcGx5T3B0aW9ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgaGFzT3duUHJvcGVydHkgZnJvbSAnLi9oYXNPd25Qcm9wZXJ0eSc7XG5cbmV4cG9ydCBkZWZhdWx0ICh0YWJsZSwgb3B0aW9ucykgPT4ge1xuICBpZiAodHlwZW9mIG9wdGlvbnMgIT09ICdvYmplY3QnKSByZXR1cm4gdGFibGU7XG5cbiAgbGV0IHJvdyA9IHRhYmxlO1xuXG4gIGlmIChoYXNPd25Qcm9wZXJ0eShvcHRpb25zLCAnZmlsdGVyJykpIHtcbiAgICByb3cgPSByb3cuZmlsdGVyKG9wdGlvbnMuZmlsdGVyKTtcbiAgfVxuXG4gIGlmIChoYXNPd25Qcm9wZXJ0eShvcHRpb25zLCAncGx1Y2snKSkge1xuICAgIC8vIGFsd2F5cyBwbHVjayB0aGUgaWRcbiAgICByb3cgPSByb3cucGx1Y2soe1xuICAgICAgLi4ub3B0aW9ucy5pbmNsdWRlLFxuICAgICAgaWQ6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBpZiAoaGFzT3duUHJvcGVydHkob3B0aW9ucywgJ3dpdGhvdXQnKSkge1xuICAgIC8vIGRpc2FsbG93IGZvcmdvaW5nIHRoZSBpZFxuICAgIGRlbGV0ZSBvcHRpb25zLndpdGhvdXQuaWQ7XG4gICAgcm93ID0gcm93LndpdGhvdXQob3B0aW9ucy53aXRob3V0KTtcbiAgfVxuXG4gIGlmIChoYXNPd25Qcm9wZXJ0eShvcHRpb25zLCAnYmV0d2VlbicpKSB7XG4gICAgcm93ID0gcm93LmJldHdlZW4ob3B0aW9ucy5iZXR3ZWVuKTtcbiAgfVxuXG4gIGlmIChoYXNPd25Qcm9wZXJ0eShvcHRpb25zLCAnc2tpcCcpKSB7XG4gICAgcm93ID0gcm93LnNraXAob3B0aW9ucy5za2lwKTtcbiAgfVxuXG4gIGlmIChoYXNPd25Qcm9wZXJ0eShvcHRpb25zLCAnbGltaXQnKSkge1xuICAgIHJvdyA9IHJvdy5saW1pdChvcHRpb25zLmxpbWl0KTtcbiAgfVxuXG4gIGlmIChoYXNPd25Qcm9wZXJ0eShvcHRpb25zLCAnb3JkZXJCeScpKSB7XG4gICAgcm93ID0gcm93Lm9yZGVyQnkob3B0aW9ucy5vcmRlckJ5KTtcbiAgfVxuXG4gIHJldHVybiByb3c7XG59O1xuIl19