memorio 4.2.2 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/index.cjs +25 -14
- package/index.d.ts +0 -1
- package/index.js +23 -14
- package/markdown/CHANGELOG.md +1 -4
- package/markdown/USEOBSERVER.md +1 -1
- package/package.json +3 -8
- package/types/memorio.d.ts +3 -18
- package/types/useObserver.d.ts +3 -3
package/README.md
CHANGED
|
@@ -78,9 +78,12 @@ npm i react react-dom
|
|
|
78
78
|
## **Setup**
|
|
79
79
|
|
|
80
80
|
```typescript
|
|
81
|
-
//
|
|
81
|
+
// IMPORT ONCE AT YOUR APP ENTRY POINT
|
|
82
|
+
|
|
82
83
|
import 'memorio'
|
|
84
|
+
```
|
|
83
85
|
|
|
86
|
+
```typescript
|
|
84
87
|
// Memory
|
|
85
88
|
state.user = { name: 'Sara', role: 'admin' }
|
|
86
89
|
state.counter++
|
|
@@ -249,7 +252,7 @@ Manage your `Memorio` on `dphelper Manager Browser Extension*` environment, moni
|
|
|
249
252
|
|
|
250
253
|
Memorio runs in every JavaScript environment, with automatic fallbacks.
|
|
251
254
|
|
|
252
|
-
| | Browser | Node.js | Deno | Edge / Workers |
|
|
255
|
+
| Tool | Browser | Node.js | Deno | Edge / Workers |
|
|
253
256
|
|---|---|---|---|---|
|
|
254
257
|
| `state` | ✅ | ✅ | ✅ | ✅ |
|
|
255
258
|
| `observer` / `useObserver` | ✅ | ✅ | ✅ | ✅ |
|
|
@@ -270,7 +273,6 @@ Memorio runs in every JavaScript environment, with automatic fallbacks.
|
|
|
270
273
|
- No `eval`, no obfuscation, no hardcoded secrets
|
|
271
274
|
- All inputs validated, keys sanitized, errors caught
|
|
272
275
|
- Secure random session IDs via `crypto.randomUUID`
|
|
273
|
-
- MIT license — full audit trail on [`SECURITY.md`](.github/SECURITY.md)
|
|
274
276
|
|
|
275
277
|
---
|
|
276
278
|
|
package/index.cjs
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
var e = Object.getOwnPropertyNames, o = (o, t) => function() {
|
|
2
4
|
return o && (t = (0, o[e(o)[0]])(o = 0)), t;
|
|
3
5
|
}, t = {}, r = o({
|
|
@@ -137,7 +139,7 @@ var e = Object.getOwnPropertyNames, o = (o, t) => function() {
|
|
|
137
139
|
};
|
|
138
140
|
});
|
|
139
141
|
}
|
|
140
|
-
}), w = {},
|
|
142
|
+
}), w = {}, j = o({
|
|
141
143
|
"functions/idb/crud/data.delete.ts"() {
|
|
142
144
|
idb.data.delete = (e, o, t) => new Promise((r, s) => {
|
|
143
145
|
const n = indexedDB.open(e);
|
|
@@ -165,7 +167,7 @@ var e = Object.getOwnPropertyNames, o = (o, t) => function() {
|
|
|
165
167
|
}, s.onerror = () => r(s.error);
|
|
166
168
|
});
|
|
167
169
|
}
|
|
168
|
-
}),
|
|
170
|
+
}), S = {}, P = o({
|
|
169
171
|
"functions/idb/crud/data.set.ts"() {
|
|
170
172
|
idb.data.set = (e, o, t) => new Promise((r, s) => {
|
|
171
173
|
const n = indexedDB.open(e);
|
|
@@ -315,10 +317,20 @@ function J(e) {
|
|
|
315
317
|
};
|
|
316
318
|
}
|
|
317
319
|
|
|
318
|
-
var z = "4.
|
|
320
|
+
var z = "4.3.0";
|
|
319
321
|
|
|
320
322
|
Object.defineProperty(globalThis, "memorio", {
|
|
321
|
-
value: {
|
|
323
|
+
value: {
|
|
324
|
+
setProps: () => {},
|
|
325
|
+
obj: {},
|
|
326
|
+
array: [],
|
|
327
|
+
dispatch: {
|
|
328
|
+
set: () => {},
|
|
329
|
+
listen: () => {},
|
|
330
|
+
remove: () => {}
|
|
331
|
+
},
|
|
332
|
+
setDescription: () => {}
|
|
333
|
+
},
|
|
322
334
|
writable: !1,
|
|
323
335
|
configurable: !0,
|
|
324
336
|
enumerable: !1
|
|
@@ -326,6 +338,10 @@ Object.defineProperty(globalThis, "memorio", {
|
|
|
326
338
|
value: {},
|
|
327
339
|
writable: !0,
|
|
328
340
|
enumerable: !1
|
|
341
|
+
}), Object.defineProperty(globalThis, "idbases", {
|
|
342
|
+
value: [],
|
|
343
|
+
writable: !0,
|
|
344
|
+
enumerable: !1
|
|
329
345
|
}), Object.defineProperty(memorio, "version", {
|
|
330
346
|
writable: !1,
|
|
331
347
|
enumerable: !1,
|
|
@@ -398,13 +414,13 @@ Object.defineProperty(memorio, "_sessionId", {
|
|
|
398
414
|
set: (e, o = {}) => {
|
|
399
415
|
globalThis.dispatchEvent(new CustomEvent(String(e), o));
|
|
400
416
|
},
|
|
401
|
-
listen: (e, o = null
|
|
417
|
+
listen: (e, o = null) => {
|
|
402
418
|
globalThis.observer?.list?.[e]?.length > 0 && globalThis.observer?.remove?.(e);
|
|
403
|
-
const
|
|
419
|
+
const t = o ? e => {
|
|
404
420
|
const t = e;
|
|
405
421
|
return globalThis.queueMicrotask ? globalThis.queueMicrotask(() => o(t)) : Promise.resolve().then(() => o(t));
|
|
406
422
|
} : void 0;
|
|
407
|
-
|
|
423
|
+
t && globalThis.addEventListener(e, t), t && (globalThis.events[e] = t);
|
|
408
424
|
},
|
|
409
425
|
remove: e => {
|
|
410
426
|
const o = globalThis.events?.[e];
|
|
@@ -960,8 +976,8 @@ Object.defineProperty(globalThis, "cache", {
|
|
|
960
976
|
l)), Promise.resolve().then(() => (u(), m)), Promise.resolve().then(() => (d(),
|
|
961
977
|
b)), Promise.resolve().then(() => (f(), g)), Promise.resolve().then(() => (p(),
|
|
962
978
|
h)), Promise.resolve().then(() => (y(), v)), Promise.resolve().then(() => (O(),
|
|
963
|
-
T)), Promise.resolve().then(() => (
|
|
964
|
-
|
|
979
|
+
T)), Promise.resolve().then(() => (j(), w)), Promise.resolve().then(() => (P(),
|
|
980
|
+
S)), Promise.resolve().then(() => (E(), $)) ]), Object.preventExtensions(idb), Object.seal(idb),
|
|
965
981
|
Object.freeze(idb);
|
|
966
982
|
})() : (Object.defineProperty(globalThis, "idb", {
|
|
967
983
|
value: {
|
|
@@ -974,11 +990,6 @@ Object.defineProperty(globalThis, "cache", {
|
|
|
974
990
|
writable: !0,
|
|
975
991
|
configurable: !0,
|
|
976
992
|
enumerable: !1
|
|
977
|
-
}), Object.defineProperty(globalThis, "idbases", {
|
|
978
|
-
value: [],
|
|
979
|
-
writable: !0,
|
|
980
|
-
configurable: !0,
|
|
981
|
-
enumerable: !1
|
|
982
993
|
}), console.warn("Memorio IDB: IndexedDB is not available in this environment. Use store or session for data persistence."));
|
|
983
994
|
|
|
984
995
|
var ee = (globalThis.memorio || {}).globals;
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -137,7 +137,7 @@ var e = Object.getOwnPropertyNames, o = (o, t) => function() {
|
|
|
137
137
|
};
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
|
-
}), w = {},
|
|
140
|
+
}), w = {}, j = o({
|
|
141
141
|
"functions/idb/crud/data.delete.ts"() {
|
|
142
142
|
idb.data.delete = (e, o, t) => new Promise((r, s) => {
|
|
143
143
|
const n = indexedDB.open(e);
|
|
@@ -165,7 +165,7 @@ var e = Object.getOwnPropertyNames, o = (o, t) => function() {
|
|
|
165
165
|
}, s.onerror = () => r(s.error);
|
|
166
166
|
});
|
|
167
167
|
}
|
|
168
|
-
}),
|
|
168
|
+
}), S = {}, P = o({
|
|
169
169
|
"functions/idb/crud/data.set.ts"() {
|
|
170
170
|
idb.data.set = (e, o, t) => new Promise((r, s) => {
|
|
171
171
|
const n = indexedDB.open(e);
|
|
@@ -315,10 +315,20 @@ function J(e) {
|
|
|
315
315
|
};
|
|
316
316
|
}
|
|
317
317
|
|
|
318
|
-
var z = "4.
|
|
318
|
+
var z = "4.3.0";
|
|
319
319
|
|
|
320
320
|
Object.defineProperty(globalThis, "memorio", {
|
|
321
|
-
value: {
|
|
321
|
+
value: {
|
|
322
|
+
setProps: () => {},
|
|
323
|
+
obj: {},
|
|
324
|
+
array: [],
|
|
325
|
+
dispatch: {
|
|
326
|
+
set: () => {},
|
|
327
|
+
listen: () => {},
|
|
328
|
+
remove: () => {}
|
|
329
|
+
},
|
|
330
|
+
setDescription: () => {}
|
|
331
|
+
},
|
|
322
332
|
writable: !1,
|
|
323
333
|
configurable: !0,
|
|
324
334
|
enumerable: !1
|
|
@@ -326,6 +336,10 @@ Object.defineProperty(globalThis, "memorio", {
|
|
|
326
336
|
value: {},
|
|
327
337
|
writable: !0,
|
|
328
338
|
enumerable: !1
|
|
339
|
+
}), Object.defineProperty(globalThis, "idbases", {
|
|
340
|
+
value: [],
|
|
341
|
+
writable: !0,
|
|
342
|
+
enumerable: !1
|
|
329
343
|
}), Object.defineProperty(memorio, "version", {
|
|
330
344
|
writable: !1,
|
|
331
345
|
enumerable: !1,
|
|
@@ -398,13 +412,13 @@ Object.defineProperty(memorio, "_sessionId", {
|
|
|
398
412
|
set: (e, o = {}) => {
|
|
399
413
|
globalThis.dispatchEvent(new CustomEvent(String(e), o));
|
|
400
414
|
},
|
|
401
|
-
listen: (e, o = null
|
|
415
|
+
listen: (e, o = null) => {
|
|
402
416
|
globalThis.observer?.list?.[e]?.length > 0 && globalThis.observer?.remove?.(e);
|
|
403
|
-
const
|
|
417
|
+
const t = o ? e => {
|
|
404
418
|
const t = e;
|
|
405
419
|
return globalThis.queueMicrotask ? globalThis.queueMicrotask(() => o(t)) : Promise.resolve().then(() => o(t));
|
|
406
420
|
} : void 0;
|
|
407
|
-
|
|
421
|
+
t && globalThis.addEventListener(e, t), t && (globalThis.events[e] = t);
|
|
408
422
|
},
|
|
409
423
|
remove: e => {
|
|
410
424
|
const o = globalThis.events?.[e];
|
|
@@ -960,8 +974,8 @@ Object.defineProperty(globalThis, "cache", {
|
|
|
960
974
|
l)), Promise.resolve().then(() => (u(), m)), Promise.resolve().then(() => (d(),
|
|
961
975
|
b)), Promise.resolve().then(() => (f(), g)), Promise.resolve().then(() => (p(),
|
|
962
976
|
h)), Promise.resolve().then(() => (y(), v)), Promise.resolve().then(() => (O(),
|
|
963
|
-
T)), Promise.resolve().then(() => (
|
|
964
|
-
|
|
977
|
+
T)), Promise.resolve().then(() => (j(), w)), Promise.resolve().then(() => (P(),
|
|
978
|
+
S)), Promise.resolve().then(() => (E(), $)) ]), Object.preventExtensions(idb), Object.seal(idb),
|
|
965
979
|
Object.freeze(idb);
|
|
966
980
|
})() : (Object.defineProperty(globalThis, "idb", {
|
|
967
981
|
value: {
|
|
@@ -974,11 +988,6 @@ Object.defineProperty(globalThis, "cache", {
|
|
|
974
988
|
writable: !0,
|
|
975
989
|
configurable: !0,
|
|
976
990
|
enumerable: !1
|
|
977
|
-
}), Object.defineProperty(globalThis, "idbases", {
|
|
978
|
-
value: [],
|
|
979
|
-
writable: !0,
|
|
980
|
-
configurable: !0,
|
|
981
|
-
enumerable: !1
|
|
982
991
|
}), console.warn("Memorio IDB: IndexedDB is not available in this environment. Use store or session for data persistence."));
|
|
983
992
|
|
|
984
993
|
var ee = (globalThis.memorio || {}).globals;
|
package/markdown/CHANGELOG.md
CHANGED
|
@@ -44,9 +44,6 @@ All notable changes to this project will be documented in this file.
|
|
|
44
44
|
| `memorio.isolate(name?)` | Shorthand alias for `createContext` |
|
|
45
45
|
|
|
46
46
|
### 🧪 Tests
|
|
47
|
-
|
|
48
|
-
- Created `tests/jest/tests/observer.test.ts` — 12 tests (deprecation warning, input validation, `.list`, `.remove`, `.removeAll`)
|
|
49
|
-
- Created `tests/jest/tests/useObserver.test.ts` — 12 tests (existence, edge cases, proxy/string deps, auto-discovery, cleanup)
|
|
50
47
|
- **Result: 8 suites · 95 passed · 3 skipped · 0 failed**
|
|
51
48
|
|
|
52
49
|
### 🗑️ Dependency Changes
|
|
@@ -90,4 +87,4 @@ All notable changes to this project will be documented in this file.
|
|
|
90
87
|
|
|
91
88
|
- Initial release of memorio (state, store, session, cache, idb)
|
|
92
89
|
- Observer pattern (`observer`)
|
|
93
|
-
- `useObserver` React hook
|
|
90
|
+
- `useObserver` React hook
|
package/markdown/USEOBSERVER.md
CHANGED
|
@@ -112,7 +112,7 @@ When `deps` is omitted, useObserver automatically discovers all state properties
|
|
|
112
112
|
useObserver(() => {
|
|
113
113
|
// Automatically tracks state.user, state.items, state.counter
|
|
114
114
|
console.debug(state.user.name, state.items.length, state.counter);
|
|
115
|
-
});
|
|
115
|
+
},[]);
|
|
116
116
|
```
|
|
117
117
|
|
|
118
118
|
Returns a cleanup function:
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memorio",
|
|
3
3
|
"codeName": "memorio",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.3.0",
|
|
5
5
|
"description": "Memorio, State + Observer, Store and iDB for an easy life - Cross-platform compatible",
|
|
6
6
|
"main": "./index.cjs",
|
|
7
7
|
"browser": "./index.cjs",
|
|
@@ -55,13 +55,8 @@
|
|
|
55
55
|
"url": "https://dario.passariello.ca/",
|
|
56
56
|
"email": "dariopassariello@gmail.com"
|
|
57
57
|
},
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"optional": true
|
|
61
|
-
},
|
|
62
|
-
"react-dom": {
|
|
63
|
-
"optional": true
|
|
64
|
-
}
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"baseline-browser-mapping": "2.10.42"
|
|
65
60
|
},
|
|
66
61
|
"overrides": {
|
|
67
62
|
"object-assign": "npm:@socketregistry/object-assign@^1"
|
package/types/memorio.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment capabilities
|
|
3
|
+
*/
|
|
1
4
|
|
|
2
5
|
interface _dispatch {
|
|
3
6
|
set: (name: string, value?: any) => void
|
|
@@ -73,24 +76,6 @@ declare global {
|
|
|
73
76
|
type arguments = unknown[]
|
|
74
77
|
declare var arguments: unknown[]
|
|
75
78
|
|
|
76
|
-
globalThis.memorio = globalThis.memorio || {
|
|
77
|
-
setProps: () => { },
|
|
78
|
-
obj: {},
|
|
79
|
-
array: [],
|
|
80
|
-
dispatch: {
|
|
81
|
-
set: () => { },
|
|
82
|
-
listen: () => { },
|
|
83
|
-
remove: () => { }
|
|
84
|
-
},
|
|
85
|
-
setDescription: () => { }
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// Initialize events if not exists
|
|
89
|
-
globalThis.events = globalThis.events || {}
|
|
90
|
-
|
|
91
|
-
// Initialize idbases if not exists
|
|
92
|
-
globalThis.idbases = globalThis.idbases || []
|
|
93
|
-
|
|
94
79
|
interface Window {
|
|
95
80
|
[key: string]: any
|
|
96
81
|
}
|
package/types/useObserver.d.ts
CHANGED
|
@@ -25,14 +25,14 @@ interface _useObserver {
|
|
|
25
25
|
* @since memorio 1.0.6
|
|
26
26
|
* @updated 2.5.0 - Added support for arrays and destructor
|
|
27
27
|
*/
|
|
28
|
-
(func: Function, deps: any): (
|
|
28
|
+
(func: Function, deps: any): () => void
|
|
29
29
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
declare var useObserver: _useObserver
|
|
32
|
+
declare var useObserver: _useObserver
|
|
33
33
|
type useObserver = _useObserver
|
|
34
34
|
|
|
35
35
|
// Extend globalThis to include useObserver
|
|
36
36
|
declare global {
|
|
37
|
-
var useObserver: _useObserver
|
|
37
|
+
var useObserver: _useObserver
|
|
38
38
|
}
|