@tma.js/bridge 2.2.0 → 2.2.2

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