tempest-react-sdk 0.84.0 → 0.86.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.
Files changed (38) hide show
  1. package/bin/create-tempest-app.mjs +10 -1
  2. package/dist/auth/create-tempest-auth.cjs +1 -1
  3. package/dist/auth/create-tempest-auth.cjs.map +1 -1
  4. package/dist/auth/create-tempest-auth.js +258 -187
  5. package/dist/auth/create-tempest-auth.js.map +1 -1
  6. package/dist/components/Markdown/Markdown.cjs +1 -1
  7. package/dist/components/Markdown/Markdown.cjs.map +1 -1
  8. package/dist/components/Markdown/Markdown.js +29 -28
  9. package/dist/components/Markdown/Markdown.js.map +1 -1
  10. package/dist/components/Markdown/markdown-parse.cjs +6 -5
  11. package/dist/components/Markdown/markdown-parse.cjs.map +1 -1
  12. package/dist/components/Markdown/markdown-parse.js +195 -160
  13. package/dist/components/Markdown/markdown-parse.js.map +1 -1
  14. package/dist/payments/PixCheckout.cjs +1 -1
  15. package/dist/payments/PixCheckout.cjs.map +1 -1
  16. package/dist/payments/PixCheckout.js +1 -1
  17. package/dist/payments/PixCheckout.js.map +1 -1
  18. package/dist/payments/mercado-pago.cjs.map +1 -1
  19. package/dist/payments/mercado-pago.js.map +1 -1
  20. package/dist/payments/outcome.cjs +1 -1
  21. package/dist/payments/outcome.cjs.map +1 -1
  22. package/dist/payments/outcome.js +8 -5
  23. package/dist/payments/outcome.js.map +1 -1
  24. package/dist/payments/use-mercado-pago-card.cjs +1 -1
  25. package/dist/payments/use-mercado-pago-card.cjs.map +1 -1
  26. package/dist/payments/use-mercado-pago-card.js +69 -61
  27. package/dist/payments/use-mercado-pago-card.js.map +1 -1
  28. package/dist/payments/use-pix-charge.cjs +1 -1
  29. package/dist/payments/use-pix-charge.cjs.map +1 -1
  30. package/dist/payments/use-pix-charge.js +36 -28
  31. package/dist/payments/use-pix-charge.js.map +1 -1
  32. package/dist/query/offline-persistence.cjs +1 -1
  33. package/dist/query/offline-persistence.cjs.map +1 -1
  34. package/dist/query/offline-persistence.js +100 -54
  35. package/dist/query/offline-persistence.js.map +1 -1
  36. package/dist/tempest-react-sdk.d.ts +245 -15
  37. package/package.json +7 -1
  38. package/template/package.json +6 -1
@@ -6,8 +6,8 @@ import { createAuthStore as i } from "./create-auth-store.js";
6
6
  import { decodeJWT as a } from "./jwt.js";
7
7
  import { createRefreshQueue as o } from "./refresh-queue.js";
8
8
  //#region src/auth/create-tempest-auth.ts
