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