fragment-ts 1.0.33 → 1.0.34

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.
@@ -180,7 +180,7 @@ class InitCommand {
180
180
  "migrate:revert": "fragment migrate:revert",
181
181
  },
182
182
  dependencies: {
183
- "fragment-ts": "^1.0.33",
183
+ "fragment-ts": "^1.0.34",
184
184
  "reflect-metadata": "^0.1.13",
185
185
  },
186
186
  devDependencies: {
@@ -1 +1 @@
1
- {"version":3,"file":"exception-filter.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/exception-filter.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,UAAU,GAAG,GAAG,cAAc,GAAG,eAAe,CAYpG"}
1
+ {"version":3,"file":"exception-filter.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/exception-filter.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,UAAU,GAAG,GACzB,cAAc,GAAG,eAAe,CAiClC"}
@@ -9,14 +9,21 @@ const metadata_storage_1 = require("../metadata/metadata-storage");
9
9
  function FragmentExceptionFilter(filterClass) {
10
10
  return (target, propertyKey) => {
11
11
  if (propertyKey === undefined) {
12
- Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, filterClass, target);
12
+ // Class-level
13
+ const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, target) || [];
14
+ const updated = [...existing, filterClass];
15
+ Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, updated, target);
13
16
  const storage = metadata_storage_1.MetadataStorage.getInstance();
14
- storage.addClassMetadata?.(target, 'exceptionFilter', filterClass);
17
+ storage.addClassMetadata?.(target, "exceptionFilter", filterClass);
15
18
  }
16
19
  else {
17
- Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, filterClass, target, propertyKey);
20
+ // Method-level
21
+ const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, target, propertyKey) ||
22
+ [];
23
+ const updated = [...existing, filterClass];
24
+ Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, updated, target, propertyKey);
18
25
  const storage = metadata_storage_1.MetadataStorage.getInstance();
19
- storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), 'exceptionFilter', filterClass);
26
+ storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), "exceptionFilter", filterClass);
20
27
  }
21
28
  };
22
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exception-filter.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/exception-filter.decorator.ts"],"names":[],"mappings":";;AAOA,0DAYC;AAlBD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,uBAAuB,CAAC,WAA0B;IAChE,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"exception-filter.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/exception-filter.decorator.ts"],"names":[],"mappings":";;AAOA,0DAmCC;AAzCD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,uBAAuB,CACrC,WAA0B;IAE1B,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3C,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAEnE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBACnE,EAAE,CAAC;YACL,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3C,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,WAAW,EACzB,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CACzB,MAAM,CAAC,WAAW,EAClB,WAAW,CAAC,QAAQ,EAAE,EACtB,iBAAiB,EACjB,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"guard.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/guard.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG,cAAc,GAAG,eAAe,CAYzF"}
1
+ {"version":3,"file":"guard.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/guard.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,GAAG,GACxB,cAAc,GAAG,eAAe,CAiClC"}
@@ -9,14 +9,21 @@ const metadata_storage_1 = require("../metadata/metadata-storage");
9
9
  function FragmentGuard(guardClass) {
10
10
  return (target, propertyKey) => {
11
11
  if (propertyKey === undefined) {
12
- Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, guardClass, target);
12
+ // Class-level
13
+ const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, target) || [];
14
+ const updated = [...existing, guardClass];
15
+ Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, updated, target);
13
16
  const storage = metadata_storage_1.MetadataStorage.getInstance();
14
- storage.addClassMetadata?.(target, 'guard', guardClass);
17
+ storage.addClassMetadata?.(target, "guard", guardClass);
15
18
  }
16
19
  else {
17
- Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, guardClass, target, propertyKey);
20
+ // Method-level
21
+ const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, target, propertyKey) ||
22
+ [];
23
+ const updated = [...existing, guardClass];
24
+ Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, updated, target, propertyKey);
18
25
  const storage = metadata_storage_1.MetadataStorage.getInstance();
19
- storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), 'guard', guardClass);
26
+ storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), "guard", guardClass);
20
27
  }
21
28
  };
