bootifyjs 0.1.1 → 1.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.
Files changed (261) hide show
  1. package/dist/api.d.ts +8 -27
  2. package/dist/api.d.ts.map +1 -0
  3. package/dist/api.js +68 -134
  4. package/dist/api.js.map +1 -1
  5. package/dist/cache/bootstrap.d.ts +6 -0
  6. package/dist/cache/bootstrap.d.ts.map +1 -0
  7. package/dist/cache/bootstrap.js +23 -0
  8. package/dist/cache/bootstrap.js.map +1 -0
  9. package/dist/cache/cache.service.d.ts +9 -0
  10. package/dist/cache/cache.service.d.ts.map +1 -0
  11. package/dist/cache/cache.service.js +40 -0
  12. package/dist/cache/cache.service.js.map +1 -0
  13. package/dist/cache/cache.types.d.ts +14 -0
  14. package/dist/cache/cache.types.d.ts.map +1 -0
  15. package/dist/cache/cache.types.js +8 -0
  16. package/dist/cache/cache.types.js.map +1 -0
  17. package/dist/cache/decorators.d.ts +12 -0
  18. package/dist/cache/decorators.d.ts.map +1 -0
  19. package/dist/cache/decorators.js +53 -0
  20. package/dist/cache/decorators.js.map +1 -0
  21. package/dist/cache/in-memory-cache.store.d.ts +8 -0
  22. package/dist/cache/in-memory-cache.store.d.ts.map +1 -0
  23. package/dist/cache/in-memory-cache.store.js +39 -0
  24. package/dist/cache/in-memory-cache.store.js.map +1 -0
  25. package/dist/cache/index.d.ts +5 -0
  26. package/dist/cache/index.d.ts.map +1 -0
  27. package/dist/cache/index.js +21 -0
  28. package/dist/cache/index.js.map +1 -0
  29. package/dist/core/component-registry.d.ts +7 -0
  30. package/dist/core/component-registry.d.ts.map +1 -0
  31. package/dist/core/component-registry.js +9 -0
  32. package/dist/core/component-registry.js.map +1 -0
  33. package/dist/core/decorators.d.ts +38 -22
  34. package/dist/core/decorators.d.ts.map +1 -0
  35. package/dist/core/decorators.js +155 -174
  36. package/dist/core/decorators.js.map +1 -1
  37. package/dist/core/di-container.d.ts +31 -0
  38. package/dist/core/di-container.d.ts.map +1 -0
  39. package/dist/core/di-container.js +219 -0
  40. package/dist/core/di-container.js.map +1 -0
  41. package/dist/core/index.d.ts +5 -0
  42. package/dist/core/index.d.ts.map +1 -0
  43. package/dist/core/index.js +21 -0
  44. package/dist/core/index.js.map +1 -0
  45. package/dist/core/request-context.service.d.ts +24 -0
  46. package/dist/core/request-context.service.d.ts.map +1 -0
  47. package/dist/core/request-context.service.js +52 -0
  48. package/dist/core/request-context.service.js.map +1 -0
  49. package/dist/core/router.d.ts +4 -32
  50. package/dist/core/router.d.ts.map +1 -0
  51. package/dist/core/router.js +81 -258
  52. package/dist/core/router.js.map +1 -1
  53. package/dist/events/bootstrap.d.ts +8 -0
  54. package/dist/events/bootstrap.d.ts.map +1 -0
  55. package/dist/events/bootstrap.js +37 -0
  56. package/dist/events/bootstrap.js.map +1 -0
  57. package/dist/events/decorators.d.ts +16 -0
  58. package/dist/events/decorators.d.ts.map +1 -0
  59. package/dist/events/decorators.js +37 -0
  60. package/dist/events/decorators.js.map +1 -0
  61. package/dist/events/event-bus.service.d.ts +21 -0
  62. package/dist/events/event-bus.service.d.ts.map +1 -0
  63. package/dist/events/event-bus.service.js +78 -0
  64. package/dist/events/event-bus.service.js.map +1 -0
  65. package/dist/events/event.types.d.ts +17 -0
  66. package/dist/events/event.types.d.ts.map +1 -0
  67. package/dist/events/event.types.js.map +1 -0
  68. package/dist/events/index.d.ts +5 -13
  69. package/dist/events/index.d.ts.map +1 -0
  70. package/dist/events/index.js +4 -54
  71. package/dist/events/index.js.map +1 -1
  72. package/dist/examples/controllers/health.controller.d.ts +7 -0
  73. package/dist/examples/controllers/health.controller.d.ts.map +1 -0
  74. package/dist/{events/examples/system.events.js → examples/controllers/health.controller.js} +16 -15
  75. package/dist/examples/controllers/health.controller.js.map +1 -0
  76. package/dist/examples/controllers/todo.controller.d.ts +31 -0
  77. package/dist/examples/controllers/todo.controller.d.ts.map +1 -0
  78. package/dist/examples/controllers/todo.controller.js +102 -0
  79. package/dist/examples/controllers/todo.controller.js.map +1 -0
  80. package/dist/examples/events/TodoEventHandler.d.ts +2 -0
  81. package/dist/examples/events/TodoEventHandler.d.ts.map +1 -0
  82. package/dist/examples/events/TodoEventHandler.js +31 -0
  83. package/dist/examples/events/TodoEventHandler.js.map +1 -0
  84. package/dist/examples/events/todo.events.d.ts +16 -0
  85. package/dist/examples/events/todo.events.d.ts.map +1 -0
  86. package/dist/examples/events/todo.events.js +13 -0
  87. package/dist/examples/events/todo.events.js.map +1 -0
  88. package/dist/examples/index.d.ts +2 -0
  89. package/dist/examples/index.d.ts.map +1 -0
  90. package/dist/examples/index.js +35 -0
  91. package/dist/examples/index.js.map +1 -0
  92. package/dist/examples/repositories/todo.repository.d.ts +20 -0
  93. package/dist/examples/repositories/todo.repository.d.ts.map +1 -0
  94. package/dist/examples/repositories/todo.repository.js +33 -0
  95. package/dist/examples/repositories/todo.repository.js.map +1 -0
  96. package/dist/examples/services/todo.service.d.ts +33 -0
  97. package/dist/examples/services/todo.service.d.ts.map +1 -0
  98. package/dist/examples/services/todo.service.js +80 -0
  99. package/dist/examples/services/todo.service.js.map +1 -0
  100. package/dist/examples/todos/schema.d.ts +54 -0
  101. package/dist/examples/todos/schema.d.ts.map +1 -0
  102. package/dist/examples/todos/schema.js +20 -0
  103. package/dist/examples/todos/schema.js.map +1 -0
  104. package/dist/index.d.ts +7 -17
  105. package/dist/index.d.ts.map +1 -0
  106. package/dist/index.js +20 -95
  107. package/dist/index.js.map +1 -1
  108. package/dist/logging/config/logging.config.d.ts +31 -3
  109. package/dist/logging/config/logging.config.d.ts.map +1 -0
  110. package/dist/logging/config/logging.config.js +43 -93
  111. package/dist/logging/config/logging.config.js.map +1 -1
  112. package/dist/logging/core/decorators.d.ts +16 -0
  113. package/dist/logging/core/decorators.d.ts.map +1 -0
  114. package/dist/logging/core/decorators.js +74 -0
  115. package/dist/logging/core/decorators.js.map +1 -0
  116. package/dist/logging/core/logger.provider.d.ts +4 -0
  117. package/dist/logging/core/logger.provider.d.ts.map +1 -0
  118. package/dist/logging/core/logger.provider.js +68 -0
  119. package/dist/logging/core/logger.provider.js.map +1 -0
  120. package/dist/logging/core/logger.service.d.ts +9 -27
  121. package/dist/logging/core/logger.service.d.ts.map +1 -0
  122. package/dist/logging/core/logger.service.js +34 -164
  123. package/dist/logging/core/logger.service.js.map +1 -1
  124. package/dist/logging/core/{startup-logger.service.d.ts → startup.logger.d.ts} +4 -6
  125. package/dist/logging/core/startup.logger.d.ts.map +1 -0
  126. package/dist/logging/core/{startup-logger.service.js → startup.logger.js} +36 -42
  127. package/dist/logging/core/startup.logger.js.map +1 -0
  128. package/dist/logging/index.d.ts +7 -14
  129. package/dist/logging/index.d.ts.map +1 -0
  130. package/dist/logging/index.js +17 -28
  131. package/dist/logging/index.js.map +1 -1
  132. package/dist/middleware/auth.middleware.d.ts +3 -0
  133. package/dist/middleware/auth.middleware.d.ts.map +1 -0
  134. package/dist/middleware/auth.middleware.js +18 -0
  135. package/dist/middleware/auth.middleware.js.map +1 -0
  136. package/dist/middleware/context.middleware.d.ts +7 -0
  137. package/dist/middleware/context.middleware.d.ts.map +1 -0
  138. package/dist/middleware/context.middleware.js +25 -0
  139. package/dist/middleware/context.middleware.js.map +1 -0
  140. package/dist/middleware/index.d.ts +4 -0
  141. package/dist/middleware/index.d.ts.map +1 -0
  142. package/dist/middleware/index.js +20 -0
  143. package/dist/middleware/index.js.map +1 -0
  144. package/dist/middleware/request-logger.middleware.d.ts +4 -0
  145. package/dist/middleware/request-logger.middleware.d.ts.map +1 -0
  146. package/dist/middleware/request-logger.middleware.js +18 -0
  147. package/dist/middleware/request-logger.middleware.js.map +1 -0
  148. package/package.json +52 -47
  149. package/LICENSE +0 -21
  150. package/README.md +0 -423
  151. package/dist/config/app.config.d.ts +0 -29
  152. package/dist/config/app.config.js +0 -55
  153. package/dist/config/app.config.js.map +0 -1
  154. package/dist/controllers/config.controller.d.ts +0 -16
  155. package/dist/controllers/config.controller.js +0 -66
  156. package/dist/controllers/config.controller.js.map +0 -1
  157. package/dist/controllers/events.controller.d.ts +0 -66
  158. package/dist/controllers/events.controller.js +0 -145
  159. package/dist/controllers/events.controller.js.map +0 -1
  160. package/dist/controllers/health.controller.d.ts +0 -20
  161. package/dist/controllers/health.controller.js +0 -92
  162. package/dist/controllers/health.controller.js.map +0 -1
  163. package/dist/controllers/user.controller.d.ts +0 -13
  164. package/dist/controllers/user.controller.js +0 -209
  165. package/dist/controllers/user.controller.js.map +0 -1
  166. package/dist/core/application.d.ts +0 -21
  167. package/dist/core/application.js +0 -90
  168. package/dist/core/application.js.map +0 -1
  169. package/dist/core/config.d.ts +0 -3
  170. package/dist/core/config.js +0 -78
  171. package/dist/core/config.js.map +0 -1
  172. package/dist/core/container.d.ts +0 -17
  173. package/dist/core/container.js +0 -92
  174. package/dist/core/container.js.map +0 -1
  175. package/dist/core/errors.d.ts +0 -18
  176. package/dist/core/errors.js +0 -74
  177. package/dist/core/errors.js.map +0 -1
  178. package/dist/core/middleware.d.ts +0 -8
  179. package/dist/core/middleware.js +0 -23
  180. package/dist/core/middleware.js.map +0 -1
  181. package/dist/core/openapi.d.ts +0 -80
  182. package/dist/core/openapi.js +0 -189
  183. package/dist/core/openapi.js.map +0 -1
  184. package/dist/core/utils.d.ts +0 -7
  185. package/dist/core/utils.js +0 -75
  186. package/dist/core/utils.js.map +0 -1
  187. package/dist/core/validation.d.ts +0 -15
  188. package/dist/core/validation.js +0 -161
  189. package/dist/core/validation.js.map +0 -1
  190. package/dist/events/core/event-bus.d.ts +0 -26
  191. package/dist/events/core/event-bus.js +0 -253
  192. package/dist/events/core/event-bus.js.map +0 -1
  193. package/dist/events/core/event-registry.d.ts +0 -31
  194. package/dist/events/core/event-registry.js +0 -170
  195. package/dist/events/core/event-registry.js.map +0 -1
  196. package/dist/events/decorators/event.decorators.d.ts +0 -11
  197. package/dist/events/decorators/event.decorators.js +0 -123
  198. package/dist/events/decorators/event.decorators.js.map +0 -1
  199. package/dist/events/examples/system.events.d.ts +0 -15
  200. package/dist/events/examples/system.events.js.map +0 -1
  201. package/dist/events/examples/user.events.d.ts +0 -68
  202. package/dist/events/examples/user.events.js +0 -73
  203. package/dist/events/examples/user.events.js.map +0 -1
  204. package/dist/events/examples/user.handlers.d.ts +0 -20
  205. package/dist/events/examples/user.handlers.js +0 -157
  206. package/dist/events/examples/user.handlers.js.map +0 -1
  207. package/dist/events/middleware/logging.middleware.d.ts +0 -7
  208. package/dist/events/middleware/logging.middleware.js +0 -44
  209. package/dist/events/middleware/logging.middleware.js.map +0 -1
  210. package/dist/events/middleware/metrics.middleware.d.ts +0 -11
  211. package/dist/events/middleware/metrics.middleware.js +0 -87
  212. package/dist/events/middleware/metrics.middleware.js.map +0 -1
  213. package/dist/events/middleware/validation.middleware.d.ts +0 -8
  214. package/dist/events/middleware/validation.middleware.js +0 -63
  215. package/dist/events/middleware/validation.middleware.js.map +0 -1
  216. package/dist/events/store/memory-event-store.d.ts +0 -21
  217. package/dist/events/store/memory-event-store.js +0 -81
  218. package/dist/events/store/memory-event-store.js.map +0 -1
  219. package/dist/events/types/event.types.d.ts +0 -57
  220. package/dist/events/types/event.types.js.map +0 -1
  221. package/dist/examples/basic-api.d.ts +0 -1
  222. package/dist/examples/basic-api.js +0 -120
  223. package/dist/examples/basic-api.js.map +0 -1
  224. package/dist/logging/core/log-context.service.d.ts +0 -11
  225. package/dist/logging/core/log-context.service.js +0 -40
  226. package/dist/logging/core/log-context.service.js.map +0 -1
  227. package/dist/logging/core/startup-logger.service.js.map +0 -1
  228. package/dist/logging/decorators/log.decorator.d.ts +0 -11
  229. package/dist/logging/decorators/log.decorator.js +0 -80
  230. package/dist/logging/decorators/log.decorator.js.map +0 -1
  231. package/dist/logging/middleware/context.middleware.d.ts +0 -2
  232. package/dist/logging/middleware/context.middleware.js +0 -29
  233. package/dist/logging/middleware/context.middleware.js.map +0 -1
  234. package/dist/logging/middleware/request-logging.middleware.d.ts +0 -3
  235. package/dist/logging/middleware/request-logging.middleware.js +0 -78
  236. package/dist/logging/middleware/request-logging.middleware.js.map +0 -1
  237. package/dist/logging/types/logging.types.d.ts +0 -79
  238. package/dist/logging/types/logging.types.js +0 -3
  239. package/dist/logging/types/logging.types.js.map +0 -1
  240. package/dist/middlewares/auth.middleware.d.ts +0 -2
  241. package/dist/middlewares/auth.middleware.js +0 -20
  242. package/dist/middlewares/auth.middleware.js.map +0 -1
  243. package/dist/middlewares/cors.middleware.d.ts +0 -2
  244. package/dist/middlewares/cors.middleware.js +0 -16
  245. package/dist/middlewares/cors.middleware.js.map +0 -1
  246. package/dist/middlewares/swagger.middleware.d.ts +0 -6
  247. package/dist/middlewares/swagger.middleware.js +0 -84
  248. package/dist/middlewares/swagger.middleware.js.map +0 -1
  249. package/dist/repositories/user.repository.d.ts +0 -16
  250. package/dist/repositories/user.repository.js +0 -110
  251. package/dist/repositories/user.repository.js.map +0 -1
  252. package/dist/schemas/user.schemas.d.ts +0 -214
  253. package/dist/schemas/user.schemas.js +0 -71
  254. package/dist/schemas/user.schemas.js.map +0 -1
  255. package/dist/services/config-demo.service.d.ts +0 -10
  256. package/dist/services/config-demo.service.js +0 -88
  257. package/dist/services/config-demo.service.js.map +0 -1
  258. package/dist/services/user.service.d.ts +0 -21
  259. package/dist/services/user.service.js +0 -201
  260. package/dist/services/user.service.js.map +0 -1
  261. /package/dist/events/{types/event.types.js → event.types.js} +0 -0
