@nsmp/js-api
Version:
Types for jsApi
17 lines (15 loc) • 1.8 kB
TypeScript
import {JsApiSettings} from '../../../types';
/**
* Создает объект `jsApi` в `react` компоненте в соответствии с режимом запуска:
* - при `process.env.NODE_ENV === 'production'` - возвращает объект `jsApi` в зависимости от окружения, в котором приложение запущено;
* - в остальных случаях, например, `process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'development'` - инициализирует переменную `jsApi` с помощью `mock` данных.
* Итоговый `mock` - результат объединения `defaultMockJsApi` и `mockJsApi`.
* При размонтировании `react` компонента удаляет созданный объект `jsApi`.
* @template JsApiExtension - Расширяемый объект `jsApi`, который объединяется с базовым объектом `jsApi`
* @param {JsApiSettings<JsApiExtension>} [settings] - Объект настроек, используемые для инициализации
* @param {JsApiSettings<JsApiExtension>['mock']} [settings.mock] - Объект "mock" данных
* @param {JsApiSettings<JsApiExtension>['getContext']} [settings.getContext] - Функция для получения контекста
* @summary Функция вызывается, если приложение используется как модуль расширения
* @summary Функция может вернуть объект "jsApi" в зависимости от окружения и контекста.
*/
export declare function useInitializeJsApi <PartialApi>(settings?: JsApiSettings<PartialApi>): void;