@buildvision/nest-sdk-generator 2.3.1 → 3.0.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 (93) hide show
  1. package/.eslintrc.js +1 -1
  2. package/.github/workflows/test.yml +35 -0
  3. package/README.md +402 -239
  4. package/build/analyzer/classdeps.js +36 -4
  5. package/build/analyzer/controller.d.ts +2 -14
  6. package/build/analyzer/controller.js +38 -18
  7. package/build/analyzer/controllers.d.ts +2 -2
  8. package/build/analyzer/controllers.js +37 -5
  9. package/build/analyzer/extractor.d.ts +2 -41
  10. package/build/analyzer/extractor.js +63 -66
  11. package/build/analyzer/index.d.ts +2 -6
  12. package/build/analyzer/index.js +107 -86
  13. package/build/analyzer/methods.d.ts +2 -30
  14. package/build/analyzer/methods.js +7 -16
  15. package/build/analyzer/module.js +36 -4
  16. package/build/analyzer/params.d.ts +3 -39
  17. package/build/analyzer/params.js +17 -37
  18. package/build/analyzer/route.js +8 -9
  19. package/build/analyzer/sdk.d.ts +146 -0
  20. package/build/analyzer/sdk.js +120 -0
  21. package/build/analyzer/typedeps.d.ts +15 -0
  22. package/build/analyzer/typedeps.js +62 -10
  23. package/build/bin.js +72 -26
  24. package/build/config.d.ts +13 -0
  25. package/build/config.js +36 -3
  26. package/build/engine/analyze.d.ts +16 -0
  27. package/build/engine/analyze.js +786 -0
  28. package/build/engine/ast.d.ts +24 -0
  29. package/build/engine/ast.js +100 -0
  30. package/build/engine/file-order.d.ts +17 -0
  31. package/build/engine/file-order.js +97 -0
  32. package/build/engine/host.d.ts +63 -0
  33. package/build/engine/host.js +16 -0
  34. package/build/engine/index.d.ts +15 -0
  35. package/build/engine/index.js +93 -0
  36. package/build/engine/ts-morph-compat-host.d.ts +8 -0
  37. package/build/engine/ts-morph-compat-host.js +18 -0
  38. package/build/engine/tsgo-host.d.ts +9 -0
  39. package/build/engine/tsgo-host.js +136 -0
  40. package/build/engine/typescript-host.d.ts +26 -0
  41. package/build/engine/typescript-host.js +142 -0
  42. package/build/generator/genmodules.d.ts +1 -4
  43. package/build/generator/genmodules.js +23 -27
  44. package/build/generator/gentypes.d.ts +1 -1
  45. package/build/generator/gentypes.js +36 -4
  46. package/build/generator/index.d.ts +1 -1
  47. package/build/generator/index.js +91 -69
  48. package/build/generator/prettier.js +43 -9
  49. package/build/generator/sdk-interface.d.ts +1 -1
  50. package/build/generator/sdk-interface.js +5 -5
  51. package/build/logging.d.ts +2 -0
  52. package/build/logging.js +14 -11
  53. package/build/rtk-query-generator/genmodules.d.ts +1 -4
  54. package/build/rtk-query-generator/genmodules.js +27 -31
  55. package/build/rtk-query-generator/index.d.ts +1 -1
  56. package/build/rtk-query-generator/index.js +87 -65
  57. package/build/rtk-query-generator/prettier.js +43 -9
  58. package/build/rtk-query-generator/sdk-interface.js +3 -4
  59. package/build/utils.js +38 -6
  60. package/package.json +29 -11
  61. package/src/analyzer/controller.ts +3 -31
  62. package/src/analyzer/controllers.ts +3 -2
  63. package/src/analyzer/extractor.ts +17 -86
  64. package/src/analyzer/index.ts +5 -11
  65. package/src/analyzer/methods.ts +5 -36
  66. package/src/analyzer/params.ts +13 -55
  67. package/src/analyzer/sdk.ts +247 -0
  68. package/src/analyzer/typedeps.ts +22 -4
  69. package/src/bin.ts +29 -5
  70. package/src/config.ts +15 -0
  71. package/src/engine/analyze.ts +1110 -0
  72. package/src/engine/ast.ts +105 -0
  73. package/src/engine/file-order.ts +104 -0
  74. package/src/engine/host.ts +79 -0
  75. package/src/engine/index.ts +79 -0
  76. package/src/engine/ts-morph-compat-host.ts +20 -0
  77. package/src/engine/tsgo-host.ts +119 -0
  78. package/src/engine/typescript-host.ts +159 -0
  79. package/src/generator/genmodules.ts +9 -4
  80. package/src/generator/gentypes.ts +1 -1
  81. package/src/generator/index.ts +1 -1
  82. package/src/logging.ts +6 -1
  83. package/src/rtk-query-generator/genmodules.ts +9 -4
  84. package/src/rtk-query-generator/index.ts +1 -2
  85. package/src/rtk-query-generator/sdk-interface.ts +2 -3
  86. package/tsconfig.json +7 -6
  87. package/build/analyzer/decorator.d.ts +0 -10
  88. package/build/analyzer/decorator.js +0 -29
  89. package/build/rtk-query-generator/gentypes.d.ts +0 -10
  90. package/build/rtk-query-generator/gentypes.js +0 -62
  91. package/build/tsconfig.tsbuildinfo +0 -1
  92. package/bun.lockb +0 -0
  93. package/tsconfig.tsbuildinfo +0 -1