22
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"guard.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/guard.decorator.ts"],"names":[],"mappings":";;AAOA,sCAYC;AAlBD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,aAAa,CAAC,UAAyB;IACrD,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAClF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"guard.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/guard.decorator.ts"],"names":[],"mappings":";;AAOA,sCAmCC;AAzCD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,aAAa,CAC3B,UAAyB;IAEzB,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1C,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAElE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClE,EAAE,CAAC;YACL,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1C,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,UAAU,EACxB,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CACzB,MAAM,CAAC,WAAW,EAClB,WAAW,CAAC,QAAQ,EAAE,EACtB,OAAO,EACP,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/interceptor.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,GAAG,GAAG,cAAc,GAAG,eAAe,CAYrG"}
1
+ {"version":3,"file":"interceptor.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/interceptor.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,UAAU,GAAG,GAC9B,cAAc,GAAG,eAAe,CAoClC"}
@@ -9,14 +9,20 @@ const metadata_storage_1 = require("../metadata/metadata-storage");
9
9
  function FragmentInterceptor(interceptorClass) {
10
10
  return (target, propertyKey) => {
11
11
  if (propertyKey === undefined) {
12
- Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, interceptorClass, target);
12
+ // Class-level
13
+ const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, target) || [];
14
+ const updated = [...existing, interceptorClass];
15
+ Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, updated, target);
13
16
  const storage = metadata_storage_1.MetadataStorage.getInstance();
14
- storage.addClassMetadata?.(target, 'interceptor', interceptorClass);
17
+ storage.addClassMetadata?.(target, "interceptor", interceptorClass);
15
18
  }
16
19
  else {
17
- Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, interceptorClass, target, propertyKey);
20
+ // Method-level
21
+ const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, target, propertyKey) || [];
22
+ const updated = [...existing, interceptorClass];
23
+ Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, updated, target, propertyKey);
18
24
  const storage = metadata_storage_1.MetadataStorage.getInstance();
19
- storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), 'interceptor', interceptorClass);
25
+ storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), "interceptor", interceptorClass);
20
26
  }
21
27
  };
22
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/interceptor.decorator.ts"],"names":[],"mappings":";;AAOA,kDAYC;AAlBD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,mBAAmB,CAAC,gBAA+B;IACjE,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"interceptor.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/interceptor.decorator.ts"],"names":[],"mappings":";;AAOA,kDAsCC;AA5CD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,mBAAmB,CACjC,gBAA+B;IAE/B,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACpE,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAChD,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAExE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CACjB,6BAAa,CAAC,gBAAgB,EAC9B,MAAM,EACN,WAAW,CACZ,IAAI,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAChD,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,gBAAgB,EAC9B,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CACzB,MAAM,CAAC,WAAW,EAClB,WAAW,CAAC,QAAQ,EAAE,EACtB,aAAa,EACb,gBAAgB,CACjB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/middleware.decorator.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,UAAU,GAAG,GAAG,cAAc,GAAG,eAAe,CAcnG"}
1
+ {"version":3,"file":"middleware.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/middleware.decorator.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,UAAU,GAAG,GAC7B,cAAc,GAAG,eAAe,CAoClC"}
@@ -13,15 +13,19 @@ function FragmentMiddleware(middlewareClass) {
13
13
  return (target, propertyKey) => {
14
14
  if (propertyKey === undefined) {
15
15
  // Class-level
16
- Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, middlewareClass, target);
16
+ const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, target) || [];
17
+ const updated = [...existing, middlewareClass];
18
+ Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, updated, target);
17
19
  const storage = metadata_storage_1.MetadataStorage.getInstance();
18
- storage.addClassMetadata?.(target, 'middleware', middlewareClass);
20
+ storage.addClassMetadata?.(target, "middleware", middlewareClass);
19
21
  }
20
22
  else {
21
23
  // Method-level
22
- Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, middlewareClass, target, propertyKey);
24
+ const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, target, propertyKey) || [];
25
+ const updated = [...existing, middlewareClass];
26
+ Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, updated, target, propertyKey);
23
27
  const storage = metadata_storage_1.MetadataStorage.getInstance();
24
- storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), 'middleware', middlewareClass);
28
+ storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), "middleware", middlewareClass);
25
29
  }
26
30
  };
27
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/middleware.decorator.ts"],"names":[],"mappings":";;AAUA,gDAcC;AAvBD,6DAA0D;AAC1D,mEAA+D;AAE/D;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,eAA8B;IAC/D,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,eAAe;YACf,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QACzG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"middleware.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/middleware.decorator.ts"],"names":[],"mappings":";;AAUA,gDAsCC;AA/CD,6DAA0D;AAC1D,mEAA+D;AAE/D;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,eAA8B;IAE9B,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC/C,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAEtE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CACjB,6BAAa,CAAC,cAAc,EAC5B,MAAM,EACN,WAAW,CACZ,IAAI,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC/C,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,cAAc,EAC5B,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CACzB,MAAM,CAAC,WAAW,EAClB,WAAW,CAAC,QAAQ,EAAE,EACtB,YAAY,EACZ,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fragment-ts",
3
- "version": "1.0.33",
3
+ "version": "1.0.34",
4
4
  "description": "Spring Boot-style framework for TypeScript with Express and TypeORM",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -173,7 +173,7 @@ export class InitCommand {
173
173
  "migrate:revert": "fragment migrate:revert",
174
174
  },
