@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
34 lines (33 loc) • 2.44 kB
TypeScript
import { RequestOptions } from '@docsvision/webclient/Legacy/Utils';
import { IWebServicesConnection } from '@docsvision/webclient/System/IWebServicesConnection';
import { IWebServicesInfo } from '@docsvision/webclient/System/IWebServicesInfo';
import { IWebServicesRequest } from '@docsvision/webclient/System/IWebServicesRequest';
/** Реализует взаимодействие с агентом веб-сервисов. */
export interface IWebServicesService {
/** Пытается подключится к агенту веб-сервисов. В случае неудачи генерирует исключение. */
check(): Promise<IWebServicesInfo>;
/**
* Отправляет сообщение в агент веб-сервисов методом GET, и возвращает полученный ответ.
* @param plugin Адрес плагина, для которого предназначено сообщение.
* @param message JavaScript объект, содержащий параметры запроса.
* @returns JavaScript объект ответа.
*/
get<T>(plugin: string, message: IWebServicesRequest<T>, options?: RequestOptions): Promise<T>;
/**
* Отправляет сообщение в агент веб-сервисов методом POST, и возвращает полученный ответ.
* @param plugin Адрес плагина, для которого предназначено сообщение.
* @param message JavaScript объект, содержащий параметры запроса.
* @returns JavaScript объект ответа.
*/
post<T>(plugin: string, message: IWebServicesRequest<T>, options?: RequestOptions): Promise<T>;
/**
* Открывает соединение с плагином агента черзе веб-сокеты.
* @param plugin Адрес плагина, с которым планируется начать взаимодействие.
* @returns Объект соединения, через который можно отправлять запросы и получать ответы.
*/
connect(plugin: string): Promise<IWebServicesConnection>;
}
export declare type $WebServices = {
webServices: IWebServicesService;
};
export declare const $WebServices: string | ((model?: $WebServices) => IWebServicesService);