@nylas/react 1.1.0-canary.4 → 1.1.0-canary.7

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 (103) hide show
  1. package/dist/elements/index.d.ts +1 -0
  2. package/dist/{elements-dc5b338e-fb5dbfb5.js → elements-dc5b338e-6078b875.js} +1 -1
  3. package/dist/{elements-dc5b338e-81a0319c.cjs → elements-dc5b338e-96e197ca.cjs} +1 -1
  4. package/dist/focus-visible-e8093c16-018ffd63.cjs +1 -0
  5. package/dist/{focus-visible-e8093c16-28fc08a0.js → focus-visible-e8093c16-ab01d60a.js} +5 -3
  6. package/dist/index-1fd24ccf.js +3582 -0
  7. package/dist/index-823fdc6f.cjs +36 -0
  8. package/dist/react.cjs +1 -1
  9. package/dist/react.js +53 -52
  10. package/package.json +3 -3
  11. package/dist/_commonjsHelpers-57e89916-4a3ae7d8.cjs +0 -1
  12. package/dist/_commonjsHelpers-57e89916-af061c86.js +0 -19
  13. package/dist/add-circle-icon_22.entry-077661c3.cjs +0 -1
  14. package/dist/add-circle-icon_22.entry-f699d91e.js +0 -1733
  15. package/dist/archive-icon_7.entry-40b7ef3b.js +0 -75
  16. package/dist/archive-icon_7.entry-e8630de9.cjs +0 -1
  17. package/dist/arrow-icon.entry-58246303.js +0 -15
  18. package/dist/arrow-icon.entry-ffa53114.cjs +0 -1
  19. package/dist/bold-icon_3.entry-106a4e77.cjs +0 -1
  20. package/dist/bold-icon_3.entry-f5f1643d.js +0 -35
  21. package/dist/calendar-cancel-icon.entry-6ae0fd0f.cjs +0 -1
  22. package/dist/calendar-cancel-icon.entry-75b15b19.js +0 -15
  23. package/dist/calendar-check-icon_2.entry-57339318.js +0 -25
  24. package/dist/calendar-check-icon_2.entry-c57f83f3.cjs +0 -1
  25. package/dist/calendar-icon.entry-2069fec6.js +0 -15
  26. package/dist/calendar-icon.entry-492c2630.cjs +0 -1
  27. package/dist/chevron-icon_3.entry-83df50c3.js +0 -117
  28. package/dist/chevron-icon_3.entry-878ff6df.cjs +0 -1
  29. package/dist/close-icon.entry-480c199d.js +0 -15
  30. package/dist/close-icon.entry-8015ca05.cjs +0 -1
  31. package/dist/constants-6ee60d6d-4cd16450.js +0 -3740
  32. package/dist/constants-6ee60d6d-6c0540db.cjs +0 -15
  33. package/dist/document-refresh-icon.entry-06f7972b.cjs +0 -1
  34. package/dist/document-refresh-icon.entry-09870b14.js +0 -15
  35. package/dist/focus-visible-e8093c16-f380b705.cjs +0 -1
  36. package/dist/forward-icon_6.entry-8bb201eb.js +0 -955
  37. package/dist/forward-icon_6.entry-eeecf2a2.cjs +0 -3
  38. package/dist/globe-icon.entry-a690028c.cjs +0 -1
  39. package/dist/globe-icon.entry-d515cbfa.js +0 -15
  40. package/dist/google-logo-icon_3.entry-2164cec1.js +0 -258
  41. package/dist/google-logo-icon_3.entry-b2b85284.cjs +0 -1
  42. package/dist/index-2b8437d6.cjs +0 -30
  43. package/dist/index-db0c5017.js +0 -1824
  44. package/dist/index.es-2578c6a5-098d48d0.cjs +0 -7
  45. package/dist/index.es-2578c6a5-71441142.js +0 -3133
  46. package/dist/info-icon_2.entry-300ef196.js +0 -34
  47. package/dist/info-icon_2.entry-e286aaa5.cjs +0 -1
  48. package/dist/loading-icon.entry-6d8adaa4.js +0 -15
  49. package/dist/loading-icon.entry-dc40e97d.cjs +0 -1
  50. package/dist/mailbox-store-bb21512c-649a374c.js +0 -381
  51. package/dist/mailbox-store-bb21512c-fc3c8c03.cjs +0 -1
  52. package/dist/nylas-additional-participants.entry-4afba192.js +0 -83
  53. package/dist/nylas-additional-participants.entry-db05e510.cjs +0 -1
  54. package/dist/nylas-booked-event-card_10.entry-1ebbe0c0.js +0 -784
  55. package/dist/nylas-booked-event-card_10.entry-6b6fdfae.cjs +0 -1
  56. package/dist/nylas-form-card.entry-70b20571.cjs +0 -1
  57. package/dist/nylas-form-card.entry-7bc23695.js +0 -56
  58. package/dist/nylas-if-state.entry-3829cb3d.js +0 -96
  59. package/dist/nylas-if-state.entry-ebeffe22.cjs +0 -1
  60. package/dist/nylas-list-folders.entry-191688f2.cjs +0 -1
  61. package/dist/nylas-list-folders.entry-7347e78d.js +0 -122
  62. package/dist/nylas-list-threads.entry-432a8d8c.js +0 -72
  63. package/dist/nylas-list-threads.entry-44658578.cjs +0 -1
  64. package/dist/nylas-login.entry-5311f0a7.js +0 -75
  65. package/dist/nylas-login.entry-db17a3d2.cjs +0 -1
  66. package/dist/nylas-mailbox-pagination.entry-20150fb2.js +0 -103
  67. package/dist/nylas-mailbox-pagination.entry-9d3f5baa.cjs +0 -1
  68. package/dist/nylas-mailbox-toolbar-button.entry-6c0f7299.cjs +0 -1
  69. package/dist/nylas-mailbox-toolbar-button.entry-eec426d5.js +0 -84
  70. package/dist/nylas-mailbox.entry-b6c758b9.js +0 -136
  71. package/dist/nylas-mailbox.entry-d41401e0.cjs +0 -1
  72. package/dist/nylas-provider.entry-271cafd2.js +0 -147
  73. package/dist/nylas-provider.entry-6173b721.cjs +0 -1
  74. package/dist/nylas-scheduler-editor.entry-0c75d39e.cjs +0 -7
  75. package/dist/nylas-scheduler-editor.entry-b51ad4b1.js +0 -2192
  76. package/dist/nylas-scheduling.entry-081c8825.cjs +0 -1
  77. package/dist/nylas-scheduling.entry-0a8d1da8.js +0 -237
  78. package/dist/nylas-threads-refresh.entry-72dd854e.js +0 -76
  79. package/dist/nylas-threads-refresh.entry-c3509e6a.cjs +0 -1
  80. package/dist/nylas-threads-search.entry-16a59ef6.cjs +0 -1
  81. package/dist/nylas-threads-search.entry-4750a187.js +0 -71
  82. package/dist/nylas-view-thread.entry-27df3349.cjs +0 -1
  83. package/dist/nylas-view-thread.entry-c6adce43.js +0 -205
  84. package/dist/people-icon.entry-342be0c8.js +0 -15
  85. package/dist/people-icon.entry-35252ca9.cjs +0 -1
  86. package/dist/play-icon_2.entry-0787352c.js +0 -25
  87. package/dist/play-icon_2.entry-f83fa92a.cjs +0 -1
  88. package/dist/refresh-icon.entry-8fbabfe7.js +0 -15
  89. package/dist/refresh-icon.entry-ddbc5446.cjs +0 -1
  90. package/dist/register-component-dc659dc3-e43e8fae.js +0 -105
  91. package/dist/register-component-dc659dc3-fb85ee68.cjs +0 -1
  92. package/dist/scheduler-config-store-51ee4f42-66f8c2ac.js +0 -14
  93. package/dist/scheduler-config-store-51ee4f42-d7d9c25d.cjs +0 -1
  94. package/dist/scheduler-store-72116723-ce4c7a69.cjs +0 -1
  95. package/dist/scheduler-store-72116723-e5f87122.js +0 -294
  96. package/dist/time-period-selector.entry-333942a8.js +0 -78
  97. package/dist/time-period-selector.entry-78d5b3c2.cjs +0 -1
  98. package/dist/translate-icon.entry-87a62108.js +0 -15
  99. package/dist/translate-icon.entry-cb19864c.cjs +0 -1
  100. package/dist/utils-c00bdc3c-89ab163d.js +0 -2111
  101. package/dist/utils-c00bdc3c-94b9c3b6.cjs +0 -8
  102. package/dist/warning-icon.entry-50755d91.cjs +0 -1
  103. package/dist/warning-icon.entry-7a72e24a.js +0 -15
