@schorts/shared-kernel 4.2.3 → 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.
Files changed (32) hide show
  1. package/README.md +4 -0
  2. package/dist/cjs/di/dependency-registry.js +21 -0
  3. package/dist/cjs/di/dependency-registry.js.map +1 -0
  4. package/dist/cjs/di/exceptions/dependency-not-registered.js +7 -0
  5. package/dist/cjs/di/exceptions/dependency-not-registered.js.map +1 -0
  6. package/dist/cjs/di/exceptions/index.js +6 -0
  7. package/dist/cjs/di/exceptions/index.js.map +1 -0
  8. package/dist/cjs/di/index.js +21 -0
  9. package/dist/cjs/di/index.js.map +1 -0
  10. package/dist/cjs/index.js +1 -0
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/esm/di/dependency-registry.js +21 -0
  13. package/dist/esm/di/dependency-registry.js.map +1 -0
  14. package/dist/esm/di/exceptions/dependency-not-registered.js +7 -0
  15. package/dist/esm/di/exceptions/dependency-not-registered.js.map +1 -0
  16. package/dist/esm/di/exceptions/index.js +6 -0
  17. package/dist/esm/di/exceptions/index.js.map +1 -0
  18. package/dist/esm/di/index.js +21 -0
  19. package/dist/esm/di/index.js.map +1 -0
  20. package/dist/esm/index.js +1 -0
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/types/di/dependency-registry.d.ts +7 -0
  23. package/dist/types/di/dependency-registry.d.ts.map +1 -0
  24. package/dist/types/di/exceptions/dependency-not-registered.d.ts +3 -0
  25. package/dist/types/di/exceptions/dependency-not-registered.d.ts.map +1 -0
  26. package/dist/types/di/exceptions/index.d.ts +2 -0
  27. package/dist/types/di/exceptions/index.d.ts.map +1 -0
  28. package/dist/types/di/index.d.ts +3 -0
  29. package/dist/types/di/index.d.ts.map +1 -0
  30. package/dist/types/index.d.ts +1 -0
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/package.json +1 -1
package/README.md CHANGED
@@ -76,6 +76,10 @@ Translation keys are centralized in registries for discoverability and tooling,
76
76
  - **DAO:** Generic interface defining data access operations for domain entities.
77
77
  - **UnitOfWork:** Interface enabling transactional coordination across multiple persistence operations.
78
78
 
79
+ ### 🧰 Dependency Injection
80
+
81
+ - **DependencyRegistry:** A static, type-safe registry for managing application-level dependencies. Inspired by the EntityRegistry pattern, it enables centralized registration and resolution of services, use cases, and state managers without relying on external DI frameworks. Supports both singleton instances and factory-based registrations.
82
+
79
83
  ### 🧠 State Manager
80
84
 
