@dichioniccolo/odata-filter-parser
Version:
26 lines (25 loc) • 844 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContainsParser = void 0;
const operators_1 = require("../operators");
const utils_1 = require("../utils");
const Parser_1 = require("./Parser");
class ContainsParser extends Parser_1.Parser {
constructor(value) {
super(value, operators_1.Operators.CONTAINS);
this.value = value;
}
static isOfType(value) {
return !!value.match(this.REGEX);
}
parse(previous) {
const match = this.value.match(ContainsParser.REGEX);
if (!match) {
return {};
}
const [, left, right] = match;
return (0, utils_1.setDeepValue)(previous, this.leftValue(left), this.method, right);
}
}
exports.ContainsParser = ContainsParser;
ContainsParser.REGEX = /^contains[(](.*),\s?'(.*)'[)]/;
;