@buildvision/nest-sdk-generator 1.2.2 → 2.1.0

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 (74) hide show
  1. package/.eslintrc.js +63 -0
  2. package/README.md +2 -2
  3. package/build/analyzer/classdeps.js +1 -1
  4. package/build/analyzer/controller.d.ts +4 -4
  5. package/build/analyzer/controller.js +3 -3
  6. package/build/analyzer/controllers.d.ts +1 -1
  7. package/build/analyzer/controllers.js +10 -2
  8. package/build/analyzer/decorator.d.ts +2 -2
  9. package/build/analyzer/decorator.js +19 -19
  10. package/build/analyzer/extractor.d.ts +4 -4
  11. package/build/analyzer/extractor.js +6 -17
  12. package/build/analyzer/index.d.ts +1 -1
  13. package/build/analyzer/index.js +2 -2
  14. package/build/analyzer/methods.d.ts +7 -7
  15. package/build/analyzer/methods.js +6 -9
  16. package/build/analyzer/module.js +2 -2
  17. package/build/analyzer/params.d.ts +59 -17
  18. package/build/analyzer/params.js +150 -129
  19. package/build/analyzer/route.d.ts +5 -2
  20. package/build/analyzer/route.js +13 -7
  21. package/build/analyzer/typedeps.d.ts +6 -6
  22. package/build/analyzer/typedeps.js +3 -3
  23. package/build/bin.js +9 -13
  24. package/build/config.d.ts +29 -19
  25. package/build/config.js +2 -2
  26. package/build/generator/genmodules.d.ts +33 -10
  27. package/build/generator/genmodules.js +165 -113
  28. package/build/generator/gentypes.js +1 -1
  29. package/build/generator/index.d.ts +1 -1
  30. package/build/generator/index.js +23 -22
  31. package/build/generator/prettier.d.ts +1 -1
  32. package/build/generator/prettier.js +2 -2
  33. package/build/generator/sdk-interface.d.ts +1 -1
  34. package/build/generator/sdk-interface.js +5 -5
  35. package/build/logging.js +4 -2
  36. package/build/rtk-query-generator/genmodules.d.ts +54 -0
  37. package/build/rtk-query-generator/genmodules.js +252 -0
  38. package/build/rtk-query-generator/gentypes.d.ts +10 -0
  39. package/build/rtk-query-generator/gentypes.js +62 -0
  40. package/build/rtk-query-generator/index.d.ts +6 -0
  41. package/build/rtk-query-generator/index.js +84 -0
  42. package/build/rtk-query-generator/prettier.d.ts +16 -0
  43. package/build/rtk-query-generator/prettier.js +43 -0
  44. package/build/rtk-query-generator/sdk-interface.d.ts +1 -0
  45. package/build/rtk-query-generator/sdk-interface.js +36 -0
  46. package/build/tsconfig.tsbuildinfo +1 -1
  47. package/build/utils.js +1 -1
  48. package/bun.lockb +0 -0
  49. package/package.json +16 -5
  50. package/src/analyzer/classdeps.ts +3 -0
  51. package/src/analyzer/controller.ts +12 -6
  52. package/src/analyzer/controllers.ts +16 -1
  53. package/src/analyzer/extractor.ts +12 -23
  54. package/src/analyzer/index.ts +5 -2
  55. package/src/analyzer/methods.ts +12 -13
  56. package/src/analyzer/module.ts +4 -10
  57. package/src/analyzer/params.ts +212 -182
  58. package/src/analyzer/route.ts +10 -4
  59. package/src/analyzer/typedeps.ts +13 -11
  60. package/src/bin.ts +11 -13
  61. package/src/config.ts +35 -24
  62. package/src/generator/genmodules.ts +212 -129
  63. package/src/generator/gentypes.ts +1 -0
  64. package/src/generator/index.ts +23 -23
  65. package/src/generator/prettier.ts +4 -2
  66. package/src/logging.ts +4 -1
  67. package/src/rtk-query-generator/genmodules.ts +335 -0
  68. package/src/rtk-query-generator/gentypes.ts +74 -0
  69. package/src/rtk-query-generator/index.ts +92 -0
  70. package/src/rtk-query-generator/prettier.ts +48 -0
  71. package/src/rtk-query-generator/sdk-interface.ts +32 -0
  72. package/src/utils.ts +2 -2
  73. package/tsconfig.tsbuildinfo +1 -0
  74. package/src/analyzer/decorator.ts +0 -29
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /**
3
+ * @file Entrypoint of the SDK generator
4
+ */
5
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
+ return new (P || (P = Promise))(function (resolve, reject) {
8
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
12
+ });
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const fs = require("fs");
16
+ const path = require("path");
17
+ const typedeps_1 = require("../analyzer/typedeps");
18
+ const logging_1 = require("../logging");
19
+ const genmodules_1 = require("./genmodules");
20
+ const gentypes_1 = require("./gentypes");
21
+ const prettier_1 = require("./prettier");
22
+ const sdk_interface_1 = require("./sdk-interface");
23
+ function generateRTKQueryEndpoints(config, sdkContent) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const prettifyOutput = config.prettify !== false;
26
+ if (!prettifyOutput) {
27
+ (0, logging_1.debug)('NOTE: files will not be prettified with Prettier');
28
+ }
29
+ const outputPath = path.resolve(process.cwd(), config.sdkOutputPath);
30
+ const inputPath = path.resolve(process.cwd(), config.apiInputPath);
31
+ const inputRelativePath = path.relative(outputPath, inputPath);
32
+ if (fs.existsSync(outputPath)) {
33
+ if (config.overwriteOldOutputDir === false) {
34
+ (0, logging_1.panic)("Please provide an output directory that doesn't exist yet");
35
+ }
36
+ else {
37
+ fs.rmSync(outputPath, { recursive: true });
38
+ }
39
+ }
40
+ const outputParentDir = path.dirname(outputPath);
41
+ if (!fs.existsSync(outputParentDir)) {
42
+ (0, logging_1.panic)("Output directory's parent {magentaBright} does not exist.", outputParentDir);
43
+ }
44
+ fs.mkdirSync(outputPath);
45
+ const prettierConfig = prettifyOutput ? (0, prettier_1.findPrettierConfig)(config) : {};
46
+ const writeScriptTo = (parentDir, file, utf8Content) => __awaiter(this, void 0, void 0, function* () {
47
+ if (file.endsWith('.ts')) {
48
+ utf8Content =
49
+ '/// Auto-generated file (nest-sdk-generator)\n' +
50
+ '/// Please do not edit this file - re-generate the SDK using the generator instead.\n' +
51
+ (config.generateTimestamps !== false ? '/// Generated on: ' + new Date().toUTCString() + '\n' : '') +
52
+ '///\n' +
53
+ utf8Content;
54
+ }
55
+ const fullPath = path.resolve(outputPath, parentDir !== null && parentDir !== void 0 ? parentDir : '', file);
56
+ fs.mkdirSync(path.dirname(fullPath), { recursive: true });
57
+ const fileContent = prettifyOutput
58
+ ? yield (0, prettier_1.prettify)(utf8Content, prettierConfig, file.endsWith('.json') ? 'json' : 'typescript')
59
+ : utf8Content;
60
+ fs.writeFileSync(fullPath, fileContent, 'utf8');
61
+ });
62
+ (0, logging_1.println)('> Generating type files...');
63
+ for (const [file, content] of (0, gentypes_1.generateSdkTypeFiles)(sdkContent.types)) {
64
+ yield writeScriptTo('_types', (0, typedeps_1.normalizeExternalFilePath)(file), content);
65
+ }
66
+ (0, logging_1.println)('> Generating modules...');
67
+ const modules = sdkContent.modules;
68
+ for (const [file, content] of (0, genmodules_1.generateSdkModules)({ modules, inputRelativePath })) {
69
+ yield writeScriptTo(null, file, content);
70
+ }
71
+ const sdkInterfacePath = path.resolve(process.cwd(), config.sdkInterfacePath);
72
+ const relativeSdkInterfacePath = path
73
+ .relative(outputPath, sdkInterfacePath)
74
+ .replace(/\\/g, '/')
75
+ .replace(/\.([jt]sx?)$/, '');
76
+ yield writeScriptTo(null, 'baseRequest.ts', `export { BaseRequest, type BaseRequestArgs } from "${relativeSdkInterfacePath}"`);
77
+ if (!fs.existsSync(sdkInterfacePath) && config.generateDefaultSdkInterface !== false) {
78
+ (0, logging_1.println)('├─ Generating default SDK interface...');
79
+ fs.writeFileSync(sdkInterfacePath, sdk_interface_1.defaultSdkInterface, 'utf8');
80
+ }
81
+ });
82
+ }
83
+ exports.default = generateRTKQueryEndpoints;
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnRrLXF1ZXJ5LWdlbmVyYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7Ozs7O0FBRUgseUJBQXdCO0FBQ3hCLDZCQUE0QjtBQUc1QixtREFBZ0U7QUFFaEUsd0NBQWtEO0FBRWxELDZDQUFpRDtBQUNqRCx5Q0FBaUQ7QUFDakQseUNBQXlEO0FBQ3pELG1EQUFxRDtBQUVyRCxTQUE4Qix5QkFBeUIsQ0FBQyxNQUFjLEVBQUUsVUFBc0I7O1FBQzVGLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFBO1FBRWhELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixJQUFBLGVBQUssRUFBQyxrREFBa0QsQ0FBQyxDQUFBO1FBQzNELENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2xFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFFOUQsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxNQUFNLENBQUMscUJBQXFCLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzNDLElBQUEsZUFBSyxFQUFDLDJEQUEyRCxDQUFDLENBQUE7WUFDcEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7WUFDNUMsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRWhELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBQSxlQUFLLEVBQUMsMkRBQTJELEVBQUUsZUFBZSxDQUFDLENBQUE7UUFDckYsQ0FBQztRQUVELEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFeEIsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFBLDZCQUFrQixFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFFdkUsTUFBTSxhQUFhLEdBQUcsQ0FBTyxTQUF3QixFQUFFLElBQVksRUFBRSxXQUFtQixFQUFFLEVBQUU7WUFDMUYsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLFdBQVc7b0JBQ1QsZ0RBQWdEO3dCQUNoRCx1RkFBdUY7d0JBQ3ZGLENBQUMsTUFBTSxDQUFDLGtCQUFrQixLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDbkcsT0FBTzt3QkFDUCxXQUFXLENBQUE7WUFDZixDQUFDO1lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ2hFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBRXpELE1BQU0sV0FBVyxHQUFHLGNBQWM7Z0JBQ2hDLENBQUMsQ0FBQyxNQUFNLElBQUEsbUJBQVEsRUFBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2dCQUM3RixDQUFDLENBQUMsV0FBVyxDQUFBO1lBQ2YsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2pELENBQUMsQ0FBQSxDQUFBO1FBRUQsSUFBQSxpQkFBTyxFQUFDLDRCQUE0QixDQUFDLENBQUE7UUFFckMsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUEsK0JBQW9CLEVBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckUsTUFBTSxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUEsb0NBQXlCLEVBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDekUsQ0FBQztRQUVELElBQUEsaUJBQU8sRUFBQyx5QkFBeUIsQ0FBQyxDQUFBO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUE7UUFDbEMsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUEsK0JBQWtCLEVBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDakYsTUFBTSxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMxQyxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUU3RSxNQUFNLHdCQUF3QixHQUFHLElBQUk7YUFDbEMsUUFBUSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQzthQUN0QyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQzthQUNuQixPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRTlCLE1BQU0sYUFBYSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxzREFBc0Qsd0JBQXdCLEdBQUcsQ0FBQyxDQUFBO1FBRTlILElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksTUFBTSxDQUFDLDJCQUEyQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3JGLElBQUEsaUJBQU8sRUFBQyx3Q0FBd0MsQ0FBQyxDQUFBO1lBRWpELEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsbUNBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDakUsQ0FBQztJQUNILENBQUM7Q0FBQTtBQTFFRCw0Q0EwRUMifQ==
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @file Interface for prettifying generated files
3
+ */
4
+ import { Config } from '../config';
5
+ /**
6
+ * Find a .prettierrc configuration file in the current directory or above
7
+ */
8
+ export declare function findPrettierConfig(config: Config): object;
9
+ /**
10
+ * Prettify a TypeScript or JSON input
11
+ * @param source
12
+ * @param config
13
+ * @param parser
14
+ * @returns
15
+ */
16
+ export declare function prettify(source: string, config: object, parser: 'typescript' | 'json'): Promise<string>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * @file Interface for prettifying generated files
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.prettify = exports.findPrettierConfig = void 0;
7
+ const fs = require("fs");
8
+ const prettier = require("prettier");
9
+ const logging_1 = require("../logging");
10
+ const utils_1 = require("../utils");
11
+ /**
12
+ * Find a .prettierrc configuration file in the current directory or above
13
+ */
14
+ function findPrettierConfig(config) {
15
+ var _a;
16
+ const prettierConfigPath = (_a = config.prettierConfig) !== null && _a !== void 0 ? _a : (0, utils_1.findFileAbove)('.prettierrc', config.sdkOutputPath);
17
+ if (!prettierConfigPath) {
18
+ return {};
19
+ }
20
+ if (!fs.existsSync(prettierConfigPath)) {
21
+ (0, logging_1.panic)('Prettier configuration was not found at specified path {magenta}', prettierConfigPath);
22
+ }
23
+ const text = fs.readFileSync(prettierConfigPath, 'utf8');
24
+ try {
25
+ return JSON.parse(text);
26
+ }
27
+ catch (e) {
28
+ throw new Error('Failed to parse Prettier configuration: ' + e);
29
+ }
30
+ }
31
+ exports.findPrettierConfig = findPrettierConfig;
32
+ /**
33
+ * Prettify a TypeScript or JSON input
34
+ * @param source
35
+ * @param config
36
+ * @param parser
37
+ * @returns
38
+ */
39
+ function prettify(source, config, parser) {
40
+ return prettier.format(source, Object.assign({ parser }, config));
41
+ }
42
+ exports.prettify = prettify;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnRrLXF1ZXJ5LWdlbmVyYXRvci9wcmV0dGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILHlCQUF3QjtBQUV4QixxQ0FBb0M7QUFHcEMsd0NBQWtDO0FBQ2xDLG9DQUF3QztBQUV4Qzs7R0FFRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLE1BQWM7O0lBQy9DLE1BQU0sa0JBQWtCLEdBQUcsTUFBQSxNQUFNLENBQUMsY0FBYyxtQ0FBSSxJQUFBLHFCQUFhLEVBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUV0RyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDdkMsSUFBQSxlQUFLLEVBQUMsa0VBQWtFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUMvRixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUV4RCxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2pFLENBQUM7QUFDSCxDQUFDO0FBbEJELGdEQWtCQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxNQUFjLEVBQUUsTUFBYyxFQUFFLE1BQTZCO0lBQ3BGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLGtCQUMzQixNQUFNLElBQ0gsTUFBTSxFQUNULENBQUE7QUFDSixDQUFDO0FBTEQsNEJBS0MifQ==
@@ -0,0 +1 @@
1
+ export declare const defaultSdkInterface: string;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultSdkInterface = void 0;
4
+ exports.defaultSdkInterface = `
5
+ export async function request(
6
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE',
7
+ uri: string,
8
+ body: unknown,
9
+ query: Record<string, string>
10
+ ): Promise<unknown> {
11
+ const url = new URL('http://localhost:3000' + uri)
12
+ url.search = new URLSearchParams(query).toString()
13
+
14
+ const params: RequestInit = {
15
+ method,
16
+ // Required for content to be correctly parsed by NestJS
17
+ headers: { 'Content-Type': 'application/json' },
18
+ }
19
+
20
+ // Setting a body is forbidden on GET requests
21
+ if (method !== 'GET') {
22
+ params.body = JSON.stringify(body)
23
+ }
24
+
25
+ return fetch(url.toString(), params).then((res) => {
26
+ // Handle failed requests
27
+ if (!res.ok) {
28
+ throw Error(res.statusText)
29
+ }
30
+
31
+ return res.json()
32
+ })
33
+ }
34
+
35
+ `.trim();
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydGstcXVlcnktZ2VuZXJhdG9yL3Nkay1pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxtQkFBbUIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQStCbEMsQ0FBQyxJQUFJLEVBQUUsQ0FBQSJ9
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/@ts-morph/common/lib/typescript.d.ts","../node_modules/@ts-morph/common/lib/ts-morph-common.d.ts","../node_modules/ts-morph/lib/ts-morph.d.ts","../node_modules/chalk/index.d.ts","../src/config.ts","../src/logging.ts","../src/analyzer/builtin.ts","../src/utils.ts","../src/analyzer/decorator.ts","../src/analyzer/route.ts","../src/analyzer/typedeps.ts","../src/analyzer/params.ts","../src/analyzer/methods.ts","../src/analyzer/controller.ts","../src/analyzer/module.ts","../src/analyzer/controllers.ts","../src/analyzer/classdeps.ts","../src/analyzer/extractor.ts","../src/analyzer/index.ts","../src/generator/genmodules.ts","../src/generator/gentypes.ts","../node_modules/@types/prettier/index.d.ts","../src/generator/prettier.ts","../src/generator/sdk-interface.ts","../src/generator/index.ts","../src/bin.ts","../node_modules/@types/minimist/index.d.ts","../node_modules/@types/node/ts4.8/assert.d.ts","../node_modules/@types/node/ts4.8/assert/strict.d.ts","../node_modules/@types/node/ts4.8/globals.d.ts","../node_modules/@types/node/ts4.8/async_hooks.d.ts","../node_modules/@types/node/ts4.8/buffer.d.ts","../node_modules/@types/node/ts4.8/child_process.d.ts","../node_modules/@types/node/ts4.8/cluster.d.ts","../node_modules/@types/node/ts4.8/console.d.ts","../node_modules/@types/node/ts4.8/constants.d.ts","../node_modules/@types/node/ts4.8/crypto.d.ts","../node_modules/@types/node/ts4.8/dgram.d.ts","../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../node_modules/@types/node/ts4.8/dns.d.ts","../node_modules/@types/node/ts4.8/dns/promises.d.ts","../node_modules/@types/node/ts4.8/domain.d.ts","../node_modules/@types/node/ts4.8/dom-events.d.ts","../node_modules/@types/node/ts4.8/events.d.ts","../node_modules/@types/node/ts4.8/fs.d.ts","../node_modules/@types/node/ts4.8/fs/promises.d.ts","../node_modules/@types/node/ts4.8/http.d.ts","../node_modules/@types/node/ts4.8/http2.d.ts","../node_modules/@types/node/ts4.8/https.d.ts","../node_modules/@types/node/ts4.8/inspector.d.ts","../node_modules/@types/node/ts4.8/module.d.ts","../node_modules/@types/node/ts4.8/net.d.ts","../node_modules/@types/node/ts4.8/os.d.ts","../node_modules/@types/node/ts4.8/path.d.ts","../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../node_modules/@types/node/ts4.8/process.d.ts","../node_modules/@types/node/ts4.8/punycode.d.ts","../node_modules/@types/node/ts4.8/querystring.d.ts","../node_modules/@types/node/ts4.8/readline.d.ts","../node_modules/@types/node/ts4.8/readline/promises.d.ts","../node_modules/@types/node/ts4.8/repl.d.ts","../node_modules/@types/node/ts4.8/stream.d.ts","../node_modules/@types/node/ts4.8/stream/promises.d.ts","../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../node_modules/@types/node/ts4.8/stream/web.d.ts","../node_modules/@types/node/ts4.8/string_decoder.d.ts","../node_modules/@types/node/ts4.8/test.d.ts","../node_modules/@types/node/ts4.8/timers.d.ts","../node_modules/@types/node/ts4.8/timers/promises.d.ts","../node_modules/@types/node/ts4.8/tls.d.ts","../node_modules/@types/node/ts4.8/trace_events.d.ts","../node_modules/@types/node/ts4.8/tty.d.ts","../node_modules/@types/node/ts4.8/url.d.ts","../node_modules/@types/node/ts4.8/util.d.ts","../node_modules/@types/node/ts4.8/v8.d.ts","../node_modules/@types/node/ts4.8/vm.d.ts","../node_modules/@types/node/ts4.8/wasi.d.ts","../node_modules/@types/node/ts4.8/worker_threads.d.ts","../node_modules/@types/node/ts4.8/zlib.d.ts","../node_modules/@types/node/ts4.8/globals.global.d.ts","../node_modules/@types/node/ts4.8/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"f84c28802d5c44429c86180eed9bb73826f2efd559205632ecb23d904b0a1a8c","5b62cb32ae66c8d1d420f2a807cd81dd1e5e68547eeacd738d41c39b64b6687c","01d183dc38180ca94b2751133213800c337e78d759498bc150adcda54271265e","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2",{"version":"c57015012f9720cebf36a538c82d990d793c2c70a30116fe29f9c286abcff7c3","signature":"bd1e2c77be9c95b240f47bc1a79102bb776253ef47f7e3708acb96f55c3e4911"},{"version":"040a645e9aa561becc6455beea2d16dfd89e7fb4a9d420be61eec838ed5ed42f","signature":"97289946dcfb289cfd3d02cba6d6ae3f19774cce5b662d50d8143dc32f2da4e3"},{"version":"8157e1133662959c7ddbcc92699c54e4fae658ef1110502f9b9a2b8153d768a9","signature":"c4801fef282d23bc99a3f07370b514ec11b83d1535e45c26eaa602933c791c43"},{"version":"1dd6493cd596960db56a1f49a51dbd11a5de9b3c10094e87358fc11126b671f7","signature":"4582dd61b218dc2fcf29ff6c2d7afaa8e4253d3c7c0300e42bba51e8f44325de"},{"version":"5f9cea65ce84950d7eaef20c93be89ef921c66715b2f186164fb6ada7b490644","signature":"44bef93c3e68048419b7c7953f470c5ba93812aaaa631c3db9290127d7ffbb1b"},{"version":"86d87a3ed7a7979485a61ee5a3ae3ce199b4ae67d0351570c76b54ceef7fac89","signature":"c41b8d6b4dc5220715c6f3bd7ffc8a4e6ec719a82b3d43e5ebe897ffbc74db94"},{"version":"8abd878edf3529a6ba9c4332d0574ef9eb4f7e024982c402aff517c9e8eb3377","signature":"692fa4feb19415d8f97cc48cc1156242259554cd2b76f71ac2f31a5643d9edae"},{"version":"b7526e02aa67018089c89ca3a874906be2544c9184a438367454f313c4541530","signature":"c0dd1588452e9ececf521b9f90f0694ff589be4c0c282660a0e09ad218e671a4"},{"version":"c0d1aa0482f61569e6bb4ccea948b22e0551812d21047a32770c2ecb4842e970","signature":"6b04076217e270b79065e1e1254dd6a36aed91477a89c33ec1e910d2366ccc64"},{"version":"412b29eac99c4fb5b9cdde05fbf313da9d78854f724b5039353c0478bdde3c4a","signature":"eea8ea594c95db2f51b41b63f5e1c26b0bae113ab681b2c45b66e6040ca66077"},{"version":"a9a78b115d1a534d608af164588eeac9e0eb9c33f18559d10ea9e81624a4993a","signature":"90a8b386427c346a328c73e30d7ef5c48a76830598998e2a3115c60494d7fe2c"},{"version":"09d0411532006cd12b5138b6e81478271cc3348af59f54f74551178b073346f5","signature":"108f5d9b78ee3274deff2a67c838a9b55f7cce7531e00efcd06dafc9714a293b"},{"version":"b81692ed3cf6ea0d72b8783799a23da975abd7b0420a157dd1ffd9c11d4c00ce","signature":"ec5fed8b863bf1cca1310ae7eca191903f6bcd5825b2a5b5fcaee6dcfb806c59"},{"version":"686ceecb1e79fa4c4c1ea63a5211fe39933fb34abb8a36c121ff2e721b313a4c","signature":"71f5382a1b32738eadad057a07be724af646952edebe353440741310af89732b"},{"version":"65f1347c65f686439265e15fd964e5bd3ab37b709392056fffb5503e78aa7a76","signature":"6eb904a7b2b46ea6d96dc3e107cbb0310f3fe6933a2e56aad70cc58af40d18ae"},{"version":"3edf1bd1e230eed75e5b86aa2c74bbf1688a6f5205118f90e337c2a1171cf801","signature":"2352d5ad71964dde24bcd1d5188b0fc53bd5cd8f49e671fc680fe4162f38ec52"},{"version":"46f72b19c34a476fc472d965fe3f6a714e1c111bd048e55c666ad44b41ed0a6a","signature":"69d47da2a10388566f354505bc8d8bc658ed7354b5ebb092a8ae9e181af5d6ca"},"d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e",{"version":"e7c44a15049b101c892b8a0c37ec3d4295f2cc0afe196fe0d9a8e90bb0d607a9","signature":"91205f8af5cac50a6b8afb1775a76218b7b36d87463c9434474a9f02d8035839"},{"version":"6b3ae16e022e27554be5262b22915d1ffd452fc97499276a909ba9e5bf009095","signature":"8f36da2c06a62c7c14b4a18eb2a0c97ab8ff3fed355c0eaf1cf62129faf8e67f"},{"version":"d907e4427ec084b74dabb167b5000016b06d3afd8621a842f2f1f8cab0154155","signature":"fc42ade730e2ce07d81d0581eb49139f1d236aabce2a7cfc6441e7685a314599"},{"version":"ed03ccc8b8e87e538f0c71a0a73ebabfc0e2035df3c166f274a3628433f4879a","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"c0db280fa6b09d7b8d6720a19a47f485956a41ee0e6914f1b704033eb69c6058","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7"],"options":{"declaration":true,"downlevelIteration":true,"experimentalDecorators":true,"inlineSourceMap":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"outDir":"./","strict":true,"target":2,"useUnknownInCatchVariables":true},"fileIdsList":[[54,127],[127],[81,127],[84,127],[85,90,118,127],[86,97,98,105,115,126,127],[86,87,97,105,127],[88,127],[89,90,98,106,127],[90,115,123,127],[91,93,97,105,127],[92,127],[93,94,127],[97,127],[95,97,127],[97,98,99,115,126,127],[97,98,99,112,115,118,127],[127,131],[93,100,105,115,126,127],[97,98,100,101,105,115,123,126,127],[100,102,115,123,126,127],[81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133],[97,103,127],[104,126,127],[93,97,105,115,127],[106,127],[107,127],[84,108,127],[109,125,127,131],[110,127],[111,127],[97,112,113,127],[112,114,127,129],[85,97,115,116,117,118,127],[85,115,117,127],[115,116,127],[118,127],[119,127],[97,121,122,127],[121,122,127],[90,105,115,123,127],[124,127],[105,125,127],[85,100,111,126,127],[90,127],[115,127,128],[127,129],[127,130],[85,90,97,99,108,115,126,127,129,131],[115,127,132],[55,127],[58,127],[56,59,64,107,127],[56,59,66,107,127],[56,59,61,67,68,106,107,127],[56,59,127],[56,58,59,64,69,70,107,127],[56,58,59,60,69,71,98,107,127],[56,57,59,63,64,65,127],[56,59,107,127],[56,59,62,63,64,66,127],[58,59,72,78,107,127],[57,98,107,127],[59,63,64,65,66,69,107,127],[64,71,107,127],[58,59,64,72,73,74,76,77,98,107,127],[58,59,61,75,98,127],[57,58,127],[98,107,127],[58],[56,64],[56,66],[56,67],[56],[56,58,64,69],[58,69,71],[56,63,64,65],[56,63,64,66],[65,66,69],[71],[58,72]],"referencedMap":[[55,1],[54,2],[80,2],[81,3],[82,3],[84,4],[85,5],[86,6],[87,7],[88,8],[89,9],[90,10],[91,11],[92,12],[93,13],[94,13],[96,14],[95,15],[97,14],[98,16],[99,17],[83,18],[133,2],[100,19],[101,20],[102,21],[134,22],[103,23],[104,24],[105,25],[106,26],[107,27],[108,28],[109,29],[110,30],[111,31],[112,32],[113,32],[114,33],[115,34],[117,35],[116,36],[118,37],[119,38],[120,2],[121,39],[122,40],[123,41],[124,42],[125,43],[126,44],[127,45],[128,46],[129,47],[130,48],[131,49],[132,50],[75,2],[57,2],[56,51],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[51,2],[52,2],[1,2],[10,2],[53,2],[60,52],[70,53],[67,54],[69,55],[62,56],[71,57],[72,58],[66,59],[68,60],[65,61],[63,2],[64,60],[79,62],[58,63],[73,64],[74,65],[78,66],[76,67],[77,2],[59,68],[61,69]],"exportedModulesMap":[[55,1],[54,2],[80,2],[81,3],[82,3],[84,4],[85,5],[86,6],[87,7],[88,8],[89,9],[90,10],[91,11],[92,12],[93,13],[94,13],[96,14],[95,15],[97,14],[98,16],[99,17],[83,18],[133,2],[100,19],[101,20],[102,21],[134,22],[103,23],[104,24],[105,25],[106,26],[107,27],[108,28],[109,29],[110,30],[111,31],[112,32],[113,32],[114,33],[115,34],[117,35],[116,36],[118,37],[119,38],[120,2],[121,39],[122,40],[123,41],[124,42],[125,43],[126,44],[127,45],[128,46],[129,47],[130,48],[131,49],[132,50],[75,2],[57,2],[56,51],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[4,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[32,2],[33,2],[34,2],[35,2],[7,2],[36,2],[41,2],[42,2],[37,2],[38,2],[39,2],[40,2],[8,2],[46,2],[43,2],[44,2],[45,2],[47,2],[9,2],[48,2],[49,2],[50,2],[51,2],[52,2],[1,2],[10,2],[53,2],[60,70],[70,71],[67,72],[69,73],[62,74],[71,75],[72,76],[66,77],[68,74],[65,78],[64,74],[73,79],[74,80],[78,81],[76,70]],"semanticDiagnosticsPerFile":[55,54,80,81,82,84,85,86,87,88,89,90,91,92,93,94,96,95,97,98,99,83,133,100,101,102,134,103,104,105,106,107,108,109,110,111,112,113,114,115,117,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,75,57,56,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,36,41,42,37,38,39,40,8,46,43,44,45,47,9,48,49,50,51,52,1,10,53,60,70,67,69,62,71,72,66,68,65,63,64,79,58,73,74,78,76,77,59,61]},"version":"4.8.4"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/@ts-morph/common/lib/typescript.d.ts","../node_modules/@ts-morph/common/lib/ts-morph-common.d.ts","../node_modules/ts-morph/lib/ts-morph.d.ts","../node_modules/chalk/index.d.ts","../src/config.ts","../src/logging.ts","../src/analyzer/builtin.ts","../src/utils.ts","../src/analyzer/route.ts","../src/analyzer/typedeps.ts","../src/analyzer/params.ts","../src/analyzer/methods.ts","../src/analyzer/controller.ts","../src/analyzer/module.ts","../src/analyzer/controllers.ts","../src/analyzer/classdeps.ts","../src/analyzer/extractor.ts","../src/analyzer/index.ts","../src/generator/genmodules.ts","../src/generator/gentypes.ts","../node_modules/prettier/doc.d.ts","../node_modules/prettier/index.d.ts","../src/generator/prettier.ts","../src/generator/sdk-interface.ts","../src/generator/index.ts","../src/rtk-query-generator/genmodules.ts","../src/rtk-query-generator/gentypes.ts","../src/rtk-query-generator/prettier.ts","../src/rtk-query-generator/sdk-interface.ts","../src/rtk-query-generator/index.ts","../src/bin.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/minimist/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"f84c28802d5c44429c86180eed9bb73826f2efd559205632ecb23d904b0a1a8c","5b62cb32ae66c8d1d420f2a807cd81dd1e5e68547eeacd738d41c39b64b6687c","01d183dc38180ca94b2751133213800c337e78d759498bc150adcda54271265e","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2",{"version":"4453a5f914bde947a6984d27cbdb840afd4f8d2c7db35646302586a2ccdc9ba9","signature":"15e38992721dfed1ab41817e8db2ed00fc8e572fe5bea5d4a9d0596160f0e272"},{"version":"a32a4d64116a449d41d280d7f15e3c185da48b6c7cc6ae113fd66603a429196f","signature":"97289946dcfb289cfd3d02cba6d6ae3f19774cce5b662d50d8143dc32f2da4e3"},{"version":"8157e1133662959c7ddbcc92699c54e4fae658ef1110502f9b9a2b8153d768a9","signature":"c4801fef282d23bc99a3f07370b514ec11b83d1535e45c26eaa602933c791c43"},{"version":"85e1f51f193a5060b199070d4d82b3883a33a570ed5b766a3fa31ed954d86fcf","signature":"4582dd61b218dc2fcf29ff6c2d7afaa8e4253d3c7c0300e42bba51e8f44325de"},{"version":"4237adf363c7f2979da1fe34cc7ef38f9d46cb5c246050150758520f9d475a94","signature":"0edb9eee027dc8695b94eb939942ef53ad5d0a96b0d5342e48a06b51eac27475"},{"version":"ac7bcb68baccc3370fa51cdf8b335c52bef237fb68093506071bbb5a49ffb887","signature":"8d437228a673465341877d9d22f44db830cae04c947d484513e2268ff360c8c3"},{"version":"01e15539dea776533e28460a7bbbde71464bc23d2500c526dbaadd0705643032","signature":"f8d73f7fcdf6b80771eaa41ec63b7e35a0951216b2c721ed56165340f62f4230"},{"version":"94dbc40beac20fac1ae0f412834744250b73b0971e77b8172fd69d2f8fefb82d","signature":"2f879a7dbecb0e300524166c650462fe7eb34bef699d3b098b14acfe92871952"},{"version":"5cec05fa56cedc0c36b96bfeb85f3b1fed649b0235392e290bbba1362415a7cd","signature":"5d773a09f5e3b8e0a04f37372b90cf16f8b9a2d312d332b62daa64f9b2132fe4"},{"version":"d3eb72f19567134ea2148315b82b2663d5b3aa49501ab33181cade8136862391","signature":"90a8b386427c346a328c73e30d7ef5c48a76830598998e2a3115c60494d7fe2c"},{"version":"fee102ada25851224fccff42d174295c84028c33c2ea789ef57b11a04d72f111","signature":"eb0340f3caaca36fdd3b4af0a741f0a935ea5a0308819043f1a3d457fbfabaf9"},{"version":"c8ca97573f42c3ed579b33d0f9620e2255b14a460f0fd4a8c80c8db470f3d889","signature":"ec5fed8b863bf1cca1310ae7eca191903f6bcd5825b2a5b5fcaee6dcfb806c59"},{"version":"89d5507e24bb65e1cbc793e2055b7dc0ae90580010e95b2e189c2b9412dc59cc","signature":"984b3e3f7d6198d8494bc42038381c949779bed58215dc33ee67824df95091b5"},{"version":"5db4e1a5890bf57724f0fc6befe2b2e2b2434a77c2ca232a12c35723700ec4c0","signature":"8bcab4b7cc0aee80f343dfab98cf98300d22ecd384298af8db310e33210667ae"},{"version":"dc8e37e3d0552be830f2d9589cc241ea9d4cfdd1c45f2af0a4d2008352352b01","signature":"eec21b8177f3044c2e3d81e585a89861f3f15b2dec6c0e45706cc27dabc4fe45"},{"version":"64b2304dfb860165caa467339a79ca46cee376de20211a6b71c545a6c19d126f","signature":"69d47da2a10388566f354505bc8d8bc658ed7354b5ebb092a8ae9e181af5d6ca"},"2f848b4e660b568651a6350565afc8ac5b0644853a2a863862807602cf244a05","e7049308a11ff36ca7eee4ff33df35106eb108018ea4cd4cdb00efe8e9711ce0",{"version":"9f1cb01448a63056517b90ca277596fdc009c57fed4a51e7b37e96a33a0703df","signature":"5d0fc7ef796d71ae8eb0630b40c276fdca3aeb8fad9d41f343bc911e3b6acfce"},{"version":"6b3ae16e022e27554be5262b22915d1ffd452fc97499276a909ba9e5bf009095","signature":"8f36da2c06a62c7c14b4a18eb2a0c97ab8ff3fed355c0eaf1cf62129faf8e67f"},{"version":"fe6bf8ae5613cecd494ce91b6377eb5112f164d68f25d496b86acbd17a899c16","signature":"52216e656d1828da2b18de4d316c7ff51786c8595bd13df237eafb50f0845f71"},{"version":"6cc07ed8f16ecb83b12aa333c0845774049a5aba4cb2a60ff9020168ff99f395","signature":"21dc78cd056e17f07110004732de904ea99fd01c048e3b2695359f2af64fdb23"},{"version":"64b2304dfb860165caa467339a79ca46cee376de20211a6b71c545a6c19d126f","signature":"69d47da2a10388566f354505bc8d8bc658ed7354b5ebb092a8ae9e181af5d6ca"},{"version":"9f1cb01448a63056517b90ca277596fdc009c57fed4a51e7b37e96a33a0703df","signature":"5d0fc7ef796d71ae8eb0630b40c276fdca3aeb8fad9d41f343bc911e3b6acfce"},{"version":"6b3ae16e022e27554be5262b22915d1ffd452fc97499276a909ba9e5bf009095","signature":"8f36da2c06a62c7c14b4a18eb2a0c97ab8ff3fed355c0eaf1cf62129faf8e67f"},{"version":"ead46b9a2497fd5da3a1ec33934d2ff8db78201c8cd6fcafdc08a04c4b931a8f","signature":"1986c11a1b6e5c7461cbdc41bd61dd5af99f5d45cc8d00b9ea7ecc7012a3b17b"},{"version":"123a503dee0faa5881afb58ba890fea4e01bd66fbd32299bf6a46e3f5514c9ad","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"8dbe725f8d237e70310977afcfa011629804d101ebaa0266cafda6b61ad72236","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4"],"root":[[68,83],[86,94]],"options":{"declaration":true,"downlevelIteration":true,"experimentalDecorators":true,"inlineSourceMap":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"outDir":"./","strict":true,"target":2,"useUnknownInCatchVariables":true},"fileIdsList":[[64,144],[144],[98,144],[101,144],[102,107,135,144],[103,114,115,122,132,143,144],[103,104,114,122,144],[105,144],[106,107,115,123,144],[107,132,140,144],[108,110,114,122,144],[109,144],[110,111,144],[114,144],[112,114,144],[114,115,116,132,143,144],[114,115,116,129,132,135,144],[144,148],[110,117,122,132,143,144],[114,115,117,118,122,132,140,143,144],[117,119,132,140,143,144],[98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150],[114,120,144],[121,143,144],[110,114,122,132,144],[123,144],[124,144],[101,125,144],[126,142,144,148],[127,144],[128,144],[114,129,130,144],[129,131,144,146],[102,114,132,133,134,135,144],[102,132,134,144],[132,133,144],[135,144],[136,144],[114,138,139,144],[138,139,144],[107,122,132,140,144],[141,144],[122,142,144],[102,117,128,143,144],[107,144],[132,144,145],[144,146],[144,147],[102,107,114,116,125,132,143,144,146,148],[132,144,149],[144,152,191],[144,152,176,191],[144,191],[144,152],[144,152,177,191],[144,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190],[144,177,191],[84,144],[65,144],[68,144],[66,69,73,124,144],[66,69,75,124,144],[66,69,71,76,77,123,124,144],[66,68,69,73,74,78,79,124,144],[66,68,69,70,78,80,115,124,144],[66,67,69,72,73,74,144],[66,69,124,144],[66,69,72,73,75,144],[68,69,81,88,93,124,144],[67,115,124,144],[68,69,72,73,74,75,76,78,124,144],[73,80,124,144],[68,69,73,81,82,83,86,87,115,124,144],[68,69,71,85,115,144],[67,68,144],[68,69,73,81,89,90,91,92,115,124,144],[115,124,144],[68],[66,73],[66,75],[66,76],[66,68,73,78],[68,78,80],[66,72,73,74],[66],[66,72,73,75],[74,75,76,78],[80],[68,81]],"referencedMap":[[65,1],[64,2],[95,2],[96,2],[97,2],[98,3],[99,3],[101,4],[102,5],[103,6],[104,7],[105,8],[106,9],[107,10],[108,11],[109,12],[110,13],[111,13],[113,14],[112,15],[114,14],[115,16],[116,17],[100,18],[150,2],[117,19],[118,20],[119,21],[151,22],[120,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,32],[130,32],[131,33],[132,34],[134,35],[133,36],[135,37],[136,38],[137,2],[138,39],[139,40],[140,41],[141,42],[142,43],[143,44],[144,45],[145,46],[146,47],[147,48],[148,49],[149,50],[176,51],[177,52],[152,53],[155,53],[174,51],[175,51],[165,51],[164,54],[162,51],[157,51],[170,51],[168,51],[172,51],[156,51],[169,51],[173,51],[158,51],[159,51],[171,51],[153,51],[160,51],[161,51],[163,51],[167,51],[178,55],[166,51],[154,51],[191,56],[190,2],[185,55],[187,57],[186,55],[179,55],[180,55],[182,55],[184,55],[188,57],[189,57],[181,57],[183,57],[67,2],[84,2],[85,58],[66,59],[62,2],[63,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[56,2],[54,2],[55,2],[57,2],[58,2],[10,2],[1,2],[11,2],[61,2],[60,2],[59,2],[70,60],[79,61],[76,62],[78,63],[80,64],[81,65],[75,66],[77,67],[74,68],[72,2],[73,67],[94,69],[68,70],[82,71],[83,72],[88,73],[86,74],[87,2],[69,75],[89,71],[90,72],[93,76],[91,74],[92,2],[71,77]],"exportedModulesMap":[[65,1],[64,2],[95,2],[96,2],[97,2],[98,3],[99,3],[101,4],[102,5],[103,6],[104,7],[105,8],[106,9],[107,10],[108,11],[109,12],[110,13],[111,13],[113,14],[112,15],[114,14],[115,16],[116,17],[100,18],[150,2],[117,19],[118,20],[119,21],[151,22],[120,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,32],[130,32],[131,33],[132,34],[134,35],[133,36],[135,37],[136,38],[137,2],[138,39],[139,40],[140,41],[141,42],[142,43],[143,44],[144,45],[145,46],[146,47],[147,48],[148,49],[149,50],[176,51],[177,52],[152,53],[155,53],[174,51],[175,51],[165,51],[164,54],[162,51],[157,51],[170,51],[168,51],[172,51],[156,51],[169,51],[173,51],[158,51],[159,51],[171,51],[153,51],[160,51],[161,51],[163,51],[167,51],[178,55],[166,51],[154,51],[191,56],[190,2],[185,55],[187,57],[186,55],[179,55],[180,55],[182,55],[184,55],[188,57],[189,57],[181,57],[183,57],[67,2],[84,2],[85,58],[66,59],[62,2],[63,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[56,2],[54,2],[55,2],[57,2],[58,2],[10,2],[1,2],[11,2],[61,2],[60,2],[59,2],[70,78],[79,79],[76,80],[78,81],[80,82],[81,83],[75,84],[77,85],[74,86],[73,85],[82,87],[83,88],[88,89],[86,78],[89,87],[90,88],[93,89],[91,78]],"semanticDiagnosticsPerFile":[65,64,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,113,112,114,115,116,100,150,117,118,119,151,120,121,122,123,124,125,126,127,128,129,130,131,132,134,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,176,177,152,155,174,175,165,164,162,157,170,168,172,156,169,173,158,159,171,153,160,161,163,167,178,166,154,191,190,185,187,186,179,180,182,184,188,189,181,183,67,84,85,66,62,63,13,12,2,14,15,16,17,18,19,20,21,3,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,11,61,60,59,70,79,76,78,80,81,75,77,74,72,73,94,68,82,83,88,86,87,69,89,90,93,91,92,71]},"version":"5.3.3"}
package/build/utils.js CHANGED
@@ -53,4 +53,4 @@ function findFilesRecursive(pattern, dir, relative = true) {
53
53
  return find(pattern, dir, dir);
54
54
  }
