@schorts/shared-kernel 3.1.0 โ 3.1.2
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/CHANGELOG +12 -0
- package/README.md +2 -0
- package/dist/cjs/json-api/json-api-connector.js.map +1 -1
- package/dist/cjs/state-manager/in-memory-state-manager.js +22 -0
- package/dist/cjs/state-manager/in-memory-state-manager.js.map +1 -0
- package/dist/cjs/state-manager/index.js +3 -1
- package/dist/cjs/state-manager/index.js.map +1 -1
- package/dist/cjs/state-manager/session-storage-state-manager.js.map +1 -1
- package/dist/esm/json-api/json-api-connector.js.map +1 -1
- package/dist/esm/state-manager/in-memory-state-manager.js +22 -0
- package/dist/esm/state-manager/in-memory-state-manager.js.map +1 -0
- package/dist/esm/state-manager/index.js +3 -1
- package/dist/esm/state-manager/index.js.map +1 -1
- package/dist/esm/state-manager/session-storage-state-manager.js.map +1 -1
- package/dist/types/json-api/json-api-connector.d.ts +5 -1
- package/dist/types/json-api/json-api-connector.d.ts.map +1 -1
- package/dist/types/state-manager/in-memory-state-manager.d.ts +8 -0
- package/dist/types/state-manager/in-memory-state-manager.d.ts.map +1 -0
- package/dist/types/state-manager/index.d.ts +1 -0
- package/dist/types/state-manager/index.d.ts.map +1 -1
- package/dist/types/state-manager/session-storage-state-manager.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/json-api/json-api-connector.ts +5 -1
- package/src/state-manager/in-memory-state-manager.ts +22 -0
- package/src/state-manager/index.ts +1 -0
- package/src/state-manager/session-storage-state-manager.ts +1 -3
package/CHANGELOG
CHANGED
|
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.1.2] - 2025-10-18
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Added support for arrays in the `create` method of the `JSONAPIConnector`.
|
|
13
|
+
|
|
14
|
+
## [3.1.1] - 2025-10-16
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- Added `in-memory` implementation to the `state-manager` module.
|
|
19
|
+
|
|
8
20
|
## [3.1.0] - 2025-10-16
|
|
9
21
|
|
|
10
22
|
### Added
|
package/README.md
CHANGED
|
@@ -79,6 +79,7 @@ Translation keys are centralized in registries for discoverability and tooling,
|
|
|
79
79
|
|
|
80
80
|
- **StateManager:** Abstract reactive state manager with listener support.
|
|
81
81
|
- **SessionStorageStateManager:** Concrete implementation using session storage.
|
|
82
|
+
- **InMemoryStateManager:** Concrete implementation using in-memory.
|
|
82
83
|
|
|
83
84
|
### ๐งช Value Objects
|
|
84
85
|
|
|
@@ -93,6 +94,7 @@ Translation keys are centralized in registries for discoverability and tooling,
|
|
|
93
94
|
- **BooleanValue**
|
|
94
95
|
- **DateValue**
|
|
95
96
|
- **ArrayValue**
|
|
97
|
+
- **ObjectValue**
|
|
96
98
|
|
|
97
99
|
Each value object enforces domain constraints and immutability, ensuring correctness at the boundary of your system.
|
|
98
100
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api-connector.js","sourceRoot":"","sources":["../../../src/json-api/json-api-connector.ts"],"names":[],"mappings":";;;AAAA,kCAAsD;AAGtD,iEAA4D;AAE5D,6CAA6C;AAE7C,MAAa,gBAAgB;IACP;IAApB,YAAoB,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAE1C,KAAK,CAAC,OAAO,CACX,GAAQ,EACR,QAAmB,EACnB,OAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,GAAQ,EACR,QAAmB,EACnB,OAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"json-api-connector.js","sourceRoot":"","sources":["../../../src/json-api/json-api-connector.ts"],"names":[],"mappings":";;;AAAA,kCAAsD;AAGtD,iEAA4D;AAE5D,6CAA6C;AAE7C,MAAa,gBAAgB;IACP;IAApB,YAAoB,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAE1C,KAAK,CAAC,OAAO,CACX,GAAQ,EACR,QAAmB,EACnB,OAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,GAAQ,EACR,QAAmB,EACnB,OAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAQ,EACR,OAQE;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAQ,EACR,OAIC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAQ;QAER,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAc;QAChC,IAAI,KAAK,YAAY,oBAAa,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,0BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;CACF;AAlFD,4CAkFC"}
|
|
@@ -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
|
+
async getValue(key) {
|
|
10
|
+
return this.state[key];
|
|
11
|
+
}
|
|
12
|
+
async setValue(key, value) {
|
|
13
|
+
this.state[key] = value;
|
|
14
|
+
this.notifyListeners();
|
|
15
|
+
}
|
|
16
|
+
async 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-state-manager.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,MAAa,oBAAyD,SAAQ,4BAAoB;IAChG,YAAY,eAAuB,EAAY;QAC7C,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ,CAA2B,GAAQ;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAA2B,GAAQ;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;CACF;AAnBD,oDAmBC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionStorageStateManager = exports.StateManager = void 0;
|
|
3
|
+
exports.InMemoryStateManager = exports.SessionStorageStateManager = exports.StateManager = void 0;
|
|
4
4
|
var state_manager_1 = require("./state-manager");
|
|
5
5
|
Object.defineProperty(exports, "StateManager", { enumerable: true, get: function () { return state_manager_1.StateManager; } });
|
|
6
6
|
var session_storage_state_manager_1 = require("./session-storage-state-manager");
|
|
7
7
|
Object.defineProperty(exports, "SessionStorageStateManager", { enumerable: true, get: function () { return session_storage_state_manager_1.SessionStorageStateManager; } });
|
|
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; } });
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,iFAA6E;AAApE,2IAAA,0BAA0B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,iFAA6E;AAApE,2IAAA,0BAA0B,OAAA;AACnC,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-storage-state-manager.js","sourceRoot":"","sources":["../../../src/state-manager/session-storage-state-manager.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,MAAa,
|
|
1
|
+
{"version":3,"file":"session-storage-state-manager.js","sourceRoot":"","sources":["../../../src/state-manager/session-storage-state-manager.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,MAAa,0BAA+D,SAAQ,4BAAoB;IACtG,YAAY,YAAoB;QAC9B,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,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;IAEM,KAAK,CAAC,QAAQ,CAA2B,GAAQ;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QAC1E,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,KAAK,CAAC,WAAW,CAA2B,GAAQ;QACzD,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;CACF;AA5CD,gEA4CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api-connector.js","sourceRoot":"","sources":["../../../src/json-api/json-api-connector.ts"],"names":[],"mappings":";;;AAAA,kCAAsD;AAGtD,iEAA4D;AAE5D,6CAA6C;AAE7C,MAAa,gBAAgB;IACP;IAApB,YAAoB,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAE1C,KAAK,CAAC,OAAO,CACX,GAAQ,EACR,QAAmB,EACnB,OAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,GAAQ,EACR,QAAmB,EACnB,OAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"json-api-connector.js","sourceRoot":"","sources":["../../../src/json-api/json-api-connector.ts"],"names":[],"mappings":";;;AAAA,kCAAsD;AAGtD,iEAA4D;AAE5D,6CAA6C;AAE7C,MAAa,gBAAgB;IACP;IAApB,YAAoB,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAE1C,KAAK,CAAC,OAAO,CACX,GAAQ,EACR,QAAmB,EACnB,OAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,GAAQ,EACR,QAAmB,EACnB,OAAkB;QAElB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,yCAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEvE,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAQ,EACR,OAQE;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAQ,EACR,OAIC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAQ;QAER,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAc;QAChC,IAAI,KAAK,YAAY,oBAAa,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,0BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;CACF;AAlFD,4CAkFC"}
|
|
@@ -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
|
+
async getValue(key) {
|
|
10
|
+
return this.state[key];
|
|
11
|
+
}
|
|
12
|
+
async setValue(key, value) {
|
|
13
|
+
this.state[key] = value;
|
|
14
|
+
this.notifyListeners();
|
|
15
|
+
}
|
|
16
|
+
async 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-state-manager.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,MAAa,oBAAyD,SAAQ,4BAAoB;IAChG,YAAY,eAAuB,EAAY;QAC7C,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ,CAA2B,GAAQ;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAA2B,GAAQ;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;CACF;AAnBD,oDAmBC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionStorageStateManager = exports.StateManager = void 0;
|
|
3
|
+
exports.InMemoryStateManager = exports.SessionStorageStateManager = exports.StateManager = void 0;
|
|
4
4
|
var state_manager_1 = require("./state-manager");
|
|
5
5
|
Object.defineProperty(exports, "StateManager", { enumerable: true, get: function () { return state_manager_1.StateManager; } });
|
|
6
6
|
var session_storage_state_manager_1 = require("./session-storage-state-manager");
|
|
7
7
|
Object.defineProperty(exports, "SessionStorageStateManager", { enumerable: true, get: function () { return session_storage_state_manager_1.SessionStorageStateManager; } });
|
|
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; } });
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,iFAA6E;AAApE,2IAAA,0BAA0B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state-manager/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,iFAA6E;AAApE,2IAAA,0BAA0B,OAAA;AACnC,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-storage-state-manager.js","sourceRoot":"","sources":["../../../src/state-manager/session-storage-state-manager.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,MAAa,
|
|
1
|
+
{"version":3,"file":"session-storage-state-manager.js","sourceRoot":"","sources":["../../../src/state-manager/session-storage-state-manager.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,MAAa,0BAA+D,SAAQ,4BAAoB;IACtG,YAAY,YAAoB;QAC9B,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,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;IAEM,KAAK,CAAC,QAAQ,CAA2B,GAAQ;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAA2B,GAAQ,EAAE,KAAkB;QAC1E,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,KAAK,CAAC,WAAW,CAA2B,GAAQ;QACzD,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;CACF;AA5CD,gEA4CC"}
|
|
@@ -11,7 +11,11 @@ export declare class JSONAPIConnector {
|
|
|
11
11
|
id: string;
|
|
12
12
|
type: string;
|
|
13
13
|
attributes: Omit<Partial<EntityAttributes>, "id">;
|
|
14
|
-
}
|
|
14
|
+
} | Array<{
|
|
15
|
+
id: string;
|
|
16
|
+
type: string;
|
|
17
|
+
attributes: Omit<Partial<EntityAttributes>, "id">;
|
|
18
|
+
}>): Promise<JSONAPISingle<EntityAttributes>>;
|
|
15
19
|
update<EntityAttributes>(url: URL, payload: {
|
|
16
20
|
id: string;
|
|
17
21
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api-connector.d.ts","sourceRoot":"","sources":["../../../src/json-api/json-api-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEhC,OAAO,CAAC,gBAAgB,EAC5B,GAAG,EAAE,GAAG,EACR,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAUrC,QAAQ,CAAC,gBAAgB,EAC7B,GAAG,EAAE,GAAG,EACR,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAUnC,MAAM,CAAC,gBAAgB,EAC3B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;KACnD,
|
|
1
|
+
{"version":3,"file":"json-api-connector.d.ts","sourceRoot":"","sources":["../../../src/json-api/json-api-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,SAAS,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEhC,OAAO,CAAC,gBAAgB,EAC5B,GAAG,EAAE,GAAG,EACR,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAUrC,QAAQ,CAAC,gBAAgB,EAC7B,GAAG,EAAE,GAAG,EACR,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAUnC,MAAM,CAAC,gBAAgB,EAC3B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;KACnD,GAAG,KAAK,CAAC;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;KACnD,CAAC,GACD,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAQrC,MAAM,CAAC,gBAAgB,EAC3B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;KACnD,GACA,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAQrC,MAAM,CAAC,gBAAgB,EAC3B,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAQ3C,OAAO,CAAC,WAAW;CAOpB"}
|
|
@@ -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): Promise<Schema[Key]>;
|
|
5
|
+
setValue<Key extends keyof Schema>(key: Key, value: Schema[Key]): Promise<void>;
|
|
6
|
+
removeValue<Key extends keyof Schema>(key: Key): Promise<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-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,oBAAoB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,YAAY,CAAC,MAAM,CAAC;gBACpF,YAAY,GAAE,MAAqB;IAIzC,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAIlE,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/E,WAAW,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAIrE"}
|
|
@@ -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,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
|
|
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,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-storage-state-manager.d.ts","sourceRoot":"","sources":["../../../src/state-manager/session-storage-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,0BAA0B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"session-storage-state-manager.d.ts","sourceRoot":"","sources":["../../../src/state-manager/session-storage-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,0BAA0B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,YAAY,CAAC,MAAM,CAAC;gBAC1F,YAAY,EAAE,MAAM;IAKhC,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,YAAY;IAMP,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAIlE,QAAQ,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/E,WAAW,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ5E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schorts/shared-kernel",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.2",
|
|
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",
|
|
@@ -42,7 +42,11 @@ export class JSONAPIConnector {
|
|
|
42
42
|
id: string;
|
|
43
43
|
type: string;
|
|
44
44
|
attributes: Omit<Partial<EntityAttributes>, "id">;
|
|
45
|
-
}
|
|
45
|
+
} | Array<{
|
|
46
|
+
id: string;
|
|
47
|
+
type: string;
|
|
48
|
+
attributes: Omit<Partial<EntityAttributes>, "id">;
|
|
49
|
+
}>,
|
|
46
50
|
): Promise<JSONAPISingle<EntityAttributes>> {
|
|
47
51
|
try {
|
|
48
52
|
return await this.http.post(url, { data: payload });
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { StateManager } from './state-manager';
|
|
2
|
+
|
|
3
|
+
export class InMemoryStateManager<Schema extends Record<string, any>> extends StateManager<Schema> {
|
|
4
|
+
constructor(initialState: Schema = {} as Schema) {
|
|
5
|
+
super(initialState);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
async getValue<Key extends keyof Schema>(key: Key): Promise<Schema[Key]> {
|
|
9
|
+
return this.state[key];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async setValue<Key extends keyof Schema>(key: Key, value: Schema[Key]): Promise<void> {
|
|
13
|
+
this.state[key] = value;
|
|
14
|
+
|
|
15
|
+
this.notifyListeners();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async removeValue<Key extends keyof Schema>(key: Key): Promise<void> {
|
|
19
|
+
delete this.state[key];
|
|
20
|
+
this.notifyListeners();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { StateManager } from './state-manager';
|
|
2
2
|
|
|
3
|
-
export class SessionStorageStateManager<Schema extends Record<string, any>>
|
|
4
|
-
extends StateManager<Schema> {
|
|
5
|
-
|
|
3
|
+
export class SessionStorageStateManager<Schema extends Record<string, any>> extends StateManager<Schema> {
|
|
6
4
|
constructor(initialState: Schema) {
|
|
7
5
|
super(initialState);
|
|
8
6
|
this.loadPersistedState();
|