@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
@@ -20,33 +20,30 @@ const genmodules_1 = require("./genmodules");
20
20
  const gentypes_1 = require("./gentypes");
21
21
  const prettier_1 = require("./prettier");
22
22
  const sdk_interface_1 = require("./sdk-interface");
23
- function generatorCli(config, sdkContent) {
23
+ function generateAPIClient(config, sdkContent) {
24
24
  return __awaiter(this, void 0, void 0, function* () {
25
25
  const prettifyOutput = config.prettify !== false;
26
26
  if (!prettifyOutput) {
27
27
  (0, logging_1.debug)('NOTE: files will not be prettified with Prettier');
28
28
  }
29
- const output = path.resolve(process.cwd(), config.sdkOutput);
30
- if (fs.existsSync(output)) {
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)) {
31
33
  if (config.overwriteOldOutputDir === false) {
32
34
  (0, logging_1.panic)("Please provide an output directory that doesn't exist yet");
33
35
  }
34
36
  else {
35
- if (!fs.existsSync(path.join(output, 'central.ts'))) {
36
- (0, logging_1.panic)("Provided output path exists but doesn't seem to contain an SDK output. Please check the output directory.");
37
- }
38
- else {
39
- fs.rmSync(output, { recursive: true });
40
- }
37
+ fs.rmSync(outputPath, { recursive: true });
41
38
  }
42
39
  }
43
- const outputParentDir = path.dirname(output);
40
+ const outputParentDir = path.dirname(outputPath);
44
41
  if (!fs.existsSync(outputParentDir)) {
45
42
  (0, logging_1.panic)("Output directory's parent {magentaBright} does not exist.", outputParentDir);
46
43
  }
47
- fs.mkdirSync(output);
44
+ fs.mkdirSync(outputPath);
48
45
  const prettierConfig = prettifyOutput ? (0, prettier_1.findPrettierConfig)(config) : {};
49
- const writeScriptTo = (parentDir, file, utf8Content) => {
46
+ const writeScriptTo = (parentDir, file, utf8Content) => __awaiter(this, void 0, void 0, function* () {
50
47
  if (file.endsWith('.ts')) {
51
48
  utf8Content =
52
49
  '/// Auto-generated file (nest-sdk-generator)\n' +
@@ -55,29 +52,33 @@ function generatorCli(config, sdkContent) {
55
52
  '///\n' +
56
53
  utf8Content;
57
54
  }
58
- const fullPath = path.resolve(output, parentDir !== null && parentDir !== void 0 ? parentDir : '', file);
55
+ const fullPath = path.resolve(outputPath, parentDir !== null && parentDir !== void 0 ? parentDir : '', file);
59
56
  fs.mkdirSync(path.dirname(fullPath), { recursive: true });
60
- fs.writeFileSync(fullPath, prettifyOutput ? (0, prettier_1.prettify)(utf8Content, prettierConfig, file.endsWith('.json') ? 'json' : 'typescript') : utf8Content, 'utf8');
61
- };
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
62
  (0, logging_1.println)('> Generating type files...');
63
63
  for (const [file, content] of (0, gentypes_1.generateSdkTypeFiles)(sdkContent.types)) {
64
- writeScriptTo('_types', (0, typedeps_1.normalizeExternalFilePath)(file), content);
64
+ yield writeScriptTo('_types', (0, typedeps_1.normalizeExternalFilePath)(file), content);
65
65
  }
66
66
  (0, logging_1.println)('> Generating modules...');
67
- for (const [file, content] of (0, genmodules_1.generateSdkModules)(sdkContent.modules)) {
68
- writeScriptTo(null, file, content);
67
+ const modules = sdkContent.modules;
68
+ for (const [file, content] of (0, genmodules_1.generateSdkModules)({ modules, inputRelativePath })) {
69
+ yield writeScriptTo(null, file, content);
69
70
  }
70
71
  const sdkInterfacePath = path.resolve(process.cwd(), config.sdkInterfacePath);
71
72
  const relativeSdkInterfacePath = path
72
- .relative(output, sdkInterfacePath)
73
+ .relative(outputPath, sdkInterfacePath)
73
74
  .replace(/\\/g, '/')
74
75
  .replace(/\.([jt]sx?)$/, '');
75
- writeScriptTo(null, 'central.ts', `export { request } from "${relativeSdkInterfacePath}"`);
76
+ yield writeScriptTo(null, 'central.ts', `export { request } from "${relativeSdkInterfacePath}"`);
76
77
  if (!fs.existsSync(sdkInterfacePath) && config.generateDefaultSdkInterface !== false) {
77
78
  (0, logging_1.println)('├─ Generating default SDK interface...');
78
79
  fs.writeFileSync(sdkInterfacePath, sdk_interface_1.defaultSdkInterface, 'utf8');
79
80
  }
80
81
  });
81
82
  }
82
- exports.default = generatorCli;
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7QUFFSCx5QkFBd0I7QUFDeEIsNkJBQTRCO0FBRTVCLG1EQUFnRTtBQUVoRSx3Q0FBa0Q7QUFDbEQsNkNBQWlEO0FBQ2pELHlDQUFpRDtBQUNqRCx5Q0FBeUQ7QUFDekQsbURBQXFEO0FBRXJELFNBQThCLFlBQVksQ0FBQyxNQUFjLEVBQUUsVUFBc0I7O1FBQy9FLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFBO1FBRWhELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsSUFBQSxlQUFLLEVBQUMsa0RBQWtELENBQUMsQ0FBQTtTQUMxRDtRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUU1RCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsSUFBSSxNQUFNLENBQUMscUJBQXFCLEtBQUssS0FBSyxFQUFFO2dCQUMxQyxJQUFBLGVBQUssRUFBQywyREFBMkQsQ0FBQyxDQUFBO2FBQ25FO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQUU7b0JBQ25ELElBQUEsZUFBSyxFQUFDLDJHQUEyRyxDQUFDLENBQUE7aUJBQ25IO3FCQUFNO29CQUNMLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7aUJBQ3ZDO2FBQ0Y7U0FDRjtRQUVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxD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
83
+ exports.default = generateAPIClient;
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7QUFFSCx5QkFBd0I7QUFDeEIsNkJBQTRCO0FBRzVCLG1EQUFnRTtBQUVoRSx3Q0FBa0Q7QUFFbEQsNkNBQWlEO0FBQ2pELHlDQUFpRDtBQUNqRCx5Q0FBeUQ7QUFDekQsbURBQXFEO0FBRXJELFNBQThCLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxVQUFzQjs7UUFDcEYsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUE7UUFFaEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLElBQUEsZUFBSyxFQUFDLGtEQUFrRCxDQUFDLENBQUE7UUFDM0QsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNwRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDbEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUU5RCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDM0MsSUFBQSxlQUFLLEVBQUMsMkRBQTJELENBQUMsQ0FBQTtZQUNwRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUM1QyxDQUFD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
@@ -13,4 +13,4 @@ export declare function findPrettierConfig(config: Config): object;
13
13
  * @param parser
14
14
  * @returns
15
15
  */
16
- export declare function prettify(source: string, config: object, parser: 'typescript' | 'json'): string;
16
+ export declare function prettify(source: string, config: object, parser: 'typescript' | 'json'): Promise<string>;
@@ -13,7 +13,7 @@ const utils_1 = require("../utils");
13
13
  */
14
14
  function findPrettierConfig(config) {
15
15
  var _a;
16
- let prettierConfigPath = (_a = config.prettierConfig) !== null && _a !== void 0 ? _a : (0, utils_1.findFileAbove)('.prettierrc', config.sdkOutput);
16
+ const prettierConfigPath = (_a = config.prettierConfig) !== null && _a !== void 0 ? _a : (0, utils_1.findFileAbove)('.prettierrc', config.sdkOutputPath);
17
17
  if (!prettierConfigPath) {
18
18
  return {};
19
19
  }
@@ -40,4 +40,4 @@ function prettify(source, config, parser) {
40
40
  return prettier.format(source, Object.assign({ parser }, config));
41
41
  }
42
42
  exports.prettify = prettify;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdG9yL3ByZXR0aWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgseUJBQXdCO0FBQ3hCLHFDQUFvQztBQUVwQyx3Q0FBa0M7QUFDbEMsb0NBQXdDO0FBRXhDOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsTUFBYzs7SUFDL0MsSUFBSSxrQkFBa0IsR0FBRyxNQUFBLE1BQU0sQ0FBQyxjQUFjLG1DQUFJLElBQUEscUJBQWEsRUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRWhHLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtRQUN2QixPQUFPLEVBQUUsQ0FBQTtLQUNWO0lBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsRUFBRTtRQUN0QyxJQUFBLGVBQUssRUFBQyxrRUFBa0UsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0tBQzlGO0lBRUQsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUV4RCxJQUFJO1FBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQ3hCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0tBQ2hFO0FBQ0gsQ0FBQztBQWxCRCxnREFrQkM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixRQUFRLENBQUMsTUFBYyxFQUFFLE1BQWMsRUFBRSxNQUE2QjtJQUNwRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxrQkFDM0IsTUFBTSxJQUNILE1BQU0sRUFDVCxDQUFBO0FBQ0osQ0FBQztBQUxELDRCQUtDIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdG9yL3ByZXR0aWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgseUJBQXdCO0FBRXhCLHFDQUFvQztBQUdwQyx3Q0FBa0M7QUFDbEMsb0NBQXdDO0FBRXhDOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsTUFBYzs7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxNQUFBLE1BQU0sQ0FBQyxjQUFjLG1DQUFJLElBQUEscUJBQWEsRUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRXRHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUVELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUN2QyxJQUFBLGVBQUssRUFBQyxrRUFBa0UsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0lBQy9GLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBRXhELElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDakUsQ0FBQztBQUNILENBQUM7QUFsQkQsZ0RBa0JDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLE1BQWMsRUFBRSxNQUFjLEVBQUUsTUFBNkI7SUFDcEYsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sa0JBQzNCLE1BQU0sSUFDSCxNQUFNLEVBQ1QsQ0FBQTtBQUNKLENBQUM7QUFMRCw0QkFLQyJ9
@@ -1 +1 @@
1
- export declare const defaultSdkInterface: string;
1
+ export declare const defaultSdkInterface: string
@@ -1,6 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultSdkInterface = void 0;
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.defaultSdkInterface = void 0
4
4
  exports.defaultSdkInterface = `
5
5
  export async function request(
6
6
  method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE',
@@ -32,5 +32,5 @@ export async function request(
32
32
  })
33
33
  }
34
34
 
35
- `.trim();
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0b3Ivc2RrLWludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLG1CQUFtQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0JsQyxDQUFDLElBQUksRUFBRSxDQUFBIn0=
35
+ `.trim()
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0b3Ivc2RrLWludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLG1CQUFtQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0JsQyxDQUFDLElBQUksRUFBRSxDQUFBIn0=
package/build/logging.js CHANGED
@@ -21,7 +21,9 @@ function unreachable(message, ...params) {
21
21
  }
22
22
  exports.unreachable = unreachable;
23
23
  function warn(message, ...params) {
24
- console.warn(chalk.yellow(format(message, ...params)));
24
+ if (config_1.config.verbose) {
25
+ console.warn(chalk.yellow(format(message, ...params)));
26
+ }
25
27
  }
26
28
  exports.warn = warn;
27
29
  function println(message, ...params) {
@@ -34,4 +36,4 @@ function debug(message, ...params) {
34
36
  }
35
37
  }
36
38
  exports.debug = debug;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2dnaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUE4QjtBQUM5QixxQ0FBaUM7QUFFakMsU0FBZ0IsTUFBTSxDQUFDLE9BQWUsRUFBRSxHQUFHLE1BQThCO0lBQ3ZFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsaUtBQWlLLEVBQ2pLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFOztRQUNmLE1BQU0sS0FBSyxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssRUFBRSxtQ0FBSSxLQUFLLENBQUMsNkNBQTZDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3BHLE9BQU8sS0FBSyxJQUFJLGVBQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBRSxLQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUNqRixDQUFDLENBQ0YsQ0FBQTtBQUNILENBQUM7QUFSRCx3QkFRQztBQUVELFNBQWdCLEtBQUssQ0FBQyxPQUFlLEVBQUUsR0FBRyxNQUE4QjtJQUN0RSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNqQixDQUFDO0FBSEQsc0JBR0M7QUFFRCxTQUFnQixXQUFXLENBQUMsT0FBZSxFQUFFLEdBQUcsTUFBOEI7SUFDNUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFBO0FBQzNCLENBQUM7QUFGRCxrQ0FFQztBQUVELFNBQWdCLElBQUksQ0FBQyxPQUFlLEVBQUUsR0FBRyxNQUE4QjtJQUNyRSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN4RCxDQUFDO0FBRkQsb0JBRUM7QUFFRCxTQUFnQixPQUFPLENBQUMsT0FBZSxFQUFFLEdBQUcsTUFBOEI7SUFDeEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQTtBQUN6QyxDQUFDO0FBRkQsMEJBRUM7QUFFRCxTQUFnQixLQUFLLENBQUMsT0FBZSxFQUFFLEdBQUcsTUFBOEI7SUFDdEUsSUFBSSxlQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ3JEO0FBQ0gsQ0FBQztBQUpELHNCQUlDIn0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2dnaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUE4QjtBQUU5QixxQ0FBaUM7QUFFakMsU0FBZ0IsTUFBTSxDQUFDLE9BQWUsRUFBRSxHQUFHLE1BQThCO0lBQ3ZFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsaUtBQWlLLEVBQ2pLLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFOztRQUNmLE1BQU0sS0FBSyxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssRUFBRSxtQ0FBSSxLQUFLLENBQUMsNkNBQTZDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3BHLE9BQU8sS0FBSyxJQUFJLGVBQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBRSxLQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUNqRixDQUFDLENBQ0YsQ0FBQTtBQUNILENBQUM7QUFSRCx3QkFRQztBQUVELFNBQWdCLEtBQUssQ0FBQyxPQUFlLEVBQUUsR0FBRyxNQUE4QjtJQUN0RSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNqQixDQUFDO0FBSEQsc0JBR0M7QUFFRCxTQUFnQixXQUFXLENBQUMsT0FBZSxFQUFFLEdBQUcsTUFBOEI7SUFDNUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFBO0FBQzNCLENBQUM7QUFGRCxrQ0FFQztBQUVELFNBQWdCLElBQUksQ0FBQyxPQUFlLEVBQUUsR0FBRyxNQUE4QjtJQUNyRSxJQUFJLGVBQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0FBQ0gsQ0FBQztBQUpELG9CQUlDO0FBRUQsU0FBZ0IsT0FBTyxDQUFDLE9BQWUsRUFBRSxHQUFHLE1BQThCO0lBQ3hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUE7QUFDekMsQ0FBQztBQUZELDBCQUVDO0FBRUQsU0FBZ0IsS0FBSyxDQUFDLE9BQWUsRUFBRSxHQUFHLE1BQThCO0lBQ3RFLElBQUksZUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3RELENBQUM7QUFDSCxDQUFDO0FBSkQsc0JBSUMifQ==
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @file Generate SDK modules
3
+ */
4
+ import { SdkController } from '../analyzer/controller';
5
+ import { SdkModules } from '../analyzer/controllers';
6
+ import { SdkMethod } from '../analyzer/methods';
7
+ import { SdkMethodParam } from '../analyzer/params';
8
+ export declare function replaceSuffix(str: string, { addSuffix, removeSuffix }: {
9
+ addSuffix?: string;
10
+ removeSuffix?: string;
11
+ }): string;
12
+ export declare function controllerExportName(controller: SdkController): string;
13
+ export declare function controllerFileName(controller: SdkController): {
14
+ ext: string;
15
+ name: string;
16
+ };
17
+ export declare function controllerRelativePath({ controller, inputRelativePath, }: {
18
+ controller: SdkController;
19
+ inputRelativePath: string;
20
+ }): string;
21
+ /**
22
+ * Generate the SDK's module and controllers files
23
+ * @param modules
24
+ * @returns
25
+ */
26
+ export declare function generateSdkModules({ inputRelativePath, modules, }: {
27
+ inputRelativePath: string;
28
+ modules: SdkModules;
29
+ }): Map<string, string>;
30
+ export declare function generateController({ controller, inputRelativePath, moduleName, }: {
31
+ controller: SdkController;
32
+ inputRelativePath: string;
33
+ moduleName: string;
34
+ }): string;
35
+ export declare function generateEndpointBuilder({ mutations, queries, }: {
36
+ controller: SdkController;
37
+ mutations: SdkMethod[];
38
+ queries: SdkMethod[];
39
+ }): string;
40
+ export declare function awaitedResolvedType(type: string): string;
41
+ export declare function generateSdkMethod({ controller, inputRelativePath, method, }: {
42
+ controller: SdkController;
43
+ inputRelativePath: string;
44
+ method: SdkMethod;
45
+ }): string;
46
+ export declare function generateSdkMethodSignature(method: SdkMethod): string;
47
+ export declare function generateMergedArgsType(method: SdkMethod): string;
48
+ /**
49
+ * Generate a request call to Central for the generated files
50
+ * @param method
51
+ * @returns
52
+ */
53
+ export declare function generateSdkMethodBody(method: SdkMethod): string;
54
+ export declare function methodParamsToString(params: SdkMethodParam): string;
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ /**
3
+ * @file Generate SDK modules
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.methodParamsToString = exports.generateSdkMethodBody = exports.generateMergedArgsType = exports.generateSdkMethodSignature = exports.generateSdkMethod = exports.awaitedResolvedType = exports.generateEndpointBuilder = exports.generateController = exports.generateSdkModules = exports.controllerRelativePath = exports.controllerFileName = exports.controllerExportName = exports.replaceSuffix = void 0;
7
+ const path = require("path");
8
+ const methods_1 = require("../analyzer/methods");
9
+ const params_1 = require("../analyzer/params");
10
+ const route_1 = require("../analyzer/route");
11
+ const typedeps_1 = require("../analyzer/typedeps");
12
+ const config_1 = require("../config");
13
+ const logging_1 = require("../logging");
14
+ function replaceSuffix(str, { addSuffix = '', removeSuffix = '' }) {
15
+ return str.replace(new RegExp(removeSuffix + '$'), '') + addSuffix;
16
+ }
17
+ exports.replaceSuffix = replaceSuffix;
18
+ function controllerExportName(controller) {
19
+ var _a, _b;
20
+ const suffixReplacement = (_b = (_a = config_1.config.controllerOutput) === null || _a === void 0 ? void 0 : _a.exportName) !== null && _b !== void 0 ? _b : {};
21
+ return replaceSuffix(controller.className, suffixReplacement);
22
+ }
23
+ exports.controllerExportName = controllerExportName;
24
+ function controllerFileName(controller) {
25
+ var _a, _b;
26
+ const { ext, name } = path.parse(controller.path);
27
+ const suffixReplacement = (_b = (_a = config_1.config.controllerOutput) === null || _a === void 0 ? void 0 : _a.fileName) !== null && _b !== void 0 ? _b : {};
28
+ const fileName = replaceSuffix(name, suffixReplacement);
29
+ return {
30
+ name: fileName,
31
+ ext: ext || '.ts',
32
+ };
33
+ }
34
+ exports.controllerFileName = controllerFileName;
35
+ function controllerRelativePath({ controller, inputRelativePath, }) {
36
+ return path.join(inputRelativePath, controller.path);
37
+ }
38
+ exports.controllerRelativePath = controllerRelativePath;
39
+ /**
40
+ * Generate the SDK's module and controllers files
41
+ * @param modules
42
+ * @returns
43
+ */
44
+ function generateSdkModules({ inputRelativePath, modules, }) {
45
+ /** Generated module files */
46
+ const genFiles = new Map();
47
+ /** Index file content */
48
+ const indexImports = [
49
+ 'import type { EndpointBuilder } from "@reduxjs/toolkit/query/react";',
50
+ 'import { BaseRequest } from "./baseRequest";',
51
+ ];
52
+ const indexExports = [];
53
+ const indexEndpoints = [];
54
+ // Iterate over each module
55
+ for (const [moduleName, controllers] of modules) {
56
+ // Iterate over each of the module's controllers
57
+ for (const [_, controller] of controllers) {
58
+ const { ext: fileExt, name: fileName } = controllerFileName(controller);
59
+ genFiles.set(fileName + fileExt, generateController({ moduleName, controller, inputRelativePath }));
60
+ const controllerExport = controllerExportName(controller);
61
+ indexImports.push(`import ${controllerExport} from "./${fileName}";`);
62
+ indexExports.push(`${controllerExport}`);
63
+ indexEndpoints.push(`...${controllerExport}.build(builder)`);
64
+ }
65
+ }
66
+ const indexEndpointBuilder = [
67
+ 'const build = (builder: EndpointBuilder<typeof BaseRequest, any, any>) => ({',
68
+ indexEndpoints.join(',\n'),
69
+ '})',
70
+ ].join('\n');
71
+ indexExports.push('build');
72
+ const indexDefaultExport = ['export default {', indexExports.join(',\n'), '}'].join('\n');
73
+ const indexContent = [...indexImports, '', indexEndpointBuilder, '', indexDefaultExport, ''].join('\n');
74
+ genFiles.set('index.ts', indexContent);
75
+ return genFiles;
76
+ }
77
+ exports.generateSdkModules = generateSdkModules;
78
+ function generateController({ controller, inputRelativePath, moduleName, }) {
79
+ const controllerName = controller.className;
80
+ /** Generated controller's content */
81
+ const out = [];
82
+ out.push('/// Module: ' + moduleName);
83
+ out.push(`/// Controller: ${controllerName}`);
84
+ out.push(`/// File Path: file:///./${controllerRelativePath({ controller, inputRelativePath })}`);
85
+ out.push('');
86
+ out.push('import type { EndpointBuilder } from "@reduxjs/toolkit/query/react";');
87
+ out.push('import { BaseRequest } from "./baseRequest";');
88
+ out.push('import type { BaseRequestArgs } from "./baseRequest";');
89
+ const imports = new Map();
90
+ const depsToImport = new Array();
91
+ // Iterate over each controller
92
+ for (const method of controller.methods.values()) {
93
+ const { bodyParams, queryParams, routeParams } = method.params;
94
+ depsToImport.push(method.returnType);
95
+ depsToImport.push(...(0, params_1.getParamResolvedTypes)(routeParams));
96
+ depsToImport.push(...(0, params_1.getParamResolvedTypes)(queryParams));
97
+ depsToImport.push(...(0, params_1.getParamResolvedTypes)(bodyParams));
98
+ }
99
+ // Build the imports list
100
+ for (const dep of depsToImport) {
101
+ for (const [file, types] of dep.dependencies) {
102
+ let imported = imports.get(file);
103
+ if (!imported) {
104
+ imported = [];
105
+ imports.set(file, imported);
106
+ }
107
+ for (const typ of types) {
108
+ if (!imported.includes(typ)) {
109
+ imported.push(typ);
110
+ }
111
+ }
112
+ }
113
+ }
114
+ for (const [file, types] of imports) {
115
+ out.push(`import type { ${types.join(', ')} } from "../_types/${(0, typedeps_1.normalizeExternalFilePath)(file.replace(/\\/g, '/')).replace(/\\/g, '/')}";`);
116
+ }
117
+ out.push('');
118
+ out.push(`export default class ${controllerExportName(controller)} {`);
119
+ const { mutations, queries } = controller.methods.reduce((acc, method) => {
120
+ if (method.httpMethod === methods_1.SdkHttpMethod.Get) {
121
+ acc.queries.push(method);
122
+ }
123
+ else {
124
+ acc.mutations.push(method);
125
+ }
126
+ return acc;
127
+ }, { mutations: [], queries: [] });
128
+ out.push(`static readonly queries = {`);
129
+ for (const method of queries) {
130
+ out.push(generateSdkMethod({ method, controller, inputRelativePath }));
131
+ }
132
+ out.push(' }');
133
+ out.push('');
134
+ out.push(`static readonly mutations = {`);
135
+ for (const method of mutations) {
136
+ out.push(generateSdkMethod({ method, controller, inputRelativePath }));
137
+ }
138
+ out.push(' }');
139
+ out.push('');
140
+ out.push(generateEndpointBuilder({ controller, mutations, queries }));
141
+ out.push('};');
142
+ return out.join('\n');
143
+ }
144
+ exports.generateController = generateController;
145
+ function generateEndpointBuilder({ mutations, queries, }) {
146
+ const out = [];
147
+ out.push('static readonly build = (builder: EndpointBuilder<typeof BaseRequest, any, any>) => ({');
148
+ for (const method of queries) {
149
+ const resultType = awaitedResolvedType(method.returnType.resolvedType);
150
+ const argsType = generateMergedArgsType(method);
151
+ out.push(` ${method.name}: builder.query<${resultType}, ${argsType}>({`);
152
+ out.push(` queryFn: (args, api, extraOptions) => {`);
153
+ out.push(` return BaseRequest(this.queries.${method.name}(args), api, extraOptions)`);
154
+ out.push(` },`);
155
+ out.push(` }),`);
156
+ }
157
+ for (const method of mutations) {
158
+ const resultType = awaitedResolvedType(method.returnType.resolvedType);
159
+ const argsType = generateMergedArgsType(method);
160
+ out.push(` ${method.name}: builder.mutation<${resultType}, ${argsType}>({`);
161
+ out.push(` queryFn: (args, api, extraOptions) => {`);
162
+ out.push(` return BaseRequest(this.mutations.${method.name}(args), api, extraOptions)`);
163
+ out.push(` },`);
164
+ out.push(` }),`);
165
+ }
166
+ out.push('})');
167
+ return out.join('\n');
168
+ }
169
+ exports.generateEndpointBuilder = generateEndpointBuilder;
170
+ function awaitedResolvedType(type) {
171
+ const prefix = 'Promise<';
172
+ return type.startsWith(prefix) ? type.substring(prefix.length, type.length - 1) : type;
173
+ }
174
+ exports.awaitedResolvedType = awaitedResolvedType;
175
+ function generateSdkMethod({ controller, inputRelativePath, method, }) {
176
+ const out = [];
177
+ out.push('');
178
+ out.push(` /**`);
179
+ out.push(` * ${method.httpMethod} ${(0, route_1.unparseRoute)(method.route)}`);
180
+ out.push(` * ${controller.className}.${method.name}`);
181
+ out.push(` * file:///./${controllerRelativePath({ controller, inputRelativePath })}`);
182
+ out.push(` */`);
183
+ out.push(`${generateSdkMethodSignature(method)} {`);
184
+ out.push(generateSdkMethodBody(method));
185
+ out.push(' },');
186
+ return out.join('\n');
187
+ }
188
+ exports.generateSdkMethod = generateSdkMethod;
189
+ function generateSdkMethodSignature(method) {
190
+ const mergedArgsType = generateMergedArgsType(method);
191
+ return `${method.name}(args: ${mergedArgsType}): BaseRequestArgs`;
192
+ }
193
+ exports.generateSdkMethodSignature = generateSdkMethodSignature;
194
+ function generateMergedArgsType(method) {
195
+ const { params } = method;
196
+ const inputTypes = [];
197
+ if (params.routeParams) {
198
+ inputTypes.push(methodParamsToString(params.routeParams));
199
+ }
200
+ if (params.queryParams) {
201
+ inputTypes.push(methodParamsToString(params.queryParams));
202
+ }
203
+ if (params.bodyParams) {
204
+ inputTypes.push(methodParamsToString(params.bodyParams));
205
+ }
206
+ return inputTypes.join(' &\n') || 'void';
207
+ }
208
+ exports.generateMergedArgsType = generateMergedArgsType;
209
+ /**
210
+ * Generate a request call to Central for the generated files
211
+ * @param method
212
+ * @returns
213
+ */
214
+ function generateSdkMethodBody(method) {
215
+ const output = [];
216
+ const { httpMethod, route } = method;
217
+ const routeParams = (0, route_1.paramsFromRoute)(route);
218
+ const resolvedRoute = (0, route_1.resolveRouteWith)(route, (param) => '${' + param + '}');
219
+ const hasAnyParams = method.params.routeParams || method.params.queryParams || method.params.bodyParams;
220
+ if (resolvedRoute instanceof Error) {
221
+ (0, logging_1.panic)('Internal error: failed to resolve route: ' + resolvedRoute.message);
222
+ }
223
+ const routeParamsSpread = routeParams.length > 0 ? `${routeParams.join(', ')},` : '';
224
+ // Destructure parameters if they exist
225
+ if (hasAnyParams) {
226
+ output.push(`const { ${routeParamsSpread} ...rest } = args`);
227
+ }
228
+ const isGet = httpMethod === methods_1.SdkHttpMethod.Get;
229
+ const body = isGet || !hasAnyParams ? 'null' : 'rest';
230
+ const query = isGet && hasAnyParams ? 'rest' : '{}';
231
+ output.push(`return { body: ${body}, method: '${httpMethod}', query: ${query}, route: \`${resolvedRoute}\` }`);
232
+ return output.join('\n');
233
+ }
234
+ exports.generateSdkMethodBody = generateSdkMethodBody;
235
+ function methodParamsToString(params) {
236
+ if (params === null) {
237
+ return '';
238
+ }
239
+ if ((0, params_1.isParamResolvedType)(params)) {
240
+ return params.resolvedType;
241
+ }
242
+ const output = ['{'];
243
+ for (const [name, type] of Object.entries(params)) {
244
+ output.push(`${name}: ${type.resolvedType},`);
245
+ }
246
+ output.push('}');
247
+ return output.join('\n');
248
+ }
249
+ exports.methodParamsToString = methodParamsToString;
250
+ // const ret = method.returnType.resolvedType
251
+ // const promised = ret.startsWith('Promise<') ? ret : `Promise<${ret}>`
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VubW9kdWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydGstcXVlcnktZ2VuZXJhdG9yL2dlbm1vZHVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSCw2QkFBNkI7QUFJN0IsaURBQThEO0FBQzlELCtDQUErRjtBQUMvRiw2Q0FBbUY7QUFDbkYsbURBQWtGO0FBQ2xGLHNDQUFrQztBQUNsQyx3Q0FBa0M7QUFFbEMsU0FBZ0IsYUFBYSxDQUFDLEdBQVcsRUFBRSxFQUFFLFNBQVMsR0FBRyxFQUFFLEVBQUUsWUFBWSxHQUFHLEVBQUUsRUFBaUQ7SUFDN0gsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUE7QUFDcEUsQ0FBQztBQUZELHNDQUVDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsVUFBeUI7O0lBQzVELE1BQU0saUJBQWlCLEdBQUcsTUFBQSxNQUFBLGVBQU0sQ0FBQyxnQkFBZ0IsMENBQUUsVUFBVSxtQ0FBSSxFQUFFLENBQUE7SUFDbkUsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0FBQy9ELENBQUM7QUFIRCxvREFHQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLFVBQXlCOztJQUMxRCxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pELE1BQU0saUJBQWlCLEdBQUcsTUFBQSxNQUFBLGVBQU0sQ0FBQyxnQkFBZ0IsMENBQUUsUUFBUSxtQ0FBSSxFQUFFLENBQUE7SUFDakUsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3ZELE9BQU87UUFDTCxJQUFJLEVBQUUsUUFB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
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @file Generate type files for the SDK
3
+ */
4
+ import { TypesExtractorContent } from '../analyzer/extractor';
5
+ /**
6
+ * Generate the non-formatted type files which will be used by the SDK's route functions
7
+ * @param sdkTypes
8
+ * @returns
9
+ */
10
+ export declare function generateSdkTypeFiles(sdkTypes: TypesExtractorContent): Map<string, string>;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * @file Generate type files for the SDK
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateSdkTypeFiles = void 0;
7
+ const path = require("path");
8
+ const typedeps_1 = require("../analyzer/typedeps");
9
+ /**
10
+ * Generate the non-formatted type files which will be used by the SDK's route functions
11
+ * @param sdkTypes
12
+ * @returns
13
+ */
14
+ function generateSdkTypeFiles(sdkTypes) {
15
+ /** Generated type files */
16
+ const genFiles = new Map();
17
+ // While analyzing the controllers' content, all types used by their methods have been extracted
18
+ // The list of these types is then provided to this function as the `sdkTypes` argument, allowing us
19
+ // to establish the list of all dependencies.
20
+ for (const [file, types] of sdkTypes) {
21
+ const out = [];
22
+ /** List of imports in the current file */
23
+ const imports = new Map();
24
+ // Iterate over all types in the current `file`
25
+ for (const extracted of types.values()) {
26
+ // Iterate over all of the extracted type's dependencies
27
+ for (const dep of extracted.dependencies) {
28
+ // If the dependency is from the same file, then we have nothing to do
29
+ if (dep.relativePath === file) {
30
+ continue;
31
+ }
32
+ // Push the typename to the list of imports
33
+ let imported = imports.get(dep.relativePathNoExt);
34
+ if (!imported) {
35
+ imported = [dep.typename];
36
+ imports.set(dep.relativePathNoExt, imported);
37
+ }
38
+ if (!imported.includes(dep.typename)) {
39
+ imported.push(dep.typename);
40
+ }
41
+ }
42
+ }
43
+ // Generate an import statement for each imported type
44
+ out.push([...imports]
45
+ .map(([depFile, types]) => {
46
+ let depPath = path.relative(path.dirname(file), (0, typedeps_1.normalizeExternalFilePath)(depFile)).replace(/\\/g, '/');
47
+ if (!depPath.includes('/'))
48
+ depPath = './' + depPath;
49
+ return `import type { ${types.join(', ')} } from "${depPath.startsWith('./') || depPath.startsWith('../') ? depPath : './' + depPath}"`;
50
+ })
51
+ .join('\n'));
52
+ // Add the extracted types' declaration, indented
53
+ for (const extracted of types.values()) {
54
+ out.push(extracted.content.replace(/^/gm, ' '));
55
+ }
56
+ // Generate the type file
57
+ genFiles.set(file, out.join('\n'));
58
+ }
59
+ return genFiles;
60
+ }
61
+ exports.generateSdkTypeFiles = generateSdkTypeFiles;
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnRrLXF1ZXJ5LWdlbmVyYXRvci9nZW50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILDZCQUE0QjtBQUc1QixtREFBZ0U7QUFFaEU7Ozs7R0FJRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLFFBQStCO0lBQ2xFLDJCQUEyQjtJQUMzQixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtJQUUxQyxnR0FBZ0c7SUFDaEcsb0dBQW9HO0lBQ3BHLDhDQUE4QztJQUM5QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFLENBQUM7UUFDckMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFBO1FBRWQsMENBQTBDO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFBO1FBRTNDLCtDQUErQztRQUMvQyxLQUFLLE1BQU0sU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLHdEQUF3RDtZQUN4RCxLQUFLLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDekMsc0VBQXNFO2dCQUN0RSxJQUFJLEdBQUcsQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzlCLFNBQVE7Z0JBQ1YsQ0FBQztnQkFFRCwyQ0FBMkM7Z0JBQzNDLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7Z0JBRWpELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDZCxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUE7b0JBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFBO2dCQUM5QyxDQUFDO2dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDN0IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsc0RBQXNEO1FBQ3RELEdBQUcsQ0FBQyxJQUFJLENBQ04sQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUNULEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUEsb0NBQXlCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ3ZHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQTtZQUNwRCxPQUFPLGlCQUFpQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUN0QyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE9BQzNFLEdBQUcsQ0FBQTtRQUNMLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDZCxDQUFBO1FBRUQsaURBQWlEO1FBQ2pELEtBQUssTUFBTSxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDdkMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNsRCxDQUFDO1FBRUQseUJBQXlCO1FBQ3pCLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQztBQTNERCxvREEyREMifQ==
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @file Entrypoint of the SDK generator
3
+ */
4
+ import { SdkContent } from '../analyzer';
5
+ import { Config } from '../config';
6
+ export default function generateRTKQueryEndpoints(config: Config, sdkContent: SdkContent): Promise<void>;