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.
Files changed (58) hide show
  1. package/dist/cli/commands/init.command.js +1 -1
  2. package/dist/core/container/di-container.d.ts +1 -1
  3. package/dist/core/container/di-container.d.ts.map +1 -1
  4. package/dist/core/container/di-container.js +118 -63
  5. package/dist/core/container/di-container.js.map +1 -1
  6. package/dist/core/decorators/application.decorator.d.ts +1 -6
  7. package/dist/core/decorators/application.decorator.d.ts.map +1 -1
  8. package/dist/core/decorators/application.decorator.js +2 -7
  9. package/dist/core/decorators/application.decorator.js.map +1 -1
  10. package/dist/core/decorators/auto-configuration.decorator.d.ts.map +1 -1
  11. package/dist/core/decorators/auto-configuration.decorator.js +5 -4
  12. package/dist/core/decorators/auto-configuration.decorator.js.map +1 -1
  13. package/dist/core/decorators/conditional.decorators.d.ts +0 -4
  14. package/dist/core/decorators/conditional.decorators.d.ts.map +1 -1
  15. package/dist/core/decorators/conditional.decorators.js +0 -32
  16. package/dist/core/decorators/conditional.decorators.js.map +1 -1
  17. package/dist/core/decorators/controller.decorator.d.ts.map +1 -1
  18. package/dist/core/decorators/controller.decorator.js +2 -1
  19. package/dist/core/decorators/controller.decorator.js.map +1 -1
  20. package/dist/core/decorators/http.decorators.d.ts +0 -1
  21. package/dist/core/decorators/http.decorators.d.ts.map +1 -1
  22. package/dist/core/decorators/http.decorators.js +10 -10
  23. package/dist/core/decorators/http.decorators.js.map +1 -1
  24. package/dist/core/decorators/injectable.decorator.d.ts +0 -3
  25. package/dist/core/decorators/injectable.decorator.d.ts.map +1 -1
  26. package/dist/core/decorators/injectable.decorator.js +5 -12
  27. package/dist/core/decorators/injectable.decorator.js.map +1 -1
  28. package/dist/core/decorators/injection.decorators.d.ts +37 -2
  29. package/dist/core/decorators/injection.decorators.d.ts.map +1 -1
  30. package/dist/core/decorators/injection.decorators.js +75 -43
  31. package/dist/core/decorators/injection.decorators.js.map +1 -1
  32. package/dist/core/decorators/repository.decorator.d.ts.map +1 -1
  33. package/dist/core/decorators/repository.decorator.js +5 -4
  34. package/dist/core/decorators/repository.decorator.js.map +1 -1
  35. package/dist/core/decorators/service.decorator.d.ts.map +1 -1
  36. package/dist/core/decorators/service.decorator.js +5 -4
  37. package/dist/core/decorators/service.decorator.js.map +1 -1
  38. package/dist/core/metadata/metadata-storage.d.ts +20 -9
  39. package/dist/core/metadata/metadata-storage.d.ts.map +1 -1
  40. package/dist/core/metadata/metadata-storage.js +10 -58
  41. package/dist/core/metadata/metadata-storage.js.map +1 -1
  42. package/dist/web/application.d.ts.map +1 -1
  43. package/dist/web/application.js +16 -7
  44. package/dist/web/application.js.map +1 -1
  45. package/package.json +1 -1
  46. package/src/cli/commands/init.command.ts +1 -1
  47. package/src/core/container/di-container.ts +193 -77
  48. package/src/core/decorators/application.decorator.ts +3 -13
  49. package/src/core/decorators/auto-configuration.decorator.ts +10 -8
  50. package/src/core/decorators/conditional.decorators.ts +1 -37
  51. package/src/core/decorators/controller.decorator.ts +3 -1
  52. package/src/core/decorators/http.decorators.ts +32 -11
  53. package/src/core/decorators/injectable.decorator.ts +8 -15
  54. package/src/core/decorators/injection.decorators.ts +103 -50
  55. package/src/core/decorators/repository.decorator.ts +10 -8
  56. package/src/core/decorators/service.decorator.ts +10 -8
  57. package/src/core/metadata/metadata-storage.ts +43 -75
  58. package/src/web/application.ts +22 -12
