memorio 4.6.5 → 4.6.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.
package/index.js DELETED
@@ -1,1315 +0,0 @@
1
- var e, t, o, r, s, n, a, i, l = Object.getOwnPropertyNames, c = (e, t) => function() {
2
- return e && (t = (0, e[l(e)[0]])(e = 0)), t;
3
- }, u = c({
4
- "core/internal.ts"() {
5
- e = {
6
- debug: !1,
7
- tracking: !1,
8
- trackedPaths: new Set,
9
- locked: !1,
10
- lastAccessedPath: "",
11
- stateVersion: 0,
12
- currentContext: null
13
- }, t = [ "list", "state", "store", "idb", "observer", "useObserver", "remove", "removeAll", "_platform", "_capabilities", "_sessionId" ],
14
- o = (e, t) => String(void 0 !== t ? t : e).replace("() => ", ""), r = {
15
- get debug() {
16
- return e.debug;
17
- },
18
- set debug(t) {
19
- e.debug = t;
20
- },
21
- get tracking() {
22
- return e.tracking;
23
- },
24
- set tracking(t) {
25
- e.tracking = t;
26
- },
27
- get trackedPaths() {
28
- return e.trackedPaths;
29
- },
30
- clearTrackedPaths() {
31
- e.trackedPaths.clear();
32
- },
33
- get locked() {
34
- return e.locked;
35
- },
36
- set locked(t) {
37
- e.locked = t;
38
- },
39
- get lastAccessedPath() {
40
- return e.lastAccessedPath;
41
- },
42
- set lastAccessedPath(t) {
43
- e.lastAccessedPath = t;
44
- },
45
- get stateVersion() {
46
- return e.stateVersion;
47
- },
48
- bumpStateVersion: () => (e.stateVersion = (e.stateVersion || 0) + 1, e.stateVersion),
49
- get currentContext() {
50
- return e.currentContext;
51
- },
52
- set currentContext(t) {
53
- e.currentContext = t;
54
- }
55
- };
56
- }
57
- }), d = c({
58
- "functions/message/index.ts"() {
59
- u(), n = s = (...e) => {
60
- !0 === r.debug && console.debug(...e);
61
- };
62
- }
63
- });
64
-
65
- function b() {
66
- const e = globalThis;
67
- if (void 0 !== e.crypto && e.crypto.randomUUID) return e.crypto.randomUUID();
68
- if (void 0 !== e.crypto && e.crypto.getRandomValues) {
69
- const t = new Uint8Array(16);
70
- return e.crypto.getRandomValues(t), Array.from(t, e => e.toString(16).padStart(2, "0")).join("");
71
- }
72
- return `session_${Date.now()}_${Math.random().toString(36).substring(2, 15)}`;
73
- }
74
-
75
- function f() {
76
- const e = globalThis;
77
- return e.Deno && e.Deno.version ? "deno" : "undefined" != typeof process && process.versions && process.versions.node ? "node" : "undefined" != typeof globalThis && void 0 !== globalThis.ServiceWorkerGlobalScope ? "edge" : "undefined" != typeof window && "undefined" != typeof document ? "browser" : "unknown";
78
- }
79
-
80
- function g() {
81
- return "browser" === f();
82
- }
83
-
84
- function m() {
85
- return "node" === f();
86
- }
87
-
88
- function h() {
89
- return "deno" === f();
90
- }
91
-
92
- function p() {
93
- return "edge" === f();
94
- }
95
-
96
- function v() {
97
- try {
98
- if ("undefined" != typeof sessionStorage) {
99
- const e = "__memorio_test__";
100
- return sessionStorage.setItem(e, "1"), sessionStorage.removeItem(e), sessionStorage;
101
- }
102
- } catch (e) {}
103
- return null;
104
- }
105
-
106
- function y() {
107
- try {
108
- if ("undefined" != typeof localStorage) {
109
- const e = "__memorio_test__";
110
- return localStorage.setItem(e, "1"), localStorage.removeItem(e), localStorage;
111
- }
112
- } catch (e) {}
113
- return null;
114
- }
115
-
116
- function T() {
117
- return "undefined" != typeof indexedDB;
118
- }
119
-
120
- function w() {
121
- const e = f(), t = void 0 !== globalThis.isSecureContext ? globalThis.isSecureContext : "browser" === e;
122
- return {
123
- platform: e,
124
- hasSessionStorage: null !== v(),
125
- hasLocalStorage: null !== y(),
126
- hasIndexedDB: T(),
127
- hasDispatchEvent: "function" == typeof globalThis.dispatchEvent,
128
- hasNavigator: "undefined" != typeof navigator,
129
- hasProcess: "undefined" != typeof process,
130
- isSecureContext: t,
131
- sessionId: b()
132
- };
133
- }
134
-
135
- function O(e) {
136
- const t = e || `context_${b()}`;
137
- S(t);
138
- const o = {
139
- state: {},
140
- store: new Map,
141
- session: new Map,
142
- cache: new Map
143
- };
144
- return i.set(t, o), {
145
- id: t,
146
- state: o.state,
147
- store: {
148
- get: e => {
149
- const t = o.store.get(e);
150
- return t ? JSON.parse(t) : null;
151
- },
152
- set: (e, t) => {
153
- o.store.set(e, JSON.stringify(t));
154
- },
155
- remove: e => o.store.delete(e),
156
- removeAll: () => o.store.clear(),
157
- clearAll: () => o.store.clear(),
158
- size: () => o.store.size,
159
- isPersistent: !1
160
- },
161
- session: {
162
- get: e => {
163
- const t = o.session.get(e);
164
- return t ? JSON.parse(t) : null;
165
- },
166
- set: (e, t) => {
167
- o.session.set(e, JSON.stringify(t));
168
- },
169
- remove: e => o.session.delete(e),
170
- removeAll: () => o.session.clear(),
171
- clearAll: () => o.session.clear(),
172
- size: () => o.session.size,
173
- isPersistent: !1
174
- },
175
- cache: {
176
- get: e => o.cache.get(e),
177
- set: (e, t) => o.cache.set(e, t),
178
- remove: e => o.cache.delete(e),
179
- removeAll: () => o.cache.clear(),
180
- clear: () => o.cache.clear()
181
- }
182
- };
183
- }
184
-
185
- function P() {
186
- return Array.from(i.keys());
187
- }
188
-
189
- function j(e) {
190
- return i.delete(e);
191
- }
192
-
193
- function S(e) {
194
- r.currentContext = e;
195
- }
196
-
197
- var E, $, k = c({
198
- "core/platform.ts"() {
199
- u(), a = new Map, i = new Map;
200
- }
201
- }), x = {}, D = c({
202
- "functions/idb/tools/db.create.ts"() {
203
- te(), d(), $.db.create = (e, t = 1) => new Promise((o, r) => {
204
- if (!$.db.support()) return r(new Error("IndexedDB not supported"));
205
- const s = globalThis.indexedDB.open(e, t);
206
- s.onerror = () => {
207
- n(`IndexedDB error: ${s.error?.message}`), r(s.error);
208
- }, s.onsuccess = () => {
209
- n(`Database ${e} connected successfully`), o(s.result);
210
- }, s.onupgradeneeded = () => {
211
- n(`Database ${e} upgrade/creation initiated`);
212
- };
213
- });
214
- }
215
- }), A = {}, _ = c({
216
- "functions/idb/tools/db.list.ts"() {
217
- te(), $.db.list = async () => {
218
- if (!("indexedDB" in globalThis) || !indexedDB.databases) return [];
219
- try {
220
- const e = await indexedDB.databases();
221
- return globalThis.idbases = e || [], await $.db.size(), globalThis.idbases;
222
- } catch (e) {
223
- return console.error("Error listing databases:", e), [];
224
- }
225
- };
226
- }
227
- }), C = {}, I = c({
228
- "functions/idb/tools/db.exist.ts"() {
229
- te(), $.db.exist = e => idbases?.some(t => t.name === e);
230
- }
231
- }), N = {}, z = c({
232
- "functions/idb/tools/db.quota.ts"() {
233
- te(), $.db.quota = () => navigator.storage.estimate();
234
- }
235
- }), B = {}, M = c({
236
- "functions/idb/tools/db.delete.ts"() {
237
- te(), d(), $.db.delete = e => new Promise((t, o) => {
238
- n(`Removing database ${e}...`);
239
- (() => {
240
- const r = indexedDB.deleteDatabase(e);
241
- r.onsuccess = () => {
242
- n(`${e} database removed successfully`), $.db.list(), t();
243
- }, r.onerror = () => {
244
- console.error(`Error removing ${e}:`, r.error), o(r.error);
245
- }, r.onblocked = () => {
246
- console.warn(`Deletion of ${e} is blocked. Please close other tabs.`);
247
- };
248
- })();
249
- });
250
- }
251
- }), J = {}, W = c({
252
- "functions/idb/tools/db.size.ts"() {
253
- te(), d(), $.db.size = async () => {
254
- if (idbases && 0 !== idbases.length) for (let e = 0; e < idbases.length; e++) {
255
- const t = idbases[e];
256
- try {
257
- const e = await $.db.create(t.name, t.version), o = Array.from(e.objectStoreNames);
258
- let r = 0;
259
- for (const t of o) {
260
- r += await $.table.size(e, t);
261
- }
262
- t.size = r, e.close();
263
- } catch (e) {
264
- n(`Could not calculate size for ${t.name}:${e}`);
265
- }
266
- }
267
- };
268
- }
269
- }), R = {}, V = c({
270
- "functions/idb/tools/db.version.ts"() {
271
- te(), $.db.version = e => {
272
- let t = 0;
273
- for (const o of idbases) {
274
- o.name === e && (t = o.version);
275
- break;
276
- }
277
- return t;
278
- };
279
- }
280
- }), U = {}, K = c({
281
- "functions/idb/tools/db.support.ts"() {
282
- te(), d(), $.db.support = () => {
283
- const e = "indexedDB" in globalThis;
284
- return e || n("Your environment doesn't support IndexedDB"), e;
285
- };
286
- }
287
- }), q = {}, F = c({
288
- "functions/idb/tools/table.create.ts"() {
289
- te(), d(), $.table.create = (e, t) => new Promise((o, r) => {
290
- try {
291
- const s = (Number($.db.version(e)) || 0) + 1, a = indexedDB.open(e, s);
292
- a.onupgradeneeded = o => {
293
- const r = o.target.result;
294
- if (!r.objectStoreNames.contains(t)) {
295
- const o = r.createObjectStore(t, {
296
- keyPath: "id",
297
- autoIncrement: !0
298
- });
299
- o.createIndex("id", "id", {
300
- unique: !0
301
- }), o.createIndex("data", "data", {
302
- unique: !1
303
- }), n(`Table ${t} created in ${e}`);
304
- }
305
- }, a.onsuccess = () => {
306
- a.result.close(), $.db.list(), o();
307
- }, a.onerror = () => {
308
- console.error(`Error creating table ${t}:`, a.error), r(a.error);
309
- };
310
- } catch (e) {
311
- console.error("Critical error in table.create:", e), r(e);
312
- }
313
- });
314
- }
315
- }), L = {}, H = c({
316
- "functions/idb/tools/table.size.ts"() {
317
- te(), d(), $.table.size = (e, t) => new Promise((o, r) => {
318
- if (!e) return r(new Error("Database instance is required"));
319
- if (!e.objectStoreNames.contains(t)) return o(0);
320
- let s = 0, a = 0;
321
- const i = e.transaction([ t ], "readonly").objectStore(t).openCursor();
322
- i.onsuccess = async e => {
323
- const t = e.target.result;
324
- if (t) {
325
- try {
326
- const e = t.value;
327
- s += JSON.stringify(e).length;
328
- } catch (e) {
329
- n(`Error stringifying IDB value tracking size:${e}`);
330
- }
331
- a++, a % 200 == 0 && await new Promise(e => setTimeout(e, 0)), t.continue();
332
- } else o(s);
333
- }, i.onerror = () => {
334
- r(i.error);
335
- };
336
- });
337
- }
338
- }), Y = {}, Z = c({
339
- "functions/idb/crud/data.delete.ts"() {
340
- te(), d(), $.data.delete = (e, t, o) => new Promise((r, s) => {
341
- const a = indexedDB.open(e);
342
- a.onsuccess = () => {
343
- const e = a.result;
344
- if (!e.objectStoreNames.contains(t)) return e.close(), s(new Error(`Table ${t} not found`));
345
- const i = e.transaction(t, "readwrite").objectStore(t).delete(o);
346
- i.onsuccess = () => {
347
- e.close(), n(`Record ${o} deleted from ${t}`), r();
348
- }, i.onerror = () => {
349
- e.close(), s(i.error);
350
- };
351
- }, a.onerror = () => s(a.error);
352
- }), $.data.delete.all = (e, t) => new Promise((o, r) => {
353
- const s = indexedDB.open(e);
354
- s.onsuccess = e => {
355
- const s = e.target.result;
356
- if (!s.objectStoreNames.contains(t)) return s.close(), r(new Error(`Table ${t} not found`));
357
- const a = s.transaction(t, "readwrite").objectStore(t).clear();
358
- a.onsuccess = () => {
359
- s.close(), n(`All data cleared from ${t}`), o();
360
- }, a.onerror = () => {
361
- s.close(), r(a.error);
362
- };
363
- }, s.onerror = () => r(s.error);
364
- });
365
- }
366
- }), G = {}, Q = c({
367
- "functions/idb/crud/data.set.ts"() {
368
- te(), d(), $.data.set = (e, t, o) => new Promise((r, s) => {
369
- const a = indexedDB.open(e);
370
- a.onsuccess = () => {
371
- const i = a.result;
372
- if (!i.objectStoreNames.contains(t)) return i.close(), s(new Error(`Table ${t} does not exist in ${e}`));
373
- const l = i.transaction(t, "readwrite").objectStore(t).put(o);
374
- l.onsuccess = () => {
375
- i.close(), n(`Data saved in ${e}.${t}`), r(l.result);
376
- }, l.onerror = e => {
377
- i.close(), n(`Database insert error: ${l.error?.message}`), s(l.error);
378
- };
379
- }, a.onerror = () => {
380
- s(a.error);
381
- };
382
- });
383
- }
384
- }), X = {}, ee = c({
385
- "functions/idb/crud/data.get.ts"() {
386
- te(), $.data.get = (e, t, o) => new Promise((r, s) => {
387
- const n = indexedDB.open(e);
388
- n.onsuccess = n => {
389
- const a = n.target.result;
390
- if (!a.objectStoreNames.contains(t)) return a.close(), s(new Error(`Table ${t} not found in ${e}`));
391
- const i = a.transaction(t, "readonly").objectStore(t).get(o);
392
- i.onsuccess = () => {
393
- a.close(), r(i.result);
394
- }, i.onerror = () => {
395
- a.close(), s(i.error);
396
- };
397
- }, n.onerror = () => {
398
- s(n.error);
399
- };
400
- });
401
- }
402
- }), te = c({
403
- "functions/idb/index.ts"() {
404
- k(), E = T(), $ = {
405
- db: {},
406
- table: {},
407
- data: {}
408
- }, E ? (async () => {
409
- Object.defineProperty($, "db", {
410
- value: {},
411
- writable: !0,
412
- configurable: !0
413
- }), Object.defineProperty($, "table", {
414
- value: {},
415
- writable: !0,
416
- configurable: !0
417
- }), Object.defineProperty($, "data", {
418
- value: {},
419
- writable: !0,
420
- configurable: !0
421
- }), Object.defineProperty(globalThis, "idbases", {
422
- value: [],
423
- writable: !0,
424
- configurable: !0,
425
- enumerable: !1
426
- }), await Promise.all([ Promise.resolve().then(() => (D(), x)), Promise.resolve().then(() => (_(),
427
- A)), Promise.resolve().then(() => (I(), C)), Promise.resolve().then(() => (z(),
428
- N)), Promise.resolve().then(() => (M(), B)), Promise.resolve().then(() => (W(),
429
- J)), Promise.resolve().then(() => (V(), R)), Promise.resolve().then(() => (K(),
430
- U)), Promise.resolve().then(() => (F(), q)), Promise.resolve().then(() => (H(),
431
- L)), Promise.resolve().then(() => (Z(), Y)), Promise.resolve().then(() => (Q(),
432
- G)), Promise.resolve().then(() => (ee(), X)) ]), Object.preventExtensions($), Object.seal($),
433
- Object.freeze($);
434
- })() : ($._disabled = !0, $._warning = "IndexedDB is not available in this environment (Node.js/Deno). Use store or session for persistence.",
435
- console.warn("Memorio IDB: IndexedDB is not available in this environment. Use store or session for data persistence."));
436
- }
437
- });
438
-
439
- u(), d();
440
-
441
- var oe = {
442
- set: (e, t = {}) => {
443
- globalThis.dispatchEvent(new CustomEvent(String(e), t));
444
- },
445
- listen: (e, t = null, o) => {
446
- if (globalThis.events?.[e]) return;
447
- const r = t ? e => {
448
- const o = e;
449
- return globalThis.queueMicrotask ? globalThis.queueMicrotask(() => t(o)) : Promise.resolve().then(() => t(o));
450
- } : void 0;
451
- r && globalThis.addEventListener(e, r), r && (globalThis.events[e] = r);
452
- },
453
- remove: e => {
454
- const t = globalThis.events?.[e];
455
- t && (globalThis.removeEventListener(e, t), delete globalThis.events[e]);
456
- }
457
- }, re = (e, t, o = ".") => t.concat(e).join(o), se = (e, o, s = []) => new Proxy(e, {
458
- get(e, t) {
459
- if ("__path" === t) return s.length > 0 ? "state." + s.join(".") : "state";
460
- if ("list" === t) return n('Some state could be hidden when you use "state.list". Use "state" to see the complete list '),
461
- JSON.parse(JSON.stringify(e));
462
- if ("string" == typeof t) {
463
- const e = s.length > 0 ? "state." + s.concat(t).join(".") : "state." + t;
464
- r.lastAccessedPath = e, r.tracking && r.trackedPaths.add(e);
465
- }
466
- if ("_lastPath" === t) return r.lastAccessedPath;
467
- if ("remove" === t) return t => (delete e[t], !0);
468
- if ("removeAll" === t) return () => {
469
- try {
470
- for (const t in e) "function" == typeof e[t] || [ "list", "remove", "removeAll", "lock", "unlock" ].includes(t) || delete e[t];
471
- } catch (e) {
472
- console.error(e);
473
- }
474
- };
475
- if (Object.isFrozen(e[t])) return e[t];
476
- if ("lock" === t || "unlock" === t) {
477
- const o = Reflect.get(e, t);
478
- if (o) return o;
479
- }
480
- try {
481
- const r = Reflect.get(e, t);
482
- return r && "object" == typeof r && [ "Array", "Object" ].includes(r.constructor.name) ? se(r, o, s.concat(t)) : r;
483
- } catch (e) {
484
- return void console.error("Error: ", e);
485
- }
486
- },
487
- set(e, a, i) {
488
- if (r.locked) return console.error("Error: state is locked. Use state.unlock() to enable modifications."),
489
- !1;
490
- if (t.includes(a)) return console.error("key " + a + " is protected"), !1;
491
- if (e[a] && "object" == typeof e[a] && Object.isFrozen(e[a])) return console.error(`Error: state '${a}' is locked`),
492
- !1;
493
- if (e[a] && "object" == typeof e[a] && e[a].__locked) return console.error(`Error: state '${a}' is locked. Use state.${a}.unlock() to enable modifications.`),
494
- !1;
495
- try {
496
- const t = re(a, s);
497
- if (o({
498
- action: "set",
499
- path: t,
500
- target: e,
501
- newValue: i,
502
- previousValue: Reflect.get(e, a)
503
- }), (e => {
504
- try {
505
- oe.set(e, {
506
- detail: {
507
- name: e
508
- }
509
- });
510
- } catch (e) {}
511
- })("state." + t), Reflect.set(e, a, i), r.bumpStateVersion(), e[a] && "object" == typeof e[a]) {
512
- const t = e[a];
513
- if (t && "object" == typeof t) try {
514
- Object.defineProperty(t, "__locked", {
515
- writable: !0,
516
- enumerable: !1,
517
- configurable: !1,
518
- value: !1
519
- }), Object.defineProperty(t, "lock", {
520
- writable: !1,
521
- enumerable: !1,
522
- configurable: !1,
523
- value: () => {
524
- Object.defineProperty(t, "__locked", {
525
- writable: !0,
526
- enumerable: !1,
527
- configurable: !1,
528
- value: !0
529
- }), n(`State '${a}' is now locked.`);
530
- }
531
- }), Object.defineProperty(t, "unlock", {
532
- writable: !1,
533
- enumerable: !1,
534
- configurable: !1,
535
- value: () => {
536
- Object.defineProperty(t, "__locked", {
537
- writable: !0,
538
- enumerable: !1,
539
- configurable: !1,
540
- value: !1
541
- }), n(`State '${a}' is now unlocked.`);
542
- }
543
- });
544
- } catch (e) {}
545
- }
546
- return !0;
547
- } catch (e) {
548
- return console.error("Error in set trap:", e), !1;
549
- }
550
- },
551
- deleteProperty(e, t) {
552
- try {
553
- const r = re(t, s);
554
- return o({
555
- action: "delete",
556
- path: r,
557
- target: e
558
- }), Reflect.deleteProperty(e, t);
559
- } catch (e) {
560
- return console.error("Error in deleteProperty trap:", e), !1;
561
- }
562
- },
563
- ownKeys: e => Reflect.ownKeys(e),
564
- getOwnPropertyDescriptor: (e, t) => Reflect.getOwnPropertyDescriptor(e, t)
565
- }), ne = se({}, () => {});
566
-
567
- ne.lock = () => {
568
- r.locked = !0, n("State is now locked. All modifications are blocked.");
569
- }, ne.unlock = () => {
570
- r.locked = !1, n("State is now unlocked. Modifications are allowed.");
571
- }, k(), u(), d();
572
-
573
- var ae = y(), ie = new Map;
574
-
575
- function le() {
576
- const e = r.currentContext || "" || "default";
577
- return ie.has(e) || ie.set(e, new Map), ie.get(e);
578
- }
579
-
580
- var ce = null !== ae;
581
-
582
- function ue() {
583
- const e = r.currentContext || "";
584
- return e ? `${e}-` : "memorio_store_";
585
- }
586
-
587
- function de(e) {
588
- return e && "string" == typeof e ? e.length > 512 ? (s("Key too long (max 512 characters)"),
589
- "") : /^[a-zA-Z0-9_.-]+$/.test(e) ? ue() + e : (s("Key contains invalid characters (only a-z, A-Z, 0-9, _, ., - allowed)"),
590
- "") : "";
591
- }
592
-
593
- var be = new Proxy({}, {});
594
-
595
- Object.defineProperty(globalThis, "store", {
596
- value: be,
597
- enumerable: !1,
598
- configurable: !0
599
- }), Object.defineProperties(be, {
600
- get: {
601
- value: e => {
602
- if (e) {
603
- try {
604
- return function(e) {
605
- const t = ce ? ae.getItem(e) : le().get(e);
606
- return t ? JSON.parse(t) : t;
607
- }(de(e));
608
- } catch (t) {
609
- s(`Error parsing store item '${e}': ${t}`);
610
- }
611
- return null;
612
- }
613
- }
614
- },
615
- getMultiple: {
616
- value: e => {
617
- const t = {};
618
- for (const o of e) try {
619
- const e = be.get(o);
620
- e && (t[o] = e);
621
- } catch {}
622
- return t;
623
- }
624
- },
625
- set: {
626
- value: (e, t) => {
627
- if (!e) return;
628
- const o = de(e);
629
- if (o) {
630
- if ("function" != typeof t) {
631
- try {
632
- !function(e, t) {
633
- const o = JSON.stringify(t);
634
- ce ? ae.setItem(e, o) : le().set(e, o);
635
- }(o, t);
636
- } catch (t) {
637
- s(`Error setting store item '${e}': ${t}`);
638
- }
639
- return null;
640
- }
641
- s("Storing functions is not secure and is blocked for safety.");
642
- }
643
- }
644
- },
645
- remove: {
646
- value: e => {
647
- if (!e) return;
648
- const t = de(e);
649
- if (!t) return !1;
650
- try {
651
- return function(e) {
652
- if (ce) {
653
- if (ae.getItem(e)) return ae.removeItem(e), !0;
654
- } else if (le().has(e)) return le().delete(e), !0;
655
- return !1;
656
- }(t);
657
- } catch (t) {
658
- s(`Error removing store item '${e}': ${t}`);
659
- }
660
- return !1;
661
- }
662
- },
663
- delete: {
664
- value: e => (be.remove(e), !0)
665
- },
666
- removeAll: {
667
- value: () => {
668
- if (ce) {
669
- const e = [];
670
- for (let t = 0; t < ae.length; t++) {
671
- const o = ae.key(t);
672
- o?.startsWith(ue()) && e.push(o);
673
- }
674
- e.forEach(e => ae.removeItem(e));
675
- } else le().clear();
676
- return !0;
677
- }
678
- },
679
- clearAll: {
680
- value: () => (be.removeAll(), !0)
681
- },
682
- quota: {
683
- value: async () => [ 0, 0 ]
684
- },
685
- size: {
686
- value: () => {
687
- let e = 0;
688
- return ce ? Object.keys(ae).forEach(t => {
689
- if (t.startsWith(ue())) {
690
- const o = ae.getItem(t);
691
- o && (e += o.length);
692
- }
693
- }) : le().forEach(t => {
694
- e += t.length;
695
- }), e;
696
- }
697
- },
698
- isPersistent: {
699
- get: () => ce
700
- },
701
- list: {
702
- value: () => {
703
- const e = {};
704
- try {
705
- if (ce) for (let t = 0; t < ae.length; t++) {
706
- const o = ae.key(t);
707
- if (o?.startsWith(ue())) {
708
- const t = o.replace(ue(), ""), r = ae.getItem(o);
709
- if (null !== r) try {
710
- e[t] = JSON.parse(r);
711
- } catch {
712
- e[t] = r;
713
- }
714
- }
715
- } else le().forEach((t, o) => {
716
- if (o.startsWith(ue())) {
717
- const r = o.replace(ue(), "");
718
- try {
719
- e[r] = JSON.parse(t);
720
- } catch {
721
- e[r] = t;
722
- }
723
- }
724
- });
725
- } catch (e) {
726
- s(`Error listing store items: ${e}`);
727
- }
728
- return e;
729
- }
730
- }
731
- }), Object.freeze(be), k(), u(), d();
732
-
733
- var fe = v(), ge = new Map;
734
-
735
- function me() {
736
- const e = r.currentContext || "" || "default";
737
- return ge.has(e) || ge.set(e, new Map), ge.get(e);
738
- }
739
-
740
- var he = null !== fe;
741
-
742
- function pe() {
743
- const e = r.currentContext || "";
744
- return e ? `${e}-` : "memorio_session_";
745
- }
746
-
747
- function ve(e) {
748
- return e && "string" == typeof e ? e.length > 512 ? (s("Key too long (max 512 characters)"),
749
- "") : /^[a-zA-Z0-9_.-]+$/.test(e) ? pe() + e : (s("Key contains invalid characters (only a-z, A-Z, 0-9, _, ., - allowed)"),
750
- "") : "";
751
- }
752
-
753
- var ye = new Proxy({}, {});
754
-
755
- Object.defineProperty(globalThis, "session", {
756
- value: ye,
757
- enumerable: !1,
758
- configurable: !0
759
- }), Object.defineProperties(ye, {
760
- get: {
761
- value: e => {
762
- if (e) try {
763
- return function(e) {
764
- const t = he ? fe.getItem(e) : me().get(e);
765
- return t ? JSON.parse(t) : t;
766
- }(ve(e));
767
- } catch (t) {
768
- s(`Error parsing session item '${e}':${t}`);
769
- }
770
- }
771
- },
772
- set: {
773
- value: (e, t) => {
774
- if (!e) return;
775
- const o = ve(e);
776
- if (o) if ("function" != typeof t) try {
777
- !function(e, t) {
778
- const o = JSON.stringify(t);
779
- he ? fe.setItem(e, o) : me().set(e, o);
780
- }(o, t);
781
- } catch (t) {
782
- s(`Error setting session item '${e}': ${t}`);
783
- } else s("It's not secure to session functions.");
784
- }
785
- },
786
- remove: {
787
- value: e => {
788
- if (!e) return;
789
- const t = ve(e);
790
- if (t) try {
791
- return function(e) {
792
- if (he) {
793
- if (fe.getItem(e)) return fe.removeItem(e), !0;
794
- } else if (me().has(e)) return me().delete(e), !0;
795
- return !1;
796
- }(t);
797
- } catch (t) {
798
- s(`Error removing session item '${e}': ${t}`);
799
- }
800
- }
801
- },
802
- delete: {
803
- value: e => (ye.remove(e), !0)
804
- },
805
- removeAll: {
806
- value: () => {
807
- if (he) {
808
- const e = [];
809
- for (let t = 0; t < fe.length; t++) {
810
- const o = fe.key(t);
811
- o?.startsWith(pe()) && e.push(o);
812
- }
813
- e.forEach(e => fe.removeItem(e));
814
- } else me().clear();
815
- return !0;
816
- }
817
- },
818
- clearAll: {
819
- value: () => (ye.removeAll(), !0)
820
- },
821
- quota: {
822
- value: async () => [ 0, 0 ]
823
- },
824
- size: {
825
- value: () => {
826
- let e = 0;
827
- return he ? Object.keys(fe).forEach(t => {
828
- if (t.startsWith(pe())) {
829
- const o = fe.getItem(t);
830
- o && (e += o.length);
831
- }
832
- }) : me().forEach(t => {
833
- e += t.length;
834
- }), e;
835
- }
836
- },
837
- isPersistent: {
838
- get: () => he
839
- },
840
- list: {
841
- value: () => {
842
- const e = {};
843
- try {
844
- if (he) for (let t = 0; t < fe.length; t++) {
845
- const o = fe.key(t);
846
- if (o?.startsWith(pe())) {
847
- const t = o.replace(pe(), ""), r = fe.getItem(o);
848
- if (null !== r) try {
849
- e[t] = JSON.parse(r);
850
- } catch {
851
- e[t] = r;
852
- }
853
- }
854
- } else me().forEach((t, o) => {
855
- if (o.startsWith(pe())) {
856
- const r = o.replace(pe(), "");
857
- try {
858
- e[r] = JSON.parse(t);
859
- } catch {
860
- e[r] = t;
861
- }
862
- }
863
- });
864
- } catch (e) {
865
- s(`Error listing session items: ${e}`);
866
- }
867
- return e;
868
- }
869
- }
870
- }), Object.freeze(ye);
871
-
872
- var Te = {}, we = new Proxy({}, {
873
- get: (e, t) => "get" === t ? e => Te[e] : "set" === t ? (e, t) => {
874
- Te[e] = t;
875
- } : "remove" === t ? e => (delete Te[e], !0) : "removeAll" === t || "clear" === t ? () => (Object.keys(Te).forEach(e => delete Te[e]),
876
- !0) : "list" === t ? () => ({
877
- ...Te
878
- }) : Te[t],
879
- set: (e, t, o) => (Te[t] = o, !0),
880
- deleteProperty: (e, t) => (delete Te[t], !0)
881
- });
882
-
883
- Object.freeze(we), te(), d();
884
-
885
- var Oe = !1, Pe = (e, t = null, o = !0) => {
886
- Oe || (console.warn('DEPRECATED: "observer" is deprecated and will be removed in future versions. Please use "useObserver" instead.'),
887
- Oe = !0);
888
- const r = e => "string" == typeof e ? e : e && "object" == typeof e && e.__path ? e.__path : null, s = r(e);
889
- if (e || t) if (e || !t) {
890
- if (s) {
891
- const e = s.split(".");
892
- if ("state" !== e[0] && "store" !== e[0]) return void console.error(`Observer Error: You need to declare 'state.' or 'store.'. The '${s}' string is incorrect!`);
893
- }
894
- if (e && !t) {
895
- const t = r(e);
896
- if (!t) return;
897
- const o = globalThis.observer;
898
- return o?.list?.[t] && oe.remove(t), void n(`called: ${t}`);
899
- }
900
- if (e && t) {
901
- const s = r(e);
902
- if (!s) return;
903
- if ("string" != typeof e && (!e || "object" != typeof e)) return void console.error("Observer Error: name of state need to be a 'string' like 'state.test' or a direct state value");
904
- const n = Array.isArray(t) ? t : [ t ], a = globalThis.observer;
905
- return a?.list?.[s] && oe.remove(s), void n.forEach(e => {
906
- "function" == typeof e && oe.listen(s, e, o);
907
- });
908
- }
909
- } else console.error("Observer Error: You need to declare what state need to be monitored as string like 'state.test'."); else console.error("Observer Error: You need to setup observer correctly, Some parameters are missed!");
910
- };
911
-
912
- Object.defineProperties(Pe, {
913
- list: {
914
- get: () => globalThis.events
915
- },
916
- remove: {
917
- value: e => {
918
- e && (oe.remove(e), delete globalThis.events[e]);
919
- }
920
- },
921
- removeAll: {
922
- get: () => {
923
- const e = globalThis.observer, t = e?.list;
924
- return t && Object.keys(t).forEach(t => {
925
- e?.remove?.(t);
926
- }), !0;
927
- }
928
- },
929
- has: {
930
- value: e => {
931
- const t = globalThis.observer;
932
- return !!t?.list?.[e];
933
- }
934
- }
935
- }), d(), u(), globalThis.useObserver || (globalThis.useObserver = null), Object.defineProperty(globalThis, "useObserver", {
936
- value: null,
937
- writable: !0,
938
- enumerable: !1,
939
- configurable: !0
940
- });
941
-
942
- var je = (e, t = []) => {
943
- if (!t || "function" != typeof e) return () => {};
944
- const s = [], a = Array.isArray(t) && !t.__path ? t : [ t ];
945
- try {
946
- return a.forEach(t => {
947
- let a = "";
948
- if ("function" == typeof t) {
949
- const e = o(t);
950
- e && (a = e);
951
- } else "object" == typeof t && null !== t && (a = t.__path || ("function" == typeof t.toString && "[object Object]" !== t.toString() ? t.toString() : ""));
952
- if (a) {
953
- a = a.replace(/^(\(\)\s*=>\s*)/, "").replace(/^globalThis\./, "").replace(/^state\./, "");
954
- const t = a.startsWith("store.") || a.startsWith("state.") ? a : "state." + a;
955
- oe.listen(t, () => e()), s.push(t);
956
- } else {
957
- r.clearTrackedPaths(), r.tracking = !0;
958
- try {
959
- e();
960
- } catch (e) {}
961
- r.tracking = !1, r.trackedPaths.forEach(t => {
962
- s.includes(t) || (n(`useObserver: [Auto-Discovery] -> "${t}"`), oe.listen(t, () => e()),
963
- s.push(t));
964
- });
965
- }
966
- }), s.length > 0 ? n(`useObserver: Monitoring ${s.length} paths.`) : console.warn("useObserver: No paths resolved for monitoring. Check your dependencies!"),
967
- () => {
968
- s.forEach(e => {
969
- "function" == typeof oe.remove && (oe.remove(e), n(`useObserver: Stopped monitoring "${e}"`));
970
- });
971
- };
972
- } catch (e) {
973
- return n(`useObserver Error: ${e}`), () => {};
974
- }
975
- };
976
-
977
- function Se() {
978
- if (!globalThis.store) return {};
979
- const e = {}, t = globalThis.store;
980
- if ("function" == typeof t.list) try {
981
- return t.list();
982
- } catch {}
983
- if ("function" == typeof t.get) for (const o of Object.keys(t)) if (![ "get", "set", "remove", "delete", "removeAll", "clearAll", "size", "isPersistent", "list" ].includes(o)) try {
984
- const r = t.get(o);
985
- null != r && (e[o] = r);
986
- } catch {}
987
- return e;
988
- }
989
-
990
- function Ee() {
991
- if (!globalThis.session) return {};
992
- const e = {}, t = globalThis.session;
993
- if ("function" == typeof t.list) try {
994
- return t.list();
995
- } catch {}
996
- if ("function" == typeof t.get) for (const o of Object.keys(t)) if (![ "get", "set", "remove", "delete", "removeAll", "clearAll", "size", "isPersistent", "list" ].includes(o)) try {
997
- const r = t.get(o);
998
- null != r && (e[o] = r);
999
- } catch {}
1000
- return e;
1001
- }
1002
-
1003
- globalThis.useObserver = je, Object.freeze(globalThis.useObserver), d(), u();
1004
-
1005
- var $e = e => {
1006
- globalThis[e] && "function" == typeof globalThis[e].clear ? globalThis[e].clear() : console.error(`Module ${e} not found or does not support clear()`);
1007
- }, ke = {
1008
- inspect: () => {
1009
- if (!0 === r.debug) {
1010
- if (globalThis.state) {
1011
- const e = globalThis.state.list;
1012
- let t;
1013
- t = "function" == typeof e ? e() : "object" == typeof e && null !== e ? e : globalThis.state,
1014
- console.table(t);
1015
- }
1016
- if (globalThis.store && console.table(Se()), globalThis.session && console.table(Ee()),
1017
- globalThis.cache) {
1018
- const e = globalThis.cache.list;
1019
- let t;
1020
- t = "function" == typeof e ? e() : "object" == typeof e && null !== e ? e : globalThis.cache,
1021
- console.table(t);
1022
- }
1023
- }
1024
- },
1025
- stats: () => {
1026
- const e = e => {
1027
- if (!e) return 0;
1028
- if ("function" == typeof e.list) try {
1029
- const t = e.list();
1030
- return Object.keys(t).length;
1031
- } catch {}
1032
- return Object.keys(e).length;
1033
- };
1034
- return {
1035
- stateKeys: e(globalThis.state),
1036
- storeKeys: e(globalThis.store),
1037
- sessionKeys: e(globalThis.session),
1038
- cacheKeys: e(globalThis.cache),
1039
- idbDatabases: 0,
1040
- lastUpdate: (new Date).toISOString()
1041
- };
1042
- },
1043
- clear: $e,
1044
- clearAll: () => {
1045
- $e("state"), $e("store"), $e("session"), $e("cache");
1046
- },
1047
- exportData: () => {
1048
- const e = {
1049
- state: (() => {
1050
- if (globalThis.state) try {
1051
- return "function" == typeof globalThis.state.list ? globalThis.state.list() : globalThis.state;
1052
- } catch {
1053
- return;
1054
- }
1055
- })(),
1056
- store: Se(),
1057
- session: Ee(),
1058
- cache: (() => {
1059
- if (globalThis.cache) try {
1060
- return "function" == typeof globalThis.cache.list ? globalThis.cache.list() : globalThis.cache;
1061
- } catch {
1062
- return;
1063
- }
1064
- })(),
1065
- exportedAt: (new Date).toISOString()
1066
- };
1067
- return JSON.stringify(e, null, 2);
1068
- },
1069
- importData: e => {
1070
- try {
1071
- const t = JSON.parse(e);
1072
- t.state && Object.entries(t.state).forEach(([e, t]) => {
1073
- globalThis.state && "list" !== e && "remove" !== e && "removeAll" !== e && (globalThis.state[e] = t);
1074
- }), t.store && globalThis.store && "function" == typeof globalThis.store.set && Object.entries(t.store).forEach(([e, t]) => {
1075
- globalThis.store.set(e, t);
1076
- }), t.session && globalThis.session && "function" == typeof globalThis.session.set && Object.entries(t.session).forEach(([e, t]) => {
1077
- globalThis.session.set(e, t);
1078
- }), t.cache && globalThis.cache && Object.entries(t.cache).forEach(([e, t]) => {
1079
- globalThis.cache && "get" !== e && "set" !== e && "remove" !== e && "clear" !== e && (globalThis.cache[e] = t);
1080
- });
1081
- } catch (e) {
1082
- console.error("%cāœ— Import failed:", "color: #F44336", e);
1083
- }
1084
- },
1085
- watch: (e, t) => {
1086
- if (!globalThis[e]) return void console.error(`Module ${e} not found`);
1087
- const o = globalThis[e], r = o[t];
1088
- if (console.debug(`šŸ‘ Watching ${e}.${t} (initial: ${JSON.stringify(r)})`), "state" === e && globalThis.memorio?.dispatch) {
1089
- const r = o => {
1090
- const r = o.detail;
1091
- r?.name?.includes(t) && console.debug(`šŸ‘ Change: ${e}.${t} =`, o.detail.value);
1092
- };
1093
- o.addEventListener?.("memorio-change", r);
1094
- }
1095
- },
1096
- help: () => {
1097
- console.debug("\n🧠 Memorio DevTools Help\n\nAvailable commands:\n memorio.devtools.inspect() - Inspect all state modules\n memorio.devtools.stats() - Show statistics\n memorio.devtools.clear('module') - Clear specific module\n memorio.devtools.clearAll() - Clear all modules\n memorio.devtools.exportData() - Export all data as JSON\n memorio.devtools.importData(json) - Import data from JSON\n memorio.devtools.watch(module, path) - Watch a path for changes\n memorio.devtools.help() - Show this help\n\nShortcuts:\n state - globalThis.state\n store - globalThis.store\n session - globalThis.session\n cache - globalThis.cache\n");
1098
- }
1099
- };
1100
-
1101
- u(), d();
1102
-
1103
- var xe = {
1104
- enabled: !0,
1105
- logToConsole: !0,
1106
- modules: [ "state", "store", "session", "cache", "idb" ],
1107
- maxEntries: 1e3
1108
- }, De = [], Ae = e => xe.enabled && xe.modules.includes(e), _e = e => ({
1109
- state: "#4CAF50",
1110
- store: "#2196F3",
1111
- session: "#FF9800",
1112
- cache: "#9C27B0",
1113
- idb: "#F44336"
1114
- }[e] || "#888888"), Ce = {
1115
- configure: e => {
1116
- xe = {
1117
- ...xe,
1118
- ...e
1119
- };
1120
- },
1121
- enable: () => {
1122
- xe.enabled = !0;
1123
- },
1124
- disable: () => {
1125
- xe.enabled = !1;
1126
- },
1127
- isEnabled: Ae,
1128
- log: (e, t, o, s, a) => {
1129
- if (!Ae(e)) return;
1130
- const i = {
1131
- timestamp: (new Date).toISOString(),
1132
- module: e,
1133
- action: t,
1134
- path: o,
1135
- value: s,
1136
- previousValue: a
1137
- };
1138
- if (De.push(i), De.length > xe.maxEntries && De.shift(), xe.logToConsole && !0 === r.debug) {
1139
- const r = `[Memorio:${e.toUpperCase()}]`, i = _e(e);
1140
- n(`%c${r}%c ${t} ${o},\n color: ${i}; font-weight: bold,\n color: inherit`),
1141
- void 0 !== s && n(` → value:${s}`), void 0 !== a && n(` ← previous:${a}`);
1142
- }
1143
- xe.customHandler && xe.customHandler(i);
1144
- },
1145
- getHistory: () => [ ...De ],
1146
- clearHistory: () => {
1147
- De.length = 0;
1148
- },
1149
- getStats: () => {
1150
- const e = {
1151
- total: De.length,
1152
- state: 0,
1153
- store: 0,
1154
- session: 0,
1155
- cache: 0,
1156
- idb: 0,
1157
- set: 0,
1158
- get: 0,
1159
- delete: 0,
1160
- clear: 0
1161
- };
1162
- for (const t of De) if (t) {
1163
- const o = t.module, r = t.action;
1164
- o && "number" == typeof e[o] && e[o]++, r && "number" == typeof e[r] && e[r]++;
1165
- }
1166
- return e;
1167
- },
1168
- exportLogs: () => JSON.stringify(De, null, 2)
1169
- };
1170
-
1171
- u(), k(), k(), u();
1172
-
1173
- var Ie = "4.6.5";
1174
-
1175
- te(), d(), Object.defineProperty(globalThis, "memorio", {
1176
- value: {
1177
- setProps: () => {},
1178
- obj: {},
1179
- array: [],
1180
- dispatch: oe,
1181
- message: s,
1182
- devtools: ke,
1183
- logger: Ce,
1184
- setDescription: () => {}
1185
- },
1186
- writable: !1,
1187
- configurable: !0,
1188
- enumerable: !1
1189
- }), Object.defineProperty(globalThis, "events", {
1190
- value: {},
1191
- writable: !0,
1192
- enumerable: !1
1193
- }), Object.defineProperty(memorio, "version", {
1194
- writable: !1,
1195
- enumerable: !1,
1196
- value: Ie
1197
- }), Object.defineProperty(memorio, "debug", {
1198
- get: () => r.debug,
1199
- set: e => {
1200
- r.debug = e;
1201
- },
1202
- enumerable: !1
1203
- });
1204
-
1205
- var Ne = w();
1206
-
1207
- Object.defineProperty(memorio, "_platform", {
1208
- writable: !1,
1209
- enumerable: !1,
1210
- value: Ne.platform
1211
- }), Object.defineProperty(memorio, "_capabilities", {
1212
- writable: !1,
1213
- enumerable: !1,
1214
- value: Ne
1215
- }), Object.defineProperty(memorio, "_sessionId", {
1216
- writable: !1,
1217
- enumerable: !1,
1218
- value: b()
1219
- }), function() {
1220
- const e = w(), t = globalThis;
1221
- e.hasDispatchEvent || (t.dispatchEvent = function(e) {
1222
- return !0;
1223
- }, "undefined" == typeof CustomEvent && (t.CustomEvent = class {
1224
- type;
1225
- detail;
1226
- constructor(e, t = {}) {
1227
- this.type = e, this.detail = t;
1228
- }
1229
- })), "function" != typeof t.addEventListener && (t.addEventListener = function(e, t) {
1230
- a.has(e) || a.set(e, []), a.get(e).push(t);
1231
- }, t.removeEventListener = function(e, t) {
1232
- const o = a.get(e);
1233
- if (o) {
1234
- const e = o.indexOf(t);
1235
- e > -1 && o.splice(e, 1);
1236
- }
1237
- }, t.dispatchEvent = function(e) {
1238
- const t = a.get(e.type);
1239
- return t && t.forEach(t => {
1240
- try {
1241
- t(e);
1242
- } catch (e) {
1243
- console.error("Event listener error:", e);
1244
- }
1245
- }), !0;
1246
- });
1247
- }(), memorio.isBrowser = g, memorio.isNode = m, memorio.isDeno = h, memorio.isEdge = p,
1248
- memorio.getCapabilities = w, memorio.createContext = O, memorio.listContexts = P,
1249
- memorio.deleteContext = j, memorio.isolate = e => O(e), Object.defineProperty(globalThis, "state", {
1250
- value: ne,
1251
- writable: !0,
1252
- enumerable: !1,
1253
- configurable: !0
1254
- }), Object.defineProperty(globalThis, "store", {
1255
- value: be,
1256
- writable: !0,
1257
- enumerable: !1,
1258
- configurable: !0
1259
- }), Object.defineProperty(globalThis, "session", {
1260
- value: ye,
1261
- writable: !0,
1262
- enumerable: !1,
1263
- configurable: !0
1264
- }), Object.defineProperty(globalThis, "cache", {
1265
- value: we,
1266
- writable: !0,
1267
- enumerable: !1,
1268
- configurable: !0
1269
- }), Object.defineProperty(globalThis, "idb", {
1270
- value: $,
1271
- writable: !0,
1272
- enumerable: !1,
1273
- configurable: !0
1274
- }), Object.defineProperty(globalThis, "observer", {
1275
- value: Pe,
1276
- writable: !0,
1277
- enumerable: !1,
1278
- configurable: !0
1279
- }), Object.defineProperty(globalThis, "useObserver", {
1280
- value: je,
1281
- writable: !0,
1282
- enumerable: !1,
1283
- configurable: !0
1284
- }), Object.defineProperty(memorio, "dispatch", {
1285
- value: oe,
1286
- writable: !0,
1287
- enumerable: !1,
1288
- configurable: !0
1289
- }), Object.defineProperty(memorio, "setContext", {
1290
- writable: !1,
1291
- enumerable: !1,
1292
- value: e => S(e)
1293
- }), Object.defineProperty(memorio, "getContext", {
1294
- writable: !1,
1295
- enumerable: !1,
1296
- value: () => r.currentContext
1297
- }), Object.defineProperty(globalThis, "$state", {
1298
- get: () => globalThis.state,
1299
- configurable: !0
1300
- }), Object.defineProperty(globalThis, "$store", {
1301
- get: () => globalThis.store,
1302
- configurable: !0
1303
- }), Object.defineProperty(globalThis, "$session", {
1304
- get: () => globalThis.session,
1305
- configurable: !0
1306
- }), Object.defineProperty(globalThis, "$cache", {
1307
- get: () => globalThis.cache,
1308
- configurable: !0
1309
- }), memorio.help = function() {
1310
- console.debug(`\n🧠 Memorio ${Ie} - Help\n\nCore Modules:\n state - Reactive state management\n store - Persistent storage (localStorage/Map)\n session - Session storage (sessionStorage/Map)\n cache - In-memory cache\n idb - IndexedDB (browser only)\n\nContext Management:\n memorio.isolate(name) - Create isolated context\n memorio.listContexts() - List all contexts\n memorio.deleteContext(id) - Delete a context\n\nPlatform Detection:\n memorio.isBrowser() - Browser environment\n memorio.isNode() - Node.js environment\n memorio.isDeno() - Deno environment\n memorio.isEdge() - Edge/Worker environment\n memorio.getCapabilities() - Full capabilities object\n\nDevTools:\n memorio.devtools.inspect() - Inspect all modules\n memorio.devtools.stats() - Show statistics\n memorio.devtools.watch() - Watch a path\n memorio.devtools.exportData() - Export as JSON\n memorio.devtools.importData() - Import from JSON\n memorio.devtools.clear() - Clear specific module\n memorio.devtools.clearAll() - Clear all modules\n\nShortcuts:\n state, store, session, cache, idb - direct access to modules\n`);
1311
- };
1312
-
1313
- var ze = globalThis.memorio, Be = globalThis.events, Me = e => O(e), Je = globalThis.memorio?.help, We = e => r.currentContext = e, Re = () => r.currentContext, Ve = ze;
1314
-
1315
- export { we as cache, O as createContext, Ve as default, j as deleteContext, ke as devtools, oe as dispatch, Be as events, w as getCapabilities, Re as getContext, Je as help, $ as idb, r as internal, g as isBrowser, h as isDeno, p as isEdge, m as isNode, Me as isolate, P as listContexts, Ce as logger, ze as memorio, s as message, Pe as observer, o as propertyName, ye as session, We as setContext, ne as state, be as store, je as useObserver };