175
175
  dependencies: {
176
- "fragment-ts": "^1.0.33",
176
+ "fragment-ts": "^1.0.34",
177
177
  "reflect-metadata": "^0.1.13",
178
178
  },
179
179
  devDependencies: {
@@ -5,16 +5,39 @@ import { MetadataStorage } from "../metadata/metadata-storage";
5
5
  /**
6
6
  * @ExceptionFilter - Handle exceptions globally or per controller/method
7
7
  */
8
- export function FragmentExceptionFilter(filterClass: new () => any): ClassDecorator & MethodDecorator {
8
+ export function FragmentExceptionFilter(
9
+ filterClass: new () => any,
10
+ ): ClassDecorator & MethodDecorator {
9
11
  return (target: any, propertyKey?: string | symbol) => {
10
12
  if (propertyKey === undefined) {
11
- Reflect.defineMetadata(METADATA_KEYS.USE_FILTERS, filterClass, target);
13
+ // Class-level
14
+ const existing =
15
+ Reflect.getMetadata(METADATA_KEYS.USE_FILTERS, target) || [];
16
+ const updated = [...existing, filterClass];
17
+ Reflect.defineMetadata(METADATA_KEYS.USE_FILTERS, updated, target);
18
+
12
19
  const storage = MetadataStorage.getInstance();
13
- storage.addClassMetadata?.(target, 'exceptionFilter', filterClass);
20
+ storage.addClassMetadata?.(target, "exceptionFilter", filterClass);
14
21
  } else {
15
- Reflect.defineMetadata(METADATA_KEYS.USE_FILTERS, filterClass, target, propertyKey);
22
+ // Method-level
23
+ const existing =
24
+ Reflect.getMetadata(METADATA_KEYS.USE_FILTERS, target, propertyKey) ||
25
+ [];
26
+ const updated = [...existing, filterClass];
27
+ Reflect.defineMetadata(
28
+ METADATA_KEYS.USE_FILTERS,
29
+ updated,
30
+ target,
31
+ propertyKey,
32
+ );
33
+
16
34
  const storage = MetadataStorage.getInstance();
17
- storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), 'exceptionFilter', filterClass);
35
+ storage.addMethodMetadata?.(
36
+ target.constructor,
37
+ propertyKey.toString(),
38
+ "exceptionFilter",
39
+ filterClass,
40
+ );
18
41
  }
19
42
  };
20
- }
43
+ }
@@ -5,16 +5,39 @@ import { MetadataStorage } from "../metadata/metadata-storage";
5
5
  /**
6
6
  * @Guard - Apply authorization/activation guard
7
7
  */
8
- export function FragmentGuard(guardClass: new () => any): ClassDecorator & MethodDecorator {
8
+ export function FragmentGuard(
9
+ guardClass: new () => any,
10
+ ): ClassDecorator & MethodDecorator {
9
11
  return (target: any, propertyKey?: string | symbol) => {
10
12
  if (propertyKey === undefined) {
11
- Reflect.defineMetadata(METADATA_KEYS.USE_GUARDS, guardClass, target);
13
+ // Class-level
14
+ const existing =
15
+ Reflect.getMetadata(METADATA_KEYS.USE_GUARDS, target) || [];
16
+ const updated = [...existing, guardClass];
17
+ Reflect.defineMetadata(METADATA_KEYS.USE_GUARDS, updated, target);
18
+
12
19
  const storage = MetadataStorage.getInstance();
13
- storage.addClassMetadata?.(target, 'guard', guardClass);
20
+ storage.addClassMetadata?.(target, "guard", guardClass);
14
21
  } else {
15
- Reflect.defineMetadata(METADATA_KEYS.USE_GUARDS, guardClass, target, propertyKey);
22
+ // Method-level
23
+ const existing =
24
+ Reflect.getMetadata(METADATA_KEYS.USE_GUARDS, target, propertyKey) ||
25
+ [];
26
+ const updated = [...existing, guardClass];
27
+ Reflect.defineMetadata(
28
+ METADATA_KEYS.USE_GUARDS,
29
+ updated,
30
+ target,
31
+ propertyKey,
32
+ );
33
+
16
34
  const storage = MetadataStorage.getInstance();
17
- storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), 'guard', guardClass);
35
+ storage.addMethodMetadata?.(
36
+ target.constructor,
37
+ propertyKey.toString(),
38
+ "guard",
39
+ guardClass,
40
+ );
18
41
  }
19
42
  };
