@telegram-apps/bridge
Version:
TypeScript package to provide communication layer between Mini App and Telegram application.
34 lines (33 loc) • 1.71 kB
TypeScript
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;