fragment-ts 1.0.23 → 1.0.25
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/cli/commands/init.command.js +1 -1
- package/dist/core/container/di-container.d.ts +1 -1
- package/dist/core/container/di-container.d.ts.map +1 -1
- package/dist/core/container/di-container.js +118 -63
- package/dist/core/container/di-container.js.map +1 -1
- package/dist/core/decorators/application.decorator.d.ts +1 -6
- package/dist/core/decorators/application.decorator.d.ts.map +1 -1
- package/dist/core/decorators/application.decorator.js +2 -7
- package/dist/core/decorators/application.decorator.js.map +1 -1
- package/dist/core/decorators/auto-configuration.decorator.d.ts.map +1 -1
- package/dist/core/decorators/auto-configuration.decorator.js +5 -4
- package/dist/core/decorators/auto-configuration.decorator.js.map +1 -1
- package/dist/core/decorators/conditional.decorators.d.ts +0 -4
- package/dist/core/decorators/conditional.decorators.d.ts.map +1 -1
- package/dist/core/decorators/conditional.decorators.js +0 -32
- package/dist/core/decorators/conditional.decorators.js.map +1 -1
- package/dist/core/decorators/controller.decorator.d.ts.map +1 -1
- package/dist/core/decorators/controller.decorator.js +2 -1
- package/dist/core/decorators/controller.decorator.js.map +1 -1
- package/dist/core/decorators/http.decorators.d.ts +0 -1
- package/dist/core/decorators/http.decorators.d.ts.map +1 -1
- package/dist/core/decorators/http.decorators.js +10 -10
- package/dist/core/decorators/http.decorators.js.map +1 -1
- package/dist/core/decorators/injectable.decorator.d.ts +0 -3
- package/dist/core/decorators/injectable.decorator.d.ts.map +1 -1
- package/dist/core/decorators/injectable.decorator.js +5 -12
- package/dist/core/decorators/injectable.decorator.js.map +1 -1
- package/dist/core/decorators/injection.decorators.d.ts +37 -2
- package/dist/core/decorators/injection.decorators.d.ts.map +1 -1
- package/dist/core/decorators/injection.decorators.js +75 -43
- package/dist/core/decorators/injection.decorators.js.map +1 -1
- package/dist/core/decorators/repository.decorator.d.ts.map +1 -1
- package/dist/core/decorators/repository.decorator.js +5 -4
- package/dist/core/decorators/repository.decorator.js.map +1 -1
- package/dist/core/decorators/service.decorator.d.ts.map +1 -1
- package/dist/core/decorators/service.decorator.js +5 -4
- package/dist/core/decorators/service.decorator.js.map +1 -1
- package/dist/core/metadata/metadata-storage.d.ts +20 -9
- package/dist/core/metadata/metadata-storage.d.ts.map +1 -1
- package/dist/core/metadata/metadata-storage.js +10 -58
- package/dist/core/metadata/metadata-storage.js.map +1 -1
- package/dist/web/application.d.ts.map +1 -1
- package/dist/web/application.js +16 -7
- package/dist/web/application.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/init.command.ts +1 -1
- package/src/core/container/di-container.ts +193 -77
- package/src/core/decorators/application.decorator.ts +3 -13
- package/src/core/decorators/auto-configuration.decorator.ts +10 -8
- package/src/core/decorators/conditional.decorators.ts +1 -37
- package/src/core/decorators/controller.decorator.ts +3 -1
- package/src/core/decorators/http.decorators.ts +32 -11
- package/src/core/decorators/injectable.decorator.ts +8 -15
- package/src/core/decorators/injection.decorators.ts +103 -50
- package/src/core/decorators/repository.decorator.ts +10 -8
- package/src/core/decorators/service.decorator.ts +10 -8
- package/src/core/metadata/metadata-storage.ts +43 -75
- package/src/web/application.ts +22 -12
|
@@ -4,12 +4,12 @@ export declare class DIContainer {
|
|
|
4
4
|
private transients;
|
|
5
5
|
private factories;
|
|
6
6
|
private constructing;
|
|
7
|
+
private registered;
|
|
7
8
|
static getInstance(): DIContainer;
|
|
8
9
|
register(token: any, instance?: any, factory?: () => any): void;
|
|
9
10
|
resolve<T>(token: any): T;
|
|
10
11
|
private createInstance;
|
|
11
12
|
private injectProperties;
|
|
12
|
-
private getAllPropertyKeys;
|
|
13
13
|
private resolveValue;
|
|
14
14
|
private resolveRepository;
|
|
15
15
|
has(token: any): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di-container.d.ts","sourceRoot":"","sources":["../../../src/core/container/di-container.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,YAAY,CAAuB;
|
|
1
|
+
{"version":3,"file":"di-container.d.ts","sourceRoot":"","sources":["../../../src/core/container/di-container.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAuB;IAEzC,MAAM,CAAC,WAAW,IAAI,WAAW;IAOjC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI;IAY/D,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAuDzB,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,gBAAgB;IAqJxB,OAAO,CAAC,YAAY;IAyCpB,OAAO,CAAC,iBAAiB;IAiBzB,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIxB,eAAe,IAAI,GAAG,EAAE;IAIxB,KAAK,IAAI,IAAI;IAQb,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -7,7 +7,8 @@ class DIContainer {
|
|
|
7
7
|
this.singletons = new Map();
|
|
8
8
|
this.transients = new Map();
|
|
9
9
|
this.factories = new Map();
|
|
10
|
-
this.constructing = new Set();
|
|
10
|
+
this.constructing = new Set();
|
|
11
|
+
this.registered = new Set(); // Track what's actually injectable
|
|
11
12
|
}
|
|
12
13
|
static getInstance() {
|
|
13
14
|
if (!DIContainer.instance) {
|
|
@@ -16,23 +17,28 @@ class DIContainer {
|
|
|
16
17
|
return DIContainer.instance;
|
|
17
18
|
}
|
|
18
19
|
register(token, instance, factory) {
|
|
20
|
+
// Mark this token as registered
|
|
21
|
+
this.registered.add(token);
|
|
19
22
|
if (instance) {
|
|
20
23
|
this.singletons.set(token, instance);
|
|
21
24
|
}
|
|
22
25
|
else if (factory) {
|
|
23
26
|
this.factories.set(token, factory);
|
|
24
27
|
}
|
|
28
|
+
// If neither instance nor factory, it will be created on-demand
|
|
25
29
|
}
|
|
26
30
|
resolve(token) {
|
|
27
|
-
// Check
|
|
31
|
+
// Check if this is actually an injectable class
|
|
32
|
+
if (typeof token === "function" && !this.registered.has(token)) {
|
|
33
|
+
throw new Error(`Cannot resolve ${token.name}: Not registered as injectable. ` +
|
|
34
|
+
`Did you forget to add @Injectable(), @Service(), @Controller(), or @Repository()?`);
|
|
35
|
+
}
|
|
28
36
|
if (this.constructing.has(token)) {
|
|
29
37
|
throw new Error(`Circular dependency detected for ${token.name || token}`);
|
|
30
38
|
}
|
|
31
|
-
// Return existing singleton
|
|
32
39
|
if (this.singletons.has(token)) {
|
|
33
40
|
return this.singletons.get(token);
|
|
34
41
|
}
|
|
35
|
-
// Use factory if available
|
|
36
42
|
if (this.factories.has(token)) {
|
|
37
43
|
const factory = this.factories.get(token);
|
|
38
44
|
const instance = factory();
|
|
@@ -42,7 +48,6 @@ class DIContainer {
|
|
|
42
48
|
}
|
|
43
49
|
return instance;
|
|
44
50
|
}
|
|
45
|
-
// Create new instance
|
|
46
51
|
if (typeof token === "function") {
|
|
47
52
|
this.constructing.add(token);
|
|
48
53
|
try {
|
|
@@ -62,76 +67,127 @@ class DIContainer {
|
|
|
62
67
|
throw new Error(`Cannot resolve dependency: ${token}`);
|
|
63
68
|
}
|
|
64
69
|
createInstance(target) {
|
|
65
|
-
|
|
70
|
+
console.log(` 🔨 Creating instance of ${target.name}`);
|
|
66
71
|
const paramTypes = Reflect.getMetadata("design:paramtypes", target) || [];
|
|
67
|
-
|
|
68
|
-
const params = paramTypes.map((type) => {
|
|
72
|
+
const params = paramTypes.map((type, index) => {
|
|
69
73
|
if (!type || type === Object) {
|
|
74
|
+
console.warn(` ⚠️ Constructor param ${index} of ${target.name} has no type metadata`);
|
|
70
75
|
return undefined;
|
|
71
76
|
}
|
|
77
|
+
console.log(` 📦 Resolving constructor dependency: ${type.name}`);
|
|
72
78
|
return this.resolve(type);
|
|
73
79
|
});
|
|
74
|
-
// Create instance
|
|
75
80
|
const instance = new target(...params);
|
|
76
|
-
// Inject properties
|
|
81
|
+
// Inject properties
|
|
77
82
|
this.injectProperties(instance);
|
|
78
|
-
// Call post-construct
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
// Call post-construct
|
|
84
|
+
const postConstructMethod = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.POST_CONSTRUCT, target);
|
|
85
|
+
if (postConstructMethod &&
|
|
86
|
+
typeof instance[postConstructMethod] === "function") {
|
|
87
|
+
console.log(` 🎯 Calling @PostConstruct: ${target.name}.${postConstructMethod}()`);
|
|
88
|
+
instance[postConstructMethod]();
|
|
81
89
|
}
|
|
82
90
|
return instance;
|
|
83
91
|
}
|
|
84
92
|
injectProperties(instance) {
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
93
|
+
const target = instance.constructor;
|
|
94
|
+
let currentProto = target.prototype;
|
|
95
|
+
// Walk the prototype chain
|
|
96
|
+
while (currentProto && currentProto !== Object.prototype) {
|
|
97
|
+
// Get all property names including inherited ones
|
|
98
|
+
const propertyNames = Object.getOwnPropertyNames(currentProto);
|
|
99
|
+
for (const prop of propertyNames) {
|
|
100
|
+
// Skip constructor
|
|
101
|
+
if (prop === "constructor")
|
|
102
|
+
continue;
|
|
103
|
+
// Check @Autowired - stores the TYPE to inject
|
|
104
|
+
const autowiredType = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.AUTOWIRED, currentProto, prop);
|
|
105
|
+
if (autowiredType) {
|
|
106
|
+
console.log(` 💉 @Autowired: ${target.name}.${prop} = ${autowiredType.name}`);
|
|
107
|
+
const isOptional = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.OPTIONAL, currentProto, prop);
|
|
108
|
+
try {
|
|
109
|
+
instance[prop] = this.resolve(autowiredType);
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
if (!isOptional) {
|
|
113
|
+
throw new Error(`Failed to autowire ${autowiredType.name} into ${target.name}.${prop}: ${error}`);
|
|
114
|
+
}
|
|
115
|
+
console.warn(` ⚠️ Optional autowired dependency ${autowiredType.name} not available`);
|
|
116
|
+
instance[prop] = undefined;
|
|
117
|
+
}
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
// Check @Inject - stores the TOKEN to inject
|
|
121
|
+
const injectToken = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.INJECT, currentProto, prop);
|
|
122
|
+
if (injectToken) {
|
|
123
|
+
const tokenName = typeof injectToken === "string" ? injectToken : injectToken.name;
|
|
124
|
+
console.log(` 💉 @Inject: ${target.name}.${prop} = ${tokenName}`);
|
|
125
|
+
const isOptional = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.OPTIONAL, currentProto, prop);
|
|
126
|
+
try {
|
|
127
|
+
instance[prop] = this.resolve(injectToken);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
if (!isOptional) {
|
|
131
|
+
throw new Error(`Failed to inject ${tokenName} into ${target.name}.${prop}: ${error}`);
|
|
132
|
+
}
|
|
133
|
+
console.warn(` ⚠️ Optional inject dependency ${tokenName} not available`);
|
|
134
|
+
instance[prop] = undefined;
|
|
135
|
+
}
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
// Check @Value
|
|
139
|
+
const valueExpression = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.VALUE, currentProto, prop);
|
|
140
|
+
if (valueExpression !== undefined) {
|
|
141
|
+
console.log(` 🔧 @Value: ${target.name}.${prop} = ${valueExpression}`);
|
|
142
|
+
instance[prop] = this.resolveValue(valueExpression);
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
// Check @InjectRepository
|
|
146
|
+
const repositoryEntity = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.INJECT_REPOSITORY, currentProto, prop);
|
|
147
|
+
if (repositoryEntity) {
|
|
148
|
+
console.log(` 💾 @InjectRepository: ${target.name}.${prop} = Repository<${repositoryEntity.name}>`);
|
|
149
|
+
instance[prop] = this.resolveRepository(repositoryEntity);
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
// Check @Lazy
|
|
153
|
+
const isLazy = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.LAZY, currentProto, prop);
|
|
154
|
+
if (isLazy) {
|
|
155
|
+
const type = Reflect.getMetadata("design:type", currentProto, prop);
|
|
156
|
+
console.log(` ⏳ @Lazy: ${target.name}.${prop} (will resolve on access)`);
|
|
157
|
+
let cached = null;
|
|
158
|
+
let resolved = false;
|
|
159
|
+
Object.defineProperty(instance, prop, {
|
|
160
|
+
get: () => {
|
|
161
|
+
if (!resolved) {
|
|
162
|
+
console.log(` 🔓 Lazy-loading ${type.name} for ${target.name}.${prop}`);
|
|
163
|
+
cached = this.resolve(type);
|
|
164
|
+
resolved = true;
|
|
165
|
+
}
|
|
166
|
+
return cached;
|
|
167
|
+
},
|
|
168
|
+
enumerable: true,
|
|
169
|
+
configurable: true,
|
|
170
|
+
});
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
112
173
|
}
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
getAllPropertyKeys(obj) {
|
|
116
|
-
const keys = new Set();
|
|
117
|
-
let current = obj;
|
|
118
|
-
while (current && current !== Object.prototype) {
|
|
119
|
-
Object.getOwnPropertyNames(current).forEach((key) => keys.add(key));
|
|
120
|
-
current = Object.getPrototypeOf(current);
|
|
174
|
+
currentProto = Object.getPrototypeOf(currentProto);
|
|
121
175
|
}
|
|
122
|
-
return Array.from(keys);
|
|
123
176
|
}
|
|
124
177
|
resolveValue(expression) {
|
|
125
|
-
|
|
126
|
-
const match = expression.match(/\$\{([^}]+)\}|\$([A-Z_][A-Z0-9_]*)/i);
|
|
178
|
+
const match = expression.match(/\$\{([^:}]+)(?::([^}]*))?\}|\$([A-Z_][A-Z0-9_]*)/i);
|
|
127
179
|
if (match) {
|
|
128
|
-
const key = match[1] || match[
|
|
180
|
+
const key = match[1] || match[3];
|
|
181
|
+
const defaultValue = match[2];
|
|
129
182
|
const value = process.env[key];
|
|
130
183
|
if (value === undefined) {
|
|
131
|
-
|
|
184
|
+
if (defaultValue !== undefined) {
|
|
185
|
+
return defaultValue;
|
|
186
|
+
}
|
|
187
|
+
console.warn(`⚠️ Environment variable "${key}" not defined`);
|
|
132
188
|
return "";
|
|
133
189
|
}
|
|
134
|
-
//
|
|
190
|
+
// Parse JSON
|
|
135
191
|
if (value.startsWith("{") || value.startsWith("[")) {
|
|
136
192
|
try {
|
|
137
193
|
return JSON.parse(value);
|
|
@@ -141,8 +197,8 @@ class DIContainer {
|
|
|
141
197
|
}
|
|
142
198
|
}
|
|
143
199
|
// Parse numbers
|
|
144
|
-
if (/^\d
|
|
145
|
-
return
|
|
200
|
+
if (/^\d+(\.\d+)?$/.test(value)) {
|
|
201
|
+
return parseFloat(value);
|
|
146
202
|
}
|
|
147
203
|
// Parse booleans
|
|
148
204
|
if (value.toLowerCase() === "true")
|
|
@@ -155,20 +211,19 @@ class DIContainer {
|
|
|
155
211
|
}
|
|
156
212
|
resolveRepository(entity) {
|
|
157
213
|
try {
|
|
158
|
-
// Import TypeORM module dynamically to avoid circular dependencies
|
|
159
214
|
const { TypeORMModule } = require("../../typeorm/typeorm-module");
|
|
160
215
|
const dataSource = TypeORMModule.getDataSource();
|
|
216
|
+
if (!dataSource || !dataSource.isInitialized) {
|
|
217
|
+
throw new Error("TypeORM DataSource not initialized");
|
|
218
|
+
}
|
|
161
219
|
return dataSource.getRepository(entity);
|
|
162
220
|
}
|
|
163
221
|
catch (error) {
|
|
164
|
-
throw new Error(`Failed to resolve repository for
|
|
165
|
-
`Make sure TypeORM is initialized before using @InjectRepository.`);
|
|
222
|
+
throw new Error(`Failed to resolve repository for ${entity.name}: ${error?.message}`);
|
|
166
223
|
}
|
|
167
224
|
}
|
|
168
225
|
has(token) {
|
|
169
|
-
return
|
|
170
|
-
this.factories.has(token) ||
|
|
171
|
-
typeof token === "function");
|
|
226
|
+
return this.registered.has(token);
|
|
172
227
|
}
|
|
173
228
|
getAllInstances() {
|
|
174
229
|
return Array.from(this.singletons.values());
|
|
@@ -178,8 +233,8 @@ class DIContainer {
|
|
|
178
233
|
this.transients.clear();
|
|
179
234
|
this.factories.clear();
|
|
180
235
|
this.constructing.clear();
|
|
236
|
+
this.registered.clear();
|
|
181
237
|
}
|
|
182
|
-
// For testing purposes
|
|
183
238
|
reset() {
|
|
184
239
|
this.clear();
|
|
185
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di-container.js","sourceRoot":"","sources":["../../../src/core/container/di-container.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAG1D,MAAa,WAAW;IAAxB;QAEU,eAAU,GAAkB,IAAI,GAAG,EAAE,CAAC;QACtC,eAAU,GAAkB,IAAI,GAAG,EAAE,CAAC;QACtC,cAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;QAC3C,iBAAY,GAAa,IAAI,GAAG,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"di-container.js","sourceRoot":"","sources":["../../../src/core/container/di-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,5 @@ export interface ApplicationOptions {
|
|
|
4
4
|
configPath?: string;
|
|
5
5
|
autoScan?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare function FragmentApplication(options?:
|
|
8
|
-
port?: number;
|
|
9
|
-
host?: string;
|
|
10
|
-
configPath?: string;
|
|
11
|
-
autoScan?: boolean;
|
|
12
|
-
}): ClassDecorator;
|
|
7
|
+
export declare function FragmentApplication(options?: ApplicationOptions): ClassDecorator;
|
|
13
8
|
//# sourceMappingURL=application.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/application.decorator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/application.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,kBAAuB,GAC/B,cAAc,CAchB"}
|
|
@@ -2,20 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FragmentApplication = FragmentApplication;
|
|
4
4
|
const metadata_keys_1 = require("../metadata/metadata-keys");
|
|
5
|
-
const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
6
5
|
function FragmentApplication(options = {}) {
|
|
7
6
|
return (target) => {
|
|
8
7
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.APPLICATION, {
|
|
8
|
+
...options,
|
|
9
9
|
port: options.port || 3000,
|
|
10
10
|
host: options.host || "0.0.0.0",
|
|
11
11
|
configPath: options.configPath || "fragment.json",
|
|
12
|
-
autoScan: options.autoScan
|
|
12
|
+
autoScan: options.autoScan || true,
|
|
13
13
|
}, target);
|
|
14
|
-
metadata_storage_1.MetadataStorage.getInstance().addClass({
|
|
15
|
-
target,
|
|
16
|
-
type: "injectable",
|
|
17
|
-
scope: "singleton",
|
|
18
|
-
});
|
|
19
14
|
};
|
|
20
15
|
}
|
|
21
16
|
//# sourceMappingURL=application.decorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/application.decorator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"application.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/application.decorator.ts"],"names":[],"mappings":";;AASA,kDAgBC;AAzBD,6DAA0D;AAS1D,SAAgB,mBAAmB,CACjC,UAA8B,EAAE;IAEhC,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,WAAW,EACzB;YACE,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,eAAe;YACjD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;SACnC,EACD,MAAM,CACP,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-configuration.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/auto-configuration.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"auto-configuration.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/auto-configuration.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,IAAI,cAAc,CAYlD"}
|
|
@@ -6,12 +6,13 @@ const metadata_keys_1 = require("../metadata/metadata-keys");
|
|
|
6
6
|
const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
7
7
|
function AutoConfiguration() {
|
|
8
8
|
return (target) => {
|
|
9
|
-
(0, injectable_decorator_1.Injectable)(
|
|
9
|
+
(0, injectable_decorator_1.Injectable)('singleton')(target);
|
|
10
10
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.AUTO_CONFIGURATION, true, target);
|
|
11
|
-
metadata_storage_1.MetadataStorage.getInstance()
|
|
11
|
+
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
12
|
+
storage.addClass({
|
|
12
13
|
target,
|
|
13
|
-
type:
|
|
14
|
-
scope:
|
|
14
|
+
type: 'auto-configuration',
|
|
15
|
+
scope: 'singleton'
|
|
15
16
|
});
|
|
16
17
|
};
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-configuration.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/auto-configuration.decorator.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"auto-configuration.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/auto-configuration.decorator.ts"],"names":[],"mappings":";;AAIA,8CAYC;AAhBD,iEAAoD;AACpD,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAgB,iBAAiB;IAC/B,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAA,iCAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC;YACf,MAAM;YACN,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conditional decorators
|
|
3
|
-
* Ensures the class is registered in MetadataStorage
|
|
4
|
-
*/
|
|
5
1
|
export declare function ConditionalOnClass(classRef: any): ClassDecorator;
|
|
6
2
|
export declare function ConditionalOnMissingBean(token: any): ClassDecorator;
|
|
7
3
|
export declare function ConditionalOnProperty(key: string, expectedValue?: any): ClassDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional.decorators.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/conditional.decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conditional.decorators.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/conditional.decorators.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,GAAG,cAAc,CAIhE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,cAAc,CAInE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,cAAc,CAItF"}
|
|
@@ -4,51 +4,19 @@ exports.ConditionalOnClass = ConditionalOnClass;
|
|
|
4
4
|
exports.ConditionalOnMissingBean = ConditionalOnMissingBean;
|
|
5
5
|
exports.ConditionalOnProperty = ConditionalOnProperty;
|
|
6
6
|
const metadata_keys_1 = require("../metadata/metadata-keys");
|
|
7
|
-
const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
8
|
-
/**
|
|
9
|
-
* Conditional decorators
|
|
10
|
-
* Ensures the class is registered in MetadataStorage
|
|
11
|
-
*/
|
|
12
7
|
function ConditionalOnClass(classRef) {
|
|
13
8
|
return (target) => {
|
|
14
9
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.CONDITIONAL_ON_CLASS, classRef, target);
|
|
15
|
-
// Register in MetadataStorage if not already
|
|
16
|
-
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
17
|
-
if (!storage.getClass(target)) {
|
|
18
|
-
storage.addClass({
|
|
19
|
-
target,
|
|
20
|
-
type: 'injectable', // default type
|
|
21
|
-
scope: 'singleton',
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
10
|
};
|
|
25
11
|
}
|
|
26
12
|
function ConditionalOnMissingBean(token) {
|
|
27
13
|
return (target) => {
|
|
28
14
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.CONDITIONAL_ON_MISSING_BEAN, token, target);
|
|
29
|
-
// Register in MetadataStorage if not already
|
|
30
|
-
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
31
|
-
if (!storage.getClass(target)) {
|
|
32
|
-
storage.addClass({
|
|
33
|
-
target,
|
|
34
|
-
type: 'injectable',
|
|
35
|
-
scope: 'singleton',
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
15
|
};
|
|
39
16
|
}
|
|
40
17
|
function ConditionalOnProperty(key, expectedValue) {
|
|
41
18
|
return (target) => {
|
|
42
19
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.CONDITIONAL_ON_PROPERTY, { key, expectedValue }, target);
|
|
43
|
-
// Register in MetadataStorage if not already
|
|
44
|
-
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
45
|
-
if (!storage.getClass(target)) {
|
|
46
|
-
storage.addClass({
|
|
47
|
-
target,
|
|
48
|
-
type: 'injectable',
|
|
49
|
-
scope: 'singleton',
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
20
|
};
|
|
53
21
|
}
|
|
54
22
|
//# sourceMappingURL=conditional.decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional.decorators.js","sourceRoot":"","sources":["../../../src/core/decorators/conditional.decorators.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"conditional.decorators.js","sourceRoot":"","sources":["../../../src/core/decorators/conditional.decorators.ts"],"names":[],"mappings":";;AAEA,gDAIC;AAED,4DAIC;AAED,sDAIC;AAlBD,6DAA0D;AAE1D,SAAgB,kBAAkB,CAAC,QAAa;IAC9C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAU;IACjD,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,2BAA2B,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAW,EAAE,aAAmB;IACpE,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC;IAChG,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/controller.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"controller.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/controller.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,cAAc,CAa5D"}
|
|
@@ -8,7 +8,8 @@ function Controller(path = "") {
|
|
|
8
8
|
return (target) => {
|
|
9
9
|
(0, injectable_decorator_1.Injectable)("singleton")(target);
|
|
10
10
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.CONTROLLER, path, target);
|
|
11
|
-
metadata_storage_1.MetadataStorage.getInstance()
|
|
11
|
+
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
12
|
+
storage.addClass({
|
|
12
13
|
target,
|
|
13
14
|
type: "controller",
|
|
14
15
|
scope: "singleton",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/controller.decorator.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/controller.decorator.ts"],"names":[],"mappings":";;AAIA,gCAaC;AAjBD,iEAAoD;AACpD,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAgB,UAAU,CAAC,OAAe,EAAE;IAC1C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAA,iCAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC;YACf,MAAM;YACN,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.decorators.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/http.decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.decorators.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/http.decorators.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,GAAG,UA/BA,MAAM,KAAQ,eA+BqB,CAAC;AACpD,eAAO,MAAM,IAAI,UAhCD,MAAM,KAAQ,eAgCuB,CAAC;AACtD,eAAO,MAAM,GAAG,UAjCA,MAAM,KAAQ,eAiCqB,CAAC;AACpD,eAAO,MAAM,MAAM,UAlCH,MAAM,KAAQ,eAkC2B,CAAC;AAC1D,eAAO,MAAM,KAAK,UAnCF,MAAM,KAAQ,eAmCyB,CAAC;AA0BxD,eAAO,MAAM,IAAI,eAvBK,MAAM,KAAG,kBAuBiB,CAAC;AACjD,eAAO,MAAM,KAAK,eAxBI,MAAM,KAAG,kBAwBmB,CAAC;AACnD,eAAO,MAAM,KAAK,eAzBI,MAAM,KAAG,kBAyBmB,CAAC;AACnD,eAAO,MAAM,MAAM,eA1BG,MAAM,KAAG,kBA0BqB,CAAC;AACrD,eAAO,MAAM,GAAG,QAAO,kBAAmD,CAAC;AAC3E,eAAO,MAAM,GAAG,QAAO,kBAAmD,CAAC"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Res = exports.Req = exports.Header = exports.Query = exports.Param = exports.Body = exports.Patch = exports.Delete = exports.Put = exports.Post = exports.Get = void 0;
|
|
4
|
-
require("reflect-metadata");
|
|
5
4
|
const metadata_keys_1 = require("../metadata/metadata-keys");
|
|
6
5
|
const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
7
6
|
function createHttpMethodDecorator(method) {
|
|
8
7
|
return (path = "") => {
|
|
9
|
-
return (target, propertyKey) => {
|
|
8
|
+
return (target, propertyKey, descriptor) => {
|
|
10
9
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.HTTP_METHOD, method, target, propertyKey);
|
|
11
10
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.ROUTE_PATH, path, target, propertyKey);
|
|
12
11
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
13
12
|
storage.addMethod({
|
|
14
13
|
target: target.constructor,
|
|
15
|
-
propertyKey: propertyKey
|
|
14
|
+
propertyKey: propertyKey,
|
|
16
15
|
method,
|
|
17
16
|
path,
|
|
18
|
-
paramMetadata: storage.getParams(target, propertyKey
|
|
17
|
+
paramMetadata: storage.getParams(target, propertyKey),
|
|
19
18
|
});
|
|
20
19
|
};
|
|
21
20
|
};
|
|
@@ -25,16 +24,17 @@ exports.Post = createHttpMethodDecorator("POST");
|
|
|
25
24
|
exports.Put = createHttpMethodDecorator("PUT");
|
|
26
25
|
exports.Delete = createHttpMethodDecorator("DELETE");
|
|
27
26
|
exports.Patch = createHttpMethodDecorator("PATCH");
|
|
28
|
-
// Parameter decorators
|
|
29
27
|
function createParamDecorator(type) {
|
|
30
28
|
return (paramName) => {
|
|
31
|
-
return (target, propertyKey,
|
|
32
|
-
if (!propertyKey)
|
|
33
|
-
throw new Error(`@${type} cannot be used on constructor
|
|
34
|
-
|
|
29
|
+
return (target, propertyKey, parameterIndex) => {
|
|
30
|
+
if (!propertyKey) {
|
|
31
|
+
throw new Error(`@${type}() cannot be used on constructor parameters`);
|
|
32
|
+
}
|
|
33
|
+
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
34
|
+
storage.addParam({
|
|
35
35
|
target,
|
|
36
36
|
propertyKey: propertyKey.toString(),
|
|
37
|
-
index,
|
|
37
|
+
index: parameterIndex,
|
|
38
38
|
type: type,
|
|
39
39
|
paramName,
|
|
40
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.decorators.js","sourceRoot":"","sources":["../../../src/core/decorators/http.decorators.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"http.decorators.js","sourceRoot":"","sources":["../../../src/core/decorators/http.decorators.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAS,yBAAyB,CAAC,MAAc;IAC/C,OAAO,CAAC,OAAe,EAAE,EAAmB,EAAE;QAC5C,OAAO,CACL,MAAW,EACX,WAA4B,EAC5B,UAA8B,EAC9B,EAAE;YACF,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,WAAW,EACzB,MAAM,EACN,MAAM,EACN,WAAW,CACZ,CAAC;YACF,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,UAAU,EACxB,IAAI,EACJ,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,SAAS,CAAC;gBAChB,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,WAAW,EAAE,WAAqB;gBAClC,MAAM;gBACN,IAAI;gBACJ,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,WAAqB,CAAC;aAChE,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAEY,QAAA,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;AACvC,QAAA,IAAI,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACzC,QAAA,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;AACvC,QAAA,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC7C,QAAA,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAExD,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,CAAC,SAAkB,EAAsB,EAAE;QAChD,OAAO,CACL,MAAc,EACd,WAAwC,EACxC,cAAsB,EAChB,EAAE;YACR,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,6CAA6C,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAE9C,OAAO,CAAC,QAAQ,CAAC;gBACf,MAAM;gBACN,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,IAAW;gBACjB,SAAS;aACV,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAEY,QAAA,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACpC,QAAA,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC9C,MAAM,GAAG,GAAG,GAAuB,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;AAA9D,QAAA,GAAG,OAA2D;AACpE,MAAM,GAAG,GAAG,GAAuB,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;AAA9D,QAAA,GAAG,OAA2D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectable.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/injectable.decorator.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"injectable.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/injectable.decorator.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAE1D,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAmB,GAAG,cAAc,CAYrE"}
|