@@ -180,7 +180,7 @@ class InitCommand {
180
180
  "migrate:revert": "fragment migrate:revert",
181
181
  },
182
182
  dependencies: {
183
- "fragment-ts": "^1.0.23",
183
+ "fragment-ts": "^1.0.25",
184
184
  "reflect-metadata": "^0.1.13",
185
185
  },
186
186
  devDependencies: {
@@ -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;IAE3C,MAAM,CAAC,WAAW,IAAI,WAAW;IAOjC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI;IAQ/D,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAmDzB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IA6CxB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,iBAAiB;IAczB,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAQxB,eAAe,IAAI,GAAG,EAAE;IAIxB,KAAK,IAAI,IAAI;IAQb,KAAK,IAAI,IAAI;CAGd"}
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(); // Prevent circular dependencies
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 for circular dependency
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
- // Get constructor parameter types
70
+ console.log(` 🔨 Creating instance of ${target.name}`);
66
71
  const paramTypes = Reflect.getMetadata("design:paramtypes", target) || [];
67
- // Resolve constructor dependencies
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 AFTER construction
81
+ // Inject properties
77
82
  this.injectProperties(instance);
78
- // Call post-construct hook if it exists
79
- if (typeof instance.onInit === "function") {
80
- instance.onInit();
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 prototype = Object.getPrototypeOf(instance);
86
- // Get all property keys from the prototype chain
87
- const properties = this.getAllPropertyKeys(instance);
88
- properties.forEach((prop) => {
89
- // Check for @Autowired
90
- const autowired = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.AUTOWIRED, prototype, prop);
91
- if (autowired) {
92
- instance[prop] = this.resolve(autowired);
93
- return;
94
- }
95
- // Check for @Inject
96
- const inject = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.INJECT, prototype, prop);
97
- if (inject) {
98
- instance[prop] = this.resolve(inject);
99
- return;
100
- }
101
- // Check for @Value
102
- const value = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.VALUE, prototype, prop);
103
- if (value !== undefined) {
104
- instance[prop] = this.resolveValue(value);
105
- return;
106
- }
107
- // Check for @InjectRepository - special TypeORM handling
108
- const repositoryEntity = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.INJECT_REPOSITORY, prototype, prop);
109
- if (repositoryEntity) {
110
- instance[prop] = this.resolveRepository(repositoryEntity);
111
- return;
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
- // Handle environment variable syntax: ${VAR_NAME} or $VAR_NAME
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[2];
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
- console.warn(`⚠️ Warning: Environment variable "${key}" is not defined`);
184
+ if (defaultValue !== undefined) {
185
+ return defaultValue;
186
+ }
187
+ console.warn(`⚠️ Environment variable "${key}" not defined`);
132
188
  return "";
133
189
  }