20
43
  }
@@ -5,16 +5,42 @@ import { MetadataStorage } from "../metadata/metadata-storage";
5
5
  /**
6
6
  * @Interceptor - Intercept and transform request/response
7
7
  */
8
- export function FragmentInterceptor(interceptorClass: new () => any): ClassDecorator & MethodDecorator {
8
+ export function FragmentInterceptor(
9
+ interceptorClass: new () => any,
10
+ ): ClassDecorator & MethodDecorator {
9
11
  return (target: any, propertyKey?: string | symbol) => {
10
12
  if (propertyKey === undefined) {
11
- Reflect.defineMetadata(METADATA_KEYS.USE_INTERCEPTORS, interceptorClass, target);
13
+ // Class-level
14
+ const existing =
15
+ Reflect.getMetadata(METADATA_KEYS.USE_INTERCEPTORS, target) || [];
16
+ const updated = [...existing, interceptorClass];
17
+ Reflect.defineMetadata(METADATA_KEYS.USE_INTERCEPTORS, updated, target);
18
+
12
19
  const storage = MetadataStorage.getInstance();
13
- storage.addClassMetadata?.(target, 'interceptor', interceptorClass);
20
+ storage.addClassMetadata?.(target, "interceptor", interceptorClass);
14
21
  } else {
15
- Reflect.defineMetadata(METADATA_KEYS.USE_INTERCEPTORS, interceptorClass, target, propertyKey);
22
+ // Method-level
23
+ const existing =
24
+ Reflect.getMetadata(
25
+ METADATA_KEYS.USE_INTERCEPTORS,
26
+ target,
27
+ propertyKey,
28
+ ) || [];
29
+ const updated = [...existing, interceptorClass];
30
+ Reflect.defineMetadata(
31
+ METADATA_KEYS.USE_INTERCEPTORS,
32
+ updated,
33
+ target,
34
+ propertyKey,
35
+ );
36
+
16
37
  const storage = MetadataStorage.getInstance();
17
- storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), 'interceptor', interceptorClass);
38
+ storage.addMethodMetadata?.(
39
+ target.constructor,
40
+ propertyKey.toString(),
41
+ "interceptor",
42
+ interceptorClass,
43
+ );
18
44
  }
19
45
  };
20
- }
46
+ }
@@ -8,18 +8,42 @@ import { MetadataStorage } from "../metadata/metadata-storage";
8
8
  * @Middleware(AuthMiddleware) class MyController { }
9
9
  * @Middleware(AuthMiddleware) @Get('/') handler() { }
10
10
  */
11
- export function FragmentMiddleware(middlewareClass: new () => any): ClassDecorator & MethodDecorator {
11
+ export function FragmentMiddleware(
12
+ middlewareClass: new () => any,
13
+ ): ClassDecorator & MethodDecorator {
12
14
  return (target: any, propertyKey?: string | symbol) => {
13
15
  if (propertyKey === undefined) {
14
16
  // Class-level
15
- Reflect.defineMetadata(METADATA_KEYS.USE_MIDDLEWARE, middlewareClass, target);
17
+ const existing =
18
+ Reflect.getMetadata(METADATA_KEYS.USE_MIDDLEWARE, target) || [];
19
+ const updated = [...existing, middlewareClass];
20
+ Reflect.defineMetadata(METADATA_KEYS.USE_MIDDLEWARE, updated, target);
21
+
16
22
  const storage = MetadataStorage.getInstance();
17
- storage.addClassMetadata?.(target, 'middleware', middlewareClass);
23
+ storage.addClassMetadata?.(target, "middleware", middlewareClass);
18
24
  } else {
19
25
  // Method-level
20
- Reflect.defineMetadata(METADATA_KEYS.USE_MIDDLEWARE, middlewareClass, target, propertyKey);
26
+ const existing =
27
+ Reflect.getMetadata(
28
+ METADATA_KEYS.USE_MIDDLEWARE,
29
+ target,
30
+ propertyKey,
31
+ ) || [];
32
+ const updated = [...existing, middlewareClass];
33
+ Reflect.defineMetadata(
34
+ METADATA_KEYS.USE_MIDDLEWARE,
35
+ updated,
36
+ target,
37
+ propertyKey,
38
+ );
39
+
21
40
  const storage = MetadataStorage.getInstance();
22
- storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), 'middleware', middlewareClass);
41
+ storage.addMethodMetadata?.(
42
+ target.constructor,
43
+ propertyKey.toString(),
44
+ "middleware",
45
+ middlewareClass,
46
+ );
23
47
  }
24
48
  };
25
- }
49
+ }