@telegram-apps/sdk
Version:
TypeScript Source Development Kit for Telegram Mini Apps client application.
17 lines (16 loc) • 819 B
TypeScript
import { AnyFn } from '../../types.js';
import { IsSupportedType, SafeWrapped, Supports } from './wrapSafe.js';
export interface SafeWrapFn<S extends boolean> {
<Fn extends AnyFn>(method: string, fn: Fn): SafeWrapped<Fn, S, never>;
<Fn extends AnyFn>(method: string, fn: Fn, isSupported: IsSupportedType): SafeWrapped<Fn, true, never>;
<Fn extends AnyFn, S extends Supports<Fn>>(method: string, fn: Fn, isSupported: IsSupportedType, supports: S): SafeWrapped<Fn, true, S>;
}
interface Options {
isMounted?: () => boolean;
isSupported?: IsSupportedType;
}
export declare function createWrapSafe(component?: string): SafeWrapFn<false>;
export declare function createWrapSafe<O extends Options>(component: string, options: O): SafeWrapFn<O extends {
isSupported: any;
} ? true : false>;
export {};