ts-flex-query
Version:
Flexible and type-safe data queries
23 lines (22 loc) • 1.1 kB
TypeScript
import { Observable } from 'rxjs';
import { Expression } from '../../core/expression';
import { EvaluatedResultType } from '../../types/evaluated-result-type';
import { ODataResponse } from '../helpers/definitions';
import { ODataCustomQueryComposer } from '../query-composition/types';
import { ODataExpressionHandler } from './odata-expression-handler';
export type ODataExecutionFunction = (collectionName: string, oDataQueryText: string) => Observable<ODataResponse>;
export interface ODataExecutorParams {
execute: ODataExecutionFunction;
expressionHandler?: ODataExpressionHandler;
customQueryComposer?: ODataCustomQueryComposer;
}
export declare class ODataExecutor {
private readonly params;
/**
* Constructor.
* @param query The function to execute the query against the backend.
* @param unexpandableFieldChains Specifies field chains which cannot be expanded. The select OData operator is used for these fields instead.
*/
constructor(params: ODataExecutorParams);
execute<T>(expression: Expression<T>): Observable<EvaluatedResultType<T>>;
}