@spinajs/http 2.0.496 → 2.0.498

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.
@@ -1 +1 @@
1
- {"version":3,"file":"controller-sources.d.ts","sourceRoot":"","sources":["../../src/controller-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;;;;;;GASG;AACH,8BAAsB,gBAAiB,SAAQ,YAAY;IACzD,SAAgB,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,qBACa,0BAA2B,SAAQ,gBAAgB;IAEvD,WAAW,EAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAElD,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAEvE;CACF;AAED;;;;;;;;GAQG;AACH,qBACa,0BAA2B,SAAQ,gBAAgB;IACjD,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAYvE;CACF"}
1
+ {"version":3,"file":"controller-sources.d.ts","sourceRoot":"","sources":["../../src/controller-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;;;;;;GASG;AACH,8BAAsB,gBAAiB,SAAQ,YAAY;IACzD,SAAgB,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,qBACa,0BAA2B,SAAQ,gBAAgB;IAEvD,WAAW,EAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAElD,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAoCvE;CACF;AAED;;;;;;;;GAQG;AACH,qBACa,0BAA2B,SAAQ,gBAAgB;IACjD,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAYvE;CACF"}
@@ -33,7 +33,35 @@ exports.ControllerSource = ControllerSource;
33
33
  */
34
34
  let FilesystemControllerSource = class FilesystemControllerSource extends ControllerSource {
35
35
  async getControllers() {
36
- return (await this.Controllers) ?? [];
36
+ const scanned = (await this.Controllers) ?? [];
37
+ const result = [];
38
+ // ListFromFiles yields exactly one ClassInfo per file — whichever export
39
+ // happens to come first. A controller file may put its DTO classes above
40
+ // the controller (and may export more than one controller), so the first
41
+ // export is not necessarily the controller: re-read each module and keep
42
+ // every export that actually is one — it extends BaseController or
43
+ // carries the route descriptor.
44
+ for (const ci of scanned) {
45
+ const loaded = await di_1.DI.__spinajs_require__(ci.file);
46
+ // __spinajs_require__ unwraps a default export to the value itself;
47
+ // treat a default-exported class as a single-entry export map.
48
+ const exports = (typeof loaded === 'function' ? { [loaded.name || ci.name]: loaded } : loaded);
49
+ for (const [name, value] of Object.entries(exports)) {
50
+ if (typeof value !== 'function' || !value.prototype) {
51
+ continue;
52
+ }
53
+ const isController = value.prototype instanceof base_controller_js_1.BaseController || Reflect.getMetadata(decorators_js_1.CONTROLLED_DESCRIPTOR_SYMBOL, value.prototype) !== undefined;
54
+ if (!isController) {
55
+ continue;
56
+ }
57
+ const info = new di_1.ClassInfo();
58
+ info.file = ci.file;
59
+ info.name = name;
60
+ info.type = value;
61
+ result.push(info);
62
+ }
63
+ }
64
+ return result;
37
65
  }
38
66
  };
39
67
  exports.FilesystemControllerSource = FilesystemControllerSource;
@@ -1 +1 @@
1
- {"version":3,"file":"controller-sources.js","sourceRoot":"","sources":["../../src/controller-sources.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAA6E;AAC7E,oDAAoD;AACpD,6DAAsD;AACtD,mDAA+D;AAG/D;;;;;;;;;GASG;AACH,sBAAuC,SAAQ,iBAAY;CAE1D;;AAED;;;GAGG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,gBAAgB;IAIvD,KAAK,CAAC,cAAc;QACzB,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;CACF,CAAA;;AALQ;IADN,IAAA,0BAAa,EAAC,oBAAoB,EAAE,yBAAyB,CAAC;;+DACA;qCAFpD,0BAA0B;IADtC,IAAA,eAAU,EAAC,gBAAgB,CAAC;GAChB,0BAA0B,CAOtC;AAED;;;;;;;;GAQG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,gBAAgB;IACvD,KAAK,CAAC,cAAc;QACzB,MAAM,KAAK,GAAG,CAAC,OAAE,CAAC,kBAAkB,CAAC,mCAAc,CAAC,IAAI,EAAE,CAAiC,CAAC;QAE5F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,4CAA4B,EAAE,IAAI,CAAC,SAAS,CAAsC,CAAC;YAE1H,MAAM,EAAE,GAAG,IAAI,cAAS,EAAkB,CAAC;YAC3C,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;YACf,EAAE,CAAC,IAAI,GAAG,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;;qCAdY,0BAA0B;IADtC,IAAA,eAAU,EAAC,gBAAgB,CAAC;GAChB,0BAA0B,CActC"}
1
+ {"version":3,"file":"controller-sources.js","sourceRoot":"","sources":["../../src/controller-sources.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller-sources.d.ts","sourceRoot":"","sources":["../../src/controller-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;;;;;;GASG;AACH,8BAAsB,gBAAiB,SAAQ,YAAY;IACzD,SAAgB,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,qBACa,0BAA2B,SAAQ,gBAAgB;IAEvD,WAAW,EAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAElD,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAEvE;CACF;AAED;;;;;;;;GAQG;AACH,qBACa,0BAA2B,SAAQ,gBAAgB;IACjD,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAYvE;CACF"}
1
+ {"version":3,"file":"controller-sources.d.ts","sourceRoot":"","sources":["../../src/controller-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;;;;;;GASG;AACH,8BAAsB,gBAAiB,SAAQ,YAAY;IACzD,SAAgB,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,qBACa,0BAA2B,SAAQ,gBAAgB;IAEvD,WAAW,EAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAElD,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAoCvE;CACF;AAED;;;;;;;;GAQG;AACH,qBACa,0BAA2B,SAAQ,gBAAgB;IACjD,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAYvE;CACF"}
@@ -29,7 +29,35 @@ export class ControllerSource extends AsyncService {
29
29
  */
30
30
  let FilesystemControllerSource = class FilesystemControllerSource extends ControllerSource {
31
31
  async getControllers() {
32
- return (await this.Controllers) ?? [];
32
+ const scanned = (await this.Controllers) ?? [];
33
+ const result = [];
34
+ // ListFromFiles yields exactly one ClassInfo per file — whichever export
35
+ // happens to come first. A controller file may put its DTO classes above
36
+ // the controller (and may export more than one controller), so the first
37
+ // export is not necessarily the controller: re-read each module and keep
38
+ // every export that actually is one — it extends BaseController or
39
+ // carries the route descriptor.
40
+ for (const ci of scanned) {
41
+ const loaded = await DI.__spinajs_require__(ci.file);
42
+ // __spinajs_require__ unwraps a default export to the value itself;
43
+ // treat a default-exported class as a single-entry export map.
44
+ const exports = (typeof loaded === 'function' ? { [loaded.name || ci.name]: loaded } : loaded);
45
+ for (const [name, value] of Object.entries(exports)) {
46
+ if (typeof value !== 'function' || !value.prototype) {
47
+ continue;
48
+ }
49
+ const isController = value.prototype instanceof BaseController || Reflect.getMetadata(CONTROLLED_DESCRIPTOR_SYMBOL, value.prototype) !== undefined;
50
+ if (!isController) {
51
+ continue;
52
+ }
53
+ const info = new ClassInfo();
54
+ info.file = ci.file;
55
+ info.name = name;
56
+ info.type = value;
57
+ result.push(info);
58
+ }
59
+ }
60
+ return result;
33
61
  }
34
62
  };
35
63
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"controller-sources.js","sourceRoot":"","sources":["../../src/controller-sources.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAS,EAAE,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;;;;;;;;GASG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,YAAY;CAE1D;AAED;;;GAGG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,gBAAgB;IAIvD,KAAK,CAAC,cAAc;QACzB,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;CACF,CAAA;AALQ;IADN,aAAa,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;;+DACA;AAFpD,0BAA0B;IADtC,UAAU,CAAC,gBAAgB,CAAC;GAChB,0BAA0B,CAOtC;;AAED;;;;;;;;GAQG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,gBAAgB;IACvD,KAAK,CAAC,cAAc;QACzB,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAiC,CAAC;QAE5F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAsC,CAAC;YAE1H,MAAM,EAAE,GAAG,IAAI,SAAS,EAAkB,CAAC;YAC3C,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;YACf,EAAE,CAAC,IAAI,GAAG,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAdY,0BAA0B;IADtC,UAAU,CAAC,gBAAgB,CAAC;GAChB,0BAA0B,CActC"}
1
+ {"version":3,"file":"controller-sources.js","sourceRoot":"","sources":["../../src/controller-sources.ts"],"names":[],"mappings":"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"}