@@ -1,13 +1,5 @@
1
- export { EventBus } from './core/event-bus';
2
- export { EventRegistry } from './core/event-registry';
3
- export * from './types/event.types';
4
- export { Event, EventEmitter, EventListener, EmitEvent, registerEventHandlers } from './decorators/event.decorators';
5
- export { LoggingMiddleware } from './middleware/logging.middleware';
6
- export { ValidationMiddleware } from './middleware/validation.middleware';
7
- export { MetricsMiddleware } from './middleware/metrics.middleware';
8
- export { MemoryEventStore } from './store/memory-event-store';
9
- export * from './examples/user.events';
10
- export * from './examples/user.handlers';
11
- export * from './examples/system.events';
12
- import { EventBus } from './core/event-bus';
13
- export declare function configureEventSystem(): EventBus;
1
+ export * from './bootstrap';
2
+ export * from './event-bus.service';
3
+ export * from './event.types';
4
+ export * from './decorators';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA"}
@@ -14,58 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.MemoryEventStore = exports.MetricsMiddleware = exports.ValidationMiddleware = exports.LoggingMiddleware = exports.registerEventHandlers = exports.EmitEvent = exports.EventListener = exports.EventEmitter = exports.Event = exports.EventRegistry = exports.EventBus = void 0;
18
- exports.configureEventSystem = configureEventSystem;
19
- // Core exports
20
- var event_bus_1 = require("./core/event-bus");
21
- Object.defineProperty(exports, "EventBus", { enumerable: true, get: function () { return event_bus_1.EventBus; } });
22
- var event_registry_1 = require("./core/event-registry");
23
- Object.defineProperty(exports, "EventRegistry", { enumerable: true, get: function () { return event_registry_1.EventRegistry; } });
24
- // Type exports
25
- __exportStar(require("./types/event.types"), exports);
26
- // Decorator exports
27
- var event_decorators_1 = require("./decorators/event.decorators");
28
- Object.defineProperty(exports, "Event", { enumerable: true, get: function () { return event_decorators_1.Event; } });
29
- Object.defineProperty(exports, "EventEmitter", { enumerable: true, get: function () { return event_decorators_1.EventEmitter; } });
30
- Object.defineProperty(exports, "EventListener", { enumerable: true, get: function () { return event_decorators_1.EventListener; } });
31
- Object.defineProperty(exports, "EmitEvent", { enumerable: true, get: function () { return event_decorators_1.EmitEvent; } });
32
- Object.defineProperty(exports, "registerEventHandlers", { enumerable: true, get: function () { return event_decorators_1.registerEventHandlers; } });
33
- // Middleware exports
34
- var logging_middleware_1 = require("./middleware/logging.middleware");
35
- Object.defineProperty(exports, "LoggingMiddleware", { enumerable: true, get: function () { return logging_middleware_1.LoggingMiddleware; } });
36
- var validation_middleware_1 = require("./middleware/validation.middleware");
37
- Object.defineProperty(exports, "ValidationMiddleware", { enumerable: true, get: function () { return validation_middleware_1.ValidationMiddleware; } });
38
- var metrics_middleware_1 = require("./middleware/metrics.middleware");
39
- Object.defineProperty(exports, "MetricsMiddleware", { enumerable: true, get: function () { return metrics_middleware_1.MetricsMiddleware; } });
40
- // Store exports
41
- var memory_event_store_1 = require("./store/memory-event-store");
42
- Object.defineProperty(exports, "MemoryEventStore", { enumerable: true, get: function () { return memory_event_store_1.MemoryEventStore; } });
43
- // Example exports
44
- __exportStar(require("./examples/user.events"), exports);
45
- __exportStar(require("./examples/user.handlers"), exports);
46
- __exportStar(require("./examples/system.events"), exports);
47
- // Configuration and setup
48
- const event_bus_2 = require("./core/event-bus");
49
- const logging_middleware_2 = require("./middleware/logging.middleware");
50
- const validation_middleware_2 = require("./middleware/validation.middleware");
51
- const metrics_middleware_2 = require("./middleware/metrics.middleware");
52
- const event_decorators_2 = require("./decorators/event.decorators");
53
- const user_handlers_1 = require("./examples/user.handlers");
54
- // Auto-configure event system
55
- function configureEventSystem() {
56
- const eventBus = event_bus_2.EventBus.getInstance({
57
- enableLogging: true,
58
- enableMetrics: true,
59
- maxRetries: 3,
60
- retryDelay: 1000,
61
- enableDeadLetterQueue: true
62
- });
63
- // Add middleware
64
- eventBus.use(new validation_middleware_2.ValidationMiddleware());
65
- eventBus.use(new logging_middleware_2.LoggingMiddleware());
66
- eventBus.use(new metrics_middleware_2.MetricsMiddleware());
67
- // Register event handlers
68
- (0, event_decorators_2.registerEventHandlers)([user_handlers_1.UserEventHandlers]);
69
- return eventBus;
70
- }
17
+ __exportStar(require("./bootstrap"), exports);
18
+ __exportStar(require("./event-bus.service"), exports);
19
+ __exportStar(require("./event.types"), exports);
20
+ __exportStar(require("./decorators"), exports);
71
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAsCA,oDAkBC;AAxDD,eAAe;AACf,8CAA4C;AAAnC,qGAAA,QAAQ,OAAA;AACjB,wDAAsD;AAA7C,+GAAA,aAAa,OAAA;AAEtB,eAAe;AACf,sDAAoC;AAEpC,oBAAoB;AACpB,kEAMuC;AALrC,yGAAA,KAAK,OAAA;AACL,gHAAA,YAAY,OAAA;AACZ,iHAAA,aAAa,OAAA;AACb,6GAAA,SAAS,OAAA;AACT,yHAAA,qBAAqB,OAAA;AAGvB,qBAAqB;AACrB,sEAAoE;AAA3D,uHAAA,iBAAiB,OAAA;AAC1B,4EAA0E;AAAjE,6HAAA,oBAAoB,OAAA;AAC7B,sEAAoE;AAA3D,uHAAA,iBAAiB,OAAA;AAE1B,gBAAgB;AAChB,iEAA8D;AAArD,sHAAA,gBAAgB,OAAA;AAEzB,kBAAkB;AAClB,yDAAuC;AACvC,2DAAyC;AACzC,2DAAyC;AAEzC,0BAA0B;AAC1B,gDAA4C;AAC5C,wEAAoE;AACpE,8EAA0E;AAC1E,wEAAoE;AACpE,oEAAsE;AACtE,4DAA6D;AAE7D,8BAA8B;AAC9B,SAAgB,oBAAoB;IAClC,MAAM,QAAQ,GAAG,oBAAQ,CAAC,WAAW,CAAC;QACpC,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,IAAI;QAChB,qBAAqB,EAAE,IAAI;KAC5B,CAAC,CAAC;IAEH,iBAAiB;IACjB,QAAQ,CAAC,GAAG,CAAC,IAAI,4CAAoB,EAAE,CAAC,CAAC;IACzC,QAAQ,CAAC,GAAG,CAAC,IAAI,sCAAiB,EAAE,CAAC,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,IAAI,sCAAiB,EAAE,CAAC,CAAC;IAEtC,0BAA0B;IAC1B,IAAA,wCAAqB,EAAC,CAAC,iCAAiB,CAAC,CAAC,CAAC;IAE3C,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,sDAAmC;AACnC,gDAA6B;AAC7B,+CAA4B"}
@@ -0,0 +1,7 @@
1
+ export declare class HealthController {
2
+ getHealth(): {
3
+ status: string;
4
+ timestamp: string;
5
+ };
6
+ }
7
+ //# sourceMappingURL=health.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.controller.d.ts","sourceRoot":"","sources":["../../../src/examples/controllers/health.controller.ts"],"names":[],"mappings":"AAEA,qBACa,gBAAgB;IAE3B,SAAS;;;;CAGV"}
@@ -9,20 +9,21 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SystemDeadLetterEvent = void 0;
13
- const event_decorators_1 = require("../decorators/event.decorators");
14
- let SystemDeadLetterEvent = class SystemDeadLetterEvent {
15
- constructor(data) {
16
- this.type = 'system.event.dead_letter';
17
- this.version = 1;
18
- if (data) {
19
- Object.assign(this, data);
20
- }
12
+ exports.HealthController = void 0;
13
+ const decorators_1 = require("../../core/decorators");
14
+ let HealthController = class HealthController {
15
+ getHealth() {
16
+ return { status: 'ok', timestamp: new Date().toISOString() };
21
17
  }
22
18
  };
23
- exports.SystemDeadLetterEvent = SystemDeadLetterEvent;
24
- exports.SystemDeadLetterEvent = SystemDeadLetterEvent = __decorate([
25
- (0, event_decorators_1.Event)('system.event.dead_letter'),
26
- __metadata("design:paramtypes", [Object])
27
- ], SystemDeadLetterEvent);
28
- //# sourceMappingURL=system.events.js.map
19
+ exports.HealthController = HealthController;
20
+ __decorate([
21
+ (0, decorators_1.Get)('/health'),
22
+ __metadata("design:type", Function),
23
+ __metadata("design:paramtypes", []),
24
+ __metadata("design:returntype", void 0)
25
+ ], HealthController.prototype, "getHealth", null);
26
+ exports.HealthController = HealthController = __decorate([
27
+ (0, decorators_1.Controller)('/api')
28
+ ], HealthController);
29
+ //# sourceMappingURL=health.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/health.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAuD;AAGhD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAE3B,SAAS;QACP,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;IAC9D,CAAC;CACF,CAAA;AALY,4CAAgB;AAE3B;IADC,IAAA,gBAAG,EAAC,SAAS,CAAC;;;;iDAGd;2BAJU,gBAAgB;IAD5B,IAAA,uBAAU,EAAC,MAAM,CAAC;GACN,gBAAgB,CAK5B"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ import { TodoService } from '../services/todo.service';
3
+ declare const todoSchema: z.ZodObject<{
4
+ text: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ text: string;
7
+ }, {
8
+ text: string;
9
+ }>;
10
+ export declare class TodoController {
11
+ private readonly todoService;
12
+ constructor(todoService: TodoService);
13
+ private logger;
14
+ getAllTodos(): {
15
+ id: string;
16
+ text: string;
17
+ completed: boolean;
18
+ }[];
19
+ getTodoById(id: string): {
20
+ id: string;
21
+ text: string;
22
+ completed: boolean;
23
+ };
24
+ createTodo(body: z.infer<typeof todoSchema>): {
25
+ id: string;
26
+ text: string;
27
+ completed: boolean;
28
+ };
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=todo.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.controller.d.ts","sourceRoot":"","sources":["../../../src/examples/controllers/todo.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAgBtD,QAAA,MAAM,UAAU;;;;;;EAIH,CAAA;AAQb,qBAEa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IACrD,OAAO,CAAC,MAAM,CAAgB;IAI9B,WAAW;;;;;IAUX,WAAW,CAAc,EAAE,EAAE,MAAM;;;;;IAoBnC,UAAU,CAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC;;;;;CAIpD"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TodoController = void 0;
16
+ const zod_1 = require("zod");
17
+ const decorators_1 = require("../../core/decorators");
18
+ const todo_service_1 = require("../services/todo.service");
19
+ const auth_middleware_1 = require("../../middleware/auth.middleware");
20
+ const di_container_1 = require("../../core/di-container");
21
+ const request_context_service_1 = require("../../core/request-context.service");
22
+ const decorators_2 = require("../../cache/decorators");
23
+ const decorators_3 = require("../../logging/core/decorators");
24
+ const createTodoSchema = {
25
+ body: zod_1.z
26
+ .object({
27
+ text: zod_1.z.string().min(1, 'Text cannot be empty'),
28
+ })
29
+ .required(),
30
+ };
31
+ const todoSchema = zod_1.z
32
+ .object({
33
+ text: zod_1.z.string().min(2, 'Text cannot be empty'),
34
+ })
35
+ .required();
36
+ const getTodoByIdSchema = {
37
+ params: zod_1.z.object({
38
+ id: zod_1.z.string().regex(/^\d+$/, 'ID must be a numeric string'),
39
+ }),
40
+ };
41
+ let TodoController = class TodoController {
42
+ constructor(todoService) {
43
+ this.todoService = todoService;
44
+ }
45
+ getAllTodos() {
46
+ const context = di_container_1.container.resolve(request_context_service_1.RequestContextService);
47
+ console.log(context.store());
48
+ this.logger.info('Hello from get all todo');
49
+ return this.todoService.getAllTodos();
50
+ }
51
+ getTodoById(id) {
52
+ this.logger.info('Hello from get todo by id');
53
+ return this.todoService.getTodoById(id);
54
+ }
55
+ createTodo(body) {
56
+ this.logger.info('Hello from create todo', body);
57
+ return this.todoService.createTodo(body.text);
58
+ }
59
+ };
60
+ exports.TodoController = TodoController;
61
+ __decorate([
62
+ (0, decorators_1.Get)('/'),
63
+ (0, decorators_1.UseMiddleware)(auth_middleware_1.authMiddleware),
64
+ __metadata("design:type", Function),
65
+ __metadata("design:paramtypes", []),
66
+ __metadata("design:returntype", void 0)
67
+ ], TodoController.prototype, "getAllTodos", null);
68
+ __decorate([
69
+ (0, decorators_1.Get)('/:id'),
70
+ (0, decorators_2.Cacheable)({ key: 'todo', ttl: 60 }),
71
+ __param(0, (0, decorators_1.Param)('id')),
72
+ __metadata("design:type", Function),
73
+ __metadata("design:paramtypes", [String]),
74
+ __metadata("design:returntype", void 0)
75
+ ], TodoController.prototype, "getTodoById", null);
76
+ __decorate([
77
+ (0, decorators_1.Post)('/'),
78
+ (0, decorators_3.Audit)({
79
+ action: 'create',
80
+ resource: 'todo',
81
+ }),
82
+ (0, decorators_1.Schema)({
83
+ body: todoSchema,
84
+ responses: {
85
+ 201: zod_1.z.object({
86
+ id: zod_1.z.string(),
87
+ text: zod_1.z.string(),
88
+ completed: zod_1.z.boolean(),
89
+ }),
90
+ },
91
+ }),
92
+ __param(0, (0, decorators_1.Body)()),
93
+ __metadata("design:type", Function),
94
+ __metadata("design:paramtypes", [void 0]),
95
+ __metadata("design:returntype", void 0)
96
+ ], TodoController.prototype, "createTodo", null);
97
+ exports.TodoController = TodoController = __decorate([
98
+ (0, decorators_3.Logger)(),
99
+ (0, decorators_1.Controller)('/todos'),
100
+ __metadata("design:paramtypes", [todo_service_1.TodoService])
101
+ ], TodoController);
102
+ //# sourceMappingURL=todo.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.controller.js","sourceRoot":"","sources":["../../../src/examples/controllers/todo.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAAuB;AACvB,sDAAiG;AACjG,2DAAsD;AACtD,sEAAiE;AACjE,0DAAmD;AACnD,gFAA0E;AAC1E,uDAAkD;AAClD,8DAA6D;AAG7D,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,OAAC;SACJ,MAAM,CAAC;QACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;KAChD,CAAC;SACD,QAAQ,EAAE;CACd,CAAA;AAED,MAAM,UAAU,GAAG,OAAC;KACjB,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;CAChD,CAAC;KACD,QAAQ,EAAE,CAAA;AAEb,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,6BAA6B,CAAC;KAC7D,CAAC;CACH,CAAA;AAIM,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAKzD,WAAW;QACT,MAAM,OAAO,GAAG,wBAAS,CAAC,OAAO,CAAwB,+CAAqB,CAAC,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAE5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAA;IACvC,CAAC;IAID,WAAW,CAAc,EAAU;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACzC,CAAC;IAiBD,UAAU,CAAS,IAAgC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA;QAChD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA;AAxCY,wCAAc;AAMzB;IAFC,IAAA,gBAAG,EAAC,GAAG,CAAC;IACR,IAAA,0BAAa,EAAC,gCAAc,CAAC;;;;iDAO7B;AAID;IAFC,IAAA,gBAAG,EAAC,MAAM,CAAC;IACX,IAAA,sBAAS,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACvB,WAAA,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAA;;;;iDAGvB;AAiBD;IAfC,IAAA,iBAAI,EAAC,GAAG,CAAC;IACT,IAAA,kBAAK,EAAC;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,MAAM;KACjB,CAAC;IACD,IAAA,mBAAM,EAAC;QACN,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE;YACT,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC;gBACZ,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;gBACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;gBAChB,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE;aACvB,CAAC;SACH;KACF,CAAC;IACU,WAAA,IAAA,iBAAI,GAAE,CAAA;;;;gDAGjB;yBAvCU,cAAc;IAF1B,IAAA,mBAAM,GAAE;IACR,IAAA,uBAAU,EAAC,QAAQ,CAAC;qCAEuB,0BAAW;GAD1C,cAAc,CAwC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TodoEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TodoEventHandler.d.ts","sourceRoot":"","sources":["../../../src/examples/events/TodoEventHandler.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const decorators_1 = require("../../core/decorators");
13
+ const decorators_2 = require("../../events/decorators");
14
+ const todo_events_1 = require("./todo.events");
15
+ let TodoEventHandler = class TodoEventHandler {
16
+ handle(event) {
17
+ console.log('TodoEventHandler', event);
18
+ console.log('TodoCreatedEvent', event);
19
+ }
20
+ };
21
+ __decorate([
22
+ (0, decorators_2.OnEvent)('todo.created'),
23
+ __metadata("design:type", Function),
24
+ __metadata("design:paramtypes", [todo_events_1.TodoCreatedEvent]),
25
+ __metadata("design:returntype", void 0)
26
+ ], TodoEventHandler.prototype, "handle", null);
27
+ TodoEventHandler = __decorate([
28
+ (0, decorators_1.Component)(),
29
+ (0, decorators_2.EventListener)()
30
+ ], TodoEventHandler);
31
+ //# sourceMappingURL=TodoEventHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TodoEventHandler.js","sourceRoot":"","sources":["../../../src/examples/events/TodoEventHandler.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sDAAiD;AACjD,wDAAgE;AAChE,+CAAgD;AAIhD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAEpB,MAAM,CAAC,KAAuB;QAC5B,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACF,CAAA;AAJC;IADC,IAAA,oBAAO,EAAC,cAAc,CAAC;;qCACV,8BAAgB;;8CAG7B;AALG,gBAAgB;IAFrB,IAAA,sBAAS,GAAE;IACX,IAAA,0BAAa,GAAE;GACV,gBAAgB,CAMrB"}
@@ -0,0 +1,16 @@
1
+ import { IEvent } from '../../events/event.types';
2
+ import './TodoEventHandler';
3
+ export declare class TodoCreatedEvent implements IEvent {
4
+ payload: {
5
+ id: string;
6
+ text: string;
7
+ createdAt: Date;
8
+ };
9
+ readonly type = "todo.created";
10
+ constructor(payload: {
11
+ id: string;
12
+ text: string;
13
+ createdAt: Date;
14
+ });
15
+ }
16
+ //# sourceMappingURL=todo.events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.events.d.ts","sourceRoot":"","sources":["../../../src/examples/events/todo.events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAGjD,OAAO,oBAAoB,CAAA;AAE3B,qBAAa,gBAAiB,YAAW,MAAM;IAG1B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE;IAFzE,QAAQ,CAAC,IAAI,kBAAiB;gBAEX,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE;CAC1E"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TodoCreatedEvent = void 0;
4
+ // This is our strongly-typed event class.
5
+ require("./TodoEventHandler");
6
+ class TodoCreatedEvent {
7
+ constructor(payload) {
8
+ this.payload = payload;
9
+ this.type = 'todo.created'; // Unique event identifier
10
+ }
11
+ }
12
+ exports.TodoCreatedEvent = TodoCreatedEvent;
13
+ //# sourceMappingURL=todo.events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.events.js","sourceRoot":"","sources":["../../../src/examples/events/todo.events.ts"],"names":[],"mappings":";;;AAEA,0CAA0C;AAC1C,8BAA2B;AAE3B,MAAa,gBAAgB;IAG3B,YAAmB,OAAsD;QAAtD,YAAO,GAAP,OAAO,CAA+C;QAFhE,SAAI,GAAG,cAAc,CAAA,CAAC,0BAA0B;IAEmB,CAAC;CAC9E;AAJD,4CAIC"}
@@ -0,0 +1,2 @@
1
+ import 'reflect-metadata';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("reflect-metadata");
4
+ const api_1 = require("../api");
5
+ const health_controller_1 = require("./controllers/health.controller");
6
+ const todo_controller_1 = require("./controllers/todo.controller");
7
+ const component_registry_1 = require("../core/component-registry");
8
+ const bootstrap_1 = require("../events/bootstrap");
9
+ const di_container_1 = require("../core/di-container");
10
+ const todo_service_1 = require("./services/todo.service");
11
+ const bootstrap_2 = require("../cache/bootstrap");
12
+ // import { createBootifyApp } from './api'
13
+ // import { HealthController } from './examples/controllers/health.controller'
14
+ // import { TodoController } from './examples/controllers/todo.controller'
15
+ // --- Application Startup ---
16
+ async function main() {
17
+ // await intitializeLogging()
18
+ const allComponents = Array.from(component_registry_1.registeredComponents);
19
+ await (0, bootstrap_1.bootstrapEventSystem)(allComponents);
20
+ await (0, bootstrap_2.bootstrapCache)();
21
+ const { start } = await (0, api_1.createBootifyApp)({
22
+ controllers: [health_controller_1.HealthController, todo_controller_1.TodoController],
23
+ enableSwagger: true,
24
+ port: 3000,
25
+ });
26
+ console.log('All components:', di_container_1.container.getRegisteredComponents());
27
+ const animal = di_container_1.container.resolve('Animal');
28
+ // console.log(animal)
29
+ const animalservice = di_container_1.container.resolve(todo_service_1.AnimalService);
30
+ console.log(animalservice.animal === animalservice.animal1);
31
+ console.log(animalservice.animal.name);
32
+ await start();
33
+ }
34
+ main();
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":";;AAAA,4BAAyB;AACzB,gCAAyC;AACzC,uEAAkE;AAClE,mEAA8D;AAC9D,mEAAiE;AACjE,mDAA0D;AAC1D,uDAAgD;AAChD,0DAA+D;AAC/D,kDAAmD;AAEnD,2CAA2C;AAC3C,8EAA8E;AAC9E,0EAA0E;AAE1E,8BAA8B;AAC9B,KAAK,UAAU,IAAI;IACjB,+BAA+B;IAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,yCAAoB,CAAC,CAAA;IACtD,MAAM,IAAA,gCAAoB,EAAC,aAAa,CAAC,CAAA;IACzC,MAAM,IAAA,0BAAc,GAAE,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,sBAAgB,EAAC;QACvC,WAAW,EAAE,CAAC,oCAAgB,EAAE,gCAAc,CAAC;QAC/C,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,wBAAS,CAAC,uBAAuB,EAAE,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,wBAAS,CAAC,OAAO,CAAS,QAAQ,CAAC,CAAA;IAElD,wBAAwB;IACxB,MAAM,aAAa,GAAkB,wBAAS,CAAC,OAAO,CAAgB,4BAAa,CAAC,CAAA;IACpF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,OAAO,CAAC,CAAA;IAC3D,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAEtC,MAAM,KAAK,EAAE,CAAA;AACf,CAAC;AAED,IAAI,EAAE,CAAA"}
@@ -0,0 +1,20 @@
1
+ export declare class TodoRepository {
2
+ private todos;
3
+ private nextId;
4
+ findAll(): {
5
+ id: string;
6
+ text: string;
7
+ completed: boolean;
8
+ }[];
9
+ findById(id: string): {
10
+ id: string;
11
+ text: string;
12
+ completed: boolean;
13
+ } | undefined;
14
+ create(text: string): {
15
+ id: string;
16
+ text: string;
17
+ completed: boolean;
18
+ };
19
+ }
20
+ //# sourceMappingURL=todo.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.repository.d.ts","sourceRoot":"","sources":["../../../src/examples/repositories/todo.repository.ts"],"names":[],"mappings":"AAEA,qBACa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA2E;IACxF,OAAO,CAAC,MAAM,CAAI;IAElB,OAAO;YAH0B,MAAM;cAAQ,MAAM;mBAAa,OAAO;;IAOzE,QAAQ,CAAC,EAAE,EAAE,MAAM;YAPc,MAAM;cAAQ,MAAM;mBAAa,OAAO;;IAWzE,MAAM,CAAC,IAAI,EAAE,MAAM;;;;;CAMpB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TodoRepository = void 0;
10
+ const decorators_1 = require("../../core/decorators");
11
+ let TodoRepository = class TodoRepository {
12
+ constructor() {
13
+ this.todos = new Map();
14
+ this.nextId = 1;
15
+ }
16
+ findAll() {
17
+ return Array.from(this.todos.values());
18
+ }
19
+ findById(id) {
20
+ return this.todos.get(id);
21
+ }
22
+ create(text) {
23
+ const id = (this.nextId++).toString();
24
+ const todo = { id, text, completed: false };
25
+ this.todos.set(id, todo);
26
+ return todo;
27
+ }
28
+ };
29
+ exports.TodoRepository = TodoRepository;
30
+ exports.TodoRepository = TodoRepository = __decorate([
31
+ (0, decorators_1.Repository)()
32
+ ], TodoRepository);
33
+ //# sourceMappingURL=todo.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.repository.js","sourceRoot":"","sources":["../../../src/examples/repositories/todo.repository.ts"],"names":[],"mappings":";;;;;;;;;AAAA,sDAAkD;AAG3C,IAAM,cAAc,GAApB,MAAM,cAAc;IAApB;QACG,UAAK,GAAkE,IAAI,GAAG,EAAE,CAAA;QAChF,WAAM,GAAG,CAAC,CAAA;IAgBpB,CAAC;IAdC,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QACrC,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAlBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,uBAAU,GAAE;GACA,cAAc,CAkB1B"}
@@ -0,0 +1,33 @@
1
+ export declare class TodoService {
2
+ private readonly eventBus;
3
+ private readonly repository;
4
+ getAllTodos(): {
5
+ id: string;
6
+ text: string;
7
+ completed: boolean;
8
+ }[];
9
+ getTodoById(id: string): {
10
+ id: string;
11
+ text: string;
12
+ completed: boolean;
13
+ };
14
+ createTodo(text: string): {
15
+ id: string;
16
+ text: string;
17
+ completed: boolean;
18
+ };
19
+ }
20
+ export interface Animal {
21
+ name: string;
22
+ sound(): void;
23
+ }
24
+ export declare class Dog implements Animal {
25
+ name: string;
26
+ sound(): void;
27
+ }
28
+ export declare class AnimalService {
29
+ readonly animal: Animal;
30
+ animal1: Animal;
31
+ constructor(animal: Animal);
32
+ }
33
+ //# sourceMappingURL=todo.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.service.d.ts","sourceRoot":"","sources":["../../../src/examples/services/todo.service.ts"],"names":[],"mappings":"AAKA,qBACa,WAAW;IAItB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAG3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAE5C,WAAW;;;;;IAIX,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;IAUtB,UAAU,CAAC,IAAI,EAAE,MAAM;;;;;CAKxB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,IAAI,IAAI,CAAA;CACd;AAED,qBAGa,GAAI,YAAW,MAAM;IAChC,IAAI,EAAE,MAAM,CAAa;IACzB,KAAK,IAAI,IAAI;CAGd;AAED,qBACa,aAAa;aAGyB,MAAM,EAAE,MAAM;IADxD,OAAO,EAAG,MAAM,CAAA;gBAC0B,MAAM,EAAE,MAAM;CAChE"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AnimalService = exports.Dog = exports.TodoService = void 0;
16
+ const decorators_1 = require("../../core/decorators");
17
+ const event_bus_service_1 = require("../../events/event-bus.service");
18
+ const todo_events_1 = require("../events/todo.events");
19
+ const todo_repository_1 = require("../repositories/todo.repository");
20
+ let TodoService = class TodoService {
21
+ getAllTodos() {
22
+ return this.repository.findAll();
23
+ }
24
+ getTodoById(id) {
25
+ const todo = this.repository.findById(id);
26
+ if (!todo) {
27
+ const error = new Error('Todo not found');
28
+ error.statusCode = 404;
29
+ throw error;
30
+ }
31
+ return todo;
32
+ }
33
+ createTodo(text) {
34
+ const newTodo = this.repository.create(text);
35
+ this.eventBus.emit(new todo_events_1.TodoCreatedEvent({ ...newTodo, createdAt: new Date() }));
36
+ return newTodo;
37
+ }
38
+ };
39
+ exports.TodoService = TodoService;
40
+ __decorate([
41
+ (0, decorators_1.Autowired)(),
42
+ __metadata("design:type", event_bus_service_1.EventBusService)
43
+ ], TodoService.prototype, "eventBus", void 0);
44
+ __decorate([
45
+ (0, decorators_1.Autowired)(),
46
+ __metadata("design:type", todo_repository_1.TodoRepository)
47
+ ], TodoService.prototype, "repository", void 0);
48
+ exports.TodoService = TodoService = __decorate([
49
+ (0, decorators_1.Service)()
50
+ ], TodoService);
51
+ let Dog = class Dog {
52
+ constructor() {
53
+ this.name = 'Good Dog';
54
+ }
55
+ sound() {
56
+ throw new Error('Method not implemented.');
57
+ }
58
+ };
59
+ exports.Dog = Dog;
60
+ exports.Dog = Dog = __decorate([
61
+ (0, decorators_1.Component)({
62
+ bindTo: ['Animal'],
63
+ })
64
+ ], Dog);
65
+ let AnimalService = class AnimalService {
66
+ constructor(animal) {
67
+ this.animal = animal;
68
+ }
69
+ };
70
+ exports.AnimalService = AnimalService;
71
+ __decorate([
72
+ (0, decorators_1.Autowired)('Animal'),
73
+ __metadata("design:type", Object)
74
+ ], AnimalService.prototype, "animal1", void 0);
75
+ exports.AnimalService = AnimalService = __decorate([
76
+ (0, decorators_1.Component)(),
77
+ __param(0, (0, decorators_1.Autowired)('Animal')),
78
+ __metadata("design:paramtypes", [Object])
79
+ ], AnimalService);
80
+ //# sourceMappingURL=todo.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.service.js","sourceRoot":"","sources":["../../../src/examples/services/todo.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAAqE;AACrE,sEAAgE;AAChE,uDAAwD;AACxD,qEAAgE;AAGzD,IAAM,WAAW,GAAjB,MAAM,WAAW;IAStB,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,KAAK,GAAQ,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YAC9C,KAAK,CAAC,UAAU,GAAG,GAAG,CAAA;YACtB,MAAM,KAAK,CAAA;QACb,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,8BAAgB,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/E,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA;AA5BY,kCAAW;AAIL;IADhB,IAAA,sBAAS,GAAE;8BACgB,mCAAe;6CAAA;AAG1B;IADhB,IAAA,sBAAS,GAAE;8BACkB,gCAAc;+CAAA;sBAPjC,WAAW;IADvB,IAAA,oBAAO,GAAE;GACG,WAAW,CA4BvB;AAUM,IAAM,GAAG,GAAT,MAAM,GAAG;IAAT;QACL,SAAI,GAAW,UAAU,CAAA;IAI3B,CAAC;IAHC,KAAK;QACH,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF,CAAA;AALY,kBAAG;cAAH,GAAG;IAHf,IAAA,sBAAS,EAAC;QACT,MAAM,EAAE,CAAC,QAAQ,CAAC;KACnB,CAAC;GACW,GAAG,CAKf;AAGM,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGxB,YAAiD,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;CACpE,CAAA;AAJY,sCAAa;AAEjB;IADN,IAAA,sBAAS,EAAC,QAAQ,CAAC;;8CACG;wBAFZ,aAAa;IADzB,IAAA,sBAAS,GAAE;IAIG,WAAA,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAA;;GAHrB,aAAa,CAIzB"}