@ihadeed/transport-commons
Version:
Shared functionality for websocket providers
32 lines (31 loc) • 1.37 kB
TypeScript
import { FindOneParams, FindOneQuery, Paginated, Params } from '@ihadeed/feathers';
import { Query } from '../../feathers';
interface ServiceOptions {
name: string;
connection: any;
method: string;
events?: string[];
timeout?: number;
}
export declare class Service<T = any> {
events: string[];
path: string;
connection: any;
method: string;
timeout: number;
constructor({ events, name, connection, method, timeout }: ServiceOptions);
send(method: 'find', query?: FindOneQuery<T>): Promise<T>;
send(method: 'find', query?: Query<T>): Promise<T[] | Paginated<T[]>>;
send(method: 'get' | 'update' | 'patch' | 'remove', ...args: any[]): Promise<T>;
send(method: 'create', data: Partial<T> | T, params?: Params<T>): Promise<T>;
send(method: 'create', data: Partial<T[]> | T, params?: Params<T>): Promise<T[]>;
find(params?: FindOneParams<T>): Promise<T>;
find(params?: Params<T>): Promise<T[] | Paginated<T[]>>;
get(id: number | string, params?: Params<T>): Promise<T>;
create(data: any, params?: Params<T>): Promise<T>;
update(id: number | string, data: any, params?: Params<T>): Promise<T>;
patch(id: number | string, data: any, params?: Params<T>): Promise<T>;
remove(id: number | string, params?: Params<T>): Promise<T>;
off(name: string, ...args: any[]): any;
}
export {};