@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
68 lines (67 loc) • 3.74 kB
TypeScript
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);
}