55
55
  exports.findFilesRecursive = findFilesRecursive;
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXdCO0FBQ3hCLDZCQUE0QjtBQUU1QixTQUFnQixhQUFhLENBQUMsT0FBd0IsRUFBRSxHQUFXO0lBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3pCLHdFQUF3RTtRQUN4RSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUE7S0FDdkM7SUFFRCx5QkFBeUI7SUFDekIsdUZBQXVGO0lBQ3ZGLDhCQUE4QjtJQUM5Qiw0R0FBNEc7SUFDNUcsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFBO0lBRWpCLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQTtJQUVkLHdDQUF3QztJQUN4QyxPQUFPLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sWUFBWSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN2SSxtQ0FBbUM7UUFDbkMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFdkIseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxLQUFLLEdBQUcsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQTtTQUNaO1FBRUQsT0FBTyxHQUFHLEdBQUcsQ0FBQTtLQUNkO0lBRUQsV0FBVztJQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDcEMsQ0FBQztBQTdCRCxzQ0E2QkM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxPQUF3QixFQUFFLEdBQVcsRUFBRSxRQUFRLEdBQUcsSUFBSTtJQUN2RixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7SUFFekIsU0FBUyxJQUFJLENBQUMsT0FBd0IsRUFBRSxPQUFlLEVBQUUsT0FBZTtRQUN0RSxPQUFPLEVBQUU7YUFDTixXQUFXLENBQUMsT0FBTyxDQUFDO2FBQ3BCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1osTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFFNUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRTtnQkFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN2RSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ2xGLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDUixDQUFDLENBQUM7YUFDRCxJQUFJLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ2hDLENBQUM7QUFuQkQsZ0RBbUJDIn0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXdCO0FBQ3hCLDZCQUE0QjtBQUU1QixTQUFnQixhQUFhLENBQUMsT0FBd0IsRUFBRSxHQUFXO0lBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsd0VBQXdFO1FBQ3hFLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLHVGQUF1RjtJQUN2Riw4QkFBOEI7SUFDOUIsNEdBQTRHO0lBQzVHLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQTtJQUVqQixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUE7SUFFZCx3Q0FBd0M7SUFDeEMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLFlBQVksTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4SSxtQ0FBbUM7UUFDbkMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFdkIseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUVELE9BQU8sR0FBRyxHQUFHLENBQUE7SUFDZixDQUFDO0lBRUQsV0FBVztJQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDcEMsQ0FBQztBQTdCRCxzQ0E2QkM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxPQUF3QixFQUFFLEdBQVcsRUFBRSxRQUFRLEdBQUcsSUFBSTtJQUN2RixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7SUFFekIsU0FBUyxJQUFJLENBQUMsT0FBd0IsRUFBRSxPQUFlLEVBQUUsT0FBZTtRQUN0RSxPQUFPLEVBQUU7YUFDTixXQUFXLENBQUMsT0FBTyxDQUFDO2FBQ3BCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1osTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFFNUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRTtnQkFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNyRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ2xGLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDVixDQUFDLENBQUM7YUFDRCxJQUFJLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ2hDLENBQUM7QUFuQkQsZ0RBbUJDIn0=
package/bun.lockb ADDED
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@buildvision/nest-sdk-generator",
3
3
  "author": "BuildVision <christophe@buildvision.io>",
