@nsmp/js-api
Version:
Types for jsApi
41 lines (36 loc) • 1.84 kB
TypeScript
import {IJsApi} from '../lib/JsApiMock';
import {MakeOptions, MakePromiseReject, PartialJsApi, RestCallOptions} from '../types';
/**
* Объединяет два объекта, содержащих методы jsApi, в один объект
* @param {IJsApi} publicJsApi - объект, содержащий методы jsApi
* @template PartialApi - объект, содержащий часть методов jsApi
* @param {PartialApi} partialJsApi - объект, содержащий часть методов jsApi
* @returns {IJsApi} - Объединенный объект jsApi
*/
export const deepMergeJsApi: <PartialApi = PartialJsApi>(publicJsApi: IJsApi, partialJsApi: PartialApi) => IJsApi;
/**
* Возвращает основную ссылку на приложение
* @returns {string}
*/
export const getAppBaseUrl: () => string;
/**
* Возвращает ошибку, которая возникает при запросе на бэк
* @param {XMLHttpRequest} response - Ответ от бэка
* @returns {MakePromiseReject}
*/
export const getRestError: (response: XMLHttpRequest) => MakePromiseReject;
/**
* Выполняет запрос на бэк
* @param {string} url - Адрес, на который будет отправлен запрос
* @param {RestCallOptions | MakeOptions} options - Опции запроса
* @param {boolean} isJson - Должен ли ответ быть в формате JSON
* @param {boolean} isExecMF - Является ли запрос типом execMF
* @template T - Ожидаемые данные с бэка
* @returns {Promise<T>} - Возвращаемые данные с бэка
*/
export const makeResponse: <T>(
url: string,
options: RestCallOptions | MakeOptions,
isJson?: boolean,
isExecMF?: boolean
) => Promise<T>;