@@ -2,100 +2,121 @@
2
2
  /**
3
3
  * @file Entrypoint of the source API analyzer, used to generate the final SDK
4
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
- };
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
14
38
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.analyzerCli = void 0;
16
- const fs = require("fs");
17
- const path = require("path");
39
+ exports.analyzerCli = analyzerCli;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
18
42
  const ts_morph_1 = require("ts-morph");
19
43
  const logging_1 = require("../logging");
20
44
  const builtin_1 = require("./builtin");
21
45
  const controllers_1 = require("./controllers");
22
46
  const extractor_1 = require("./extractor");
23
- function analyzerCli(config) {
24
- var _a, _b;
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const started = Date.now();
27
- const sourcePath = path.resolve(process.cwd(), config.apiInputPath);
28
- if (!sourcePath)
29
- (0, logging_1.panic)('Please provide a source directory');
30
- if (!fs.existsSync(sourcePath))
31
- (0, logging_1.panic)('Provided source path {magentaBright} does not exist', sourcePath);
32
- if (!fs.lstatSync(sourcePath).isDirectory())
33
- (0, logging_1.panic)('Provided source path is not a directory');
34
- (0, logging_1.debug)(`Analyzing from source directory {yellow}`, sourcePath);
35
- if (config.jsonOutput) {
36
- const jsonOutputParentDir = path.dirname(path.resolve(process.cwd(), config.jsonOutput));
37
- if (!fs.existsSync(jsonOutputParentDir)) {
38
- (0, logging_1.panic)("Output file's parent directory {magentaBright} does not exist.", jsonOutputParentDir);
39
- }
40
- (0, logging_1.debug)('Writing output to {yellow}', config.jsonOutput, config.jsonPrettyOutput ? 'beautified' : 'minified');
41
- }
42
- // ====== Find & parse 'tsconfig.json' ====== //
43
- if (config.tsconfigFile && config.tsconfigFile.includes('/')) {
44
- (0, logging_1.panic)('Provided tsconfig file name contains slashes');
45
- }
46
- const tsConfigFileName = (_a = config.tsconfigFile) !== null && _a !== void 0 ? _a : 'tsconfig.json';
47
- const tsConfigFilePath = path.join(sourcePath, tsConfigFileName);
48
- if (!fs.existsSync(tsConfigFilePath)) {
49
- (0, logging_1.panic)('No {yellow} file found in provided source path {yellow}', tsConfigFileName, sourcePath);
47
+ const sdk_1 = require("./sdk");
48
+ async function analyzerCli(config) {
49
+ const started = Date.now();
50
+ const sourcePath = path.resolve(process.cwd(), config.apiInputPath);
51
+ if (!sourcePath)
52
+ (0, logging_1.panic)('Please provide a source directory');
53
+ if (!fs.existsSync(sourcePath))
54
+ (0, logging_1.panic)('Provided source path {magentaBright} does not exist', sourcePath);
55
+ if (!fs.lstatSync(sourcePath).isDirectory())
56
+ (0, logging_1.panic)('Provided source path is not a directory');
57
+ (0, logging_1.debug)(`Analyzing from source directory {yellow}`, sourcePath);
58
+ if (config.jsonOutput) {
59
+ const jsonOutputParentDir = path.dirname(path.resolve(process.cwd(), config.jsonOutput));
60
+ if (!fs.existsSync(jsonOutputParentDir)) {
61
+ (0, logging_1.panic)("Output file's parent directory {magentaBright} does not exist.", jsonOutputParentDir);
50
62
  }
51
- // Create a 'ts-morph' project
52
- const project = new ts_morph_1.Project({
53
- tsConfigFilePath,
54
- });
55
- // Get the list of all TypeScript files in the source directory
56
- const sourceTSFiles = project.getSourceFiles().map((file) => path.relative(sourcePath, file.getFilePath()));
57
- (0, logging_1.debug)(`Found {magentaBright} source files.`, sourceTSFiles.length);
58
- // Add them
59
- (0, logging_1.debug)('\nAdding them to the source project...');
60
- let progressByTenth = 0;
61
- const strLen = sourceTSFiles.length.toString().length;
62
- const hasProgress = (filesTreated) => filesTreated / sourceTSFiles.length >= (progressByTenth + 1) / 10;
63
- const controllers = [];
64
- for (let i = 0; i < sourceTSFiles.length; i++) {
65
- const file = sourceTSFiles[i];
66
- if (file.endsWith('.controller.ts')) {
67
- controllers.push(file);
68
- }
69
- if (hasProgress(i + 1)) {
70
- while (hasProgress(i + 1))
71
- progressByTenth++;
72
- (0, logging_1.debug)('| Progress: {yellow} ({magentaBright} files) - {green} controller{} found', (progressByTenth * 10).toString().padStart(3, ' ') + '%', `${(i + 1).toString().padStart(strLen, ' ')} / ${sourceTSFiles.length}`, controllers.length.toString().padStart(strLen, ''), controllers.length > 1 ? 's' : '');
73
- }
63
+ (0, logging_1.debug)('Writing output to {yellow}', config.jsonOutput, config.jsonPrettyOutput ? 'beautified' : 'minified');
64
+ }
65
+ // ====== Find & parse 'tsconfig.json' ====== //
66
+ if (config.tsconfigFile && config.tsconfigFile.includes('/')) {
67
+ (0, logging_1.panic)('Provided tsconfig file name contains slashes');
68
+ }
69
+ const tsConfigFileName = config.tsconfigFile ?? 'tsconfig.json';
70
+ const tsConfigFilePath = path.join(sourcePath, tsConfigFileName);
71
+ if (!fs.existsSync(tsConfigFilePath)) {
72
+ (0, logging_1.panic)('No {yellow} file found in provided source path {yellow}', tsConfigFileName, sourcePath);
73
+ }
74
+ // Create a 'ts-morph' project
75
+ const project = new ts_morph_1.Project({
76
+ tsConfigFilePath,
77
+ });
78
+ // Get the list of all TypeScript files in the source directory
79
+ const sourceTSFiles = project.getSourceFiles().map((file) => path.relative(sourcePath, file.getFilePath()));
80
+ (0, logging_1.debug)(`Found {magentaBright} source files.`, sourceTSFiles.length);
81
+ // Add them
82
+ (0, logging_1.debug)('\nAdding them to the source project...');
83
+ let progressByTenth = 0;
84
+ const strLen = sourceTSFiles.length.toString().length;
85
+ const hasProgress = (filesTreated) => filesTreated / sourceTSFiles.length >= (progressByTenth + 1) / 10;
86
+ const controllers = [];
87
+ for (let i = 0; i < sourceTSFiles.length; i++) {
88
+ const file = sourceTSFiles[i];
89
+ if (file.endsWith('.controller.ts')) {
90
+ controllers.push(file);
74
91
  }
75
- (0, logging_1.debug)('All files were added successfully.\n');
76
- const modules = (0, controllers_1.analyzeControllers)(controllers, sourcePath, project);
77
- // Builtin magic types are concatenated **after** the configuration's ones, as this allows users to
78
- // override the builtin ones if they want. Do **not** change the concatenation order!
79
- const magicTypes = ((_b = config.magicTypes) !== null && _b !== void 0 ? _b : []).concat(builtin_1.builtinMagicTypes);
80
- const typesCache = new extractor_1.TypesExtractor(project, sourcePath, magicTypes);
81
- const typesToExtract = (0, extractor_1.locateTypesFile)((0, extractor_1.flattenSdkResolvedTypes)(modules));
82
- (0, logging_1.debug)('\n==== Extracting {} type' + (typesToExtract.length > 1 ? 's' : '') + ' ====\n', typesToExtract.length);
83
- for (const loc of typesToExtract) {
84
- const result = typesCache.extractType(loc);
85
- if (result instanceof Error) {
86
- (0, logging_1.panic)(result.message);
87
- }
92
+ if (hasProgress(i + 1)) {
93
+ while (hasProgress(i + 1))
94
+ progressByTenth++;
95
+ (0, logging_1.debug)('| Progress: {yellow} ({magentaBright} files) - {green} controller{} found', (progressByTenth * 10).toString().padStart(3, ' ') + '%', `${(i + 1).toString().padStart(strLen, ' ')} / ${sourceTSFiles.length}`, controllers.length.toString().padStart(strLen, ''), controllers.length > 1 ? 's' : '');
88
96
  }
89
- const content = {
90
- modules,
91
- types: typesCache.extracted,
92
- };
93
- if (config.jsonOutput) {
94
- fs.writeFileSync(config.jsonOutput, JSON.stringify(content, (_, v) => (v instanceof Map ? Object.fromEntries(v) : v), config.jsonPrettyOutput ? 4 : 0), 'utf8');
97
+ }
98
+ (0, logging_1.debug)('All files were added successfully.\n');
99
+ const modules = (0, controllers_1.analyzeControllers)(controllers, sourcePath, project);
100
+ // Builtin magic types are concatenated **after** the configuration's ones, as this allows users to
101
+ // override the builtin ones if they want. Do **not** change the concatenation order!
102
+ const magicTypes = (config.magicTypes ?? []).concat(builtin_1.builtinMagicTypes);
103
+ const typesCache = new extractor_1.TypesExtractor(project, sourcePath, magicTypes);
104
+ const typesToExtract = (0, sdk_1.locateTypesFile)((0, sdk_1.flattenSdkResolvedTypes)(modules));
105
+ (0, logging_1.debug)('\n==== Extracting {} type' + (typesToExtract.length > 1 ? 's' : '') + ' ====\n', typesToExtract.length);
106
+ for (const loc of typesToExtract) {
107
+ const result = typesCache.extractType(loc);
108
+ if (result instanceof Error) {
109
+ (0, logging_1.panic)(result.message);
95
110
  }
96
- (0, logging_1.debug)('\n===== Done in {green}! ====', ((Date.now() - started) / 1000).toFixed(2) + 's');
97
- return content;
98
- });
111
+ }
112
+ const content = {
113
+ modules,
114
+ types: typesCache.extracted,
115
+ };
116
+ if (config.jsonOutput) {
117
+ fs.writeFileSync(config.jsonOutput, (0, sdk_1.serializeSdkContent)(content, !!config.jsonPrettyOutput), 'utf8');
118
+ }
119
+ (0, logging_1.debug)('\n===== Done in {green}! ====', ((Date.now() - started) / 1000).toFixed(2) + 's');
120
+ return content;
99
121
  }
100
- exports.analyzerCli = analyzerCli;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYW5hbHl6ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7QUFFSCx5QkFBd0I7QUFDeEIsNkJBQTRCO0FBRTVCLHVDQUFrQztBQUdsQyx3Q0FBeUM7QUFFekMsdUNBQTZDO0FBQzdDLCtDQUE4RDtBQUM5RCwyQ0FBNkc7QUFhN0csU0FBc0IsV0FBVyxDQUFDLE1BQWM7OztRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7UUFFMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRW5FLElBQUksQ0FBQyxVQUFVO1lBQUUsSUFBQSxlQUFLLEVBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUUzRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFBRSxJQUFBLGVBQUssRUFBQyxxREFBcUQsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUN4RyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFBRSxJQUFBLGVBQUssRUFBQyx5Q0FBeUMsQ0FBQyxDQUFBO1FBRTdGLElBQUEsZUFBSyxFQUFDLDBDQUEwQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBRTdELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtZQUV4RixJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7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
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYW5hbHl6ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxNQUFZLEVBQUUsK0JBQVU7QUFDeEIsTUFBWSxJQUFJLGlDQUFZO0FBRTVCLHVDQUFrQztBQUdsQyx3Q0FBeUM7QUFFekMsdUNBQTZDO0FBQzdDLCtDQUFrRDtBQUNsRCwyQ0FBNEM7QUFDNUMsK0JBQWlHO0FBVTFGLEtBQUssc0JBQXNCLE1BQWM7SUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBRTFCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUVuRSxJQUFJLENBQUMsVUFBVTtRQUFFLElBQUEsZUFBSyxFQUFDLG1DQUFtQyxDQUFDLENBQUE7SUFFM0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQUUsSUFBQSxlQUFLLEVBQUMscURBQXFELEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDeEcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxFQUFFO1FBQUUsSUFBQSxlQUFLLEVBQUMseUNBQXlDLENBQUMsQ0FBQTtJQUU3RixJQUFBLGVBQUssRUFBQywwQ0FBMEMsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUU3RCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFFeEYsSUFB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
@@ -2,36 +2,8 @@
2
2
  * @file Analyzer for the source API's methods
3
3
  */
