@allgemein/expressions
Version:
Library for mango expressions
32 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EqDesc = void 0;
exports.Eq = Eq;
const _ = require("lodash");
const KeyDesc_1 = require("./KeyDesc");
const OpDesc_1 = require("./OpDesc");
class EqDesc extends OpDesc_1.OpDesc {
constructor(key, value) {
super(key, value);
this.type = 'eq';
}
lookup(source) {
const value = this.value instanceof KeyDesc_1.KeyDesc ? source[this.value.key] : _.clone(this.value.value);
const key = this.key;
return function (target) {
return target[key] === value;
};
}
for(source, keyMap = {}) {
const value = this.value instanceof KeyDesc_1.KeyDesc ? source[this.value.key] : _.clone(this.value.value);
const key = _.get(keyMap, this.key, this.key);
let c = {};
c[key] = value;
return c;
}
}
exports.EqDesc = EqDesc;
function Eq(key, value) {
return new EqDesc(key, value);
}
//# sourceMappingURL=EqDesc.js.map