UNPKG

@odata/parser

Version:
100 lines (99 loc) 2.37 kB
import { Edm } from '@odata/metadata'; import { ODataVersion } from './types'; export declare enum ExprOperator { eq = "eq", ne = "ne", gt = "gt", lt = "lt", ge = "ge", le = "le" } type FieldExpr = { op: ExprOperator; value: any; }; type FieldExprMappings = { [key: string]: FieldExpr[]; }; /** * @private * @internal */ declare class ODataFieldExpr { constructor(filter: ODataFilter, fieldName: string, mapping: FieldExprMappings); private _filter; private _fieldName; private _exprMappings; private _getFieldExprs; private _addExpr; /** * equal * @param value */ eq(value: number | string | Edm.PrimitiveTypeValue): ODataFilter; /** * not equal * @param value */ ne(value: number | string | Edm.PrimitiveTypeValue): ODataFilter; eqString(value: string): ODataFilter; neString(value: string): ODataFilter; /** * greater or equal * @param value */ ge(value: number | string | Edm.PrimitiveTypeValue): ODataFilter; /** * greater than * @param value */ gt(value: number | string | Edm.PrimitiveTypeValue): ODataFilter; /** * less or equal * @param value */ le(value: number | string | Edm.PrimitiveTypeValue): ODataFilter; /** * less than * @param value */ lt(value: number | string | Edm.PrimitiveTypeValue): ODataFilter; /** * match any value in an array * * @param values */ in(values?: Array<number | string | Edm.PrimitiveTypeValue>): ODataFilter; /** * filter by value range * * @param low * @param max * @param includeBoundary */ between(low: any, max: any, includeBoundary?: boolean): ODataFilter; } /** * OData filter builder */ export declare class ODataFilter<T = any> { static New<E>(obj?: Partial<E>): ODataFilter; constructor(obj?: T); private _fieldExprMappings; /** * getExprMapping * * @internal * @private */ private getExprMapping; /** * @param name filed name */ field(name: keyof T): ODataFieldExpr; toString(version?: ODataVersion): string; private _buildExprLit; protected _buildFieldExprString(field: string, version?: ODataVersion): string; build(version?: ODataVersion): string; } export {};