UNPKG

ts-odata-client

Version:
37 lines (36 loc) 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BooleanPredicateBuilder = void 0; var Expression_1 = require("./Expression"); /** * Builds predicates based on boolean conditions. */ var BooleanPredicateBuilder = /** @class */ (function () { function BooleanPredicateBuilder(expression) { this.expression = expression; } /** * Create an AND condition with a previous filter clause. * @param predicate Use the same FilterBuilder that this method chain was invoked with. */ BooleanPredicateBuilder.prototype.and = function (predicate) { if (!this.expression) throw new Error("'and' predicate must come after a non-empty Predicate"); if (!predicate.expression) throw new Error("'and' predicate must have at least one non-empty Predicate"); return new BooleanPredicateBuilder(new Expression_1.Expression("and" /* ExpressionOperator.And */, [this.expression, predicate.expression])); }; /** * Create an OR condition with a previous filter clause. * @param predicate Use the same FilterBuilder that this method chain was invoked with. */ BooleanPredicateBuilder.prototype.or = function (predicate) { if (!this.expression) throw new Error("'or' predicate must come after a non-empty Predicate"); if (!predicate.expression) throw new Error("'or' predicate must have at least one non-empty Predicate"); return new BooleanPredicateBuilder(new Expression_1.Expression("or" /* ExpressionOperator.Or */, [this.expression, predicate.expression])); }; return BooleanPredicateBuilder; }()); exports.BooleanPredicateBuilder = BooleanPredicateBuilder;