@allgemein/expressions
Version:
Library for mango expressions
34 lines • 920 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrDesc = void 0;
exports.Or = Or;
const _ = require("lodash");
const GroupDesc_1 = require("./GroupDesc");
class OrDesc extends GroupDesc_1.GroupDesc {
constructor(...values) {
super(...values);
this.type = 'or';
}
lookup(source) {
const checks = _.map(this.values, v => v.lookup(source));
return function (target) {
for (let fn of checks) {
if (fn(target)) {
return true;
}
}
return false;
};
}
for(source, keyMap = {}) {
const checks = _.map(this.values, v => v.for(source, keyMap));
let c = {};
c['$or'] = checks;
return c;
}
}
exports.OrDesc = OrDesc;
function Or(...values) {
return new OrDesc(...values);
}
//# sourceMappingURL=OrDesc.js.map