@schorts/shared-kernel 8.0.0 → 8.1.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 +1 -0
- package/dist/cjs/state-manager/browser/index.js +8 -0
- package/dist/cjs/state-manager/browser/index.js.map +1 -0
- package/dist/cjs/state-manager/browser/local-storage-state-manager.js +42 -0
- package/dist/cjs/state-manager/browser/local-storage-state-manager.js.map +1 -0
- package/dist/cjs/state-manager/browser/session-storage-state-manager.js +42 -0
- package/dist/cjs/state-manager/browser/session-storage-state-manager.js.map +1 -0
- package/dist/cjs/state-manager/in-memory/in-memory-state-manager.js +22 -0
- package/dist/cjs/state-manager/in-memory/in-memory-state-manager.js.map +1 -0
- package/dist/cjs/state-manager/in-memory/index.js +6 -0
- package/dist/cjs/state-manager/in-memory/index.js.map +1 -0
- package/dist/cjs/state-manager/index.js +17 -5
- package/dist/cjs/state-manager/index.js.map +1 -1
- package/dist/esm/state-manager/browser/index.js +8 -0
- package/dist/esm/state-manager/browser/index.js.map +1 -0
- package/dist/esm/state-manager/browser/local-storage-state-manager.js +42 -0
- package/dist/esm/state-manager/browser/local-storage-state-manager.js.map +1 -0
- package/dist/esm/state-manager/browser/session-storage-state-manager.js +42 -0
- package/dist/esm/state-manager/browser/session-storage-state-manager.js.map +1 -0
- package/dist/esm/state-manager/in-memory/in-memory-state-manager.js +22 -0
- package/dist/esm/state-manager/in-memory/in-memory-state-manager.js.map +1 -0
- package/dist/esm/state-manager/in-memory/index.js +6 -0
- package/dist/esm/state-manager/in-memory/index.js.map +1 -0
- package/dist/esm/state-manager/index.js +17 -5
- package/dist/esm/state-manager/index.js.map +1 -1
- package/dist/types/state-manager/browser/index.d.ts +3 -0
- package/dist/types/state-manager/browser/index.d.ts.map +1 -0
- package/dist/types/state-manager/browser/local-storage-state-manager.d.ts +10 -0
- package/dist/types/state-manager/browser/local-storage-state-manager.d.ts.map +1 -0
- package/dist/types/state-manager/browser/session-storage-state-manager.d.ts +10 -0
- package/dist/types/state-manager/browser/session-storage-state-manager.d.ts.map +1 -0
- package/dist/types/state-manager/in-memory/in-memory-state-manager.d.ts +8 -0
- package/dist/types/state-manager/in-memory/in-memory-state-manager.d.ts.map +1 -0
- package/dist/types/state-manager/in-memory/index.d.ts +2 -0
- package/dist/types/state-manager/in-memory/index.d.ts.map +1 -0
- package/dist/types/state-manager/index.d.ts +2 -2
- package/dist/types/state-manager/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -94,6 +94,7 @@ Translation keys are centralized in registries for discoverability and tooling,
|
|
|
94
94
|
|
|
95
95
|
- **StateManager:** Abstract reactive state manager with listener support.
|
|
96
96
|
- **SessionStorageStateManager:** Concrete implementation using session storage.
|
|
97
|
+
- **LocalStorageStateManager:** Concrete implementation using local storage.
|
|
97
98
|
- **InMemoryStateManager:** Concrete implementation using in-memory.
|
|
98
99
|
|
|
99
100
|
### 🧭 Guided Tours
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalStorageStateManager = exports.SessionStorageStateManager = void 0;
|
|
4
|
+
var session_storage_state_manager_1 = require("./session-storage-state-manager");
|
|
5
|
+
Object.defineProperty(exports, "SessionStorageStateManager", { enumerable: true, get: function () { return session_storage_state_manager_1.SessionStorageStateManager; } });
|
|
6
|
+
var local_storage_state_manager_1 = require("./local-storage-state-manager");
|
|
7
|
+
Object.defineProperty(exports, "LocalStorageStateManager", { enumerable: true, get: function () { return local_storage_state_manager_1.LocalStorageStateManager; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/state-manager/browser/index.ts"],"names":[],"mappings":";;;AAAA,iFAA6E;AAApE,2IAAA,0BAA0B,OAAA;AACnC,6EAAyE;AAAhE,uIAAA,wBAAwB,OAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalStorageStateManager = void 0;
|
|
4
|
+
const state_manager_1 = require("../state-manager");
|
|
5
|
+
class LocalStorageStateManager extends state_manager_1.StateManager {
|
|
6
|
+
constructor(initialState) {
|
|
7
|
+
super(initialState);
|
|
8
|
+
this.loadPersistedState();
|
|
9
|
+
}
|
|
10
|
+
getValue(key) {
|
|
11
|
+
return this.state[key];
|
|
12
|
+
}
|
|
13
|
+
setValue(key, value) {
|
|
14
|
+
this.state = {
|
|
15
|
+
...this.state,
|
|
16
|
+
[key]: value
|
|
17
|
+
};
|
|
18
|
+
this.persistValue(key, value);
|
|
19
|
+
this.notifyListeners();
|
|
20
|
+
}
|
|
21
|
+
removeValue(key) {
|
|
22
|
+
const storageKey = String(key);
|
|
23
|
+
const { [key]: _, ...newState } = this.state;
|
|
24
|
+
this.state = newState;
|
|
25
|
+
localStorage.removeItem(storageKey);
|
|
26
|
+
this.notifyListeners();
|
|
27
|
+
}
|
|
28
|
+
loadPersistedState() {
|
|
29
|
+
const keys = Object.keys(this.state);
|
|
30
|
+
for (const key of keys) {
|
|
31
|
+
const storageKey = String(key);
|
|
32
|
+
const persistedValue = localStorage.getItem(storageKey);
|
|
33
|
+
this.state[key] = JSON.parse(persistedValue || "null");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
persistValue(key, value) {
|
|
37
|
+
const storageKey = String(key);
|
|
38
|
+
localStorage.setItem(storageKey, JSON.stringify(value));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.LocalStorageStateManager = LocalStorageStateManager;
|
|
42
|
+
//# sourceMappingURL=local-storage-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage-state-manager.js","sourceRoot":"","sources":["../../../../src/state-manager/browser/local-storage-state-manager.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEhD,MAAa,wBAA6D,SAAQ,4BAAoB;IACpG,YAAY,YAAoB;QAC9B,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAA2B,GAAQ;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEM,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QACpE,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,CAAC,GAAG,CAAC,EAAE,KAAK;SACb,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,WAAW,CAA2B,GAAQ;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,QAAkB,CAAC;QAEhC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAwB,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,YAAY,CAA2B,GAAQ,EAAE,KAAkB;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF;AA5CD,4DA4CC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionStorageStateManager = void 0;
|
|
4
|
+
const state_manager_1 = require("../state-manager");
|
|
5
|
+
class SessionStorageStateManager extends state_manager_1.StateManager {
|
|
6
|
+
constructor(initialState) {
|
|
7
|
+
super(initialState);
|
|
8
|
+
this.loadPersistedState();
|
|
9
|
+
}
|
|
10
|
+
getValue(key) {
|
|
11
|
+
return this.state[key];
|
|
12
|
+
}
|
|
13
|
+
setValue(key, value) {
|
|
14
|
+
this.state = {
|
|
15
|
+
...this.state,
|
|
16
|
+
[key]: value
|
|
17
|
+
};
|
|
18
|
+
this.persistValue(key, value);
|
|
19
|
+
this.notifyListeners();
|
|
20
|
+
}
|
|
21
|
+
removeValue(key) {
|
|
22
|
+
const storageKey = String(key);
|
|
23
|
+
const { [key]: _, ...newState } = this.state;
|
|
24
|
+
this.state = newState;
|
|
25
|
+
sessionStorage.removeItem(storageKey);
|
|
26
|
+
this.notifyListeners();
|
|
27
|
+
}
|
|
28
|
+
loadPersistedState() {
|
|
29
|
+
const keys = Object.keys(this.state);
|
|
30
|
+
for (const key of keys) {
|
|
31
|
+
const storageKey = String(key);
|
|
32
|
+
const persistedValue = sessionStorage.getItem(storageKey);
|
|
33
|
+
this.state[key] = JSON.parse(persistedValue || "null");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
persistValue(key, value) {
|
|
37
|
+
const storageKey = String(key);
|
|
38
|
+
sessionStorage.setItem(storageKey, JSON.stringify(value));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.SessionStorageStateManager = SessionStorageStateManager;
|
|
42
|
+
//# sourceMappingURL=session-storage-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-storage-state-manager.js","sourceRoot":"","sources":["../../../../src/state-manager/browser/session-storage-state-manager.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEhD,MAAa,0BAA+D,SAAQ,4BAAoB;IACtG,YAAY,YAAoB;QAC9B,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAA2B,GAAQ;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEM,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QACpE,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,CAAC,GAAG,CAAC,EAAE,KAAK;SACb,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,WAAW,CAA2B,GAAQ;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,QAAkB,CAAC;QAEhC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAwB,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,YAAY,CAA2B,GAAQ,EAAE,KAAkB;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/B,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF;AA5CD,gEA4CC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryStateManager = void 0;
|
|
4
|
+
const state_manager_1 = require("../state-manager");
|
|
5
|
+
class InMemoryStateManager extends state_manager_1.StateManager {
|
|
6
|
+
constructor(initialState = {}) {
|
|
7
|
+
super(initialState);
|
|
8
|
+
}
|
|
9
|
+
getValue(key) {
|
|
10
|
+
return this.state[key];
|
|
11
|
+
}
|
|
12
|
+
setValue(key, value) {
|
|
13
|
+
this.state[key] = value;
|
|
14
|
+
this.notifyListeners();
|
|
15
|
+
}
|
|
16
|
+
removeValue(key) {
|
|
17
|
+
delete this.state[key];
|
|
18
|
+
this.notifyListeners();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.InMemoryStateManager = InMemoryStateManager;
|
|
22
|
+
//# sourceMappingURL=in-memory-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-state-manager.js","sourceRoot":"","sources":["../../../../src/state-manager/in-memory/in-memory-state-manager.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEhD,MAAa,oBAAyD,SAAQ,4BAAoB;IAChG,YAAY,eAAuB,EAAY;QAC7C,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ,CAA2B,GAAQ;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QAC7D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,WAAW,CAA2B,GAAQ;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;CACF;AAnBD,oDAmBC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryStateManager = void 0;
|
|
4
|
+
var in_memory_state_manager_1 = require("./in-memory-state-manager");
|
|
5
|
+
Object.defineProperty(exports, "InMemoryStateManager", { enumerable: true, get: function () { return in_memory_state_manager_1.InMemoryStateManager; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/state-manager/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
17
|
+
exports.StateManager = void 0;
|
|
4
18
|
var state_manager_1 = require("./state-manager");
|
|
5
19
|
Object.defineProperty(exports, "StateManager", { enumerable: true, get: function () { return state_manager_1.StateManager; } });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var in_memory_state_manager_1 = require("./in-memory-state-manager");
|
|
9
|
-
Object.defineProperty(exports, "InMemoryStateManager", { enumerable: true, get: function () { return in_memory_state_manager_1.InMemoryStateManager; } });
|
|
20
|
+
__exportStar(require("./browser"), exports);
|
|
21
|
+
__exportStar(require("./in-memory"), exports);
|
|
10
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,4CAA0B;AAC1B,8CAA4B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalStorageStateManager = exports.SessionStorageStateManager = void 0;
|
|
4
|
+
var session_storage_state_manager_1 = require("./session-storage-state-manager");
|
|
5
|
+
Object.defineProperty(exports, "SessionStorageStateManager", { enumerable: true, get: function () { return session_storage_state_manager_1.SessionStorageStateManager; } });
|
|
6
|
+
var local_storage_state_manager_1 = require("./local-storage-state-manager");
|
|
7
|
+
Object.defineProperty(exports, "LocalStorageStateManager", { enumerable: true, get: function () { return local_storage_state_manager_1.LocalStorageStateManager; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/state-manager/browser/index.ts"],"names":[],"mappings":";;;AAAA,iFAA6E;AAApE,2IAAA,0BAA0B,OAAA;AACnC,6EAAyE;AAAhE,uIAAA,wBAAwB,OAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalStorageStateManager = void 0;
|
|
4
|
+
const state_manager_1 = require("../state-manager");
|
|
5
|
+
class LocalStorageStateManager extends state_manager_1.StateManager {
|
|
6
|
+
constructor(initialState) {
|
|
7
|
+
super(initialState);
|
|
8
|
+
this.loadPersistedState();
|
|
9
|
+
}
|
|
10
|
+
getValue(key) {
|
|
11
|
+
return this.state[key];
|
|
12
|
+
}
|
|
13
|
+
setValue(key, value) {
|
|
14
|
+
this.state = {
|
|
15
|
+
...this.state,
|
|
16
|
+
[key]: value
|
|
17
|
+
};
|
|
18
|
+
this.persistValue(key, value);
|
|
19
|
+
this.notifyListeners();
|
|
20
|
+
}
|
|
21
|
+
removeValue(key) {
|
|
22
|
+
const storageKey = String(key);
|
|
23
|
+
const { [key]: _, ...newState } = this.state;
|
|
24
|
+
this.state = newState;
|
|
25
|
+
localStorage.removeItem(storageKey);
|
|
26
|
+
this.notifyListeners();
|
|
27
|
+
}
|
|
28
|
+
loadPersistedState() {
|
|
29
|
+
const keys = Object.keys(this.state);
|
|
30
|
+
for (const key of keys) {
|
|
31
|
+
const storageKey = String(key);
|
|
32
|
+
const persistedValue = localStorage.getItem(storageKey);
|
|
33
|
+
this.state[key] = JSON.parse(persistedValue || "null");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
persistValue(key, value) {
|
|
37
|
+
const storageKey = String(key);
|
|
38
|
+
localStorage.setItem(storageKey, JSON.stringify(value));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.LocalStorageStateManager = LocalStorageStateManager;
|
|
42
|
+
//# sourceMappingURL=local-storage-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage-state-manager.js","sourceRoot":"","sources":["../../../../src/state-manager/browser/local-storage-state-manager.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEhD,MAAa,wBAA6D,SAAQ,4BAAoB;IACpG,YAAY,YAAoB;QAC9B,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAA2B,GAAQ;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEM,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QACpE,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,CAAC,GAAG,CAAC,EAAE,KAAK;SACb,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,WAAW,CAA2B,GAAQ;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,QAAkB,CAAC;QAEhC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAwB,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,YAAY,CAA2B,GAAQ,EAAE,KAAkB;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF;AA5CD,4DA4CC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionStorageStateManager = void 0;
|
|
4
|
+
const state_manager_1 = require("../state-manager");
|
|
5
|
+
class SessionStorageStateManager extends state_manager_1.StateManager {
|
|
6
|
+
constructor(initialState) {
|
|
7
|
+
super(initialState);
|
|
8
|
+
this.loadPersistedState();
|
|
9
|
+
}
|
|
10
|
+
getValue(key) {
|
|
11
|
+
return this.state[key];
|
|
12
|
+
}
|
|
13
|
+
setValue(key, value) {
|
|
14
|
+
this.state = {
|
|
15
|
+
...this.state,
|
|
16
|
+
[key]: value
|
|
17
|
+
};
|
|
18
|
+
this.persistValue(key, value);
|
|
19
|
+
this.notifyListeners();
|
|
20
|
+
}
|
|
21
|
+
removeValue(key) {
|
|
22
|
+
const storageKey = String(key);
|
|
23
|
+
const { [key]: _, ...newState } = this.state;
|
|
24
|
+
this.state = newState;
|
|
25
|
+
sessionStorage.removeItem(storageKey);
|
|
26
|
+
this.notifyListeners();
|
|
27
|
+
}
|
|
28
|
+
loadPersistedState() {
|
|
29
|
+
const keys = Object.keys(this.state);
|
|
30
|
+
for (const key of keys) {
|
|
31
|
+
const storageKey = String(key);
|
|
32
|
+
const persistedValue = sessionStorage.getItem(storageKey);
|
|
33
|
+
this.state[key] = JSON.parse(persistedValue || "null");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
persistValue(key, value) {
|
|
37
|
+
const storageKey = String(key);
|
|
38
|
+
sessionStorage.setItem(storageKey, JSON.stringify(value));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.SessionStorageStateManager = SessionStorageStateManager;
|
|
42
|
+
//# sourceMappingURL=session-storage-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-storage-state-manager.js","sourceRoot":"","sources":["../../../../src/state-manager/browser/session-storage-state-manager.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEhD,MAAa,0BAA+D,SAAQ,4BAAoB;IACtG,YAAY,YAAoB;QAC9B,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAA2B,GAAQ;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEM,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QACpE,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI,CAAC,KAAK;YACb,CAAC,GAAG,CAAC,EAAE,KAAK;SACb,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,WAAW,CAA2B,GAAQ;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,QAAkB,CAAC;QAEhC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAwB,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,YAAY,CAA2B,GAAQ,EAAE,KAAkB;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/B,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF;AA5CD,gEA4CC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryStateManager = void 0;
|
|
4
|
+
const state_manager_1 = require("../state-manager");
|
|
5
|
+
class InMemoryStateManager extends state_manager_1.StateManager {
|
|
6
|
+
constructor(initialState = {}) {
|
|
7
|
+
super(initialState);
|
|
8
|
+
}
|
|
9
|
+
getValue(key) {
|
|
10
|
+
return this.state[key];
|
|
11
|
+
}
|
|
12
|
+
setValue(key, value) {
|
|
13
|
+
this.state[key] = value;
|
|
14
|
+
this.notifyListeners();
|
|
15
|
+
}
|
|
16
|
+
removeValue(key) {
|
|
17
|
+
delete this.state[key];
|
|
18
|
+
this.notifyListeners();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.InMemoryStateManager = InMemoryStateManager;
|
|
22
|
+
//# sourceMappingURL=in-memory-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-state-manager.js","sourceRoot":"","sources":["../../../../src/state-manager/in-memory/in-memory-state-manager.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEhD,MAAa,oBAAyD,SAAQ,4BAAoB;IAChG,YAAY,eAAuB,EAAY;QAC7C,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ,CAA2B,GAAQ;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QAC7D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,WAAW,CAA2B,GAAQ;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;CACF;AAnBD,oDAmBC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryStateManager = void 0;
|
|
4
|
+
var in_memory_state_manager_1 = require("./in-memory-state-manager");
|
|
5
|
+
Object.defineProperty(exports, "InMemoryStateManager", { enumerable: true, get: function () { return in_memory_state_manager_1.InMemoryStateManager; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/state-manager/in-memory/index.ts"],"names":[],"mappings":";;;AAAA,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
17
|
+
exports.StateManager = void 0;
|
|
4
18
|
var state_manager_1 = require("./state-manager");
|
|
5
19
|
Object.defineProperty(exports, "StateManager", { enumerable: true, get: function () { return state_manager_1.StateManager; } });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var in_memory_state_manager_1 = require("./in-memory-state-manager");
|
|
9
|
-
Object.defineProperty(exports, "InMemoryStateManager", { enumerable: true, get: function () { return in_memory_state_manager_1.InMemoryStateManager; } });
|
|
20
|
+
__exportStar(require("./browser"), exports);
|
|
21
|
+
__exportStar(require("./in-memory"), exports);
|
|
10
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,4CAA0B;AAC1B,8CAA4B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/state-manager/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StateManager } from "../state-manager";
|
|
2
|
+
export declare class LocalStorageStateManager<Schema extends Record<string, any>> extends StateManager<Schema> {
|
|
3
|
+
constructor(initialState: Schema);
|
|
4
|
+
getValue<Key extends keyof Schema>(key: Key): Schema[Key];
|
|
5
|
+
setValue<Key extends keyof Schema>(key: Key, value: Schema[Key]): void;
|
|
6
|
+
removeValue<Key extends keyof Schema>(key: Key): void;
|
|
7
|
+
private loadPersistedState;
|
|
8
|
+
private persistValue;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=local-storage-state-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/state-manager/browser/local-storage-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,wBAAwB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,YAAY,CAAC,MAAM,CAAC;gBACxF,YAAY,EAAE,MAAM;IAKzB,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG;IAI3C,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;IAU/D,WAAW,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG;IASrD,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,YAAY;CAKrB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StateManager } from "../state-manager";
|
|
2
|
+
export declare class SessionStorageStateManager<Schema extends Record<string, any>> extends StateManager<Schema> {
|
|
3
|
+
constructor(initialState: Schema);
|
|
4
|
+
getValue<Key extends keyof Schema>(key: Key): Schema[Key];
|
|
5
|
+
setValue<Key extends keyof Schema>(key: Key, value: Schema[Key]): void;
|
|
6
|
+
removeValue<Key extends keyof Schema>(key: Key): void;
|
|
7
|
+
private loadPersistedState;
|
|
8
|
+
private persistValue;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=session-storage-state-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-storage-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/state-manager/browser/session-storage-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,0BAA0B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,YAAY,CAAC,MAAM,CAAC;gBAC1F,YAAY,EAAE,MAAM;IAKzB,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG;IAI3C,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;IAU/D,WAAW,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG;IASrD,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,YAAY;CAKrB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { StateManager } from "../state-manager";
|
|
2
|
+
export declare class InMemoryStateManager<Schema extends Record<string, any>> extends StateManager<Schema> {
|
|
3
|
+
constructor(initialState?: Schema);
|
|
4
|
+
getValue<Key extends keyof Schema>(key: Key): Schema[Key];
|
|
5
|
+
setValue<Key extends keyof Schema>(key: Key, value: Schema[Key]): void;
|
|
6
|
+
removeValue<Key extends keyof Schema>(key: Key): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=in-memory-state-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/state-manager/in-memory/in-memory-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,oBAAoB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,YAAY,CAAC,MAAM,CAAC;gBACpF,YAAY,GAAE,MAAqB;IAI/C,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG;IAI3C,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;IAM/D,WAAW,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG;CAI/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/state-manager/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { StateManager } from "./state-manager";
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export * from "./browser";
|
|
3
|
+
export * from "./in-memory";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schorts/shared-kernel",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.1.0",
|
|
4
4
|
"description": "A modular, type-safe foundation for building expressive, maintainable applications. This package provides core abstractions for domain modeling, HTTP integration, authentication, state management, and more — designed to be framework-agnostic and highly extensible.",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|