redink
Version:
RethinkDB model layer
33 lines (26 loc) • 2.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getInverseIdsToUpdate = exports.convertIdsToResourcePointers = exports.convertIdToResourcePointer = undefined;
var _rethinkdb = require('rethinkdb');
var _rethinkdb2 = _interopRequireDefault(_rethinkdb);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var convertIdToResourcePointer = exports.convertIdToResourcePointer = function convertIdToResourcePointer(id) {
return {
id: id,
_archived: false,
_related: true
};
};
var convertIdsToResourcePointers = exports.convertIdsToResourcePointers = function convertIdsToResourcePointers(ids) {
return ids.map(function (id) {
return convertIdToResourcePointer(id);
});
};
var getInverseIdsToUpdate = exports.getInverseIdsToUpdate = function getInverseIdsToUpdate() {
var originalOldIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var originalNewIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
return (0, _rethinkdb2.default)(originalOldIds).setUnion((0, _rethinkdb2.default)(convertIdsToResourcePointers(originalNewIds))).difference((0, _rethinkdb2.default)(originalOldIds));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL3V0aWxzL2luZGV4LmpzIl0sIm5hbWVzIjpbImNvbnZlcnRJZFRvUmVzb3VyY2VQb2ludGVyIiwiaWQiLCJfYXJjaGl2ZWQiLCJfcmVsYXRlZCIsImNvbnZlcnRJZHNUb1Jlc291cmNlUG9pbnRlcnMiLCJpZHMiLCJtYXAiLCJnZXRJbnZlcnNlSWRzVG9VcGRhdGUiLCJvcmlnaW5hbE9sZElkcyIsIm9yaWdpbmFsTmV3SWRzIiwic2V0VW5pb24iLCJkaWZmZXJlbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7OztBQUVPLElBQU1BLGtFQUE2QixTQUE3QkEsMEJBQTZCLENBQUNDLEVBQUQ7QUFBQSxTQUFTO0FBQ2pEQSxVQURpRDtBQUVqREMsZUFBVyxLQUZzQztBQUdqREMsY0FBVTtBQUh1QyxHQUFUO0FBQUEsQ0FBbkM7O0FBTUEsSUFBTUMsc0VBQStCLFNBQS9CQSw0QkFBK0IsQ0FBQ0MsR0FBRDtBQUFBLFNBQzFDQSxJQUFJQyxHQUFKLENBQVE7QUFBQSxXQUFNTiwyQkFBMkJDLEVBQTNCLENBQU47QUFBQSxHQUFSLENBRDBDO0FBQUEsQ0FBckM7O0FBSUEsSUFBTU0sd0RBQXdCLFNBQXhCQSxxQkFBd0I7QUFBQSxNQUFDQyxjQUFELHVFQUFrQixFQUFsQjtBQUFBLE1BQXNCQyxjQUF0Qix1RUFBdUMsRUFBdkM7QUFBQSxTQUNuQyx5QkFBRUQsY0FBRixFQUNHRSxRQURILENBQ1kseUJBQUVOLDZCQUE2QkssY0FBN0IsQ0FBRixDQURaLEVBRUdFLFVBRkgsQ0FFYyx5QkFBRUgsY0FBRixDQUZkLENBRG1DO0FBQUEsQ0FBOUIiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgciBmcm9tICdyZXRoaW5rZGInO1xuXG5leHBvcnQgY29uc3QgY29udmVydElkVG9SZXNvdXJjZVBvaW50ZXIgPSAoaWQpID0+ICh7XG4gIGlkLFxuICBfYXJjaGl2ZWQ6IGZhbHNlLFxuICBfcmVsYXRlZDogdHJ1ZSxcbn0pO1xuXG5leHBvcnQgY29uc3QgY29udmVydElkc1RvUmVzb3VyY2VQb2ludGVycyA9IChpZHMpID0+IChcbiAgaWRzLm1hcChpZCA9PiBjb252ZXJ0SWRUb1Jlc291cmNlUG9pbnRlcihpZCkpXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0SW52ZXJzZUlkc1RvVXBkYXRlID0gKG9yaWdpbmFsT2xkSWRzID0gW10sIG9yaWdpbmFsTmV3SWRzID0gW10pID0+IChcbiAgcihvcmlnaW5hbE9sZElkcylcbiAgICAuc2V0VW5pb24ocihjb252ZXJ0SWRzVG9SZXNvdXJjZVBvaW50ZXJzKG9yaWdpbmFsTmV3SWRzKSkpXG4gICAgLmRpZmZlcmVuY2UocihvcmlnaW5hbE9sZElkcykpXG4pO1xuIl19