@tma.js/bridge 2.3.2 → 4.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +156 -35
- package/dist/dts/env.d.ts +69 -0
- package/dist/dts/errors.d.ts +55 -9
- package/dist/dts/events.d.ts +64 -0
- package/dist/dts/index.d.ts +14 -26
- package/dist/dts/invokeCustomMethod.d.ts +33 -0
- package/dist/dts/launch-params.d.ts +101 -19
- package/dist/dts/logger.d.ts +29 -0
- package/dist/dts/mockTelegramEnv.d.ts +55 -0
- package/dist/dts/post-event.d.ts +40 -0
- package/dist/dts/request.d.ts +98 -0
- package/dist/dts/result.d.ts +45 -0
- package/dist/dts/start-param.d.ts +34 -40
- package/dist/dts/theme-params.d.ts +10 -0
- package/dist/dts/types/common.d.ts +61 -0
- package/dist/dts/{events/types → types}/events.d.ts +75 -56
- package/dist/dts/types/index.d.ts +5 -0
- package/dist/dts/{methods/types → types}/methods.d.ts +200 -116
- package/dist/dts/versions.d.ts +83 -0
- package/dist/dts/window-hooks.d.ts +27 -0
- package/dist/index.cjs +2 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.iife.js +2 -3
- package/dist/index.iife.js.map +1 -1
- package/dist/index.js +619 -601
- package/dist/index.js.map +1 -1
- package/package.json +11 -19
- package/dist/dts/applyPolyfills.d.ts +0 -5
- package/dist/dts/base64-url.d.ts +0 -24
- package/dist/dts/env/hasWebviewProxy.d.ts +0 -10
- package/dist/dts/env/isIframe.d.ts +0 -5
- package/dist/dts/env/isTMA.d.ts +0 -31
- package/dist/dts/env/mockTelegramEnv.d.ts +0 -60
- package/dist/dts/events/createEmitter.d.ts +0 -58
- package/dist/dts/events/emitEvent.d.ts +0 -33
- package/dist/dts/events/emitter.d.ts +0 -2
- package/dist/dts/events/types/index.d.ts +0 -3
- package/dist/dts/events/types/listening.d.ts +0 -5
- package/dist/dts/events/types/misc.d.ts +0 -16
- package/dist/dts/globals.d.ts +0 -53
- package/dist/dts/methods/captureSameReq.d.ts +0 -10
- package/dist/dts/methods/createPostEvent.d.ts +0 -30
- package/dist/dts/methods/getReleaseVersion.d.ts +0 -15
- package/dist/dts/methods/postEvent.d.ts +0 -35
- package/dist/dts/methods/postMessage.d.ts +0 -7
- package/dist/dts/methods/supports.d.ts +0 -15
- package/dist/dts/methods/types/custom-method.d.ts +0 -59
- package/dist/dts/methods/types/index.d.ts +0 -6
- package/dist/dts/methods/types/misc.d.ts +0 -27
- package/dist/dts/methods/types/utils.d.ts +0 -9
- package/dist/dts/obj-prop-helpers.d.ts +0 -39
- package/dist/dts/utils/compareVersions.d.ts +0 -10
- package/dist/dts/utils/invokeCustomMethod.d.ts +0 -34
- package/dist/dts/utils/request.d.ts +0 -102
- package/dist/dts/utils/request2.d.ts +0 -62
- /package/dist/dts/{methods/types → types}/haptic-feedback.d.ts +0 -0
- /package/dist/dts/{methods/types → types}/popup.d.ts +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { PostEventFn } from './post-event.js';
|
|
2
|
+
import { MethodName, Version } from './types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Mini Apps version to the methods and method parameters released in it.
|
|
5
|
+
*/
|
|
6
|
+
declare const releases: {
|
|
7
|
+
readonly '6.0': readonly ["iframe_ready", "iframe_will_reload", "web_app_close", "web_app_data_send", "web_app_expand", "web_app_open_link", "web_app_ready", "web_app_request_theme", "web_app_request_viewport", "web_app_setup_main_button", "web_app_setup_closing_behavior"];
|
|
8
|
+
readonly 6.1: readonly ["web_app_open_tg_link", "web_app_open_invoice", "web_app_setup_back_button", "web_app_set_background_color", "web_app_set_header_color", "web_app_trigger_haptic_feedback"];
|
|
9
|
+
readonly 6.2: readonly ["web_app_open_popup"];
|
|
10
|
+
readonly 6.4: readonly ["web_app_close_scan_qr_popup", "web_app_open_scan_qr_popup", "web_app_read_text_from_clipboard", readonly ["web_app_open_link", "try_instant_view"]];
|
|
11
|
+
readonly 6.7: readonly ["web_app_switch_inline_query"];
|
|
12
|
+
readonly 6.9: readonly ["web_app_invoke_custom_method", "web_app_request_write_access", "web_app_request_phone", readonly ["web_app_set_header_color", "color"]];
|
|
13
|
+
readonly '6.10': readonly ["web_app_setup_settings_button"];
|
|
14
|
+
readonly 7.2: readonly ["web_app_biometry_get_info", "web_app_biometry_open_settings", "web_app_biometry_request_access", "web_app_biometry_request_auth", "web_app_biometry_update_token"];
|
|
15
|
+
readonly 7.6: readonly [readonly ["web_app_open_link", "try_browser"], readonly ["web_app_close", "return_back"]];
|
|
16
|
+
readonly 7.7: readonly ["web_app_setup_swipe_behavior"];
|
|
17
|
+
readonly 7.8: readonly ["web_app_share_to_story"];
|
|
18
|
+
readonly '7.10': readonly ["web_app_setup_secondary_button", "web_app_set_bottom_bar_color", readonly ["web_app_setup_main_button", "has_shine_effect"]];
|
|
19
|
+
readonly '8.0': readonly ["web_app_request_safe_area", "web_app_request_content_safe_area", "web_app_request_fullscreen", "web_app_exit_fullscreen", "web_app_set_emoji_status", "web_app_add_to_home_screen", "web_app_check_home_screen", "web_app_request_emoji_status_access", "web_app_check_location", "web_app_open_location_settings", "web_app_request_file_download", "web_app_request_location", "web_app_send_prepared_message", "web_app_start_accelerometer", "web_app_start_device_orientation", "web_app_start_gyroscope", "web_app_stop_accelerometer", "web_app_stop_device_orientation", "web_app_stop_gyroscope", "web_app_toggle_orientation_lock"];
|
|
20
|
+
readonly '9.0': readonly ["web_app_device_storage_clear", "web_app_device_storage_get_key", "web_app_device_storage_save_key", "web_app_secure_storage_clear", "web_app_secure_storage_get_key", "web_app_secure_storage_restore_key", "web_app_secure_storage_save_key"];
|
|
21
|
+
readonly 9.1: readonly ["web_app_hide_keyboard"];
|
|
22
|
+
readonly 9.5: readonly [readonly ["web_app_setup_main_button", "icon_custom_emoji_id"], readonly ["web_app_setup_secondary_button", "icon_custom_emoji_id"]];
|
|
23
|
+
readonly 9.6: readonly ["web_app_request_chat"];
|
|
24
|
+
};
|
|
25
|
+
type ReleaseItem = (typeof releases)[keyof typeof releases][number];
|
|
26
|
+
/**
|
|
27
|
+
* Methods having parameters released later than the method itself.
|
|
28
|
+
*/
|
|
29
|
+
export type MethodNameWithVersionedParams = Extract<ReleaseItem, readonly unknown[]>[0];
|
|
30
|
+
/**
|
|
31
|
+
* Method parameters released later than the method itself.
|
|
32
|
+
*/
|
|
33
|
+
export type MethodVersionedParam<M extends MethodNameWithVersionedParams> = Extract<ReleaseItem, readonly [M, string]>[1];
|
|
34
|
+
/**
|
|
35
|
+
* Compares two versions.
|
|
36
|
+
* @param a - first version.
|
|
37
|
+
* @param b - second version.
|
|
38
|
+
* @returns `1` if `a` is greater than `b`, `-1` if `a` is lower than `b`, `0` if they are equal.
|
|
39
|
+
*/
|
|
40
|
+
export declare function compareVersions(a: Version, b: Version): -1 | 0 | 1;
|
|
41
|
+
/**
|
|
42
|
+
* @returns Version the method parameter was released in, or `undefined` if it is unknown.
|
|
43
|
+
* @param method - method name.
|
|
44
|
+
* @param param - method parameter.
|
|
45
|
+
*/
|
|
46
|
+
export declare function getReleaseVersion<M extends MethodNameWithVersionedParams>(method: M, param: MethodVersionedParam<M>): Version | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* @returns Version the method was released in, or `undefined` if it is unknown.
|
|
49
|
+
* @param method - method name.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getReleaseVersion(method: MethodName): Version | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* @returns True if the method parameter is supported in the specified version.
|
|
54
|
+
* @param method - method name.
|
|
55
|
+
* @param param - method parameter.
|
|
56
|
+
* @param version - Mini Apps version.
|
|
57
|
+
*/
|
|
58
|
+
export declare function supports<M extends MethodNameWithVersionedParams>(method: M, param: MethodVersionedParam<M>, version: Version): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* @returns True if the method is supported in the specified version.
|
|
61
|
+
* @param method - method name.
|
|
62
|
+
* @param version - Mini Apps version.
|
|
63
|
+
*/
|
|
64
|
+
export declare function supports(method: MethodName, version: Version): boolean;
|
|
65
|
+
export type OnUnsupportedFn = (data: {
|
|
66
|
+
version: Version;
|
|
67
|
+
method: MethodName;
|
|
68
|
+
} | {
|
|
69
|
+
version: Version;
|
|
70
|
+
method: MethodName;
|
|
71
|
+
param: string;
|
|
72
|
+
}) => void;
|
|
73
|
+
/**
|
|
74
|
+
* Creates a `postEvent` function checking if the method and its parameters are supported in
|
|
75
|
+
* the specified Mini Apps version.
|
|
76
|
+
* @param version - Mini Apps version.
|
|
77
|
+
* @param onUnsupported - what to do when something is unsupported:
|
|
78
|
+
* - `strict` (default) - throw `MethodUnsupportedError` or `MethodParameterUnsupportedError`;
|
|
79
|
+
* - `non-strict` - log a warning and don't call the method;
|
|
80
|
+
* - a function to call instead of the method.
|
|
81
|
+
*/
|
|
82
|
+
export declare function createPostEvent(version: Version, onUnsupported?: 'strict' | 'non-strict' | OnUnsupportedFn): PostEventFn;
|
|
83
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers allowing the package to receive events from Telegram clients together with other
|
|
3
|
+
* libraries (usually, the official SDK) without overwriting each other's handlers.
|
|
4
|
+
*/
|
|
5
|
+
type AnyFn = (...args: any[]) => void;
|
|
6
|
+
type AnyObj = Record<string, any>;
|
|
7
|
+
export type Restore = () => void;
|
|
8
|
+
/**
|
|
9
|
+
* Makes `obj[key]` always return a function calling `fn` and then the function assigned to
|
|
10
|
+
* `obj[key]` by someone else (before or after the call). Assigning a new function replaces only
|
|
11
|
+
* the external one.
|
|
12
|
+
* @returns Function restoring `obj[key]` to the external function.
|
|
13
|
+
*/
|
|
14
|
+
export declare function composeFn(obj: AnyObj, key: string, fn: AnyFn): Restore;
|
|
15
|
+
/**
|
|
16
|
+
* Makes assignments to `obj[key]` merge the assigned object into the current one instead of
|
|
17
|
+
* replacing it. It protects properties defined via `composeFn` from being overwritten together
|
|
18
|
+
* with the owning object.
|
|
19
|
+
* @returns Function restoring `obj[key]` to a plain property.
|
|
20
|
+
*/
|
|
21
|
+
export declare function mergeOnAssign(obj: AnyObj, key: string): Restore;
|
|
22
|
+
/**
|
|
23
|
+
* Creates an empty object in `obj[key]` if it is missing.
|
|
24
|
+
* @returns Function removing the created object if it is still empty.
|
|
25
|
+
*/
|
|
26
|
+
export declare function ensureObject(obj: AnyObj, key: string): Restore;
|
|
27
|
+
export {};
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
2
|
-
`)]}){}class Z extends y.errorClass({name:"InvalidLaunchParamsError",super:(t,r)=>[`Invalid value for launch params: ${t}`,{cause:r}]}){}class R extends y.errorClass({name:"UnknownEnvError"}){}class ee extends y.errorClass({name:"InvokeCustomMethodError",super:t=>[`Server returned error: ${t}`]}){}const z="launchParams";function D(e){return e.replace(/^[^?#]*[?#]/,"").replace(/[?#]/g,"&")}function te(){return a.function.pipe(S(),a.either.chainW(d.parseLaunchParamsQueryFp))}const be=f.throwifyFpFn(te);function re(){return a.function.pipe(S(),a.either.map(e=>{const t=new URLSearchParams(e).get("tgWebAppData");return t?a.option.some(t):a.option.none}))}function ge(){return a.function.pipe(re(),a.either.fold(e=>{throw e},e=>e),a.option.match(()=>{},e=>e))}function S(){const e=[];for(const[t,r]of[[()=>D(window.location.href),"window.location.href"],[()=>{const n=performance.getEntriesByType("navigation")[0];return n&&D(n.name)},"performance navigation entries"],[()=>f.getStorageValue(z),"local storage"]]){const n=t();if(!n){e.push({source:r,error:new Error("Source is empty")});continue}const s=a.function.pipe(d.parseLaunchParamsQueryFp(n),a.either.foldW(o=>o,()=>!0));if(typeof s!="boolean"){e.push({source:r,error:s});continue}return f.setStorageValue(z,n),a.either.right(n)}return a.either.left(new X(e))}const we=f.throwifyFpFn(S);function ye(e,t){const r=new Map,n=he(),s=(o,c,u=!1)=>{const _=r.get(o)||new Map;r.set(o,_);const p=_.get(c)||[];_.set(c,p);const l=p.findIndex(m=>m[1]===u);if(l>=0&&(n.off(o,p[l][0]),p.splice(l,1),!p.length&&(_.delete(c),!_.size))){const m=r.size;r.delete(o),m&&!r.size&&t()}};return{on(o,c,u){!r.size&&e();const _=()=>{s(o,c,u)},p=(...h)=>{u&&_(),o==="*"?c({name:h[0],payload:h[1]}):c(...h)};n.on(o,p);const l=r.get(o)||new Map;r.set(o,l);const m=l.get(c)||[];return l.set(c,m),m.push([p,u||!1]),_},off:s,emit:n.emit,clear(){const o=r.size;n.all.clear(),r.clear(),o&&t()}}}function j(e,t){window.dispatchEvent(new MessageEvent("message",{data:JSON.stringify({eventType:e,eventData:t}),source:window.parent}))}const F=b.signal(!1),U=b.signal("https://web.telegram.org"),ve=e=>{g().log("Event received:",e)},I=b.computed(F);function Ee(e){e!==F()&&(F.set(e),(e?x:oe)("*",ve))}const B=b.computed(U);function Pe(e){U.set(e),g().log("New target origin set",e)}const w=b.signal((...e)=>{window.parent.postMessage(...e)}),g=b.signal(f.createLogger("Bridge",{bgColor:"#9147ff",textColor:"white",shouldLog:I}));function ke(){ae(),[w,U,B,F,I,g].forEach(e=>{e.unsubAll(),"reset"in e&&e.reset()})}function M(e,t,r){const n=[r],s=e[t];typeof s=="function"&&n.push(s);const o=(...u)=>{n.forEach(_=>_(...u))},c=Object.assign((...u)=>{o(...u)},{unwrap(){const{length:u}=n;if(u===1){delete e[t];return}if(u===2){J(e,t,n[1]);return}n.unshift(1),J(e,t,o)}});ne(e,t,()=>c,u=>n.push(u))}function G(e,t){const r=e[t];ne(e,t,()=>r,n=>{Object.entries(n).forEach(([s,o])=>{r[s]=o})})}function ne(e,t,r,n){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:r,set:n})}function J(e,t,r){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r})}const Se={clipboard_text_received:i.looseObject({req_id:i.string(),data:i.nullish(i.string())}),custom_method_invoked:i.looseObject({req_id:i.string(),result:i.optional(i.unknown()),error:i.optional(i.string())}),popup_closed:i.nullish(i.looseObject({button_id:i.nullish(i.string(),()=>{})}),{}),viewport_changed:i.nullish(i.looseObject({height:i.number(),width:i.nullish(i.number(),()=>window.innerWidth),is_state_stable:i.boolean(),is_expanded:i.boolean()}),()=>({height:window.innerHeight,is_state_stable:!0,is_expanded:!0})),theme_changed:i.looseObject({theme_params:d.themeParams()})};function N(e){if(e.source!==window.parent)return;let t;try{t=i.parse(d.pipeJsonToSchema(d.miniAppsMessage()),e.data)}catch{return}const{eventType:r,eventData:n}=t,s=Se[r];let o;try{o=s?i.parse(s,n):n}catch(c){return g().forceError([`An error occurred processing the "${r}" event from the Telegram application.`,"Please, file an issue here:","https://github.com/Telegram-Mini-Apps/tma.js/issues/new/choose"].join(`
|
|
3
|
-
`),t,c)}Te(r,o)}const{on:x,off:oe,emit:Te,clear:ae}=ye(()=>{const e=window;!e.TelegramGameProxy&&(e.TelegramGameProxy={}),M(e.TelegramGameProxy,"receiveEvent",j),G(e,"TelegramGameProxy"),!e.Telegram&&(e.Telegram={}),!e.Telegram.WebView&&(e.Telegram.WebView={}),M(e.Telegram.WebView,"receiveEvent",j),G(e.Telegram,"WebView"),M(e,"TelegramGameProxy_receiveEvent",j),window.addEventListener("message",N)},()=>{[["TelegramGameProxy_receiveEvent"],["TelegramGameProxy","receiveEvent"],["Telegram","WebView","receiveEvent"]].forEach(e=>{const t=window;let r=[void 0,t];for(const o of e)if(r=[r[1],r[1][o]],!r[1])return;const[n,s]=r;"unwrap"in s&&(s.unwrap(),n&&n!==t&&!Object.keys(n).length&&delete t[e[0]])}),window.removeEventListener("message",N)}),se=(...e)=>w()(...e);function ie(e,t){a.function.pipe(v(e,t),a.either.mapLeft(r=>{throw r}))}function v(e,t){g().log("Posting event:",t?{eventType:e,eventData:t}:{eventType:e});const r=window,n=JSON.stringify({eventType:e,eventData:t});return W()?(se(n,B()),a.either.right(void 0)):L(r)?(r.TelegramWebviewProxy.postEvent(e,JSON.stringify(t)),a.either.right(void 0)):i.is(i.looseObject({external:i.looseObject({notify:i.function()})}),r)?(r.external.notify(n),a.either.right(void 0)):a.either.left(new R)}function O(e,t,r={}){const{capture:n=()=>!0,postEvent:s=v}=r,o=b.signal(),[c,u]=f.createCbCollector();(Array.isArray(t)?t:[t]).forEach(p=>{c(x(p,l=>{const m=Array.isArray(t);n(m?{event:p,payload:l}:l)&&o.set([m?{event:p,payload:l}:l])}))});const _=p=>(u(),p);return a.function.pipe(async()=>s(e,r.params),a.taskEither.chainW(()=>f.BetterTaskEither((p,l,m)=>{const h=o();if(h)return p(h[0]);const E=P=>{P&&p(P[0])},A=()=>{o.unsub(E)};o.sub(E),m.on("finalized",A)},r)),a.taskEither.mapBoth(_,_))}function je(e,t,r){const{postEvent:n}=r||{};return f.throwifyAnyEither(O(e,t,{...r,postEvent:n?(...s)=>{try{return n(...s),a.either.right(void 0)}catch(o){return a.either.left(o)}}:v}))}function Ce(e,t){const r=ce(e,t);return typeof r=="function"?k.BetterPromise.fn(()=>f.throwifyAnyEither(r)):r}function ce(e,t){const r=L(window);if(!e)return r||a.function.pipe(S(),a.either.match(()=>!1,()=>!0));if(r)return a.taskEither.right(!0);const{timeout:n=100}=t||{};return a.function.pipe(O("web_app_request_theme","theme_changed",{...t,timeout:n}),a.taskEither.match(s=>k.TimeoutError.is(s)||R.is(s)?a.either.right(!1):a.either.left(s),()=>a.either.right(!0)))}function Fe({launchParams:e,onEvent:t,resetPostMessage:r}={}){if(e){const o=typeof e=="string"||e instanceof URLSearchParams?e.toString():d.serializeLaunchParamsQuery({...e,tgWebAppData:void 0})+(e.tgWebAppData?`&tgWebAppData=${encodeURIComponent(e.tgWebAppData.toString())}`:"");try{d.parseLaunchParamsQuery(o)}catch(c){throw new Z(o,c)}f.setStorageValue("launchParams",o)}if(W()){if(!t)return;r&&w.reset();const o=w();w.set((...c)=>{const[u]=c,_=()=>{o(...c)};try{const p=i.parse(d.pipeJsonToSchema(d.miniAppsMessage()),u);t({name:p.eventType,params:p.eventData},_)}catch{_()}});return}const n=window.TelegramWebviewProxy||{},s=n.postEvent||(()=>{});window.TelegramWebviewProxy={...n,postEvent(o,c){const u=()=>{s(o,c)};t?t({name:o,params:c?JSON.parse(c):void 0},u):u()}},g().log("Environment was mocked by the mockTelegramEnv function")}function pe(e){return({req_id:t})=>t===e}const Q={"6.0":["iframe_ready","iframe_will_reload","web_app_close","web_app_data_send","web_app_expand","web_app_open_link","web_app_ready","web_app_request_theme","web_app_request_viewport","web_app_setup_main_button","web_app_setup_closing_behavior"],6.1:["web_app_open_tg_link","web_app_open_invoice","web_app_setup_back_button","web_app_set_background_color","web_app_set_header_color","web_app_trigger_haptic_feedback"],6.2:["web_app_open_popup"],6.4:["web_app_close_scan_qr_popup","web_app_open_scan_qr_popup","web_app_read_text_from_clipboard",{method:"web_app_open_link",param:"try_instant_view"}],6.7:["web_app_switch_inline_query"],6.9:["web_app_invoke_custom_method","web_app_request_write_access","web_app_request_phone",{method:"web_app_set_header_color",param:"color"}],"6.10":["web_app_setup_settings_button"],7.2:["web_app_biometry_get_info","web_app_biometry_open_settings","web_app_biometry_request_access","web_app_biometry_request_auth","web_app_biometry_update_token"],7.6:[{method:"web_app_open_link",param:"try_browser"},{method:"web_app_close",param:"return_back"}],7.7:["web_app_setup_swipe_behavior"],7.8:["web_app_share_to_story"],"7.10":["web_app_setup_secondary_button","web_app_set_bottom_bar_color",{method:"web_app_setup_main_button",param:"has_shine_effect"}],"8.0":["web_app_request_safe_area","web_app_request_content_safe_area","web_app_request_fullscreen","web_app_exit_fullscreen","web_app_set_emoji_status","web_app_add_to_home_screen","web_app_check_home_screen","web_app_request_emoji_status_access","web_app_check_location","web_app_open_location_settings","web_app_request_file_download","web_app_request_location","web_app_send_prepared_message","web_app_start_accelerometer","web_app_start_device_orientation","web_app_start_gyroscope","web_app_stop_accelerometer","web_app_stop_device_orientation","web_app_stop_gyroscope","web_app_toggle_orientation_lock"],"9.0":["web_app_device_storage_clear","web_app_device_storage_get_key","web_app_device_storage_save_key","web_app_secure_storage_clear","web_app_secure_storage_get_key","web_app_secure_storage_restore_key","web_app_secure_storage_save_key"],9.1:["web_app_hide_keyboard"],9.5:[{method:"web_app_setup_main_button",param:"icon_custom_emoji_id"},{method:"web_app_setup_secondary_button",param:"icon_custom_emoji_id"}]};function q(e,t){return Object.keys(Q).find(n=>Q[n].some(s=>t?typeof s=="object"&&s.method===e&&s.param===t:s===e))||null}function K(e){return e.split(".").map(Number)}function ue(e,t){const r=K(e),n=K(t),s=Math.max(r.length,n.length);for(let o=0;o<s;o+=1){const c=r[o]||0,u=n[o]||0;if(c!==u)return c>u?1:-1}return 0}function C(e,t,r){const n=r?q(e,t):q(e);return n?ue(n,r||t)<=0:!1}function xe(e,t="strict"){const r=typeof t=="function"?t:n=>{const{method:s,version:o}=n,c="param"in n?new Y(s,n.param,o):new H(s,o);if(t==="strict")throw c;return g().forceWarn(c.message)};return(n,s)=>C(n,e)?n==="web_app_set_header_color"&&i.is(i.looseObject({color:i.any()}),s)&&!C(n,"color",e)?r({version:e,method:n,param:"color"}):(n==="web_app_setup_main_button"||n==="web_app_setup_secondary_button")&&i.is(i.looseObject({icon_custom_emoji_id:i.any()}),s)&&!C(n,"icon_custom_emoji_id",e)?r({version:e,method:n,param:"icon_custom_emoji_id"}):ie(n,s):r({version:e,method:n})}function _e(e,t,r,n){return a.function.pipe(O("web_app_invoke_custom_method","custom_method_invoked",{...n||{},params:{method:e,params:t,req_id:r},capture:pe(r)}),a.taskEither.chain(({result:s,error:o})=>o?a.taskEither.left(new ee(o)):a.taskEither.right(s)))}function Oe(e,t,r,n){return k.BetterPromise.fn(()=>a.function.pipe(_e(e,t,r,n),a.taskEither.match(s=>{throw s},s=>s))())}function le(e,t,r={}){const{capture:n=()=>!0,postEvent:s=v}=r,o=b.signal(),[c,u]=f.createCbCollector();(Array.isArray(t)?t:[t]).forEach(p=>{c(x(p,l=>{(Array.isArray(t)?n({event:p,payload:l}):n(l))&&o.set([l])}))});const _=p=>(u(),p);return a.function.pipe(async()=>s(e,r.params),a.taskEither.chainW(()=>f.BetterTaskEither((p,l,m)=>{const h=o();if(h)return p(h[0]);const E=P=>{P&&p(P[0])},A=()=>{o.unsub(E)};o.sub(E),m.on("finalized",A)},r)),a.taskEither.mapBoth(_,_))}function Ae(e,t,r){const{postEvent:n}=r||{};return f.throwifyAnyEither(le(e,t,{...r,postEvent:n?(...s)=>{try{return n(...s),a.either.right(void 0)}catch(o){return a.either.left(o)}}:v}))}function Me(){Object.hasOwn||(Object.hasOwn=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)})}function V(e){return a.either.tryCatch(()=>decodeURIComponent(atob(e.replace(/-/g,"+").replace(/_/g,"/")).split("").map(t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join("")),t=>t)}const qe=f.throwifyFpFn(V);function $(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(t,r)=>String.fromCharCode(parseInt(`0x${r}`)))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function fe(e){const t=$(typeof e=="string"?e:JSON.stringify(e));return t.length>512?a.either.left(new Error("Value is too long for start parameter")):a.either.right(t)}const Le=f.throwifyFpFn(fe);function We(e,t){return f.throwifyAnyEither(me(e,typeof t=="function"?r=>a.either.tryCatch(()=>t(r),n=>n):t))}function me(e,t){return a.function.pipe(V(e),a.either.chain(r=>t?typeof t=="function"?t(r):a.json.parse(r):a.either.right(r)))}function Re(e){return $(e).length<=512}Object.defineProperty(exports,"createLogger",{enumerable:!0,get:()=>f.createLogger});Object.defineProperty(exports,"deepSnakeToCamelObjKeys",{enumerable:!0,get:()=>f.deepSnakeToCamelObjKeys});Object.defineProperty(exports,"CancelledError",{enumerable:!0,get:()=>k.CancelledError});Object.defineProperty(exports,"TimeoutError",{enumerable:!0,get:()=>k.TimeoutError});exports.InvalidLaunchParamsError=Z;exports.InvokeCustomMethodFailedError=ee;exports.LaunchParamsRetrieveError=X;exports.MethodParameterUnsupportedError=Y;exports.MethodUnsupportedError=H;exports.UnknownEnvError=R;exports.applyPolyfills=Me;exports.captureSameReq=pe;exports.compareVersions=ue;exports.createPostEvent=xe;exports.createStartParam=Le;exports.createStartParamFp=fe;exports.debug=I;exports.decodeBase64Url=qe;exports.decodeBase64UrlFp=V;exports.decodeStartParam=We;exports.decodeStartParamFp=me;exports.emitEvent=j;exports.encodeBase64Url=$;exports.getReleaseVersion=q;exports.hasWebviewProxy=L;exports.invokeCustomMethod=Oe;exports.invokeCustomMethodFp=_e;exports.isIframe=W;exports.isSafeToCreateStartParam=Re;exports.isTMA=Ce;exports.isTMAFp=ce;exports.logger=g;exports.mockTelegramEnv=Fe;exports.off=oe;exports.offAll=ae;exports.on=x;exports.postEvent=ie;exports.postEventFp=v;exports.postMessage=se;exports.postMessageImpl=w;exports.request=Ae;exports.request2=je;exports.request2Fp=O;exports.requestFp=le;exports.resetGlobals=ke;exports.retrieveLaunchParams=be;exports.retrieveLaunchParamsFp=te;exports.retrieveRawInitData=ge;exports.retrieveRawInitDataFp=re;exports.retrieveRawLaunchParams=we;exports.retrieveRawLaunchParamsFp=S;exports.setDebug=Ee;exports.setTargetOrigin=Pe;exports.supports=C;exports.targetOrigin=B;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("error-kid"),o=require("valibot");class C extends u.errorClass({name:"UnknownEnvError",message:"Unable to determine the way to communicate with the Telegram client"}){}class ae extends u.errorClassWithData({name:"MethodUnsupportedError",data:(t,r)=>({method:t,version:r}),message:(t,r)=>`Method "${t}" is unsupported in Mini Apps version ${r}`}){}class se extends u.errorClassWithData({name:"MethodParameterUnsupportedError",data:(t,r,n)=>({method:t,param:r,version:n}),message:(t,r,n)=>`Parameter "${r}" of "${t}" method is unsupported in Mini Apps version ${n}`}){}class ie extends u.errorClassWithData({name:"LaunchParamsRetrieveError",data:t=>({errors:t}),message:t=>["Unable to retrieve launch parameters from any known source. Perhaps, you have opened your app outside Telegram?","","Collected errors:",...t.map(({source:r,error:n})=>`- ${r}: ${n instanceof Error?n.message:String(n)}`)].join(`
|
|
2
|
+
`)}){}class ce extends u.errorClassWithData({name:"InvalidLaunchParamsError",message:t=>`Invalid launch parameters: ${t}`,cause:(t,r)=>r,data:t=>({value:t})}){}class pe extends u.errorClassWithData({name:"InvokeCustomMethodFailedError",data:t=>({error:t}),message:t=>`Custom method invocation failed: ${t}`}){}class D extends u.errorClassWithData({name:"TimeoutError",data:t=>({timeout:t}),message:t=>`Timeout reached: ${t}ms`}){}class ue extends u.errorClassWithData({name:"StartParamTooLongError",data:t=>({length:t}),message:t=>`Encoded start parameter length is ${t}, but the maximum allowed is 512`}){}function _(e){return{ok:!0,data:e}}function m(e){return{ok:!1,error:e}}function b(e){if(!e.ok)throw e.error;return e.data}function d(e){return(...t)=>{const r=e(...t);return r instanceof Promise?r.then(b):b(r)}}const Ie=o.pipe(o.union([o.string(),o.number()]),o.transform(e=>typeof e=="number"?`#${(e&16777215).toString(16).padStart(6,"0")}`:e),o.check(e=>/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i.test(e),e=>`Invalid color: ${String(e.input)}`)),_e=o.record(o.string(),Ie),Q=o.pipe(o.string(),o.parseJson(),_e),le="tma.js/launch-params",A=o.optional(o.pipe(o.string(),o.transform(e=>e==="1"))),Ce=o.object({tgWebAppBotInline:A,tgWebAppData:o.optional(o.string()),tgWebAppDefaultColors:o.optional(Q),tgWebAppFullscreen:A,tgWebAppPlatform:o.pipe(o.string(),o.nonEmpty()),tgWebAppShowSettings:A,tgWebAppStartParam:o.optional(o.string()),tgWebAppThemeParams:o.optional(Q,"{}"),tgWebAppVersion:o.pipe(o.string(),o.nonEmpty())});function j(e){const t=new URLSearchParams(e),r={};t.forEach((a,s)=>{s in r||(r[s]=a)});const n=o.safeParse(Ce,r);return n.success?_(n.output):m(new ce(t.toString(),new o.ValiError(n.issues)))}const fe=d(j);function me(e){const t=new URLSearchParams;return Object.entries(e).forEach(([r,n])=>{n!==void 0&&t.set(r,typeof n=="boolean"?n?"1":"0":typeof n=="object"?JSON.stringify(n):String(n))}),t.toString()}function Y(e){return e.replace(/^[^?#]*[?#]/,"").replace(/[?#]/g,"&")}function Z(e){try{return sessionStorage.getItem(e)}catch{return null}}const De=[["window.location.href",()=>Y(window.location.href)],["performance navigation entries",()=>{const[e]=performance.getEntriesByType("navigation");return e&&Y(e.name)}],["session storage",()=>Z(le)],["official SDK session storage",()=>{const e=Z("__telegram__initParams");if(!e)return;const t=JSON.parse(e);return t?new URLSearchParams(Object.entries(t).filter(r=>typeof r[1]=="string")).toString():void 0}]];function de(e){try{sessionStorage.setItem(le,e)}catch{}}function U(){const e=[];for(const[t,r]of De){let n;try{n=r()}catch(s){e.push({source:t,error:s});continue}if(!n){e.push({source:t,error:new Error("Source is empty")});continue}const a=j(n);if(!a.ok){e.push({source:t,error:a.error});continue}return de(n),_({raw:n,parsed:a.data})}return m(new ie(e))}function ge(){const e=U();return e.ok?_(e.data.raw):e}const be=d(ge);function we(){const e=U();return e.ok?_(e.data.parsed):e}const je=d(we);function he(){const e=U();return e.ok?_(e.data.parsed.tgWebAppData):e}const Ue=d(he),q=["%cBridge","background:#9147ff;color:white;font-weight:bold;padding:0 5px;border-radius:5px"],ve={log:(...e)=>console.log(...q,...e),warn:(...e)=>console.warn(...q,...e),error:(...e)=>console.error(...q,...e)};let $=!1,N=ve;function $e(e){$=e}function Ne(){return $}function Je(e=ve){N=e}function k(){return N}function J(...e){$&&N.log(...e)}function M(e,t,r){let n=typeof e[t]=="function"?e[t]:void 0;const a=(...s)=>{r(...s),n&&n(...s)};return Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:()=>a,set(s){n=typeof s=="function"?s:void 0}}),()=>{n?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):delete e[t]}}function ee(e,t){const r=e[t];return Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:()=>r,set(n){n&&typeof n=="object"&&Object.assign(r,n)}}),()=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:r})}}function O(e,t){return e[t]?()=>{}:(e[t]={},()=>{const r=e[t];r&&typeof r=="object"&&!Object.keys(r).length&&delete e[t]})}const l=new Map,w=new Map;let T;const ye=o.pipe(o.string(),o.parseJson(),o.looseObject({eventType:o.string(),eventData:o.optional(o.unknown())})),Ve={clipboard_text_received:o.looseObject({req_id:o.string(),data:o.nullish(o.string())}),custom_method_invoked:o.looseObject({req_id:o.string(),result:o.optional(o.unknown()),error:o.optional(o.string())}),popup_closed:o.pipe(o.nullish(o.looseObject({button_id:o.nullish(o.string())})),o.transform(e=>e&&typeof e.button_id=="string"?{button_id:e.button_id}:{})),theme_changed:o.looseObject({theme_params:_e}),viewport_changed:o.nullish(o.looseObject({height:o.number(),width:o.nullish(o.number(),()=>window.innerWidth),is_expanded:o.boolean(),is_state_stable:o.boolean()}),()=>({height:window.innerHeight,width:window.innerWidth,is_expanded:!0,is_state_stable:!0}))};function Be(e,t){try{e(t)}catch(r){k().error("An event listener threw an error:",r)}}function te(e,t){[...e].forEach(([r,n])=>{e.get(r)!==void 0&&(n&&e.delete(r),Be(r,t))})}function L(e,t){const r=Ve[e];let n;try{n=r?o.parse(r,t):t}catch(s){k().error(`Unable to process the "${e}" event payload:`,t,s);return}J("Event received:",e,n);const a=l.get(e);a&&(te(a,n),!a.size&&l.delete(e)),te(w,{name:e,payload:n}),h()}function re(e){if(e.source!==window.parent)return;const t=o.safeParse(ye,e.data);t.success&&L(t.output.eventType,t.output.eventData)}function ze(){const e=v(),t=[O(e,"Telegram"),O(e.Telegram,"WebView"),ee(e.Telegram,"WebView"),M(e.Telegram.WebView,"receiveEvent",L),O(e,"TelegramGameProxy"),ee(e,"TelegramGameProxy"),M(e.TelegramGameProxy,"receiveEvent",L),M(e,"TelegramGameProxy_receiveEvent",L)];return window.addEventListener("message",re),()=>{window.removeEventListener("message",re),t.reverse().forEach(r=>r())}}function Fe(){T||(T=ze())}function h(){T&&!l.size&&!w.size&&(T(),T=void 0)}function Ee(e,t,r){const{signal:n}=r;if(n&&n.aborted)return()=>{};Fe(),e();const a=()=>{t(),h(),n&&n.removeEventListener("abort",a)};return n&&n.addEventListener("abort",a),a}function Pe(e,t,r={}){return Ee(()=>{const n=l.get(e)||new Map;l.set(e,n),n.set(t,!!r.once)},()=>Se(e,t),r)}function Se(e,t){const r=l.get(e);r&&(r.delete(t),!r.size&&l.delete(e)),h()}function Ge(e,t={}){return Ee(()=>w.set(e,!!t.once),()=>Te(e),t)}function Te(e){w.delete(e),h()}function Ke(){l.clear(),w.clear(),h()}function He(e,...t){var a,s;const[r]=t,n=(s=(a=v().Telegram)==null?void 0:a.WebView)==null?void 0:s.receiveEvent;if(!x()&&typeof n=="function"){n(e,r);return}window.dispatchEvent(new MessageEvent("message",{data:JSON.stringify({eventType:e,eventData:r}),source:window.parent}))}let V="https://web.telegram.org";function Xe(e){V=e}function Qe(){return V}let g=(e,t)=>{window.parent.postMessage(e,t)};function Ye(e){const t=g;return g=e,()=>{g=t}}function Ze(){return g}const B=(e,...t)=>{const[r=""]=t;J("Posting method:",e,r);const n=JSON.stringify({eventType:e,eventData:r});if(x()){g(n,V);return}const a=v();if(a.TelegramWebviewProxy&&typeof a.TelegramWebviewProxy.postEvent=="function"){a.TelegramWebviewProxy.postEvent(e,JSON.stringify(r));return}if(a.external&&typeof a.external.notify=="function"){a.external.notify(n);return}throw new C};function z(e,t,...r){const{capture:n=()=>!0,timeout:a,signal:s,params:i,postEvent:p=B}=r[0]||{};return new Promise((y,f)=>{if(s&&s.aborted)return f(s.reason);const E=[],K=c=>P=>{E.forEach(S=>S()),c(P)},H=K(y),W=K(f),X=Array.isArray(t);if((X?t:[t]).forEach(c=>{E.push(Pe(c,P=>{const S=X?{event:c,payload:P}:P;try{n(S)&&H(_(S))}catch(Re){W(Re)}}))}),a){const c=setTimeout(()=>H(m(new D(a))),a);E.push(()=>clearTimeout(c))}if(s){const c=()=>W(s.reason);s.addEventListener("abort",c),E.push(()=>s.removeEventListener("abort",c))}try{p(e,i)}catch(c){W(c)}})}async function Le(e,t,...r){return b(await z(e,t,...r))}function ke(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`}function xe(e){return t=>t.req_id===e}function v(){return window}function x(){try{return window.self!==window.top}catch{return!0}}function F(){var e;return typeof((e=v().TelegramWebviewProxy)==null?void 0:e.postEvent)=="function"}function et(){if(F())return!0;try{return be(),!0}catch{return!1}}async function tt(e={}){if(F())return!0;try{return await Le("web_app_request_theme","theme_changed",{timeout:100,...e}),!0}catch(t){if(D.is(t)||C.is(t))return!1;throw t}}async function We(e,t,{requestId:r=ke(),...n}={}){const a=await z("web_app_invoke_custom_method","custom_method_invoked",{...n,params:{method:e,params:t,req_id:r},capture:xe(r)});if(!a.ok)return a;const{result:s,error:i}=a.data;return i?m(new pe(i)):_(s)}async function rt(e,t,r){return b(await We(e,t,r))}function nt({launchParams:e,onMethod:t}={}){if(e){const s=typeof e=="string"||e instanceof URLSearchParams?e.toString():me(e);fe(s),de(s)}if(x()){if(!t)return()=>{};const s=Ze();return Ye((i,p)=>{const y=()=>s(i,p),f=o.safeParse(ye,i);if(!f.success)return y();t({name:f.output.eventType,params:ne(f.output.eventData)},y)})}const r=v(),n=r.TelegramWebviewProxy,a={postEvent(s,i){const p=()=>n&&n.postEvent(s,i);t?t({name:s,params:ne(i?JSON.parse(i):void 0)},p):p()}};return r.TelegramWebviewProxy=a,J("Environment was mocked"),()=>{r.TelegramWebviewProxy===a&&(n?r.TelegramWebviewProxy=n:delete r.TelegramWebviewProxy)}}function ne(e){return e===""?void 0:e}const Ae=512;function G(e){let t="";return new TextEncoder().encode(e).forEach(r=>{t+=String.fromCharCode(r)}),btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function qe(e){const t=atob(e.replace(/-/g,"+").replace(/_/g,"/"));return new TextDecoder("utf-8",{fatal:!0}).decode(Uint8Array.from(t,r=>r.charCodeAt(0)))}function ot(e){return G(e).length<=Ae}function Me(e){const t=G(typeof e=="string"?e:JSON.stringify(e));return t.length>Ae?m(new ue(t.length)):_(t)}const at=d(Me);function st(e,t){const r=qe(e);return t?t==="json"?JSON.parse(r):t(r):r}const oe={"6.0":["iframe_ready","iframe_will_reload","web_app_close","web_app_data_send","web_app_expand","web_app_open_link","web_app_ready","web_app_request_theme","web_app_request_viewport","web_app_setup_main_button","web_app_setup_closing_behavior"],6.1:["web_app_open_tg_link","web_app_open_invoice","web_app_setup_back_button","web_app_set_background_color","web_app_set_header_color","web_app_trigger_haptic_feedback"],6.2:["web_app_open_popup"],6.4:["web_app_close_scan_qr_popup","web_app_open_scan_qr_popup","web_app_read_text_from_clipboard",["web_app_open_link","try_instant_view"]],6.7:["web_app_switch_inline_query"],6.9:["web_app_invoke_custom_method","web_app_request_write_access","web_app_request_phone",["web_app_set_header_color","color"]],"6.10":["web_app_setup_settings_button"],7.2:["web_app_biometry_get_info","web_app_biometry_open_settings","web_app_biometry_request_access","web_app_biometry_request_auth","web_app_biometry_update_token"],7.6:[["web_app_open_link","try_browser"],["web_app_close","return_back"]],7.7:["web_app_setup_swipe_behavior"],7.8:["web_app_share_to_story"],"7.10":["web_app_setup_secondary_button","web_app_set_bottom_bar_color",["web_app_setup_main_button","has_shine_effect"]],"8.0":["web_app_request_safe_area","web_app_request_content_safe_area","web_app_request_fullscreen","web_app_exit_fullscreen","web_app_set_emoji_status","web_app_add_to_home_screen","web_app_check_home_screen","web_app_request_emoji_status_access","web_app_check_location","web_app_open_location_settings","web_app_request_file_download","web_app_request_location","web_app_send_prepared_message","web_app_start_accelerometer","web_app_start_device_orientation","web_app_start_gyroscope","web_app_stop_accelerometer","web_app_stop_device_orientation","web_app_stop_gyroscope","web_app_toggle_orientation_lock"],"9.0":["web_app_device_storage_clear","web_app_device_storage_get_key","web_app_device_storage_save_key","web_app_secure_storage_clear","web_app_secure_storage_get_key","web_app_secure_storage_restore_key","web_app_secure_storage_save_key"],9.1:["web_app_hide_keyboard"],9.5:[["web_app_setup_main_button","icon_custom_emoji_id"],["web_app_setup_secondary_button","icon_custom_emoji_id"]],9.6:["web_app_request_chat"]};function Oe(e,t){const r=e.split(".").map(Number),n=t.split(".").map(Number);for(let a=0;a<Math.max(r.length,n.length);a++){const s=r[a]||0,i=n[a]||0;if(s!==i)return s>i?1:-1}return 0}function R(e,t){return Object.keys(oe).find(r=>oe[r].some(n=>t?typeof n=="object"&&n[0]===e&&n[1]===t:n===e))}function I(e,t,r){const n=r?R(e,t):R(e);return!!n&&Oe(n,r||t)<=0}const it=[["web_app_set_header_color","color"],["web_app_setup_main_button","icon_custom_emoji_id"],["web_app_setup_secondary_button","icon_custom_emoji_id"]];function ct(e,t="strict"){const r=typeof t=="function"?t:n=>{const a="param"in n?new se(n.method,n.param,n.version):new ae(n.method,n.version);if(t==="strict")throw a;k().warn(a.message)};return(n,...a)=>{if(!I(n,e))return r({version:e,method:n});const[s]=a;for(const[i,p]of it)if(n===i&&s&&typeof s=="object"&&p in s&&!I(i,p,e))return r({version:e,method:n,param:p});B(n,...a)}}Object.defineProperty(exports,"matchError",{enumerable:!0,get:()=>u.matchError});exports.InvalidLaunchParamsError=ce;exports.InvokeCustomMethodFailedError=pe;exports.LaunchParamsRetrieveError=ie;exports.MethodParameterUnsupportedError=se;exports.MethodUnsupportedError=ae;exports.StartParamTooLongError=ue;exports.TimeoutError=D;exports.UnknownEnvError=C;exports.captureSameReq=xe;exports.compareVersions=Oe;exports.createPostEvent=ct;exports.createRequestId=ke;exports.createStartParam=at;exports.decodeBase64Url=qe;exports.decodeStartParam=st;exports.emitEvent=He;exports.encodeBase64Url=G;exports.err=m;exports.getLogger=k;exports.getReleaseVersion=R;exports.getTargetOrigin=Qe;exports.hasWebviewProxy=F;exports.invokeCustomMethod=rt;exports.isDebug=Ne;exports.isIframe=x;exports.isSafeToCreateStartParam=ot;exports.isTMA=et;exports.isTMAAsync=tt;exports.mockTelegramEnv=nt;exports.offAll=Ke;exports.offAnyEvent=Te;exports.offEvent=Se;exports.ok=_;exports.onAnyEvent=Ge;exports.onEvent=Pe;exports.parseLaunchParams=fe;exports.postEvent=B;exports.request=Le;exports.retrieveLaunchParams=je;exports.retrieveRawInitData=Ue;exports.retrieveRawLaunchParams=be;exports.safeCreateStartParam=Me;exports.safeInvokeCustomMethod=We;exports.safeParseLaunchParams=j;exports.safeRequest=z;exports.safeRetrieveLaunchParams=we;exports.safeRetrieveRawInitData=he;exports.safeRetrieveRawLaunchParams=ge;exports.serializeLaunchParams=me;exports.setDebug=$e;exports.setLogger=Je;exports.setTargetOrigin=Xe;exports.supports=I;exports.throwing=d;exports.unwrap=b;
|
|
4
3
|
//# sourceMappingURL=index.cjs.map
|