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.
- package/dist/api.d.ts +8 -27
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +68 -134
- package/dist/api.js.map +1 -1
- package/dist/cache/bootstrap.d.ts +6 -0
- package/dist/cache/bootstrap.d.ts.map +1 -0
- package/dist/cache/bootstrap.js +23 -0
- package/dist/cache/bootstrap.js.map +1 -0
- package/dist/cache/cache.service.d.ts +9 -0
- package/dist/cache/cache.service.d.ts.map +1 -0
- package/dist/cache/cache.service.js +40 -0
- package/dist/cache/cache.service.js.map +1 -0
- package/dist/cache/cache.types.d.ts +14 -0
- package/dist/cache/cache.types.d.ts.map +1 -0
- package/dist/cache/cache.types.js +8 -0
- package/dist/cache/cache.types.js.map +1 -0
- package/dist/cache/decorators.d.ts +12 -0
- package/dist/cache/decorators.d.ts.map +1 -0
- package/dist/cache/decorators.js +53 -0
- package/dist/cache/decorators.js.map +1 -0
- package/dist/cache/in-memory-cache.store.d.ts +8 -0
- package/dist/cache/in-memory-cache.store.d.ts.map +1 -0
- package/dist/cache/in-memory-cache.store.js +39 -0
- package/dist/cache/in-memory-cache.store.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +21 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/core/component-registry.d.ts +7 -0
- package/dist/core/component-registry.d.ts.map +1 -0
- package/dist/core/component-registry.js +9 -0
- package/dist/core/component-registry.js.map +1 -0
- package/dist/core/decorators.d.ts +38 -22
- package/dist/core/decorators.d.ts.map +1 -0
- package/dist/core/decorators.js +155 -174
- package/dist/core/decorators.js.map +1 -1
- package/dist/core/di-container.d.ts +31 -0
- package/dist/core/di-container.d.ts.map +1 -0
- package/dist/core/di-container.js +219 -0
- package/dist/core/di-container.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +21 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/request-context.service.d.ts +24 -0
- package/dist/core/request-context.service.d.ts.map +1 -0
- package/dist/core/request-context.service.js +52 -0
- package/dist/core/request-context.service.js.map +1 -0
- package/dist/core/router.d.ts +4 -32
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +81 -258
- package/dist/core/router.js.map +1 -1
- package/dist/events/bootstrap.d.ts +8 -0
- package/dist/events/bootstrap.d.ts.map +1 -0
- package/dist/events/bootstrap.js +37 -0
- package/dist/events/bootstrap.js.map +1 -0
- package/dist/events/decorators.d.ts +16 -0
- package/dist/events/decorators.d.ts.map +1 -0
- package/dist/events/decorators.js +37 -0
- package/dist/events/decorators.js.map +1 -0
- package/dist/events/event-bus.service.d.ts +21 -0
- package/dist/events/event-bus.service.d.ts.map +1 -0
- package/dist/events/event-bus.service.js +78 -0
- package/dist/events/event-bus.service.js.map +1 -0
- package/dist/events/event.types.d.ts +17 -0
- package/dist/events/event.types.d.ts.map +1 -0
- package/dist/events/event.types.js.map +1 -0
- package/dist/events/index.d.ts +5 -13
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +4 -54
- package/dist/events/index.js.map +1 -1
- package/dist/examples/controllers/health.controller.d.ts +7 -0
- package/dist/examples/controllers/health.controller.d.ts.map +1 -0
- package/dist/{events/examples/system.events.js → examples/controllers/health.controller.js} +16 -15
- package/dist/examples/controllers/health.controller.js.map +1 -0
- package/dist/examples/controllers/todo.controller.d.ts +31 -0
- package/dist/examples/controllers/todo.controller.d.ts.map +1 -0
- package/dist/examples/controllers/todo.controller.js +102 -0
- package/dist/examples/controllers/todo.controller.js.map +1 -0
- package/dist/examples/events/TodoEventHandler.d.ts +2 -0
- package/dist/examples/events/TodoEventHandler.d.ts.map +1 -0
- package/dist/examples/events/TodoEventHandler.js +31 -0
- package/dist/examples/events/TodoEventHandler.js.map +1 -0
- package/dist/examples/events/todo.events.d.ts +16 -0
- package/dist/examples/events/todo.events.d.ts.map +1 -0
- package/dist/examples/events/todo.events.js +13 -0
- package/dist/examples/events/todo.events.js.map +1 -0
- package/dist/examples/index.d.ts +2 -0
- package/dist/examples/index.d.ts.map +1 -0
- package/dist/examples/index.js +35 -0
- package/dist/examples/index.js.map +1 -0
- package/dist/examples/repositories/todo.repository.d.ts +20 -0
- package/dist/examples/repositories/todo.repository.d.ts.map +1 -0
- package/dist/examples/repositories/todo.repository.js +33 -0
- package/dist/examples/repositories/todo.repository.js.map +1 -0
- package/dist/examples/services/todo.service.d.ts +33 -0
- package/dist/examples/services/todo.service.d.ts.map +1 -0
- package/dist/examples/services/todo.service.js +80 -0
- package/dist/examples/services/todo.service.js.map +1 -0
- package/dist/examples/todos/schema.d.ts +54 -0
- package/dist/examples/todos/schema.d.ts.map +1 -0
- package/dist/examples/todos/schema.js +20 -0
- package/dist/examples/todos/schema.js.map +1 -0
- package/dist/index.d.ts +7 -17
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -95
- package/dist/index.js.map +1 -1
- package/dist/logging/config/logging.config.d.ts +31 -3
- package/dist/logging/config/logging.config.d.ts.map +1 -0
- package/dist/logging/config/logging.config.js +43 -93
- package/dist/logging/config/logging.config.js.map +1 -1
- package/dist/logging/core/decorators.d.ts +16 -0
- package/dist/logging/core/decorators.d.ts.map +1 -0
- package/dist/logging/core/decorators.js +74 -0
- package/dist/logging/core/decorators.js.map +1 -0
- package/dist/logging/core/logger.provider.d.ts +4 -0
- package/dist/logging/core/logger.provider.d.ts.map +1 -0
- package/dist/logging/core/logger.provider.js +68 -0
- package/dist/logging/core/logger.provider.js.map +1 -0
- package/dist/logging/core/logger.service.d.ts +9 -27
- package/dist/logging/core/logger.service.d.ts.map +1 -0
- package/dist/logging/core/logger.service.js +34 -164
- package/dist/logging/core/logger.service.js.map +1 -1
- package/dist/logging/core/{startup-logger.service.d.ts → startup.logger.d.ts} +4 -6
- package/dist/logging/core/startup.logger.d.ts.map +1 -0
- package/dist/logging/core/{startup-logger.service.js → startup.logger.js} +36 -42
- package/dist/logging/core/startup.logger.js.map +1 -0
- package/dist/logging/index.d.ts +7 -14
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +17 -28
- package/dist/logging/index.js.map +1 -1
- package/dist/middleware/auth.middleware.d.ts +3 -0
- package/dist/middleware/auth.middleware.d.ts.map +1 -0
- package/dist/middleware/auth.middleware.js +18 -0
- package/dist/middleware/auth.middleware.js.map +1 -0
- package/dist/middleware/context.middleware.d.ts +7 -0
- package/dist/middleware/context.middleware.d.ts.map +1 -0
- package/dist/middleware/context.middleware.js +25 -0
- package/dist/middleware/context.middleware.js.map +1 -0
- package/dist/middleware/index.d.ts +4 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +20 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/request-logger.middleware.d.ts +4 -0
- package/dist/middleware/request-logger.middleware.d.ts.map +1 -0
- package/dist/middleware/request-logger.middleware.js +18 -0
- package/dist/middleware/request-logger.middleware.js.map +1 -0
- package/package.json +52 -47
- package/LICENSE +0 -21
- package/README.md +0 -423
- package/dist/config/app.config.d.ts +0 -29
- package/dist/config/app.config.js +0 -55
- package/dist/config/app.config.js.map +0 -1
- package/dist/controllers/config.controller.d.ts +0 -16
- package/dist/controllers/config.controller.js +0 -66
- package/dist/controllers/config.controller.js.map +0 -1
- package/dist/controllers/events.controller.d.ts +0 -66
- package/dist/controllers/events.controller.js +0 -145
- package/dist/controllers/events.controller.js.map +0 -1
- package/dist/controllers/health.controller.d.ts +0 -20
- package/dist/controllers/health.controller.js +0 -92
- package/dist/controllers/health.controller.js.map +0 -1
- package/dist/controllers/user.controller.d.ts +0 -13
- package/dist/controllers/user.controller.js +0 -209
- package/dist/controllers/user.controller.js.map +0 -1
- package/dist/core/application.d.ts +0 -21
- package/dist/core/application.js +0 -90
- package/dist/core/application.js.map +0 -1
- package/dist/core/config.d.ts +0 -3
- package/dist/core/config.js +0 -78
- package/dist/core/config.js.map +0 -1
- package/dist/core/container.d.ts +0 -17
- package/dist/core/container.js +0 -92
- package/dist/core/container.js.map +0 -1
- package/dist/core/errors.d.ts +0 -18
- package/dist/core/errors.js +0 -74
- package/dist/core/errors.js.map +0 -1
- package/dist/core/middleware.d.ts +0 -8
- package/dist/core/middleware.js +0 -23
- package/dist/core/middleware.js.map +0 -1
- package/dist/core/openapi.d.ts +0 -80
- package/dist/core/openapi.js +0 -189
- package/dist/core/openapi.js.map +0 -1
- package/dist/core/utils.d.ts +0 -7
- package/dist/core/utils.js +0 -75
- package/dist/core/utils.js.map +0 -1
- package/dist/core/validation.d.ts +0 -15
- package/dist/core/validation.js +0 -161
- package/dist/core/validation.js.map +0 -1
- package/dist/events/core/event-bus.d.ts +0 -26
- package/dist/events/core/event-bus.js +0 -253
- package/dist/events/core/event-bus.js.map +0 -1
- package/dist/events/core/event-registry.d.ts +0 -31
- package/dist/events/core/event-registry.js +0 -170
- package/dist/events/core/event-registry.js.map +0 -1
- package/dist/events/decorators/event.decorators.d.ts +0 -11
- package/dist/events/decorators/event.decorators.js +0 -123
- package/dist/events/decorators/event.decorators.js.map +0 -1
- package/dist/events/examples/system.events.d.ts +0 -15
- package/dist/events/examples/system.events.js.map +0 -1
- package/dist/events/examples/user.events.d.ts +0 -68
- package/dist/events/examples/user.events.js +0 -73
- package/dist/events/examples/user.events.js.map +0 -1
- package/dist/events/examples/user.handlers.d.ts +0 -20
- package/dist/events/examples/user.handlers.js +0 -157
- package/dist/events/examples/user.handlers.js.map +0 -1
- package/dist/events/middleware/logging.middleware.d.ts +0 -7
- package/dist/events/middleware/logging.middleware.js +0 -44
- package/dist/events/middleware/logging.middleware.js.map +0 -1
- package/dist/events/middleware/metrics.middleware.d.ts +0 -11
- package/dist/events/middleware/metrics.middleware.js +0 -87
- package/dist/events/middleware/metrics.middleware.js.map +0 -1
- package/dist/events/middleware/validation.middleware.d.ts +0 -8
- package/dist/events/middleware/validation.middleware.js +0 -63
- package/dist/events/middleware/validation.middleware.js.map +0 -1
- package/dist/events/store/memory-event-store.d.ts +0 -21
- package/dist/events/store/memory-event-store.js +0 -81
- package/dist/events/store/memory-event-store.js.map +0 -1
- package/dist/events/types/event.types.d.ts +0 -57
- package/dist/events/types/event.types.js.map +0 -1
- package/dist/examples/basic-api.d.ts +0 -1
- package/dist/examples/basic-api.js +0 -120
- package/dist/examples/basic-api.js.map +0 -1
- package/dist/logging/core/log-context.service.d.ts +0 -11
- package/dist/logging/core/log-context.service.js +0 -40
- package/dist/logging/core/log-context.service.js.map +0 -1
- package/dist/logging/core/startup-logger.service.js.map +0 -1
- package/dist/logging/decorators/log.decorator.d.ts +0 -11
- package/dist/logging/decorators/log.decorator.js +0 -80
- package/dist/logging/decorators/log.decorator.js.map +0 -1
- package/dist/logging/middleware/context.middleware.d.ts +0 -2
- package/dist/logging/middleware/context.middleware.js +0 -29
- package/dist/logging/middleware/context.middleware.js.map +0 -1
- package/dist/logging/middleware/request-logging.middleware.d.ts +0 -3
- package/dist/logging/middleware/request-logging.middleware.js +0 -78
- package/dist/logging/middleware/request-logging.middleware.js.map +0 -1
- package/dist/logging/types/logging.types.d.ts +0 -79
- package/dist/logging/types/logging.types.js +0 -3
- package/dist/logging/types/logging.types.js.map +0 -1
- package/dist/middlewares/auth.middleware.d.ts +0 -2
- package/dist/middlewares/auth.middleware.js +0 -20
- package/dist/middlewares/auth.middleware.js.map +0 -1
- package/dist/middlewares/cors.middleware.d.ts +0 -2
- package/dist/middlewares/cors.middleware.js +0 -16
- package/dist/middlewares/cors.middleware.js.map +0 -1
- package/dist/middlewares/swagger.middleware.d.ts +0 -6
- package/dist/middlewares/swagger.middleware.js +0 -84
- package/dist/middlewares/swagger.middleware.js.map +0 -1
- package/dist/repositories/user.repository.d.ts +0 -16
- package/dist/repositories/user.repository.js +0 -110
- package/dist/repositories/user.repository.js.map +0 -1
- package/dist/schemas/user.schemas.d.ts +0 -214
- package/dist/schemas/user.schemas.js +0 -71
- package/dist/schemas/user.schemas.js.map +0 -1
- package/dist/services/config-demo.service.d.ts +0 -10
- package/dist/services/config-demo.service.js +0 -88
- package/dist/services/config-demo.service.js.map +0 -1
- package/dist/services/user.service.d.ts +0 -21
- package/dist/services/user.service.js +0 -201
- package/dist/services/user.service.js.map +0 -1
- /package/dist/events/{types/event.types.js → event.types.js} +0 -0
@@ -0,0 +1,219 @@
|
|
1
|
+
"use strict";
|
2
|
+
// import 'reflect-metadata'
|
3
|
+
// import { METADATA_KEYS } from './decorators'
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
5
|
+
exports.container = exports.Container = exports.eagerIdentifiers = exports.Scope = void 0;
|
6
|
+
// export type Constructor<T = any> = new (...args: any[]) => T
|
7
|
+
// export type DiToken = any
|
8
|
+
var Scope;
|
9
|
+
(function (Scope) {
|
10
|
+
Scope["SINGLETON"] = "singleton";
|
11
|
+
Scope["TRANSIENT"] = "transient";
|
12
|
+
})(Scope || (exports.Scope = Scope = {}));
|
13
|
+
// // The definition now clearly separates the token from the class to instantiate
|
14
|
+
// interface ServiceDefinition {
|
15
|
+
// useClass: Constructor
|
16
|
+
// scope: Scope
|
17
|
+
// instance?: any
|
18
|
+
// }
|
19
|
+
// export interface RegistrationOptions {
|
20
|
+
// useClass: Constructor
|
21
|
+
// scope?: Scope
|
22
|
+
// }
|
23
|
+
// export class Container {
|
24
|
+
// private services = new Map<DiToken, ServiceDefinition>()
|
25
|
+
// private resolving = new Set<DiToken>()
|
26
|
+
// // The register method is now more powerful
|
27
|
+
// register(token: DiToken, options: RegistrationOptions): void {
|
28
|
+
// if (!this.services.has(token)) {
|
29
|
+
// this.services.set(token, {
|
30
|
+
// useClass: options.useClass,
|
31
|
+
// scope: options.scope || Scope.SINGLETON,
|
32
|
+
// })
|
33
|
+
// }
|
34
|
+
// console.log(this.services)
|
35
|
+
// }
|
36
|
+
// // resolve<T>(token: DiToken): T {
|
37
|
+
// // const serviceDef = this.services.get(token)
|
38
|
+
// // console.log('serviceDef', serviceDef, token)
|
39
|
+
// // if (!serviceDef) {
|
40
|
+
// // throw new Error(`Service with token '${String(token)}' is not registered.`)
|
41
|
+
// // }
|
42
|
+
// // if (this.resolving.has(token)) {
|
43
|
+
// // throw new Error(`Circular dependency detected for token '${String(token)}'.`)
|
44
|
+
// // }
|
45
|
+
// // if (serviceDef.scope === Scope.SINGLETON && serviceDef.instance) {
|
46
|
+
// // return serviceDef.instance
|
47
|
+
// // }
|
48
|
+
// // this.resolving.add(token)
|
49
|
+
// // try {
|
50
|
+
// // // We always instantiate using serviceDef.useClass
|
51
|
+
// // const ConcreteClass = serviceDef.useClass
|
52
|
+
// // const constructorDeps = Reflect.getMetadata('design:paramtypes', ConcreteClass) || []
|
53
|
+
// // const constructorArgs = constructorDeps.map((dep: Constructor) => this.resolve(dep))
|
54
|
+
// // const instance = new ConcreteClass(...constructorArgs)
|
55
|
+
// // const autowiredProperties =
|
56
|
+
// // Reflect.getMetadata(METADATA_KEYS.autowiredProperties, ConcreteClass) || []
|
57
|
+
// // for (const prop of autowiredProperties) {
|
58
|
+
// // // Resolve the dependency using its registered token (which could be a class or a symbol)
|
59
|
+
// // const dependencyToken = prop.token || prop.type
|
60
|
+
// // const dependencyToInject = this.resolve(dependencyToken)
|
61
|
+
// // ;(instance as any)[prop.propertyKey] = dependencyToInject
|
62
|
+
// // }
|
63
|
+
// // if (serviceDef.scope === Scope.SINGLETON) {
|
64
|
+
// // serviceDef.instance = instance
|
65
|
+
// // }
|
66
|
+
// // return instance
|
67
|
+
// // } finally {
|
68
|
+
// // this.resolving.delete(token)
|
69
|
+
// // }
|
70
|
+
// // }
|
71
|
+
// public getRegisteredComponents(): Constructor[] {
|
72
|
+
// const definitions = Array.from(this.services.values())
|
73
|
+
// // Use a Set to automatically handle duplicates, as multiple tokens
|
74
|
+
// // can point to the same class constructor.
|
75
|
+
// console.log('definitions', definitions)
|
76
|
+
// const uniqueConstructors = new Set(definitions.map((def) => def.useClass))
|
77
|
+
// return Array.from(uniqueConstructors)
|
78
|
+
// }
|
79
|
+
// public resolve<T>(token: DiToken): T {
|
80
|
+
// const serviceDef = this.services.get(token)
|
81
|
+
// if (!serviceDef) {
|
82
|
+
// throw new Error(`[DI] Service with token '${String(token)}' is not registered.`)
|
83
|
+
// }
|
84
|
+
// if (this.resolving.has(token)) {
|
85
|
+
// throw new Error(`[DI] Circular dependency detected for token '${String(token)}'.`)
|
86
|
+
// }
|
87
|
+
// if (serviceDef.scope === Scope.SINGLETON && serviceDef.instance) {
|
88
|
+
// return serviceDef.instance
|
89
|
+
// }
|
90
|
+
// this.resolving.add(token)
|
91
|
+
// try {
|
92
|
+
// const ConcreteClass = serviceDef.useClass
|
93
|
+
// // --- This is the implementation you are looking for ---
|
94
|
+
// // 1. Get both sets of metadata for the constructor.
|
95
|
+
// const constructorParamTypes = Reflect.getMetadata('design:paramtypes', ConcreteClass) || []
|
96
|
+
// const autowiredParamTokens =
|
97
|
+
// Reflect.getMetadata(METADATA_KEYS.autowiredParams, ConcreteClass) || []
|
98
|
+
// // 2. Resolve constructor arguments by prioritizing the @Autowired token.
|
99
|
+
// const constructorArgs = constructorParamTypes.map((paramType: any, index: number) => {
|
100
|
+
// // If an @Autowired(TOKEN) was used on this parameter, use that token.
|
101
|
+
// // Otherwise, fall back to the type inferred by reflect-metadata.
|
102
|
+
// const tokenToResolve = autowiredParamTokens[index] || paramType
|
103
|
+
// // Prevent trying to resolve primitive types like String, Number, etc.
|
104
|
+
// if ([String, Number, Boolean, Object].includes(tokenToResolve)) {
|
105
|
+
// // This check prevents the "String is not registered" error.
|
106
|
+
// return undefined
|
107
|
+
// }
|
108
|
+
// // Recursively resolve the dependency.
|
109
|
+
// return this.resolve(tokenToResolve)
|
110
|
+
// })
|
111
|
+
// // 3. Instantiate the Class with the resolved dependencies.
|
112
|
+
// const instance = new ConcreteClass(...constructorArgs)
|
113
|
+
// // 4. Perform Property (Field) Injection.
|
114
|
+
// const autowiredProperties =
|
115
|
+
// Reflect.getMetadata(METADATA_KEYS.autowiredProperties, ConcreteClass) || []
|
116
|
+
// for (const prop of autowiredProperties) {
|
117
|
+
// ;(instance as any)[prop.propertyKey] = this.resolve(prop.token)
|
118
|
+
// }
|
119
|
+
// if (serviceDef.scope === Scope.SINGLETON) {
|
120
|
+
// serviceDef.instance = instance
|
121
|
+
// }
|
122
|
+
// return instance
|
123
|
+
// } finally {
|
124
|
+
// this.resolving.delete(token)
|
125
|
+
// }
|
126
|
+
// }
|
127
|
+
// public isRegistered(token: DiToken): boolean {
|
128
|
+
// return this.services.has(token)
|
129
|
+
// }
|
130
|
+
// }
|
131
|
+
// export const container = new Container()
|
132
|
+
require("reflect-metadata");
|
133
|
+
const decorators_1 = require("./decorators");
|
134
|
+
// --- Eager Loading Registry ---
|
135
|
+
exports.eagerIdentifiers = new Set();
|
136
|
+
// --- The Container Class ---
|
137
|
+
class Container {
|
138
|
+
constructor() {
|
139
|
+
this.services = new Map();
|
140
|
+
this.resolving = new Set();
|
141
|
+
}
|
142
|
+
register(token, options) {
|
143
|
+
if (!options.useClass && !options.useFactory) {
|
144
|
+
throw new Error(`[DI] Registration for token '${String(token)}' requires 'useClass' or 'useFactory'.`);
|
145
|
+
}
|
146
|
+
this.services.set(token, {
|
147
|
+
useClass: options.useClass,
|
148
|
+
useFactory: options.useFactory,
|
149
|
+
scope: options.scope || 'Singleton',
|
150
|
+
});
|
151
|
+
}
|
152
|
+
resolve(token) {
|
153
|
+
const serviceDef = this.services.get(token);
|
154
|
+
if (!serviceDef) {
|
155
|
+
throw new Error(`[DI] Service with token '${String(token)}' is not registered.`);
|
156
|
+
}
|
157
|
+
if (this.resolving.has(token)) {
|
158
|
+
throw new Error(`[DI] Circular dependency detected for token '${String(token)}'.`);
|
159
|
+
}
|
160
|
+
if (serviceDef.scope === 'Singleton' && serviceDef.instance) {
|
161
|
+
return serviceDef.instance;
|
162
|
+
}
|
163
|
+
this.resolving.add(token);
|
164
|
+
try {
|
165
|
+
let instance;
|
166
|
+
// --- ENHANCED: Handle factory providers first ---
|
167
|
+
if (serviceDef.useFactory) {
|
168
|
+
instance = serviceDef.useFactory();
|
169
|
+
}
|
170
|
+
else if (serviceDef.useClass) {
|
171
|
+
// Fallback to class-based instantiation
|
172
|
+
const ConcreteClass = serviceDef.useClass;
|
173
|
+
const constructorArgs = this.resolveConstructorArgs(ConcreteClass);
|
174
|
+
instance = new ConcreteClass(...constructorArgs);
|
175
|
+
this.performPropertyInjection(instance, ConcreteClass);
|
176
|
+
}
|
177
|
+
else {
|
178
|
+
// This case should be prevented by the check in .register()
|
179
|
+
throw new Error(`[DI] No valid provider for token '${String(token)}'.`);
|
180
|
+
}
|
181
|
+
if (serviceDef.scope === 'Singleton') {
|
182
|
+
serviceDef.instance = instance;
|
183
|
+
}
|
184
|
+
return instance;
|
185
|
+
}
|
186
|
+
finally {
|
187
|
+
this.resolving.delete(token);
|
188
|
+
}
|
189
|
+
}
|
190
|
+
resolveConstructorArgs(ConcreteClass) {
|
191
|
+
const constructorParamTypes = Reflect.getMetadata('design:paramtypes', ConcreteClass) || [];
|
192
|
+
const autowiredParamTokens = Reflect.getMetadata(decorators_1.METADATA_KEYS.autowiredParams, ConcreteClass) || [];
|
193
|
+
return constructorParamTypes.map((paramType, index) => {
|
194
|
+
const tokenToResolve = autowiredParamTokens[index] || paramType;
|
195
|
+
if (!tokenToResolve || [String, Number, Boolean, Object].includes(tokenToResolve)) {
|
196
|
+
return undefined;
|
197
|
+
}
|
198
|
+
return this.resolve(tokenToResolve);
|
199
|
+
});
|
200
|
+
}
|
201
|
+
performPropertyInjection(instance, ConcreteClass) {
|
202
|
+
const autowiredProperties = Reflect.getMetadata(decorators_1.METADATA_KEYS.autowiredProperties, ConcreteClass) || [];
|
203
|
+
for (const prop of autowiredProperties) {
|
204
|
+
;
|
205
|
+
instance[prop.propertyKey] = this.resolve(prop.token);
|
206
|
+
}
|
207
|
+
}
|
208
|
+
getRegisteredComponents() {
|
209
|
+
const definitions = Array.from(this.services.values());
|
210
|
+
const classDefs = definitions.filter((def) => def.useClass).map((def) => def.useClass);
|
211
|
+
return Array.from(new Set(classDefs));
|
212
|
+
}
|
213
|
+
isRegistered(token) {
|
214
|
+
return this.services.has(token);
|
215
|
+
}
|
216
|
+
}
|
217
|
+
exports.Container = Container;
|
218
|
+
exports.container = new Container();
|
219
|
+
//# sourceMappingURL=di-container.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"di-container.js","sourceRoot":"","sources":["../../src/core/di-container.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,2BAA2B,CAAA;AACzC,cAAc,cAAc,CAAA"}
|
@@ -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
|
+
__exportStar(require("./router"), exports);
|
18
|
+
__exportStar(require("./di-container"), exports);
|
19
|
+
__exportStar(require("./request-context.service"), exports);
|
20
|
+
__exportStar(require("./decorators"), exports);
|
21
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,iDAA8B;AAC9B,4DAAyC;AACzC,+CAA4B"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
2
|
+
export declare const requestContextStore: AsyncLocalStorage<Map<string, any>>;
|
3
|
+
export declare class RequestContextService {
|
4
|
+
/**
|
5
|
+
* Retrieves a value from the request context by key.
|
6
|
+
* @param key The key of the value to retrieve.
|
7
|
+
* @returns The value, or undefined if not found.
|
8
|
+
*/
|
9
|
+
get<T = any>(key: string): T | undefined;
|
10
|
+
/**
|
11
|
+
* Sets a value in the request context.
|
12
|
+
* @param key The key of the value to set.
|
13
|
+
* @param value The value to set.
|
14
|
+
*/
|
15
|
+
set(key: string, value: any): void;
|
16
|
+
store(): Map<string, any> | undefined;
|
17
|
+
/**
|
18
|
+
* A static method to run a function within a new request context.
|
19
|
+
* This is the entry point used by our framework middleware.
|
20
|
+
* @param callback The function to execute within the new context.
|
21
|
+
*/
|
22
|
+
static run(callback: () => void): void;
|
23
|
+
}
|
24
|
+
//# sourceMappingURL=request-context.service.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"request-context.service.d.ts","sourceRoot":"","sources":["../../src/core/request-context.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAI/C,eAAO,MAAM,mBAAmB,qCAA4C,CAAA;AAE5E,qBACa,qBAAqB;IAChC;;;;OAIG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKxC;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAMlC,KAAK;IAIL;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI;CAIhC"}
|
@@ -0,0 +1,52 @@
|
|
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.RequestContextService = exports.requestContextStore = void 0;
|
10
|
+
const async_hooks_1 = require("async_hooks");
|
11
|
+
const decorators_1 = require("./decorators");
|
12
|
+
// The actual storage instance. It's created once and exported.
|
13
|
+
exports.requestContextStore = new async_hooks_1.AsyncLocalStorage();
|
14
|
+
let RequestContextService = class RequestContextService {
|
15
|
+
/**
|
16
|
+
* Retrieves a value from the request context by key.
|
17
|
+
* @param key The key of the value to retrieve.
|
18
|
+
* @returns The value, or undefined if not found.
|
19
|
+
*/
|
20
|
+
get(key) {
|
21
|
+
const store = exports.requestContextStore.getStore();
|
22
|
+
return store?.get(key);
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* Sets a value in the request context.
|
26
|
+
* @param key The key of the value to set.
|
27
|
+
* @param value The value to set.
|
28
|
+
*/
|
29
|
+
set(key, value) {
|
30
|
+
const store = exports.requestContextStore.getStore();
|
31
|
+
if (store) {
|
32
|
+
store.set(key, value);
|
33
|
+
}
|
34
|
+
}
|
35
|
+
store() {
|
36
|
+
return exports.requestContextStore.getStore();
|
37
|
+
}
|
38
|
+
/**
|
39
|
+
* A static method to run a function within a new request context.
|
40
|
+
* This is the entry point used by our framework middleware.
|
41
|
+
* @param callback The function to execute within the new context.
|
42
|
+
*/
|
43
|
+
static run(callback) {
|
44
|
+
const store = new Map();
|
45
|
+
exports.requestContextStore.run(store, callback);
|
46
|
+
}
|
47
|
+
};
|
48
|
+
exports.RequestContextService = RequestContextService;
|
49
|
+
exports.RequestContextService = RequestContextService = __decorate([
|
50
|
+
(0, decorators_1.Service)()
|
51
|
+
], RequestContextService);
|
52
|
+
//# sourceMappingURL=request-context.service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"request-context.service.js","sourceRoot":"","sources":["../../src/core/request-context.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6CAA+C;AAC/C,6CAAsC;AAEtC,+DAA+D;AAClD,QAAA,mBAAmB,GAAG,IAAI,+BAAiB,EAAoB,CAAA;AAGrE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC;;;;OAIG;IACH,GAAG,CAAU,GAAW;QACtB,MAAM,KAAK,GAAG,2BAAmB,CAAC,QAAQ,EAAE,CAAA;QAC5C,OAAO,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAW,EAAE,KAAU;QACzB,MAAM,KAAK,GAAG,2BAAmB,CAAC,QAAQ,EAAE,CAAA;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IACD,KAAK;QACH,OAAO,2BAAmB,CAAC,QAAQ,EAAE,CAAA;IACvC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,QAAoB;QAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe,CAAA;QACpC,2BAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;CACF,CAAA;AAnCY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,oBAAO,GAAE;GACG,qBAAqB,CAmCjC"}
|
package/dist/core/router.d.ts
CHANGED
@@ -1,32 +1,4 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
path: string;
|
6
|
-
handler: Function;
|
7
|
-
controller: any;
|
8
|
-
middlewares: Middleware[];
|
9
|
-
originalMethod: string;
|
10
|
-
}
|
11
|
-
export declare class Router {
|
12
|
-
private routes;
|
13
|
-
private logger?;
|
14
|
-
constructor();
|
15
|
-
registerControllers(controllers: any[]): void;
|
16
|
-
private registerController;
|
17
|
-
private logRegisteredRoutes;
|
18
|
-
private logRoutesTable;
|
19
|
-
getRoutes(): RouteDefinition[];
|
20
|
-
getRoutesSummary(): {
|
21
|
-
totalRoutes: number;
|
22
|
-
routesByMethod: Record<string, number>;
|
23
|
-
routesByController: Record<string, number>;
|
24
|
-
};
|
25
|
-
getRouteCount(): number;
|
26
|
-
handleRequest(req: IncomingMessage, res: ServerResponse): Promise<void>;
|
27
|
-
private findRoute;
|
28
|
-
private executeRoute;
|
29
|
-
private executeMiddlewares;
|
30
|
-
private prepareHandlerArgs;
|
31
|
-
}
|
32
|
-
export {};
|
1
|
+
import { FastifyInstance } from 'fastify';
|
2
|
+
import { Constructor } from './di-container';
|
3
|
+
export declare function registerControllers(fastify: FastifyInstance, controllers: Constructor[]): void;
|
4
|
+
//# sourceMappingURL=router.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA8C,MAAM,SAAS,CAAA;AAErF,OAAO,EAAa,WAAW,EAAE,MAAM,gBAAgB,CAAA;AA4BvD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,QAyEvF"}
|