9
- var s = 1e4, c = 1e4;
10
- function l(e, t) {
9
+ var s = 1e4, c = 1e4, l = "sign-in-pending";
10
+ function u(e, t) {
11
11
  return e.length === 0 ? Promise.resolve() : new Promise((n) => {
12
12
  let r = setTimeout(n, t);
13
13
  Promise.allSettled(e).then(() => {
@@ -15,15 +15,15 @@ function l(e, t) {
15
15
  });
16
16
  });
17
17
  }
18
- function u() {
18
+ function d() {
19
19
  let e = globalThis.crypto;
20
20
  return typeof e?.randomUUID == "function" ? e.randomUUID() : `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
21
21
  }
22
- var d = /* @__PURE__ */ new Set();
22
+ var f = /* @__PURE__ */ new Set();
23
23
  function ee(t) {
24
- e() && !d.has(t) && (d.add(t), console.warn("[tempest-react-sdk] createTempestAuth: withCredentials is set without logoutPath. logout() cannot clear the HttpOnly refresh cookie, so the next refresh() — the boot restore — signs the same account back in. Pass logoutPath (the backend's cookie logout route) so the server revokes it."));
24
+ e() && !f.has(t) && (f.add(t), console.warn("[tempest-react-sdk] createTempestAuth: withCredentials is set without logoutPath. logout() cannot clear the HttpOnly refresh cookie, so the next refresh() — the boot restore — signs the same account back in. Pass logoutPath (the backend's cookie logout route) so the server revokes it."));
25
25
  }
26
- function f(e) {
26
+ function te(e) {
27
27
  if (!e) return null;
28
28
  try {
29
29
  let { sub: t } = a(e).payload;
@@ -32,7 +32,7 @@ function f(e) {
32
32
  return null;
33
33
  }
34
34
  }
35
- function te(e) {
35
+ function ne(e) {
36
36
  let t = e ?? {};
37
37
  return {
38
38
  token: t.access_token,
@@ -40,98 +40,106 @@ function te(e) {
40
40
  };
41
41
  }
42
42
  function p(a) {
43
- let { baseURL: d, prefix: p, loginPath: ne = "/api/auth/login", refreshPath: m = "/api/auth/refresh", logoutPath: h, onLogoutError: re, mePath: ie, storeName: g = "tempest-auth", storage: _ = "local", withCredentials: v = !1, csrf: ae, fetcher: y, parseTokens: b = te, parseUser: oe, refreshBody: x = (e) => e ? { refresh_token: e } : void 0, retry: se, redirectTo: S, onSessionEnd: ce } = a;
43
+ let { baseURL: f, prefix: p, loginPath: re = "/api/auth/login", refreshPath: m = "/api/auth/refresh", logoutPath: h, onLogoutError: ie, mePath: ae, storeName: g = "tempest-auth", storage: _ = "local", withCredentials: v = !1, csrf: oe, fetcher: se, parseTokens: y = ne, parseUser: ce, refreshBody: b = (e) => e ? { refresh_token: e } : void 0, retry: le, redirectTo: ue, onSessionEnd: de } = a;
44
44
  v && !h && ee(g);
45
- let C = i({
45
+ let x = i({
46
46
  name: g,
47
47
  storage: _
48
- }), w = `${g}-refresh`;
49
- function T() {
48
+ }), S = `${g}-refresh`;
49
+ function C() {
50
50
  return typeof window > "u" ? null : _ === "session" ? window.sessionStorage : window.localStorage;
51
51
  }
52
- function E() {
53
- return T()?.getItem(w) ?? null;
54
- }
55
- let D = E();
56
- function O(e) {
57
- D = e;
58
- let t = T();
59
- t && (e ? t.setItem(w, e) : t.removeItem(w));
60
- }
61
- let k = `${g}-lineage`, le = `tempest-react-sdk:${g}:refresh`, A = T()?.getItem(k) ?? null;
62
- function j(e) {
63
- A = e;
64
- let t = T();
65
- t && (e ? t.setItem(k, e) : t.removeItem(k));
66
- }
67
- let M = () => C.getState(), N = () => M().token;
68
- async function ue() {
69
- if (!ie) return M().user;
70
- let e = P, n;
52
+ function w() {
53
+ return C()?.getItem(S) ?? null;
54
+ }
55
+ let T = w();
56
+ function E(e) {
57
+ T = e;
58
+ let t = C();
59
+ t && (e ? t.setItem(S, e) : t.removeItem(S));
60
+ }
61
+ let D = `${g}-lineage`, fe = `tempest-react-sdk:${g}:refresh`, pe = `tempest-react-sdk:${g}:sign-in`, O = C()?.getItem(D) ?? null;
62
+ function k(e) {
63
+ O = e;
64
+ let t = C();
65
+ t && (e ? t.setItem(D, e) : t.removeItem(D));
66
+ }
67
+ let A = () => x.getState(), j = () => A().token;
68
+ async function me() {
69
+ if (!ae) return A().user;
70
+ let e = M, n;
71
71
  try {
72
- n = await Q.get(ie, { skipAuthRetry: !0 });
72
+ n = await Y.get(ae, { skipAuthRetry: !0 });
73
73
  } catch (n) {
74
- throw P === e ? n : new t();
74
+ throw M === e ? n : new t();
75
75
  }
76
- if (P !== e || !Z().continues) throw new t();
77
- return M().setUser(n), n;
76
+ if (M !== e || !J().continues) throw new t();
77
+ return A().setUser(n), n;
78
78
  }
79
- let P = 0, de = Promise.resolve(), F = 0, I = /* @__PURE__ */ new Set(), L = /* @__PURE__ */ new Set(), R = /* @__PURE__ */ new Set(), z = /* @__PURE__ */ new Set();
80
- function B(e) {
79
+ let M = 0, he = Promise.resolve(), N = 0, P = /* @__PURE__ */ new Set(), F = 0, I = /* @__PURE__ */ new Set(), L = /* @__PURE__ */ new Set(), R = /* @__PURE__ */ new Set();
80
+ function z(e) {
81
81
  let t = e.then(() => void 0, () => void 0);
82
- return R.add(t), t.then(() => R.delete(t)), e;
82
+ return L.add(t), t.then(() => L.delete(t)), e;
83
83
  }
84
- function fe(t) {
84
+ function ge(t) {
85
85
  e() && console.warn("[tempest-react-sdk] createTempestAuth: logoutPath revocation failed", t);
86
86
  try {
87
- re?.(t);
87
+ ie?.(t);
88
88
  } catch {
89
89
  return;
90
90
  }
91
91
  }
92
- function V(e) {
92
+ function _e(e) {
93
93
  let t = (async () => {
94
94
  try {
95
95
  await e();
96
96
  } catch (e) {
97
- fe(e);
97
+ ge(e);
98
98
  }
99
99
  })();
100
- return L.add(t), t.then(() => L.delete(t)), t;
100
+ return I.add(t), t.then(() => I.delete(t)), t;
101
101
  }
102
- function H(e, t) {
103
- h && !v && t && V(() => U(e).post(h, { body: x(t) }));
102
+ function B(e, t) {
103
+ h && !v && t && _e(() => V(e).post(h, { body: b(t) }));
104
104
  }
105
- function U(e) {
105
+ function V(e) {
106
106
  return n({
107
- baseURL: d,
107
+ baseURL: f,
108
108
  prefix: p,
109
109
  withCredentials: v,
110
- csrf: ae,
111
- fetcher: y,
110
+ csrf: oe,
111
+ fetcher: se,
112
112
  getToken: () => e
113
113
  });
114
114
  }
115
- function W() {
116
- P += 1, q = o(G);
115
+ function ve() {
116
+ M += 1, W = o(ye);
117
117
  }
118
- async function G() {
119
- let e = N(), t = P;
120
- z.add(t);
121
- let n;
118
+ async function ye() {
119
+ let e = j(), n = M;
120
+ R.add(n);
121
+ let r;
122
+ try {
123
+ r = await H(() => Se(e)), r === l && (await xe(), r = await H(() => Se(e)));
124
+ } finally {
125
+ R.delete(n);
126
+ }
127
+ if (r === l) throw new t();
128
+ if (!r) return;
129
+ let i = r;
122
130
  try {
123
- n = await K(() => pe(e));
131
+ if (M !== n || F > 0) throw B(i.token ?? null, i.refreshToken), new t();
132
+ await G(K(i));
124
133
  } finally {
125
- z.delete(t);
134
+ i.release();
126
135
  }
127
- n && await J(Y(n));
128
136
  }
129
- async function K(e) {
130
- let t = _ === "local" && typeof navigator < "u" ? navigator.locks : void 0;
137
+ async function H(e) {
138
+ let t = U();
131
139
  if (!t) return e();
132
140
  let n = new AbortController(), r = setTimeout(() => n.abort(), c), i = !1, a;
133
141
  try {
134
- await t.request(le, { signal: n.signal }, async () => {
142
+ await t.request(fe, { signal: n.signal }, async () => {
135
143
  i = !0, clearTimeout(r), a = await e();
136
144
  });
137
145
  } catch (t) {
@@ -140,104 +148,165 @@ function p(a) {
140
148
  }
141
149
  return a;
142
150
  }
143
- async function pe(e) {
144
- let n = e !== null || M().user !== null || D !== null, r = Z();
145
- if (!n && N() !== null) return null;
146
- if (!r.continues) throw new t();
147
- if (N() !== e) return null;
148
- let i = P, a;
151
+ function U() {
152
+ return _ === "local" && typeof navigator < "u" ? navigator.locks : void 0;
153
+ }
154
+ async function be() {
155
+ let e = U();
156
+ if (!e) return () => void 0;
157
+ let t, n = new Promise((e) => {
158
+ t = e;
159
+ });
149
160
  try {
150
- a = await B(Q.post(m, {
151
- body: x(E()),
152
- skipAuth: !0
153
- }));
154
- } catch (e) {
155
- throw P === i ? e : new t();
161
+ return await new Promise((r, i) => {
162
+ e.request(pe, { ifAvailable: !0 }, (e) => {
163
+ if (e === null) r(null);
164
+ else return r(t), n;
165
+ }).catch(i);
166
+ });
167
+ } catch {
168
+ return () => void 0;
169
+ }
170
+ }
171
+ async function xe() {
172
+ let e = U();
173
+ if (!e) return;
174
+ let t = new AbortController(), n = setTimeout(() => t.abort(), c);
175
+ await e.request(pe, { signal: t.signal }, () => void 0).catch(() => void 0), clearTimeout(n);
176
+ }
177
+ async function Se(e) {
178
+ let n = await be();
179
+ if (!n) return l;
180
+ let r = !1;
181
+ try {
182
+ let i = e !== null || A().user !== null || T !== null, a = J();
183
+ if (!i && j() !== null) return null;
184
+ if (!a.continues) throw new t();
185
+ if (j() !== e) return null;
186
+ let o = M, s;
187
+ try {
188
+ s = await z(Y.post(m, {
189
+ body: b(w()),
190
+ skipAuth: !0
191
+ }));
192
+ } catch (e) {
193
+ throw M === o ? e : new t();
194
+ }
195
+ let { token: c, refreshToken: l } = y(s);
196
+ if (M !== o || !J().continues) throw B(c ?? null, l), new t();
197
+ let u = te(e), f = te(c);
198
+ return u !== null && f !== null && u !== f ? (r = !0, {
199
+ data: s,
200
+ token: c,
201
+ refreshToken: l,
202
+ release: n
203
+ }) : (i || k(d()), A().setToken(c), l && E(l), null);
204
+ } finally {
205
+ r || n();
156
206
  }
157
- let { token: o, refreshToken: s } = b(a);
158
- if (P !== i || !Z().continues) throw H(o ?? null, s), new t();
159
- let c = f(e), l = f(o);
160
- return c !== null && l !== null && c !== l ? {
161
- data: a,
162
- token: o,
163
- refreshToken: s
164
- } : (n || j(u()), M().setToken(o), s && O(s), null);
165
- }
166
- let q = o(G);
167
- function me(e) {
168
- let t = N();
207
+ }
208
+ let W = o(ye);
209
+ function Ce(e) {
210
+ let t = j();
169
211
  return t === null ? !1 : e.token === null || e.token !== t;
170
212
  }
171
- function he() {
172
- return N() === null && E() === null;
213
+ function we() {
214
+ return j() === null && w() === null;
173
215
  }
174
- async function ge() {
175
- if (!(I.size > 0 && F === 0 && (await Promise.allSettled([...I]), N() !== null))) throw Error("anonymous 401 with no session");
216
+ async function Te() {
217
+ if (!(P.size > 0 && N === 0 && (await Promise.allSettled([...P]), j() !== null))) throw Error("anonymous 401 with no session");
176
218
  }
177
- async function _e(e) {
178
- if (e.epoch !== null && e.epoch !== P) throw new t();
179
- if (me(e)) {
219
+ async function Ee(e) {
220
+ if (e.epoch !== null && e.epoch !== M) throw new t();
221
+ if (Ce(e)) {
180
222
  if (e.token === null) throw Error("anonymous 401 under a live session");
181
223
  return;
182
224
  }
183
- if (e.token === null && he()) return z.has(P) ? q() : ge();
184
- let n = P;
185
- if (await q(), P !== n) throw new t();
225
+ if (e.token === null && we()) return R.has(M) ? W() : Te();
226
+ let n = M;
227
+ if (await W(), M !== n) throw new t();
186
228
  }
187
- async function ve(e, n) {
188
- if (n.epoch !== null && n.epoch !== P || !Z().continues) throw new t();
189
- me(n) || n.token === null && he() || await De();
229
+ async function De(e, n) {
230
+ if (n.epoch !== null && n.epoch !== M || !J().continues) throw new t();
231
+ Ce(n) || n.token === null && we() || await Le();
190
232
  }
191
- async function ye(e) {
192
- return L.size > 0 && await l([...L], s), J(Se(e));
233
+ async function Oe(e) {
234
+ F += 1;
235
+ try {
236
+ return I.size > 0 && await u([...I], s), await G(Me(e));
237
+ } finally {
238
+ --F;
239
+ }
193
240
  }
194
- async function be() {
195
- return L.size > 0 && await l([...L], s), J(xe());
241
+ async function ke() {
242
+ return I.size > 0 && await u([...I], s), G(Ae());
196
243
  }
197
- async function J(e) {
198
- I.add(e);
244
+ async function G(e) {
245
+ P.add(e);
199
246
  try {
200
247
  return await e;
201
248
  } finally {
202
- I.delete(e);
249
+ P.delete(e);
203
250
  }
204
251
  }
205
- async function xe() {
206
- let e = P, n = await K(() => B(Q.post(m, {
207
- body: x(E()),
208
- skipAuth: !0
209
- }))), { token: r, refreshToken: i } = b(n);
210
- if (P !== e) throw H(r ?? null, i), new t();
211
- return Y({
212
- data: n,
213
- token: r,
214
- refreshToken: i
252
+ async function Ae() {
253
+ let e = M, n = await H(async () => {
254
+ let e = await be();
255
+ if (!e) return null;
256
+ try {
257
+ return {
258
+ data: await z(Y.post(m, {
259
+ body: b(w()),
260
+ skipAuth: !0
261
+ })),
262
+ release: e
263
+ };
264
+ } catch (t) {
265
+ throw e(), t;
266
+ }
215
267
  });
268
+ if (!n) return je(e);
269
+ try {
270
+ let { token: r, refreshToken: i } = y(n.data);
271
+ if (M !== e) throw B(r ?? null, i), new t();
272
+ return await K({
273
+ data: n.data,
274
+ token: r,
275
+ refreshToken: i
276
+ });
277
+ } finally {
278
+ n.release();
279
+ }
216
280
  }
217
- async function Se(e) {
218
- let n = P, r = await B(Q.post(ne, {
281
+ async function je(e) {
282
+ if (await xe(), M !== e || (await J().done.catch(() => void 0), j() === null)) throw new t();
283
+ let n = A().user;
284
+ return n === null ? me() : n;
285
+ }
286
+ async function Me(e) {
287
+ let n = M, r = await z(Y.post(re, {
219
288
  body: e,
220
289
  skipAuth: !0
221
- })), { token: i, refreshToken: a } = b(r);
222
- if (P !== n) throw H(i ?? null, a), new t();
223
- return H(N(), E() ?? void 0), Y({
290
+ })), { token: i, refreshToken: a } = y(r);
291
+ if (M !== n) throw B(i ?? null, a), new t();
292
+ return B(j(), w() ?? void 0), K({
224
293
  data: r,
225
294
  token: i,
226
295
  refreshToken: a
227
296
  });
228
297
  }
229
- async function Y(e) {
230
- let { done: n } = X("switch"), r = P;
231
- if (await n.catch(() => void 0), P !== r) throw new t();
232
- j(u()), M().setToken(e.token), O(e.refreshToken ?? null);
233
- let i = oe?.(e.data);
234
- return i == null ? ue() : (M().setUser(i), i);
235
- }
236
- function X(e) {
237
- let { user: t, token: n } = M(), r = n !== null || t !== null || E() !== null;
238
- return (r || e !== "expired") && W(), M().logout(), O(null), j(null), r ? {
298
+ async function K(e) {
299
+ let { done: n } = q("switch"), r = M;
300
+ if (await n.catch(() => void 0), M !== r) throw new t();
301
+ k(d()), A().setToken(e.token), E(e.refreshToken ?? null);
302
+ let i = ce?.(e.data);
303
+ return i == null ? me() : (A().setUser(i), i);
304
+ }
305
+ function q(e) {
306
+ let { user: t, token: n } = A(), r = n !== null || t !== null || w() !== null;
307
+ return (r || e !== "expired") && ve(), A().logout(), E(null), k(null), r ? {
239
308
  live: r,
240
- done: Ce({
309
+ done: Ne({
241
310
  reason: e,
242
311
  user: t,
243
312
  token: n,
@@ -245,29 +314,29 @@ function p(a) {
245
314
  })
246
315
  } : {
247
316
  live: r,
248
- done: e === "switch" || F === 0 ? de : Promise.resolve()
317
+ done: e === "switch" || N === 0 ? he : Promise.resolve()
249
318
  };
250
319
  }
251
- function Ce(e) {
252
- if (!ce) return Promise.resolve();
253
- let t = U(e.token);
254
- F += 1;
320
+ function Ne(e) {
321
+ if (!de) return Promise.resolve();
322
+ let t = V(e.token);
323
+ N += 1;
255
324
  let n = (async () => {
256
325
  try {
257
- await ce({
326
+ await de({
258
327
  ...e,
259
328
  api: t
260
329
  });
261
330
  } finally {
262
- --F;
331
+ --N;
263
332
  }
264
333
  })();
265
- return de = n.then(() => void 0, () => void 0), n.then(() => void 0);
334
+ return he = n.then(() => void 0, () => void 0), n.then(() => void 0);
266
335
  }
267
- function we() {
268
- let e = T();
336
+ function Pe() {
337
+ let e = C();
269
338
  if (!e) return null;
270
- let t = e.getItem(w), n = e.getItem(k), r = e.getItem(g);
339
+ let t = e.getItem(S), n = e.getItem(D), r = e.getItem(g);
271
340
  if (!r) return {
272
341
  user: null,
273
342
  token: null,
@@ -291,19 +360,19 @@ function p(a) {
291
360
  };
292
361
  }
293
362
  }
294
- function Z() {
295
- let e = we(), { user: t, token: n } = M();
363
+ function J() {
364
+ let e = Pe(), { user: t, token: n } = A();
296
365
  if (e === null) return {
297
366
  continues: !0,
298
367
  done: Promise.resolve()
299
368
  };
300
369
  let r = JSON.stringify(e.user) === JSON.stringify(t);
301
- if (e.token === n && e.refreshToken === D && e.lineage === A && r) return {
370
+ if (e.token === n && e.refreshToken === T && e.lineage === O && r) return {
302
371
  continues: !0,
303
372
  done: Promise.resolve()
304
373
  };
305
- let i = e.lineage !== null || A !== null ? e.lineage === A : e.token === n || n !== null && r, a = e.token !== null && i, o = n !== null || t !== null || D !== null;
306
- if (a || W(), D = e.refreshToken, A = e.lineage, C.setState({
374
+ let i = e.lineage !== null || O !== null ? e.lineage === O : e.token === n || n !== null && r, a = e.token !== null && i, o = n !== null || t !== null || T !== null;
375
+ if (a || ve(), T = e.refreshToken, O = e.lineage, x.setState({
307
376
  user: e.user,
308
377
  token: e.token,
309
378
  isAuthenticated: e.token !== null
@@ -311,7 +380,7 @@ function p(a) {
311
380
  continues: a,
312
381
  done: Promise.resolve()
313
382
  };
314
- let s = Ce({
383
+ let s = Ne({
315
384
  reason: e.token === null ? "logout" : "switch",
316
385
  user: t,
317
386
  token: n,
@@ -322,56 +391,58 @@ function p(a) {
322
391
  done: s
323
392
  };
324
393
  }
325
- function Te() {
394
+ function Fe() {
326
395
  if (!h) return null;
327
- let e = h, { token: t, user: n } = M(), r = E();
396
+ let e = h, { token: t, user: n } = A(), r = w();
328
397
  if (!v && t === null && n === null && r === null) return null;
329
- let i = v ? [...R] : [];
330
- return V(async () => (await l(i, s), U(t).post(e, { body: x(r) })));
398
+ let i = v ? [...L] : [];
399
+ return _e(async () => (await u(i, s), V(t).post(e, { body: b(r) })));
331
400
  }
332
- function Ee() {
333
- let e = Z();
401
+ function Ie() {
402
+ let e = J();
334
403
  if (!e.continues) return e.done;
335
- let t = Te(), { done: n } = X("logout");
404
+ let t = Fe(), { done: n } = q("logout");
336
405
  return t ? Promise.all([t, n]).then(() => void 0) : n;
337
406
  }
338
- async function De() {
339
- let { live: e, done: t } = X("expired");
340
- await t.catch(() => void 0), e && S && typeof window < "u" && window.location.assign(S);
407
+ async function Le() {
408
+ let { live: e, done: t } = q("expired");
409
+ await t.catch(() => void 0), e && ue && typeof window < "u" && window.location.assign(ue);
341
410
  }
342
- let Q = n({
343
- baseURL: d,
411
+ let Y = n({
412
+ baseURL: f,
344
413
  prefix: p,
345
414
  withCredentials: v,
346
- csrf: ae,
347
- fetcher: y,
348
- getToken: N,
349
- getSessionEpoch: () => P,
350
- refresh: _e,
351
- retry: se,
352
- onUnauthorized: ve
353
- }), Oe = () => q(), $ = null, ke = () => N() === null ? null : A === null ? ($?.epoch !== P && ($ = {
354
- epoch: P,
355
- key: u()
356
- }), $.key) : A, Ae = {
357
- current: ke,
358
- subscribe: (e) => C.subscribe(e)
415
+ csrf: oe,
416
+ fetcher: se,
417
+ getToken: j,
418
+ getSessionEpoch: () => M,
419
+ refresh: Ee,
420
+ retry: le,
421
+ onUnauthorized: De
422
+ }), Re = () => W(), X = null, Z = () => j() === null ? null : O === null ? (X?.epoch !== M && (X = {
423
+ epoch: M,
424
+ key: d()
425
+ }), X.key) : O, Q = {
426
+ current: Z,
427
+ subscribe: (e) => x.subscribe(e)
359
428
  };
360
- r(Q, Ae), r(N, Ae);
361
- function je(e) {
362
- e.storageArea === T() && (e.key === null || e.key === g || e.key === w || e.key === k) && Z();
363
- }
364
- let Me = typeof window > "u" ? null : window;
365
- return Me?.addEventListener("storage", je), {
366
- useAuthStore: C,
367
- api: Q,
368
- login: ye,
369
- logout: Ee,
370
- refresh: Oe,
371
- restore: be,
372
- getToken: N,
373
- sessionKey: ke,
374
- dispose: () => Me?.removeEventListener("storage", je)
429
+ r(Y, Q), r(j, Q), r(Z, Q);
430
+ let ze = () => P.size === 0 && !(R.size > 0 && j() === null);
431
+ function Be(e) {
432
+ e.storageArea === C() && (e.key === null || e.key === g || e.key === S || e.key === D) && J();
433
+ }
434
+ let $ = typeof window > "u" ? null : window;
435
+ return $?.addEventListener("storage", Be), {
436
+ useAuthStore: x,
437
+ api: Y,
438
+ login: Oe,
439
+ logout: Ie,
440
+ refresh: Re,
441
+ restore: ke,
442
+ getToken: j,
443
+ sessionKey: Z,
444
+ isSessionKnown: ze,
445
+ dispose: () => $?.removeEventListener("storage", Be)
375
446
  };
376
447
  }
377
448
  //#endregion