4
4
  import { ClassDeclaration } from 'ts-morph';
5
- import { SdkMethodParams } from './params';
6
- import { Route } from './route';
7
- import { ResolvedTypeDeps } from './typedeps';
8
- /**
9
- * SDK interface for a single controller's method
10
- */
11
- export interface SdkMethod {
12
- /** Method's HTTP method (e.g. GET / POST) */
13
- readonly httpMethod: SdkHttpMethod;
14
- /** Method's name */
15
- readonly name: string;
16
- /** Method's parameters */
17
- readonly params: SdkMethodParams;
18
- /** Method's return type with resolved dependencies */
19
- readonly returnType: ResolvedTypeDeps;
20
- /** Method's parsed route */
21
- readonly route: Route;
22
- /** Method's URI path */
23
- readonly uriPath: string;
24
- }
25
- /**
26
- * HTTP method of a controller's method
27
- */
28
- export declare enum SdkHttpMethod {
29
- Delete = "DELETE",
30
- Get = "GET",
31
- Patch = "PATCH",
32
- Post = "POST",
33
- Put = "PUT"
34
- }
5
+ import { SdkHttpMethod, SdkMethod } from './sdk';
6
+ export { SdkHttpMethod, SdkMethod };
35
7
  /**
36
8
  * Generate a SDK interface for a controller
37
9
  * @param controllerClass The class declaration of the controller
@@ -3,24 +3,16 @@
3
3
  * @file Analyzer for the source API's methods
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.analyzeMethods = exports.SdkHttpMethod = void 0;
6
+ exports.SdkHttpMethod = void 0;
7
+ exports.analyzeMethods = analyzeMethods;
7
8
  const chalk_1 = require("chalk");
8
9
  const ts_morph_1 = require("ts-morph");
9
10
  const logging_1 = require("../logging");
10
11
  const params_1 = require("./params");
11
12
  const route_1 = require("./route");
13
+ const sdk_1 = require("./sdk");
14
+ Object.defineProperty(exports, "SdkHttpMethod", { enumerable: true, get: function () { return sdk_1.SdkHttpMethod; } });
12
15
  const typedeps_1 = require("./typedeps");
13
- /**
14
- * HTTP method of a controller's method
15
- */
16
- var SdkHttpMethod;
17
- (function (SdkHttpMethod) {
18
- SdkHttpMethod["Delete"] = "DELETE";
19
- SdkHttpMethod["Get"] = "GET";
20
- SdkHttpMethod["Patch"] = "PATCH";
21
- SdkHttpMethod["Post"] = "POST";
22
- SdkHttpMethod["Put"] = "PUT";
23
- })(SdkHttpMethod || (exports.SdkHttpMethod = SdkHttpMethod = {}));
24
16
  /**
25
17
  * Generate a SDK interface for a controller
26
18
  * @param controllerClass The class declaration of the controller
@@ -37,7 +29,7 @@ function analyzeMethods(controllerClass, controllerUriPrefix, filePath, absolute
37
29
  const methodName = method.getName();
38
30
  (0, logging_1.debug)('├─ Found method: {yellow}', methodName);
39
31
  // Get the HTTP decorator(s) of the method
40
- const decorators = method.getDecorators().filter((dec) => Object.keys(SdkHttpMethod).includes(dec.getName()));
32
+ const decorators = method.getDecorators().filter((dec) => Object.keys(sdk_1.SdkHttpMethod).includes(dec.getName()));
41
33
  // We expect to have exactly one HTTP decorator
42
34
  if (decorators.length > 1) {
43
35
  // If there is more than one decorator, that's invalid, so we can't analyze the method
@@ -51,7 +43,7 @@ function analyzeMethods(controllerClass, controllerUriPrefix, filePath, absolute
51
43
  // Get the HTTP decorator
52
44
  const dec = decorators[0];
53
45
  // @ts-expect-error TypeScript doesn't like indexing an enumeration with a string key, although this works fine
54
- const httpMethod = SdkHttpMethod[dec.getName()];
46
+ const httpMethod = sdk_1.SdkHttpMethod[dec.getName()];
55
47
  (0, logging_1.debug)('├─── Detected HTTP method: {magentaBright}', httpMethod.toLocaleUpperCase());
56
48
  // Get the arguments provided to the HTTP decorator (we expect one, the URI path)
57
49
  const decArgs = dec.getArguments();
@@ -108,5 +100,4 @@ function analyzeMethods(controllerClass, controllerUriPrefix, filePath, absolute
108
100
  }
109
101
  return collected;
110
102
  }
111
- exports.analyzeMethods = analyzeMethods;
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbmFseXplci9tZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgsaUNBQTRCO0FBQzVCLHVDQUFvRTtBQUVwRSx3Q0FBMEM7QUFFMUMscUNBQXlEO0FBQ3pELG1DQUFxRDtBQUNyRCx5Q0FBc0U7QUF5QnRFOztHQUVHO0FBQ0gsSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3ZCLGtDQUFpQixDQUFBO0lBQ2pCLDRCQUFXLENBQUE7SUFDWCxnQ0FBZSxDQUFBO0lBQ2YsOEJBQWEsQ0FBQTtJQUNiLDRCQUFXLENBQUE7QUFDYixDQUFDLEVBTlcsYUFBYSw2QkFBYixhQUFhLFFBTXhCO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixlQUFpQyxFQUNqQyxtQkFBa0MsRUFDbEMsUUFBZ0IsRUFDaEIsZUFBdUI7SUFFdkIsa0JBQWtCO0lBQ2xCLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxFQUFhLENBQUE7SUFFeEMsOEJBQThCO0lBQzlCLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxZQUFZLDRCQUFpQixDQUF3QixDQUFBO0lBRWhJLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7UUFDN0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRW5DLElBQUEsZUFBSyxFQUFDLDJCQUEyQixFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBRTlDLDBDQUEwQztRQUMxQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FB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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbmFseXplci9tZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7OztBQUVILGlDQUE0QjtBQUM1Qix1Q0FBb0U7QUFFcEUsd0NBQTBDO0FBRTFDLHFDQUF3QztBQUN4QyxtQ0FBOEM7QUFDOUMsK0JBQWdEOzhGQUF2QyxtQkFBYTtBQUN0Qix5Q0FBb0Q7QUFJcEQ7Ozs7OztHQU1HO0FBQ0gsd0JBQ0UsZUFBaUMsRUFDakMsbUJBQWtDLEVBQ2xDLFFBQWdCLEVBQ2hCLGVBQXVCO0lBRXZCLGtCQUFrQjtJQUNsQixNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBYSxDQUFBO0lBRXhDLDhCQUE4QjtJQUM5QixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksWUFBWSw0QkFBaUIsQ0FBd0IsQ0FBQTtJQUVoSSxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUVuQyxJQUFBLGVBQUssRUFBQywyQkFBMkIsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUU5QywwQ0FBMEM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFFN0csK0NBQStDO1FBQy9DLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQixzRkFBc0Y7WUFDdEYsT0FBTyxJQUFJLEtBQUssQ0FDZCxJQUFBLGdCQUFN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
@@ -2,9 +2,42 @@
2
2
  /**
3
3
  * @file Analyzer for the source API's modules
4
4
  */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
