UNPKG

@dichioniccolo/odata-filter-parser

Version:
26 lines (25 loc) 844 B
"use strict"; 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?'(.*)'[)]/;