@tma.js/bridge 2.0.2 → 2.1.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/index.js CHANGED
@@ -1,517 +1,406 @@
1
- import { is as F, looseObject as m, function as Z, nullish as d, boolean as D, number as N, string as v, optional as J, unknown as Pe, parse as W, any as xe } from "valibot";
2
- import { BetterPromise as k, TimeoutError as ke } from "better-promises";
3
- import { CancelledError as cr, TimeoutError as ur } from "better-promises";
4
- import { eitherFnToSimple as S, getStorageValue as Se, setStorageValue as V, createLogger as Te, createCbCollector as $e, eitherGet as Ae } from "@tma.js/toolkit";
5
- import { createLogger as _r, deepSnakeToCamelObjKeys as fr } from "@tma.js/toolkit";
6
- import { parseLaunchParamsQueryFp as ee, themeParams as Me, pipeJsonToSchema as te, miniAppsMessage as re, serializeLaunchParamsQuery as Le, parseLaunchParamsQuery as Ce } from "@tma.js/transformers";
7
- import { errorClass as y, errorClassWithData as qe } from "error-kid";
8
- import { signal as T, computed as ne } from "@tma.js/signals";
9
- import We from "mitt";
10
- function ae(e) {
11
- return F(
12
- m({ TelegramWebviewProxy: m({ postEvent: Z() }) }),
1
+ import { is as L, looseObject as l, function as Y, nullish as h, boolean as I, number as j, string as d, optional as z, unknown as ye, parse as M, any as Ee } from "valibot";
2
+ import { throwifyFpFn as x, getStorageValue as Pe, setStorageValue as X, createLogger as xe, throwifyAnyEither as C, BetterTaskEither as ke, createCbCollector as Se } from "@tma.js/toolkit";
3
+ import { createLogger as ot, deepSnakeToCamelObjKeys as at } from "@tma.js/toolkit";
4
+ import { BetterPromise as Z, TimeoutError as Te } from "better-promises";
5
+ import { CancelledError as st, TimeoutError as ut } from "better-promises";
6
+ import { parseLaunchParamsQueryFp as ee, themeParams as Ae, pipeJsonToSchema as re, miniAppsMessage as te, serializeLaunchParamsQuery as $e, parseLaunchParamsQuery as Me } from "@tma.js/transformers";
7
+ import { errorClass as b, errorClassWithData as Le } from "error-kid";
8
+ import { signal as k, computed as ne } from "@tma.js/signals";
9
+ import Ce from "mitt";
10
+ function oe(e) {
11
+ return L(
12
+ l({ TelegramWebviewProxy: l({ postEvent: Y() }) }),
13
13
  e
14
14
  );
15
15
  }
16
- function oe() {
16
+ function ae() {
17
17
  try {
18
18
  return window.self !== window.top;
19
19
  } catch {
20
20
  return !0;
21
21
  }
22
22
  }
23
- var Fe = function(e, t, r) {
24
- if (r || arguments.length === 2) for (var n = 0, o = t.length, a; n < o; n++)
25
- (a || !(n in t)) && (a || (a = Array.prototype.slice.call(t, 0, n)), a[n] = t[n]);
26
- return e.concat(a || Array.prototype.slice.call(t));
23
+ var We = function(e, r, t) {
24
+ if (t || arguments.length === 2) for (var n = 0, a = r.length, o; n < a; n++)
25
+ (o || !(n in r)) && (o || (o = Array.prototype.slice.call(r, 0, n)), o[n] = r[n]);
26
+ return e.concat(o || Array.prototype.slice.call(r));
27
27
  };
28
- function Re(e) {
28
+ function Fe(e) {
29
29
  return e;
30
30
  }
31
- function E(e, t, r, n, o, a, i, c, u) {
31
+ function y(e, r, t, n, a, o, i, s, u) {
32
32
  switch (arguments.length) {
33
33
  case 1:
34
34
  return e;
35
35
  case 2:
36
36
  return function() {
37
- return t(e.apply(this, arguments));
37
+ return r(e.apply(this, arguments));
38
38
  };
39
39
  case 3:
40
40
  return function() {
41
- return r(t(e.apply(this, arguments)));
41
+ return t(r(e.apply(this, arguments)));
42
42
  };
43
43
  case 4:
44
44
  return function() {
45
- return n(r(t(e.apply(this, arguments))));
45
+ return n(t(r(e.apply(this, arguments))));
46
46
  };
47
47
  case 5:
48
48
  return function() {
49
- return o(n(r(t(e.apply(this, arguments)))));
49
+ return a(n(t(r(e.apply(this, arguments)))));
50
50
  };
51
51
  case 6:
52
52
  return function() {
53
- return a(o(n(r(t(e.apply(this, arguments))))));
53
+ return o(a(n(t(r(e.apply(this, arguments))))));
54
54
  };
55
55
  case 7:
56
56
  return function() {
57
- return i(a(o(n(r(t(e.apply(this, arguments)))))));
57
+ return i(o(a(n(t(r(e.apply(this, arguments)))))));
58
58
  };
59
59
  case 8:
60
60
  return function() {
61
- return c(i(a(o(n(r(t(e.apply(this, arguments))))))));
61
+ return s(i(o(a(n(t(r(e.apply(this, arguments))))))));
62
62
  };
63
63
  case 9:
64
64
  return function() {
65
- return u(c(i(a(o(n(r(t(e.apply(this, arguments)))))))));
65
+ return u(s(i(o(a(n(t(r(e.apply(this, arguments)))))))));
66
66
  };
67
67
  }
68
68
  }
69
- function l(e, t, r, n, o, a, i, c, u) {
69
+ function m(e, r, t, n, a, o, i, s, u) {
70
70
  switch (arguments.length) {
71
71
  case 1:
72
72
  return e;
73
73
  case 2:
74
- return t(e);
74
+ return r(e);
75
75
  case 3:
76
- return r(t(e));
76
+ return t(r(e));
77
77
  case 4:
78
- return n(r(t(e)));
78
+ return n(t(r(e)));
79
79
  case 5:
80
- return o(n(r(t(e))));
80
+ return a(n(t(r(e))));
81
81
  case 6:
82
- return a(o(n(r(t(e)))));
82
+ return o(a(n(t(r(e)))));
83
83
  case 7:
84
- return i(a(o(n(r(t(e))))));
84
+ return i(o(a(n(t(r(e))))));
85
85
  case 8:
86
- return c(i(a(o(n(r(t(e)))))));
86
+ return s(i(o(a(n(t(r(e)))))));
87
87
  case 9:
88
- return u(c(i(a(o(n(r(t(e))))))));
88
+ return u(s(i(o(a(n(t(r(e))))))));
89
89
  default: {
90
- for (var s = arguments[0], p = 1; p < arguments.length; p++)
91
- s = arguments[p](s);
92
- return s;
90
+ for (var c = arguments[0], p = 1; p < arguments.length; p++)
91
+ c = arguments[p](c);
92
+ return c;
93
93
  }
94
94
  }
95
95
  }
96
- var $ = function(e, t) {
97
- var r = typeof e == "number" ? function(n) {
96
+ var W = function(e, r) {
97
+ var t = typeof e == "number" ? function(n) {
98
98
  return n.length >= e;
99
99
  } : e;
100
100
  return function() {
101
101
  var n = Array.from(arguments);
102
- return r(arguments) ? t.apply(this, n) : function(o) {
103
- return t.apply(void 0, Fe([o], n, !1));
102
+ return t(arguments) ? r.apply(this, n) : function(a) {
103
+ return r.apply(void 0, We([a], n, !1));
104
104
  };
105
105
  };
106
- }, Ue = { _tag: "None" }, Ie = function(e) {
106
+ }, qe = { _tag: "None" }, Oe = function(e) {
107
107
  return { _tag: "Some", value: e };
108
- }, je = function(e) {
108
+ }, Re = function(e) {
109
109
  return e._tag === "Left";
110
- }, se = function(e) {
110
+ }, Ue = function(e) {
111
111
  return { _tag: "Left", left: e };
112
- }, ie = function(e) {
112
+ }, Ie = function(e) {
113
113
  return { _tag: "Right", right: e };
114
- }, g = se, f = ie, ce = /* @__PURE__ */ $(2, function(e, t) {
115
- return P(e) ? e : t(e.right);
116
- }), Ge = function(e) {
117
- return function(t) {
118
- return P(t) ? t : f(e(t.right));
119
- };
120
- }, ue = function(e) {
121
- return function(t) {
122
- return P(t) ? g(e(t.left)) : t;
114
+ }, w = Ue, _ = Ie, ie = /* @__PURE__ */ W(2, function(e, r) {
115
+ return E(e) ? e : r(e.right);
116
+ }), je = function(e) {
117
+ return function(r) {
118
+ return E(r) ? r : _(e(r.right));
123
119
  };
124
- }, P = je, pe = function(e, t) {
120
+ }, ze = function(e) {
125
121
  return function(r) {
126
- return P(r) ? e(r.left) : t(r.right);
122
+ return E(r) ? w(e(r.left)) : r;
123
+ };
124
+ }, E = Re, se = function(e, r) {
125
+ return function(t) {
126
+ return E(t) ? e(t.left) : r(t.right);
127
127
  };
128
- }, ze = pe, R = pe, De = R, U = function(e, t) {
128
+ }, Ge = se, F = se, Ve = F, q = function(e, r) {
129
129
  try {
130
- return f(e());
131
- } catch (r) {
132
- return g(t(r));
130
+ return _(e());
131
+ } catch (t) {
132
+ return w(r(t));
133
133
  }
134
- }, Ne = ce, Je = ce, Be = Ue, Oe = Ie, Qe = function(e) {
134
+ }, De = ie, Ne = ie, Be = qe, Je = Oe, Qe = function(e) {
135
135
  return e._tag === "None";
136
- }, He = function(e, t) {
137
- return function(r) {
138
- return Qe(r) ? e() : t(r.value);
136
+ }, He = function(e, r) {
137
+ return function(t) {
138
+ return Qe(t) ? e() : r(t.value);
139
139
  };
140
140
  }, Ke = He;
141
141
  function Ye(e) {
142
- return E(f, e.of);
142
+ return y(_, e.of);
143
143
  }
144
144
  function Xe(e) {
145
- return E(g, e.of);
145
+ return y(w, e.of);
146
146
  }
147
147
  function Ze(e) {
148
- return function(t, r) {
149
- return e.chain(t, function(n) {
150
- return P(n) ? e.of(n) : r(n.right);
148
+ return function(r, t) {
149
+ return e.chain(r, function(n) {
150
+ return E(n) ? e.of(n) : t(n.right);
151
151
  });
152
152
  };
153
153
  }
154
- function Ve(e) {
155
- return function(t, r) {
156
- return e.map(t, ue(r));
157
- };
158
- }
159
- function et(e) {
160
- return function(t, r) {
154
+ function er(e) {
155
+ return function(r, t) {
161
156
  return function(n) {
162
- return e.map(n, R(t, r));
157
+ return e.map(n, F(r, t));
163
158
  };
164
159
  };
165
160
  }
166
- var _e = function(e, t) {
167
- return l(e, rt(t));
168
- }, tt = function(e, t) {
169
- return l(e, nt(t));
170
- }, rt = function(e) {
171
- return function(t) {
161
+ var ue = function(e, r) {
162
+ return m(e, tr(r));
163
+ }, rr = function(e, r) {
164
+ return m(e, nr(r));
165
+ }, tr = function(e) {
166
+ return function(r) {
172
167
  return function() {
173
- return Promise.resolve().then(t).then(e);
168
+ return Promise.resolve().then(r).then(e);
174
169
  };
175
170
  };
176
- }, nt = function(e) {
177
- return function(t) {
171
+ }, nr = function(e) {
172
+ return function(r) {
178
173
  return function() {
179
- return Promise.all([Promise.resolve().then(t), Promise.resolve().then(e)]).then(function(r) {
180
- var n = r[0], o = r[1];
181
- return n(o);
174
+ return Promise.all([Promise.resolve().then(r), Promise.resolve().then(e)]).then(function(t) {
175
+ var n = t[0], a = t[1];
176
+ return n(a);
182
177
  });
183
178
  };
184
179
  };
185
- }, I = function(e) {
180
+ }, ce = function(e) {
186
181
  return function() {
187
182
  return Promise.resolve(e);
188
183
  };
189
- }, at = /* @__PURE__ */ $(2, function(e, t) {
190
- return function() {
191
- return Promise.resolve().then(e).then(function(r) {
192
- return t(r)();
193
- });
194
- };
195
- }), fe = "Task", le = {
196
- URI: fe,
197
- map: _e
198
- }, we = {
199
- of: I
200
- }, ot = {
201
- URI: fe,
202
- map: _e,
203
- of: I,
204
- ap: tt,
205
- chain: at
206
- }, st = function(e, t, r, n) {
207
- function o(a) {
208
- return a instanceof r ? a : new r(function(i) {
209
- i(a);
210
- });
211
- }
212
- return new (r || (r = Promise))(function(a, i) {
213
- function c(p) {
214
- try {
215
- s(n.next(p));
216
- } catch (w) {
217
- i(w);
218
- }
219
- }
220
- function u(p) {
221
- try {
222
- s(n.throw(p));
223
- } catch (w) {
224
- i(w);
225
- }
226
- }
227
- function s(p) {
228
- p.done ? a(p.value) : o(p.value).then(c, u);
229
- }
230
- s((n = n.apply(e, t || [])).next());
231
- });
232
- }, it = function(e, t) {
233
- var r = { label: 0, sent: function() {
234
- if (a[0] & 1) throw a[1];
235
- return a[1];
236
- }, trys: [], ops: [] }, n, o, a, i;
237
- return i = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == "function" && (i[Symbol.iterator] = function() {
238
- return this;
239
- }), i;
240
- function c(s) {
241
- return function(p) {
242
- return u([s, p]);
243
- };
244
- }
245
- function u(s) {
246
- if (n) throw new TypeError("Generator is already executing.");
247
- for (; i && (i = 0, s[0] && (r = 0)), r; ) try {
248
- if (n = 1, o && (a = s[0] & 2 ? o.return : s[0] ? o.throw || ((a = o.return) && a.call(o), 0) : o.next) && !(a = a.call(o, s[1])).done) return a;
249
- switch (o = 0, a && (s = [s[0] & 2, a.value]), s[0]) {
250
- case 0:
251
- case 1:
252
- a = s;
253
- break;
254
- case 4:
255
- return r.label++, { value: s[1], done: !1 };
256
- case 5:
257
- r.label++, o = s[1], s = [0];
258
- continue;
259
- case 7:
260
- s = r.ops.pop(), r.trys.pop();
261
- continue;
262
- default:
263
- if (a = r.trys, !(a = a.length > 0 && a[a.length - 1]) && (s[0] === 6 || s[0] === 2)) {
264
- r = 0;
265
- continue;
266
- }
267
- if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {
268
- r.label = s[1];
269
- break;
270
- }
271
- if (s[0] === 6 && r.label < a[1]) {
272
- r.label = a[1], a = s;
273
- break;
274
- }
275
- if (a && r.label < a[2]) {
276
- r.label = a[2], r.ops.push(s);
277
- break;
278
- }
279
- a[2] && r.ops.pop(), r.trys.pop();
280
- continue;
281
- }
282
- s = t.call(e, r);
283
- } catch (p) {
284
- s = [6, p], o = 0;
285
- } finally {
286
- n = a = 0;
287
- }
288
- if (s[0] & 5) throw s[1];
289
- return { value: s[0] ? s[1] : void 0, done: !0 };
290
- }
291
- }, ct = /* @__PURE__ */ Xe(we), me = /* @__PURE__ */ Ye(we), ut = I, A = /* @__PURE__ */ et(le), pt = function(e, t) {
184
+ }, or = /* @__PURE__ */ W(2, function(e, r) {
292
185
  return function() {
293
- return st(void 0, void 0, void 0, function() {
294
- var r;
295
- return it(this, function(n) {
296
- switch (n.label) {
297
- case 0:
298
- return n.trys.push([0, 2, , 3]), [4, e().then(ie)];
299
- case 1:
300
- return [2, n.sent()];
301
- case 2:
302
- return r = n.sent(), [2, se(t(r))];
303
- case 3:
304
- return [
305
- 2
306
- /*return*/
307
- ];
308
- }
309
- });
186
+ return Promise.resolve().then(e).then(function(t) {
187
+ return r(t)();
310
188
  });
311
189
  };
312
- }, _t = /* @__PURE__ */ $(2, Ve(le)), ft = _t, lt = /* @__PURE__ */ $(2, Ze(ot)), ge = lt;
313
- class wt extends y("MethodUnsupportedError", (t, r) => [
314
- `Method "${t}" is unsupported in Mini Apps version ${r}`
190
+ }), pe = "Task", ar = {
191
+ URI: pe,
192
+ map: ue
193
+ }, _e = {
194
+ of: ce
195
+ }, ir = {
196
+ URI: pe,
197
+ map: ue,
198
+ of: ce,
199
+ ap: rr,
200
+ chain: or
201
+ }, sr = /* @__PURE__ */ Xe(_e), fe = /* @__PURE__ */ Ye(_e), le = /* @__PURE__ */ er(ar), me = /* @__PURE__ */ W(2, Ze(ir)), ur = me, cr = me;
202
+ class pr extends b("MethodUnsupportedError", (r, t) => [
203
+ `Method "${r}" is unsupported in Mini Apps version ${t}`
315
204
  ]) {
316
205
  }
317
- class mt extends y("MethodParameterUnsupportedError", (t, r, n) => [
318
- `Parameter "${r}" of "${t}" method is unsupported in Mini Apps version ${n}`
206
+ class _r extends b("MethodParameterUnsupportedError", (r, t, n) => [
207
+ `Parameter "${t}" of "${r}" method is unsupported in Mini Apps version ${n}`
319
208
  ]) {
320
209
  }
321
- class gt extends qe(
210
+ class fr extends Le(
322
211
  "LaunchParamsRetrieveError",
323
- (t) => ({ errors: t }),
324
- (t) => [
212
+ (r) => ({ errors: r }),
213
+ (r) => [
325
214
  [
326
215
  "Unable to retrieve launch parameters from any known source. Perhaps, you have opened your app outside Telegram?",
327
216
  "📖 Refer to docs for more information:",
328
217
  "https://docs.telegram-mini-apps.com/packages/tma-js-bridge/environment",
329
218
  "",
330
219
  "Collected errors:",
331
- ...t.map(({ source: r, error: n }) => `Source: ${r} / ${n instanceof Error ? n.message : String(n)}`)
220
+ ...r.map(({ source: t, error: n }) => `Source: ${t} / ${n instanceof Error ? n.message : String(n)}`)
332
221
  ].join(`
333
222
  `)
334
223
  ]
335
224
  ) {
336
225
  }
337
- class ht extends y("InvalidLaunchParamsError", (t, r) => [
338
- `Invalid value for launch params: ${t}`,
339
- { cause: r }
226
+ class lr extends b("InvalidLaunchParamsError", (r, t) => [
227
+ `Invalid value for launch params: ${r}`,
228
+ { cause: t }
340
229
  ]) {
341
230
  }
342
- class dt extends y("UnknownEnvError") {
231
+ class mr extends b("UnknownEnvError") {
343
232
  }
344
- class vt extends y(
233
+ class wr extends b(
345
234
  "InvokeCustomMethodError",
346
- (t) => [`Server returned error: ${t}`]
235
+ (r) => [`Server returned error: ${r}`]
347
236
  ) {
348
237
  }
349
- const B = "launchParams";
350
- function O(e) {
238
+ const G = "launchParams";
239
+ function V(e) {
351
240
  return e.replace(/^[^?#]*[?#]/, "").replace(/[?#]/g, "&");
352
241
  }
353
- const bt = E(M, Ne(ee)), Jt = S(bt), yt = E(M, Ge((e) => {
354
- const t = new URLSearchParams(e).get("tgWebAppData");
355
- return t ? Oe(t) : Be;
356
- })), Bt = E(
357
- yt,
358
- De((e) => {
242
+ const gr = y(S, De(ee)), jr = x(gr), hr = y(S, je((e) => {
243
+ const r = new URLSearchParams(e).get("tgWebAppData");
244
+ return r ? Je(r) : Be;
245
+ })), zr = y(
246
+ hr,
247
+ Ve((e) => {
359
248
  throw e;
360
249
  }, (e) => e),
361
250
  Ke(() => {
362
251
  }, (e) => e)
363
252
  );
364
- function M() {
253
+ function S() {
365
254
  const e = [];
366
- for (const [t, r] of [
255
+ for (const [r, t] of [
367
256
  // Try to retrieve launch parameters from the current location. This method
368
257
  // can return nothing in case, location was changed, and then the page was
369
258
  // reloaded.
370
- [() => O(window.location.href), "window.location.href"],
259
+ [() => V(window.location.href), "window.location.href"],
371
260
  // Then, try using the lower level API - window.performance.
372
261
  [() => {
373
262
  const n = performance.getEntriesByType("navigation")[0];
374
- return n && O(n.name);
263
+ return n && V(n.name);
375
264
  }, "performance navigation entries"],
376
265
  // Finally, try using the session storage.
377
- [() => Se(B), "local storage"]
266
+ [() => Pe(G), "local storage"]
378
267
  ]) {
379
- const n = t();
268
+ const n = r();
380
269
  if (!n) {
381
- e.push({ source: r, error: new Error("Source is empty") });
270
+ e.push({ source: t, error: new Error("Source is empty") });
382
271
  continue;
383
272
  }
384
- const o = l(
273
+ const a = m(
385
274
  ee(n),
386
- ze((a) => a, () => !0)
275
+ Ge((o) => o, () => !0)
387
276
  );
388
- if (typeof o != "boolean") {
389
- e.push({ source: r, error: o });
277
+ if (typeof a != "boolean") {
278
+ e.push({ source: t, error: a });
390
279
  continue;
391
280
  }
392
- return V(B, n), f(n);
281
+ return X(G, n), _(n);
393
282
  }
394
- return g(new gt(e));
395
- }
396
- const Ot = S(M);
397
- function Et(e, t) {
398
- const r = /* @__PURE__ */ new Map(), n = We(), o = (a, i, c = !1) => {
399
- const u = r.get(a) || /* @__PURE__ */ new Map();
400
- r.set(a, u);
401
- const s = u.get(i) || [];
402
- u.set(i, s);
403
- const p = s.findIndex((w) => w[1] === c);
404
- if (p >= 0 && (n.off(a, s[p][0]), s.splice(p, 1), !s.length && (u.delete(i), !u.size))) {
405
- const w = r.size;
406
- r.delete(a), w && !r.size && t();
283
+ return w(new fr(e));
284
+ }
285
+ const Gr = x(S);
286
+ function dr(e, r) {
287
+ const t = /* @__PURE__ */ new Map(), n = Ce(), a = (o, i, s = !1) => {
288
+ const u = t.get(o) || /* @__PURE__ */ new Map();
289
+ t.set(o, u);
290
+ const c = u.get(i) || [];
291
+ u.set(i, c);
292
+ const p = c.findIndex((f) => f[1] === s);
293
+ if (p >= 0 && (n.off(o, c[p][0]), c.splice(p, 1), !c.length && (u.delete(i), !u.size))) {
294
+ const f = t.size;
295
+ t.delete(o), f && !t.size && r();
407
296
  }
408
297
  };
409
298
  return {
410
- on(a, i, c) {
411
- !r.size && e();
299
+ on(o, i, s) {
300
+ !t.size && e();
412
301
  const u = () => {
413
- o(a, i, c);
414
- }, s = (...L) => {
415
- c && u(), a === "*" ? i({ name: L[0], payload: L[1] }) : i(...L);
302
+ a(o, i, s);
303
+ }, c = (...T) => {
304
+ s && u(), o === "*" ? i({ name: T[0], payload: T[1] }) : i(...T);
416
305
  };
417
- n.on(a, s);
418
- const p = r.get(a) || /* @__PURE__ */ new Map();
419
- r.set(a, p);
420
- const w = p.get(i) || [];
421
- return p.set(i, w), w.push([s, c || !1]), u;
306
+ n.on(o, c);
307
+ const p = t.get(o) || /* @__PURE__ */ new Map();
308
+ t.set(o, p);
309
+ const f = p.get(i) || [];
310
+ return p.set(i, f), f.push([c, s || !1]), u;
422
311
  },
423
- off: o,
312
+ off: a,
424
313
  // eslint-disable-next-line @typescript-eslint/unbound-method
425
314
  emit: n.emit,
426
315
  clear() {
427
- const a = r.size;
428
- n.all.clear(), r.clear(), a && t();
316
+ const o = t.size;
317
+ n.all.clear(), t.clear(), o && r();
429
318
  }
430
319
  };
431
320
  }
432
- function C(e, t) {
321
+ function A(e, r) {
433
322
  window.dispatchEvent(new MessageEvent("message", {
434
- data: JSON.stringify({ eventType: e, eventData: t }),
323
+ data: JSON.stringify({ eventType: e, eventData: r }),
435
324
  // We specify this kind of source here in order to allow the package's "on" function to
436
325
  // capture it. The reason is this function always checks the event source and relies on
437
326
  // it to be the parent window.
438
327
  source: window.parent
439
328
  }));
440
329
  }
441
- function q(e, t, r) {
442
- const n = [r], o = e[t];
443
- typeof o == "function" && n.push(o);
444
- const a = (...c) => {
445
- n.forEach((u) => u(...c));
446
- }, i = Object.assign((...c) => {
447
- a(...c);
330
+ function $(e, r, t) {
331
+ const n = [t], a = e[r];
332
+ typeof a == "function" && n.push(a);
333
+ const o = (...s) => {
334
+ n.forEach((u) => u(...s));
335
+ }, i = Object.assign((...s) => {
336
+ o(...s);
448
337
  }, {
449
338
  // Unwraps the composer.
450
339
  unwrap() {
451
- const { length: c } = n;
452
- if (c === 1) {
453
- delete e[t];
340
+ const { length: s } = n;
341
+ if (s === 1) {
342
+ delete e[r];
454
343
  return;
455
344
  }
456
- if (c === 2) {
457
- H(e, t, n[1]);
345
+ if (s === 2) {
346
+ N(e, r, n[1]);
458
347
  return;
459
348
  }
460
- n.unshift(1), H(e, t, a);
349
+ n.unshift(1), N(e, r, o);
461
350
  }
462
351
  });
463
- he(
352
+ we(
464
353
  e,
465
- t,
354
+ r,
466
355
  () => i,
467
- (c) => n.push(c)
356
+ (s) => n.push(s)
468
357
  );
469
358
  }
470
- function Q(e, t) {
471
- const r = e[t];
472
- he(e, t, () => r, (n) => {
473
- Object.entries(n).forEach(([o, a]) => {
474
- r[o] = a;
359
+ function D(e, r) {
360
+ const t = e[r];
361
+ we(e, r, () => t, (n) => {
362
+ Object.entries(n).forEach(([a, o]) => {
363
+ t[a] = o;
475
364
  });
476
365
  });
477
366
  }
478
- function he(e, t, r, n) {
479
- Object.defineProperty(e, t, {
367
+ function we(e, r, t, n) {
368
+ Object.defineProperty(e, r, {
480
369
  enumerable: !0,
481
370
  configurable: !0,
482
- get: r,
371
+ get: t,
483
372
  set: n
484
373
  });
485
374
  }
486
- function H(e, t, r) {
487
- Object.defineProperty(e, t, {
375
+ function N(e, r, t) {
376
+ Object.defineProperty(e, r, {
488
377
  enumerable: !0,
489
378
  configurable: !0,
490
379
  writable: !0,
491
- value: r
380
+ value: t
492
381
  });
493
382
  }
494
- const Pt = {
495
- clipboard_text_received: m({
496
- req_id: v(),
497
- data: d(v())
383
+ const vr = {
384
+ clipboard_text_received: l({
385
+ req_id: d(),
386
+ data: h(d())
498
387
  }),
499
- custom_method_invoked: m({
500
- req_id: v(),
501
- result: J(Pe()),
502
- error: J(v())
388
+ custom_method_invoked: l({
389
+ req_id: d(),
390
+ result: z(ye()),
391
+ error: z(d())
503
392
  }),
504
- popup_closed: d(
505
- m({ button_id: d(v(), () => {
393
+ popup_closed: h(
394
+ l({ button_id: h(d(), () => {
506
395
  }) }),
507
396
  {}
508
397
  ),
509
- viewport_changed: d(
510
- m({
511
- height: N(),
512
- width: d(N(), () => window.innerWidth),
513
- is_state_stable: D(),
514
- is_expanded: D()
398
+ viewport_changed: h(
399
+ l({
400
+ height: j(),
401
+ width: h(j(), () => window.innerWidth),
402
+ is_state_stable: I(),
403
+ is_expanded: I()
515
404
  }),
516
405
  // TODO: At the moment, macOS has a bug with the invalid event payload - it is always equal to
517
406
  // null. Leaving this default value until the bug is fixed.
@@ -521,46 +410,46 @@ const Pt = {
521
410
  is_expanded: !0
522
411
  })
523
412
  ),
524
- theme_changed: m({
525
- theme_params: Me()
413
+ theme_changed: l({
414
+ theme_params: Ae()
526
415
  })
527
416
  };
528
- function K(e) {
417
+ function B(e) {
529
418
  if (e.source !== window.parent)
530
419
  return;
531
- let t;
420
+ let r;
532
421
  try {
533
- t = W(te(re()), e.data);
422
+ r = M(re(te()), e.data);
534
423
  } catch {
535
424
  return;
536
425
  }
537
- const { eventType: r, eventData: n } = t, o = Pt[r];
538
- let a;
426
+ const { eventType: t, eventData: n } = r, a = vr[t];
427
+ let o;
539
428
  try {
540
- a = o ? W(o, n) : n;
429
+ o = a ? M(a, n) : n;
541
430
  } catch (i) {
542
- return h().forceError(
431
+ return g().forceError(
543
432
  [
544
- `An error occurred processing the "${r}" event from the Telegram application.`,
433
+ `An error occurred processing the "${t}" event from the Telegram application.`,
545
434
  "Please, file an issue here:",
546
435
  "https://github.com/Telegram-Mini-Apps/telegram-apps/issues/new/choose"
547
436
  ].join(`
548
437
  `),
549
- t,
438
+ r,
550
439
  i
551
440
  );
552
441
  }
553
- kt(r, a);
442
+ yr(t, o);
554
443
  }
555
444
  const {
556
- on: de,
557
- off: xt,
558
- emit: kt,
559
- clear: St
560
- } = Et(
445
+ on: ge,
446
+ off: br,
447
+ emit: yr,
448
+ clear: Er
449
+ } = dr(
561
450
  () => {
562
451
  const e = window;
563
- !e.TelegramGameProxy && (e.TelegramGameProxy = {}), q(e.TelegramGameProxy, "receiveEvent", C), Q(e, "TelegramGameProxy"), !e.Telegram && (e.Telegram = {}), !e.Telegram.WebView && (e.Telegram.WebView = {}), q(e.Telegram.WebView, "receiveEvent", C), Q(e.Telegram, "WebView"), q(e, "TelegramGameProxy_receiveEvent", C), window.addEventListener("message", K);
452
+ !e.TelegramGameProxy && (e.TelegramGameProxy = {}), $(e.TelegramGameProxy, "receiveEvent", A), D(e, "TelegramGameProxy"), !e.Telegram && (e.Telegram = {}), !e.Telegram.WebView && (e.Telegram.WebView = {}), $(e.Telegram.WebView, "receiveEvent", A), D(e.Telegram, "WebView"), $(e, "TelegramGameProxy_receiveEvent", A), window.addEventListener("message", B);
564
453
  },
565
454
  () => {
566
455
  [
@@ -568,414 +457,400 @@ const {
568
457
  ["TelegramGameProxy", "receiveEvent"],
569
458
  ["Telegram", "WebView", "receiveEvent"]
570
459
  ].forEach((e) => {
571
- const t = window;
572
- let r = [void 0, t];
573
- for (const a of e)
574
- if (r = [r[1], r[1][a]], !r[1])
460
+ const r = window;
461
+ let t = [void 0, r];
462
+ for (const o of e)
463
+ if (t = [t[1], t[1][o]], !t[1])
575
464
  return;
576
- const [n, o] = r;
577
- "unwrap" in o && (o.unwrap(), n && n !== t && !Object.keys(n).length && delete t[e[0]]);
578
- }), window.removeEventListener("message", K);
465
+ const [n, a] = t;
466
+ "unwrap" in a && (a.unwrap(), n && n !== r && !Object.keys(n).length && delete r[e[0]]);
467
+ }), window.removeEventListener("message", B);
579
468
  }
580
- ), x = T(!1), j = T("https://web.telegram.org"), Tt = (e) => {
581
- h().log("Event received:", e);
582
- }, ve = ne(x);
583
- function Qt(e) {
584
- e !== x() && (x.set(e), (e ? de : xt)("*", Tt));
469
+ ), P = k(!1), O = k("https://web.telegram.org"), Pr = (e) => {
470
+ g().log("Event received:", e);
471
+ }, he = ne(P);
472
+ function Vr(e) {
473
+ e !== P() && (P.set(e), (e ? ge : br)("*", Pr));
585
474
  }
586
- const be = ne(j);
587
- function Ht(e) {
588
- j.set(e), h().log("New target origin set", e);
475
+ const de = ne(O);
476
+ function Dr(e) {
477
+ O.set(e), g().log("New target origin set", e);
589
478
  }
590
- const b = T((...e) => {
479
+ const v = k((...e) => {
591
480
  window.parent.postMessage(...e);
592
- }), h = T(Te("Bridge", {
481
+ }), g = k(xe("Bridge", {
593
482
  bgColor: "#9147ff",
594
483
  textColor: "white",
595
- shouldLog: ve
484
+ shouldLog: he
596
485
  }));
597
- function Kt() {
598
- St(), [b, j, be, x, ve, h].forEach((e) => {
486
+ function Nr() {
487
+ Er(), [v, O, de, P, he, g].forEach((e) => {
599
488
  e.unsubAll(), "reset" in e && e.reset();
600
489
  });
601
490
  }
602
- const $t = (...e) => b()(...e);
603
- function At(e, t) {
604
- l(
605
- G(
491
+ const xr = (...e) => v()(...e);
492
+ function kr(e, r) {
493
+ m(
494
+ R(
606
495
  // @ts-expect-error It's ok, TS can't determine a specific override.
607
496
  e,
608
- t
497
+ r
609
498
  ),
610
- ue((r) => {
611
- throw r;
499
+ ze((t) => {
500
+ throw t;
612
501
  })
613
502
  );
614
503
  }
615
- function G(e, t) {
616
- h().log("Posting event:", t ? { eventType: e, eventData: t } : { eventType: e });
617
- const r = window, n = JSON.stringify({ eventType: e, eventData: t });
618
- return oe() ? ($t(n, be()), f(void 0)) : ae(r) ? (r.TelegramWebviewProxy.postEvent(e, JSON.stringify(t)), f(void 0)) : F(m({ external: m({ notify: Z() }) }), r) ? (r.external.notify(n), f(void 0)) : g(new dt());
504
+ function R(e, r) {
505
+ g().log("Posting event:", r ? { eventType: e, eventData: r } : { eventType: e });
506
+ const t = window, n = JSON.stringify({ eventType: e, eventData: r });
507
+ return ae() ? (xr(n, de()), _(void 0)) : oe(t) ? (t.TelegramWebviewProxy.postEvent(e, JSON.stringify(r)), _(void 0)) : L(l({ external: l({ notify: Y() }) }), t) ? (t.external.notify(n), _(void 0)) : w(new mr());
619
508
  }
620
- function z(e, t, r) {
621
- r || (r = {});
509
+ function U(e, r, t = {}) {
622
510
  const {
623
511
  // If no capture function was passed, we capture the first compatible event.
624
512
  capture: n = () => !0,
625
- postEvent: o = G
626
- } = r, [a, i] = $e(), c = new k((u) => {
627
- (Array.isArray(t) ? t : [t]).forEach((s) => {
628
- a(
629
- de(s, (p) => {
630
- (Array.isArray(t) ? n({ event: s, payload: p }) : n(p)) && u(p);
631
- })
632
- );
633
- });
634
- }, r).finally(i);
635
- return l(
636
- ut(o(e, r.params)),
637
- ft((u) => (c.catch(() => {
638
- }).cancel(), u)),
639
- ge(() => pt(() => c, (u) => u))
513
+ postEvent: a = R
514
+ } = t;
515
+ return m(
516
+ async () => a(e, t.params),
517
+ cr(() => ke((o, i, s) => {
518
+ const [u, c] = Se();
519
+ (Array.isArray(r) ? r : [r]).forEach((p) => {
520
+ u(
521
+ ge(p, (f) => {
522
+ (Array.isArray(r) ? n({ event: p, payload: f }) : n(f)) && o(f);
523
+ })
524
+ );
525
+ }), s.on("finalized", c);
526
+ }, t))
640
527
  );
641
528
  }
642
- function Yt(e, t, r) {
643
- const { postEvent: n } = r || {};
644
- return k.fn(() => l(
529
+ function Br(e, r, t) {
530
+ const { postEvent: n } = t || {};
531
+ return C(
645
532
  // @ts-expect-error TypeScript will not be able to handle our overrides here.
646
- z(e, t, {
647
- ...r,
648
- postEvent: n ? (...o) => {
533
+ U(e, r, {
534
+ ...t,
535
+ postEvent: n ? (...a) => {
649
536
  try {
650
- return n(...o), f(void 0);
651
- } catch (a) {
652
- return g(a);
537
+ return n(...a), _(void 0);
538
+ } catch (o) {
539
+ return w(o);
653
540
  }
654
- } : G
655
- }),
656
- A(
657
- (o) => {
658
- throw o;
659
- },
660
- (o) => o
661
- )
662
- )());
541
+ } : R
542
+ })
543
+ );
663
544
  }
664
- function Xt(e, t) {
665
- const r = Mt(
545
+ function Jr(e, r) {
546
+ const t = Sr(
666
547
  // @ts-expect-error TS doesn't get what override we are going to use.
667
548
  e,
668
- t
549
+ r
669
550
  );
670
- return typeof r == "function" ? k.fn(() => l(r, A(
671
- (n) => {
672
- throw n;
673
- },
674
- (n) => n
675
- ))()) : r;
551
+ return typeof t == "function" ? Z.fn(() => C(t)) : t;
676
552
  }
677
- function Mt(e, t) {
678
- const r = ae(window);
553
+ function Sr(e, r) {
554
+ const t = oe(window);
679
555
  if (!e)
680
- return r || l(M(), R(() => !1, () => !0));
681
- if (r)
682
- return me(!0);
683
- const { timeout: n = 100 } = t || {};
684
- return l(
685
- z("web_app_request_theme", "theme_changed", { ...t, timeout: n }),
686
- A(
687
- (o) => ke.is(o) ? f(!1) : g(o),
688
- () => f(!0)
556
+ return t || m(S(), F(() => !1, () => !0));
557
+ if (t)
558
+ return fe(!0);
559
+ const { timeout: n = 100 } = r || {};
560
+ return m(
561
+ U("web_app_request_theme", "theme_changed", { ...r, timeout: n }),
562
+ le(
563
+ (a) => Te.is(a) ? _(!1) : w(a),
564
+ () => _(!0)
689
565
  )
690
566
  );
691
567
  }
692
- function Zt({ launchParams: e, onEvent: t, resetPostMessage: r } = {}) {
568
+ function Qr({ launchParams: e, onEvent: r, resetPostMessage: t } = {}) {
693
569
  if (e) {
694
- const a = typeof e == "string" || e instanceof URLSearchParams ? e.toString() : (
570
+ const o = typeof e == "string" || e instanceof URLSearchParams ? e.toString() : (
695
571
  // Here we have to trick serializeLaunchParamsQuery into thinking, it serializes a valid
696
572
  // value. We are doing it because we are working with tgWebAppData presented as a
697
573
  // string, not an object as serializeLaunchParamsQuery requires.
698
- Le({ ...e, tgWebAppData: void 0 }) + (e.tgWebAppData ? `&tgWebAppData=${encodeURIComponent(e.tgWebAppData.toString())}` : "")
574
+ $e({ ...e, tgWebAppData: void 0 }) + (e.tgWebAppData ? `&tgWebAppData=${encodeURIComponent(e.tgWebAppData.toString())}` : "")
699
575
  );
700
576
  try {
701
- Ce(a);
577
+ Me(o);
702
578
  } catch (i) {
703
- throw new ht(a, i);
579
+ throw new lr(o, i);
704
580
  }
705
- V("launchParams", a);
581
+ X("launchParams", o);
706
582
  }
707
- if (oe()) {
708
- if (!t)
583
+ if (ae()) {
584
+ if (!r)
709
585
  return;
710
- r && b.reset();
711
- const a = b();
712
- b.set((...i) => {
713
- const [c] = i, u = () => {
714
- a(...i);
586
+ t && v.reset();
587
+ const o = v();
588
+ v.set((...i) => {
589
+ const [s] = i, u = () => {
590
+ o(...i);
715
591
  };
716
592
  try {
717
- const s = W(te(re()), c);
718
- t([s.eventType, s.eventData], u);
593
+ const c = M(re(te()), s);
594
+ r([c.eventType, c.eventData], u);
719
595
  } catch {
720
596
  u();
721
597
  }
722
598
  });
723
599
  return;
724
600
  }
725
- const n = window.TelegramWebviewProxy || {}, o = n.postEvent || (() => {
601
+ const n = window.TelegramWebviewProxy || {}, a = n.postEvent || (() => {
726
602
  });
727
603
  window.TelegramWebviewProxy = {
728
604
  ...n,
729
- postEvent(a, i) {
730
- const c = () => {
731
- o(a, i);
605
+ postEvent(o, i) {
606
+ const s = () => {
607
+ a(o, i);
732
608
  };
733
- t ? t([a, i ? JSON.parse(i) : void 0], c) : c();
609
+ r ? r([o, i ? JSON.parse(i) : void 0], s) : s();
734
610
  }
735
- }, h().log("Environment was mocked by the mockTelegramEnv function");
611
+ }, g().log("Environment was mocked by the mockTelegramEnv function");
736
612
  }
737
- function Lt(e) {
738
- return ({ req_id: t }) => t === e;
613
+ function Tr(e) {
614
+ return ({ req_id: r }) => r === e;
739
615
  }
740
- function Y(e) {
616
+ function J(e) {
741
617
  return e.split(".").map(Number);
742
618
  }
743
- function Ct(e, t) {
744
- const r = Y(e), n = Y(t), o = Math.max(r.length, n.length);
745
- for (let a = 0; a < o; a += 1) {
746
- const i = r[a] || 0, c = n[a] || 0;
747
- if (i !== c)
748
- return i > c ? 1 : -1;
619
+ function Ar(e, r) {
620
+ const t = J(e), n = J(r), a = Math.max(t.length, n.length);
621
+ for (let o = 0; o < a; o += 1) {
622
+ const i = t[o] || 0, s = n[o] || 0;
623
+ if (i !== s)
624
+ return i > s ? 1 : -1;
749
625
  }
750
626
  return 0;
751
627
  }
752
- function _(e, t) {
753
- return Ct(e, t) <= 0;
754
- }
755
- function X(e, t, r) {
756
- if (typeof r == "string") {
757
- if (e === "web_app_open_link") {
758
- if (t === "try_instant_view")
759
- return _("6.4", r);
760
- if (t === "try_browser")
761
- return _("7.6", r);
762
- }
763
- if (e === "web_app_set_header_color" && t === "color")
764
- return _("6.9", r);
765
- if (e === "web_app_close" && t === "return_back")
766
- return _("7.6", r);
767
- if (e === "web_app_setup_main_button" && t === "has_shine_effect")
768
- return _("7.10", r);
769
- }
770
- switch (e) {
771
- case "web_app_open_tg_link":
772
- case "web_app_open_invoice":
773
- case "web_app_setup_back_button":
774
- case "web_app_set_background_color":
775
- case "web_app_set_header_color":
776
- case "web_app_trigger_haptic_feedback":
777
- return _("6.1", t);
778
- case "web_app_open_popup":
779
- return _("6.2", t);
780
- case "web_app_close_scan_qr_popup":
781
- case "web_app_open_scan_qr_popup":
782
- case "web_app_read_text_from_clipboard":
783
- return _("6.4", t);
784
- case "web_app_switch_inline_query":
785
- return _("6.7", t);
786
- case "web_app_invoke_custom_method":
787
- case "web_app_request_write_access":
788
- case "web_app_request_phone":
789
- return _("6.9", t);
790
- case "web_app_setup_settings_button":
791
- return _("6.10", t);
792
- case "web_app_biometry_get_info":
793
- case "web_app_biometry_open_settings":
794
- case "web_app_biometry_request_access":
795
- case "web_app_biometry_request_auth":
796
- case "web_app_biometry_update_token":
797
- return _("7.2", t);
798
- case "web_app_setup_swipe_behavior":
799
- return _("7.7", t);
800
- case "web_app_share_to_story":
801
- return _("7.8", t);
802
- case "web_app_setup_secondary_button":
803
- case "web_app_set_bottom_bar_color":
804
- return _("7.10", t);
805
- case "web_app_request_safe_area":
806
- case "web_app_request_content_safe_area":
807
- case "web_app_request_fullscreen":
808
- case "web_app_exit_fullscreen":
809
- case "web_app_set_emoji_status":
810
- case "web_app_add_to_home_screen":
811
- case "web_app_check_home_screen":
812
- case "web_app_request_emoji_status_access":
813
- case "web_app_check_location":
814
- case "web_app_open_location_settings":
815
- case "web_app_request_file_download":
816
- case "web_app_request_location":
817
- case "web_app_send_prepared_message":
818
- case "web_app_start_accelerometer":
819
- case "web_app_start_device_orientation":
820
- case "web_app_start_gyroscope":
821
- case "web_app_stop_accelerometer":
822
- case "web_app_stop_device_orientation":
823
- case "web_app_stop_gyroscope":
824
- case "web_app_toggle_orientation_lock":
825
- return _("8.0", t);
826
- case "web_app_device_storage_clear":
827
- case "web_app_device_storage_get_key":
828
- case "web_app_device_storage_save_key":
829
- case "web_app_secure_storage_clear":
830
- case "web_app_secure_storage_get_key":
831
- case "web_app_secure_storage_restore_key":
832
- case "web_app_secure_storage_save_key":
833
- return _("9.0", t);
834
- case "web_app_hide_keyboard":
835
- return _("9.1", t);
836
- default:
837
- return [
838
- "iframe_ready",
839
- "iframe_will_reload",
840
- "web_app_close",
841
- "web_app_data_send",
842
- "web_app_expand",
843
- "web_app_open_link",
844
- "web_app_ready",
845
- "web_app_request_theme",
846
- "web_app_request_viewport",
847
- "web_app_setup_main_button",
848
- "web_app_setup_closing_behavior"
849
- ].includes(e);
850
- }
628
+ const Q = {
629
+ "6.0": [
630
+ "iframe_ready",
631
+ "iframe_will_reload",
632
+ "web_app_close",
633
+ "web_app_data_send",
634
+ "web_app_expand",
635
+ "web_app_open_link",
636
+ "web_app_ready",
637
+ "web_app_request_theme",
638
+ "web_app_request_viewport",
639
+ "web_app_setup_main_button",
640
+ "web_app_setup_closing_behavior"
641
+ ],
642
+ 6.1: [
643
+ "web_app_open_tg_link",
644
+ "web_app_open_invoice",
645
+ "web_app_setup_back_button",
646
+ "web_app_set_background_color",
647
+ "web_app_set_header_color",
648
+ "web_app_trigger_haptic_feedback"
649
+ ],
650
+ 6.2: ["web_app_open_popup"],
651
+ 6.4: [
652
+ "web_app_close_scan_qr_popup",
653
+ "web_app_open_scan_qr_popup",
654
+ "web_app_read_text_from_clipboard",
655
+ { method: "web_app_open_link", param: "try_instant_view" }
656
+ ],
657
+ 6.7: ["web_app_switch_inline_query"],
658
+ 6.9: [
659
+ "web_app_invoke_custom_method",
660
+ "web_app_request_write_access",
661
+ "web_app_request_phone",
662
+ { method: "web_app_set_header_color", param: "color" }
663
+ ],
664
+ "6.10": ["web_app_setup_settings_button"],
665
+ 7.2: [
666
+ "web_app_biometry_get_info",
667
+ "web_app_biometry_open_settings",
668
+ "web_app_biometry_request_access",
669
+ "web_app_biometry_request_auth",
670
+ "web_app_biometry_update_token"
671
+ ],
672
+ 7.6: [
673
+ { method: "web_app_open_link", param: "try_browser" },
674
+ { method: "web_app_close", param: "return_back" }
675
+ ],
676
+ 7.7: ["web_app_setup_swipe_behavior"],
677
+ 7.8: ["web_app_share_to_story"],
678
+ "7.10": [
679
+ "web_app_setup_secondary_button",
680
+ "web_app_set_bottom_bar_color",
681
+ { method: "web_app_setup_main_button", param: "has_shine_effect" }
682
+ ],
683
+ "8.0": [
684
+ "web_app_request_safe_area",
685
+ "web_app_request_content_safe_area",
686
+ "web_app_request_fullscreen",
687
+ "web_app_exit_fullscreen",
688
+ "web_app_set_emoji_status",
689
+ "web_app_add_to_home_screen",
690
+ "web_app_check_home_screen",
691
+ "web_app_request_emoji_status_access",
692
+ "web_app_check_location",
693
+ "web_app_open_location_settings",
694
+ "web_app_request_file_download",
695
+ "web_app_request_location",
696
+ "web_app_send_prepared_message",
697
+ "web_app_start_accelerometer",
698
+ "web_app_start_device_orientation",
699
+ "web_app_start_gyroscope",
700
+ "web_app_stop_accelerometer",
701
+ "web_app_stop_device_orientation",
702
+ "web_app_stop_gyroscope",
703
+ "web_app_toggle_orientation_lock"
704
+ ],
705
+ "9.0": [
706
+ "web_app_device_storage_clear",
707
+ "web_app_device_storage_get_key",
708
+ "web_app_device_storage_save_key",
709
+ "web_app_secure_storage_clear",
710
+ "web_app_secure_storage_get_key",
711
+ "web_app_secure_storage_restore_key",
712
+ "web_app_secure_storage_save_key"
713
+ ],
714
+ 9.1: ["web_app_hide_keyboard"]
715
+ };
716
+ function H(e, r) {
717
+ return Object.keys(Q).find((n) => Q[n].some((a) => r ? typeof a == "object" && a.method === e && a.param === r : a === e)) || null;
851
718
  }
852
- function Vt(e, t = "strict") {
853
- const r = typeof t == "function" ? t : (n) => {
854
- const { method: o, version: a } = n, i = "param" in n ? new mt(o, n.param, a) : new wt(o, a);
855
- if (t === "strict")
719
+ function K(e, r, t) {
720
+ const n = t ? H(
721
+ e,
722
+ r
723
+ ) : H(e);
724
+ return n ? Ar(n, t || r) <= 0 : !1;
725
+ }
726
+ function Hr(e, r = "strict") {
727
+ const t = typeof r == "function" ? r : (n) => {
728
+ const { method: a, version: o } = n, i = "param" in n ? new _r(a, n.param, o) : new pr(a, o);
729
+ if (r === "strict")
856
730
  throw i;
857
- return h().forceWarn(i.message);
731
+ return g().forceWarn(i.message);
858
732
  };
859
- return (n, o) => X(n, e) ? n === "web_app_set_header_color" && F(m({ color: xe() }), o) && !X(n, "color", e) ? r({ version: e, method: n, param: "color" }) : At(n, o) : r({ version: e, method: n });
733
+ return (n, a) => K(n, e) ? n === "web_app_set_header_color" && L(l({ color: Ee() }), a) && !K(n, "color", e) ? t({ version: e, method: n, param: "color" }) : kr(n, a) : t({ version: e, method: n });
860
734
  }
861
- function qt(e, t, r, n) {
862
- return l(
863
- z("web_app_invoke_custom_method", "custom_method_invoked", {
735
+ function $r(e, r, t, n) {
736
+ return m(
737
+ U("web_app_invoke_custom_method", "custom_method_invoked", {
864
738
  ...n || {},
865
- params: { method: e, params: t, req_id: r },
866
- capture: Lt(r)
739
+ params: { method: e, params: r, req_id: t },
740
+ capture: Tr(t)
867
741
  }),
868
- ge(({ result: o, error: a }) => a ? ct(new vt(a)) : me(o))
742
+ ur(({ result: a, error: o }) => o ? sr(new wr(o)) : fe(a))
869
743
  );
870
744
  }
871
- function er(e, t, r, n) {
872
- return k.fn(() => l(
745
+ function Kr(e, r, t, n) {
746
+ return Z.fn(() => m(
873
747
  // @ts-expect-error TypeScript is unable to determine required override.
874
- qt(e, t, r, n),
875
- A(
876
- (o) => {
877
- throw o;
748
+ $r(e, r, t, n),
749
+ le(
750
+ (a) => {
751
+ throw a;
878
752
  },
879
- (o) => o
753
+ (a) => a
880
754
  )
881
755
  )());
882
756
  }
883
- function tr() {
884
- Object.hasOwn || (Object.hasOwn = function(e, t) {
885
- return Object.prototype.hasOwnProperty.call(e, t);
757
+ function Yr() {
758
+ Object.hasOwn || (Object.hasOwn = function(e, r) {
759
+ return Object.prototype.hasOwnProperty.call(e, r);
886
760
  });
887
761
  }
888
- function ye(e) {
889
- return U(() => decodeURIComponent(
890
- atob(e).replace(/-/g, "+").replace(/_/g, "/").split("").map((t) => "%" + ("00" + t.charCodeAt(0).toString(16)).slice(-2)).join("")
891
- ), (t) => t);
762
+ function ve(e) {
763
+ return q(() => decodeURIComponent(
764
+ atob(e).replace(/-/g, "+").replace(/_/g, "/").split("").map((r) => "%" + ("00" + r.charCodeAt(0).toString(16)).slice(-2)).join("")
765
+ ), (r) => r);
892
766
  }
893
- const rr = S(ye);
894
- function Ee(e) {
767
+ const Xr = x(ve);
768
+ function be(e) {
895
769
  return btoa(
896
- encodeURIComponent(e).replace(/%([0-9A-F]{2})/g, (t, r) => String.fromCharCode(parseInt(`0x${r}`)))
770
+ encodeURIComponent(e).replace(/%([0-9A-F]{2})/g, (r, t) => String.fromCharCode(parseInt(`0x${t}`)))
897
771
  ).replace(/\+/g, "-").replace(/\//g, "_");
898
772
  }
899
- var Wt = function(e) {
900
- return U(function() {
773
+ var Mr = function(e) {
774
+ return q(function() {
901
775
  return JSON.parse(e);
902
- }, Re);
776
+ }, Fe);
903
777
  };
904
- function Ft(e) {
905
- const t = Ee(typeof e == "string" ? e : JSON.stringify(e));
906
- return t.length > 512 ? g(new Error("Value is too long for start parameter")) : f(t);
907
- }
908
- const nr = S(Ft);
909
- function ar(e, t) {
910
- return Ae(
911
- Rt(
778
+ function Lr(e) {
779
+ const r = be(typeof e == "string" ? e : JSON.stringify(e));
780
+ return r.length > 512 ? w(new Error("Value is too long for start parameter")) : _(r);
781
+ }
782
+ const Zr = x(Lr);
783
+ function et(e, r) {
784
+ return C(
785
+ Cr(
912
786
  e,
913
787
  // @ts-expect-error TypeScript is unable to detect a correct override.
914
- typeof t == "function" ? (r) => U(() => t(r), (n) => n) : t
788
+ typeof r == "function" ? (t) => q(() => r(t), (n) => n) : r
915
789
  )
916
790
  );
917
791
  }
918
- function Rt(e, t) {
919
- return l(
920
- ye(e),
921
- Je((r) => t ? typeof t == "function" ? t(r) : Wt(r) : f(r))
792
+ function Cr(e, r) {
793
+ return m(
794
+ ve(e),
795
+ Ne((t) => r ? typeof r == "function" ? r(t) : Mr(t) : _(t))
922
796
  );
923
797
  }
924
- function or(e) {
925
- return Ee(e).length <= 512;
798
+ function rt(e) {
799
+ return be(e).length <= 512;
926
800
  }
927
801
  export {
928
- cr as CancelledError,
929
- ht as InvalidLaunchParamsError,
930
- vt as InvokeCustomMethodFailedError,
931
- gt as LaunchParamsRetrieveError,
932
- mt as MethodParameterUnsupportedError,
933
- wt as MethodUnsupportedError,
934
- ur as TimeoutError,
935
- dt as UnknownEnvError,
936
- tr as applyPolyfills,
937
- Lt as captureSameReq,
938
- Ct as compareVersions,
939
- _r as createLogger,
940
- Vt as createPostEvent,
941
- nr as createStartParam,
942
- Ft as createStartParamFp,
943
- ve as debug,
944
- rr as decodeBase64Url,
945
- ye as decodeBase64UrlFp,
946
- ar as decodeStartParam,
947
- Rt as decodeStartParamFp,
948
- fr as deepSnakeToCamelObjKeys,
949
- C as emitEvent,
950
- Ee as encodeBase64Url,
951
- ae as hasWebviewProxy,
952
- er as invokeCustomMethod,
953
- qt as invokeCustomMethodFp,
954
- oe as isIframe,
955
- or as isSafeToCreateStartParam,
956
- Xt as isTMA,
957
- Mt as isTMAFp,
958
- h as logger,
959
- Zt as mockTelegramEnv,
960
- xt as off,
961
- St as offAll,
962
- de as on,
963
- At as postEvent,
964
- G as postEventFp,
965
- $t as postMessage,
966
- b as postMessageImpl,
967
- Yt as request,
968
- z as requestFp,
969
- Kt as resetGlobals,
970
- Jt as retrieveLaunchParams,
971
- bt as retrieveLaunchParamsFp,
972
- Bt as retrieveRawInitData,
973
- yt as retrieveRawInitDataFp,
974
- Ot as retrieveRawLaunchParams,
975
- M as retrieveRawLaunchParamsFp,
976
- Qt as setDebug,
977
- Ht as setTargetOrigin,
978
- X as supports,
979
- be as targetOrigin
802
+ st as CancelledError,
803
+ lr as InvalidLaunchParamsError,
804
+ wr as InvokeCustomMethodFailedError,
805
+ fr as LaunchParamsRetrieveError,
806
+ _r as MethodParameterUnsupportedError,
807
+ pr as MethodUnsupportedError,
808
+ ut as TimeoutError,
809
+ mr as UnknownEnvError,
810
+ Yr as applyPolyfills,
811
+ Tr as captureSameReq,
812
+ Ar as compareVersions,
813
+ ot as createLogger,
814
+ Hr as createPostEvent,
815
+ Zr as createStartParam,
816
+ Lr as createStartParamFp,
817
+ he as debug,
818
+ Xr as decodeBase64Url,
819
+ ve as decodeBase64UrlFp,
820
+ et as decodeStartParam,
821
+ Cr as decodeStartParamFp,
822
+ at as deepSnakeToCamelObjKeys,
823
+ A as emitEvent,
824
+ be as encodeBase64Url,
825
+ H as getReleaseVersion,
826
+ oe as hasWebviewProxy,
827
+ Kr as invokeCustomMethod,
828
+ $r as invokeCustomMethodFp,
829
+ ae as isIframe,
830
+ rt as isSafeToCreateStartParam,
831
+ Jr as isTMA,
832
+ Sr as isTMAFp,
833
+ g as logger,
834
+ Qr as mockTelegramEnv,
835
+ br as off,
836
+ Er as offAll,
837
+ ge as on,
838
+ kr as postEvent,
839
+ R as postEventFp,
840
+ xr as postMessage,
841
+ v as postMessageImpl,
842
+ Br as request,
843
+ U as requestFp,
844
+ Nr as resetGlobals,
845
+ jr as retrieveLaunchParams,
846
+ gr as retrieveLaunchParamsFp,
847
+ zr as retrieveRawInitData,
848
+ hr as retrieveRawInitDataFp,
849
+ Gr as retrieveRawLaunchParams,
850
+ S as retrieveRawLaunchParamsFp,
851
+ Vr as setDebug,
852
+ Dr as setTargetOrigin,
853
+ K as supports,
854
+ de as targetOrigin
980
855
  };
981
856
  //# sourceMappingURL=index.js.map