@spinajs/http 2.0.331 → 2.0.332

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 (35) hide show
  1. package/lib/cjs/cache.d.ts +28 -0
  2. package/lib/cjs/cache.d.ts.map +1 -0
  3. package/lib/cjs/cache.js +79 -0
  4. package/lib/cjs/cache.js.map +1 -0
  5. package/lib/cjs/cli/GenerateControllerCache.d.ts +14 -0
  6. package/lib/cjs/cli/GenerateControllerCache.d.ts.map +1 -0
  7. package/lib/cjs/cli/GenerateControllerCache.js +41 -0
  8. package/lib/cjs/cli/GenerateControllerCache.js.map +1 -0
  9. package/lib/cjs/config/http.d.ts +2 -1
  10. package/lib/cjs/config/http.d.ts.map +1 -1
  11. package/lib/cjs/config/http.js +9 -4
  12. package/lib/cjs/config/http.js.map +1 -1
  13. package/lib/cjs/controllers.d.ts +2 -18
  14. package/lib/cjs/controllers.d.ts.map +1 -1
  15. package/lib/cjs/controllers.js +5 -46
  16. package/lib/cjs/controllers.js.map +1 -1
  17. package/lib/mjs/cache.d.ts +28 -0
  18. package/lib/mjs/cache.d.ts.map +1 -0
  19. package/lib/mjs/cache.js +75 -0
  20. package/lib/mjs/cache.js.map +1 -0
  21. package/lib/mjs/cli/GenerateControllerCache.d.ts +14 -0
  22. package/lib/mjs/cli/GenerateControllerCache.d.ts.map +1 -0
  23. package/lib/mjs/cli/GenerateControllerCache.js +38 -0
  24. package/lib/mjs/cli/GenerateControllerCache.js.map +1 -0
  25. package/lib/mjs/config/http.d.ts +2 -1
  26. package/lib/mjs/config/http.d.ts.map +1 -1
  27. package/lib/mjs/config/http.js +9 -4
  28. package/lib/mjs/config/http.js.map +1 -1
  29. package/lib/mjs/controllers.d.ts +2 -18
  30. package/lib/mjs/controllers.d.ts.map +1 -1
  31. package/lib/mjs/controllers.js +6 -47
  32. package/lib/mjs/controllers.js.map +1 -1
  33. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  34. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  35. package/package.json +11 -11
