@tma.js/bridge 2.1.1 → 2.1.3

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,34 +1,34 @@
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 or, deepSnakeToCamelObjKeys as ar } from "@tma.js/toolkit";
4
- import { BetterPromise as Z, TimeoutError as Te } from "better-promises";
5
- import { CancelledError as sr, TimeoutError as ur } from "better-promises";
6
- import { parseLaunchParamsQueryFp as ee, themeParams as Ae, pipeJsonToSchema as te, miniAppsMessage as re, 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) {
1
+ import { is as L, looseObject as f, function as Z, nullish as v, boolean as z, number as G, string as b, optional as V, unknown as Se, parse as C, any as Te } from "valibot";
2
+ import { throwifyFpFn as S, getStorageValue as $e, setStorageValue as ee, createLogger as Ae, throwifyAnyEither as W, createCbCollector as Me, BetterTaskEither as Ce } from "@tma.js/toolkit";
3
+ import { createLogger as pr, deepSnakeToCamelObjKeys as _r } from "@tma.js/toolkit";
4
+ import { BetterPromise as te, TimeoutError as Le } from "better-promises";
5
+ import { CancelledError as lr, TimeoutError as mr } from "better-promises";
6
+ import { parseLaunchParamsQueryFp as re, themeParams as We, pipeJsonToSchema as ne, miniAppsMessage as oe, serializeLaunchParamsQuery as Fe, parseLaunchParamsQuery as qe } from "@tma.js/transformers";
7
+ import { errorClass as E, errorClassWithData as Oe } from "error-kid";
8
+ import { signal as P, computed as ae } from "@tma.js/signals";
9
+ import Re from "mitt";
10
+ function se(e) {
11
11
  return L(
12
- l({ TelegramWebviewProxy: l({ postEvent: Y() }) }),
12
+ f({ TelegramWebviewProxy: f({ postEvent: Z() }) }),
13
13
  e
14
14
  );
15
15
  }
16
- function ae() {
16
+ function ie() {
17
17
  try {
18
18
  return window.self !== window.top;
19
19
  } catch {
20
20
  return !0;
21
21
  }
22
22
  }
23
- var We = function(e, t, r) {
23
+ var Ue = function(e, t, r) {
24
24
  if (r || arguments.length === 2) for (var n = 0, a = t.length, o; n < a; n++)
25
25
  (o || !(n in t)) && (o || (o = Array.prototype.slice.call(t, 0, n)), o[n] = t[n]);
26
26
  return e.concat(o || Array.prototype.slice.call(t));
27
27
  };
28
- function Fe(e) {
28
+ function Ie(e) {
29
29
  return e;
30
30
  }
31
- function y(e, t, r, n, a, o, i, s, u) {
31
+ function x(e, t, r, n, a, o, s, i, c) {
32
32
  switch (arguments.length) {
33
33
  case 1:
34
34
  return e;
@@ -54,19 +54,19 @@ function y(e, t, r, n, a, o, i, s, u) {
54
54
  };
55
55
  case 7:
56
56
  return function() {
57
- return i(o(a(n(r(t(e.apply(this, arguments)))))));
57
+ return s(o(a(n(r(t(e.apply(this, arguments)))))));
58
58
  };
59
59
  case 8:
60
60
  return function() {
61
- return s(i(o(a(n(r(t(e.apply(this, arguments))))))));
61
+ return i(s(o(a(n(r(t(e.apply(this, arguments))))))));
62
62
  };
63
63
  case 9:
64
64
  return function() {
65
- return u(s(i(o(a(n(r(t(e.apply(this, arguments)))))))));
65
+ return c(i(s(o(a(n(r(t(e.apply(this, arguments)))))))));
66
66
  };
67
67
  }
68
68
  }
69
- function m(e, t, r, n, a, o, i, s, u) {
69
+ function l(e, t, r, n, a, o, s, i, c) {
70
70
  switch (arguments.length) {
71
71
  case 1:
72
72
  return e;
@@ -81,94 +81,103 @@ function m(e, t, r, n, a, o, i, s, u) {
81
81
  case 6:
82
82
  return o(a(n(r(t(e)))));
83
83
  case 7:
84
- return i(o(a(n(r(t(e))))));
84
+ return s(o(a(n(r(t(e))))));
85
85
  case 8:
86
- return s(i(o(a(n(r(t(e)))))));
86
+ return i(s(o(a(n(r(t(e)))))));
87
87
  case 9:
88
- return u(s(i(o(a(n(r(t(e))))))));
88
+ return c(i(s(o(a(n(r(t(e))))))));
89
89
  default: {
90
- for (var c = arguments[0], p = 1; p < arguments.length; p++)
91
- c = arguments[p](c);
92
- return c;
90
+ for (var u = arguments[0], p = 1; p < arguments.length; p++)
91
+ u = arguments[p](u);
92
+ return u;
93
93
  }
94
94
  }
95
95
  }
96
- var W = function(e, t) {
96
+ var T = function(e, t) {
97
97
  var r = 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
102
  return r(arguments) ? t.apply(this, n) : function(a) {
103
- return t.apply(void 0, We([a], n, !1));
103
+ return t.apply(void 0, Ue([a], n, !1));
104
104
  };
105
105
  };
106
- }, qe = { _tag: "None" }, Oe = function(e) {
106
+ }, je = { _tag: "None" }, ze = function(e) {
107
107
  return { _tag: "Some", value: e };
108
- }, Re = function(e) {
108
+ }, Ge = function(e) {
109
109
  return e._tag === "Left";
110
- }, Ue = function(e) {
110
+ }, Ve = function(e) {
111
111
  return { _tag: "Left", left: e };
112
- }, Ie = function(e) {
112
+ }, Be = function(e) {
113
113
  return { _tag: "Right", right: e };
114
- }, w = Ue, _ = Ie, ie = /* @__PURE__ */ W(2, function(e, t) {
115
- return E(e) ? e : t(e.right);
116
- }), je = function(e) {
114
+ }, m = Ve, _ = Be, ue = /* @__PURE__ */ T(2, function(e, t) {
115
+ return d(e) ? e : t(e.right);
116
+ }), De = function(e) {
117
117
  return function(t) {
118
- return E(t) ? t : _(e(t.right));
118
+ return d(t) ? t : _(e(t.right));
119
119
  };
120
- }, ze = function(e) {
120
+ }, Ne = function(e, t) {
121
+ return function(r) {
122
+ return d(r) ? m(e(r.left)) : _(t(r.right));
123
+ };
124
+ }, Je = function(e) {
121
125
  return function(t) {
122
- return E(t) ? w(e(t.left)) : t;
126
+ return d(t) ? m(e(t.left)) : t;
123
127
  };
124
- }, E = Re, se = function(e, t) {
128
+ }, d = Ge, ce = function(e, t) {
125
129
  return function(r) {
126
- return E(r) ? e(r.left) : t(r.right);
130
+ return d(r) ? e(r.left) : t(r.right);
127
131
  };
128
- }, Ge = se, F = se, Ve = F, q = function(e, t) {
132
+ }, Qe = ce, F = ce, He = F, q = function(e, t) {
129
133
  try {
130
134
  return _(e());
131
135
  } catch (r) {
132
- return w(t(r));
136
+ return m(t(r));
133
137
  }
134
- }, De = ie, Ne = ie, Be = qe, Je = Oe, Qe = function(e) {
138
+ }, Ke = ue, Ye = ue, Xe = je, Ze = ze, et = function(e) {
135
139
  return e._tag === "None";
136
- }, He = function(e, t) {
140
+ }, tt = function(e, t) {
137
141
  return function(r) {
138
- return Qe(r) ? e() : t(r.value);
142
+ return et(r) ? e() : t(r.value);
139
143
  };
140
- }, Ke = He;
141
- function Ye(e) {
142
- return y(_, e.of);
144
+ }, rt = tt;
145
+ function nt(e) {
146
+ return x(_, e.of);
143
147
  }
144
- function Xe(e) {
145
- return y(w, e.of);
148
+ function ot(e) {
149
+ return x(m, e.of);
146
150
  }
147
- function Ze(e) {
151
+ function at(e) {
148
152
  return function(t, r) {
149
153
  return e.chain(t, function(n) {
150
- return E(n) ? e.of(n) : r(n.right);
154
+ return d(n) ? e.of(n) : r(n.right);
151
155
  });
152
156
  };
153
157
  }
154
- function et(e) {
158
+ function st(e) {
159
+ return function(t, r, n) {
160
+ return e.map(t, Ne(r, n));
161
+ };
162
+ }
163
+ function it(e) {
155
164
  return function(t, r) {
156
165
  return function(n) {
157
166
  return e.map(n, F(t, r));
158
167
  };
159
168
  };
160
169
  }
161
- var ue = function(e, t) {
162
- return m(e, rt(t));
163
- }, tt = function(e, t) {
164
- return m(e, nt(t));
165
- }, rt = function(e) {
170
+ var pe = function(e, t) {
171
+ return l(e, ct(t));
172
+ }, ut = function(e, t) {
173
+ return l(e, pt(t));
174
+ }, ct = function(e) {
166
175
  return function(t) {
167
176
  return function() {
168
177
  return Promise.resolve().then(t).then(e);
169
178
  };
170
179
  };
171
- }, nt = function(e) {
180
+ }, pt = function(e) {
172
181
  return function(t) {
173
182
  return function() {
174
183
  return Promise.all([Promise.resolve().then(t), Promise.resolve().then(e)]).then(function(r) {
@@ -177,37 +186,37 @@ var ue = function(e, t) {
177
186
  });
178
187
  };
179
188
  };
180
- }, ce = function(e) {
189
+ }, _e = function(e) {
181
190
  return function() {
182
191
  return Promise.resolve(e);
183
192
  };
184
- }, ot = /* @__PURE__ */ W(2, function(e, t) {
193
+ }, _t = /* @__PURE__ */ T(2, function(e, t) {
185
194
  return function() {
186
195
  return Promise.resolve().then(e).then(function(r) {
187
196
  return t(r)();
188
197
  });
189
198
  };
190
- }), pe = "Task", at = {
191
- URI: pe,
192
- map: ue
193
- }, _e = {
194
- of: ce
195
- }, it = {
196
- URI: pe,
197
- map: ue,
198
- of: ce,
199
- ap: tt,
200
- chain: ot
201
- }, st = /* @__PURE__ */ Xe(_e), fe = /* @__PURE__ */ Ye(_e), le = /* @__PURE__ */ et(at), me = /* @__PURE__ */ W(2, Ze(it)), ut = me, ct = me;
202
- class pt extends b("MethodUnsupportedError", (t, r) => [
199
+ }), fe = "Task", le = {
200
+ URI: fe,
201
+ map: pe
202
+ }, me = {
203
+ of: _e
204
+ }, ft = {
205
+ URI: fe,
206
+ map: pe,
207
+ of: _e,
208
+ ap: ut,
209
+ chain: _t
210
+ }, lt = /* @__PURE__ */ ot(me), we = /* @__PURE__ */ nt(me), he = /* @__PURE__ */ it(le), mt = /* @__PURE__ */ T(3, st(le)), ge = /* @__PURE__ */ T(2, at(ft)), wt = ge, ht = ge;
211
+ class gt extends E("MethodUnsupportedError", (t, r) => [
203
212
  `Method "${t}" is unsupported in Mini Apps version ${r}`
204
213
  ]) {
205
214
  }
206
- class _t extends b("MethodParameterUnsupportedError", (t, r, n) => [
215
+ class dt extends E("MethodParameterUnsupportedError", (t, r, n) => [
207
216
  `Parameter "${r}" of "${t}" method is unsupported in Mini Apps version ${n}`
208
217
  ]) {
209
218
  }
210
- class ft extends Le(
219
+ class vt extends Oe(
211
220
  "LaunchParamsRetrieveError",
212
221
  (t) => ({ errors: t }),
213
222
  (t) => [
@@ -223,91 +232,91 @@ class ft extends Le(
223
232
  ]
224
233
  ) {
225
234
  }
226
- class lt extends b("InvalidLaunchParamsError", (t, r) => [
235
+ class bt extends E("InvalidLaunchParamsError", (t, r) => [
227
236
  `Invalid value for launch params: ${t}`,
228
237
  { cause: r }
229
238
  ]) {
230
239
  }
231
- class mt extends b("UnknownEnvError") {
240
+ class de extends E("UnknownEnvError") {
232
241
  }
233
- class wt extends b(
242
+ class yt extends E(
234
243
  "InvokeCustomMethodError",
235
244
  (t) => [`Server returned error: ${t}`]
236
245
  ) {
237
246
  }
238
- const G = "launchParams";
239
- function V(e) {
247
+ const B = "launchParams";
248
+ function D(e) {
240
249
  return e.replace(/^[^?#]*[?#]/, "").replace(/[?#]/g, "&");
241
250
  }
242
- const gt = y(S, De(ee)), jt = x(gt), ht = y(S, je((e) => {
251
+ const Et = x($, Ke(re)), Nt = S(Et), Pt = x($, De((e) => {
243
252
  const t = new URLSearchParams(e).get("tgWebAppData");
244
- return t ? Je(t) : Be;
245
- })), zt = y(
246
- ht,
247
- Ve((e) => {
253
+ return t ? Ze(t) : Xe;
254
+ })), Jt = x(
255
+ Pt,
256
+ He((e) => {
248
257
  throw e;
249
258
  }, (e) => e),
250
- Ke(() => {
259
+ rt(() => {
251
260
  }, (e) => e)
252
261
  );
253
- function S() {
262
+ function $() {
254
263
  const e = [];
255
264
  for (const [t, r] of [
256
265
  // Try to retrieve launch parameters from the current location. This method
257
266
  // can return nothing in case, location was changed, and then the page was
258
267
  // reloaded.
259
- [() => V(window.location.href), "window.location.href"],
268
+ [() => D(window.location.href), "window.location.href"],
260
269
  // Then, try using the lower level API - window.performance.
261
270
  [() => {
262
271
  const n = performance.getEntriesByType("navigation")[0];
263
- return n && V(n.name);
272
+ return n && D(n.name);
264
273
  }, "performance navigation entries"],
265
274
  // Finally, try using the session storage.
266
- [() => Pe(G), "local storage"]
275
+ [() => $e(B), "local storage"]
267
276
  ]) {
268
277
  const n = t();
269
278
  if (!n) {
270
279
  e.push({ source: r, error: new Error("Source is empty") });
271
280
  continue;
272
281
  }
273
- const a = m(
274
- ee(n),
275
- Ge((o) => o, () => !0)
282
+ const a = l(
283
+ re(n),
284
+ Qe((o) => o, () => !0)
276
285
  );
277
286
  if (typeof a != "boolean") {
278
287
  e.push({ source: r, error: a });
279
288
  continue;
280
289
  }
281
- return X(G, n), _(n);
290
+ return ee(B, n), _(n);
282
291
  }
283
- return w(new ft(e));
284
- }
285
- const Gt = x(S);
286
- function dt(e, t) {
287
- const r = /* @__PURE__ */ new Map(), n = Ce(), a = (o, i, s = !1) => {
288
- const u = r.get(o) || /* @__PURE__ */ new Map();
289
- r.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 = r.size;
295
- r.delete(o), f && !r.size && t();
292
+ return m(new vt(e));
293
+ }
294
+ const Qt = S($);
295
+ function xt(e, t) {
296
+ const r = /* @__PURE__ */ new Map(), n = Re(), a = (o, s, i = !1) => {
297
+ const c = r.get(o) || /* @__PURE__ */ new Map();
298
+ r.set(o, c);
299
+ const u = c.get(s) || [];
300
+ c.set(s, u);
301
+ const p = u.findIndex((w) => w[1] === i);
302
+ if (p >= 0 && (n.off(o, u[p][0]), u.splice(p, 1), !u.length && (c.delete(s), !c.size))) {
303
+ const w = r.size;
304
+ r.delete(o), w && !r.size && t();
296
305
  }
297
306
  };
298
307
  return {
299
- on(o, i, s) {
308
+ on(o, s, i) {
300
309
  !r.size && e();
301
- const u = () => {
302
- a(o, i, s);
303
- }, c = (...T) => {
304
- s && u(), o === "*" ? i({ name: T[0], payload: T[1] }) : i(...T);
310
+ const c = () => {
311
+ a(o, s, i);
312
+ }, u = (...g) => {
313
+ i && c(), o === "*" ? s({ name: g[0], payload: g[1] }) : s(...g);
305
314
  };
306
- n.on(o, c);
315
+ n.on(o, u);
307
316
  const p = r.get(o) || /* @__PURE__ */ new Map();
308
317
  r.set(o, p);
309
- const f = p.get(i) || [];
310
- return p.set(i, f), f.push([c, s || !1]), u;
318
+ const w = p.get(s) || [];
319
+ return p.set(s, w), w.push([u, i || !1]), c;
311
320
  },
312
321
  off: a,
313
322
  // eslint-disable-next-line @typescript-eslint/unbound-method
@@ -327,44 +336,44 @@ function A(e, t) {
327
336
  source: window.parent
328
337
  }));
329
338
  }
330
- function $(e, t, r) {
339
+ function M(e, t, r) {
331
340
  const n = [r], a = e[t];
332
341
  typeof a == "function" && n.push(a);
333
- const o = (...s) => {
334
- n.forEach((u) => u(...s));
335
- }, i = Object.assign((...s) => {
336
- o(...s);
342
+ const o = (...i) => {
343
+ n.forEach((c) => c(...i));
344
+ }, s = Object.assign((...i) => {
345
+ o(...i);
337
346
  }, {
338
347
  // Unwraps the composer.
339
348
  unwrap() {
340
- const { length: s } = n;
341
- if (s === 1) {
349
+ const { length: i } = n;
350
+ if (i === 1) {
342
351
  delete e[t];
343
352
  return;
344
353
  }
345
- if (s === 2) {
346
- N(e, t, n[1]);
354
+ if (i === 2) {
355
+ J(e, t, n[1]);
347
356
  return;
348
357
  }
349
- n.unshift(1), N(e, t, o);
358
+ n.unshift(1), J(e, t, o);
350
359
  }
351
360
  });
352
- we(
361
+ ve(
353
362
  e,
354
363
  t,
355
- () => i,
356
- (s) => n.push(s)
364
+ () => s,
365
+ (i) => n.push(i)
357
366
  );
358
367
  }
359
- function D(e, t) {
368
+ function N(e, t) {
360
369
  const r = e[t];
361
- we(e, t, () => r, (n) => {
370
+ ve(e, t, () => r, (n) => {
362
371
  Object.entries(n).forEach(([a, o]) => {
363
372
  r[a] = o;
364
373
  });
365
374
  });
366
375
  }
367
- function we(e, t, r, n) {
376
+ function ve(e, t, r, n) {
368
377
  Object.defineProperty(e, t, {
369
378
  enumerable: !0,
370
379
  configurable: !0,
@@ -372,7 +381,7 @@ function we(e, t, r, n) {
372
381
  set: n
373
382
  });
374
383
  }
375
- function N(e, t, r) {
384
+ function J(e, t, r) {
376
385
  Object.defineProperty(e, t, {
377
386
  enumerable: !0,
378
387
  configurable: !0,
@@ -380,27 +389,27 @@ function N(e, t, r) {
380
389
  value: r
381
390
  });
382
391
  }
383
- const vt = {
384
- clipboard_text_received: l({
385
- req_id: d(),
386
- data: h(d())
392
+ const kt = {
393
+ clipboard_text_received: f({
394
+ req_id: b(),
395
+ data: v(b())
387
396
  }),
388
- custom_method_invoked: l({
389
- req_id: d(),
390
- result: z(ye()),
391
- error: z(d())
397
+ custom_method_invoked: f({
398
+ req_id: b(),
399
+ result: V(Se()),
400
+ error: V(b())
392
401
  }),
393
- popup_closed: h(
394
- l({ button_id: h(d(), () => {
402
+ popup_closed: v(
403
+ f({ button_id: v(b(), () => {
395
404
  }) }),
396
405
  {}
397
406
  ),
398
- viewport_changed: h(
399
- l({
400
- height: j(),
401
- width: h(j(), () => window.innerWidth),
402
- is_state_stable: I(),
403
- is_expanded: I()
407
+ viewport_changed: v(
408
+ f({
409
+ height: G(),
410
+ width: v(G(), () => window.innerWidth),
411
+ is_state_stable: z(),
412
+ is_expanded: z()
404
413
  }),
405
414
  // TODO: At the moment, macOS has a bug with the invalid event payload - it is always equal to
406
415
  // null. Leaving this default value until the bug is fixed.
@@ -410,25 +419,25 @@ const vt = {
410
419
  is_expanded: !0
411
420
  })
412
421
  ),
413
- theme_changed: l({
414
- theme_params: Ae()
422
+ theme_changed: f({
423
+ theme_params: We()
415
424
  })
416
425
  };
417
- function B(e) {
426
+ function Q(e) {
418
427
  if (e.source !== window.parent)
419
428
  return;
420
429
  let t;
421
430
  try {
422
- t = M(te(re()), e.data);
431
+ t = C(ne(oe()), e.data);
423
432
  } catch {
424
433
  return;
425
434
  }
426
- const { eventType: r, eventData: n } = t, a = vt[r];
435
+ const { eventType: r, eventData: n } = t, a = kt[r];
427
436
  let o;
428
437
  try {
429
- o = a ? M(a, n) : n;
430
- } catch (i) {
431
- return g().forceError(
438
+ o = a ? C(a, n) : n;
439
+ } catch (s) {
440
+ return h().forceError(
432
441
  [
433
442
  `An error occurred processing the "${r}" event from the Telegram application.`,
434
443
  "Please, file an issue here:",
@@ -436,20 +445,20 @@ function B(e) {
436
445
  ].join(`
437
446
  `),
438
447
  t,
439
- i
448
+ s
440
449
  );
441
450
  }
442
- yt(r, o);
451
+ Tt(r, o);
443
452
  }
444
453
  const {
445
- on: ge,
446
- off: bt,
447
- emit: yt,
448
- clear: Et
449
- } = dt(
454
+ on: be,
455
+ off: St,
456
+ emit: Tt,
457
+ clear: $t
458
+ } = xt(
450
459
  () => {
451
460
  const e = window;
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);
461
+ !e.TelegramGameProxy && (e.TelegramGameProxy = {}), M(e.TelegramGameProxy, "receiveEvent", A), N(e, "TelegramGameProxy"), !e.Telegram && (e.Telegram = {}), !e.Telegram.WebView && (e.Telegram.WebView = {}), M(e.Telegram.WebView, "receiveEvent", A), N(e.Telegram, "WebView"), M(e, "TelegramGameProxy_receiveEvent", A), window.addEventListener("message", Q);
453
462
  },
454
463
  () => {
455
464
  [
@@ -464,71 +473,81 @@ const {
464
473
  return;
465
474
  const [n, a] = r;
466
475
  "unwrap" in a && (a.unwrap(), n && n !== t && !Object.keys(n).length && delete t[e[0]]);
467
- }), window.removeEventListener("message", B);
476
+ }), window.removeEventListener("message", Q);
468
477
  }
469
- ), P = k(!1), O = k("https://web.telegram.org"), Pt = (e) => {
470
- g().log("Event received:", e);
471
- }, he = ne(P);
472
- function Vt(e) {
473
- e !== P() && (P.set(e), (e ? ge : bt)("*", Pt));
478
+ ), k = P(!1), O = P("https://web.telegram.org"), At = (e) => {
479
+ h().log("Event received:", e);
480
+ }, ye = ae(k);
481
+ function Ht(e) {
482
+ e !== k() && (k.set(e), (e ? be : St)("*", At));
474
483
  }
475
- const de = ne(O);
476
- function Dt(e) {
477
- O.set(e), g().log("New target origin set", e);
484
+ const Ee = ae(O);
485
+ function Kt(e) {
486
+ O.set(e), h().log("New target origin set", e);
478
487
  }
479
- const v = k((...e) => {
488
+ const y = P((...e) => {
480
489
  window.parent.postMessage(...e);
481
- }), g = k(xe("Bridge", {
490
+ }), h = P(Ae("Bridge", {
482
491
  bgColor: "#9147ff",
483
492
  textColor: "white",
484
- shouldLog: he
493
+ shouldLog: ye
485
494
  }));
486
- function Nt() {
487
- Et(), [v, O, de, P, he, g].forEach((e) => {
495
+ function Yt() {
496
+ $t(), [y, O, Ee, k, ye, h].forEach((e) => {
488
497
  e.unsubAll(), "reset" in e && e.reset();
489
498
  });
490
499
  }
491
- const xt = (...e) => v()(...e);
492
- function kt(e, t) {
493
- m(
500
+ const Mt = (...e) => y()(...e);
501
+ function Ct(e, t) {
502
+ l(
494
503
  R(
495
504
  // @ts-expect-error It's ok, TS can't determine a specific override.
496
505
  e,
497
506
  t
498
507
  ),
499
- ze((r) => {
508
+ Je((r) => {
500
509
  throw r;
501
510
  })
502
511
  );
503
512
  }
504
513
  function R(e, t) {
505
- g().log("Posting event:", t ? { eventType: e, eventData: t } : { eventType: e });
514
+ h().log("Posting event:", t ? { eventType: e, eventData: t } : { eventType: e });
506
515
  const r = window, n = JSON.stringify({ eventType: e, eventData: t });
507
- return ae() ? (xt(n, de()), _(void 0)) : oe(r) ? (r.TelegramWebviewProxy.postEvent(e, JSON.stringify(t)), _(void 0)) : L(l({ external: l({ notify: Y() }) }), r) ? (r.external.notify(n), _(void 0)) : w(new mt());
516
+ return ie() ? (Mt(n, Ee()), _(void 0)) : se(r) ? (r.TelegramWebviewProxy.postEvent(e, JSON.stringify(t)), _(void 0)) : L(f({ external: f({ notify: Z() }) }), r) ? (r.external.notify(n), _(void 0)) : m(new de());
508
517
  }
509
518
  function U(e, t, r = {}) {
510
519
  const {
511
520
  // If no capture function was passed, we capture the first compatible event.
512
521
  capture: n = () => !0,
513
522
  postEvent: a = R
514
- } = r;
515
- return m(
523
+ } = r, o = P(), [s, i] = Me();
524
+ (Array.isArray(t) ? t : [t]).forEach((u) => {
525
+ s(
526
+ be(u, (p) => {
527
+ (Array.isArray(t) ? n({ event: u, payload: p }) : n(p)) && o.set([p]);
528
+ })
529
+ );
530
+ });
531
+ const c = (u) => (i(), u);
532
+ return l(
516
533
  async () => a(e, r.params),
517
- ct(() => ke((o, i, s) => {
518
- const [u, c] = Se();
519
- (Array.isArray(t) ? t : [t]).forEach((p) => {
520
- u(
521
- ge(p, (f) => {
522
- (Array.isArray(t) ? n({ event: p, payload: f }) : n(f)) && o(f);
523
- })
524
- );
525
- }), s.on("finalized", c);
526
- }, r))
534
+ ht(() => Ce((u, p, w) => {
535
+ const g = o();
536
+ if (g)
537
+ return u(g[0]);
538
+ const I = (j) => {
539
+ j && u(j[0]);
540
+ }, ke = () => {
541
+ o.unsub(I);
542
+ };
543
+ o.sub(I), w.on("finalized", ke);
544
+ }, r)),
545
+ mt(c, c)
527
546
  );
528
547
  }
529
- function Bt(e, t, r) {
548
+ function Xt(e, t, r) {
530
549
  const { postEvent: n } = r || {};
531
- return C(
550
+ return W(
532
551
  // @ts-expect-error TypeScript will not be able to handle our overrides here.
533
552
  U(e, t, {
534
553
  ...r,
@@ -536,64 +555,64 @@ function Bt(e, t, r) {
536
555
  try {
537
556
  return n(...a), _(void 0);
538
557
  } catch (o) {
539
- return w(o);
558
+ return m(o);
540
559
  }
541
560
  } : R
542
561
  })
543
562
  );
544
563
  }
545
- function Jt(e, t) {
546
- const r = St(
564
+ function Zt(e, t) {
565
+ const r = Lt(
547
566
  // @ts-expect-error TS doesn't get what override we are going to use.
548
567
  e,
549
568
  t
550
569
  );
551
- return typeof r == "function" ? Z.fn(() => C(r)) : r;
570
+ return typeof r == "function" ? te.fn(() => W(r)) : r;
552
571
  }
553
- function St(e, t) {
554
- const r = oe(window);
572
+ function Lt(e, t) {
573
+ const r = se(window);
555
574
  if (!e)
556
- return r || m(S(), F(() => !1, () => !0));
575
+ return r || l($(), F(() => !1, () => !0));
557
576
  if (r)
558
- return fe(!0);
577
+ return we(!0);
559
578
  const { timeout: n = 100 } = t || {};
560
- return m(
579
+ return l(
561
580
  U("web_app_request_theme", "theme_changed", { ...t, timeout: n }),
562
- le(
563
- (a) => Te.is(a) ? _(!1) : w(a),
581
+ he(
582
+ (a) => Le.is(a) || de.is(a) ? _(!1) : m(a),
564
583
  () => _(!0)
565
584
  )
566
585
  );
567
586
  }
568
- function Qt({ launchParams: e, onEvent: t, resetPostMessage: r } = {}) {
587
+ function er({ launchParams: e, onEvent: t, resetPostMessage: r } = {}) {
569
588
  if (e) {
570
589
  const o = typeof e == "string" || e instanceof URLSearchParams ? e.toString() : (
571
590
  // Here we have to trick serializeLaunchParamsQuery into thinking, it serializes a valid
572
591
  // value. We are doing it because we are working with tgWebAppData presented as a
573
592
  // string, not an object as serializeLaunchParamsQuery requires.
574
- $e({ ...e, tgWebAppData: void 0 }) + (e.tgWebAppData ? `&tgWebAppData=${encodeURIComponent(e.tgWebAppData.toString())}` : "")
593
+ Fe({ ...e, tgWebAppData: void 0 }) + (e.tgWebAppData ? `&tgWebAppData=${encodeURIComponent(e.tgWebAppData.toString())}` : "")
575
594
  );
576
595
  try {
577
- Me(o);
578
- } catch (i) {
579
- throw new lt(o, i);
596
+ qe(o);
597
+ } catch (s) {
598
+ throw new bt(o, s);
580
599
  }
581
- X("launchParams", o);
600
+ ee("launchParams", o);
582
601
  }
583
- if (ae()) {
602
+ if (ie()) {
584
603
  if (!t)
585
604
  return;
586
- r && v.reset();
587
- const o = v();
588
- v.set((...i) => {
589
- const [s] = i, u = () => {
590
- o(...i);
605
+ r && y.reset();
606
+ const o = y();
607
+ y.set((...s) => {
608
+ const [i] = s, c = () => {
609
+ o(...s);
591
610
  };
592
611
  try {
593
- const c = M(te(re()), s);
594
- t([c.eventType, c.eventData], u);
612
+ const u = C(ne(oe()), i);
613
+ t({ name: u.eventType, params: u.eventData }, c);
595
614
  } catch {
596
- u();
615
+ c();
597
616
  }
598
617
  });
599
618
  return;
@@ -602,30 +621,33 @@ function Qt({ launchParams: e, onEvent: t, resetPostMessage: r } = {}) {
602
621
  });
603
622
  window.TelegramWebviewProxy = {
604
623
  ...n,
605
- postEvent(o, i) {
606
- const s = () => {
607
- a(o, i);
624
+ postEvent(o, s) {
625
+ const i = () => {
626
+ a(o, s);
608
627
  };
609
- t ? t([o, i ? JSON.parse(i) : void 0], s) : s();
628
+ t ? t({
629
+ name: o,
630
+ params: s ? JSON.parse(s) : void 0
631
+ }, i) : i();
610
632
  }
611
- }, g().log("Environment was mocked by the mockTelegramEnv function");
633
+ }, h().log("Environment was mocked by the mockTelegramEnv function");
612
634
  }
613
- function Tt(e) {
635
+ function Wt(e) {
614
636
  return ({ req_id: t }) => t === e;
615
637
  }
616
- function J(e) {
638
+ function H(e) {
617
639
  return e.split(".").map(Number);
618
640
  }
619
- function At(e, t) {
620
- const r = J(e), n = J(t), a = Math.max(r.length, n.length);
641
+ function Ft(e, t) {
642
+ const r = H(e), n = H(t), a = Math.max(r.length, n.length);
621
643
  for (let o = 0; o < a; o += 1) {
622
- const i = r[o] || 0, s = n[o] || 0;
623
- if (i !== s)
624
- return i > s ? 1 : -1;
644
+ const s = r[o] || 0, i = n[o] || 0;
645
+ if (s !== i)
646
+ return s > i ? 1 : -1;
625
647
  }
626
648
  return 0;
627
649
  }
628
- const Q = {
650
+ const K = {
629
651
  "6.0": [
630
652
  "iframe_ready",
631
653
  "iframe_will_reload",
@@ -713,40 +735,40 @@ const Q = {
713
735
  ],
714
736
  9.1: ["web_app_hide_keyboard"]
715
737
  };
716
- function H(e, t) {
717
- return Object.keys(Q).find((n) => Q[n].some((a) => t ? typeof a == "object" && a.method === e && a.param === t : a === e)) || null;
738
+ function Y(e, t) {
739
+ return Object.keys(K).find((n) => K[n].some((a) => t ? typeof a == "object" && a.method === e && a.param === t : a === e)) || null;
718
740
  }
719
- function K(e, t, r) {
720
- const n = r ? H(
741
+ function X(e, t, r) {
742
+ const n = r ? Y(
721
743
  e,
722
744
  t
723
- ) : H(e);
724
- return n ? At(n, r || t) <= 0 : !1;
745
+ ) : Y(e);
746
+ return n ? Ft(n, r || t) <= 0 : !1;
725
747
  }
726
- function Ht(e, t = "strict") {
748
+ function tr(e, t = "strict") {
727
749
  const r = typeof t == "function" ? t : (n) => {
728
- const { method: a, version: o } = n, i = "param" in n ? new _t(a, n.param, o) : new pt(a, o);
750
+ const { method: a, version: o } = n, s = "param" in n ? new dt(a, n.param, o) : new gt(a, o);
729
751
  if (t === "strict")
730
- throw i;
731
- return g().forceWarn(i.message);
752
+ throw s;
753
+ return h().forceWarn(s.message);
732
754
  };
733
- return (n, a) => K(n, e) ? n === "web_app_set_header_color" && L(l({ color: Ee() }), a) && !K(n, "color", e) ? r({ version: e, method: n, param: "color" }) : kt(n, a) : r({ version: e, method: n });
755
+ return (n, a) => X(n, e) ? n === "web_app_set_header_color" && L(f({ color: Te() }), a) && !X(n, "color", e) ? r({ version: e, method: n, param: "color" }) : Ct(n, a) : r({ version: e, method: n });
734
756
  }
735
- function $t(e, t, r, n) {
736
- return m(
757
+ function qt(e, t, r, n) {
758
+ return l(
737
759
  U("web_app_invoke_custom_method", "custom_method_invoked", {
738
760
  ...n || {},
739
761
  params: { method: e, params: t, req_id: r },
740
- capture: Tt(r)
762
+ capture: Wt(r)
741
763
  }),
742
- ut(({ result: a, error: o }) => o ? st(new wt(o)) : fe(a))
764
+ wt(({ result: a, error: o }) => o ? lt(new yt(o)) : we(a))
743
765
  );
744
766
  }
745
- function Kt(e, t, r, n) {
746
- return Z.fn(() => m(
767
+ function rr(e, t, r, n) {
768
+ return te.fn(() => l(
747
769
  // @ts-expect-error TypeScript is unable to determine required override.
748
- $t(e, t, r, n),
749
- le(
770
+ qt(e, t, r, n),
771
+ he(
750
772
  (a) => {
751
773
  throw a;
752
774
  },
@@ -754,103 +776,103 @@ function Kt(e, t, r, n) {
754
776
  )
755
777
  )());
756
778
  }
757
- function Yt() {
779
+ function nr() {
758
780
  Object.hasOwn || (Object.hasOwn = function(e, t) {
759
781
  return Object.prototype.hasOwnProperty.call(e, t);
760
782
  });
761
783
  }
762
- function ve(e) {
784
+ function Pe(e) {
763
785
  return q(() => decodeURIComponent(
764
786
  atob(e).replace(/-/g, "+").replace(/_/g, "/").split("").map((t) => "%" + ("00" + t.charCodeAt(0).toString(16)).slice(-2)).join("")
765
787
  ), (t) => t);
766
788
  }
767
- const Xt = x(ve);
768
- function be(e) {
789
+ const or = S(Pe);
790
+ function xe(e) {
769
791
  return btoa(
770
792
  encodeURIComponent(e).replace(/%([0-9A-F]{2})/g, (t, r) => String.fromCharCode(parseInt(`0x${r}`)))
771
793
  ).replace(/\+/g, "-").replace(/\//g, "_");
772
794
  }
773
- var Mt = function(e) {
795
+ var Ot = function(e) {
774
796
  return q(function() {
775
797
  return JSON.parse(e);
776
- }, Fe);
798
+ }, Ie);
777
799
  };
778
- function Lt(e) {
779
- const t = be(typeof e == "string" ? e : JSON.stringify(e));
780
- return t.length > 512 ? w(new Error("Value is too long for start parameter")) : _(t);
781
- }
782
- const Zt = x(Lt);
783
- function er(e, t) {
784
- return C(
785
- Ct(
800
+ function Rt(e) {
801
+ const t = xe(typeof e == "string" ? e : JSON.stringify(e));
802
+ return t.length > 512 ? m(new Error("Value is too long for start parameter")) : _(t);
803
+ }
804
+ const ar = S(Rt);
805
+ function sr(e, t) {
806
+ return W(
807
+ Ut(
786
808
  e,
787
809
  // @ts-expect-error TypeScript is unable to detect a correct override.
788
810
  typeof t == "function" ? (r) => q(() => t(r), (n) => n) : t
789
811
  )
790
812
  );
791
813
  }
792
- function Ct(e, t) {
793
- return m(
794
- ve(e),
795
- Ne((r) => t ? typeof t == "function" ? t(r) : Mt(r) : _(r))
814
+ function Ut(e, t) {
815
+ return l(
816
+ Pe(e),
817
+ Ye((r) => t ? typeof t == "function" ? t(r) : Ot(r) : _(r))
796
818
  );
797
819
  }
798
- function tr(e) {
799
- return be(e).length <= 512;
820
+ function ir(e) {
821
+ return xe(e).length <= 512;
800
822
  }
801
823
  export {
802
- sr as CancelledError,
803
- lt as InvalidLaunchParamsError,
804
- wt as InvokeCustomMethodFailedError,
805
- ft as LaunchParamsRetrieveError,
806
- _t as MethodParameterUnsupportedError,
807
- pt as MethodUnsupportedError,
808
- ur as TimeoutError,
809
- mt as UnknownEnvError,
810
- Yt as applyPolyfills,
811
- Tt as captureSameReq,
812
- At as compareVersions,
813
- or as createLogger,
814
- Ht as createPostEvent,
815
- Zt as createStartParam,
816
- Lt as createStartParamFp,
817
- he as debug,
818
- Xt as decodeBase64Url,
819
- ve as decodeBase64UrlFp,
820
- er as decodeStartParam,
821
- Ct as decodeStartParamFp,
822
- ar as deepSnakeToCamelObjKeys,
824
+ lr as CancelledError,
825
+ bt as InvalidLaunchParamsError,
826
+ yt as InvokeCustomMethodFailedError,
827
+ vt as LaunchParamsRetrieveError,
828
+ dt as MethodParameterUnsupportedError,
829
+ gt as MethodUnsupportedError,
830
+ mr as TimeoutError,
831
+ de as UnknownEnvError,
832
+ nr as applyPolyfills,
833
+ Wt as captureSameReq,
834
+ Ft as compareVersions,
835
+ pr as createLogger,
836
+ tr as createPostEvent,
837
+ ar as createStartParam,
838
+ Rt as createStartParamFp,
839
+ ye as debug,
840
+ or as decodeBase64Url,
841
+ Pe as decodeBase64UrlFp,
842
+ sr as decodeStartParam,
843
+ Ut as decodeStartParamFp,
844
+ _r as deepSnakeToCamelObjKeys,
823
845
  A as emitEvent,
824
- be as encodeBase64Url,
825
- H as getReleaseVersion,
826
- oe as hasWebviewProxy,
827
- Kt as invokeCustomMethod,
828
- $t as invokeCustomMethodFp,
829
- ae as isIframe,
830
- tr as isSafeToCreateStartParam,
831
- Jt as isTMA,
832
- St as isTMAFp,
833
- g as logger,
834
- Qt as mockTelegramEnv,
835
- bt as off,
836
- Et as offAll,
837
- ge as on,
838
- kt as postEvent,
846
+ xe as encodeBase64Url,
847
+ Y as getReleaseVersion,
848
+ se as hasWebviewProxy,
849
+ rr as invokeCustomMethod,
850
+ qt as invokeCustomMethodFp,
851
+ ie as isIframe,
852
+ ir as isSafeToCreateStartParam,
853
+ Zt as isTMA,
854
+ Lt as isTMAFp,
855
+ h as logger,
856
+ er as mockTelegramEnv,
857
+ St as off,
858
+ $t as offAll,
859
+ be as on,
860
+ Ct as postEvent,
839
861
  R as postEventFp,
840
- xt as postMessage,
841
- v as postMessageImpl,
842
- Bt as request,
862
+ Mt as postMessage,
863
+ y as postMessageImpl,
864
+ Xt as request,
843
865
  U as requestFp,
844
- Nt as resetGlobals,
845
- jt as retrieveLaunchParams,
846
- gt as retrieveLaunchParamsFp,
847
- zt as retrieveRawInitData,
848
- ht as retrieveRawInitDataFp,
849
- Gt as retrieveRawLaunchParams,
850
- S as retrieveRawLaunchParamsFp,
851
- Vt as setDebug,
852
- Dt as setTargetOrigin,
853
- K as supports,
854
- de as targetOrigin
866
+ Yt as resetGlobals,
867
+ Nt as retrieveLaunchParams,
868
+ Et as retrieveLaunchParamsFp,
869
+ Jt as retrieveRawInitData,
870
+ Pt as retrieveRawInitDataFp,
871
+ Qt as retrieveRawLaunchParams,
872
+ $ as retrieveRawLaunchParamsFp,
873
+ Ht as setDebug,
874
+ Kt as setTargetOrigin,
875
+ X as supports,
876
+ Ee as targetOrigin
855
877
  };
856
878
  //# sourceMappingURL=index.js.map