UNPKG

redink

Version:
35 lines (26 loc) 3.01 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _checks = require('../../checks'); exports.default = function (relationship, data, conn) { var inverse = relationship.inverse; var type = relationship.type; var relation = inverse.relation; var field = inverse.field; if (data.length === 0) return true; switch (relation) { case 'hasMany': // check relationship with inverse relation `hasMany` return (0, _checks.checkValidIds)(type, data, conn); case 'hasOne': // check relationship with inverse relation `hasOne` return (0, _checks.checkManyInverseHasOne)(type, data, field, conn); case 'belongsTo': // check relationship with inverse relation `belongsTo` return false; default: throw new Error('Invalid inverse relationship of type \'' + relation + '\''); } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb25zdHJhaW50cy9jcmVhdGUvdXRpbHMvaXNIYXNNYW55Q29tcGxpYW50LmpzIl0sIm5hbWVzIjpbInJlbGF0aW9uc2hpcCIsImRhdGEiLCJjb25uIiwiaW52ZXJzZSIsInR5cGUiLCJyZWxhdGlvbiIsImZpZWxkIiwibGVuZ3RoIiwiRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztrQkFFZSxVQUFDQSxZQUFELEVBQWVDLElBQWYsRUFBcUJDLElBQXJCLEVBQThCO0FBQUEsTUFDbkNDLE9BRG1DLEdBQ2pCSCxZQURpQixDQUNuQ0csT0FEbUM7QUFBQSxNQUMxQkMsSUFEMEIsR0FDakJKLFlBRGlCLENBQzFCSSxJQUQwQjtBQUFBLE1BRW5DQyxRQUZtQyxHQUVmRixPQUZlLENBRW5DRSxRQUZtQztBQUFBLE1BRXpCQyxLQUZ5QixHQUVmSCxPQUZlLENBRXpCRyxLQUZ5Qjs7O0FBSTNDLE1BQUlMLEtBQUtNLE1BQUwsS0FBZ0IsQ0FBcEIsRUFBdUIsT0FBTyxJQUFQOztBQUV2QixVQUFRRixRQUFSO0FBQ0UsU0FBSyxTQUFMO0FBQ0U7QUFDQSxhQUFPLDJCQUFjRCxJQUFkLEVBQW9CSCxJQUFwQixFQUEwQkMsSUFBMUIsQ0FBUDs7QUFFRixTQUFLLFFBQUw7QUFDRTtBQUNBLGFBQU8sb0NBQXVCRSxJQUF2QixFQUE2QkgsSUFBN0IsRUFBbUNLLEtBQW5DLEVBQTBDSixJQUExQyxDQUFQOztBQUVGLFNBQUssV0FBTDtBQUNFO0FBQ0EsYUFBTyxLQUFQOztBQUVGO0FBQ0UsWUFBTSxJQUFJTSxLQUFKLDZDQUFtREgsUUFBbkQsUUFBTjtBQWRKO0FBZ0JELEMiLCJmaWxlIjoiaXNIYXNNYW55Q29tcGxpYW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2hlY2tWYWxpZElkcywgY2hlY2tNYW55SW52ZXJzZUhhc09uZSB9IGZyb20gJy4uLy4uL2NoZWNrcyc7XG5cbmV4cG9ydCBkZWZhdWx0IChyZWxhdGlvbnNoaXAsIGRhdGEsIGNvbm4pID0+IHtcbiAgY29uc3QgeyBpbnZlcnNlLCB0eXBlIH0gPSByZWxhdGlvbnNoaXA7XG4gIGNvbnN0IHsgcmVsYXRpb24sIGZpZWxkIH0gPSBpbnZlcnNlO1xuXG4gIGlmIChkYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG5cbiAgc3dpdGNoIChyZWxhdGlvbikge1xuICAgIGNhc2UgJ2hhc01hbnknOlxuICAgICAgLy8gY2hlY2sgcmVsYXRpb25zaGlwIHdpdGggaW52ZXJzZSByZWxhdGlvbiBgaGFzTWFueWBcbiAgICAgIHJldHVybiBjaGVja1ZhbGlkSWRzKHR5cGUsIGRhdGEsIGNvbm4pO1xuXG4gICAgY2FzZSAnaGFzT25lJzpcbiAgICAgIC8vIGNoZWNrIHJlbGF0aW9uc2hpcCB3aXRoIGludmVyc2UgcmVsYXRpb24gYGhhc09uZWBcbiAgICAgIHJldHVybiBjaGVja01hbnlJbnZlcnNlSGFzT25lKHR5cGUsIGRhdGEsIGZpZWxkLCBjb25uKTtcblxuICAgIGNhc2UgJ2JlbG9uZ3NUbyc6XG4gICAgICAvLyBjaGVjayByZWxhdGlvbnNoaXAgd2l0aCBpbnZlcnNlIHJlbGF0aW9uIGBiZWxvbmdzVG9gXG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludmVyc2UgcmVsYXRpb25zaGlwIG9mIHR5cGUgJyR7cmVsYXRpb259J2ApO1xuICB9XG59O1xuIl19