UNPKG

@omnia/fx-models

Version:
68 lines (67 loc) 3.74 kB
import { FilterBuilder, IFilterLogicalOperatorBuilder } from "./FilterBuilder"; export interface IFilterOperatorBuilder<T> { equals(value: T): IFilterLogicalOperatorBuilder; notEquals(value: T): IFilterLogicalOperatorBuilder; isNull(): IFilterLogicalOperatorBuilder; isNotNull(): IFilterLogicalOperatorBuilder; in(values: T[]): IFilterLogicalOperatorBuilder; notIn(values: T[]): IFilterLogicalOperatorBuilder; } export interface IComparableFilterOperatorBuilder<T> extends IFilterOperatorBuilder<T> { lessThan(value: T): IFilterLogicalOperatorBuilder; greaterThan(value: T): IFilterLogicalOperatorBuilder; lessThanOrEqual(value: T): IFilterLogicalOperatorBuilder; greaterThanOrEqual(value: T): IFilterLogicalOperatorBuilder; } export interface IIntFilterOperatorBuilder extends IComparableFilterOperatorBuilder<number> { bitwiseAnd(value: number): IFilterLogicalOperatorBuilder; bitwiseNotAnd(value: number): IFilterLogicalOperatorBuilder; } export interface IFloatFilterOperatorBuilder extends IComparableFilterOperatorBuilder<number> { } export interface IDateTimeFilterOperatorBuilder extends IComparableFilterOperatorBuilder<Date> { } export interface IDateTimeOffsetFilterOperatorBuilder extends IComparableFilterOperatorBuilder<Date> { } export interface IBooleanFilterOperatorBuilder extends IFilterOperatorBuilder<boolean> { } export interface IStringFilterOperatorBuilder extends IFilterOperatorBuilder<string> { like(value: string): IFilterLogicalOperatorBuilder; notLike(value: string): IFilterLogicalOperatorBuilder; } export declare class FilterOperatorBuilder<T> implements IFilterOperatorBuilder<T> { protected readonly filterBuilder: FilterBuilder; constructor(filterBuilder: FilterBuilder); equals(value: T): IFilterLogicalOperatorBuilder; notEquals(value: T): IFilterLogicalOperatorBuilder; notIn(values: T[]): IFilterLogicalOperatorBuilder; in(values: T[]): IFilterLogicalOperatorBuilder; isNull(): IFilterLogicalOperatorBuilder; isNotNull(): IFilterLogicalOperatorBuilder; } export declare class StringFilterOperatorBuilder extends FilterOperatorBuilder<string> implements IStringFilterOperatorBuilder { like(value: string): IFilterLogicalOperatorBuilder; notLike(value: string): IFilterLogicalOperatorBuilder; } export declare class ComparableFilterOperatorBuilder<T> extends FilterOperatorBuilder<T> implements IComparableFilterOperatorBuilder<T> { greaterThanOrEqual(value: T): IFilterLogicalOperatorBuilder; greaterThan(value: T): IFilterLogicalOperatorBuilder; lessThanOrEqual(value: T): IFilterLogicalOperatorBuilder; lessThan(value: T): IFilterLogicalOperatorBuilder; } export declare class IntFilterOperatorBuilder extends ComparableFilterOperatorBuilder<number> implements IIntFilterOperatorBuilder { bitwiseAnd(value: number): IFilterLogicalOperatorBuilder; bitwiseNotAnd(value: number): IFilterLogicalOperatorBuilder; } export declare class FloatFilterOperatorBuilder extends ComparableFilterOperatorBuilder<number> implements IFloatFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); } export declare class DateTimeFilterOperatorBuilder extends ComparableFilterOperatorBuilder<Date> implements IDateTimeFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); } export declare class DateTimeOffsetFilterOperatorBuilder extends ComparableFilterOperatorBuilder<Date> implements IDateTimeOffsetFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); } export declare class BooleanFilterOperatorBuilder extends ComparableFilterOperatorBuilder<boolean> implements IBooleanFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); }