@@ -1,3133 +0,0 @@
1
- import { d as T, u as nr, c as hn } from "./utils-c00bdc3c-89ab163d.js";
2
- class rr {
3
- constructor(e, n, r = !0, s) {
4
- this.automaticComponentRegistration = !0, this.registeredComponents = {}, this.propStateRegistrations = /* @__PURE__ */ new Map(), this.eventListenerRegistrations = /* @__PURE__ */ new Map(), this.host = e, this.stores = n, this.automaticComponentRegistration = r, this.eventOverrides = s, T(`[${this.hostTagName}] Initializing (abstract) provider.`, { eventOverrides: s }), this.registerComponent = this.registerComponent.bind(this), this.getStore = this.getStore.bind(this), Object.keys(this.stores).forEach((i) => {
5
- this.propStateRegistrations.set(i, /* @__PURE__ */ new Map());
6
- });
7
- }
8
- async componentWillLoad(e) {
9
- T(`[${this.hostTagName}] Will load`), this.setupStoreListeners(), this.nylasConnector = e;
10
- const n = Array.from(this.host.querySelectorAll("*")).filter((r) => r.tagName.toLowerCase().startsWith("nylas-"));
11
- T(`[${this.hostTagName}] Found ${n.length} child component(s).`, { childComponents: n }), n.forEach((r) => {
12
- const s = r;
13
- if (!s) {
14
- T(`[~${this.hostTagName}] Component ${s.tagName} does not have a name. Skipping.`);
15
- return;
16
- }
17
- if (!s.registerNylasComponent) {
18
- T(`[~${this.hostTagName}] Component ${s.tagName} is not a component that can be registered. Skipping.`, { component: s });
19
- return;
20
- }
21
- const i = {
22
- element: s,
23
- name: s.tagName.toLowerCase(),
24
- getStoresToProp: s.getStoresToProp,
25
- storeToProps: s.storeToProps,
26
- stateToProps: s.stateToProps,
27
- authToProp: s.authToProp,
28
- eventToProps: s.eventToProps,
29
- connectorToProp: s.connectorToProp
30
- };
31
- this.registerComponent(i);
32
- });
33
- }
34
- async componentDidLoad() {
35
- T(`[${this.hostTagName}] Did load`);
36
- }
37
- async componentDisconnected() {
38
- Object.values(this.stores).forEach((e) => {
39
- e.dispose();
40
- });
41
- }
42
- async registerComponentHandler(e) {
43
- if (e.stopPropagation(), !this.automaticComponentRegistration) {
44
- T(`[${this.hostTagName}] Automatic component registration disabled. Skipping registration of ${e.detail.name}.`);
45
- return;
46
- }
47
- this.registerComponent(e.detail);
48
- }
49
- async unregisterComponentHandler(e) {
50
- if (e.stopPropagation(), !this.automaticComponentRegistration) {
51
- T(`[${this.hostTagName}] Automatic component registration disabled. Skipping unregistration of ${e.detail.name}.`);
52
- return;
53
- }
54
- this.unregisterComponent(e.detail);
55
- }
56
- registerComponent(e) {
57
- T(`[${this.hostTagName}] Registering component ${e.name}.`);
58
- const n = e.element.dataset.nylasId;
59
- if (n && this.registeredComponents[n]) {
60
- T(`[${this.hostTagName}] Component ${e.name} already registered. Skipping.`);
61
- return;
62
- }
63
- const { stateToProps: r, getStoresToProp: s, eventToProps: i, storeToProps: o, connectorToProp: u, element: a } = e;
64
- a.dataset.nylasId = nr(), this.registeredComponents[a.dataset.nylasId] = e;
65
- const c = this.eventOverrides;
66
- console.log("eventOverrides", c, e.name, i), i == null || i.forEach((h, l) => {
67
- var v;
68
- const d = this.nylasConnector, f = async (g) => {
69
- T(`[${this.hostTagName}] Handling "${e.name}" prop "${String(l)}" event.`, { event: g }), l in c && (T(`[${this.hostTagName}] Found event override for "${String(l)}" event. Calling override.`), await c[l](g, d)), g.defaultPrevented || await h(g, d);
70
- }, m = e.element.dataset.nylasId;
71
- m && !this.eventListenerRegistrations.has(m) && this.eventListenerRegistrations.set(m, []), m && ((v = this.eventListenerRegistrations.get(m)) == null || v.push([a, l, f])), T(`[${this.hostTagName}] Setting "${e.name}" event "${String(l)}" to automcially call NylasConnector method.`);
72
- const p = hn(l.toString());
73
- T(`[${this.hostTagName}] Adding event listener for "${p}" on "${a.tagName}"`), a.addEventListener(p, f);
74
- }), r == null || r.forEach((h, l) => {
75
- var v, g, y, b;
76
- const [d, f] = l.split("."), p = this.getStore(d).state[f];
77
- if (!a.dataset.nylasId) {
78
- T(`[${this.hostTagName}] Component "${e.name}" not registered. Skipping.`, { component: e });
79
- return;
80
- }
81
- this.propStateRegistrations.has(d) || this.propStateRegistrations.set(d, /* @__PURE__ */ new Map()), (v = this.propStateRegistrations.get(d)) != null && v.has(f) ? (b = (y = this.propStateRegistrations.get(d)) == null ? void 0 : y.get(f)) == null || b.push({
82
- elementId: a.dataset.nylasId,
83
- propKey: h
84
- }) : (g = this.propStateRegistrations.get(d)) == null || g.set(f, [
85
- {
86
- elementId: a.dataset.nylasId,
87
- propKey: h
88
- }
89
- ]), a[h.toString()] = p, T(`[${this.hostTagName}] Setting "${e.name}" prop "${h.toString()}" to "${l}" value.`, { stateValue: p });
90
- }), s && (a[s == null ? void 0 : s.toString()] = this.getStore, T(`[${this.hostTagName}] Setting "${e.name}" prop "${s.toString()}" to "getStore" method.`)), o == null || o.forEach((h, l) => {
91
- const d = this.getStore(l);
92
- a[h.toString()] = d, T(`[${this.hostTagName}] Setting "${e.name}" prop "${h.toString()}" to "${l}" store.`, { store: d });
93
- }), u && (a[u == null ? void 0 : u.toString()] = this.nylasConnector, T(`[${this.hostTagName}] Setting "${e.name}" prop "${u.toString()}" to "nylasConnector" value.`, { connectorToProp: u })), T(`[${this.hostTagName}] Component ${e.name} registered.`);
94
- }
95
- unregisterComponent(e) {
96
- T(`[${this.hostTagName}] Unregistering component ${e.name}.`);
97
- const n = e.element.dataset.nylasId;
98
- if (!n) {
99
- T(`[${this.hostTagName}] Component ${e.name} not registered. Skipping.`);
100
- return;
101
- }
102
- if (this.registeredComponents[n]) {
103
- T(`[${this.hostTagName}] Component ${e.name} not registered. Skipping.`);
104
- return;
105
- }
106
- this.propStateRegistrations.forEach((s, i) => {
107
- s.forEach((o, u) => {
108
- var h, l;
109
- const a = (h = this.propStateRegistrations.get(i)) == null ? void 0 : h.get(u), c = a == null ? void 0 : a.filter((d) => d.elementId !== n);
110
- c && ((l = this.propStateRegistrations.get(i)) == null || l.set(u, c));
111
- });
112
- });
113
- const r = this.eventListenerRegistrations.get(n);
114
- r == null || r.forEach(([s, i, o]) => {
115
- const u = hn(i.toString());
116
- T(`[${this.hostTagName}] Removing event listener for "${u}" on "${s.tagName}"`), s.removeEventListener(u, o);
117
- }), delete this.registeredComponents[n];
118
- }
119
- getStore(e) {
120
- const n = this.stores[e];
121
- if (!n)
122
- throw new Error(`[${this.hostTagName}] Store "${e.toString()}" not found.`);
123
- return n;
124
- }
125
- async setupStoreListeners() {
126
- const e = this;
127
- Object.entries(this.stores).forEach(([n, r]) => {
128
- T(`[${e.hostTagName}] Listening for changes in "${n}" store.`), r.use({
129
- set(s, i, o) {
130
- var c;
131
- if (T(`[${e.hostTagName}] Store "${n}" state "${s.toString()}" changed`, { newValue: i, oldValue: o }), i === o) {
132
- T(`[${e.hostTagName}] Store "${n}" state "${s.toString()}" unchanged. Skipping.`);
133
- return;
134
- }
135
- const u = e.registeredComponents;
136
- if (!u) {
137
- T(`[${e.hostTagName}] No registered components found. Skipping.`);
138
- return;
139
- }
140
- const a = ((c = e.propStateRegistrations.get(n)) == null ? void 0 : c.get(s.toString())) || [];
141
- T(`[${e.hostTagName}] Found ${a.length} prop(s) registered for "${s.toString()}" store.`, {
142
- props: a,
143
- propStateRegistrations: e.propStateRegistrations
144
- }), a.forEach(({ elementId: h, propKey: l }) => {
145
- const d = u[h];
146
- if (!d) {
147
- T(`[${e.hostTagName}] Component "${h}" not found. Skipping.`, { component: d });
148
- return;
149
- }
150
- const m = e.getStore(n).state[s];
151
- d.element[l.toString()] = m, T(`[${e.hostTagName}] Setting "${d.name}" prop "${l.toString()}" to "${s.toString()}" value.`, { stateValue: m });
152
- });
153
- }
154
- });
155
- });
156
- }
157
- get hostTagName() {
158
- var e, n;
159
- return ((n = (e = this.host) == null ? void 0 : e.tagName) == null ? void 0 : n.toLowerCase()) ?? "nylas-provider";
160
- }
161
- }
162
- class ns extends rr {
163
- }
164
- const sr = typeof global < "u" ? global : typeof self < "u" ? self : typeof window < "u" ? window : {};
165
- var ir = Object.defineProperty, or = (t, e, n) => e in t ? ir(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ut = (t, e, n) => (or(t, typeof e != "symbol" ? e + "" : e, n), n), ar = /* @__PURE__ */ ((t) => (t.Error = "error", t.Warning = "warning", t.Info = "info", t.Success = "success", t))(ar || {});
166
- const rs = (t) => "error" in t;
167
- class ss extends Error {
168
- constructor(e) {
169
- super(e == null ? void 0 : e.message), ut(this, "apiError"), this.name = "NylasAPIError", this.stack = new Error().stack, this.apiError = e;
170
- }
171
- }
172
- async function dn(t) {
173
- const e = new TextEncoder().encode(t), n = await crypto.subtle.digest("SHA-256", e), r = Array.from(new Uint8Array(n)).map((s) => s.toString(16).padStart(2, "0")).join("");
174
- return btoa(r).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
175
- }
176
- const K = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : sr, D = Object.keys, M = Array.isArray;
177
- function U(t, e) {
178
- return typeof e != "object" || D(e).forEach(function(n) {
179
- t[n] = e[n];
180
- }), t;
181
- }
182
- typeof Promise > "u" || K.Promise || (K.Promise = Promise);
183
- const Be = Object.getPrototypeOf, ur = {}.hasOwnProperty;
184
- function z(t, e) {
185
- return ur.call(t, e);
186
- }
187
- function Ee(t, e) {
188
- typeof e == "function" && (e = e(Be(t))), (typeof Reflect > "u" ? D : Reflect.ownKeys)(e).forEach((n) => {
189
- ee(t, n, e[n]);
190
- });
191
- }
192
- const En = Object.defineProperty;
193
- function ee(t, e, n, r) {
194
- En(t, e, U(n && z(n, "get") && typeof n.get == "function" ? { get: n.get, set: n.set, configurable: !0 } : { value: n, configurable: !0, writable: !0 }, r));
195
- }
196
- function ke(t) {
197
- return { from: function(e) {
198
- return t.prototype = Object.create(e.prototype), ee(t.prototype, "constructor", t), { extend: Ee.bind(null, t.prototype) };
199
- } };
200
- }
201
- const lr = Object.getOwnPropertyDescriptor;
202
- function Jt(t, e) {
203
- let n;
204
- return lr(t, e) || (n = Be(t)) && Jt(n, e);
205
- }
206
- const cr = [].slice;
207
- function lt(t, e, n) {
208
- return cr.call(t, e, n);
209
- }
210
- function Pn(t, e) {
211
- return e(t);
212
- }
213
- function Ie(t) {
214
- if (!t)
215
- throw new Error("Assertion Failed");
216
- }
217
- function Cn(t) {
218
- K.setImmediate ? setImmediate(t) : setTimeout(t, 0);
219
- }
220
- function Tn(t, e) {
221
- return t.reduce((n, r, s) => {
222
- var i = e(r, s);
223
- return i && (n[i[0]] = i[1]), n;
224
- }, {});
225
- }
226
- function te(t, e) {
227
- if (z(t, e))
228
- return t[e];
229
- if (!e)
230
- return t;
231
- if (typeof e != "string") {
232
- for (var n = [], r = 0, s = e.length; r < s; ++r) {
233
- var i = te(t, e[r]);
234
- n.push(i);
235
- }
236
- return n;
237
- }
238
- var o = e.indexOf(".");
239
- if (o !== -1) {
240
- var u = t[e.substr(0, o)];
241
- return u === void 0 ? void 0 : te(u, e.substr(o + 1));
242
- }
243
- }
244
- function H(t, e, n) {
245
- if (t && e !== void 0 && (!("isFrozen" in Object) || !Object.isFrozen(t)))
246
- if (typeof e != "string" && "length" in e) {
247
- Ie(typeof n != "string" && "length" in n);
248
- for (var r = 0, s = e.length; r < s; ++r)
249
- H(t, e[r], n[r]);
250
- } else {
251
- var i = e.indexOf(".");
252
- if (i !== -1) {
253
- var o = e.substr(0, i), u = e.substr(i + 1);
254
- if (u === "")
255
- n === void 0 ? M(t) && !isNaN(parseInt(o)) ? t.splice(o, 1) : delete t[o] : t[o] = n;
256
- else {
257
- var a = t[o];
258
- a && z(t, o) || (a = t[o] = {}), H(a, u, n);
259
- }
260
- } else
261
- n === void 0 ? M(t) && !isNaN(parseInt(e)) ? t.splice(e, 1) : delete t[e] : t[e] = n;
262
- }
263
- }
264
- function An(t) {
265
- var e = {};
266
- for (var n in t)
267
- z(t, n) && (e[n] = t[n]);
268
- return e;
269
- }
270
- const hr = [].concat;
271
- function On(t) {
272
- return hr.apply([], t);
273
- }
274
- const In = "Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(On([8, 16, 32, 64].map((t) => ["Int", "Uint", "Float"].map((e) => e + t + "Array")))).filter((t) => K[t]), dr = In.map((t) => K[t]);
275
- Tn(In, (t) => [t, !0]);
276
- let se = null;
277
- function We(t) {
278
- se = typeof WeakMap < "u" && /* @__PURE__ */ new WeakMap();
279
- const e = Ct(t);
280
- return se = null, e;
281
- }
282
- function Ct(t) {
283
- if (!t || typeof t != "object")
284
- return t;
285
- let e = se && se.get(t);
286
- if (e)
287
- return e;
288
- if (M(t)) {
289
- e = [], se && se.set(t, e);
290
- for (var n = 0, r = t.length; n < r; ++n)
291
- e.push(Ct(t[n]));
292
- } else if (dr.indexOf(t.constructor) >= 0)
293
- e = t;
294
- else {
295
- const i = Be(t);
296
- for (var s in e = i === Object.prototype ? {} : Object.create(i), se && se.set(t, e), t)
297
- z(t, s) && (e[s] = Ct(t[s]));
298
- }
299
- return e;
300
- }
301
- const { toString: fr } = {};
302
- function Tt(t) {
303
- return fr.call(t).slice(8, -1);
304
- }
305
- const At = typeof Symbol < "u" ? Symbol.iterator : "@@iterator", pr = typeof At == "symbol" ? function(t) {
306
- var e;
307
- return t != null && (e = t[At]) && e.apply(t);
308
- } : function() {
309
- return null;
310
- }, _e = {};
311
- function J(t) {
312
- var e, n, r, s;
313
- if (arguments.length === 1) {
314
- if (M(t))
315
- return t.slice();
316
- if (this === _e && typeof t == "string")
317
- return [t];
318
- if (s = pr(t)) {
319
- for (n = []; !(r = s.next()).done; )
320
- n.push(r.value);
321
- return n;
322
- }
323
- if (t == null)
324
- return [t];
325
- if (typeof (e = t.length) == "number") {
326
- for (n = new Array(e); e--; )
327
- n[e] = t[e];
328
- return n;
329
- }
330
- return [t];
331
- }
332
- for (e = arguments.length, n = new Array(e); e--; )
333
- n[e] = arguments[e];
334
- return n;
335
- }
336
- const Zt = typeof Symbol < "u" ? (t) => t[Symbol.toStringTag] === "AsyncFunction" : () => !1;
337
- var G = typeof location < "u" && /^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);
338
- function Kn(t, e) {
339
- G = t, jn = e;
340
- }
341
- var jn = () => !0;
342
- const mr = !new Error("").stack;
343
- function Pe() {
344
- if (mr)
345
- try {
346
- throw new Error();
347
- } catch (t) {
348
- return t;
349
- }
350
- return new Error();
351
- }
352
- function Ot(t, e) {
353
- var n = t.stack;
354
- return n ? (e = e || 0, n.indexOf(t.name) === 0 && (e += (t.name + t.message).split(`
355
- `).length), n.split(`
356
- `).slice(e).filter(jn).map((r) => `
357
- ` + r).join("")) : "";
358
- }
359
- var Rn = ["Unknown", "Constraint", "Data", "TransactionInactive", "ReadOnly", "Version", "NotFound", "InvalidState", "InvalidAccess", "Abort", "Timeout", "QuotaExceeded", "Syntax", "DataClone"], en = ["Modify", "Bulk", "OpenFailed", "VersionChange", "Schema", "Upgrade", "InvalidTable", "MissingAPI", "NoSuchDatabase", "InvalidArgument", "SubTransaction", "Unsupported", "Internal", "DatabaseClosed", "PrematureCommit", "ForeignAwait"].concat(Rn), yr = { VersionChanged: "Database version changed by other database connection", DatabaseClosed: "Database has been closed", Abort: "Transaction aborted", TransactionInactive: "Transaction has already completed or failed", MissingAPI: "IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb" };
360
- function xe(t, e) {
361
- this._e = Pe(), this.name = t, this.message = e;
362
- }
363
- function Nn(t, e) {
364
- return t + ". Errors: " + Object.keys(e).map((n) => e[n].toString()).filter((n, r, s) => s.indexOf(n) === r).join(`
365
- `);
366
- }
367
- function ct(t, e, n, r) {
368
- this._e = Pe(), this.failures = e, this.failedKeys = r, this.successCount = n, this.message = Nn(t, e);
369
- }
370
- function je(t, e) {
371
- this._e = Pe(), this.name = "BulkError", this.failures = Object.keys(e).map((n) => e[n]), this.failuresByPos = e, this.message = Nn(t, e);
372
- }
373
- ke(xe).from(Error).extend({ stack: { get: function() {
374
- return this._stack || (this._stack = this.name + ": " + this.message + Ot(this._e, 2));
375
- } }, toString: function() {
376
- return this.name + ": " + this.message;
377
- } }), ke(ct).from(xe), ke(je).from(xe);
378
- var tn = en.reduce((t, e) => (t[e] = e + "Error", t), {});
379
- const gr = xe;
380
- var C = en.reduce((t, e) => {
381
- var n = e + "Error";
382
- function r(s, i) {
383
- this._e = Pe(), this.name = n, s ? typeof s == "string" ? (this.message = `${s}${i ? `
384
- ` + i : ""}`, this.inner = i || null) : typeof s == "object" && (this.message = `${s.name} ${s.message}`, this.inner = s) : (this.message = yr[e] || n, this.inner = null);
385
- }
386
- return ke(r).from(gr), t[e] = r, t;
387
- }, {});
388
- C.Syntax = SyntaxError, C.Type = TypeError, C.Range = RangeError;
389
- var fn = Rn.reduce((t, e) => (t[e + "Error"] = C[e], t), {}), tt = en.reduce((t, e) => (["Syntax", "Type", "Range"].indexOf(e) === -1 && (t[e + "Error"] = C[e]), t), {});
390
- function I() {
391
- }
392
- function Fe(t) {
393
- return t;
394
- }
395
- function vr(t, e) {
396
- return t == null || t === Fe ? e : function(n) {
397
- return e(t(n));
398
- };
399
- }
400
- function me(t, e) {
401
- return function() {
402
- t.apply(this, arguments), e.apply(this, arguments);
403
- };
404
- }
405
- function br(t, e) {
406
- return t === I ? e : function() {
407
- var n = t.apply(this, arguments);
408
- n !== void 0 && (arguments[0] = n);
409
- var r = this.onsuccess, s = this.onerror;
410
- this.onsuccess = null, this.onerror = null;
411
- var i = e.apply(this, arguments);
412
- return r && (this.onsuccess = this.onsuccess ? me(r, this.onsuccess) : r), s && (this.onerror = this.onerror ? me(s, this.onerror) : s), i !== void 0 ? i : n;
413
- };
414
- }
415
- function wr(t, e) {
416
- return t === I ? e : function() {
417
- t.apply(this, arguments);
418
- var n = this.onsuccess, r = this.onerror;
419
- this.onsuccess = this.onerror = null, e.apply(this, arguments), n && (this.onsuccess = this.onsuccess ? me(n, this.onsuccess) : n), r && (this.onerror = this.onerror ? me(r, this.onerror) : r);
420
- };
421
- }
422
- function _r(t, e) {
423
- return t === I ? e : function(n) {
424
- var r = t.apply(this, arguments);
425
- U(n, r);
426
- var s = this.onsuccess, i = this.onerror;
427
- this.onsuccess = null, this.onerror = null;
428
- var o = e.apply(this, arguments);
429
- return s && (this.onsuccess = this.onsuccess ? me(s, this.onsuccess) : s), i && (this.onerror = this.onerror ? me(i, this.onerror) : i), r === void 0 ? o === void 0 ? void 0 : o : U(r, o);
430
- };
431
- }
432
- function kr(t, e) {
433
- return t === I ? e : function() {
434
- return e.apply(this, arguments) !== !1 && t.apply(this, arguments);
435
- };
436
- }
437
- function nn(t, e) {
438
- return t === I ? e : function() {
439
- var n = t.apply(this, arguments);
440
- if (n && typeof n.then == "function") {
441
- for (var r = this, s = arguments.length, i = new Array(s); s--; )
442
- i[s] = arguments[s];
443
- return n.then(function() {
444
- return e.apply(r, i);
445
- });
446
- }
447
- return e.apply(this, arguments);
448
- };
449
- }
450
- tt.ModifyError = ct, tt.DexieError = xe, tt.BulkError = je;
451
- var Me = {};
452
- const Dn = 100, [It, ht, Kt] = typeof Promise > "u" ? [] : (() => {
453
- let t = Promise.resolve();
454
- if (typeof crypto > "u" || !crypto.subtle)
455
- return [t, Be(t), t];
456
- const e = crypto.subtle.digest("SHA-512", new Uint8Array([0]));
457
- return [e, Be(e), t];
458
- })(), $n = ht && ht.then, nt = It && It.constructor, rn = !!Kt;
459
- var jt = !1, xr = Kt ? () => {
460
- Kt.then(Ye);
461
- } : K.setImmediate ? setImmediate.bind(null, Ye) : K.MutationObserver ? () => {
462
- var t = document.createElement("div");
463
- new MutationObserver(() => {
464
- Ye(), t = null;
465
- }).observe(t, { attributes: !0 }), t.setAttribute("i", "1");
466
- } : () => {
467
- setTimeout(Ye, 0);
468
- }, Re = function(t, e) {
469
- Ke.push([t, e]), dt && (xr(), dt = !1);
470
- }, Rt = !0, dt = !0, de = [], rt = [], Nt = null, Dt = Fe, Se = { id: "global", global: !0, ref: 0, unhandleds: [], onunhandled: yn, pgp: !1, env: {}, finalize: function() {
471
- this.unhandleds.forEach((t) => {
472
- try {
473
- yn(t[0], t[1]);
474
- } catch {
475
- }
476
- });
477
- } }, P = Se, Ke = [], fe = 0, st = [];
478
- function S(t) {
479
- if (typeof this != "object")
480
- throw new TypeError("Promises must be constructed via new");
481
- this._listeners = [], this.onuncatched = I, this._lib = !1;
482
- var e = this._PSD = P;
483
- if (G && (this._stackHolder = Pe(), this._prev = null, this._numPrev = 0), typeof t != "function") {
484
- if (t !== Me)
485
- throw new TypeError("Not a function");
486
- return this._state = arguments[1], this._value = arguments[2], void (this._state === !1 && Bt(this, this._value));
487
- }
488
- this._state = null, this._value = null, ++e.ref, Fn(this, t);
489
- }
490
- const $t = { get: function() {
491
- var t = P, e = ft;
492
- function n(r, s) {
493
- var i = !t.global && (t !== P || e !== ft);
494
- const o = i && !ne();
495
- var u = new S((a, c) => {
496
- sn(this, new Bn(pt(r, t, i, o), pt(s, t, i, o), a, c, t));
497
- });
498
- return G && Ln(u, this), u;
499
- }
500
- return n.prototype = Me, n;
501
- }, set: function(t) {
502
- ee(this, "then", t && t.prototype === Me ? $t : { get: function() {
503
- return t;
504
- }, set: $t.set });
505
- } };
506
- function Bn(t, e, n, r, s) {
507
- this.onFulfilled = typeof t == "function" ? t : null, this.onRejected = typeof e == "function" ? e : null, this.resolve = n, this.reject = r, this.psd = s;
508
- }
509
- function Fn(t, e) {
510
- try {
511
- e((n) => {
512
- if (t._state === null) {
513
- if (n === t)
514
- throw new TypeError("A promise cannot be resolved with itself.");
515
- var r = t._lib && ze();
516
- n && typeof n.then == "function" ? Fn(t, (s, i) => {
517
- n instanceof S ? n._then(s, i) : n.then(s, i);
518
- }) : (t._state = !0, t._value = n, Mn(t)), r && He();
519
- }
520
- }, Bt.bind(null, t));
521
- } catch (n) {
522
- Bt(t, n);
523
- }
524
- }
525
- function Bt(t, e) {
526
- if (rt.push(e), t._state === null) {
527
- var n = t._lib && ze();
528
- e = Dt(e), t._state = !1, t._value = e, G && e !== null && typeof e == "object" && !e._promise && function(r, s, i) {
529
- try {
530
- r.apply(null, i);
531
- } catch (o) {
532
- s && s(o);
533
- }
534
- }(() => {
535
- var r = Jt(e, "stack");
536
- e._promise = t, ee(e, "stack", { get: () => jt ? r && (r.get ? r.get.apply(e) : r.value) : t.stack });
537
- }), function(r) {
538
- de.some((s) => s._value === r._value) || de.push(r);
539
- }(t), Mn(t), n && He();
540
- }
541
- }
542
- function Mn(t) {
543
- var e = t._listeners;
544
- t._listeners = [];
545
- for (var n = 0, r = e.length; n < r; ++n)
546
- sn(t, e[n]);
547
- var s = t._PSD;
548
- --s.ref || s.finalize(), fe === 0 && (++fe, Re(() => {
549
- --fe == 0 && on();
550
- }, []));
551
- }
552
- function sn(t, e) {
553
- if (t._state !== null) {
554
- var n = t._state ? e.onFulfilled : e.onRejected;
555
- if (n === null)
556
- return (t._state ? e.resolve : e.reject)(t._value);
557
- ++e.psd.ref, ++fe, Re(Sr, [n, t, e]);
558
- } else
559
- t._listeners.push(e);
560
- }
561
- function Sr(t, e, n) {
562
- try {
563
- Nt = e;
564
- var r, s = e._value;
565
- e._state ? r = t(s) : (rt.length && (rt = []), r = t(s), rt.indexOf(s) === -1 && function(i) {
566
- for (var o = de.length; o; )
567
- if (de[--o]._value === i._value)
568
- return void de.splice(o, 1);
569
- }(e)), n.resolve(r);
570
- } catch (i) {
571
- n.reject(i);
572
- } finally {
573
- Nt = null, --fe == 0 && on(), --n.psd.ref || n.psd.finalize();
574
- }
575
- }
576
- function qn(t, e, n) {
577
- if (e.length === n)
578
- return e;
579
- var r = "";
580
- if (t._state === !1) {
581
- var s, i, o = t._value;
582
- o != null ? (s = o.name || "Error", i = o.message || o, r = Ot(o, 0)) : (s = o, i = ""), e.push(s + (i ? ": " + i : "") + r);
583
- }
584
- return G && ((r = Ot(t._stackHolder, 2)) && e.indexOf(r) === -1 && e.push(r), t._prev && qn(t._prev, e, n)), e;
585
- }
586
- function Ln(t, e) {
587
- var n = e ? e._numPrev + 1 : 0;
588
- n < 100 && (t._prev = e, t._numPrev = n);
589
- }
590
- function Ye() {
591
- ze() && He();
592
- }
593
- function ze() {
594
- var t = Rt;
595
- return Rt = !1, dt = !1, t;
596
- }
597
- function He() {
598
- var t, e, n;
599
- do
600
- for (; Ke.length > 0; )
601
- for (t = Ke, Ke = [], n = t.length, e = 0; e < n; ++e) {
602
- var r = t[e];
603
- r[0].apply(null, r[1]);
604
- }
605
- while (Ke.length > 0);
606
- Rt = !0, dt = !0;
607
- }
608
- function on() {
609
- var t = de;
610
- de = [], t.forEach((r) => {
611
- r._PSD.onunhandled.call(null, r._value, r);
612
- });
613
- for (var e = st.slice(0), n = e.length; n; )
614
- e[--n]();
615
- }
616
- function Ge(t) {
617
- return new S(Me, !1, t);
618
- }
619
- function j(t, e) {
620
- var n = P;
621
- return function() {
622
- var r = ze(), s = P;
623
- try {
624
- return ae(n, !0), t.apply(this, arguments);
625
- } catch (i) {
626
- e && e(i);
627
- } finally {
628
- ae(s, !1), r && He();
629
- }
630
- };
631
- }
632
- Ee(S.prototype, { then: $t, _then: function(t, e) {
633
- sn(this, new Bn(null, null, t, e, P));
634
- }, catch: function(t) {
635
- if (arguments.length === 1)
636
- return this.then(null, t);
637
- var e = arguments[0], n = arguments[1];
638
- return typeof e == "function" ? this.then(null, (r) => r instanceof e ? n(r) : Ge(r)) : this.then(null, (r) => r && r.name === e ? n(r) : Ge(r));
639
- }, finally: function(t) {
640
- return this.then((e) => (t(), e), (e) => (t(), Ge(e)));
641
- }, stack: { get: function() {
642
- if (this._stack)
643
- return this._stack;
644
- try {
645
- jt = !0;
646
- var t = qn(this, [], 20).join(`
647
- From previous: `);
648
- return this._state !== null && (this._stack = t), t;
649
- } finally {
650
- jt = !1;
651
- }
652
- } }, timeout: function(t, e) {
653
- return t < 1 / 0 ? new S((n, r) => {
654
- var s = setTimeout(() => r(new C.Timeout(e)), t);
655
- this.then(n, r).finally(clearTimeout.bind(null, s));
656
- }) : this;
657
- } }), typeof Symbol < "u" && Symbol.toStringTag && ee(S.prototype, Symbol.toStringTag, "Dexie.Promise"), Se.env = Un(), Ee(S, { all: function() {
658
- var t = J.apply(null, arguments).map(Xe);
659
- return new S(function(e, n) {
660
- t.length === 0 && e([]);
661
- var r = t.length;
662
- t.forEach((s, i) => S.resolve(s).then((o) => {
663
- t[i] = o, --r || e(t);
664
- }, n));
665
- });
666
- }, resolve: (t) => {
667
- if (t instanceof S)
668
- return t;
669
- if (t && typeof t.then == "function")
670
- return new S((n, r) => {
671
- t.then(n, r);
672
- });
673
- var e = new S(Me, !0, t);
674
- return Ln(e, Nt), e;
675
- }, reject: Ge, race: function() {
676
- var t = J.apply(null, arguments).map(Xe);
677
- return new S((e, n) => {
678
- t.map((r) => S.resolve(r).then(e, n));
679
- });
680
- }, PSD: { get: () => P, set: (t) => P = t }, totalEchoes: { get: () => ft }, newPSD: oe, usePSD: Te, scheduler: { get: () => Re, set: (t) => {
681
- Re = t;
682
- } }, rejectionMapper: { get: () => Dt, set: (t) => {
683
- Dt = t;
684
- } }, follow: (t, e) => new S((n, r) => oe((s, i) => {
685
- var o = P;
686
- o.unhandleds = [], o.onunhandled = i, o.finalize = me(function() {
687
- (function(u) {
688
- function a() {
689
- u(), st.splice(st.indexOf(a), 1);
690
- }
691
- st.push(a), ++fe, Re(() => {
692
- --fe == 0 && on();
693
- }, []);
694
- })(() => {
695
- this.unhandleds.length === 0 ? s() : i(this.unhandleds[0]);
696
- });
697
- }, o.finalize), t();
698
- }, e, n, r)) }), nt && (nt.allSettled && ee(S, "allSettled", function() {
699
- const t = J.apply(null, arguments).map(Xe);
700
- return new S((e) => {
701
- t.length === 0 && e([]);
702
- let n = t.length;
703
- const r = new Array(n);
704
- t.forEach((s, i) => S.resolve(s).then((o) => r[i] = { status: "fulfilled", value: o }, (o) => r[i] = { status: "rejected", reason: o }).then(() => --n || e(r)));
705
- });
706
- }), nt.any && typeof AggregateError < "u" && ee(S, "any", function() {
707
- const t = J.apply(null, arguments).map(Xe);
708
- return new S((e, n) => {
709
- t.length === 0 && n(new AggregateError([]));
710
- let r = t.length;
711
- const s = new Array(r);
712
- t.forEach((i, o) => S.resolve(i).then((u) => e(u), (u) => {
713
- s[o] = u, --r || n(new AggregateError(s));
714
- }));
715
- });
716
- }));
717
- const F = { awaits: 0, echoes: 0, id: 0 };
718
- var Er = 0, it = [], wt = 0, ft = 0, Pr = 0;
719
- function oe(t, e, n, r) {
720
- var s = P, i = Object.create(s);
721
- i.parent = s, i.ref = 0, i.global = !1, i.id = ++Pr;
722
- var o = Se.env;
723
- i.env = rn ? { Promise: S, PromiseProp: { value: S, configurable: !0, writable: !0 }, all: S.all, race: S.race, allSettled: S.allSettled, any: S.any, resolve: S.resolve, reject: S.reject, nthen: pn(o.nthen, i), gthen: pn(o.gthen, i) } : {}, e && U(i, e), ++s.ref, i.finalize = function() {
724
- --this.parent.ref || this.parent.finalize();
725
- };
726
- var u = Te(i, t, n, r);
727
- return i.ref === 0 && i.finalize(), u;
728
- }
729
- function Ce() {
730
- return F.id || (F.id = ++Er), ++F.awaits, F.echoes += Dn, F.id;
731
- }
732
- function ne() {
733
- return !!F.awaits && (--F.awaits == 0 && (F.id = 0), F.echoes = F.awaits * Dn, !0);
734
- }
735
- function Xe(t) {
736
- return F.echoes && t && t.constructor === nt ? (Ce(), t.then((e) => (ne(), e), (e) => (ne(), $(e)))) : t;
737
- }
738
- function Cr(t) {
739
- ++ft, F.echoes && --F.echoes != 0 || (F.echoes = F.id = 0), it.push(P), ae(t, !0);
740
- }
741
- function Tr() {
742
- var t = it[it.length - 1];
743
- it.pop(), ae(t, !1);
744
- }
745
- function ae(t, e) {
746
- var n = P;
747
- if ((e ? !F.echoes || wt++ && t === P : !wt || --wt && t === P) || Vn(e ? Cr.bind(null, t) : Tr), t !== P && (P = t, n === Se && (Se.env = Un()), rn)) {
748
- var r = Se.env.Promise, s = t.env;
749
- ht.then = s.nthen, r.prototype.then = s.gthen, (n.global || t.global) && (Object.defineProperty(K, "Promise", s.PromiseProp), r.all = s.all, r.race = s.race, r.resolve = s.resolve, r.reject = s.reject, s.allSettled && (r.allSettled = s.allSettled), s.any && (r.any = s.any));
750
- }
751
- }
752
- function Un() {
753
- var t = K.Promise;
754
- return rn ? { Promise: t, PromiseProp: Object.getOwnPropertyDescriptor(K, "Promise"), all: t.all, race: t.race, allSettled: t.allSettled, any: t.any, resolve: t.resolve, reject: t.reject, nthen: ht.then, gthen: t.prototype.then } : {};
755
- }
756
- function Te(t, e, n, r, s) {
757
- var i = P;
758
- try {
759
- return ae(t, !0), e(n, r, s);
760
- } finally {
761
- ae(i, !1);
762
- }
763
- }
764
- function Vn(t) {
765
- $n.call(It, t);
766
- }
767
- function pt(t, e, n, r) {
768
- return typeof t != "function" ? t : function() {
769
- var s = P;
770
- n && Ce(), ae(e, !0);
771
- try {
772
- return t.apply(this, arguments);
773
- } finally {
774
- ae(s, !1), r && Vn(ne);
775
- }
776
- };
777
- }
778
- function pn(t, e) {
779
- return function(n, r) {
780
- return t.call(this, pt(n, e), pt(r, e));
781
- };
782
- }
783
- ("" + $n).indexOf("[native code]") === -1 && (Ce = ne = I);
784
- const mn = "unhandledrejection";
785
- function yn(t, e) {
786
- var n;
787
- try {
788
- n = e.onuncatched(t);
789
- } catch {
790
- }
791
- if (n !== !1)
792
- try {
793
- var r, s = { promise: e, reason: t };
794
- if (K.document && document.createEvent ? ((r = document.createEvent("Event")).initEvent(mn, !0, !0), U(r, s)) : K.CustomEvent && U(r = new CustomEvent(mn, { detail: s }), s), r && K.dispatchEvent && (dispatchEvent(r), !K.PromiseRejectionEvent && K.onunhandledrejection))
795
- try {
796
- K.onunhandledrejection(r);
797
- } catch {
798
- }
799
- G && r && !r.defaultPrevented && console.warn(`Unhandled rejection: ${t.stack || t}`);
800
- } catch {
801
- }
802
- }
803
- var $ = S.reject;
804
- function Ft(t, e, n, r) {
805
- if (t.idbdb && (t._state.openComplete || P.letThrough || t._vip)) {
806
- var s = t._createTransaction(e, n, t._dbSchema);
807
- try {
808
- s.create(), t._state.PR1398_maxLoop = 3;
809
- } catch (i) {
810
- return i.name === tn.InvalidState && t.isOpen() && --t._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), t._close(), t.open().then(() => Ft(t, e, n, r))) : $(i);
811
- }
812
- return s._promise(e, (i, o) => oe(() => (P.trans = s, r(i, o, s)))).then((i) => s._completion.then(() => i));
813
- }
814
- if (t._state.openComplete)
815
- return $(new C.DatabaseClosed(t._state.dbOpenError));
816
- if (!t._state.isBeingOpened) {
817
- if (!t._options.autoOpen)
818
- return $(new C.DatabaseClosed());
819
- t.open().catch(I);
820
- }
821
- return t._state.dbReadyPromise.then(() => Ft(t, e, n, r));
822
- }
823
- const gn = "3.2.4", he = String.fromCharCode(65535), Mt = -1 / 0, X = "Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.", Wn = "String expected.", Ne = [], gt = typeof navigator < "u" && /(MSIE|Trident|Edge)/.test(navigator.userAgent), Ar = gt, Or = gt, zn = (t) => !/(dexie\.js|dexie\.min\.js)/.test(t), vt = "__dbnames", _t = "readonly", kt = "readwrite";
824
- function ye(t, e) {
825
- return t ? e ? function() {
826
- return t.apply(this, arguments) && e.apply(this, arguments);
827
- } : t : e;
828
- }
829
- const Hn = { type: 3, lower: -1 / 0, lowerOpen: !1, upper: [[]], upperOpen: !1 };
830
- function Qe(t) {
831
- return typeof t != "string" || /\./.test(t) ? (e) => e : (e) => (e[t] === void 0 && t in e && delete (e = We(e))[t], e);
832
- }
833
- class Ir {
834
- _trans(e, n, r) {
835
- const s = this._tx || P.trans, i = this.name;
836
- function o(a, c, h) {
837
- if (!h.schema[i])
838
- throw new C.NotFound("Table " + i + " not part of transaction");
839
- return n(h.idbtrans, h);
840
- }
841
- const u = ze();
842
- try {
843
- return s && s.db === this.db ? s === P.trans ? s._promise(e, o, r) : oe(() => s._promise(e, o, r), { trans: s, transless: P.transless || P }) : Ft(this.db, e, [this.name], o);
844
- } finally {
845
- u && He();
846
- }
847
- }
848
- get(e, n) {
849
- return e && e.constructor === Object ? this.where(e).first(n) : this._trans("readonly", (r) => this.core.get({ trans: r, key: e }).then((s) => this.hook.reading.fire(s))).then(n);
850
- }
851
- where(e) {
852
- if (typeof e == "string")
853
- return new this.db.WhereClause(this, e);
854
- if (M(e))
855
- return new this.db.WhereClause(this, `[${e.join("+")}]`);
856
- const n = D(e);
857
- if (n.length === 1)
858
- return this.where(n[0]).equals(e[n[0]]);
859
- const r = this.schema.indexes.concat(this.schema.primKey).filter((c) => c.compound && n.every((h) => c.keyPath.indexOf(h) >= 0) && c.keyPath.every((h) => n.indexOf(h) >= 0))[0];
860
- if (r && this.db._maxKey !== he)
861
- return this.where(r.name).equals(r.keyPath.map((c) => e[c]));
862
- !r && G && console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${n.join("+")}]`);
863
- const { idxByName: s } = this.schema, i = this.db._deps.indexedDB;
864
- function o(c, h) {
865
- try {
866
- return i.cmp(c, h) === 0;
867
- } catch {
868
- return !1;
869
- }
870
- }
871
- const [u, a] = n.reduce(([c, h], l) => {
872
- const d = s[l], f = e[l];
873
- return [c || d, c || !d ? ye(h, d && d.multi ? (m) => {
874
- const p = te(m, l);
875
- return M(p) && p.some((v) => o(f, v));
876
- } : (m) => o(f, te(m, l))) : h];
877
- }, [null, null]);
878
- return u ? this.where(u.name).equals(e[u.keyPath]).filter(a) : r ? this.filter(a) : this.where(n).equals("");
879
- }
880
- filter(e) {
881
- return this.toCollection().and(e);
882
- }
883
- count(e) {
884
- return this.toCollection().count(e);
885
- }
886
- offset(e) {
887
- return this.toCollection().offset(e);
888
- }
889
- limit(e) {
890
- return this.toCollection().limit(e);
891
- }
892
- each(e) {
893
- return this.toCollection().each(e);
894
- }
895
- toArray(e) {
896
- return this.toCollection().toArray(e);
897
- }
898
- toCollection() {
899
- return new this.db.Collection(new this.db.WhereClause(this));
900
- }
901
- orderBy(e) {
902
- return new this.db.Collection(new this.db.WhereClause(this, M(e) ? `[${e.join("+")}]` : e));
903
- }
904
- reverse() {
905
- return this.toCollection().reverse();
906
- }
907
- mapToClass(e) {
908
- this.schema.mappedClass = e;
909
- const n = (r) => {
910
- if (!r)
911
- return r;
912
- const s = Object.create(e.prototype);
913
- for (var i in r)
914
- if (z(r, i))
915
- try {
916
- s[i] = r[i];
917
- } catch {
918
- }
919
- return s;
920
- };
921
- return this.schema.readHook && this.hook.reading.unsubscribe(this.schema.readHook), this.schema.readHook = n, this.hook("reading", n), e;
922
- }
923
- defineClass() {
924
- return this.mapToClass(function(e) {
925
- U(this, e);
926
- });
927
- }
928
- add(e, n) {
929
- const { auto: r, keyPath: s } = this.schema.primKey;
930
- let i = e;
931
- return s && r && (i = Qe(s)(e)), this._trans("readwrite", (o) => this.core.mutate({ trans: o, type: "add", keys: n != null ? [n] : null, values: [i] })).then((o) => o.numFailures ? S.reject(o.failures[0]) : o.lastResult).then((o) => {
932
- if (s)
933
- try {
934
- H(e, s, o);
935
- } catch {
936
- }
937
- return o;
938
- });
939
- }
940
- update(e, n) {
941
- if (typeof e != "object" || M(e))
942
- return this.where(":id").equals(e).modify(n);
943
- {
944
- const r = te(e, this.schema.primKey.keyPath);
945
- if (r === void 0)
946
- return $(new C.InvalidArgument("Given object does not contain its primary key"));
947
- try {
948
- typeof n != "function" ? D(n).forEach((s) => {
949
- H(e, s, n[s]);
950
- }) : n(e, { value: e, primKey: r });
951
- } catch {
952
- }
953
- return this.where(":id").equals(r).modify(n);
954
- }
955
- }
956
- put(e, n) {
957
- const { auto: r, keyPath: s } = this.schema.primKey;
958
- let i = e;
959
- return s && r && (i = Qe(s)(e)), this._trans("readwrite", (o) => this.core.mutate({ trans: o, type: "put", values: [i], keys: n != null ? [n] : null })).then((o) => o.numFailures ? S.reject(o.failures[0]) : o.lastResult).then((o) => {
960
- if (s)
961
- try {
962
- H(e, s, o);
963
- } catch {
964
- }
965
- return o;
966
- });
967
- }
968
- delete(e) {
969
- return this._trans("readwrite", (n) => this.core.mutate({ trans: n, type: "delete", keys: [e] })).then((n) => n.numFailures ? S.reject(n.failures[0]) : void 0);
970
- }
971
- clear() {
972
- return this._trans("readwrite", (e) => this.core.mutate({ trans: e, type: "deleteRange", range: Hn })).then((e) => e.numFailures ? S.reject(e.failures[0]) : void 0);
973
- }
974
- bulkGet(e) {
975
- return this._trans("readonly", (n) => this.core.getMany({ keys: e, trans: n }).then((r) => r.map((s) => this.hook.reading.fire(s))));
976
- }
977
- bulkAdd(e, n, r) {
978
- const s = Array.isArray(n) ? n : void 0, i = (r = r || (s ? void 0 : n)) ? r.allKeys : void 0;
979
- return this._trans("readwrite", (o) => {
980
- const { auto: u, keyPath: a } = this.schema.primKey;
981
- if (a && s)
982
- throw new C.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");
983
- if (s && s.length !== e.length)
984
- throw new C.InvalidArgument("Arguments objects and keys must have the same length");
985
- const c = e.length;
986
- let h = a && u ? e.map(Qe(a)) : e;
987
- return this.core.mutate({ trans: o, type: "add", keys: s, values: h, wantResults: i }).then(({ numFailures: l, results: d, lastResult: f, failures: m }) => {
988
- if (l === 0)
989
- return i ? d : f;
990
- throw new je(`${this.name}.bulkAdd(): ${l} of ${c} operations failed`, m);
991
- });
992
- });
993
- }
994
- bulkPut(e, n, r) {
995
- const s = Array.isArray(n) ? n : void 0, i = (r = r || (s ? void 0 : n)) ? r.allKeys : void 0;
996
- return this._trans("readwrite", (o) => {
997
- const { auto: u, keyPath: a } = this.schema.primKey;
998
- if (a && s)
999
- throw new C.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");
1000
- if (s && s.length !== e.length)
1001
- throw new C.InvalidArgument("Arguments objects and keys must have the same length");
1002
- const c = e.length;
1003
- let h = a && u ? e.map(Qe(a)) : e;
1004
- return this.core.mutate({ trans: o, type: "put", keys: s, values: h, wantResults: i }).then(({ numFailures: l, results: d, lastResult: f, failures: m }) => {
1005
- if (l === 0)
1006
- return i ? d : f;
1007
- throw new je(`${this.name}.bulkPut(): ${l} of ${c} operations failed`, m);
1008
- });
1009
- });
1010
- }
1011
- bulkDelete(e) {
1012
- const n = e.length;
1013
- return this._trans("readwrite", (r) => this.core.mutate({ trans: r, type: "delete", keys: e })).then(({ numFailures: r, lastResult: s, failures: i }) => {
1014
- if (r === 0)
1015
- return s;
1016
- throw new je(`${this.name}.bulkDelete(): ${r} of ${n} operations failed`, i);
1017
- });
1018
- }
1019
- }
1020
- function De(t) {
1021
- var e = {}, n = function(o, u) {
1022
- if (u) {
1023
- for (var a = arguments.length, c = new Array(a - 1); --a; )
1024
- c[a - 1] = arguments[a];
1025
- return e[o].subscribe.apply(null, c), t;
1026
- }
1027
- if (typeof o == "string")
1028
- return e[o];
1029
- };
1030
- n.addEventType = i;
1031
- for (var r = 1, s = arguments.length; r < s; ++r)
1032
- i(arguments[r]);
1033
- return n;
1034
- function i(o, u, a) {
1035
- if (typeof o != "object") {
1036
- var c;
1037
- u || (u = kr), a || (a = I);
1038
- var h = { subscribers: [], fire: a, subscribe: function(l) {
1039
- h.subscribers.indexOf(l) === -1 && (h.subscribers.push(l), h.fire = u(h.fire, l));
1040
- }, unsubscribe: function(l) {
1041
- h.subscribers = h.subscribers.filter(function(d) {
1042
- return d !== l;
1043
- }), h.fire = h.subscribers.reduce(u, a);
1044
- } };
1045
- return e[o] = n[o] = h, h;
1046
- }
1047
- D(c = o).forEach(function(l) {
1048
- var d = c[l];
1049
- if (M(d))
1050
- i(l, c[l][0], c[l][1]);
1051
- else {
1052
- if (d !== "asap")
1053
- throw new C.InvalidArgument("Invalid event config");
1054
- var f = i(l, Fe, function() {
1055
- for (var m = arguments.length, p = new Array(m); m--; )
1056
- p[m] = arguments[m];
1057
- f.subscribers.forEach(function(v) {
1058
- Cn(function() {
1059
- v.apply(null, p);
1060
- });
1061
- });
1062
- });
1063
- }
1064
- });
1065
- }
1066
- }
1067
- function Oe(t, e) {
1068
- return ke(e).from({ prototype: t }), e;
1069
- }
1070
- function be(t, e) {
1071
- return !(t.filter || t.algorithm || t.or) && (e ? t.justLimit : !t.replayFilter);
1072
- }
1073
- function xt(t, e) {
1074
- t.filter = ye(t.filter, e);
1075
- }
1076
- function St(t, e, n) {
1077
- var r = t.replayFilter;
1078
- t.replayFilter = r ? () => ye(r(), e()) : e, t.justLimit = n && !r;
1079
- }
1080
- function ot(t, e) {
1081
- if (t.isPrimKey)
1082
- return e.primaryKey;
1083
- const n = e.getIndexByKeyPath(t.index);
1084
- if (!n)
1085
- throw new C.Schema("KeyPath " + t.index + " on object store " + e.name + " is not indexed");
1086
- return n;
1087
- }
1088
- function vn(t, e, n) {
1089
- const r = ot(t, e.schema);
1090
- return e.openCursor({ trans: n, values: !t.keysOnly, reverse: t.dir === "prev", unique: !!t.unique, query: { index: r, range: t.range } });
1091
- }
1092
- function Je(t, e, n, r) {
1093
- const s = t.replayFilter ? ye(t.filter, t.replayFilter()) : t.filter;
1094
- if (t.or) {
1095
- const i = {}, o = (u, a, c) => {
1096
- if (!s || s(a, c, (d) => a.stop(d), (d) => a.fail(d))) {
1097
- var h = a.primaryKey, l = "" + h;
1098
- l === "[object ArrayBuffer]" && (l = "" + new Uint8Array(h)), z(i, l) || (i[l] = !0, e(u, a, c));
1099
- }
1100
- };
1101
- return Promise.all([t.or._iterate(o, n), bn(vn(t, r, n), t.algorithm, o, !t.keysOnly && t.valueMapper)]);
1102
- }
1103
- return bn(vn(t, r, n), ye(t.algorithm, s), e, !t.keysOnly && t.valueMapper);
1104
- }
1105
- function bn(t, e, n, r) {
1106
- var s = j(r ? (i, o, u) => n(r(i), o, u) : n);
1107
- return t.then((i) => {
1108
- if (i)
1109
- return i.start(() => {
1110
- var o = () => i.continue();
1111
- e && !e(i, (u) => o = u, (u) => {
1112
- i.stop(u), o = I;
1113
- }, (u) => {
1114
- i.fail(u), o = I;
1115
- }) || s(i.value, i, (u) => o = u), o();
1116
- });
1117
- });
1118
- }
1119
- function L(t, e) {
1120
- try {
1121
- const n = wn(t), r = wn(e);
1122
- if (n !== r)
1123
- return n === "Array" ? 1 : r === "Array" ? -1 : n === "binary" ? 1 : r === "binary" ? -1 : n === "string" ? 1 : r === "string" ? -1 : n === "Date" ? 1 : r !== "Date" ? NaN : -1;
1124
- switch (n) {
1125
- case "number":
1126
- case "Date":
1127
- case "string":
1128
- return t > e ? 1 : t < e ? -1 : 0;
1129
- case "binary":
1130
- return function(s, i) {
1131
- const o = s.length, u = i.length, a = o < u ? o : u;
1132
- for (let c = 0; c < a; ++c)
1133
- if (s[c] !== i[c])
1134
- return s[c] < i[c] ? -1 : 1;
1135
- return o === u ? 0 : o < u ? -1 : 1;
1136
- }(_n(t), _n(e));
1137
- case "Array":
1138
- return function(s, i) {
1139
- const o = s.length, u = i.length, a = o < u ? o : u;
1140
- for (let c = 0; c < a; ++c) {
1141
- const h = L(s[c], i[c]);
1142
- if (h !== 0)
1143
- return h;
1144
- }
1145
- return o === u ? 0 : o < u ? -1 : 1;
1146
- }(t, e);
1147
- }
1148
- } catch {
1149
- }
1150
- return NaN;
1151
- }
1152
- function wn(t) {
1153
- const e = typeof t;
1154
- if (e !== "object")
1155
- return e;
1156
- if (ArrayBuffer.isView(t))
1157
- return "binary";
1158
- const n = Tt(t);
1159
- return n === "ArrayBuffer" ? "binary" : n;
1160
- }
1161
- function _n(t) {
1162
- return t instanceof Uint8Array ? t : ArrayBuffer.isView(t) ? new Uint8Array(t.buffer, t.byteOffset, t.byteLength) : new Uint8Array(t);
1163
- }
1164
- class Kr {
1165
- _read(e, n) {
1166
- var r = this._ctx;
1167
- return r.error ? r.table._trans(null, $.bind(null, r.error)) : r.table._trans("readonly", e).then(n);
1168
- }
1169
- _write(e) {
1170
- var n = this._ctx;
1171
- return n.error ? n.table._trans(null, $.bind(null, n.error)) : n.table._trans("readwrite", e, "locked");
1172
- }
1173
- _addAlgorithm(e) {
1174
- var n = this._ctx;
1175
- n.algorithm = ye(n.algorithm, e);
1176
- }
1177
- _iterate(e, n) {
1178
- return Je(this._ctx, e, n, this._ctx.table.core);
1179
- }
1180
- clone(e) {
1181
- var n = Object.create(this.constructor.prototype), r = Object.create(this._ctx);
1182
- return e && U(r, e), n._ctx = r, n;
1183
- }
1184
- raw() {
1185
- return this._ctx.valueMapper = null, this;
1186
- }
1187
- each(e) {
1188
- var n = this._ctx;
1189
- return this._read((r) => Je(n, e, r, n.table.core));
1190
- }
1191
- count(e) {
1192
- return this._read((n) => {
1193
- const r = this._ctx, s = r.table.core;
1194
- if (be(r, !0))
1195
- return s.count({ trans: n, query: { index: ot(r, s.schema), range: r.range } }).then((o) => Math.min(o, r.limit));
1196
- var i = 0;
1197
- return Je(r, () => (++i, !1), n, s).then(() => i);
1198
- }).then(e);
1199
- }
1200
- sortBy(e, n) {
1201
- const r = e.split(".").reverse(), s = r[0], i = r.length - 1;
1202
- function o(c, h) {
1203
- return h ? o(c[r[h]], h - 1) : c[s];
1204
- }
1205
- var u = this._ctx.dir === "next" ? 1 : -1;
1206
- function a(c, h) {
1207
- var l = o(c, i), d = o(h, i);
1208
- return l < d ? -u : l > d ? u : 0;
1209
- }
1210
- return this.toArray(function(c) {
1211
- return c.sort(a);
1212
- }).then(n);
1213
- }
1214
- toArray(e) {
1215
- return this._read((n) => {
1216
- var r = this._ctx;
1217
- if (r.dir === "next" && be(r, !0) && r.limit > 0) {
1218
- const { valueMapper: s } = r, i = ot(r, r.table.core.schema);
1219
- return r.table.core.query({ trans: n, limit: r.limit, values: !0, query: { index: i, range: r.range } }).then(({ result: o }) => s ? o.map(s) : o);
1220
- }
1221
- {
1222
- const s = [];
1223
- return Je(r, (i) => s.push(i), n, r.table.core).then(() => s);
1224
- }
1225
- }, e);
1226
- }
1227
- offset(e) {
1228
- var n = this._ctx;
1229
- return e <= 0 || (n.offset += e, be(n) ? St(n, () => {
1230
- var r = e;
1231
- return (s, i) => r === 0 || (r === 1 ? (--r, !1) : (i(() => {
1232
- s.advance(r), r = 0;
1233
- }), !1));
1234
- }) : St(n, () => {
1235
- var r = e;
1236
- return () => --r < 0;
1237
- })), this;
1238
- }
1239
- limit(e) {
1240
- return this._ctx.limit = Math.min(this._ctx.limit, e), St(this._ctx, () => {
1241
- var n = e;
1242
- return function(r, s, i) {
1243
- return --n <= 0 && s(i), n >= 0;
1244
- };
1245
- }, !0), this;
1246
- }
1247
- until(e, n) {
1248
- return xt(this._ctx, function(r, s, i) {
1249
- return !e(r.value) || (s(i), n);
1250
- }), this;
1251
- }
1252
- first(e) {
1253
- return this.limit(1).toArray(function(n) {
1254
- return n[0];
1255
- }).then(e);
1256
- }
1257
- last(e) {
1258
- return this.reverse().first(e);
1259
- }
1260
- filter(e) {
1261
- var n, r;
1262
- return xt(this._ctx, function(s) {
1263
- return e(s.value);
1264
- }), n = this._ctx, r = e, n.isMatch = ye(n.isMatch, r), this;
1265
- }
1266
- and(e) {
1267
- return this.filter(e);
1268
- }
1269
- or(e) {
1270
- return new this.db.WhereClause(this._ctx.table, e, this);
1271
- }
1272
- reverse() {
1273
- return this._ctx.dir = this._ctx.dir === "prev" ? "next" : "prev", this._ondirectionchange && this._ondirectionchange(this._ctx.dir), this;
1274
- }
1275
- desc() {
1276
- return this.reverse();
1277
- }
1278
- eachKey(e) {
1279
- var n = this._ctx;
1280
- return n.keysOnly = !n.isMatch, this.each(function(r, s) {
1281
- e(s.key, s);
1282
- });
1283
- }
1284
- eachUniqueKey(e) {
1285
- return this._ctx.unique = "unique", this.eachKey(e);
1286
- }
1287
- eachPrimaryKey(e) {
1288
- var n = this._ctx;
1289
- return n.keysOnly = !n.isMatch, this.each(function(r, s) {
1290
- e(s.primaryKey, s);
1291
- });
1292
- }
1293
- keys(e) {
1294
- var n = this._ctx;
1295
- n.keysOnly = !n.isMatch;
1296
- var r = [];
1297
- return this.each(function(s, i) {
1298
- r.push(i.key);
1299
- }).then(function() {
1300
- return r;
1301
- }).then(e);
1302
- }
1303
- primaryKeys(e) {
1304
- var n = this._ctx;
1305
- if (n.dir === "next" && be(n, !0) && n.limit > 0)
1306
- return this._read((s) => {
1307
- var i = ot(n, n.table.core.schema);
1308
- return n.table.core.query({ trans: s, values: !1, limit: n.limit, query: { index: i, range: n.range } });
1309
- }).then(({ result: s }) => s).then(e);
1310
- n.keysOnly = !n.isMatch;
1311
- var r = [];
1312
- return this.each(function(s, i) {
1313
- r.push(i.primaryKey);
1314
- }).then(function() {
1315
- return r;
1316
- }).then(e);
1317
- }
1318
- uniqueKeys(e) {
1319
- return this._ctx.unique = "unique", this.keys(e);
1320
- }
1321
- firstKey(e) {
1322
- return this.limit(1).keys(function(n) {
1323
- return n[0];
1324
- }).then(e);
1325
- }
1326
- lastKey(e) {
1327
- return this.reverse().firstKey(e);
1328
- }
1329
- distinct() {
1330
- var e = this._ctx, n = e.index && e.table.schema.idxByName[e.index];
1331
- if (!n || !n.multi)
1332
- return this;
1333
- var r = {};
1334
- return xt(this._ctx, function(s) {
1335
- var i = s.primaryKey.toString(), o = z(r, i);
1336
- return r[i] = !0, !o;
1337
- }), this;
1338
- }
1339
- modify(e) {
1340
- var n = this._ctx;
1341
- return this._write((r) => {
1342
- var s;
1343
- if (typeof e == "function")
1344
- s = e;
1345
- else {
1346
- var i = D(e), o = i.length;
1347
- s = function(p) {
1348
- for (var v = !1, g = 0; g < o; ++g) {
1349
- var y = i[g], b = e[y];
1350
- te(p, y) !== b && (H(p, y, b), v = !0);
1351
- }
1352
- return v;
1353
- };
1354
- }
1355
- const u = n.table.core, { outbound: a, extractKey: c } = u.schema.primaryKey, h = this.db._options.modifyChunkSize || 200, l = [];
1356
- let d = 0;
1357
- const f = [], m = (p, v) => {
1358
- const { failures: g, numFailures: y } = v;
1359
- d += p - y;
1360
- for (let b of D(g))
1361
- l.push(g[b]);
1362
- };
1363
- return this.clone().primaryKeys().then((p) => {
1364
- const v = (g) => {
1365
- const y = Math.min(h, p.length - g);
1366
- return u.getMany({ trans: r, keys: p.slice(g, g + y), cache: "immutable" }).then((b) => {
1367
- const x = [], E = [], k = a ? [] : null, w = [];
1368
- for (let _ = 0; _ < y; ++_) {
1369
- const R = b[_], O = { value: We(R), primKey: p[g + _] };
1370
- s.call(O, O.value, O) !== !1 && (O.value == null ? w.push(p[g + _]) : a || L(c(R), c(O.value)) === 0 ? (E.push(O.value), a && k.push(p[g + _])) : (w.push(p[g + _]), x.push(O.value)));
1371
- }
1372
- const A = be(n) && n.limit === 1 / 0 && (typeof e != "function" || e === Et) && { index: n.index, range: n.range };
1373
- return Promise.resolve(x.length > 0 && u.mutate({ trans: r, type: "add", values: x }).then((_) => {
1374
- for (let R in _.failures)
1375
- w.splice(parseInt(R), 1);
1376
- m(x.length, _);
1377
- })).then(() => (E.length > 0 || A && typeof e == "object") && u.mutate({ trans: r, type: "put", keys: k, values: E, criteria: A, changeSpec: typeof e != "function" && e }).then((_) => m(E.length, _))).then(() => (w.length > 0 || A && e === Et) && u.mutate({ trans: r, type: "delete", keys: w, criteria: A }).then((_) => m(w.length, _))).then(() => p.length > g + y && v(g + h));
1378
- });
1379
- };
1380
- return v(0).then(() => {
1381
- if (l.length > 0)
1382
- throw new ct("Error modifying one or more objects", l, d, f);
1383
- return p.length;
1384
- });
1385
- });
1386
- });
1387
- }
1388
- delete() {
1389
- var e = this._ctx, n = e.range;
1390
- return be(e) && (e.isPrimKey && !Or || n.type === 3) ? this._write((r) => {
1391
- const { primaryKey: s } = e.table.core.schema, i = n;
1392
- return e.table.core.count({ trans: r, query: { index: s, range: i } }).then((o) => e.table.core.mutate({ trans: r, type: "deleteRange", range: i }).then(({ failures: u, lastResult: a, results: c, numFailures: h }) => {
1393
- if (h)
1394
- throw new ct("Could not delete some values", Object.keys(u).map((l) => u[l]), o - h);
1395
- return o - h;
1396
- }));
1397
- }) : this.modify(Et);
1398
- }
1399
- }
1400
- const Et = (t, e) => e.value = null;
1401
- function jr(t, e) {
1402
- return t < e ? -1 : t === e ? 0 : 1;
1403
- }
1404
- function Rr(t, e) {
1405
- return t > e ? -1 : t === e ? 0 : 1;
1406
- }
1407
- function W(t, e, n) {
1408
- var r = t instanceof Gn ? new t.Collection(t) : t;
1409
- return r._ctx.error = n ? new n(e) : new TypeError(e), r;
1410
- }
1411
- function we(t) {
1412
- return new t.Collection(t, () => Yn("")).limit(0);
1413
- }
1414
- function Nr(t, e, n, r, s, i) {
1415
- for (var o = Math.min(t.length, r.length), u = -1, a = 0; a < o; ++a) {
1416
- var c = e[a];
1417
- if (c !== r[a])
1418
- return s(t[a], n[a]) < 0 ? t.substr(0, a) + n[a] + n.substr(a + 1) : s(t[a], r[a]) < 0 ? t.substr(0, a) + r[a] + n.substr(a + 1) : u >= 0 ? t.substr(0, u) + e[u] + n.substr(u + 1) : null;
1419
- s(t[a], c) < 0 && (u = a);
1420
- }
1421
- return o < r.length && i === "next" ? t + n.substr(t.length) : o < t.length && i === "prev" ? t.substr(0, n.length) : u < 0 ? null : t.substr(0, u) + r[u] + n.substr(u + 1);
1422
- }
1423
- function Ze(t, e, n, r) {
1424
- var s, i, o, u, a, c, h, l = n.length;
1425
- if (!n.every((p) => typeof p == "string"))
1426
- return W(t, Wn);
1427
- function d(p) {
1428
- s = function(g) {
1429
- return g === "next" ? (y) => y.toUpperCase() : (y) => y.toLowerCase();
1430
- }(p), i = function(g) {
1431
- return g === "next" ? (y) => y.toLowerCase() : (y) => y.toUpperCase();
1432
- }(p), o = p === "next" ? jr : Rr;
1433
- var v = n.map(function(g) {
1434
- return { lower: i(g), upper: s(g) };
1435
- }).sort(function(g, y) {
1436
- return o(g.lower, y.lower);
1437
- });
1438
- u = v.map(function(g) {
1439
- return g.upper;
1440
- }), a = v.map(function(g) {
1441
- return g.lower;
1442
- }), c = p, h = p === "next" ? "" : r;
1443
- }
1444
- d("next");
1445
- var f = new t.Collection(t, () => re(u[0], a[l - 1] + r));
1446
- f._ondirectionchange = function(p) {
1447
- d(p);
1448
- };
1449
- var m = 0;
1450
- return f._addAlgorithm(function(p, v, g) {
1451
- var y = p.key;
1452
- if (typeof y != "string")
1453
- return !1;
1454
- var b = i(y);
1455
- if (e(b, a, m))
1456
- return !0;
1457
- for (var x = null, E = m; E < l; ++E) {
1458
- var k = Nr(y, b, u[E], a[E], o, c);
1459
- k === null && x === null ? m = E + 1 : (x === null || o(x, k) > 0) && (x = k);
1460
- }
1461
- return v(x !== null ? function() {
1462
- p.continue(x + h);
1463
- } : g), !1;
1464
- }), f;
1465
- }
1466
- function re(t, e, n, r) {
1467
- return { type: 2, lower: t, upper: e, lowerOpen: n, upperOpen: r };
1468
- }
1469
- function Yn(t) {
1470
- return { type: 1, lower: t, upper: t };
1471
- }
1472
- class Gn {
1473
- get Collection() {
1474
- return this._ctx.table.db.Collection;
1475
- }
1476
- between(e, n, r, s) {
1477
- r = r !== !1, s = s === !0;
1478
- try {
1479
- return this._cmp(e, n) > 0 || this._cmp(e, n) === 0 && (r || s) && (!r || !s) ? we(this) : new this.Collection(this, () => re(e, n, !r, !s));
1480
- } catch {
1481
- return W(this, X);
1482
- }
1483
- }
1484
- equals(e) {
1485
- return e == null ? W(this, X) : new this.Collection(this, () => Yn(e));
1486
- }
1487
- above(e) {
1488
- return e == null ? W(this, X) : new this.Collection(this, () => re(e, void 0, !0));
1489
- }
1490
- aboveOrEqual(e) {
1491
- return e == null ? W(this, X) : new this.Collection(this, () => re(e, void 0, !1));
1492
- }
1493
- below(e) {
1494
- return e == null ? W(this, X) : new this.Collection(this, () => re(void 0, e, !1, !0));
1495
- }
1496
- belowOrEqual(e) {
1497
- return e == null ? W(this, X) : new this.Collection(this, () => re(void 0, e));
1498
- }
1499
- startsWith(e) {
1500
- return typeof e != "string" ? W(this, Wn) : this.between(e, e + he, !0, !0);
1501
- }
1502
- startsWithIgnoreCase(e) {
1503
- return e === "" ? this.startsWith(e) : Ze(this, (n, r) => n.indexOf(r[0]) === 0, [e], he);
1504
- }
1505
- equalsIgnoreCase(e) {
1506
- return Ze(this, (n, r) => n === r[0], [e], "");
1507
- }
1508
- anyOfIgnoreCase() {
1509
- var e = J.apply(_e, arguments);
1510
- return e.length === 0 ? we(this) : Ze(this, (n, r) => r.indexOf(n) !== -1, e, "");
1511
- }
1512
- startsWithAnyOfIgnoreCase() {
1513
- var e = J.apply(_e, arguments);
1514
- return e.length === 0 ? we(this) : Ze(this, (n, r) => r.some((s) => n.indexOf(s) === 0), e, he);
1515
- }
1516
- anyOf() {
1517
- const e = J.apply(_e, arguments);
1518
- let n = this._cmp;
1519
- try {
1520
- e.sort(n);
1521
- } catch {
1522
- return W(this, X);
1523
- }
1524
- if (e.length === 0)
1525
- return we(this);
1526
- const r = new this.Collection(this, () => re(e[0], e[e.length - 1]));
1527
- r._ondirectionchange = (i) => {
1528
- n = i === "next" ? this._ascending : this._descending, e.sort(n);
1529
- };
1530
- let s = 0;
1531
- return r._addAlgorithm((i, o, u) => {
1532
- const a = i.key;
1533
- for (; n(a, e[s]) > 0; )
1534
- if (++s, s === e.length)
1535
- return o(u), !1;
1536
- return n(a, e[s]) === 0 || (o(() => {
1537
- i.continue(e[s]);
1538
- }), !1);
1539
- }), r;
1540
- }
1541
- notEqual(e) {
1542
- return this.inAnyRange([[Mt, e], [e, this.db._maxKey]], { includeLowers: !1, includeUppers: !1 });
1543
- }
1544
- noneOf() {
1545
- const e = J.apply(_e, arguments);
1546
- if (e.length === 0)
1547
- return new this.Collection(this);
1548
- try {
1549
- e.sort(this._ascending);
1550
- } catch {
1551
- return W(this, X);
1552
- }
1553
- const n = e.reduce((r, s) => r ? r.concat([[r[r.length - 1][1], s]]) : [[Mt, s]], null);
1554
- return n.push([e[e.length - 1], this.db._maxKey]), this.inAnyRange(n, { includeLowers: !1, includeUppers: !1 });
1555
- }
1556
- inAnyRange(e, n) {
1557
- const r = this._cmp, s = this._ascending, i = this._descending, o = this._min, u = this._max;
1558
- if (e.length === 0)
1559
- return we(this);
1560
- if (!e.every((y) => y[0] !== void 0 && y[1] !== void 0 && s(y[0], y[1]) <= 0))
1561
- return W(this, "First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower", C.InvalidArgument);
1562
- const a = !n || n.includeLowers !== !1, c = n && n.includeUppers === !0;
1563
- let h, l = s;
1564
- function d(y, b) {
1565
- return l(y[0], b[0]);
1566
- }
1567
- try {
1568
- h = e.reduce(function(y, b) {
1569
- let x = 0, E = y.length;
1570
- for (; x < E; ++x) {
1571
- const k = y[x];
1572
- if (r(b[0], k[1]) < 0 && r(b[1], k[0]) > 0) {
1573
- k[0] = o(k[0], b[0]), k[1] = u(k[1], b[1]);
1574
- break;
1575
- }
1576
- }
1577
- return x === E && y.push(b), y;
1578
- }, []), h.sort(d);
1579
- } catch {
1580
- return W(this, X);
1581
- }
1582
- let f = 0;
1583
- const m = c ? (y) => s(y, h[f][1]) > 0 : (y) => s(y, h[f][1]) >= 0, p = a ? (y) => i(y, h[f][0]) > 0 : (y) => i(y, h[f][0]) >= 0;
1584
- let v = m;
1585
- const g = new this.Collection(this, () => re(h[0][0], h[h.length - 1][1], !a, !c));
1586
- return g._ondirectionchange = (y) => {
1587
- y === "next" ? (v = m, l = s) : (v = p, l = i), h.sort(d);
1588
- }, g._addAlgorithm((y, b, x) => {
1589
- for (var E = y.key; v(E); )
1590
- if (++f, f === h.length)
1591
- return b(x), !1;
1592
- return !!function(k) {
1593
- return !m(k) && !p(k);
1594
- }(E) || (this._cmp(E, h[f][1]) === 0 || this._cmp(E, h[f][0]) === 0 || b(() => {
1595
- l === s ? y.continue(h[f][0]) : y.continue(h[f][1]);
1596
- }), !1);
1597
- }), g;
1598
- }
1599
- startsWithAnyOf() {
1600
- const e = J.apply(_e, arguments);
1601
- return e.every((n) => typeof n == "string") ? e.length === 0 ? we(this) : this.inAnyRange(e.map((n) => [n, n + he])) : W(this, "startsWithAnyOf() only works with strings");
1602
- }
1603
- }
1604
- function Y(t) {
1605
- return j(function(e) {
1606
- return qe(e), t(e.target.error), !1;
1607
- });
1608
- }
1609
- function qe(t) {
1610
- t.stopPropagation && t.stopPropagation(), t.preventDefault && t.preventDefault();
1611
- }
1612
- const Le = "storagemutated", ie = "x-storagemutated-1", ue = De(null, Le);
1613
- class Dr {
1614
- _lock() {
1615
- return Ie(!P.global), ++this._reculock, this._reculock !== 1 || P.global || (P.lockOwnerFor = this), this;
1616
- }
1617
- _unlock() {
1618
- if (Ie(!P.global), --this._reculock == 0)
1619
- for (P.global || (P.lockOwnerFor = null); this._blockedFuncs.length > 0 && !this._locked(); ) {
1620
- var e = this._blockedFuncs.shift();
1621
- try {
1622
- Te(e[1], e[0]);
1623
- } catch {
1624
- }
1625
- }
1626
- return this;
1627
- }
1628
- _locked() {
1629
- return this._reculock && P.lockOwnerFor !== this;
1630
- }
1631
- create(e) {
1632
- if (!this.mode)
1633
- return this;
1634
- const n = this.db.idbdb, r = this.db._state.dbOpenError;
1635
- if (Ie(!this.idbtrans), !e && !n)
1636
- switch (r && r.name) {
1637
- case "DatabaseClosedError":
1638
- throw new C.DatabaseClosed(r);
1639
- case "MissingAPIError":
1640
- throw new C.MissingAPI(r.message, r);
1641
- default:
1642
- throw new C.OpenFailed(r);
1643
- }
1644
- if (!this.active)
1645
- throw new C.TransactionInactive();
1646
- return Ie(this._completion._state === null), (e = this.idbtrans = e || (this.db.core ? this.db.core.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability }) : n.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability }))).onerror = j((s) => {
1647
- qe(s), this._reject(e.error);
1648
- }), e.onabort = j((s) => {
1649
- qe(s), this.active && this._reject(new C.Abort(e.error)), this.active = !1, this.on("abort").fire(s);
1650
- }), e.oncomplete = j(() => {
1651
- this.active = !1, this._resolve(), "mutatedParts" in e && ue.storagemutated.fire(e.mutatedParts);
1652
- }), this;
1653
- }
1654
- _promise(e, n, r) {
1655
- if (e === "readwrite" && this.mode !== "readwrite")
1656
- return $(new C.ReadOnly("Transaction is readonly"));
1657
- if (!this.active)
1658
- return $(new C.TransactionInactive());
1659
- if (this._locked())
1660
- return new S((i, o) => {
1661
- this._blockedFuncs.push([() => {
1662
- this._promise(e, n, r).then(i, o);
1663
- }, P]);
1664
- });
1665
- if (r)
1666
- return oe(() => {
1667
- var i = new S((o, u) => {
1668
- this._lock();
1669
- const a = n(o, u, this);
1670
- a && a.then && a.then(o, u);
1671
- });
1672
- return i.finally(() => this._unlock()), i._lib = !0, i;
1673
- });
1674
- var s = new S((i, o) => {
1675
- var u = n(i, o, this);
1676
- u && u.then && u.then(i, o);
1677
- });
1678
- return s._lib = !0, s;
1679
- }
1680
- _root() {
1681
- return this.parent ? this.parent._root() : this;
1682
- }
1683
- waitFor(e) {
1684
- var n = this._root();
1685
- const r = S.resolve(e);
1686
- if (n._waitingFor)
1687
- n._waitingFor = n._waitingFor.then(() => r);
1688
- else {
1689
- n._waitingFor = r, n._waitingQueue = [];
1690
- var s = n.idbtrans.objectStore(n.storeNames[0]);
1691
- (function o() {
1692
- for (++n._spinCount; n._waitingQueue.length; )
1693
- n._waitingQueue.shift()();
1694
- n._waitingFor && (s.get(-1 / 0).onsuccess = o);
1695
- })();
1696
- }
1697
- var i = n._waitingFor;
1698
- return new S((o, u) => {
1699
- r.then((a) => n._waitingQueue.push(j(o.bind(null, a))), (a) => n._waitingQueue.push(j(u.bind(null, a)))).finally(() => {
1700
- n._waitingFor === i && (n._waitingFor = null);
1701
- });
1702
- });
1703
- }
1704
- abort() {
1705
- this.active && (this.active = !1, this.idbtrans && this.idbtrans.abort(), this._reject(new C.Abort()));
1706
- }
1707
- table(e) {
1708
- const n = this._memoizedTables || (this._memoizedTables = {});
1709
- if (z(n, e))
1710
- return n[e];
1711
- const r = this.schema[e];
1712
- if (!r)
1713
- throw new C.NotFound("Table " + e + " not part of transaction");
1714
- const s = new this.db.Table(e, r, this);
1715
- return s.core = this.db.core.table(e), n[e] = s, s;
1716
- }
1717
- }
1718
- function qt(t, e, n, r, s, i, o) {
1719
- return { name: t, keyPath: e, unique: n, multi: r, auto: s, compound: i, src: (n && !o ? "&" : "") + (r ? "*" : "") + (s ? "++" : "") + Xn(e) };
1720
- }
1721
- function Xn(t) {
1722
- return typeof t == "string" ? t : t ? "[" + [].join.call(t, "+") + "]" : "";
1723
- }
1724
- function Qn(t, e, n) {
1725
- return { name: t, primKey: e, indexes: n, mappedClass: null, idxByName: Tn(n, (r) => [r.name, r]) };
1726
- }
1727
- let Ue = (t) => {
1728
- try {
1729
- return t.only([[]]), Ue = () => [[]], [[]];
1730
- } catch {
1731
- return Ue = () => he, he;
1732
- }
1733
- };
1734
- function Lt(t) {
1735
- return t == null ? () => {
1736
- } : typeof t == "string" ? function(e) {
1737
- return e.split(".").length === 1 ? (n) => n[e] : (n) => te(n, e);
1738
- }(t) : (e) => te(e, t);
1739
- }
1740
- function kn(t) {
1741
- return [].slice.call(t);
1742
- }
1743
- let $r = 0;
1744
- function $e(t) {
1745
- return t == null ? ":id" : typeof t == "string" ? t : `[${t.join("+")}]`;
1746
- }
1747
- function Br(t, e, n) {
1748
- function r(a) {
1749
- if (a.type === 3)
1750
- return null;
1751
- if (a.type === 4)
1752
- throw new Error("Cannot convert never type to IDBKeyRange");
1753
- const { lower: c, upper: h, lowerOpen: l, upperOpen: d } = a;
1754
- return c === void 0 ? h === void 0 ? null : e.upperBound(h, !!d) : h === void 0 ? e.lowerBound(c, !!l) : e.bound(c, h, !!l, !!d);
1755
- }
1756
- const { schema: s, hasGetAll: i } = function(a, c) {
1757
- const h = kn(a.objectStoreNames);
1758
- return { schema: { name: a.name, tables: h.map((l) => c.objectStore(l)).map((l) => {
1759
- const { keyPath: d, autoIncrement: f } = l, m = M(d), p = d == null, v = {}, g = { name: l.name, primaryKey: { name: null, isPrimaryKey: !0, outbound: p, compound: m, keyPath: d, autoIncrement: f, unique: !0, extractKey: Lt(d) }, indexes: kn(l.indexNames).map((y) => l.index(y)).map((y) => {
1760
- const { name: b, unique: x, multiEntry: E, keyPath: k } = y, w = { name: b, compound: M(k), keyPath: k, unique: x, multiEntry: E, extractKey: Lt(k) };
1761
- return v[$e(k)] = w, w;
1762
- }), getIndexByKeyPath: (y) => v[$e(y)] };
1763
- return v[":id"] = g.primaryKey, d != null && (v[$e(d)] = g.primaryKey), g;
1764
- }) }, hasGetAll: h.length > 0 && "getAll" in c.objectStore(h[0]) && !(typeof navigator < "u" && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604) };
1765
- }(t, n), o = s.tables.map((a) => function(c) {
1766
- const h = c.name;
1767
- return { name: h, schema: c, mutate: function({ trans: l, type: d, keys: f, values: m, range: p }) {
1768
- return new Promise((v, g) => {
1769
- v = j(v);
1770
- const y = l.objectStore(h), b = y.keyPath == null, x = d === "put" || d === "add";
1771
- if (!x && d !== "delete" && d !== "deleteRange")
1772
- throw new Error("Invalid operation type: " + d);
1773
- const { length: E } = f || m || { length: 1 };
1774
- if (f && m && f.length !== m.length)
1775
- throw new Error("Given keys array must have same length as given values array.");
1776
- if (E === 0)
1777
- return v({ numFailures: 0, failures: {}, results: [], lastResult: void 0 });
1778
- let k;
1779
- const w = [], A = [];
1780
- let _ = 0;
1781
- const R = (q) => {
1782
- ++_, qe(q);
1783
- };
1784
- if (d === "deleteRange") {
1785
- if (p.type === 4)
1786
- return v({ numFailures: _, failures: A, results: [], lastResult: void 0 });
1787
- p.type === 3 ? w.push(k = y.clear()) : w.push(k = y.delete(r(p)));
1788
- } else {
1789
- const [q, B] = x ? b ? [m, f] : [m, null] : [f, null];
1790
- if (x)
1791
- for (let N = 0; N < E; ++N)
1792
- w.push(k = B && B[N] !== void 0 ? y[d](q[N], B[N]) : y[d](q[N])), k.onerror = R;
1793
- else
1794
- for (let N = 0; N < E; ++N)
1795
- w.push(k = y[d](q[N])), k.onerror = R;
1796
- }
1797
- const O = (q) => {
1798
- const B = q.target.result;
1799
- w.forEach((N, ge) => N.error != null && (A[ge] = N.error)), v({ numFailures: _, failures: A, results: d === "delete" ? f : w.map((N) => N.result), lastResult: B });
1800
- };
1801
- k.onerror = (q) => {
1802
- R(q), O(q);
1803
- }, k.onsuccess = O;
1804
- });
1805
- }, getMany: ({ trans: l, keys: d }) => new Promise((f, m) => {
1806
- f = j(f);
1807
- const p = l.objectStore(h), v = d.length, g = new Array(v);
1808
- let y, b = 0, x = 0;
1809
- const E = (w) => {
1810
- const A = w.target;
1811
- g[A._pos] = A.result, ++x === b && f(g);
1812
- }, k = Y(m);
1813
- for (let w = 0; w < v; ++w)
1814
- d[w] != null && (y = p.get(d[w]), y._pos = w, y.onsuccess = E, y.onerror = k, ++b);
1815
- b === 0 && f(g);
1816
- }), get: ({ trans: l, key: d }) => new Promise((f, m) => {
1817
- f = j(f);
1818
- const p = l.objectStore(h).get(d);
1819
- p.onsuccess = (v) => f(v.target.result), p.onerror = Y(m);
1820
- }), query: function(l) {
1821
- return (d) => new Promise((f, m) => {
1822
- f = j(f);
1823
- const { trans: p, values: v, limit: g, query: y } = d, b = g === 1 / 0 ? void 0 : g, { index: x, range: E } = y, k = p.objectStore(h), w = x.isPrimaryKey ? k : k.index(x.name), A = r(E);
1824
- if (g === 0)
1825
- return f({ result: [] });
1826
- if (l) {
1827
- const _ = v ? w.getAll(A, b) : w.getAllKeys(A, b);
1828
- _.onsuccess = (R) => f({ result: R.target.result }), _.onerror = Y(m);
1829
- } else {
1830
- let _ = 0;
1831
- const R = v || !("openKeyCursor" in w) ? w.openCursor(A) : w.openKeyCursor(A), O = [];
1832
- R.onsuccess = (q) => {
1833
- const B = R.result;
1834
- return B ? (O.push(v ? B.value : B.primaryKey), ++_ === g ? f({ result: O }) : void B.continue()) : f({ result: O });
1835
- }, R.onerror = Y(m);
1836
- }
1837
- });
1838
- }(i), openCursor: function({ trans: l, values: d, query: f, reverse: m, unique: p }) {
1839
- return new Promise((v, g) => {
1840
- v = j(v);
1841
- const { index: y, range: b } = f, x = l.objectStore(h), E = y.isPrimaryKey ? x : x.index(y.name), k = m ? p ? "prevunique" : "prev" : p ? "nextunique" : "next", w = d || !("openKeyCursor" in E) ? E.openCursor(r(b), k) : E.openKeyCursor(r(b), k);
1842
- w.onerror = Y(g), w.onsuccess = j((A) => {
1843
- const _ = w.result;
1844
- if (!_)
1845
- return void v(null);
1846
- _.___id = ++$r, _.done = !1;
1847
- const R = _.continue.bind(_);
1848
- let O = _.continuePrimaryKey;
1849
- O && (O = O.bind(_));
1850
- const q = _.advance.bind(_), B = () => {
1851
- throw new Error("Cursor not stopped");
1852
- };
1853
- _.trans = l, _.stop = _.continue = _.continuePrimaryKey = _.advance = () => {
1854
- throw new Error("Cursor not started");
1855
- }, _.fail = j(g), _.next = function() {
1856
- let N = 1;
1857
- return this.start(() => N-- ? this.continue() : this.stop()).then(() => this);
1858
- }, _.start = (N) => {
1859
- const ge = new Promise((V, le) => {
1860
- V = j(V), w.onerror = Y(le), _.fail = le, _.stop = (Ae) => {
1861
- _.stop = _.continue = _.continuePrimaryKey = _.advance = B, V(Ae);
1862
- };
1863
- }), ve = () => {
1864
- if (w.result)
1865
- try {
1866
- N();
1867
- } catch (V) {
1868
- _.fail(V);
1869
- }
1870
- else
1871
- _.done = !0, _.start = () => {
1872
- throw new Error("Cursor behind last entry");
1873
- }, _.stop();
1874
- };
1875
- return w.onsuccess = j((V) => {
1876
- w.onsuccess = ve, ve();
1877
- }), _.continue = R, _.continuePrimaryKey = O, _.advance = q, ve(), ge;
1878
- }, v(_);
1879
- }, g);
1880
- });
1881
- }, count({ query: l, trans: d }) {
1882
- const { index: f, range: m } = l;
1883
- return new Promise((p, v) => {
1884
- const g = d.objectStore(h), y = f.isPrimaryKey ? g : g.index(f.name), b = r(m), x = b ? y.count(b) : y.count();
1885
- x.onsuccess = j((E) => p(E.target.result)), x.onerror = Y(v);
1886
- });
1887
- } };
1888
- }(a)), u = {};
1889
- return o.forEach((a) => u[a.name] = a), { stack: "dbcore", transaction: t.transaction.bind(t), table(a) {
1890
- if (!u[a])
1891
- throw new Error(`Table '${a}' not found`);
1892
- return u[a];
1893
- }, MIN_KEY: -1 / 0, MAX_KEY: Ue(e), schema: s };
1894
- }
1895
- function Ut({ _novip: t }, e) {
1896
- const n = e.db, r = function(s, i, { IDBKeyRange: o, indexedDB: u }, a) {
1897
- return { dbcore: function(c, h) {
1898
- return h.reduce((l, { create: d }) => ({ ...l, ...d(l) }), c);
1899
- }(Br(i, o, a), s.dbcore) };
1900
- }(t._middlewares, n, t._deps, e);
1901
- t.core = r.dbcore, t.tables.forEach((s) => {
1902
- const i = s.name;
1903
- t.core.schema.tables.some((o) => o.name === i) && (s.core = t.core.table(i), t[i] instanceof t.Table && (t[i].core = s.core));
1904
- });
1905
- }
1906
- function mt({ _novip: t }, e, n, r) {
1907
- n.forEach((s) => {
1908
- const i = r[s];
1909
- e.forEach((o) => {
1910
- const u = Jt(o, s);
1911
- (!u || "value" in u && u.value === void 0) && (o === t.Transaction.prototype || o instanceof t.Transaction ? ee(o, s, { get() {
1912
- return this.table(s);
1913
- }, set(a) {
1914
- En(this, s, { value: a, writable: !0, configurable: !0, enumerable: !0 });
1915
- } }) : o[s] = new t.Table(s, i));
1916
- });
1917
- });
1918
- }
1919
- function Vt({ _novip: t }, e) {
1920
- e.forEach((n) => {
1921
- for (let r in n)
1922
- n[r] instanceof t.Table && delete n[r];
1923
- });
1924
- }
1925
- function Fr(t, e) {
1926
- return t._cfg.version - e._cfg.version;
1927
- }
1928
- function Mr(t, e, n, r) {
1929
- const s = t._dbSchema, i = t._createTransaction("readwrite", t._storeNames, s);
1930
- i.create(n), i._completion.catch(r);
1931
- const o = i._reject.bind(i), u = P.transless || P;
1932
- oe(() => {
1933
- P.trans = i, P.transless = u, e === 0 ? (D(s).forEach((a) => {
1934
- Pt(n, a, s[a].primKey, s[a].indexes);
1935
- }), Ut(t, n), S.follow(() => t.on.populate.fire(i)).catch(o)) : function({ _novip: a }, c, h, l) {
1936
- const d = [], f = a._versions;
1937
- let m = a._dbSchema = zt(a, a.idbdb, l), p = !1;
1938
- const v = f.filter((y) => y._cfg.version >= c);
1939
- function g() {
1940
- return d.length ? S.resolve(d.shift()(h.idbtrans)).then(g) : S.resolve();
1941
- }
1942
- return v.forEach((y) => {
1943
- d.push(() => {
1944
- const b = m, x = y._cfg.dbschema;
1945
- Ht(a, b, l), Ht(a, x, l), m = a._dbSchema = x;
1946
- const E = Jn(b, x);
1947
- E.add.forEach((w) => {
1948
- Pt(l, w[0], w[1].primKey, w[1].indexes);
1949
- }), E.change.forEach((w) => {
1950
- if (w.recreate)
1951
- throw new C.Upgrade("Not yet support for changing primary key");
1952
- {
1953
- const A = l.objectStore(w.name);
1954
- w.add.forEach((_) => Wt(A, _)), w.change.forEach((_) => {
1955
- A.deleteIndex(_.name), Wt(A, _);
1956
- }), w.del.forEach((_) => A.deleteIndex(_));
1957
- }
1958
- });
1959
- const k = y._cfg.contentUpgrade;
1960
- if (k && y._cfg.version > c) {
1961
- Ut(a, l), h._memoizedTables = {}, p = !0;
1962
- let w = An(x);
1963
- E.del.forEach((O) => {
1964
- w[O] = b[O];
1965
- }), Vt(a, [a.Transaction.prototype]), mt(a, [a.Transaction.prototype], D(w), w), h.schema = w;
1966
- const A = Zt(k);
1967
- let _;
1968
- A && Ce();
1969
- const R = S.follow(() => {
1970
- if (_ = k(h), _ && A) {
1971
- var O = ne.bind(null, null);
1972
- _.then(O, O);
1973
- }
1974
- });
1975
- return _ && typeof _.then == "function" ? S.resolve(_) : R.then(() => _);
1976
- }
1977
- }), d.push((b) => {
1978
- (!p || !Ar) && function(x, E) {
1979
- [].slice.call(E.db.objectStoreNames).forEach((k) => x[k] == null && E.db.deleteObjectStore(k));
1980
- }(y._cfg.dbschema, b), Vt(a, [a.Transaction.prototype]), mt(a, [a.Transaction.prototype], a._storeNames, a._dbSchema), h.schema = a._dbSchema;
1981
- });
1982
- }), g().then(() => {
1983
- var y, b;
1984
- b = l, D(y = m).forEach((x) => {
1985
- b.db.objectStoreNames.contains(x) || Pt(b, x, y[x].primKey, y[x].indexes);
1986
- });
1987
- });
1988
- }(t, e, i, n).catch(o);
1989
- });
1990
- }
1991
- function Jn(t, e) {
1992
- const n = { del: [], add: [], change: [] };
1993
- let r;
1994
- for (r in t)
1995
- e[r] || n.del.push(r);
1996
- for (r in e) {
1997
- const s = t[r], i = e[r];
1998
- if (s) {
1999
- const o = { name: r, def: i, recreate: !1, del: [], add: [], change: [] };
2000
- if ("" + (s.primKey.keyPath || "") != "" + (i.primKey.keyPath || "") || s.primKey.auto !== i.primKey.auto && !gt)
2001
- o.recreate = !0, n.change.push(o);
2002
- else {
2003
- const u = s.idxByName, a = i.idxByName;
2004
- let c;
2005
- for (c in u)
2006
- a[c] || o.del.push(c);
2007
- for (c in a) {
2008
- const h = u[c], l = a[c];
2009
- h ? h.src !== l.src && o.change.push(l) : o.add.push(l);
2010
- }
2011
- (o.del.length > 0 || o.add.length > 0 || o.change.length > 0) && n.change.push(o);
2012
- }
2013
- } else
2014
- n.add.push([r, i]);
2015
- }
2016
- return n;
2017
- }
2018
- function Pt(t, e, n, r) {
2019
- const s = t.db.createObjectStore(e, n.keyPath ? { keyPath: n.keyPath, autoIncrement: n.auto } : { autoIncrement: n.auto });
2020
- return r.forEach((i) => Wt(s, i)), s;
2021
- }
2022
- function Wt(t, e) {
2023
- t.createIndex(e.name, e.keyPath, { unique: e.unique, multiEntry: e.multi });
2024
- }
2025
- function zt(t, e, n) {
2026
- const r = {};
2027
- return lt(e.objectStoreNames, 0).forEach((s) => {
2028
- const i = n.objectStore(s);
2029
- let o = i.keyPath;
2030
- const u = qt(Xn(o), o || "", !1, !1, !!i.autoIncrement, o && typeof o != "string", !0), a = [];
2031
- for (let h = 0; h < i.indexNames.length; ++h) {
2032
- const l = i.index(i.indexNames[h]);
2033
- o = l.keyPath;
2034
- var c = qt(l.name, o, !!l.unique, !!l.multiEntry, !1, o && typeof o != "string", !1);
2035
- a.push(c);
2036
- }
2037
- r[s] = Qn(s, u, a);
2038
- }), r;
2039
- }
2040
- function Ht({ _novip: t }, e, n) {
2041
- const r = n.db.objectStoreNames;
2042
- for (let s = 0; s < r.length; ++s) {
2043
- const i = r[s], o = n.objectStore(i);
2044
- t._hasGetAll = "getAll" in o;
2045
- for (let u = 0; u < o.indexNames.length; ++u) {
2046
- const a = o.indexNames[u], c = o.index(a).keyPath, h = typeof c == "string" ? c : "[" + lt(c).join("+") + "]";
2047
- if (e[i]) {
2048
- const l = e[i].idxByName[h];
2049
- l && (l.name = a, delete e[i].idxByName[h], e[i].idxByName[a] = l);
2050
- }
2051
- }
2052
- }
2053
- typeof navigator < "u" && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && K.WorkerGlobalScope && K instanceof K.WorkerGlobalScope && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604 && (t._hasGetAll = !1);
2054
- }
2055
- class qr {
2056
- _parseStoresSpec(e, n) {
2057
- D(e).forEach((r) => {
2058
- if (e[r] !== null) {
2059
- var s = e[r].split(",").map((o, u) => {
2060
- const a = (o = o.trim()).replace(/([&*]|\+\+)/g, ""), c = /^\[/.test(a) ? a.match(/^\[(.*)\]$/)[1].split("+") : a;
2061
- return qt(a, c || null, /\&/.test(o), /\*/.test(o), /\+\+/.test(o), M(c), u === 0);
2062
- }), i = s.shift();
2063
- if (i.multi)
2064
- throw new C.Schema("Primary key cannot be multi-valued");
2065
- s.forEach((o) => {
2066
- if (o.auto)
2067
- throw new C.Schema("Only primary key can be marked as autoIncrement (++)");
2068
- if (!o.keyPath)
2069
- throw new C.Schema("Index must have a name and cannot be an empty string");
2070
- }), n[r] = Qn(r, i, s);
2071
- }
2072
- });
2073
- }
2074
- stores(e) {
2075
- const n = this.db;
2076
- this._cfg.storesSource = this._cfg.storesSource ? U(this._cfg.storesSource, e) : e;
2077
- const r = n._versions, s = {};
2078
- let i = {};
2079
- return r.forEach((o) => {
2080
- U(s, o._cfg.storesSource), i = o._cfg.dbschema = {}, o._parseStoresSpec(s, i);
2081
- }), n._dbSchema = i, Vt(n, [n._allTables, n, n.Transaction.prototype]), mt(n, [n._allTables, n, n.Transaction.prototype, this._cfg.tables], D(i), i), n._storeNames = D(i), this;
2082
- }
2083
- upgrade(e) {
2084
- return this._cfg.contentUpgrade = nn(this._cfg.contentUpgrade || I, e), this;
2085
- }
2086
- }
2087
- function an(t, e) {
2088
- let n = t._dbNamesDB;
2089
- return n || (n = t._dbNamesDB = new pe(vt, { addons: [], indexedDB: t, IDBKeyRange: e }), n.version(1).stores({ dbnames: "name" })), n.table("dbnames");
2090
- }
2091
- function un(t) {
2092
- return t && typeof t.databases == "function";
2093
- }
2094
- function Yt(t) {
2095
- return oe(function() {
2096
- return P.letThrough = !0, t();
2097
- });
2098
- }
2099
- function Lr() {
2100
- var t;
2101
- return !navigator.userAgentData && /Safari\//.test(navigator.userAgent) && !/Chrom(e|ium)\//.test(navigator.userAgent) && indexedDB.databases ? new Promise(function(e) {
2102
- var n = function() {
2103
- return indexedDB.databases().finally(e);
2104
- };
2105
- t = setInterval(n, 100), n();
2106
- }).finally(function() {
2107
- return clearInterval(t);
2108
- }) : Promise.resolve();
2109
- }
2110
- function Ur(t) {
2111
- const e = t._state, { indexedDB: n } = t._deps;
2112
- if (e.isBeingOpened || t.idbdb)
2113
- return e.dbReadyPromise.then(() => e.dbOpenError ? $(e.dbOpenError) : t);
2114
- G && (e.openCanceller._stackHolder = Pe()), e.isBeingOpened = !0, e.dbOpenError = null, e.openComplete = !1;
2115
- const r = e.openCanceller;
2116
- function s() {
2117
- if (e.openCanceller !== r)
2118
- throw new C.DatabaseClosed("db.open() was cancelled");
2119
- }
2120
- let i = e.dbReadyResolve, o = null, u = !1;
2121
- return S.race([r, (typeof navigator > "u" ? S.resolve() : Lr()).then(() => new S((a, c) => {
2122
- if (s(), !n)
2123
- throw new C.MissingAPI();
2124
- const h = t.name, l = e.autoSchema ? n.open(h) : n.open(h, Math.round(10 * t.verno));
2125
- if (!l)
2126
- throw new C.MissingAPI();
2127
- l.onerror = Y(c), l.onblocked = j(t._fireOnBlocked), l.onupgradeneeded = j((d) => {
2128
- if (o = l.transaction, e.autoSchema && !t._options.allowEmptyDB) {
2129
- l.onerror = qe, o.abort(), l.result.close();
2130
- const m = n.deleteDatabase(h);
2131
- m.onsuccess = m.onerror = j(() => {
2132
- c(new C.NoSuchDatabase(`Database ${h} doesnt exist`));
2133
- });
2134
- } else {
2135
- o.onerror = Y(c);
2136
- var f = d.oldVersion > Math.pow(2, 62) ? 0 : d.oldVersion;
2137
- u = f < 1, t._novip.idbdb = l.result, Mr(t, f / 10, o, c);
2138
- }
2139
- }, c), l.onsuccess = j(() => {
2140
- o = null;
2141
- const d = t._novip.idbdb = l.result, f = lt(d.objectStoreNames);
2142
- if (f.length > 0)
2143
- try {
2144
- const p = d.transaction((m = f).length === 1 ? m[0] : m, "readonly");
2145
- e.autoSchema ? function({ _novip: v }, g, y) {
2146
- v.verno = g.version / 10;
2147
- const b = v._dbSchema = zt(0, g, y);
2148
- v._storeNames = lt(g.objectStoreNames, 0), mt(v, [v._allTables], D(b), b);
2149
- }(t, d, p) : (Ht(t, t._dbSchema, p), function(v, g) {
2150
- const y = Jn(zt(0, v.idbdb, g), v._dbSchema);
2151
- return !(y.add.length || y.change.some((b) => b.add.length || b.change.length));
2152
- }(t, p) || console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")), Ut(t, p);
2153
- } catch {
2154
- }
2155
- var m;
2156
- Ne.push(t), d.onversionchange = j((p) => {
2157
- e.vcFired = !0, t.on("versionchange").fire(p);
2158
- }), d.onclose = j((p) => {
2159
- t.on("close").fire(p);
2160
- }), u && function({ indexedDB: p, IDBKeyRange: v }, g) {
2161
- !un(p) && g !== vt && an(p, v).put({ name: g }).catch(I);
2162
- }(t._deps, h), a();
2163
- }, c);
2164
- }))]).then(() => (s(), e.onReadyBeingFired = [], S.resolve(Yt(() => t.on.ready.fire(t.vip))).then(function a() {
2165
- if (e.onReadyBeingFired.length > 0) {
2166
- let c = e.onReadyBeingFired.reduce(nn, I);
2167
- return e.onReadyBeingFired = [], S.resolve(Yt(() => c(t.vip))).then(a);
2168
- }
2169
- }))).finally(() => {
2170
- e.onReadyBeingFired = null, e.isBeingOpened = !1;
2171
- }).then(() => t).catch((a) => {
2172
- e.dbOpenError = a;
2173
- try {
2174
- o && o.abort();
2175
- } catch {
2176
- }
2177
- return r === e.openCanceller && t._close(), $(a);
2178
- }).finally(() => {
2179
- e.openComplete = !0, i();
2180
- });
2181
- }
2182
- function Gt(t) {
2183
- var e = (i) => t.next(i), n = s(e), r = s((i) => t.throw(i));
2184
- function s(i) {
2185
- return (o) => {
2186
- var u = i(o), a = u.value;
2187
- return u.done ? a : a && typeof a.then == "function" ? a.then(n, r) : M(a) ? Promise.all(a).then(n, r) : n(a);
2188
- };
2189
- }
2190
- return s(e)();
2191
- }
2192
- function Vr(t, e, n) {
2193
- var r = arguments.length;
2194
- if (r < 2)
2195
- throw new C.InvalidArgument("Too few arguments");
2196
- for (var s = new Array(r - 1); --r; )
2197
- s[r - 1] = arguments[r];
2198
- return n = s.pop(), [t, On(s), n];
2199
- }
2200
- function Zn(t, e, n, r, s) {
2201
- return S.resolve().then(() => {
2202
- const i = P.transless || P, o = t._createTransaction(e, n, t._dbSchema, r), u = { trans: o, transless: i };
2203
- if (r)
2204
- o.idbtrans = r.idbtrans;
2205
- else
2206
- try {
2207
- o.create(), t._state.PR1398_maxLoop = 3;
2208
- } catch (l) {
2209
- return l.name === tn.InvalidState && t.isOpen() && --t._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), t._close(), t.open().then(() => Zn(t, e, n, null, s))) : $(l);
2210
- }
2211
- const a = Zt(s);
2212
- let c;
2213
- a && Ce();
2214
- const h = S.follow(() => {
2215
- if (c = s.call(o, o), c)
2216
- if (a) {
2217
- var l = ne.bind(null, null);
2218
- c.then(l, l);
2219
- } else
2220
- typeof c.next == "function" && typeof c.throw == "function" && (c = Gt(c));
2221
- }, u);
2222
- return (c && typeof c.then == "function" ? S.resolve(c).then((l) => o.active ? l : $(new C.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))) : h.then(() => c)).then((l) => (r && o._resolve(), o._completion.then(() => l))).catch((l) => (o._reject(l), $(l)));
2223
- });
2224
- }
2225
- function et(t, e, n) {
2226
- const r = M(t) ? t.slice() : [t];
2227
- for (let s = 0; s < n; ++s)
2228
- r.push(e);
2229
- return r;
2230
- }
2231
- const Wr = { stack: "dbcore", name: "VirtualIndexMiddleware", level: 1, create: function(t) {
2232
- return { ...t, table(e) {
2233
- const n = t.table(e), { schema: r } = n, s = {}, i = [];
2234
- function o(c, h, l) {
2235
- const d = $e(c), f = s[d] = s[d] || [], m = c == null ? 0 : typeof c == "string" ? 1 : c.length, p = h > 0, v = { ...l, isVirtual: p, keyTail: h, keyLength: m, extractKey: Lt(c), unique: !p && l.unique };
2236
- return f.push(v), v.isPrimaryKey || i.push(v), m > 1 && o(m === 2 ? c[0] : c.slice(0, m - 1), h + 1, l), f.sort((g, y) => g.keyTail - y.keyTail), v;
2237
- }
2238
- const u = o(r.primaryKey.keyPath, 0, r.primaryKey);
2239
- s[":id"] = [u];
2240
- for (const c of r.indexes)
2241
- o(c.keyPath, 0, c);
2242
- function a(c) {
2243
- const h = c.query.index;
2244
- return h.isVirtual ? { ...c, query: { index: h, range: (l = c.query.range, d = h.keyTail, { type: l.type === 1 ? 2 : l.type, lower: et(l.lower, l.lowerOpen ? t.MAX_KEY : t.MIN_KEY, d), lowerOpen: !0, upper: et(l.upper, l.upperOpen ? t.MIN_KEY : t.MAX_KEY, d), upperOpen: !0 }) } } : c;
2245
- var l, d;
2246
- }
2247
- return { ...n, schema: { ...r, primaryKey: u, indexes: i, getIndexByKeyPath: function(c) {
2248
- const h = s[$e(c)];
2249
- return h && h[0];
2250
- } }, count: (c) => n.count(a(c)), query: (c) => n.query(a(c)), openCursor(c) {
2251
- const { keyTail: h, isVirtual: l, keyLength: d } = c.query.index;
2252
- return l ? n.openCursor(a(c)).then((f) => f && function(m) {
2253
- return Object.create(m, { continue: { value: function(p) {
2254
- p != null ? m.continue(et(p, c.reverse ? t.MAX_KEY : t.MIN_KEY, h)) : c.unique ? m.continue(m.key.slice(0, d).concat(c.reverse ? t.MIN_KEY : t.MAX_KEY, h)) : m.continue();
2255
- } }, continuePrimaryKey: { value(p, v) {
2256
- m.continuePrimaryKey(et(p, t.MAX_KEY, h), v);
2257
- } }, primaryKey: { get: () => m.primaryKey }, key: { get() {
2258
- const p = m.key;
2259
- return d === 1 ? p[0] : p.slice(0, d);
2260
- } }, value: { get: () => m.value } });
2261
- }(f)) : n.openCursor(c);
2262
- } };
2263
- } };
2264
- } };
2265
- function ln(t, e, n, r) {
2266
- return n = n || {}, r = r || "", D(t).forEach((s) => {
2267
- if (z(e, s)) {
2268
- var i = t[s], o = e[s];
2269
- if (typeof i == "object" && typeof o == "object" && i && o) {
2270
- const u = Tt(i);
2271
- u !== Tt(o) ? n[r + s] = e[s] : u === "Object" ? ln(i, o, n, r + s + ".") : i !== o && (n[r + s] = e[s]);
2272
- } else
2273
- i !== o && (n[r + s] = e[s]);
2274
- } else
2275
- n[r + s] = void 0;
2276
- }), D(e).forEach((s) => {
2277
- z(t, s) || (n[r + s] = e[s]);
2278
- }), n;
2279
- }
2280
- const zr = { stack: "dbcore", name: "HooksMiddleware", level: 2, create: (t) => ({ ...t, table(e) {
2281
- const n = t.table(e), { primaryKey: r } = n.schema;
2282
- return { ...n, mutate(s) {
2283
- const i = P.trans, { deleting: o, creating: u, updating: a } = i.table(e).hook;
2284
- switch (s.type) {
2285
- case "add":
2286
- if (u.fire === I)
2287
- break;
2288
- return i._promise("readwrite", () => c(s), !0);
2289
- case "put":
2290
- if (u.fire === I && a.fire === I)
2291
- break;
2292
- return i._promise("readwrite", () => c(s), !0);
2293
- case "delete":
2294
- if (o.fire === I)
2295
- break;
2296
- return i._promise("readwrite", () => c(s), !0);
2297
- case "deleteRange":
2298
- if (o.fire === I)
2299
- break;
2300
- return i._promise("readwrite", () => function(l) {
2301
- return h(l.trans, l.range, 1e4);
2302
- }(s), !0);
2303
- }
2304
- return n.mutate(s);
2305
- function c(l) {
2306
- const d = P.trans, f = l.keys || function(m, p) {
2307
- return p.type === "delete" ? p.keys : p.keys || p.values.map(m.extractKey);
2308
- }(r, l);
2309
- if (!f)
2310
- throw new Error("Keys missing");
2311
- return (l = l.type === "add" || l.type === "put" ? { ...l, keys: f } : { ...l }).type !== "delete" && (l.values = [...l.values]), l.keys && (l.keys = [...l.keys]), function(m, p, v) {
2312
- return p.type === "add" ? Promise.resolve([]) : m.getMany({ trans: p.trans, keys: v, cache: "immutable" });
2313
- }(n, l, f).then((m) => {
2314
- const p = f.map((v, g) => {
2315
- const y = m[g], b = { onerror: null, onsuccess: null };
2316
- if (l.type === "delete")
2317
- o.fire.call(b, v, y, d);
2318
- else if (l.type === "add" || y === void 0) {
2319
- const x = u.fire.call(b, v, l.values[g], d);
2320
- v == null && x != null && (v = x, l.keys[g] = v, r.outbound || H(l.values[g], r.keyPath, v));
2321
- } else {
2322
- const x = ln(y, l.values[g]), E = a.fire.call(b, x, v, y, d);
2323
- if (E) {
2324
- const k = l.values[g];
2325
- Object.keys(E).forEach((w) => {
2326
- z(k, w) ? k[w] = E[w] : H(k, w, E[w]);
2327
- });
2328
- }
2329
- }
2330
- return b;
2331
- });
2332
- return n.mutate(l).then(({ failures: v, results: g, numFailures: y, lastResult: b }) => {
2333
- for (let x = 0; x < f.length; ++x) {
2334
- const E = g ? g[x] : f[x], k = p[x];
2335
- E == null ? k.onerror && k.onerror(v[x]) : k.onsuccess && k.onsuccess(l.type === "put" && m[x] ? l.values[x] : E);
2336
- }
2337
- return { failures: v, results: g, numFailures: y, lastResult: b };
2338
- }).catch((v) => (p.forEach((g) => g.onerror && g.onerror(v)), Promise.reject(v)));
2339
- });
2340
- }
2341
- function h(l, d, f) {
2342
- return n.query({ trans: l, values: !1, query: { index: r, range: d }, limit: f }).then(({ result: m }) => c({ type: "delete", keys: m, trans: l }).then((p) => p.numFailures > 0 ? Promise.reject(p.failures[0]) : m.length < f ? { failures: [], numFailures: 0, lastResult: void 0 } : h(l, { ...d, lower: m[m.length - 1], lowerOpen: !0 }, f)));
2343
- }
2344
- } };
2345
- } }) };
2346
- function er(t, e, n) {
2347
- try {
2348
- if (!e || e.keys.length < t.length)
2349
- return null;
2350
- const r = [];
2351
- for (let s = 0, i = 0; s < e.keys.length && i < t.length; ++s)
2352
- L(e.keys[s], t[i]) === 0 && (r.push(n ? We(e.values[s]) : e.values[s]), ++i);
2353
- return r.length === t.length ? r : null;
2354
- } catch {
2355
- return null;
2356
- }
2357
- }
2358
- const Hr = { stack: "dbcore", level: -1, create: (t) => ({ table: (e) => {
2359
- const n = t.table(e);
2360
- return { ...n, getMany: (r) => {
2361
- if (!r.cache)
2362
- return n.getMany(r);
2363
- const s = er(r.keys, r.trans._cache, r.cache === "clone");
2364
- return s ? S.resolve(s) : n.getMany(r).then((i) => (r.trans._cache = { keys: r.keys, values: r.cache === "clone" ? We(i) : i }, i));
2365
- }, mutate: (r) => (r.type !== "add" && (r.trans._cache = null), n.mutate(r)) };
2366
- } }) };
2367
- function cn(t) {
2368
- return !("from" in t);
2369
- }
2370
- const Q = function(t, e) {
2371
- if (!this) {
2372
- const n = new Q();
2373
- return t && "d" in t && U(n, t), n;
2374
- }
2375
- U(this, arguments.length ? { d: 1, from: t, to: arguments.length > 1 ? e : t } : { d: 0 });
2376
- };
2377
- function Ve(t, e, n) {
2378
- const r = L(e, n);
2379
- if (isNaN(r))
2380
- return;
2381
- if (r > 0)
2382
- throw RangeError();
2383
- if (cn(t))
2384
- return U(t, { from: e, to: n, d: 1 });
2385
- const s = t.l, i = t.r;
2386
- if (L(n, t.from) < 0)
2387
- return s ? Ve(s, e, n) : t.l = { from: e, to: n, d: 1, l: null, r: null }, xn(t);
2388
- if (L(e, t.to) > 0)
2389
- return i ? Ve(i, e, n) : t.r = { from: e, to: n, d: 1, l: null, r: null }, xn(t);
2390
- L(e, t.from) < 0 && (t.from = e, t.l = null, t.d = i ? i.d + 1 : 1), L(n, t.to) > 0 && (t.to = n, t.r = null, t.d = t.l ? t.l.d + 1 : 1);
2391
- const o = !t.r;
2392
- s && !t.l && yt(t, s), i && o && yt(t, i);
2393
- }
2394
- function yt(t, e) {
2395
- cn(e) || function n(r, { from: s, to: i, l: o, r: u }) {
2396
- Ve(r, s, i), o && n(r, o), u && n(r, u);
2397
- }(t, e);
2398
- }
2399
- function Yr(t, e) {
2400
- const n = Xt(e);
2401
- let r = n.next();
2402
- if (r.done)
2403
- return !1;
2404
- let s = r.value;
2405
- const i = Xt(t);
2406
- let o = i.next(s.from), u = o.value;
2407
- for (; !r.done && !o.done; ) {
2408
- if (L(u.from, s.to) <= 0 && L(u.to, s.from) >= 0)
2409
- return !0;
2410
- L(s.from, u.from) < 0 ? s = (r = n.next(u.from)).value : u = (o = i.next(s.from)).value;
2411
- }
2412
- return !1;
2413
- }
2414
- function Xt(t) {
2415
- let e = cn(t) ? null : { s: 0, n: t };
2416
- return { next(n) {
2417
- const r = arguments.length > 0;
2418
- for (; e; )
2419
- switch (e.s) {
2420
- case 0:
2421
- if (e.s = 1, r)
2422
- for (; e.n.l && L(n, e.n.from) < 0; )
2423
- e = { up: e, n: e.n.l, s: 1 };
2424
- else
2425
- for (; e.n.l; )
2426
- e = { up: e, n: e.n.l, s: 1 };
2427
- case 1:
2428
- if (e.s = 2, !r || L(n, e.n.to) <= 0)
2429
- return { value: e.n, done: !1 };
2430
- case 2:
2431
- if (e.n.r) {
2432
- e.s = 3, e = { up: e, n: e.n.r, s: 0 };
2433
- continue;
2434
- }
2435
- case 3:
2436
- e = e.up;
2437
- }
2438
- return { done: !0 };
2439
- } };
2440
- }
2441
- function xn(t) {
2442
- var e, n;
2443
- const r = (((e = t.r) === null || e === void 0 ? void 0 : e.d) || 0) - (((n = t.l) === null || n === void 0 ? void 0 : n.d) || 0), s = r > 1 ? "r" : r < -1 ? "l" : "";
2444
- if (s) {
2445
- const i = s === "r" ? "l" : "r", o = { ...t }, u = t[s];
2446
- t.from = u.from, t.to = u.to, t[s] = u[s], o[s] = u[i], t[i] = o, o.d = Sn(o);
2447
- }
2448
- t.d = Sn(t);
2449
- }
2450
- function Sn({ r: t, l: e }) {
2451
- return (t ? e ? Math.max(t.d, e.d) : t.d : e ? e.d : 0) + 1;
2452
- }
2453
- Ee(Q.prototype, { add(t) {
2454
- return yt(this, t), this;
2455
- }, addKey(t) {
2456
- return Ve(this, t, t), this;
2457
- }, addKeys(t) {
2458
- return t.forEach((e) => Ve(this, e, e)), this;
2459
- }, [At]() {
2460
- return Xt(this);
2461
- } });
2462
- const Gr = { stack: "dbcore", level: 0, create: (t) => {
2463
- const e = t.schema.name, n = new Q(t.MIN_KEY, t.MAX_KEY);
2464
- return { ...t, table: (r) => {
2465
- const s = t.table(r), { schema: i } = s, { primaryKey: o } = i, { extractKey: u, outbound: a } = o, c = { ...s, mutate: (d) => {
2466
- const f = d.trans, m = f.mutatedParts || (f.mutatedParts = {}), p = (k) => {
2467
- const w = `idb://${e}/${r}/${k}`;
2468
- return m[w] || (m[w] = new Q());
2469
- }, v = p(""), g = p(":dels"), { type: y } = d;
2470
- let [b, x] = d.type === "deleteRange" ? [d.range] : d.type === "delete" ? [d.keys] : d.values.length < 50 ? [[], d.values] : [];
2471
- const E = d.trans._cache;
2472
- return s.mutate(d).then((k) => {
2473
- if (M(b)) {
2474
- y !== "delete" && (b = k.results), v.addKeys(b);
2475
- const w = er(b, E);
2476
- w || y === "add" || g.addKeys(b), (w || x) && function(A, _, R, O) {
2477
- function q(B) {
2478
- const N = A(B.name || "");
2479
- function ge(V) {
2480
- return V != null ? B.extractKey(V) : null;
2481
- }
2482
- const ve = (V) => B.multiEntry && M(V) ? V.forEach((le) => N.addKey(le)) : N.addKey(V);
2483
- (R || O).forEach((V, le) => {
2484
- const Ae = R && ge(R[le]), bt = O && ge(O[le]);
2485
- L(Ae, bt) !== 0 && (Ae != null && ve(Ae), bt != null && ve(bt));
2486
- });
2487
- }
2488
- _.indexes.forEach(q);
2489
- }(p, i, w, x);
2490
- } else if (b) {
2491
- const w = { from: b.lower, to: b.upper };
2492
- g.add(w), v.add(w);
2493
- } else
2494
- v.add(n), g.add(n), i.indexes.forEach((w) => p(w.name).add(n));
2495
- return k;
2496
- });
2497
- } }, h = ({ query: { index: d, range: f } }) => {
2498
- var m, p;
2499
- return [d, new Q((m = f.lower) !== null && m !== void 0 ? m : t.MIN_KEY, (p = f.upper) !== null && p !== void 0 ? p : t.MAX_KEY)];
2500
- }, l = { get: (d) => [o, new Q(d.key)], getMany: (d) => [o, new Q().addKeys(d.keys)], count: h, query: h, openCursor: h };
2501
- return D(l).forEach((d) => {
2502
- c[d] = function(f) {
2503
- const { subscr: m } = P;
2504
- if (m) {
2505
- const p = (x) => {
2506
- const E = `idb://${e}/${r}/${x}`;
2507
- return m[E] || (m[E] = new Q());
2508
- }, v = p(""), g = p(":dels"), [y, b] = l[d](f);
2509
- if (p(y.name || "").add(b), !y.isPrimaryKey) {
2510
- if (d !== "count") {
2511
- const x = d === "query" && a && f.values && s.query({ ...f, values: !1 });
2512
- return s[d].apply(this, arguments).then((E) => {
2513
- if (d === "query") {
2514
- if (a && f.values)
2515
- return x.then(({ result: w }) => (v.addKeys(w), E));
2516
- const k = f.values ? E.result.map(u) : E.result;
2517
- f.values ? v.addKeys(k) : g.addKeys(k);
2518
- } else if (d === "openCursor") {
2519
- const k = E, w = f.values;
2520
- return k && Object.create(k, { key: { get: () => (g.addKey(k.primaryKey), k.key) }, primaryKey: { get() {
2521
- const A = k.primaryKey;
2522
- return g.addKey(A), A;
2523
- } }, value: { get: () => (w && v.addKey(k.primaryKey), k.value) } });
2524
- }
2525
- return E;
2526
- });
2527
- }
2528
- g.add(n);
2529
- }
2530
- }
2531
- return s[d].apply(this, arguments);
2532
- };
2533
- }), c;
2534
- } };
2535
- } };
2536
- class pe {
2537
- constructor(e, n) {
2538
- this._middlewares = {}, this.verno = 0;
2539
- const r = pe.dependencies;
2540
- this._options = n = { addons: pe.addons, autoOpen: !0, indexedDB: r.indexedDB, IDBKeyRange: r.IDBKeyRange, ...n }, this._deps = { indexedDB: n.indexedDB, IDBKeyRange: n.IDBKeyRange };
2541
- const { addons: s } = n;
2542
- this._dbSchema = {}, this._versions = [], this._storeNames = [], this._allTables = {}, this.idbdb = null, this._novip = this;
2543
- const i = { dbOpenError: null, isBeingOpened: !1, onReadyBeingFired: null, openComplete: !1, dbReadyResolve: I, dbReadyPromise: null, cancelOpen: I, openCanceller: null, autoSchema: !0, PR1398_maxLoop: 3 };
2544
- var o;
2545
- i.dbReadyPromise = new S((u) => {
2546
- i.dbReadyResolve = u;
2547
- }), i.openCanceller = new S((u, a) => {
2548
- i.cancelOpen = a;
2549
- }), this._state = i, this.name = e, this.on = De(this, "populate", "blocked", "versionchange", "close", { ready: [nn, I] }), this.on.ready.subscribe = Pn(this.on.ready.subscribe, (u) => (a, c) => {
2550
- pe.vip(() => {
2551
- const h = this._state;
2552
- if (h.openComplete)
2553
- h.dbOpenError || S.resolve().then(a), c && u(a);
2554
- else if (h.onReadyBeingFired)
2555
- h.onReadyBeingFired.push(a), c && u(a);
2556
- else {
2557
- u(a);
2558
- const l = this;
2559
- c || u(function d() {
2560
- l.on.ready.unsubscribe(a), l.on.ready.unsubscribe(d);
2561
- });
2562
- }
2563
- });
2564
- }), this.Collection = (o = this, Oe(Kr.prototype, function(u, a) {
2565
- this.db = o;
2566
- let c = Hn, h = null;
2567
- if (a)
2568
- try {
2569
- c = a();
2570
- } catch (m) {
2571
- h = m;
2572
- }
2573
- const l = u._ctx, d = l.table, f = d.hook.reading.fire;
2574
- this._ctx = { table: d, index: l.index, isPrimKey: !l.index || d.schema.primKey.keyPath && l.index === d.schema.primKey.name, range: c, keysOnly: !1, dir: "next", unique: "", algorithm: null, filter: null, replayFilter: null, justLimit: !0, isMatch: null, offset: 0, limit: 1 / 0, error: h, or: l.or, valueMapper: f !== Fe ? f : null };
2575
- })), this.Table = function(u) {
2576
- return Oe(Ir.prototype, function(a, c, h) {
2577
- this.db = u, this._tx = h, this.name = a, this.schema = c, this.hook = u._allTables[a] ? u._allTables[a].hook : De(null, { creating: [br, I], reading: [vr, Fe], updating: [_r, I], deleting: [wr, I] });
2578
- });
2579
- }(this), this.Transaction = function(u) {
2580
- return Oe(Dr.prototype, function(a, c, h, l, d) {
2581
- this.db = u, this.mode = a, this.storeNames = c, this.schema = h, this.chromeTransactionDurability = l, this.idbtrans = null, this.on = De(this, "complete", "error", "abort"), this.parent = d || null, this.active = !0, this._reculock = 0, this._blockedFuncs = [], this._resolve = null, this._reject = null, this._waitingFor = null, this._waitingQueue = null, this._spinCount = 0, this._completion = new S((f, m) => {
2582
- this._resolve = f, this._reject = m;
2583
- }), this._completion.then(() => {
2584
- this.active = !1, this.on.complete.fire();
2585
- }, (f) => {
2586
- var m = this.active;
2587
- return this.active = !1, this.on.error.fire(f), this.parent ? this.parent._reject(f) : m && this.idbtrans && this.idbtrans.abort(), $(f);
2588
- });
2589
- });
2590
- }(this), this.Version = function(u) {
2591
- return Oe(qr.prototype, function(a) {
2592
- this.db = u, this._cfg = { version: a, storesSource: null, dbschema: {}, tables: {}, contentUpgrade: null };
2593
- });
2594
- }(this), this.WhereClause = function(u) {
2595
- return Oe(Gn.prototype, function(a, c, h) {
2596
- this.db = u, this._ctx = { table: a, index: c === ":id" ? null : c, or: h };
2597
- const l = u._deps.indexedDB;
2598
- if (!l)
2599
- throw new C.MissingAPI();
2600
- this._cmp = this._ascending = l.cmp.bind(l), this._descending = (d, f) => l.cmp(f, d), this._max = (d, f) => l.cmp(d, f) > 0 ? d : f, this._min = (d, f) => l.cmp(d, f) < 0 ? d : f, this._IDBKeyRange = u._deps.IDBKeyRange;
2601
- });
2602
- }(this), this.on("versionchange", (u) => {
2603
- u.newVersion > 0 ? console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`) : console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`), this.close();
2604
- }), this.on("blocked", (u) => {
2605
- !u.newVersion || u.newVersion < u.oldVersion ? console.warn(`Dexie.delete('${this.name}') was blocked`) : console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${u.oldVersion / 10}`);
2606
- }), this._maxKey = Ue(n.IDBKeyRange), this._createTransaction = (u, a, c, h) => new this.Transaction(u, a, c, this._options.chromeTransactionDurability, h), this._fireOnBlocked = (u) => {
2607
- this.on("blocked").fire(u), Ne.filter((a) => a.name === this.name && a !== this && !a._state.vcFired).map((a) => a.on("versionchange").fire(u));
2608
- }, this.use(Wr), this.use(zr), this.use(Gr), this.use(Hr), this.vip = Object.create(this, { _vip: { value: !0 } }), s.forEach((u) => u(this));
2609
- }
2610
- version(e) {
2611
- if (isNaN(e) || e < 0.1)
2612
- throw new C.Type("Given version is not a positive number");
2613
- if (e = Math.round(10 * e) / 10, this.idbdb || this._state.isBeingOpened)
2614
- throw new C.Schema("Cannot add version when database is open");
2615
- this.verno = Math.max(this.verno, e);
2616
- const n = this._versions;
2617
- var r = n.filter((s) => s._cfg.version === e)[0];
2618
- return r || (r = new this.Version(e), n.push(r), n.sort(Fr), r.stores({}), this._state.autoSchema = !1, r);
2619
- }
2620
- _whenReady(e) {
2621
- return this.idbdb && (this._state.openComplete || P.letThrough || this._vip) ? e() : new S((n, r) => {
2622
- if (this._state.openComplete)
2623
- return r(new C.DatabaseClosed(this._state.dbOpenError));
2624
- if (!this._state.isBeingOpened) {
2625
- if (!this._options.autoOpen)
2626
- return void r(new C.DatabaseClosed());
2627
- this.open().catch(I);
2628
- }
2629
- this._state.dbReadyPromise.then(n, r);
2630
- }).then(e);
2631
- }
2632
- use({ stack: e, create: n, level: r, name: s }) {
2633
- s && this.unuse({ stack: e, name: s });
2634
- const i = this._middlewares[e] || (this._middlewares[e] = []);
2635
- return i.push({ stack: e, create: n, level: r ?? 10, name: s }), i.sort((o, u) => o.level - u.level), this;
2636
- }
2637
- unuse({ stack: e, name: n, create: r }) {
2638
- return e && this._middlewares[e] && (this._middlewares[e] = this._middlewares[e].filter((s) => r ? s.create !== r : !!n && s.name !== n)), this;
2639
- }
2640
- open() {
2641
- return Ur(this);
2642
- }
2643
- _close() {
2644
- const e = this._state, n = Ne.indexOf(this);
2645
- if (n >= 0 && Ne.splice(n, 1), this.idbdb) {
2646
- try {
2647
- this.idbdb.close();
2648
- } catch {
2649
- }
2650
- this._novip.idbdb = null;
2651
- }
2652
- e.dbReadyPromise = new S((r) => {
2653
- e.dbReadyResolve = r;
2654
- }), e.openCanceller = new S((r, s) => {
2655
- e.cancelOpen = s;
2656
- });
2657
- }
2658
- close() {
2659
- this._close();
2660
- const e = this._state;
2661
- this._options.autoOpen = !1, e.dbOpenError = new C.DatabaseClosed(), e.isBeingOpened && e.cancelOpen(e.dbOpenError);
2662
- }
2663
- delete() {
2664
- const e = arguments.length > 0, n = this._state;
2665
- return new S((r, s) => {
2666
- const i = () => {
2667
- this.close();
2668
- var o = this._deps.indexedDB.deleteDatabase(this.name);
2669
- o.onsuccess = j(() => {
2670
- (function({ indexedDB: u, IDBKeyRange: a }, c) {
2671
- !un(u) && c !== vt && an(u, a).delete(c).catch(I);
2672
- })(this._deps, this.name), r();
2673
- }), o.onerror = Y(s), o.onblocked = this._fireOnBlocked;
2674
- };
2675
- if (e)
2676
- throw new C.InvalidArgument("Arguments not allowed in db.delete()");
2677
- n.isBeingOpened ? n.dbReadyPromise.then(i) : i();
2678
- });
2679
- }
2680
- backendDB() {
2681
- return this.idbdb;
2682
- }
2683
- isOpen() {
2684
- return this.idbdb !== null;
2685
- }
2686
- hasBeenClosed() {
2687
- const e = this._state.dbOpenError;
2688
- return e && e.name === "DatabaseClosed";
2689
- }
2690
- hasFailed() {
2691
- return this._state.dbOpenError !== null;
2692
- }
2693
- dynamicallyOpened() {
2694
- return this._state.autoSchema;
2695
- }
2696
- get tables() {
2697
- return D(this._allTables).map((e) => this._allTables[e]);
2698
- }
2699
- transaction() {
2700
- const e = Vr.apply(this, arguments);
2701
- return this._transaction.apply(this, e);
2702
- }
2703
- _transaction(e, n, r) {
2704
- let s = P.trans;
2705
- s && s.db === this && e.indexOf("!") === -1 || (s = null);
2706
- const i = e.indexOf("?") !== -1;
2707
- let o, u;
2708
- e = e.replace("!", "").replace("?", "");
2709
- try {
2710
- if (u = n.map((c) => {
2711
- var h = c instanceof this.Table ? c.name : c;
2712
- if (typeof h != "string")
2713
- throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");
2714
- return h;
2715
- }), e == "r" || e === _t)
2716
- o = _t;
2717
- else {
2718
- if (e != "rw" && e != kt)
2719
- throw new C.InvalidArgument("Invalid transaction mode: " + e);
2720
- o = kt;
2721
- }
2722
- if (s) {
2723
- if (s.mode === _t && o === kt) {
2724
- if (!i)
2725
- throw new C.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");
2726
- s = null;
2727
- }
2728
- s && u.forEach((c) => {
2729
- if (s && s.storeNames.indexOf(c) === -1) {
2730
- if (!i)
2731
- throw new C.SubTransaction("Table " + c + " not included in parent transaction.");
2732
- s = null;
2733
- }
2734
- }), i && s && !s.active && (s = null);
2735
- }
2736
- } catch (c) {
2737
- return s ? s._promise(null, (h, l) => {
2738
- l(c);
2739
- }) : $(c);
2740
- }
2741
- const a = Zn.bind(null, this, o, u, s, r);
2742
- return s ? s._promise(o, a, "lock") : P.trans ? Te(P.transless, () => this._whenReady(a)) : this._whenReady(a);
2743
- }
2744
- table(e) {
2745
- if (!z(this._allTables, e))
2746
- throw new C.InvalidTable(`Table ${e} does not exist`);
2747
- return this._allTables[e];
2748
- }
2749
- }
2750
- const Xr = typeof Symbol < "u" && "observable" in Symbol ? Symbol.observable : "@@observable";
2751
- class Qr {
2752
- constructor(e) {
2753
- this._subscribe = e;
2754
- }
2755
- subscribe(e, n, r) {
2756
- return this._subscribe(e && typeof e != "function" ? e : { next: e, error: n, complete: r });
2757
- }
2758
- [Xr]() {
2759
- return this;
2760
- }
2761
- }
2762
- function tr(t, e) {
2763
- return D(e).forEach((n) => {
2764
- yt(t[n] || (t[n] = new Q()), e[n]);
2765
- }), t;
2766
- }
2767
- function Jr(t) {
2768
- let e, n = !1;
2769
- const r = new Qr((s) => {
2770
- const i = Zt(t);
2771
- let o = !1, u = {}, a = {};
2772
- const c = { get closed() {
2773
- return o;
2774
- }, unsubscribe: () => {
2775
- o = !0, ue.storagemutated.unsubscribe(f);
2776
- } };
2777
- s.start && s.start(c);
2778
- let h = !1, l = !1;
2779
- function d() {
2780
- return D(a).some((p) => u[p] && Yr(u[p], a[p]));
2781
- }
2782
- const f = (p) => {
2783
- tr(u, p), d() && m();
2784
- }, m = () => {
2785
- if (h || o)
2786
- return;
2787
- u = {};
2788
- const p = {}, v = function(g) {
2789
- i && Ce();
2790
- const y = () => oe(t, { subscr: g, trans: null }), b = P.trans ? Te(P.transless, y) : y();
2791
- return i && b.then(ne, ne), b;
2792
- }(p);
2793
- l || (ue(Le, f), l = !0), h = !0, Promise.resolve(v).then((g) => {
2794
- n = !0, e = g, h = !1, o || (d() ? m() : (u = {}, a = p, s.next && s.next(g)));
2795
- }, (g) => {
2796
- h = !1, n = !1, s.error && s.error(g), c.unsubscribe();
2797
- });
2798
- };
2799
- return m(), c;
2800
- });
2801
- return r.hasValue = () => n, r.getValue = () => e, r;
2802
- }
2803
- let Qt;
2804
- try {
2805
- Qt = { indexedDB: K.indexedDB || K.mozIndexedDB || K.webkitIndexedDB || K.msIndexedDB, IDBKeyRange: K.IDBKeyRange || K.webkitIDBKeyRange };
2806
- } catch {
2807
- Qt = { indexedDB: null, IDBKeyRange: null };
2808
- }
2809
- const ce = pe;
2810
- function at(t) {
2811
- let e = Z;
2812
- try {
2813
- Z = !0, ue.storagemutated.fire(t);
2814
- } finally {
2815
- Z = e;
2816
- }
2817
- }
2818
- Ee(ce, { ...tt, delete: (t) => new ce(t, { addons: [] }).delete(), exists: (t) => new ce(t, { addons: [] }).open().then((e) => (e.close(), !0)).catch("NoSuchDatabaseError", () => !1), getDatabaseNames(t) {
2819
- try {
2820
- return function({ indexedDB: e, IDBKeyRange: n }) {
2821
- return un(e) ? Promise.resolve(e.databases()).then((r) => r.map((s) => s.name).filter((s) => s !== vt)) : an(e, n).toCollection().primaryKeys();
2822
- }(ce.dependencies).then(t);
2823
- } catch {
2824
- return $(new C.MissingAPI());
2825
- }
2826
- }, defineClass: () => function(t) {
2827
- U(this, t);
2828
- }, ignoreTransaction: (t) => P.trans ? Te(P.transless, t) : t(), vip: Yt, async: function(t) {
2829
- return function() {
2830
- try {
2831
- var e = Gt(t.apply(this, arguments));
2832
- return e && typeof e.then == "function" ? e : S.resolve(e);
2833
- } catch (n) {
2834
- return $(n);
2835
- }
2836
- };
2837
- }, spawn: function(t, e, n) {
2838
- try {
2839
- var r = Gt(t.apply(n, e || []));
2840
- return r && typeof r.then == "function" ? r : S.resolve(r);
2841
- } catch (s) {
2842
- return $(s);
2843
- }
2844
- }, currentTransaction: { get: () => P.trans || null }, waitFor: function(t, e) {
2845
- const n = S.resolve(typeof t == "function" ? ce.ignoreTransaction(t) : t).timeout(e || 6e4);
2846
- return P.trans ? P.trans.waitFor(n) : n;
2847
- }, Promise: S, debug: { get: () => G, set: (t) => {
2848
- Kn(t, t === "dexie" ? () => !0 : zn);
2849
- } }, derive: ke, extend: U, props: Ee, override: Pn, Events: De, on: ue, liveQuery: Jr, extendObservabilitySet: tr, getByKeyPath: te, setByKeyPath: H, delByKeyPath: function(t, e) {
2850
- typeof e == "string" ? H(t, e, void 0) : "length" in e && [].map.call(e, function(n) {
2851
- H(t, n, void 0);
2852
- });
2853
- }, shallowClone: An, deepClone: We, getObjectDiff: ln, cmp: L, asap: Cn, minKey: Mt, addons: [], connections: Ne, errnames: tn, dependencies: Qt, semVer: gn, version: gn.split(".").map((t) => parseInt(t)).reduce((t, e, n) => t + e / Math.pow(10, 2 * n)) }), ce.maxKey = Ue(ce.dependencies.IDBKeyRange), typeof dispatchEvent < "u" && typeof addEventListener < "u" && (ue(Le, (t) => {
2854
- if (!Z) {
2855
- let e;
2856
- gt ? (e = document.createEvent("CustomEvent"), e.initCustomEvent(ie, !0, !0, t)) : e = new CustomEvent(ie, { detail: t }), Z = !0, dispatchEvent(e), Z = !1;
2857
- }
2858
- }), addEventListener(ie, ({ detail: t }) => {
2859
- Z || at(t);
2860
- }));
2861
- let Z = !1;
2862
- if (typeof BroadcastChannel < "u") {
2863
- const t = new BroadcastChannel(ie);
2864
- typeof t.unref == "function" && t.unref(), ue(Le, (e) => {
2865
- Z || t.postMessage(e);
2866
- }), t.onmessage = (e) => {
2867
- e.data && at(e.data);
2868
- };
2869
- } else if (typeof self < "u" && typeof navigator < "u") {
2870
- ue(Le, (e) => {
2871
- try {
2872
- Z || (typeof localStorage < "u" && localStorage.setItem(ie, JSON.stringify({ trig: Math.random(), changedParts: e })), typeof self.clients == "object" && [...self.clients.matchAll({ includeUncontrolled: !0 })].forEach((n) => n.postMessage({ type: ie, changedParts: e })));
2873
- } catch {
2874
- }
2875
- }), typeof addEventListener < "u" && addEventListener("storage", (e) => {
2876
- if (e.key === ie) {
2877
- const n = JSON.parse(e.newValue);
2878
- n && at(n.changedParts);
2879
- }
2880
- });
2881
- const t = self.document && navigator.serviceWorker;
2882
- t && t.addEventListener("message", function({ data: e }) {
2883
- e && e.type === ie && at(e.changedParts);
2884
- });
2885
- }
2886
- S.rejectionMapper = function(t, e) {
2887
- if (!t || t instanceof xe || t instanceof TypeError || t instanceof SyntaxError || !t.name || !fn[t.name])
2888
- return t;
2889
- var n = new fn[t.name](e || t.message, t);
2890
- return "stack" in t && ee(n, "stack", { get: function() {
2891
- return this.inner.stack;
2892
- } }), n;
2893
- }, Kn(G, zn);
2894
- class Zr extends pe {
2895
- constructor() {
2896
- super("NylasAuthDatabase"), ut(this, "grant"), ut(this, "pkce"), this.version(1).stores({
2897
- grant: "++id,token",
2898
- pkce: "++id,codeVerifier"
2899
- }), this.grant = this.table("grant"), this.pkce = this.table("pkce");
2900
- }
2901
- }
2902
- class es {
2903
- constructor() {
2904
- ut(this, "theDB"), this.theDB = new Zr();
2905
- }
2906
- async setCodeVerifier(e) {
2907
- await this.theDB.pkce.put({ id: 1, codeVerifier: e }, 1);
2908
- }
2909
- async getCodeVerifier() {
2910
- const [e] = await this.theDB.pkce.toArray();
2911
- return e ? e.codeVerifier : null;
2912
- }
2913
- async getTokenInfo() {
2914
- const e = await this.theDB.grant.get(1);
2915
- return e ? e.token : null;
2916
- }
2917
- async setTokenInfo(e) {
2918
- await this.theDB.grant.put({ id: 1, token: e }, 1);
2919
- }
2920
- async reset() {
2921
- await this.theDB.grant.clear();
2922
- }
2923
- }
2924
- function is(t) {
2925
- const e = "NylasAuth";
2926
- if (!t)
2927
- throw new Error("NylasAuth requires a config object");
2928
- let n = null;
2929
- if (t.storageType === "indexeddb" && (n = new es()), !n)
2930
- throw new Error("NylasAuth requires a storage object");
2931
- const r = [
2932
- {
2933
- type: "read-only",
2934
- value: "https://www.googleapis.com/auth/gmail.readonly"
2935
- },
2936
- {
2937
- type: "modify",
2938
- value: "https://www.googleapis.com/auth/gmail.modify"
2939
- },
2940
- {
2941
- type: "compose",
2942
- value: "https://www.googleapis.com/auth/gmail.compose"
2943
- },
2944
- {
2945
- type: "insert",
2946
- value: "https://www.googleapis.com/auth/gmail.insert"
2947
- },
2948
- {
2949
- type: "labels",
2950
- value: "https://www.googleapis.com/auth/gmail.labels"
2951
- },
2952
- {
2953
- type: "metadata",
2954
- value: "https://www.googleapis.com/auth/gmail.metadata"
2955
- },
2956
- {
2957
- type: "settings.basic",
2958
- value: "https://www.googleapis.com/auth/gmail.settings.basic"
2959
- },
2960
- {
2961
- type: "settings.sharing",
2962
- value: "https://www.googleapis.com/auth/gmail.settings.sharing"
2963
- }
2964
- ], s = [
2965
- {
2966
- type: "read-only",
2967
- value: "https://outlook.office.com/mail.read"
2968
- },
2969
- {
2970
- type: "modify",
2971
- value: "https://outlook.office.com/mail.readwrite"
2972
- },
2973
- {
2974
- type: "send",
2975
- value: "https://outlook.office.com/mail.send"
2976
- },
2977
- {
2978
- type: "offline",
2979
- value: "offline_access"
2980
- }
2981
- ];
2982
- async function i(o, u, a, c = !0, h, l) {
2983
- const d = await (n == null ? void 0 : n.getTokenInfo()), f = new URL(o, h ?? t.apiUri), m = new Headers();
2984
- m.append("Accept", "application/json"), m.append("Content-Type", "application/json"), m.append("User-Agent", e), d && m.append("Authorization", `Bearer ${d.access_token}`);
2985
- const p = await fetch(f.toString(), {
2986
- method: u || "GET",
2987
- headers: m,
2988
- mode: "cors",
2989
- referrer: location.origin,
2990
- body: a ? JSON.stringify(a) : void 0,
2991
- ...l || {}
2992
- });
2993
- return c ? await p.json() : p.body;
2994
- }
2995
- return {
2996
- config: t,
2997
- /**
2998
- * This method will make a request to the Nylas API to exchange an authorization code for an access token.
2999
- * @param scopes The scopes that were used to generate the authorization code
3000
- * @param email The email that was used to generate the authorization code
3001
- * @param provider The provider that was used to generate the authorization code
3002
- * @returns A promise that resolves to a URL string that can be used to redirect the user to the Nylas API to complete the authorization flow
3003
- */
3004
- async getHostedAuthRedirectURL(o = t.defaultScopes, u, a) {
3005
- const c = await dn(Math.random().toString()), h = await dn(c);
3006
- await (n == null ? void 0 : n.setCodeVerifier(c));
3007
- const l = new URL(`${t.apiUri}/v3/connect/auth`);
3008
- return l.searchParams.set("client_id", t.clientId), l.searchParams.set("response_type", "code"), l.searchParams.set("scope", o.join(" ")), l.searchParams.set("redirect_uri", t.redirectURI), l.searchParams.set("access_type", "offline"), l.searchParams.set("code_challenge", h), l.searchParams.set("code_challenge_method", "S256"), l.searchParams.set("options", "rotate_refresh_token"), a && l.searchParams.set("provider", a), u && l.searchParams.set("login_hint", u), l.toString();
3009
- },
3010
- /**
3011
- * This method will make a request to the Nylas API to exchange an authorization code for an access token.
3012
- * @param path A path to the Nylas API, e.g. `/v3/grants/methreads`
3013
- * @param method GET, POST, PUT, DELETE, etc.
3014
- * @param body A JSON object to send as the body of the request
3015
- * @param domain The domain to use for the request, e.g. `api.us.nylas.com`
3016
- * @param parseJSON Whether to parse the response as JSON or return the raw response (default: true)
3017
- * @returns
3018
- */
3019
- nylasAPIRequest: i,
3020
- /**
3021
- * This method will make a request to the Nylas API to exchange an authorization code for an access token.
3022
- * @param code The authorization code that was returned from the Nylas API
3023
- * @returns A promise that resolves to a TokenExchangeResponse object
3024
- */
3025
- async exchangeAuthCodeForTokenInfo(o) {
3026
- if (!o)
3027
- return null;
3028
- const u = await (n == null ? void 0 : n.getCodeVerifier()), a = await this.nylasAPIRequest("/v3/connect/token", "POST", {
3029
- code: o,
3030
- client_id: t.clientId,
3031
- grant_type: "authorization_code",
3032
- redirect_uri: t.redirectURI,
3033
- code_verifier: u
3034
- });
3035
- return "error" in a || await (n == null ? void 0 : n.setTokenInfo(a)), a;
3036
- },
3037
- /**
3038
- * This method will make a `application/octet-stream` request to the Nylas API to download a file.
3039
- */
3040
- async nylasDownloadFileRequest(o, u = "GET", a) {
3041
- const c = await (n == null ? void 0 : n.getTokenInfo()), h = new URL(o, t.apiUri), l = new Headers();
3042
- return l.append("Accept", "application/json"), l.append("Content-Type", "application/octet-stream"), l.append("User-Agent", e), c && l.append("Authorization", `Bearer ${c.access_token}`), (await fetch(h.toString(), {
3043
- method: u,
3044
- headers: l,
3045
- mode: "cors",
3046
- referrer: location.origin,
3047
- body: a ? JSON.stringify(a) : void 0
3048
- })).blob();
3049
- },
3050
- /**
3051
- * This methid will clear the access token from the storage object
3052
- */
3053
- async logout() {
3054
- const o = await (n == null ? void 0 : n.getTokenInfo());
3055
- o && await this.nylasAPIRequest(`/v3/connect/revoke?token=${o.access_token}`, "POST"), await (n == null ? void 0 : n.reset());
3056
- },
3057
- /**
3058
- * This method will make a request to the Nylas API to exchange an authorization code for an access token.
3059
- * @returns A promise that resolves to a boolean indicating whether the user is authenticated
3060
- */
3061
- async isAuthenticated() {
3062
- return !!await (n == null ? void 0 : n.getTokenInfo());
3063
- },
3064
- /**
3065
- * This method will return information about the current access token.
3066
- * @returns A promise with the token info
3067
- */
3068
- async getTokenInfo() {
3069
- const o = await (n == null ? void 0 : n.getTokenInfo());
3070
- if (!o)
3071
- return null;
3072
- const { access_token: u, ...a } = o;
3073
- return a;
3074
- },
3075
- /**
3076
- * This method will make a request to the Nylas API to validate if the current access token is valid.
3077
- * @returns A promise that resolves to a boolean indicating whether the current access token is valid
3078
- */
3079
- async isAccessTokenValid() {
3080
- const o = await (n == null ? void 0 : n.getTokenInfo());
3081
- return o ? "data" in await this.nylasAPIRequest(`/v3/connect/tokeninfo?id_token=${o.id_token}`, "GET") : !1;
3082
- },
3083
- /**
3084
- * This method will make a request to the Nylas API to refresh the current access token.
3085
- * @returns A promise that resolves to a TokenExchangeResponse object
3086
- */
3087
- async refreshAccessToken() {
3088
- const o = await (n == null ? void 0 : n.getTokenInfo());
3089
- if (!o)
3090
- return null;
3091
- const u = await this.nylasAPIRequest("/v3/connect/token", "POST", {
3092
- client_id: t.clientId,
3093
- grant_type: "refresh_token",
3094
- refresh_token: o.refresh_token
3095
- });
3096
- return "error" in u || await (n == null ? void 0 : n.setTokenInfo(u)), u;
3097
- },
3098
- /**
3099
- * This method will return true if the current access token has the given scope
3100
- * based on the type of scope (e.g. 'read-only', 'modify', 'compose', 'insert', 'labels', 'metadata', 'settings.basic', or 'settings.sharing')
3101
- * @param type Either 'read-only', 'modify', 'compose', 'insert', 'labels', 'metadata', 'settings.basic', or 'settings.sharing'
3102
- */
3103
- async hasScopeByType(o = "email", u) {
3104
- const a = await (n == null ? void 0 : n.getTokenInfo());
3105
- if (!a)
3106
- return !1;
3107
- const c = a.scope.toLowerCase().split(" ");
3108
- let h = [];
3109
- const l = Array.isArray(u) ? u : [u];
3110
- return o === "email" && (h = [...s, ...r].filter((d) => l.includes(d.type))), h.every((d) => c.includes(d.value));
3111
- },
3112
- /**
3113
- * A helper method to check if the current access token has a given scope.
3114
- * @param scope The scope(s) to check for in the current access token (e.g. https://www.googleapis.com/auth/gmail.modify)
3115
- * @returns boolean indicating whether the current access token has the given scope
3116
- */
3117
- async hasScope(o) {
3118
- const u = await (n == null ? void 0 : n.getTokenInfo());
3119
- if (!u)
3120
- return !1;
3121
- const a = u.scope.toLowerCase().split(" ");
3122
- return (Array.isArray(o) ? o : [o]).some((c) => a.includes(c.toLowerCase()));
3123
- }
3124
- };
3125
- }
3126
- export {
3127
- ns as N,
3128
- rs as X,
3129
- ss as Z,
3130
- is as e,
3131
- sr as g,
3132
- ar as n
3133
- };