lambdaorm-client-node
Version:
Client form lambda ORM service
63 lines (62 loc) • 2.47 kB
TypeScript
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;
}