4
- "version": "1.2.2",
4
+ "version": "2.1.0",
5
5
  "description": "A full-powered SDK generator for NestJS",
6
6
  "keywords": [
7
7
  "nest",
@@ -16,19 +16,30 @@
16
16
  "scripts": {
17
17
  "prepare": "npm run build",
18
18
  "build": "tsc -p tsconfig.json --outDir build",
19
- "start": "npm run build && node build/bin.js"
19
+ "start": "npm run build && node build/bin.js",
20
+ "typecheck": "bun tsc --project tsconfig.json --noEmit",
21
+ "lint": "bun eslint --quiet . --fix"
20
22
  },
21
23
  "bin": "build/bin.js",
22
24
  "dependencies": {
23
25
  "chalk": "~4.1.2",
24
26
  "minimist": "~1.2.7",
25
- "prettier": "^2.7.1",
27
+ "prettier": "^3.2.5",
26
28
  "ts-morph": "~16.0.0"
27
29
  },
28
30
  "devDependencies": {
29
31
  "@types/minimist": "^1.2.2",
30
32
  "@types/node": "~18.11.9",
31
- "@types/prettier": "^2.7.1",
32
- "typescript": "~4.8.4"
33
+ "typescript": "^5.2.2",
34
+ "@typescript-eslint/eslint-plugin": "^6.13.2",
35
+ "@typescript-eslint/parser": "^6.13.2",
36
+ "eslint": "^8.50.0",
37
+ "eslint-config-prettier": "^9.1.0",
38
+ "eslint-import-resolver-typescript": "^3.6.1",
39
+ "eslint-plugin-eslint-comments": "^3.2.0",
40
+ "eslint-plugin-import": "^2.27.5",
41
+ "eslint-plugin-prettier": "^5.0.0",
42
+ "eslint-plugin-sort-destructure-keys": "^1.5.0",
43
+ "eslint-plugin-typescript-sort-keys": "^3.1.0"
33
44
  }
34
45
  }
