@tma.js/bridge 2.2.5 → 2.3.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/dist/dts/methods/types/methods.d.ts +7 -2
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.iife.js +3 -3
- package/dist/index.iife.js.map +1 -1
- package/dist/index.js +140 -136
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -18,6 +18,11 @@ interface ButtonParams {
|
|
|
18
18
|
* @since 7.10
|
|
19
19
|
*/
|
|
20
20
|
has_shine_effect?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The ID of custom emoji icon displayed alongside button text.
|
|
23
|
+
* @since 9.5
|
|
24
|
+
*/
|
|
25
|
+
icon_custom_emoji_id?: string;
|
|
21
26
|
/**
|
|
22
27
|
* Should the button be displayed.
|
|
23
28
|
*/
|
|
@@ -548,7 +553,7 @@ export interface Methods {
|
|
|
548
553
|
* Updates the Main Button settings.
|
|
549
554
|
* @see https://docs.telegram-mini-apps.com/platform/methods#web-app-setup-main-button
|
|
550
555
|
*/
|
|
551
|
-
web_app_setup_main_button: CreateMethodParams<ButtonParams, 'has_shine_effect'>;
|
|
556
|
+
web_app_setup_main_button: CreateMethodParams<ButtonParams, 'has_shine_effect' | 'icon_custom_emoji_id'>;
|
|
552
557
|
/**
|
|
553
558
|
* Updates the secondary button settings.
|
|
554
559
|
* @since v7.10
|
|
@@ -566,7 +571,7 @@ export interface Methods {
|
|
|
566
571
|
* - `bottom`, displayed below the main button.
|
|
567
572
|
*/
|
|
568
573
|
position?: SecondaryButtonPosition;
|
|
569
|
-
}>;
|
|
574
|
+
}, 'icon_custom_emoji_id'>;
|
|
570
575
|
/**
|
|
571
576
|
* Updates the current state of the Settings Button.
|
|
572
577
|
* @since v6.10
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("valibot"),f=require("@tma.js/toolkit"),k=require("better-promises"),a=require("fp-ts"),y=require("error-kid"),d=require("@tma.js/transformers"),
|
|
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
|
|
3
|
-
`),t,c)}Te(r,o)}const{on:x,off:oe,emit:Te,clear:ae}=ye(()=>{const e=window;!e.TelegramGameProxy&&(e.TelegramGameProxy={}),O(e.TelegramGameProxy,"receiveEvent",C),G(e,"TelegramGameProxy"),!e.Telegram&&(e.Telegram={}),!e.Telegram.WebView&&(e.Telegram.WebView={}),O(e.Telegram.WebView,"receiveEvent",C),G(e.Telegram,"WebView"),O(e,"TelegramGameProxy_receiveEvent",C),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)=>b()(...e);function ie(e,t){a.function.pipe(v(e,t),a.either.mapLeft(r=>{throw r}))}function v(e,t){w().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 A(e,t,r={}){const{capture:n=()=>!0,postEvent:s=v}=r,o=g.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])},M=()=>{o.unsub(E)};o.sub(E),m.on("finalized",M)},r)),a.taskEither.mapBoth(_,_))}function Ce(e,t,r){const{postEvent:n}=r||{};return f.throwifyAnyEither(A(e,t,{...r,postEvent:n?(...s)=>{try{return n(...s),a.either.right(void 0)}catch(o){return a.either.left(o)}}:v}))}function Fe(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(A("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 xe({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&&b.reset();const o=b();b.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()}},w().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"]};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 j(e,t,r){const n=r?q(e,t):q(e);return n?ue(n,r||t)<=0:!1}function Ae(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 w().forceWarn(c.message)};return(n,s)=>j(n,e)?n==="web_app_set_header_color"&&i.is(i.looseObject({color:i.any()}),s)&&!j(n,"color",e)?r({version:e,method:n,param:"color"}):ie(n,s):r({version:e,method:n})}function _e(e,t,r,n){return a.function.pipe(A("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 Me(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=g.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])},M=()=>{o.unsub(E)};o.sub(E),m.on("finalized",M)},r)),a.taskEither.mapBoth(_,_))}function Oe(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 qe(){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 je=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,"_")}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=qe;exports.captureSameReq=pe;exports.compareVersions=ue;exports.createPostEvent=Ae;exports.createStartParam=Le;exports.createStartParamFp=fe;exports.debug=I;exports.decodeBase64Url=je;exports.decodeBase64UrlFp=V;exports.decodeStartParam=We;exports.decodeStartParamFp=me;exports.emitEvent=C;exports.encodeBase64Url=$;exports.getReleaseVersion=q;exports.hasWebviewProxy=L;exports.invokeCustomMethod=Me;exports.invokeCustomMethodFp=_e;exports.isIframe=W;exports.isSafeToCreateStartParam=Re;exports.isTMA=Fe;exports.isTMAFp=ce;exports.logger=w;exports.mockTelegramEnv=xe;exports.off=oe;exports.offAll=ae;exports.on=x;exports.postEvent=ie;exports.postEventFp=v;exports.postMessage=se;exports.postMessageImpl=b;exports.request=Oe;exports.request2=Ce;exports.request2Fp=A;exports.requestFp=le;exports.resetGlobals=ke;exports.retrieveLaunchParams=ge;exports.retrieveLaunchParamsFp=te;exports.retrieveRawInitData=we;exports.retrieveRawInitDataFp=re;exports.retrieveRawLaunchParams=be;exports.retrieveRawLaunchParamsFp=S;exports.setDebug=Ee;exports.setTargetOrigin=Pe;exports.supports=j;exports.targetOrigin=B;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("valibot"),f=require("@tma.js/toolkit"),k=require("better-promises"),a=require("fp-ts"),y=require("error-kid"),d=require("@tma.js/transformers"),b=require("@tma.js/signals"),he=require("mitt");function de(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const T=de(i);function L(e){return typeof e=="object"&&!!e&&!Array.isArray(e)&&T.is(T.looseObject({TelegramWebviewProxy:T.looseObject({postEvent:T.function()})}),{TelegramWebviewProxy:e.TelegramWebviewProxy})}function W(){try{return window.self!==window.top}catch{return!0}}class H extends y.errorClass({name:"MethodUnsupportedError",super:(t,r)=>[`Method "${t}" is unsupported in Mini Apps version ${r}`]}){}class Y extends y.errorClass({name:"MethodParameterUnsupportedError",super:(t,r,n)=>[`Parameter "${r}" of "${t}" method is unsupported in Mini Apps version ${n}`]}){}class X extends y.errorClassWithData({name:"LaunchParamsRetrieveError",data:t=>({errors:t}),super:t=>[["Unable to retrieve launch parameters from any known source. Perhaps, you have opened your app outside Telegram?","📖 Refer to docs for more information:","https://docs.telegram-mini-apps.com/packages/tma-js-bridge/environment","","Collected errors:",...t.map(({source:r,error:n})=>`Source: ${r} / ${n instanceof Error?n.message:String(n)}`)].join(`
|
|
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,"_")}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;
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|