UNPKG

@dichioniccolo/odata-filter-parser

Version:
36 lines (35 loc) 932 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Parser = void 0; const utils_1 = require("../utils"); class Parser { constructor(value, _method) { this.value = value; this._method = _method; } static isOfType(value) { return false; } get method() { return this._method; } leftValue(value) { return value.split("/"); } rightValue(value) { if (this.isBoolean(value)) { return value === "true"; } else if (!isNaN(Number(value))) { return Number(value); } return String(value); } isBoolean(value) { return value === "true" || value === "false"; } createObject(previous, left, right) { return (0, utils_1.setDeepValue)(previous ?? {}, this.leftValue(left), this.method, this.rightValue(right)); } } exports.Parser = Parser;