objection
Version:
An SQL-friendly ORM for Node.js
67 lines (46 loc) • 3.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _Dependency2 = require('./Dependency');
var _Dependency3 = _interopRequireDefault(_Dependency2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ReplaceValueDependency = function (_Dependency) {
(0, _inherits3.default)(ReplaceValueDependency, _Dependency);
function ReplaceValueDependency(node, path, refProp, inverse) {
(0, _classCallCheck3.default)(this, ReplaceValueDependency);
/**
* @type {Array.<string>}
*/
var _this = (0, _possibleConstructorReturn3.default)(this, _Dependency.call(this, node));
_this.path = path.slice();
/**
* @type {string}
*/
_this.refProp = refProp;
/**
* @type boolean
*/
_this.inverse = inverse;
return _this;
}
ReplaceValueDependency.prototype.resolve = function resolve(model) {
if (!this.inverse) {
_lodash2.default.set(model, this.path, this.node.model[this.refProp]);
} else {
_lodash2.default.set(this.node.model, this.path, model[this.refProp]);
}
};
return ReplaceValueDependency;
}(_Dependency3.default);
exports.default = ReplaceValueDependency;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlcGxhY2VWYWx1ZURlcGVuZGVuY3kuanMiXSwibmFtZXMiOlsiUmVwbGFjZVZhbHVlRGVwZW5kZW5jeSIsIm5vZGUiLCJwYXRoIiwicmVmUHJvcCIsImludmVyc2UiLCJzbGljZSIsInJlc29sdmUiLCJtb2RlbCIsInNldCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7OztJQUVxQkEsc0I7OztBQUVuQixrQ0FBWUMsSUFBWixFQUFrQkMsSUFBbEIsRUFBd0JDLE9BQXhCLEVBQWdDQyxPQUFoQyxFQUF5QztBQUFBOztBQUd2Qzs7O0FBSHVDLCtEQUN2Qyx1QkFBTUgsSUFBTixDQUR1Qzs7QUFNdkMsVUFBS0MsSUFBTCxHQUFZQSxLQUFLRyxLQUFMLEVBQVo7O0FBRUE7OztBQUdBLFVBQUtGLE9BQUwsR0FBZUEsT0FBZjs7QUFFQTs7O0FBR0EsVUFBS0MsT0FBTCxHQUFlQSxPQUFmO0FBaEJ1QztBQWlCeEM7O21DQUVERSxPLG9CQUFRQyxLLEVBQU87QUFDYixRQUFJLENBQUMsS0FBS0gsT0FBVixFQUFtQjtBQUNqQix1QkFBRUksR0FBRixDQUFNRCxLQUFOLEVBQWEsS0FBS0wsSUFBbEIsRUFBd0IsS0FBS0QsSUFBTCxDQUFVTSxLQUFWLENBQWdCLEtBQUtKLE9BQXJCLENBQXhCO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsdUJBQUVLLEdBQUYsQ0FBTSxLQUFLUCxJQUFMLENBQVVNLEtBQWhCLEVBQXVCLEtBQUtMLElBQTVCLEVBQWtDSyxNQUFNLEtBQUtKLE9BQVgsQ0FBbEM7QUFDRDtBQUNGLEc7Ozs7O2tCQTNCa0JILHNCIiwiZmlsZSI6IlJlcGxhY2VWYWx1ZURlcGVuZGVuY3kuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IERlcGVuZGVuY3kgZnJvbSAnLi9EZXBlbmRlbmN5JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVwbGFjZVZhbHVlRGVwZW5kZW5jeSBleHRlbmRzIERlcGVuZGVuY3kge1xuXG4gIGNvbnN0cnVjdG9yKG5vZGUsIHBhdGgsIHJlZlByb3AsaW52ZXJzZSkge1xuICAgIHN1cGVyKG5vZGUpO1xuXG4gICAgLyoqXG4gICAgICogQHR5cGUge0FycmF5LjxzdHJpbmc+fVxuICAgICAqL1xuICAgIHRoaXMucGF0aCA9IHBhdGguc2xpY2UoKTtcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgdGhpcy5yZWZQcm9wID0gcmVmUHJvcDtcblxuICAgIC8qKlxuICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgKi9cbiAgICB0aGlzLmludmVyc2UgPSBpbnZlcnNlO1xuICB9XG5cbiAgcmVzb2x2ZShtb2RlbCkge1xuICAgIGlmICghdGhpcy5pbnZlcnNlKSB7XG4gICAgICBfLnNldChtb2RlbCwgdGhpcy5wYXRoLCB0aGlzLm5vZGUubW9kZWxbdGhpcy5yZWZQcm9wXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIF8uc2V0KHRoaXMubm9kZS5tb2RlbCwgdGhpcy5wYXRoLCBtb2RlbFt0aGlzLnJlZlByb3BdKTtcbiAgICB9XG4gIH1cbn0iXX0=