UNPKG

lambdaorm-client-node

Version:
63 lines (62 loc) 2.47 kB
import { QueryApi } from '../api'; import { QueryOptions, QueryPlan, Metadata, MetadataModel, MetadataConstraint, MetadataParameter } from 'lambdaorm-base'; import { ClientQueryService } from '../../application/services'; export declare class QueryApiService implements ClientQueryService { private readonly queryApi; constructor(queryApi: QueryApi); /** * Get model of query * @param query query expression * @returns Model of query */ model(query: Function): Promise<MetadataModel[]>; model(query: string): Promise<MetadataModel[]>; /** * Get parameters of query * @param query query expression * @returns Parameters of query */ parameters(query: Function): Promise<MetadataParameter[]>; parameters(query: string): Promise<MetadataParameter[]>; /** * Get constraints of query * @param query query expression * @returns Constraints of query */ constraints(query: Function): Promise<MetadataConstraint>; constraints(query: string): Promise<MetadataConstraint>; /** * Get metadata of query * @param query query expression * @returns metadata of query */ metadata(query: Function): Promise<Metadata>; metadata(query: string): Promise<Metadata>; /** * Get plan of query * @param query query expression * @param options options of query */ plan(query: Function, options?: QueryOptions): Promise<QueryPlan>; plan(query: string, options?: QueryOptions): Promise<QueryPlan>; /** * Execute query * @param query query expression * @param data Data with variables * @param options options of query * @returns Result of query */ execute(query: Function, data?: any, options?: QueryOptions): Promise<any>; execute(query: string, data?: any, options?: QueryOptions): Promise<any>; /** * Execute query * @param query query expression * @param data Data with variables * @param options options of execution * @returns Result of execution */ executeQueued(query: Function, topic: string, data?: any, chunk?: number, options?: QueryOptions): Promise<any>; executeQueued(query: string, topic: string, data?: any, chunk?: number, options?: QueryOptions): Promise<any>; private toExpression; private solveOptions; }