5
38
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getModuleName = void 0;
7
- const path = require("path");
39
+ exports.getModuleName = getModuleName;
40
+ const path = __importStar(require("path"));
8
41
  const ts_morph_1 = require("ts-morph");
9
42
  const logging_1 = require("../logging");
10
43
  /**
@@ -34,5 +67,4 @@ function getModuleName(project, modulePath, sourcePath) {
34
67
  }
35
68
  return moduleName;
36
69
  }
37
- exports.getModuleName = getModuleName;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FuYWx5emVyL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILDZCQUE0QjtBQUU1Qix1Q0FBd0M7QUFFeEMsd0NBQTBDO0FBRTFDOzs7OztHQUtHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLE9BQWdCLEVBQUUsVUFBa0IsRUFBRSxVQUFrQjtJQUNwRixxQ0FBcUM7SUFDckMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFFL0Usb0NBQW9DO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFN0gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsSUFBQSxlQUFLLEVBQUMsa0RBQWtELEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDdkUsQ0FBQztJQUVELElBQUksQ0FBQyxlQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1FBQ3JDLElBQUEsZUFBSyxFQUFDLGdHQUFnRyxDQUFDLENBQUE7SUFFekcsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBRXRDLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdCLElBQUEsZUFBSyxFQUFDLDJEQUEyRCxDQUFDLENBQUE7SUFDcEUsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUM1QyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUE7SUFFNUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUEsZUFBSyxFQUFDLElBQUEsZ0JBQU0sRUFBQywrRUFBK0UsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDbkksQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFBO0FBQ25CLENBQUM7QUE1QkQsc0NBNEJDIn0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FuYWx5emVyL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILE1BQVksSUFBSSxpQ0FBWTtBQUU1Qix1Q0FBd0M7QUFFeEMsd0NBQTBDO0FBRTFDOzs7OztHQUtHO0FBQ0gsdUJBQThCLE9BQWdCLEVBQUUsVUFBa0IsRUFBRSxVQUFrQjtJQUNwRixxQ0FBcUM7SUFDckMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFFL0Usb0NBQW9DO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFN0gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsSUFBQSxlQUFLLEVBQUMsa0RBQWtELEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDdkUsQ0FBQztJQUVELElBQUksQ0FBQyxlQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1FBQ3JDLElBQUEsZUFBSyxFQUFDLGdHQUFnRyxDQUFDLENBQUE7SUFFekcsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBRXRDLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdCLElBQUEsZUFBSyxFQUFDLDJEQUEyRCxDQUFDLENBQUE7SUFDcEUsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUM1QyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUE7SUFFNUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUEsZUFBSyxFQUFDLElBQUEsZ0JBQU0sRUFBQywrRUFBK0UsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDbkksQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFBO0FBQ25CLENBQUMifQ==
@@ -2,45 +2,14 @@
2
2
  * @file Analyzer for the source API's controllers' methods' parameters
3
3
  */
