UNPKG

@telegram-apps/bridge

Version:

TypeScript package to provide communication layer between Mini App and Telegram application.

34 lines (33 loc) 1.71 kB
import { EventWithoutPayload, EventWithPayload, EventPayload } from './types/index.js'; /** * Emits an event without payload sent from the Telegram native application like it was sent in * a default web environment between two iframes. * * It dispatches a new MessageEvent and expects it to be handled via * the `window.addEventListener('message', ...)` call, as a developer would do it to handle * messages sent from the parent iframe. * @param eventType - event name. */ export declare function emitEvent<E extends EventWithoutPayload>(eventType: E): void; /** * Emits an event with payload sent from the Telegram native application like it was sent in * a default web environment between two iframes. * * It dispatches a new MessageEvent and expects it to be handled via * the `window.addEventListener('message', ...)` call, as a developer would do it to handle * messages sent from the parent iframe. * @param eventType - event name. * @param eventData - event payload. */ export declare function emitEvent<E extends EventWithPayload>(eventType: E, eventData: EventPayload<E>): void; /** * Emits an unknown event sent from the Telegram native application like it was sent in a default * web environment between two iframes. * * It dispatches a new MessageEvent and expects it to be handled via * the `window.addEventListener('message', ...)` call, as a developer would do it to handle * messages sent from the parent iframe. * @param eventType - event name. * @param eventData - event payload. */ export declare function emitEvent<E extends string>(eventType: E, eventData: E extends EventWithoutPayload ? never : E extends EventWithPayload ? EventPayload<E> : unknown): void;