UNPKG

@nsmp/js-api

Version:

Types for jsApi

28 lines (24 loc) 2.06 kB
import {IJsApi, JsApiSettings} from '../types'; /** * Создает `singleton` объект `jsApi` в соответствии с режимом запуска: * - При `process.env.NODE_ENV === 'production'` - возвращает объект `jsApi` в зависимости от окружения, в котором приложение запущено. * - В остальных случаях, например, `process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'development'` - инициализирует переменную "jsApi" с помощью "mock" данных. * Итоговый "mock" - результат объединения "defaultMockJsApi" и "mockJsApi". * @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 initializeJsApi <PartialApi>(settings?: JsApiSettings<PartialApi>): void; /** * Возвращает "singleton" объект "jsApi", если он создан, иначе выбрасывает ошибку. * @template Api - возвращаемый объект "jsApi". * @return {Api} объект "jsApi". */ export declare function getJsApi <Api = IJsApi>(): Api; /** * Удаляет "singleton" объект "jsApi". */ export declare function removeJsApi (): void;