4
4
  import { ClassDeclaration, Decorator, MethodDeclaration, ParameterDeclaration } from 'ts-morph';
5
- import { SdkHttpMethod } from './methods';
6
5
  import { Route } from './route';
7
- import { ResolvedTypeDeps } from './typedeps';
8
- /**
9
- * Type of a parameter that must be passed to an SDK method: Body, Query or Route Param
10
- * Supports accessing parameters individually by key or as a whole object
11
- *
12
- * EXAMPLE
13
- *
14
- * Controller Method:
15
- *
16
- * getStuff(@Query('email') email: string, @Query('companyId'): CompanyId)
17
- *
18
- * SDK Method Param:
19
- * { email: string, companyId: CompanyId }
20
- *
21
- * OR
22
- *
23
- * Controller Method:
24
- * type EmailAndCompanyId = { email: string, companyId: CompanyId }
25
- * getStuff(@Query(): EmailAndCompanyId)
26
- *
27
- * SDK Method Param:
28
- * EmailAndCompanyId
29
- */
30
- export type SdkMethodParam = SdkMethodParamMap | ResolvedTypeDeps | null;
31
- export type SdkMethodParamMap = {
32
- [key: string]: ResolvedTypeDeps;
33
- };
34
- export declare const isParamResolvedType: (param: SdkMethodParam) => param is ResolvedTypeDeps;
35
- export declare const getParamResolvedTypes: (param: SdkMethodParam) => ResolvedTypeDeps[];
6
+ import { ArgDecorator, SdkMethodParams as BaseSdkMethodParams, getParamResolvedTypes, isParamResolvedType, SdkHttpMethod, SdkMethodParam, SdkMethodParamMap } from './sdk';
7
+ export { ArgDecorator, getParamResolvedTypes, isParamResolvedType, SdkMethodParam, SdkMethodParamMap };
36
8
  /**
37
9
  * SDK interface for a controller's method's parameters
38
10
  */