@@ -0,0 +1,28 @@
1
+ import { ClassInfo } from '@spinajs/di';
2
+ import { fs as fFs, FileHasher } from '@spinajs/fs';
3
+ import { BaseController } from './controllers.js';
4
+ import { Log } from '@spinajs/log';
5
+ /**
6
+ *
7
+ * We store parameter info in cache files
8
+ * Parsing ts files is slow.
9
+ *
10
+ * We do this becouse ts is not providing parameter names from functions - data is lost during runtime
11
+ * And we need this for proper parameter assignment in controller routes
12
+ *
13
+ */
14
+ export declare class DefaultControllerCache {
15
+ protected Log: Log;
16
+ /**
17
+ * Loaded controllers
18
+ */
19
+ Controllers: Promise<Array<ClassInfo<BaseController>>>;
20
+ /**
21
+ * File system for temporary files for storing controllers cache
22
+ */
23
+ protected CacheFS: fFs;
24
+ protected Hasher: FileHasher;
25
+ getCache(controller: ClassInfo<BaseController>): Promise<any>;
26
+ generate(): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,EAAE,IAAI,GAAG,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IAEjC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAE9D;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAEhB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IAa9C,QAAQ;CAgCtB"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DefaultControllerCache = void 0;
13
+ const di_1 = require("@spinajs/di");
14
+ const reflection_1 = require("@spinajs/reflection");
15
+ const fs_1 = require("@spinajs/fs");
16
+ const log_1 = require("@spinajs/log");
17
+ /**
18
+ *
19
+ * We store parameter info in cache files
20
+ * Parsing ts files is slow.
21
+ *
22
+ * We do this becouse ts is not providing parameter names from functions - data is lost during runtime
23
+ * And we need this for proper parameter assignment in controller routes
24
+ *
25
+ */
26
+ class DefaultControllerCache {
27
+ async getCache(controller) {
28
+ const file = controller.file.replace('.js', '.d.ts');
29
+ const hash = await this.Hasher.hash(file);
30
+ const exists = await this.CacheFS.exists(hash);
31
+ if (!exists) {
32
+ this.Log.warn(`Controller cache not exists for ${controller.name}, regenerating cache ...`);
33
+ await this.generate();
34
+ }
35
+ return await this.CacheFS.read(hash).then((x) => JSON.parse(x));
36
+ }
37
+ async generate() {
38
+ const controllers = await this.Controllers;
39
+ for (const controller of controllers) {
40
+ const file = controller.file.replace('.js', '.d.ts');
41
+ const hash = await this.Hasher.hash(file);
42
+ let parameters = {};
43
+ const exists = await this.CacheFS.exists(hash);
44
+ if (!exists) {
45
+ this.Log.trace(`Controller cache not exists for ${controller.name}, generating cache...`);
46
+ const compiler = new reflection_1.TypescriptCompiler(file);
47
+ const members = compiler.getClassMembers(controller.name);
48
+ members.forEach((v, k) => {
49
+ v.parameters.forEach((p) => {
50
+ if (!parameters[k]) {
51
+ parameters[k] = [];
52
+ }
53
+ parameters[k][v.parameters.indexOf(p)] = p.name.text;
54
+ });
55
+ });
56
+ await this.CacheFS.write(hash, JSON.stringify(parameters));
57
+ this.Log.trace(`Ending generating controller cache for ${controller.name}`);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ exports.DefaultControllerCache = DefaultControllerCache;
63
+ __decorate([
64
+ (0, log_1.Logger)('http'),
65
+ __metadata("design:type", log_1.Log)
66
+ ], DefaultControllerCache.prototype, "Log", void 0);
67
+ __decorate([
68
+ (0, reflection_1.ListFromFiles)('/**/!(*.d).{ts,js}', 'system.dirs.controllers'),
69
+ __metadata("design:type", Promise)
70
+ ], DefaultControllerCache.prototype, "Controllers", void 0);
71
+ __decorate([
72
+ (0, fs_1.FileSystem)('__fs_controller_cache__'),
73
+ __metadata("design:type", fs_1.fs)
74
+ ], DefaultControllerCache.prototype, "CacheFS", void 0);
75
+ __decorate([
76
+ (0, di_1.Autoinject)(fs_1.FileHasher),
77
+ __metadata("design:type", fs_1.FileHasher)
78
+ ], DefaultControllerCache.prototype, "Hasher", void 0);
79
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oCAAoD;AACpD,oDAAwE;AACxE,oCAAgE;AAEhE,sCAA2C;AAE3C;;;;;;;;GAQG;AACH,MAAa,sBAAsB;IAmB1B,KAAK,CAAC,QAAQ,CAAC,UAAqC;QACzD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,IAAI,0BAA0B,CAAC,CAAC;YAC5F,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;SACvB;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;QAE3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,UAAU,GAEV,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,EAAE;gBACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,UAAU,CAAC,IAAI,uBAAuB,CAAC,CAAC;gBAE1F,MAAM,QAAQ,GAAG,IAAI,+BAAkB,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;wBAC9B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;4BAClB,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;yBACpB;wBAED,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBAE3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;aAC7E;SACF;IACH,CAAC;CACF;AAhED,wDAgEC;AA9DW;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;mDAAC;AAMZ;IADN,IAAA,0BAAa,EAAC,oBAAoB,EAAE,yBAAyB,CAAC;;2DACD;AAMpD;IADT,IAAA,eAAU,EAAC,yBAAyB,CAAC;8BACnB,OAAG;uDAAC;AAGb;IADT,IAAA,eAAU,EAAC,eAAU,CAAC;8BACL,eAAU;sDAAC"}
@@ -0,0 +1,14 @@
1
+ import { CliCommand } from '@spinajs/cli';
2
+ import { Log } from '@spinajs/log-common';
3
+ import { DefaultControllerCache } from '../cache.js';
4
+ import { fs as fFs } from '@spinajs/fs';
5
+ export declare class ControllersCacheCommand extends CliCommand {
6
+ protected Log: Log;
7
+ /**
8
+ * File system for temporary files for storing controllers cache
9
+ */
10
+ protected CacheFS: fFs;
11
+ protected Cache: DefaultControllerCache;
12
+ execute(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=GenerateControllerCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateControllerCache.d.ts","sourceRoot":"","sources":["../../../src/cli/GenerateControllerCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AACnD,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAc,EAAE,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAEpD,qBACa,uBAAwB,SAAQ,UAAU;IAErD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,KAAK,EAAE,sBAAsB,CAAC;IAE3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ControllersCacheCommand = void 0;
13
+ const cli_1 = require("@spinajs/cli");
14
+ const log_common_1 = require("@spinajs/log-common");
15
+ const cache_js_1 = require("../cache.js");
16
+ const di_1 = require("@spinajs/di");
17
+ const fs_1 = require("@spinajs/fs");
18
+ let ControllersCacheCommand = class ControllersCacheCommand extends cli_1.CliCommand {
19
+ async execute() {
20
+ this.Log.info('Generating controllers cache ...');
21
+ await this.Cache.generate();
22
+ this.Log.info('Controllers cache generated at path: ', this.CacheFS.resolvePath(''));
23
+ }
24
+ };
25
+ exports.ControllersCacheCommand = ControllersCacheCommand;
26
+ __decorate([
27
+ (0, log_common_1.Logger)('http'),
28
+ __metadata("design:type", log_common_1.Log)
29
+ ], ControllersCacheCommand.prototype, "Log", void 0);
30
+ __decorate([
31
+ (0, fs_1.FileSystem)('__fs_controller_cache__'),
32
+ __metadata("design:type", fs_1.fs)
33
+ ], ControllersCacheCommand.prototype, "CacheFS", void 0);
34
+ __decorate([
35
+ (0, di_1.Autoinject)(),
36
+ __metadata("design:type", cache_js_1.DefaultControllerCache)
37
+ ], ControllersCacheCommand.prototype, "Cache", void 0);
38
+ exports.ControllersCacheCommand = ControllersCacheCommand = __decorate([
39
+ (0, cli_1.Command)('http:controllers:cache', 'generate controllers cache')
40
+ ], ControllersCacheCommand);
41
+ //# sourceMappingURL=GenerateControllerCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateControllerCache.js","sourceRoot":"","sources":["../../../src/cli/GenerateControllerCache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAmD;AACnD,oDAAkD;AAClD,0CAAqD;AACrD,oCAAyC;AACzC,oCAAoD;AAG7C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,gBAAU;IAa9C,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;CACF,CAAA;AAlBY,0DAAuB;AAExB;IADT,IAAA,mBAAM,EAAC,MAAM,CAAC;8BACA,gBAAG;oDAAC;AAMT;IADT,IAAA,eAAU,EAAC,yBAAyB,CAAC;8BACnB,OAAG;wDAAC;AAGb;IADT,IAAA,eAAU,GAAE;8BACI,iCAAsB;sDAAC;kCAX7B,uBAAuB;IADnC,IAAA,aAAO,EAAC,wBAAwB,EAAE,4BAA4B,CAAC;GACnD,uBAAuB,CAkBnC"}
@@ -5,6 +5,7 @@ declare const http: {
5
5
  dirs: {
6
6
  locales: string[];
7
7
  controllers: string[];
8
+ cli: string[];
8
9
  };
9
10
  };
10
11
  cookie: {
@@ -44,7 +45,7 @@ declare const http: {
44
45
  /**
45
46
  * full path to folder with static content
46
47
  */
47
- Path: string;
48
+ Path: string[];
48
49
  }[];
49
50
  /**
50
51
  * Whitch accept headers we support (default JSON & HTML)
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAiB9B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4DN;;WAEG;;YAGC;;eAEG;;YAGH;;eAEG;;;QAKP;;WAEG;;QAGH;;;WAGG;;;CAgBN,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAqB9B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6DN;;WAEG;;YAGC;;eAEG;;YAGH;;eAEG;;;QAKP;;WAEG;;QAGH;;;WAGG;;;CAgBN,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -11,7 +11,11 @@ const path_1 = require("path");
11
11
  const os_1 = __importDefault(require("os"));
12
12
  function dir(path) {
13
13
  const inCommonJs = typeof module !== 'undefined';
14
- return (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), 'node_modules', '@spinajs', 'http', 'lib', inCommonJs ? 'cjs' : 'mjs', path)));
14
+ return [
15
+ (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), 'node_modules', '@spinajs', 'http', 'lib', inCommonJs ? 'cjs' : 'mjs', path))),
16
+ // one up if we run from app or build folder
17
+ (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), '../', 'node_modules', '@spinajs', 'http', 'lib', inCommonJs ? 'cjs' : 'mjs', path))),
18
+ ];
15
19
  }
16
20
  function dir_cwd(path) {
17
21
  return (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), path)));
@@ -19,8 +23,9 @@ function dir_cwd(path) {
19
23
  const http = {
20
24
  system: {
21
25
  dirs: {
22
- locales: [dir('locales')],
23
- controllers: [dir('controllers')],
26
+ locales: [...dir('locales')],
27
+ controllers: [...dir('controllers')],
28
+ cli: [...dir('cli')],
24
29
  },
25
30
  },
26
31
  cookie: {
@@ -47,7 +52,7 @@ const http = {
47
52
  {
48
53
  service: 'fsNative',
49
54
  name: '__fs_controller_cache__',
50
- basePath: dir_cwd('./../fs/__cache__/__controllers__'),
55
+ basePath: dir_cwd('./__cache__/__controllers__'),
51
56
  },
52
57
  ],
53
58
  },
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,oDAA4B;AAC5B,kEAAyC;AACzC,8DAAsC;AACtC,+BAAgD;AAChD,4CAAoB;AAEpB,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9H,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAGD,MAAM,IAAI,GAAG;IACX,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzB,WAAW,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAClC;KACF;IACD,MAAM,EAAE;QACN,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE;YACP,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAI;SACf;KACF;IACD,EAAE,EAAE;QACF,SAAS,EAAE;YACT,6CAA6C;YAC7C,4CAA4C;YAC5C;gBACE,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,kCAAkC;gBACxC,QAAQ,EAAE,YAAE,CAAC,MAAM,EAAE;aACtB;YACD;gBACE,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,gCAAgC;gBACtC,QAAQ,EAAE,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;aACnH;YACD;gBACE,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,OAAO,CAAC,mCAAmC,CAAC;aACvD;SACF;KACF;IAED,IAAI,EAAE;QACJ,GAAG,EAAE;YACH,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;SACT;QACD,WAAW,EAAE;YACX,KAAK,EAAE;gBACL,2CAA2C;gBAC3C,MAAM,EAAE,EAAE;aACX;SACF;QACD,IAAI,EAAE,IAAI;QACV,WAAW,EAAE;YACX,IAAA,gBAAM,GAAE;YACR,iBAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,KAAK;aACb,CAAC;YACF,iBAAO,CAAC,UAAU,CAAC;gBACjB,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,IAAA,uBAAY,GAAE;YACd,IAAA,qBAAW,GAAE;SACd;QAED;;WAEG;QACH,MAAM,EAAE;YACN;gBACE;;mBAEG;gBACH,KAAK,EAAE,UAAU;gBAEjB;;mBAEG;gBACH,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;aACpB;SACF;QAED;;WAEG;QACH,aAAa,EAAE,CAAC,GAAG,CAAC;QAEpB;;;WAGG;QACH,aAAa,EAAE;;;;;;;;;;;;;4BAaS;KACzB;CACF,CAAC;AAEF,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { DataValidator } from '@spinajs/validation';
7
7
  import { Configuration } from '@spinajs/configuration';
8
8
  import { HttpServer } from './server.js';
9
9
  import { IController, IControllerDescriptor, IActionLocalStoregeContext } from './interfaces.js';
10
- import { fs as fFs, FileHasher } from '@spinajs/fs';
10
+ import { DefaultControllerCache } from './cache.js';
11
11
  export declare abstract class BaseController extends AsyncService implements IController {
12
12
  /**
13
13
  * Array index getter
@@ -43,25 +43,9 @@ export declare class Controllers extends AsyncService {
43
43
  protected Log: Log;
44
44
  protected Container: IContainer;
45
45
  protected Server: HttpServer;
46
- /**
47
- * File system for temporary files for storing controllers cache
48
- */
49
- protected CacheFS: fFs;
50
- protected Hasher: FileHasher;
46
+ protected ControllersCache: DefaultControllerCache;
51
47
  registerFromFile(file: string): Promise<void>;
52
48
  register(controller: ClassInfo<BaseController>): Promise<void>;
53
49
  resolve(): Promise<void>;
54
- /**
55
- *
56
- * We store parameter info in cache files
57
- * Parsing ts files is slow.
58
- *
59
- * We do this becouse ts is not providing parameter names from functions - data is lost during runtime
60
- * And we need this for proper parameter assignment in controller routes
61
- *
62
- * @param controller
63
- * @returns
64
- */
65
- private _getCachedControllerData;
66
50
  }
67
51
  //# sourceMappingURL=controllers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,SAAS,EAAa,MAAM,aAAa,CAAC;AAG7F,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAiC,WAAW,EAAE,qBAAqB,EAAgG,0BAA0B,EAAW,MAAM,iBAAiB,CAAC;AAGvO,OAAO,EAAE,EAAE,IAAI,GAAG,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAEhE,8BAAsB,cAAe,SAAQ,YAAa,YAAW,WAAW;IAC9E;;OAEG;IACH,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IAEtB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;IAGlC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC;IAGpC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IAGpB,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAG7E,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAAC,MAAM,CAElC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,qBAAqB,CAE7C;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAEY,OAAO;CA6LrB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG9D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAE7B;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAEhB,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAmB7B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IA0B9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC;;;;;;;;;;OAUG;YACW,wBAAwB;CAiCvC"}
1
+ {"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,SAAS,EAAa,MAAM,aAAa,CAAC;AAG7F,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAiC,WAAW,EAAE,qBAAqB,EAAgG,0BAA0B,EAAW,MAAM,iBAAiB,CAAC;AAGvO,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,8BAAsB,cAAe,SAAQ,YAAa,YAAW,WAAW;IAC9E;;OAEG;IACH,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IAEtB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;IAGlC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC;IAGpC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IAGpB,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAG7E,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAAC,MAAM,CAElC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,qBAAqB,CAE7C;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAEY,OAAO;CA6LrB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG9D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAG7B,SAAS,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAEtC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAmB7B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IA0B9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC"}
@@ -52,7 +52,7 @@ const server_js_1 = require("./server.js");
52
52
  const interfaces_js_1 = require("./interfaces.js");
53
53
  const decorators_js_1 = require("./decorators.js");
54
54
  const util_1 = require("@spinajs/util");
55
- const fs_1 = require("@spinajs/fs");
55
+ const cache_js_1 = require("./cache.js");
56
56
  class BaseController extends di_1.AsyncService {
57
57
  /**
58
58
  * Express router with middleware stack
@@ -281,7 +281,7 @@ class Controllers extends di_1.AsyncService {
281
281
  }
282
282
  async register(controller) {
283
283
  this.Log.trace(`Loading controller: ${controller.name}`);
284
- const parameters = await this._getCachedControllerData(controller);
284
+ const parameters = await this.ControllersCache.getCache(controller);
285
285
  if (!controller.instance.Descriptor) {
286
286
  this.Log.warn(`Controller ${controller.name} in file ${controller.file} dont have descriptor or routes defined`);
287
287
  }
@@ -307,43 +307,6 @@ class Controllers extends di_1.AsyncService {
307
307
  const controllers = await this.Controllers;
308
308
  await Promise.all(controllers.map((x) => this.register(x)));
309
309
  }
310
- /**
311
- *
312
- * We store parameter info in cache files
313
- * Parsing ts files is slow.
314
- *
315
- * We do this becouse ts is not providing parameter names from functions - data is lost during runtime
316
- * And we need this for proper parameter assignment in controller routes
317
- *
318
- * @param controller
319
- * @returns
320
- */
321
- async _getCachedControllerData(controller) {
322
- const file = controller.file.replace('.js', '.d.ts');
323
- const hash = await this.Hasher.hash(file);
324
- let parameters = {};
325
- const exists = await this.CacheFS.exists(hash);
326
- if (!exists) {
327
- this.Log.trace(`Controller cache not exists for ${controller.name}, generating cache...`);
328
- const compiler = new reflection_1.TypescriptCompiler(file);
329
- const members = compiler.getClassMembers(controller.name);
330
- members.forEach((v, k) => {
331
- v.parameters.forEach((p) => {
332
- if (!parameters[k]) {
333
- parameters[k] = [];
334
- }
335
- parameters[k][v.parameters.indexOf(p)] = p.name.text;
336
- });
337
- });
338
- await this.CacheFS.write(hash, JSON.stringify(parameters));
339
- this.Log.trace(`Ending generating controller cache for ${controller.name}`);
340
- }
341
- else {
342
- this.Log.trace(`Cache exists for controller ${controller.name}, loading from file...`);
343
- parameters = await this.CacheFS.read(hash).then((x) => JSON.parse(x));
344
- }
345
- return parameters;
346
- }
347
310
  }
348
311
  exports.Controllers = Controllers;
349
312
  __decorate([
@@ -363,11 +326,7 @@ __decorate([
363
326
  __metadata("design:type", server_js_1.HttpServer)
364
327
  ], Controllers.prototype, "Server", void 0);
365
328
  __decorate([
366
- (0, fs_1.FileSystem)('__fs_controller_cache__'),
367
- __metadata("design:type", fs_1.fs)
368
- ], Controllers.prototype, "CacheFS", void 0);
369
- __decorate([
370
- (0, di_1.Autoinject)(fs_1.FileHasher),
371
- __metadata("design:type", fs_1.FileHasher)
372
- ], Controllers.prototype, "Hasher", void 0);
329
+ (0, di_1.Autoinject)(),
330
+ __metadata("design:type", cache_js_1.DefaultControllerCache)
331
+ ], Controllers.prototype, "ControllersCache", void 0);
373
332
  //# sourceMappingURL=controllers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ClassInfo } from '@spinajs/di';
2
+ import { fs as fFs, FileHasher } from '@spinajs/fs';
3
+ import { BaseController } from './controllers.js';
4
+ import { Log } from '@spinajs/log';
5
+ /**
6
+ *
7
+ * We store parameter info in cache files
8
+ * Parsing ts files is slow.
9
+ *
10
+ * We do this becouse ts is not providing parameter names from functions - data is lost during runtime
11
+ * And we need this for proper parameter assignment in controller routes
12
+ *
13
+ */
14
+ export declare class DefaultControllerCache {
15
+ protected Log: Log;
16
+ /**
17
+ * Loaded controllers
18
+ */
19
+ Controllers: Promise<Array<ClassInfo<BaseController>>>;
20
+ /**
21
+ * File system for temporary files for storing controllers cache
22
+ */
23
+ protected CacheFS: fFs;
24
+ protected Hasher: FileHasher;
25
+ getCache(controller: ClassInfo<BaseController>): Promise<any>;
26
+ generate(): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,EAAE,IAAI,GAAG,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IAEjC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAE9D;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAEhB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IAa9C,QAAQ;CAgCtB"}
@@ -0,0 +1,75 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Autoinject } from '@spinajs/di';
11
+ import { TypescriptCompiler, ListFromFiles } from '@spinajs/reflection';
12
+ import { fs as fFs, FileHasher, FileSystem } from '@spinajs/fs';
13
+ import { Logger, Log } from '@spinajs/log';
14
+ /**
15
+ *
16
+ * We store parameter info in cache files
17
+ * Parsing ts files is slow.
18
+ *
19
+ * We do this becouse ts is not providing parameter names from functions - data is lost during runtime
20
+ * And we need this for proper parameter assignment in controller routes
21
+ *
22
+ */
23
+ export class DefaultControllerCache {
24
+ async getCache(controller) {
25
+ const file = controller.file.replace('.js', '.d.ts');
26
+ const hash = await this.Hasher.hash(file);
27
+ const exists = await this.CacheFS.exists(hash);
28
+ if (!exists) {
29
+ this.Log.warn(`Controller cache not exists for ${controller.name}, regenerating cache ...`);
30
+ await this.generate();
31
+ }
32
+ return await this.CacheFS.read(hash).then((x) => JSON.parse(x));
33
+ }
34
+ async generate() {
35
+ const controllers = await this.Controllers;
36
+ for (const controller of controllers) {
37
+ const file = controller.file.replace('.js', '.d.ts');
38
+ const hash = await this.Hasher.hash(file);
39
+ let parameters = {};
40
+ const exists = await this.CacheFS.exists(hash);
41
+ if (!exists) {
42
+ this.Log.trace(`Controller cache not exists for ${controller.name}, generating cache...`);
43
+ const compiler = new TypescriptCompiler(file);
44
+ const members = compiler.getClassMembers(controller.name);
45
+ members.forEach((v, k) => {
46
+ v.parameters.forEach((p) => {
47
+ if (!parameters[k]) {
48
+ parameters[k] = [];
49
+ }
50
+ parameters[k][v.parameters.indexOf(p)] = p.name.text;
51
+ });
52
+ });
53
+ await this.CacheFS.write(hash, JSON.stringify(parameters));
54
+ this.Log.trace(`Ending generating controller cache for ${controller.name}`);
55
+ }
56
+ }
57
+ }
58
+ }
59
+ __decorate([
60
+ Logger('http'),
61
+ __metadata("design:type", Log)
62
+ ], DefaultControllerCache.prototype, "Log", void 0);
63
+ __decorate([
64
+ ListFromFiles('/**/!(*.d).{ts,js}', 'system.dirs.controllers'),
65
+ __metadata("design:type", Promise)
66
+ ], DefaultControllerCache.prototype, "Controllers", void 0);
67
+ __decorate([
68
+ FileSystem('__fs_controller_cache__'),
69
+ __metadata("design:type", fFs)
70
+ ], DefaultControllerCache.prototype, "CacheFS", void 0);
71
+ __decorate([
72
+ Autoinject(FileHasher),
73
+ __metadata("design:type", FileHasher)
74
+ ], DefaultControllerCache.prototype, "Hasher", void 0);
75
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { CliCommand } from '@spinajs/cli';
2
+ import { Log } from '@spinajs/log-common';
3
+ import { DefaultControllerCache } from '../cache.js';
4
+ import { fs as fFs } from '@spinajs/fs';
5
+ export declare class ControllersCacheCommand extends CliCommand {
6
+ protected Log: Log;
7
+ /**
8
+ * File system for temporary files for storing controllers cache
9
+ */
10
+ protected CacheFS: fFs;
11
+ protected Cache: DefaultControllerCache;
12
+ execute(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=GenerateControllerCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateControllerCache.d.ts","sourceRoot":"","sources":["../../../src/cli/GenerateControllerCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AACnD,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAc,EAAE,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAEpD,qBACa,uBAAwB,SAAQ,UAAU;IAErD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,KAAK,EAAE,sBAAsB,CAAC;IAE3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
@@ -0,0 +1,38 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { CliCommand, Command } from '@spinajs/cli';
11
+ import { Logger, Log } from '@spinajs/log-common';
12
+ import { DefaultControllerCache } from '../cache.js';
13
+ import { Autoinject } from '@spinajs/di';
14
+ import { FileSystem, fs as fFs } from '@spinajs/fs';
15
+ let ControllersCacheCommand = class ControllersCacheCommand extends CliCommand {
16
+ async execute() {
17
+ this.Log.info('Generating controllers cache ...');
18
+ await this.Cache.generate();
19
+ this.Log.info('Controllers cache generated at path: ', this.CacheFS.resolvePath(''));
20
+ }
21
+ };
22
+ __decorate([
23
+ Logger('http'),
24
+ __metadata("design:type", Log)
25
+ ], ControllersCacheCommand.prototype, "Log", void 0);
26
+ __decorate([
27
+ FileSystem('__fs_controller_cache__'),
28
+ __metadata("design:type", fFs)
29
+ ], ControllersCacheCommand.prototype, "CacheFS", void 0);
30
+ __decorate([
31
+ Autoinject(),
32
+ __metadata("design:type", DefaultControllerCache)
33
+ ], ControllersCacheCommand.prototype, "Cache", void 0);
34
+ ControllersCacheCommand = __decorate([
35
+ Command('http:controllers:cache', 'generate controllers cache')
36
+ ], ControllersCacheCommand);
37
+ export { ControllersCacheCommand };
38
+ //# sourceMappingURL=GenerateControllerCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateControllerCache.js","sourceRoot":"","sources":["../../../src/cli/GenerateControllerCache.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAG7C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU;IAa9C,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;CACF,CAAA;AAhBW;IADT,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;oDAAC;AAMT;IADT,UAAU,CAAC,yBAAyB,CAAC;8BACnB,GAAG;wDAAC;AAGb;IADT,UAAU,EAAE;8BACI,sBAAsB;sDAAC;AAX7B,uBAAuB;IADnC,OAAO,CAAC,wBAAwB,EAAE,4BAA4B,CAAC;GACnD,uBAAuB,CAkBnC"}
@@ -5,6 +5,7 @@ declare const http: {
5
5
  dirs: {
6
6
  locales: string[];
7
7
  controllers: string[];
8
+ cli: string[];
8
9
  };
9
10
  };
10
11
  cookie: {
@@ -44,7 +45,7 @@ declare const http: {
44
45
  /**
45
46
  * full path to folder with static content
46
47
  */
47
- Path: string;
48
+ Path: string[];
48
49
  }[];
49
50
  /**
50
51
  * Whitch accept headers we support (default JSON & HTML)
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAiB9B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4DN;;WAEG;;YAGC;;eAEG;;YAGH;;eAEG;;;QAKP;;WAEG;;QAGH;;;WAGG;;;CAgBN,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAqB9B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6DN;;WAEG;;YAGC;;eAEG;;YAGH;;eAEG;;;QAKP;;WAEG;;QAGH;;;WAGG;;;CAgBN,CAAC;AAEF,eAAe,IAAI,CAAC"}