@@ -3,8 +3,11 @@
3
3
  */
4
4
 
5
5
  import * as path from 'path'
6
+
6
7
  import { ClassDeclaration, InterfaceDeclaration, ts, Type } from 'ts-morph'
8
+
7
9
  import { unreachable } from '../logging'
10
+
8
11
  import { ResolvedTypeDeps, resolveTypeDependencies } from './typedeps'
9
12
 
10
13
  export function analyzeClassDeps(
@@ -3,8 +3,11 @@
3
3
  */
4
4
 
5
5
  import * as path from 'path'
6
+
6
7
  import { Node, Project } from 'ts-morph'
8
+
7
9
  import { debug, warn } from '../logging'
10
+
8
11
  import { analyzeMethods, SdkMethod } from './methods'
9
12
 
10
13
  /**
@@ -25,14 +28,17 @@ function camelcase(str: string): string {
25
28
  * SDK interface of a controller
26
29
  */
27
30
  export interface SdkController {
31
+ /** Name of the controller's class, camel cased */
32
+ readonly className: string
33
+
34
+ /** Controller's methods */
35
+ readonly methods: SdkMethod[]
36
+
28
37
  /** Original controller file's path */
29
38
  readonly path: string
30
- /** Name of the controller's class, camel cased */
31
- readonly camelClassName: string
39
+
32
40
  /** Name the controller is registered under */
33
41
  readonly registrationName: string
34
- /** Controller's methods */
35
- readonly methods: SdkMethod[]
36
42
  }
37
43
 
38
44
  /**
@@ -108,7 +114,7 @@ export function analyzeController(project: Project, controllerPath: string, abso
108
114
  }
109
115
 
110
116
  // Update the registration name
111
- registrationName = camelcase(nameArg.getLiteralText())
117
+ registrationName = nameArg.getLiteralText()
112
118
  controllerUriPrefix = registrationName
113
119
  debug('Registering controller {yellow} as {yellow} (as specified in @Controller())', className, registrationName)
114
120
  } else {
@@ -128,7 +134,7 @@ export function analyzeController(project: Project, controllerPath: string, abso
128
134
 
129
135
  return {
130
136
  path: controllerPath,
131
- camelClassName: camelcase(className),
137
+ className,
132
138
  registrationName,
133
139
  methods,
134
140
  }
@@ -4,9 +4,12 @@
4
4
 
5
5
  import * as os from 'os'
6
6
  import * as path from 'path'
7
+
7
8
  import { Project } from 'ts-morph'
9
+
8
10
  import { debug, format, panic, warn } from '../logging'
9
11
  import { findFileAbove } from '../utils'
12
+
10
13
  import { analyzeController, SdkController } from './controller'
11
14
  import { getModuleName } from './module'
12
15
 
@@ -15,6 +18,7 @@ export type SdkModules = Map<string, Map<string, SdkController>>
15
18
  export function analyzeControllers(controllers: string[], absoluteSrcPath: string, project: Project): SdkModules {
16
19
  /** Hierarchised SDK informations */
17
20
  const collected = new Map<string, Map<string, SdkController>>()
21
+ const usedControllerNames = new Set<string>()
18
22
 
19
23
  /**
20
24
  * Modules cache: contains for a given directory the nearest module file's path and name
@@ -109,7 +113,18 @@ export function analyzeControllers(controllers: string[], absoluteSrcPath: strin
109
113
  )
110
114
  }
111
115
 
112
- moduleSdkInfos.set(metadata.camelClassName, metadata)
116
+ // Ensure the each controller has a unique name across modules
117
+ if (usedControllerNames.has(metadata.className)) {
118
+ panic(
119
+ `Detected two controllers with the same name {yellow}. Second occurrence found in {yellow}`,
120
+ metadata.registrationName,
121
+ metadata.path
122
+ )
123
+ } else {
124
+ usedControllerNames.add(metadata.className)
125
+ }
126
+
127
+ moduleSdkInfos.set(metadata.className, metadata)
113
128
  }
114
129
  })
115
130
 
@@ -3,11 +3,15 @@
3
3
  */
4
4
 
5
5
  import * as path from 'path'
6
+
6
7
  import { Node, Project, SourceFile } from 'ts-morph'
8
+
7
9
  import { MagicType } from '../config'
8
10
  import { debug, format, panic, unreachable, warn } from '../logging'
11
+
9
12
  import { analyzeClassDeps } from './classdeps'
10
13
  import { SdkModules } from './controllers'
14
+ import { getParamResolvedTypes } from './params'
11
15
  import { getImportResolvedType, ResolvedTypeDeps, resolveTypeDependencies } from './typedeps'
12
16
 
13
17
  /** Valid extensions for TypeScript module files */
@@ -17,8 +21,8 @@ export const MODULE_EXTENSIONS = ['.ts', '.d.ts', '.tsx', '.d.tsx', '.js', '.jsx
17
21
  * Location of an imported type
18
22
  */
19
23
  export interface TypeLocation {
20
- readonly typename: string
21
24
  readonly relativePathNoExt: string
25
+ readonly typename: string
22
26
  }
23
27
 
24
28
  /**
@@ -35,11 +39,11 @@ export interface ExtractedType extends TypeLocationWithExt {
35
39
  /** Type's declaration */
36
40
  readonly content: string
37
41
 
38
- /** Type parameters (e.g. <T>) */
39
- readonly typeParams: string[]
40
-
41
42
  /** Types this one depends on */
42
43
  readonly dependencies: TypeLocationWithExt[]
44
+
45
+ /** Type parameters (e.g. <T>) */
46
+ readonly typeParams: string[]
43
47
  }
44
48
 
45
49
  // Maps files to records mapping themselves type names to their declaration code
@@ -462,27 +466,12 @@ export function flattenSdkResolvedTypes(sdkModules: SdkModules): ResolvedTypeDep
462
466
  for (const module of sdkModules.values()) {
463
467
  for (const controller of module.values()) {
464
468
  for (const method of controller.methods.values()) {
465
- const { parameters: args, query, body } = method.params
469
+ const { bodyParams, queryParams, routeParams } = method.params
466
470
 
467
471
  flattened.push(method.returnType)
468
-
469
- if (args) {
470
- flattened.push(...args.values())
471
- }
472
-
473
- if (query) {
474
- flattened.push(...query.values())
475
- }
476
-
477
- if (!body) {
478
- continue
479
- }
480
-
481
- if (body.full) {
482
- flattened.push(body.type)
483
- } else {
484
- flattened.push(...body.fields.values())
485
- }
472
+ flattened.push(...getParamResolvedTypes(routeParams))
473
+ flattened.push(...getParamResolvedTypes(queryParams))
474
+ flattened.push(...getParamResolvedTypes(bodyParams))
486
475
  }
487
476
  }
488
477
  }
@@ -4,9 +4,12 @@
4
4
 
5
5
  import * as fs from 'fs'
6
6
  import * as path from 'path'
7
+
7
8
  import { Project } from 'ts-morph'
9
+
8
10
  import { Config } from '../config'
9
11
  import { debug, panic } from '../logging'
12
+
10
13
  import { builtinMagicTypes } from './builtin'
11
14
  import { analyzeControllers, SdkModules } from './controllers'
12
15
  import { flattenSdkResolvedTypes, locateTypesFile, TypesExtractor, TypesExtractorContent } from './extractor'
@@ -17,9 +20,9 @@ export interface SdkContent {
17
20
  }
18
21
 
19
22
  export interface MagicType {
23
+ readonly content: string
20
24
  readonly package: string
21
25
  readonly typeName: string
22
- readonly content: string
23
26
  }
24
27
 
25
28
  export async function analyzerCli(config: Config): Promise<SdkContent> {
@@ -69,7 +72,7 @@ export async function analyzerCli(config: Config): Promise<SdkContent> {
69
72
  debug('\nAdding them to the source project...')
70
73
 
71
74
  let progressByTenth = 0
72
- let strLen = sourceTSFiles.length.toString().length
75
+ const strLen = sourceTSFiles.length.toString().length
73
76
 
74
77
  const hasProgress = (filesTreated: number) => filesTreated / sourceTSFiles.length >= (progressByTenth + 1) / 10
75
78