134
- // Try to parse as JSON for complex types
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+$/.test(value)) {
145
- return parseInt(value, 10);
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 entity ${entity.name}: ${error?.message}. ` +
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 (this.singletons.has(token) ||
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":"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"}
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":"AAGA,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;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACf,GACL,cAAc,CAkBhB"}
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 ?? true,
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":";;AAUA,kDAyBC;AAnCD,6DAA0D;AAC1D,mEAA+D;AAS/D,SAAgB,mBAAmB,CACjC,UAKI,EAAE;IAEN,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,WAAW,EACzB;YACE,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;QACF,kCAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACrC,MAAM;YACN,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
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,CAUlD"}
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)("singleton")(target);
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().addClass({
11
+ const storage = metadata_storage_1.MetadataStorage.getInstance();
12
+ storage.addClass({
12
13
  target,
13
- type: "auto-configuration",
14
- scope: "singleton",
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,8CAUC;AAdD,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;QACvE,kCAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACrC,MAAM;YACN,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
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":"AAGA;;;GAGG;AAEH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,GAAG,cAAc,CAchE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,cAAc,CAcnE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,cAAc,CActF"}
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":";;AAQA,gDAcC;AAED,4DAcC;AAED,sDAcC;AAtDD,6DAA0D;AAC1D,mEAA+D;AAE/D;;;GAGG;AAEH,SAAgB,kBAAkB,CAAC,QAAa;IAC9C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE7E,6CAA6C;QAC7C,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC;gBACf,MAAM;gBACN,IAAI,EAAE,YAAY,EAAE,eAAe;gBACnC,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC;IACH,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;QAEjF,6CAA6C;QAC7C,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC;gBACf,MAAM;gBACN,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC;IACH,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;QAE9F,6CAA6C;QAC7C,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,QAAQ,CAAC;gBACf,MAAM;gBACN,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
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,CAW5D"}
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().addClass({
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,gCAWC;AAfD,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;QAC/D,kCAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACrC,MAAM;YACN,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
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,4 +1,3 @@
1
- import "reflect-metadata";
2
1
  export declare const Get: (path?: string) => MethodDecorator;
3
2
  export declare const Post: (path?: string) => MethodDecorator;
4
3
  export declare const Put: (path?: string) => MethodDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"http.decorators.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/http.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAsB1B,eAAO,MAAM,GAAG,UAjBA,MAAM,KAAQ,eAiBqB,CAAC;AACpD,eAAO,MAAM,IAAI,UAlBD,MAAM,KAAQ,eAkBuB,CAAC;AACtD,eAAO,MAAM,GAAG,UAnBA,MAAM,KAAQ,eAmBqB,CAAC;AACpD,eAAO,MAAM,MAAM,UApBH,MAAM,KAAQ,eAoB2B,CAAC;AAC1D,eAAO,MAAM,KAAK,UArBF,MAAM,KAAQ,eAqByB,CAAC;AAkBxD,eAAO,MAAM,IAAI,eAdK,MAAM,KAAG,kBAciB,CAAC;AACjD,eAAO,MAAM,KAAK,eAfI,MAAM,KAAG,kBAemB,CAAC;AACnD,eAAO,MAAM,KAAK,eAhBI,MAAM,KAAG,kBAgBmB,CAAC;AACnD,eAAO,MAAM,MAAM,eAjBG,MAAM,KAAG,kBAiBqB,CAAC;AACrD,eAAO,MAAM,GAAG,QAAO,kBAAmD,CAAC;AAC3E,eAAO,MAAM,GAAG,QAAO,kBAAmD,CAAC"}
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.toString(),
14
+ propertyKey: propertyKey,
16
15
  method,
17
16
  path,
18
- paramMetadata: storage.getParams(target, propertyKey.toString()),
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, index) => {
32
- if (!propertyKey)
33
- throw new Error(`@${type} cannot be used on constructor params`);
34
- metadata_storage_1.MetadataStorage.getInstance().addParam({
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,4BAA0B;AAC1B,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAS,yBAAyB,CAAC,MAAc;IAC/C,OAAO,CAAC,OAAe,EAAE,EAAmB,EAAE;QAC5C,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,EAAE;YACnD,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC/E,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAE5E,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,SAAS,CAAC;gBAChB,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,MAAM;gBACN,IAAI;gBACJ,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;aACjE,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,uBAAuB;AACvB,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,CAAC,SAAkB,EAAsB,EAAE;QAChD,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;YACpC,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,uCAAuC,CAAC,CAAC;YACnF,kCAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;gBACrC,MAAM;gBACN,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,KAAK;gBACL,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
+ {"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,6 +1,3 @@
1
1
  export type Scope = 'singleton' | 'request' | 'transient';
2
- /**
3
- * @Injectable - Marks a class as injectable with a scope
4
- */
5
2
  export declare function Injectable(scope?: Scope): ClassDecorator;
6
3
  //# sourceMappingURL=injectable.decorator.d.ts.map
@@ -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;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAmB,GAAG,cAAc,CAgBrE"}
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"}