memorio 4.2.3 → 4.3.1

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 CHANGED
@@ -3,22 +3,24 @@
3
3
  ![image](https://raw.githubusercontent.com/passariello/container/refs/heads/main/memorio/banner.svg)
4
4
 
5
5
  ![version](https://img.shields.io/npm/v/memorio.svg)
6
- ![install size](https://img.shields.io/badge/dynamic/json?url=https://packagephobia.com/v2/api.json?p=memorio&query=$.install.pretty&label=install%20size&style=flat-square)
7
6
  ![downloads](https://img.shields.io/npm/dm/memorio.svg)
8
7
 
8
+ ![Snyk](https://img.shields.io/badge/Snyk-gray?logo=Snyk)
9
+ ![Socket](https://img.shields.io/badge/Socket-gray?logo=Socket)
10
+
9
11
  ![Node.js](https://img.shields.io/badge/Node.js-gray?logo=node.js)
10
12
  ![Browser](https://img.shields.io/badge/Browser-gray?logo=google-chrome)
11
13
  ![Deno](https://img.shields.io/badge/Deno-gray?logo=deno)
12
- ![TypeScript](https://img.shields.io/badge/TypeScript-gray?logo=typescript)
13
- ![MIT](https://img.shields.io/badge/MIT-green?logo=open-source-initiative)
14
- ![tsup](https://img.shields.io/badge/tsup-gray?logo=tsup)
15
-
16
- **State management that actually makes your life easier.**
17
- Zero friction. Zero bloat. Single import. Works everywhere JavaScript runs.
14
+ ![tsup](https://img.shields.io/badge/tsup-gray?logo=esbuild)
18
15
 
19
- [Get Started](#-quick-start) · [API Reference](#-api-reference) · [License: MIT](https://opensource.org/licenses/MIT)
16
+ ![React](https://img.shields.io/badge/React-gray?logo=React)
17
+ ![TypeScript](https://img.shields.io/badge/TypeScript-gray?logo=typescript)
18
+ ![Javascript](https://img.shields.io/badge/Javascript-gray?logo=Javascript)
19
+ ![Jquery](https://img.shields.io/badge/jquery-gray?logo=jquery)
20
20
 
21
- ---
21
+ ![Vitest](https://img.shields.io/badge/Vitest-gray?logo=vitest)
22
+ ![OXlint](https://img.shields.io/badge/Oxlint-gray?logo=oxc)
23
+ ![Playwright](https://img.shields.io/badge/Playwright-gray?logo=playwright)
22
24
 
23
25
  ## Why memorio?
24
26
 
@@ -273,7 +275,6 @@ Memorio runs in every JavaScript environment, with automatic fallbacks.
273
275
  - No `eval`, no obfuscation, no hardcoded secrets
274
276
  - All inputs validated, keys sanitized, errors caught
275
277
  - Secure random session IDs via `crypto.randomUUID`
276
- - MIT license — full audit trail on [`SECURITY.md`](.github/SECURITY.md)
277
278
 
278
279
  ---
279
280
 
package/index.cjs CHANGED
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  var e = Object.getOwnPropertyNames, o = (o, t) => function() {
4
2
  return o && (t = (0, o[e(o)[0]])(o = 0)), t;
5
3
  }, t = {}, r = o({
@@ -139,7 +137,7 @@ var e = Object.getOwnPropertyNames, o = (o, t) => function() {
139
137
  };
140
138
  });
141
139
  }
142
- }), w = {}, S = o({
140
+ }), w = {}, j = o({
143
141
  "functions/idb/crud/data.delete.ts"() {
144
142
  idb.data.delete = (e, o, t) => new Promise((r, s) => {
145
143
  const n = indexedDB.open(e);
@@ -167,7 +165,7 @@ var e = Object.getOwnPropertyNames, o = (o, t) => function() {
167
165
  }, s.onerror = () => r(s.error);
168
166
  });
169
167
  }
170
- }), j = {}, P = o({
168
+ }), S = {}, P = o({
171
169
  "functions/idb/crud/data.set.ts"() {
172
170
  idb.data.set = (e, o, t) => new Promise((r, s) => {
173
171
  const n = indexedDB.open(e);
@@ -317,10 +315,20 @@ function J(e) {
317
315
  };
318
316
  }
319
317
 
320
- var z = "4.2.3";
318
+ var z = "4.3.1";
321
319
 
322
320
  Object.defineProperty(globalThis, "memorio", {
323
- value: {},
321
+ value: {
322
+ setProps: () => {},
323
+ obj: {},
324
+ array: [],
325
+ dispatch: {
326
+ set: () => {},
327
+ listen: () => {},
328
+ remove: () => {}
329
+ },
330
+ setDescription: () => {}
331
+ },
324
332
  writable: !1,
325
333
  configurable: !0,
326
334
  enumerable: !1
@@ -328,6 +336,10 @@ Object.defineProperty(globalThis, "memorio", {
328
336
  value: {},
329
337
  writable: !0,
330
338
  enumerable: !1
339
+ }), Object.defineProperty(globalThis, "idbases", {
340
+ value: [],
341
+ writable: !0,
342
+ enumerable: !1
331
343
  }), Object.defineProperty(memorio, "version", {
332
344
  writable: !1,
333
345
  enumerable: !1,
@@ -400,13 +412,13 @@ Object.defineProperty(memorio, "_sessionId", {
400
412
  set: (e, o = {}) => {
401
413
  globalThis.dispatchEvent(new CustomEvent(String(e), o));
402
414
  },
403
- listen: (e, o = null, t = !1) => {
415
+ listen: (e, o = null) => {
404
416
  globalThis.observer?.list?.[e]?.length > 0 && globalThis.observer?.remove?.(e);
405
- const r = o ? e => {
417
+ const t = o ? e => {
406
418
  const t = e;
407
419
  return globalThis.queueMicrotask ? globalThis.queueMicrotask(() => o(t)) : Promise.resolve().then(() => o(t));
408
420
  } : void 0;
409
- r && globalThis.addEventListener(e, r), r && (globalThis.events[e] = r);
421
+ t && globalThis.addEventListener(e, t), t && (globalThis.events[e] = t);
410
422
  },
411
423
  remove: e => {
412
424
  const o = globalThis.events?.[e];
@@ -962,8 +974,8 @@ Object.defineProperty(globalThis, "cache", {
962
974
  l)), Promise.resolve().then(() => (u(), m)), Promise.resolve().then(() => (d(),
963
975
  b)), Promise.resolve().then(() => (f(), g)), Promise.resolve().then(() => (p(),
964
976
  h)), Promise.resolve().then(() => (y(), v)), Promise.resolve().then(() => (O(),
965
- T)), Promise.resolve().then(() => (S(), w)), Promise.resolve().then(() => (P(),
966
- j)), Promise.resolve().then(() => (E(), $)) ]), Object.preventExtensions(idb), Object.seal(idb),
977
+ T)), Promise.resolve().then(() => (j(), w)), Promise.resolve().then(() => (P(),
978
+ S)), Promise.resolve().then(() => (E(), $)) ]), Object.preventExtensions(idb), Object.seal(idb),
967
979
  Object.freeze(idb);
968
980
  })() : (Object.defineProperty(globalThis, "idb", {
969
981
  value: {
@@ -976,11 +988,6 @@ Object.defineProperty(globalThis, "cache", {
976
988
  writable: !0,
977
989
  configurable: !0,
978
990
  enumerable: !1
979
- }), Object.defineProperty(globalThis, "idbases", {
980
- value: [],
981
- writable: !0,
982
- configurable: !0,
983
- enumerable: !1
984
991
  }), console.warn("Memorio IDB: IndexedDB is not available in this environment. Use store or session for data persistence."));
985
992
 
986
993
  var ee = (globalThis.memorio || {}).globals;
package/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  /// <reference path="./types/memorio.d.ts" />
3
2
  /// <reference path="./types/observer.d.ts" />
4
3
  /// <reference path="./types/useObserver.d.ts" />
package/index.js CHANGED
@@ -137,7 +137,7 @@ var e = Object.getOwnPropertyNames, o = (o, t) => function() {
137
137
  };
138
138
  });
139
139
  }
140
- }), w = {}, S = o({
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
- }), j = {}, P = o({
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.2.3";
318
+ var z = "4.3.1";
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, t = !1) => {
415
+ listen: (e, o = null) => {
402
416
  globalThis.observer?.list?.[e]?.length > 0 && globalThis.observer?.remove?.(e);
403
- const r = o ? e => {
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
- r && globalThis.addEventListener(e, r), r && (globalThis.events[e] = r);
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(() => (S(), w)), Promise.resolve().then(() => (P(),
964
- j)), Promise.resolve().then(() => (E(), $)) ]), Object.preventExtensions(idb), Object.seal(idb),
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;
@@ -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
@@ -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.2.3",
4
+ "version": "4.3.1",
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
- "peerDependenciesMeta": {
59
- "react": {
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"
@@ -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
  }
@@ -99,6 +84,4 @@ interface globalThis {
99
84
  [key: string]: any
100
85
  }
101
86
 
102
- type memorio = memorio
103
-
104
87
  export { }
@@ -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): (() => void)
28
+ (func: Function, deps: any): () => void
29
29
 
30
30
  }
31
31
 
32
- declare var useObserver: _useObserver | null
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 | null | undefined
37
+ var useObserver: _useObserver
38
38
  }