UNPKG

@nsmp/js-api

Version:

Types for jsApi

58 lines (51 loc) 2.49 kB
import {IJsApi, JsonOptions, UIFrameContext, UIUserInfo} from './index'; export interface UIFrameJsApi extends IJsApi { /** * Метод возвращает идентификатор объекта, чья карточка открыта в данный момент * @param {UIFrameContext} context - Контекст приложения для `iframe` * @returns {string | null} */ extractSubjectUuid (context: UIFrameContext): string | null, /** * Возвращает объект, соответствующий текущему пользователю * @param {UIFrameContext} context - Контекст приложения для `iframe` * @returns {UIUserInfo} */ getCurrentUser (context: UIFrameContext): UIUserInfo, /** * Метод позволяет найти код контента, в котором выведено текущее приложение * @param {Window} window - Окно `iframe` * @returns {string} */ findContentCode (window: Window): string, /** * Метод позволяет найти код текущего встроенного приложения * @param {Window} window - окно `iframe` * @returns {string | null} */ findApplicationCode (window: Window): string | null, /** * Выполняет REST запрос на сервер SMP * @param {Window} window - Окно `iframe` * @param {string} url - Весь URL, начиная с имени REST метода * @param {RestCallOptions} options - Опции для конфигурации запроса * @template T - Возвращаемые данные * @returns {Promise<T>} */ restCallAsJson <T>(window: Window, url: string, options?: JsonOptions): Promise<T>, /** * Вызывает произвольный метод любого скриптового модуля * @param {Window} window - Окно `iframe` * @param {string} moduleCode - Код скриптового модуля * @param {string} methodName - Имя метода в скриптовом модуле * @param {Array<number | string | boolean | {[key: string]: any}>} args - Аргументы, которые необходимо передать в функцию * @template T - Возвращаемые данные * @returns {Promise<T>} */ restCallModule <T>( window: Window, moduleCode: string, methodName: string, ...args: Array<number | string | boolean | {[key: string]: any}> ): Promise<T> }