81
85
  - **StateManager:** Abstract reactive state manager with listener support.
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyRegistry = void 0;
4
+ const exceptions_1 = require("./exceptions");
5
+ class DependencyRegistry {
6
+ static registry = new Map();
7
+ static registerSingleton(key, instance) {
8
+ this.registry.set(key, () => instance);
9
+ }
10
+ static registerFactory(key, factory) {
11
+ this.registry.set(key, factory);
12
+ }
13
+ static resolve(key) {
14
+ const factory = this.registry.get(key);
15
+ if (!factory)
16
+ throw new exceptions_1.DependencyNotRegistered(`key: ${key}`);
17
+ return factory();
18
+ }
19
+ }
20
+ exports.DependencyRegistry = DependencyRegistry;
21
+ //# sourceMappingURL=dependency-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-registry.js","sourceRoot":"","sources":["../../../src/di/dependency-registry.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAEvD,MAAa,kBAAkB;IACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEvD,MAAM,CAAC,iBAAiB,CAAO,GAAW,EAAE,QAAc;QACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,eAAe,CAAO,GAAW,EAAE,OAAmB;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,OAAO,CAAO,GAAW;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,oCAAuB,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAE/D,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;;AAjBH,gDAkBC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyNotRegistered = void 0;
4
+ class DependencyNotRegistered extends Error {
5
+ }
6
+ exports.DependencyNotRegistered = DependencyNotRegistered;
7
+ //# sourceMappingURL=dependency-not-registered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-not-registered.js","sourceRoot":"","sources":["../../../../src/di/exceptions/dependency-not-registered.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAwB,SAAQ,KAAK;CAAG;AAArD,0DAAqD"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyNotRegistered = void 0;
4
+ var dependency_not_registered_1 = require("./dependency-not-registered");
5
+ Object.defineProperty(exports, "DependencyNotRegistered", { enumerable: true, get: function () { return dependency_not_registered_1.DependencyNotRegistered; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/di/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,yEAAsE;AAA7D,oIAAA,uBAAuB,OAAA"}
@@ -0,0 +1,21 @@
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
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.DependencyRegistry = void 0;
18
+ var dependency_registry_1 = require("./dependency-registry");
19
+ Object.defineProperty(exports, "DependencyRegistry", { enumerable: true, get: function () { return dependency_registry_1.DependencyRegistry; } });
20
+ __exportStar(require("./exceptions"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/di/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,+CAA6B"}
package/dist/cjs/index.js CHANGED
@@ -18,6 +18,7 @@ __exportStar(require("./auth"), exports);
18
18
  __exportStar(require("./converters"), exports);
19
19
  __exportStar(require("./criteria"), exports);
20
20
  __exportStar(require("./dao"), exports);
21
+ __exportStar(require("./di"), exports);
21
22
  __exportStar(require("./domain-events"), exports);
22
23
  __exportStar(require("./entities"), exports);
23
24
  __exportStar(require("./event-bus"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,wCAAsB;AACtB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,wCAAsB;AACtB,uCAAqB;AACrB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyRegistry = void 0;
4
+ const exceptions_1 = require("./exceptions");
5
+ class DependencyRegistry {
6
+ static registry = new Map();
7
+ static registerSingleton(key, instance) {
8
+ this.registry.set(key, () => instance);
9
+ }
10
+ static registerFactory(key, factory) {
11
+ this.registry.set(key, factory);
12
+ }
13
+ static resolve(key) {
14
+ const factory = this.registry.get(key);
15
+ if (!factory)
16
+ throw new exceptions_1.DependencyNotRegistered(`key: ${key}`);
17
+ return factory();
18
+ }
19
+ }
20
+ exports.DependencyRegistry = DependencyRegistry;
21
+ //# sourceMappingURL=dependency-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-registry.js","sourceRoot":"","sources":["../../../src/di/dependency-registry.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAEvD,MAAa,kBAAkB;IACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEvD,MAAM,CAAC,iBAAiB,CAAO,GAAW,EAAE,QAAc;QACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,eAAe,CAAO,GAAW,EAAE,OAAmB;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,OAAO,CAAO,GAAW;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,oCAAuB,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAE/D,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;;AAjBH,gDAkBC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyNotRegistered = void 0;
4
+ class DependencyNotRegistered extends Error {
5
+ }
6
+ exports.DependencyNotRegistered = DependencyNotRegistered;
7
+ //# sourceMappingURL=dependency-not-registered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-not-registered.js","sourceRoot":"","sources":["../../../../src/di/exceptions/dependency-not-registered.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAwB,SAAQ,KAAK;CAAG;AAArD,0DAAqD"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DependencyNotRegistered = void 0;
4
+ var dependency_not_registered_1 = require("./dependency-not-registered");
5
+ Object.defineProperty(exports, "DependencyNotRegistered", { enumerable: true, get: function () { return dependency_not_registered_1.DependencyNotRegistered; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/di/exceptions/index.ts"],"names":[],"mappings":";;;AAAA,yEAAsE;AAA7D,oIAAA,uBAAuB,OAAA"}
@@ -0,0 +1,21 @@
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
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.DependencyRegistry = void 0;
18
+ var dependency_registry_1 = require("./dependency-registry");
19
+ Object.defineProperty(exports, "DependencyRegistry", { enumerable: true, get: function () { return dependency_registry_1.DependencyRegistry; } });
20
+ __exportStar(require("./exceptions"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/di/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,+CAA6B"}
package/dist/esm/index.js CHANGED
@@ -18,6 +18,7 @@ __exportStar(require("./auth"), exports);
18
18
  __exportStar(require("./converters"), exports);
19
19
  __exportStar(require("./criteria"), exports);
20
20
  __exportStar(require("./dao"), exports);
21
+ __exportStar(require("./di"), exports);
21
22
  __exportStar(require("./domain-events"), exports);
22
23
  __exportStar(require("./entities"), exports);
23
24
  __exportStar(require("./event-bus"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,wCAAsB;AACtB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,wCAAsB;AACtB,uCAAqB;AACrB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
@@ -0,0 +1,7 @@
1
+ export declare class DependencyRegistry {
2
+ private static registry;
3
+ static registerSingleton<Type>(key: string, instance: Type): void;
4
+ static registerFactory<Type>(key: string, factory: () => Type): void;
5
+ static resolve<Type>(key: string): Type;
6
+ }
7
+ //# sourceMappingURL=dependency-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-registry.d.ts","sourceRoot":"","sources":["../../../src/di/dependency-registry.ts"],"names":[],"mappings":"AAEA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgC;IAEvD,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI;IAIjE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAIpE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;CAOxC"}
@@ -0,0 +1,3 @@
1
+ export declare class DependencyNotRegistered extends Error {
2
+ }
3
+ //# sourceMappingURL=dependency-not-registered.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-not-registered.d.ts","sourceRoot":"","sources":["../../../../src/di/exceptions/dependency-not-registered.ts"],"names":[],"mappings":"AAAA,qBAAa,uBAAwB,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,2 @@
1
+ export { DependencyNotRegistered } from "./dependency-not-registered";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/di/exceptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { DependencyRegistry } from "./dependency-registry";
2
+ export * from "./exceptions";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/di/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,cAAc,cAAc,CAAC"}
@@ -2,6 +2,7 @@ export * from "./auth";
2
2
  export * from "./converters";
3
3
  export * from "./criteria";
4
4
  export * from "./dao";
5
+ export * from "./di";
5
6
  export * from "./domain-events";
6
7
  export * from "./entities";
7
8
  export * from "./event-bus";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,MAAM,CAAC;AACrB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schorts/shared-kernel",
3
- "version": "4.2.3",
3
+ "version": "4.3.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",