UNPKG

redink

Version:
35 lines (26 loc) 2.95 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 === '') return true; switch (relation) { case 'hasMany': // check relationship with inverse relation `hasMany` return (0, _checks.checkValidId)(type, data, conn); case 'hasOne': // check relationship with inverse relation `hasOne` return (0, _checks.checkInverseHasOne)(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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb25zdHJhaW50cy9jcmVhdGUvdXRpbHMvaXNIYXNPbmVDb21wbGlhbnQuanMiXSwibmFtZXMiOlsicmVsYXRpb25zaGlwIiwiZGF0YSIsImNvbm4iLCJpbnZlcnNlIiwidHlwZSIsInJlbGF0aW9uIiwiZmllbGQiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O2tCQUVlLFVBQUNBLFlBQUQsRUFBZUMsSUFBZixFQUFxQkMsSUFBckIsRUFBOEI7QUFBQSxNQUNuQ0MsT0FEbUMsR0FDakJILFlBRGlCLENBQ25DRyxPQURtQztBQUFBLE1BQzFCQyxJQUQwQixHQUNqQkosWUFEaUIsQ0FDMUJJLElBRDBCO0FBQUEsTUFFbkNDLFFBRm1DLEdBRWZGLE9BRmUsQ0FFbkNFLFFBRm1DO0FBQUEsTUFFekJDLEtBRnlCLEdBRWZILE9BRmUsQ0FFekJHLEtBRnlCOzs7QUFJM0MsTUFBSUwsU0FBUyxFQUFiLEVBQWlCLE9BQU8sSUFBUDs7QUFFakIsVUFBUUksUUFBUjtBQUNFLFNBQUssU0FBTDtBQUNFO0FBQ0EsYUFBTywwQkFBYUQsSUFBYixFQUFtQkgsSUFBbkIsRUFBeUJDLElBQXpCLENBQVA7O0FBRUYsU0FBSyxRQUFMO0FBQ0U7QUFDQSxhQUFPLGdDQUFtQkUsSUFBbkIsRUFBeUJILElBQXpCLEVBQStCSyxLQUEvQixFQUFzQ0osSUFBdEMsQ0FBUDs7QUFFRixTQUFLLFdBQUw7QUFDRTtBQUNBLGFBQU8sS0FBUDs7QUFFRjtBQUNFLFlBQU0sSUFBSUssS0FBSiw2Q0FBbURGLFFBQW5ELFFBQU47QUFkSjtBQWdCRCxDIiwiZmlsZSI6ImlzSGFzT25lQ29tcGxpYW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2hlY2tWYWxpZElkLCBjaGVja0ludmVyc2VIYXNPbmUgfSBmcm9tICcuLi8uLi9jaGVja3MnO1xuXG5leHBvcnQgZGVmYXVsdCAocmVsYXRpb25zaGlwLCBkYXRhLCBjb25uKSA9PiB7XG4gIGNvbnN0IHsgaW52ZXJzZSwgdHlwZSB9ID0gcmVsYXRpb25zaGlwO1xuICBjb25zdCB7IHJlbGF0aW9uLCBmaWVsZCB9ID0gaW52ZXJzZTtcblxuICBpZiAoZGF0YSA9PT0gJycpIHJldHVybiB0cnVlO1xuXG4gIHN3aXRjaCAocmVsYXRpb24pIHtcbiAgICBjYXNlICdoYXNNYW55JzpcbiAgICAgIC8vIGNoZWNrIHJlbGF0aW9uc2hpcCB3aXRoIGludmVyc2UgcmVsYXRpb24gYGhhc01hbnlgXG4gICAgICByZXR1cm4gY2hlY2tWYWxpZElkKHR5cGUsIGRhdGEsIGNvbm4pO1xuXG4gICAgY2FzZSAnaGFzT25lJzpcbiAgICAgIC8vIGNoZWNrIHJlbGF0aW9uc2hpcCB3aXRoIGludmVyc2UgcmVsYXRpb24gYGhhc09uZWBcbiAgICAgIHJldHVybiBjaGVja0ludmVyc2VIYXNPbmUodHlwZSwgZGF0YSwgZmllbGQsIGNvbm4pO1xuXG4gICAgY2FzZSAnYmVsb25nc1RvJzpcbiAgICAgIC8vIGNoZWNrIHJlbGF0aW9uc2hpcCB3aXRoIGludmVyc2UgcmVsYXRpb24gYGJlbG9uZ3NUb2BcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW52ZXJzZSByZWxhdGlvbnNoaXAgb2YgdHlwZSAnJHtyZWxhdGlvbn0nYCk7XG4gIH1cbn07XG4iXX0=