39
- export interface SdkMethodParams {
40
- bodyParams: SdkMethodParam;
11
+ export interface SdkMethodParams extends BaseSdkMethodParams {
41
12
  context: MethodContext;
42
- queryParams: SdkMethodParam;
43
- routeParams: SdkMethodParam;
44
13
  }
45
14
  export type MethodContext = {
46
15
  absoluteSrcPath: string;
@@ -50,11 +19,6 @@ export type MethodContext = {
50
19
  method: MethodDeclaration;
51
20
  route: Route;
52
21
  };
53
- export declare enum ArgDecorator {
54
- Body = "Body",
55
- Param = "Param",
56
- Query = "Query"
57
- }
58
22
  export type DecoratedArg = {
59
23
  arg: ParameterDeclaration;
60
24
  argParamKey: string | null;
@@ -3,35 +3,19 @@
3
3
  * @file Analyzer for the source API's controllers' methods' parameters
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.mergeDecoratedArgs = exports.extractArgParamKey = exports.extractDecoratedArgs = exports.extractParams = exports.ArgDecorator = exports.getParamResolvedTypes = exports.isParamResolvedType = void 0;
6
+ exports.isParamResolvedType = exports.getParamResolvedTypes = exports.ArgDecorator = void 0;
7
+ exports.extractParams = extractParams;
8
+ exports.extractDecoratedArgs = extractDecoratedArgs;
9
+ exports.extractArgParamKey = extractArgParamKey;
10
+ exports.mergeDecoratedArgs = mergeDecoratedArgs;
7
11
  const ts_morph_1 = require("ts-morph");
8
12
  const logging_1 = require("../logging");
9
- const methods_1 = require("./methods");
10
13
  const route_1 = require("./route");
14
+ const sdk_1 = require("./sdk");
15
+ Object.defineProperty(exports, "ArgDecorator", { enumerable: true, get: function () { return sdk_1.ArgDecorator; } });
16
+ Object.defineProperty(exports, "getParamResolvedTypes", { enumerable: true, get: function () { return sdk_1.getParamResolvedTypes; } });
17
+ Object.defineProperty(exports, "isParamResolvedType", { enumerable: true, get: function () { return sdk_1.isParamResolvedType; } });
11
18
  const typedeps_1 = require("./typedeps");
12
- const isParamResolvedType = (param) => {
13
- if (param === null) {
14
- return false;
15
- }
16
- return 'rawType' in param && 'resolvedType' in param && 'relativeFilePath' in param && 'dependencies' in param && 'localTypes' in param;
17
- };
18
- exports.isParamResolvedType = isParamResolvedType;
19
- const getParamResolvedTypes = (param) => {
20
- if (param === null) {
21
- return [];
22
- }
23
- if ((0, exports.isParamResolvedType)(param)) {
24
- return [param];
25
- }
26
- return Object.values(param);
27
- };
28
- exports.getParamResolvedTypes = getParamResolvedTypes;
29
- var ArgDecorator;
30
- (function (ArgDecorator) {
31
- ArgDecorator["Body"] = "Body";
32
- ArgDecorator["Param"] = "Param";
33
- ArgDecorator["Query"] = "Query";
34
- })(ArgDecorator || (exports.ArgDecorator = ArgDecorator = {}));
35
19
  /**
36
20
  * Generate a SDK interface for a controller's method's parameters
37
21
  * @param httpMethod The method's HTTP method
@@ -53,13 +37,13 @@ function extractParams(context) {
53
37
  /**
54
38
  * Validate Body Params are not used in GET requests
55
39
  */
56
- if (httpMethod === methods_1.SdkHttpMethod.Get && resolvedParams.bodyParams) {
40
+ if (httpMethod === sdk_1.SdkHttpMethod.Get && resolvedParams.bodyParams) {
57
41
  panicWithContext(`${httpMethod} request should not have @Body params, use @Query params instead`, context);
58
42
  }
59
43
  /**
60
44
  * Validate Query Params are not used in non-GET requests
61
45
  */
62
- if (httpMethod !== methods_1.SdkHttpMethod.Get && resolvedParams.queryParams) {
46
+ if (httpMethod !== sdk_1.SdkHttpMethod.Get && resolvedParams.queryParams) {
63
47
  panicWithContext(`${httpMethod} request should not have @Query params, use @Body params instead`, context);
64
48
  }
65
49
  /**
@@ -84,12 +68,11 @@ function extractParams(context) {
84
68
  }
85
69
  return resolvedParams;
86
70
  }
87
- exports.extractParams = extractParams;
88
71
  function extractDecoratedArgs(context) {
89
72
  const decoratedArgs = {
90
- [ArgDecorator.Param]: [],
91
- [ArgDecorator.Query]: [],
92
- [ArgDecorator.Body]: [],
73
+ [sdk_1.ArgDecorator.Param]: [],
74
+ [sdk_1.ArgDecorator.Query]: [],
75
+ [sdk_1.ArgDecorator.Body]: [],
93
76
  };
94
77
  const { controllerClass, method } = context;
95
78
  const args = method.getParameters();
@@ -97,7 +80,7 @@ function extractDecoratedArgs(context) {
97
80
  const argName = arg.getName();
98
81
  (0, logging_1.debug)('├───── Detected argument: {yellow}', argName);
99
82
  // Arguments are collected as soon as they have a decorator like @Query() or @Body()
100
- const argDecorators = arg.getDecorators().filter((dec) => Object.values(ArgDecorator).includes(dec.getName()));
83
+ const argDecorators = arg.getDecorators().filter((dec) => Object.values(sdk_1.ArgDecorator).includes(dec.getName()));
101
84
  if (argDecorators.length === 0) {
102
85
  // If we have no argument, this is not an argument we are interested in, so we just skip it
103
86
  (0, logging_1.debug)('├───── Skipping this argument as it does not have a decorator');
@@ -109,7 +92,7 @@ function extractDecoratedArgs(context) {
109
92
  // Get the only decrator
110
93
  const decorator = argDecorators[0];
111
94
  const decoratorType = decorator.getName();
112
- const argParamKey = extractArgParamKey(Object.assign(Object.assign({}, context), { arg, decorator }));
95
+ const argParamKey = extractArgParamKey({ ...context, arg, decorator });
113
96
  const argType = arg.getType();
114
97
  if (!argParamKey && !argType.isObject()) {
115
98
  (0, logging_1.panic)(`${controllerClass.getName()} ${method.getName()} generic controller argument ${decoratorType}() ${argName} must be an object type`);
@@ -124,7 +107,6 @@ function extractDecoratedArgs(context) {
124
107
  }
125
108
  return decoratedArgs;
126
109
  }
127
- exports.extractDecoratedArgs = extractDecoratedArgs;
128
110
  function extractArgParamKey(context) {
129
111
  const { arg, controllerClass, decorator, method } = context;
130
112
  const decoratorArgs = decorator.getArguments();
@@ -144,7 +126,6 @@ function extractArgParamKey(context) {
144
126
  }
145
127
  return paramKey;
146
128
  }
147
- exports.extractArgParamKey = extractArgParamKey;
148
129
  function mergeDecoratedArgs(decoratedArgs) {
149
130
  let genericParam = null;
150
131
  const paramMap = {};
@@ -170,7 +151,6 @@ function mergeDecoratedArgs(decoratedArgs) {
170
151
  }
171
152
  return hasArgsByKey ? paramMap : genericParam;
172
153
  }
173
- exports.mergeDecoratedArgs = mergeDecoratedArgs;
174
154
  const panicWithContext = (message, context) => {
175
155
  const { controllerClass, filePath, httpMethod, method } = context;
176
156
  const ctx = {
@@ -181,4 +161,4 @@ const panicWithContext = (message, context) => {
181
161
  };
182
162
  (0, logging_1.panic)(`${message}\n${JSON.stringify(ctx, null, 2)}`);
183
163
  };
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FuYWx5emVyL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILHVDQUEyRztBQUUzRyx3Q0FBeUM7QUFFekMsdUNBQXlDO0FBQ3pDLG1DQUFnRDtBQUNoRCx5Q0FBc0U7QUE0Qi9ELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFxQixFQUE2QixFQUFFO0lBQ3RGLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUNELE9BQU8sU0FBUyxJQUFJLEtBQUssSUFBSSxjQUFjLElBQUksS0FBSyxJQUFJLGtCQUFrQixJQUFJLEtBQUssSUFBSSxjQUFjLElBQUksS0FBSyxJQUFJLFlBQVksSUFBSSxLQUFLLENBQUE7QUFDekksQ0FBQyxDQUFBO0FBTFksUUFBQSxtQkFBbUIsdUJBSy9CO0FBRU0sTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQXFCLEVBQXNCLEVBQUU7SUFDakYsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbkIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsSUFBSSxJQUFBLDJCQUFtQixFQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDN0IsQ0FBQyxDQUFBO0FBUlksUUFBQSxxQkFBcUIseUJBUWpDO0FBcUJELElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsK0JBQWUsQ0FBQTtJQUNmLCtCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLFlBQVksNEJBQVosWUFBWSxRQUl2QjtBQVVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLE9B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
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FuYWx5emVyL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7QUFFSCx1Q0FBMkc7QUFFM0csd0NBQXlDO0FBRXpDLG1DQUFnRDtBQUNoRCwrQkFRYzs2RkFQWixrQkFBWTtzR0FFWiwyQkFBcUI7b0dBQ3JCLHlCQUFtQjtBQUtyQix5Q0FBb0Q7QUE0QnBEOzs7Ozs7OztHQVFHO0FBQ0gsdUJBQThCLE9BQXNCO0lBQ2xELE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQ3JDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzVELE1BQU0sY0FBYyxHQUFvQjtRQUN0QyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQ3RDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7UUFDdEMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUNwQyxPQUFPO0tBQ1IsQ0FBQTtJQUVEOztPQUVHO0lBQ0gsSUFBSSxVQUFVLEtBQUssbUJBQWEsQ0FBQyxHQUFHLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xFLGdCQUFnQixDQUFDLEdBQUcsVUFBVSxrRUFBa0UsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM1RyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFVBQVUsS0FBSyxtQkFBYSxDQUFDLEdBQUcsSUFBSSxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkUsZ0JBQWdCLENBQUMsR0FBRyxVQUFVLGtFQUFrRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzVHLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxjQUFjLENBQUE7SUFDdEMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDLElBQUEsdUJBQWUsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzFELE1BQU0sZUFBZSxHQUNuQixXQUFXLFlBQVksZUFBSTtZQUN6QixDQUFDLENBQUMsMkZBQTJGO2dCQUMzRixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztxQkFDVCxPQUFPLEVBQUU7cUJBQ1QsYUFBYSxFQUFFO3FCQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLENBQUMsQ0FBQyw2RUFBNkU7Z0JBQzdFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFOUIsS0FBSyxNQUFNLFNBQVMsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLGdCQUFnQixDQUFDLGVBQWUsU0FBUywrQkFBK0IsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUNwRixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLGNBQWMsQ0FBQTtBQUN2QixDQUFDO0FBRUQsOEJBQXFDLE9BQXNCO0lBQ3pELE1BQU0sYUFBYSxHQUFHO1FBQ3BCLENBQUMsa0JBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFvQjtRQUMxQyxDQUFDLGtCQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBb0I7UUFDMUMsQ0FBQyxrQkFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQW9CO0tBQzFDLENBQUE7SUFFRCxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUMzQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7SUFFbkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUE7UUFFN0IsSUFBQSxlQUFLLEVBQUMsb0NBQW9DLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFFcEQsb0ZBQW9GO1FBQ3BGLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQVksQ0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBRTVILElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQiwyRkFBMkY7WUFDM0YsSUFBQSxlQUFLLEVBQUMsK0RBQStELENBQUMsQ0FBQTtZQUN0RSxTQUFRO1FBQ1YsQ0FBQzthQUFNLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFBLGVBQUssRUFDSCxHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLHdDQUF3QyxPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzFKLENBQUE7UUFDSCxDQUFDO1FBQ0Qsd0JBQXdCO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFrQixDQUFBO1FBQ3pELE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDdEUsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdCLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxJQUFBLGVBQUssRUFDSCxHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLGdDQUFnQyxhQUFhLE1BQU0sT0FBTyx5QkFBeUIsQ0FDcEksQ0FBQTtRQUNILENBQUM7UUFFRCxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2hDLEdBQUc7WUFDSCxXQUFXO1lBQ1gsU0FBUztZQUNULGFBQWE7WUFDYixPQUFPO1NBQ1IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE9BQU8sYUFBYSxDQUFBO0FBQ3RCLENBQUM7QUFFRCw0QkFDRSxPQUdDO0lBRUQsTUFBTSxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUMzRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUE7SUFFOUMsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzdCLElBQUEsZUFBSyxFQUNILEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSw2Q0FBNkMsQ0FDeEksQ0FBQTtJQUNILENBQUM7U0FBTSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRXJDLElBQUksQ0FBQyxlQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDeEMsSUFBQSxlQUFLLEVBQUMsNkVBQTZFLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDckcsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUM5QyxJQUFJLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLCtEQUErRCxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQy9ILENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBRUQsNEJBQW1DLGFBQTZCO0lBQzlELElBQUksWUFBWSxHQUEwQixJQUFJLENBQUE7SUFDOUMsTUFBTSxRQUFRLEdBQXNCLEVBQUUsQ0FBQTtJQUV0QyxLQUFLLE1BQU0sWUFBWSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxZQUFZLENBQUE7UUFDakUsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQ0FBdUIsRUFBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7UUFFdEcsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUMxQixnQkFBZ0IsQ0FBQyxHQUFHLGFBQWEsS0FBSyxXQUFXLG9DQUFvQyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM5RyxDQUFDO1lBRUQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFlBQVksQ0FBQTtRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLGdCQUFnQixDQUFDLEdBQUcsYUFBYSxvQ0FBb0MsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDOUYsQ0FBQztZQUVELFlBQVksR0FBRyxZQUFZLENBQUE7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFFckQsSUFBSSxZQUFZLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsZ0JBQWdCLENBQUMsbUNBQW1DLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkgsQ0FBQztJQUVELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQTtBQUMvQyxDQUFDO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWUsRUFBRSxPQUFzQixFQUFFLEVBQUU7SUFDbkUsTUFBTSxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQTtJQUNqRSxNQUFNLEdBQUcsR0FBRztRQUNWLFVBQVUsRUFBRSxlQUFlLENBQUMsT0FBTyxFQUFFO1FBQ3JDLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3hCLFVBQVU7UUFDVixRQUFRO0tBQ1QsQ0FBQTtJQUNELElBQUEsZUFBSyxFQUFDLEdBQUcsT0FBTyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDdEQsQ0FBQyxDQUFBIn0=