@allgemein/expressions
Version:
Library for mango expressions
32 lines • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LikeDesc = void 0;
exports.Like = Like;
const _ = require("lodash");
const KeyDesc_1 = require("./KeyDesc");
const OpDesc_1 = require("./OpDesc");
class LikeDesc extends OpDesc_1.OpDesc {
constructor(key, value) {
super(key, value);
this.type = 'like';
}
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 (new RegExp(value.replace('%%', '.*'))).test(target[key]);
};
}
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.LikeDesc = LikeDesc;
function Like(key, value) {
return new LikeDesc(key, value);
}
//# sourceMappingURL=LikeDesc.js.map