UNPKG

@omnia/fx-models

Version:
110 lines (109 loc) 6.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BooleanFilterOperatorBuilder = exports.DateTimeOffsetFilterOperatorBuilder = exports.DateTimeFilterOperatorBuilder = exports.LongFilterOperatorBuilder = exports.FloatFilterOperatorBuilder = exports.IntFilterOperatorBuilder = exports.ComparableFilterOperatorBuilder = exports.StringFilterOperatorBuilder = exports.FilterOperatorBuilder = void 0; const QueryFilter_1 = require("../QueryFilter"); const FilterComponent_1 = require("./FilterComponent"); class FilterOperatorBuilder { constructor(filterBuilder) { if (!filterBuilder) { throw new Error("FilterBuilder cannot be null or undefined."); } this.filterBuilder = filterBuilder; } equals(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.Equal, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } notEquals(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.NotEqual, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } notIn(values) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.NotIn, values.map((x) => x), this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } in(values) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.In, values.map((x) => x), this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } isNull() { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.Equal, null, this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } isNotNull() { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.NotEqual, null, this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } } exports.FilterOperatorBuilder = FilterOperatorBuilder; class StringFilterOperatorBuilder extends FilterOperatorBuilder { like(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.Like, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } notLike(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.NotLike, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } } exports.StringFilterOperatorBuilder = StringFilterOperatorBuilder; class ComparableFilterOperatorBuilder extends FilterOperatorBuilder { greaterThanOrEqual(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.GreaterThanOrEqual, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } greaterThan(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.GreaterThan, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } lessThanOrEqual(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.LessThanOrEqual, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } lessThan(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.LessThan, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } } exports.ComparableFilterOperatorBuilder = ComparableFilterOperatorBuilder; class IntFilterOperatorBuilder extends ComparableFilterOperatorBuilder { bitwiseAnd(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.BitwiseAnd, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } bitwiseNotAnd(value) { this.filterBuilder.addFilter(new FilterComponent_1.FilterConditionComponent(this.filterBuilder.propertyName, QueryFilter_1.FilterOperator.BitwiseNotAnd, [value], this.filterBuilder.filterLogicalOperator)); return this.filterBuilder; } } exports.IntFilterOperatorBuilder = IntFilterOperatorBuilder; class FloatFilterOperatorBuilder extends ComparableFilterOperatorBuilder { constructor(filterBuilder) { super(filterBuilder); } } exports.FloatFilterOperatorBuilder = FloatFilterOperatorBuilder; class LongFilterOperatorBuilder extends ComparableFilterOperatorBuilder { constructor(filterBuilder) { super(filterBuilder); } } exports.LongFilterOperatorBuilder = LongFilterOperatorBuilder; class DateTimeFilterOperatorBuilder extends ComparableFilterOperatorBuilder { constructor(filterBuilder) { super(filterBuilder); } } exports.DateTimeFilterOperatorBuilder = DateTimeFilterOperatorBuilder; class DateTimeOffsetFilterOperatorBuilder extends ComparableFilterOperatorBuilder { constructor(filterBuilder) { super(filterBuilder); } } exports.DateTimeOffsetFilterOperatorBuilder = DateTimeOffsetFilterOperatorBuilder; class BooleanFilterOperatorBuilder extends ComparableFilterOperatorBuilder { constructor(filterBuilder) { super(filterBuilder); } } exports.BooleanFilterOperatorBuilder = BooleanFilterOperatorBuilder;