@nestia/sdk 3.0.5 → 3.1.0-dev.20240426

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 (174) hide show
  1. package/lib/NestiaSdkApplication.d.ts +1 -0
  2. package/lib/NestiaSdkApplication.js +17 -17
  3. package/lib/NestiaSdkApplication.js.map +1 -1
  4. package/lib/analyses/AccessorAnalyzer.d.ts +3 -2
  5. package/lib/analyses/AccessorAnalyzer.js.map +1 -1
  6. package/lib/analyses/ExceptionAnalyzer.d.ts +11 -3
  7. package/lib/analyses/ExceptionAnalyzer.js +23 -18
  8. package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
  9. package/lib/analyses/GenericAnalyzer.d.ts +1 -0
  10. package/lib/analyses/ImportAnalyzer.d.ts +6 -1
  11. package/lib/analyses/ImportAnalyzer.js +27 -29
  12. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  13. package/lib/analyses/PathAnalyzer.d.ts +0 -5
  14. package/lib/analyses/PathAnalyzer.js +0 -32
  15. package/lib/analyses/PathAnalyzer.js.map +1 -1
  16. package/lib/analyses/{ReflectAnalyzer.d.ts → ReflectControllerAnalyzer.d.ts} +3 -4
  17. package/lib/analyses/ReflectControllerAnalyzer.js +145 -0
  18. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -0
  19. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +10 -0
  20. package/lib/analyses/ReflectHttpOperationAnalyzer.js +224 -0
  21. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -0
  22. package/lib/analyses/ReflectMetadataAnalyzer.d.ts +8 -0
  23. package/lib/analyses/ReflectMetadataAnalyzer.js +34 -0
  24. package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -0
  25. package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +10 -0
  26. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +78 -0
  27. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -0
  28. package/lib/analyses/SecurityAnalyzer.js +1 -1
  29. package/lib/analyses/SecurityAnalyzer.js.map +1 -1
  30. package/lib/analyses/TypedControllerAnalyzer.d.ts +9 -0
  31. package/lib/analyses/TypedControllerAnalyzer.js +77 -0
  32. package/lib/analyses/TypedControllerAnalyzer.js.map +1 -0
  33. package/lib/analyses/TypedHttpOperationAnalyzer.d.ts +16 -0
  34. package/lib/analyses/TypedHttpOperationAnalyzer.js +251 -0
  35. package/lib/analyses/TypedHttpOperationAnalyzer.js.map +1 -0
  36. package/lib/analyses/TypedWebSocketOperationAnalyzer.d.ts +16 -0
  37. package/lib/analyses/TypedWebSocketOperationAnalyzer.js +218 -0
  38. package/lib/analyses/TypedWebSocketOperationAnalyzer.js.map +1 -0
  39. package/lib/executable/internal/NestiaConfigLoader.d.ts +1 -0
  40. package/lib/generates/CloneGenerator.d.ts +3 -4
  41. package/lib/generates/CloneGenerator.js +8 -8
  42. package/lib/generates/CloneGenerator.js.map +1 -1
  43. package/lib/generates/E2eGenerator.d.ts +3 -4
  44. package/lib/generates/E2eGenerator.js +7 -7
  45. package/lib/generates/E2eGenerator.js.map +1 -1
  46. package/lib/generates/SdkGenerator.d.ts +4 -4
  47. package/lib/generates/SdkGenerator.js +8 -8
  48. package/lib/generates/SdkGenerator.js.map +1 -1
  49. package/lib/generates/SwaggerGenerator.d.ts +5 -2
  50. package/lib/generates/SwaggerGenerator.js +15 -13
  51. package/lib/generates/SwaggerGenerator.js.map +1 -1
  52. package/lib/generates/internal/E2eFileProgrammer.d.ts +4 -5
  53. package/lib/generates/internal/E2eFileProgrammer.js +13 -12
  54. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  55. package/lib/generates/internal/FilePrinter.d.ts +1 -0
  56. package/lib/generates/internal/ImportDictionary.d.ts +1 -0
  57. package/lib/generates/internal/SdkAliasCollection.d.ts +9 -8
  58. package/lib/generates/internal/SdkAliasCollection.js +20 -20
  59. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  60. package/lib/generates/internal/SdkDistributionComposer.d.ts +1 -1
  61. package/lib/generates/internal/SdkDistributionComposer.js +36 -2
  62. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  63. package/lib/generates/internal/SdkFileProgrammer.d.ts +4 -4
  64. package/lib/generates/internal/SdkFileProgrammer.js +10 -7
  65. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  66. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +13 -0
  67. package/lib/generates/internal/{SdkCloneProgrammer.js → SdkHttpCloneProgrammer.js} +14 -14
  68. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -0
  69. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +12 -0
  70. package/lib/generates/internal/{SdkFunctionProgrammer.js → SdkHttpFunctionProgrammer.js} +12 -12
  71. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -0
  72. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +12 -0
  73. package/lib/generates/internal/{SdkNamespaceProgrammer.js → SdkHttpNamespaceProgrammer.js} +26 -26
  74. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -0
  75. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +8 -0
  76. package/lib/generates/internal/{SdkRouteProgrammer.js → SdkHttpRouteProgrammer.js} +11 -11
  77. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -0
  78. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +13 -0
  79. package/lib/generates/internal/{SdkSimulationProgrammer.js → SdkHttpSimulationProgrammer.js} +18 -18
  80. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -0
  81. package/lib/generates/internal/SdkRouteDirectory.d.ts +3 -2
  82. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  83. package/lib/generates/internal/SdkTypeProgrammer.d.ts +4 -3
  84. package/lib/generates/internal/SdkTypeProgrammer.js +33 -33
  85. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  86. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +8 -0
  87. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +115 -0
  88. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -0
  89. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +8 -0
  90. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +79 -0
  91. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -0
  92. package/lib/generates/internal/SwaggerSchemaGenerator.d.ts +6 -5
  93. package/lib/generates/internal/SwaggerSchemaGenerator.js +3 -1
  94. package/lib/generates/internal/SwaggerSchemaGenerator.js.map +1 -1
  95. package/lib/structures/INestiaProject.d.ts +1 -0
  96. package/lib/structures/IReflectController.d.ts +15 -0
  97. package/lib/structures/{IRoute.js → IReflectController.js} +1 -1
  98. package/lib/structures/IReflectController.js.map +1 -0
  99. package/lib/structures/{IController.d.ts → IReflectHttpOperation.d.ts} +15 -25
  100. package/lib/structures/IReflectHttpOperation.js +3 -0
  101. package/lib/structures/IReflectHttpOperation.js.map +1 -0
  102. package/lib/structures/IReflectWebSocketOperation.d.ts +16 -0
  103. package/lib/structures/IReflectWebSocketOperation.js +3 -0
  104. package/lib/structures/IReflectWebSocketOperation.js.map +1 -0
  105. package/lib/structures/ISwaggerError.d.ts +2 -2
  106. package/lib/structures/ITypeTuple.d.ts +1 -0
  107. package/lib/structures/{IRoute.d.ts → ITypedHttpRoute.d.ts} +12 -12
  108. package/lib/structures/{IController.js → ITypedHttpRoute.js} +1 -1
  109. package/lib/structures/ITypedHttpRoute.js.map +1 -0
  110. package/lib/structures/ITypedWebSocketRoute.d.ts +54 -0
  111. package/lib/structures/ITypedWebSocketRoute.js +3 -0
  112. package/lib/structures/ITypedWebSocketRoute.js.map +1 -0
  113. package/lib/structures/TypeEntry.d.ts +1 -0
  114. package/lib/utils/VersioningStrategy.d.ts +6 -0
  115. package/lib/utils/VersioningStrategy.js +22 -0
  116. package/lib/utils/VersioningStrategy.js.map +1 -0
  117. package/package.json +8 -6
  118. package/src/NestiaSdkApplication.ts +36 -34
  119. package/src/analyses/AccessorAnalyzer.ts +12 -5
  120. package/src/analyses/ExceptionAnalyzer.ts +49 -39
  121. package/src/analyses/ImportAnalyzer.ts +123 -104
  122. package/src/analyses/PathAnalyzer.ts +0 -41
  123. package/src/analyses/ReflectControllerAnalyzer.ts +155 -0
  124. package/src/analyses/ReflectHttpOperationAnalyzer.ts +290 -0
  125. package/src/analyses/ReflectMetadataAnalyzer.ts +53 -0
  126. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +96 -0
  127. package/src/analyses/SecurityAnalyzer.ts +2 -1
  128. package/src/analyses/TypedControllerAnalyzer.ts +92 -0
  129. package/src/analyses/TypedHttpOperationAnalyzer.ts +352 -0
  130. package/src/analyses/TypedWebSocketOperationAnalyzer.ts +368 -0
  131. package/src/generates/CloneGenerator.ts +17 -15
  132. package/src/generates/E2eGenerator.ts +10 -12
  133. package/src/generates/SdkGenerator.ts +19 -12
  134. package/src/generates/SwaggerGenerator.ts +31 -21
  135. package/src/generates/internal/E2eFileProgrammer.ts +20 -24
  136. package/src/generates/internal/SdkAliasCollection.ts +38 -33
  137. package/src/generates/internal/SdkDistributionComposer.ts +13 -4
  138. package/src/generates/internal/SdkFileProgrammer.ts +17 -13
  139. package/src/generates/internal/{SdkCloneProgrammer.ts → SdkHttpCloneProgrammer.ts} +14 -15
  140. package/src/generates/internal/{SdkFunctionProgrammer.ts → SdkHttpFunctionProgrammer.ts} +24 -23
  141. package/src/generates/internal/{SdkNamespaceProgrammer.ts → SdkHttpNamespaceProgrammer.ts} +44 -49
  142. package/src/generates/internal/{SdkRouteProgrammer.ts → SdkHttpRouteProgrammer.ts} +12 -13
  143. package/src/generates/internal/{SdkSimulationProgrammer.ts → SdkHttpSimulationProgrammer.ts} +23 -25
  144. package/src/generates/internal/SdkRouteDirectory.ts +3 -2
  145. package/src/generates/internal/SdkTypeProgrammer.ts +43 -37
  146. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +378 -0
  147. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +248 -0
  148. package/src/generates/internal/SwaggerSchemaGenerator.ts +26 -21
  149. package/src/structures/IReflectController.ts +17 -0
  150. package/src/structures/{IController.ts → IReflectHttpOperation.ts} +78 -94
  151. package/src/structures/IReflectWebSocketOperation.ts +17 -0
  152. package/src/structures/ISwaggerError.ts +2 -2
  153. package/src/structures/{IRoute.ts → ITypedHttpRoute.ts} +14 -12
  154. package/src/structures/ITypedWebSocketRoute.ts +67 -0
  155. package/src/utils/VersioningStrategy.ts +28 -0
  156. package/lib/analyses/ControllerAnalyzer.d.ts +0 -7
  157. package/lib/analyses/ControllerAnalyzer.js +0 -269
  158. package/lib/analyses/ControllerAnalyzer.js.map +0 -1
  159. package/lib/analyses/ReflectAnalyzer.js +0 -377
  160. package/lib/analyses/ReflectAnalyzer.js.map +0 -1
  161. package/lib/generates/internal/SdkCloneProgrammer.d.ts +0 -12
  162. package/lib/generates/internal/SdkCloneProgrammer.js.map +0 -1
  163. package/lib/generates/internal/SdkFunctionProgrammer.d.ts +0 -11
  164. package/lib/generates/internal/SdkFunctionProgrammer.js.map +0 -1
  165. package/lib/generates/internal/SdkNamespaceProgrammer.d.ts +0 -11
  166. package/lib/generates/internal/SdkNamespaceProgrammer.js.map +0 -1
  167. package/lib/generates/internal/SdkRouteProgrammer.d.ts +0 -7
  168. package/lib/generates/internal/SdkRouteProgrammer.js.map +0 -1
  169. package/lib/generates/internal/SdkSimulationProgrammer.d.ts +0 -12
  170. package/lib/generates/internal/SdkSimulationProgrammer.js.map +0 -1
  171. package/lib/structures/IController.js.map +0 -1
  172. package/lib/structures/IRoute.js.map +0 -1
  173. package/src/analyses/ControllerAnalyzer.ts +0 -402
  174. package/src/analyses/ReflectAnalyzer.ts +0 -471
@@ -17,22 +17,22 @@ const fs_1 = __importDefault(require("fs"));
17
17
  const typescript_1 = __importDefault(require("typescript"));
18
18
  const FilePrinter_1 = require("./internal/FilePrinter");
19
19
  const ImportDictionary_1 = require("./internal/ImportDictionary");
20
- const SdkCloneProgrammer_1 = require("./internal/SdkCloneProgrammer");
20
+ const SdkHttpCloneProgrammer_1 = require("./internal/SdkHttpCloneProgrammer");
21
21
  var CloneGenerator;
22
22
  (function (CloneGenerator) {
23
- CloneGenerator.write = (checker) => (config) => (routes) => __awaiter(this, void 0, void 0, function* () {
24
- const dict = SdkCloneProgrammer_1.SdkCloneProgrammer.write(checker)(config)(routes);
23
+ CloneGenerator.write = (project) => (routes) => __awaiter(this, void 0, void 0, function* () {
24
+ const dict = SdkHttpCloneProgrammer_1.SdkHttpCloneProgrammer.write(project)(routes);
25
25
  if (dict.size === 0)
26
26
  return;
27
27
  try {
28
- yield fs_1.default.promises.mkdir(`${config.output}/structures`);
28
+ yield fs_1.default.promises.mkdir(`${project.config.output}/structures`);
29
29
  }
30
30
  catch (_a) { }
31
31
  for (const [key, value] of dict)
32
- yield writeDtoFile(config)(key, value);
32
+ yield writeDtoFile(project)(key, value);
33
33
  });
34
- const writeDtoFile = (config) => (key, value) => __awaiter(this, void 0, void 0, function* () {
35
- const location = `${config.output}/structures/${key}.ts`;
34
+ const writeDtoFile = (project) => (key, value) => __awaiter(this, void 0, void 0, function* () {
35
+ const location = `${project.config.output}/structures/${key}.ts`;
36
36
  const importer = new ImportDictionary_1.ImportDictionary(location);
37
37
  const statements = iterate(importer)(value);
38
38
  if (statements.length === 0)
@@ -40,7 +40,7 @@ var CloneGenerator;
40
40
  yield FilePrinter_1.FilePrinter.write({
41
41
  location,
42
42
  statements: [
43
- ...importer.toStatements(`${config.output}/structures`),
43
+ ...importer.toStatements(`${project.config.output}/structures`),
44
44
  ...(importer.empty() ? [] : [FilePrinter_1.FilePrinter.enter()]),
45
45
  ...statements,
46
46
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"CloneGenerator.js","sourceRoot":"","sources":["../../src/generates/CloneGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,4DAA4B;AAI5B,wDAAqD;AACrD,kEAA+D;AAC/D,sEAAmE;AAEnE,IAAiB,cAAc,CAoD9B;AApDD,WAAiB,cAAc;IAChB,oBAAK,GAChB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAO,MAAgB,EAAiB,EAAE;QACxC,MAAM,IAAI,GACR,uCAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC;QACzD,CAAC;QAAC,WAAM,CAAC,CAAA,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI;YAAE,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAA,CAAC;IAEJ,MAAM,YAAY,GAChB,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAO,GAAW,EAAE,KAAiC,EAAiB,EAAE;QACtE,MAAM,QAAQ,GAAW,GAAG,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;QACjE,MAAM,QAAQ,GAAqB,IAAI,mCAAgB,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,UAAU,GAAmB,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,yBAAW,CAAC,KAAK,CAAC;YACtB,QAAQ;YACR,UAAU,EAAE;gBACV,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,aAAa,CAAC;gBACvD,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClD,GAAG,UAAU;aACd;SACF,CAAC,CAAC;IACL,CAAC,CAAA,CAAC;IAEJ,MAAM,OAAO,GACX,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,MAAkC,EAAkB,EAAE;QACrD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAmB,EAAE,CAAC;YACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CACT,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EACtC,oBAAE,CAAC,SAAS,CAAC,SAAS,CACvB,CACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACN,CAAC,EApDgB,cAAc,8BAAd,cAAc,QAoD9B"}
1
+ {"version":3,"file":"CloneGenerator.js","sourceRoot":"","sources":["../../src/generates/CloneGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,4DAA4B;AAI5B,wDAAqD;AACrD,kEAA+D;AAC/D,8EAA2E;AAE3E,IAAiB,cAAc,CAsD9B;AAtDD,WAAiB,cAAc;IAChB,oBAAK,GAChB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAO,MAAyB,EAAiB,EAAE;QACjD,MAAM,IAAI,GACR,+CAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC;QACjE,CAAC;QAAC,WAAM,CAAC,CAAA,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI;YAAE,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC,CAAA,CAAC;IAEJ,MAAM,YAAY,GAChB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CACE,GAAW,EACX,KAAqC,EACtB,EAAE;QACjB,MAAM,QAAQ,GAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;QACzE,MAAM,QAAQ,GAAqB,IAAI,mCAAgB,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,UAAU,GAAmB,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,yBAAW,CAAC,KAAK,CAAC;YACtB,QAAQ;YACR,UAAU,EAAE;gBACV,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC;gBAC/D,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClD,GAAG,UAAU;aACd;SACF,CAAC,CAAC;IACL,CAAC,CAAA,CAAC;IAEJ,MAAM,OAAO,GACX,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,MAAsC,EAAkB,EAAE;QACzD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAmB,EAAE,CAAC;YACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CACT,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EACtC,oBAAE,CAAC,SAAS,CAAC,SAAS,CACvB,CACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACN,CAAC,EAtDgB,cAAc,8BAAd,cAAc,QAsD9B"}
@@ -1,6 +1,5 @@
1
- import ts from "typescript";
2
- import { INestiaConfig } from "../INestiaConfig";
3
- import { IRoute } from "../structures/IRoute";
1
+ import { INestiaProject } from "../structures/INestiaProject";
2
+ import { ITypedHttpRoute } from "../structures/ITypedHttpRoute";
4
3
  export declare namespace E2eGenerator {
5
- const generate: (checker: ts.TypeChecker) => (config: INestiaConfig) => (routeList: IRoute[]) => Promise<void>;
4
+ const generate: (project: INestiaProject) => (routeList: ITypedHttpRoute[]) => Promise<void>;
6
5
  }
@@ -19,29 +19,29 @@ const ConfigAnalyzer_1 = require("../analyses/ConfigAnalyzer");
19
19
  const E2eFileProgrammer_1 = require("./internal/E2eFileProgrammer");
20
20
  var E2eGenerator;
21
21
  (function (E2eGenerator) {
22
- E2eGenerator.generate = (checker) => (config) => (routeList) => __awaiter(this, void 0, void 0, function* () {
22
+ E2eGenerator.generate = (project) => (routeList) => __awaiter(this, void 0, void 0, function* () {
23
23
  console.log("Generating E2E Test Functions");
24
24
  // PREPARE DIRECTORIES
25
- const output = path_1.default.resolve(config.e2e);
25
+ const output = path_1.default.resolve(project.config.e2e);
26
26
  yield mkdir(output);
27
27
  yield mkdir(path_1.default.join(output, "features"));
28
28
  yield mkdir(path_1.default.join(output, "features", "api"));
29
29
  yield mkdir(path_1.default.join(output, "features", "api", "automated"));
30
30
  // GENERATE TEST INDEX FILE
31
- yield index(config)(path_1.default.join(config.e2e, "index.ts"));
31
+ yield index(project)(path_1.default.join(project.config.e2e, "index.ts"));
32
32
  // GENERATE EACH TEST FILES
33
33
  for (const route of routeList)
34
- yield E2eFileProgrammer_1.E2eFileProgrammer.generate(checker)(config)({
35
- api: path_1.default.resolve(config.output),
34
+ yield E2eFileProgrammer_1.E2eFileProgrammer.generate(project)({
35
+ api: path_1.default.resolve(project.config.output),
36
36
  current: path_1.default.join(output, "features", "api", "automated"),
37
37
  })(route);
38
38
  });
39
- const index = (config) => (output) => __awaiter(this, void 0, void 0, function* () {
39
+ const index = (project) => (output) => __awaiter(this, void 0, void 0, function* () {
40
40
  if (fs_1.default.existsSync(output))
41
41
  return;
42
42
  const location = path_1.default.join(__dirname, "..", "..", "assets", "bundle", "e2e", "index.ts");
43
43
  const content = yield fs_1.default.promises.readFile(location, "utf8");
44
- yield fs_1.default.promises.writeFile(output, content.replace("${input}", JSON.stringify(yield ConfigAnalyzer_1.ConfigAnalyzer.input(config))), "utf8");
44
+ yield fs_1.default.promises.writeFile(output, content.replace("${input}", JSON.stringify(yield ConfigAnalyzer_1.ConfigAnalyzer.input(project.config))), "utf8");
45
45
  });
46
46
  })(E2eGenerator || (exports.E2eGenerator = E2eGenerator = {}));
47
47
  const mkdir = (location) => __awaiter(void 0, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"E2eGenerator.js","sourceRoot":"","sources":["../../src/generates/E2eGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAIxB,+DAA4D;AAE5D,oEAAiE;AAEjE,IAAiB,YAAY,CAkD5B;AAlDD,WAAiB,YAAY;IACd,qBAAQ,GACnB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAO,SAAmB,EAAiB,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,sBAAsB;QACtB,MAAM,MAAM,GAAW,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QAE/D,2BAA2B;QAC3B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAExD,2BAA2B;QAC3B,KAAK,MAAM,KAAK,IAAI,SAAS;YAC3B,MAAM,qCAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;gBAChD,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC;gBACjC,OAAO,EAAE,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC;aAC3D,CAAC,CAAC,KAAK,CAAC,CAAC;IACd,CAAC,CAAA,CAAC;IAEJ,MAAM,KAAK,GACT,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAO,MAAc,EAAiB,EAAE;QACtC,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAElC,MAAM,QAAQ,GAAW,cAAI,CAAC,IAAI,CAChC,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,CACX,CAAC;QACF,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAErE,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,MAAM,EACN,OAAO,CAAC,OAAO,CACb,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,MAAM,+BAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACnD,EACD,MAAM,CACP,CAAC;IACJ,CAAC,CAAA,CAAC;AACN,CAAC,EAlDgB,YAAY,4BAAZ,YAAY,QAkD5B;AAED,MAAM,KAAK,GAAG,CAAO,QAAgB,EAAiB,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAAC,WAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"E2eGenerator.js","sourceRoot":"","sources":["../../src/generates/E2eGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,+DAA4D;AAG5D,oEAAiE;AAEjE,IAAiB,YAAY,CAiD5B;AAjDD,WAAiB,YAAY;IACd,qBAAQ,GACnB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAO,SAA4B,EAAiB,EAAE;QACpD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,sBAAsB;QACtB,MAAM,MAAM,GAAW,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QAE/D,2BAA2B;QAC3B,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAEjE,2BAA2B;QAC3B,KAAK,MAAM,KAAK,IAAI,SAAS;YAC3B,MAAM,qCAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxC,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC;gBACzC,OAAO,EAAE,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC;aAC3D,CAAC,CAAC,KAAK,CAAC,CAAC;IACd,CAAC,CAAA,CAAC;IAEJ,MAAM,KAAK,GACT,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAO,MAAc,EAAiB,EAAE;QACtC,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAElC,MAAM,QAAQ,GAAW,cAAI,CAAC,IAAI,CAChC,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,CACX,CAAC;QACF,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAErE,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,MAAM,EACN,OAAO,CAAC,OAAO,CACb,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,MAAM,+BAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAC3D,EACD,MAAM,CACP,CAAC;IACJ,CAAC,CAAA,CAAC;AACN,CAAC,EAjDgB,YAAY,4BAAZ,YAAY,QAiD5B;AAED,MAAM,KAAK,GAAG,CAAO,QAAgB,EAAiB,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAAC,WAAM,CAAC,CAAA,CAAC;AACZ,CAAC,CAAA,CAAC"}
@@ -1,7 +1,7 @@
1
- import ts from "typescript";
2
- import { INestiaConfig } from "../INestiaConfig";
3
- import { IRoute } from "../structures/IRoute";
1
+ import { INestiaProject } from "../structures/INestiaProject";
2
+ import { ITypedHttpRoute } from "../structures/ITypedHttpRoute";
3
+ import { ITypedWebSocketRoute } from "../structures/ITypedWebSocketRoute";
4
4
  export declare namespace SdkGenerator {
5
- const generate: (checker: ts.TypeChecker) => (config: INestiaConfig) => (routes: IRoute[]) => Promise<void>;
5
+ const generate: (project: INestiaProject) => (routes: Array<ITypedHttpRoute | ITypedWebSocketRoute>) => Promise<void>;
6
6
  const BUNDLE_PATH: string;
7
7
  }
@@ -20,18 +20,18 @@ const SdkDistributionComposer_1 = require("./internal/SdkDistributionComposer");
20
20
  const SdkFileProgrammer_1 = require("./internal/SdkFileProgrammer");
21
21
  var SdkGenerator;
22
22
  (function (SdkGenerator) {
23
- SdkGenerator.generate = (checker) => (config) => (routes) => __awaiter(this, void 0, void 0, function* () {
23
+ SdkGenerator.generate = (project) => (routes) => __awaiter(this, void 0, void 0, function* () {
24
24
  console.log("Generating SDK Library");
25
25
  // PREPARE NEW DIRECTORIES
26
26
  try {
27
- yield fs_1.default.promises.mkdir(config.output);
27
+ yield fs_1.default.promises.mkdir(project.config.output);
28
28
  }
29
29
  catch (_a) { }
30
30
  // BUNDLING
31
31
  const bundle = yield fs_1.default.promises.readdir(SdkGenerator.BUNDLE_PATH);
32
32
  for (const file of bundle) {
33
33
  const current = `${SdkGenerator.BUNDLE_PATH}/${file}`;
34
- const target = `${config.output}/${file}`;
34
+ const target = `${project.config.output}/${file}`;
35
35
  const stats = yield fs_1.default.promises.stat(current);
36
36
  if (stats.isFile() === true) {
37
37
  const content = yield fs_1.default.promises.readFile(current, "utf8");
@@ -48,13 +48,13 @@ var SdkGenerator;
48
48
  }
49
49
  }
50
50
  // STRUCTURES
51
- if (config.clone)
52
- yield CloneGenerator_1.CloneGenerator.write(checker)(config)(routes);
51
+ if (project.config.clone)
52
+ yield CloneGenerator_1.CloneGenerator.write(project)(routes.filter((r) => r.protocol === "http"));
53
53
  // FUNCTIONAL
54
- yield SdkFileProgrammer_1.SdkFileProgrammer.generate(checker)(config)(routes);
54
+ yield SdkFileProgrammer_1.SdkFileProgrammer.generate(project)(routes);
55
55
  // DISTRIBUTION
56
- if (config.distribute !== undefined)
57
- yield SdkDistributionComposer_1.SdkDistributionComposer.compose(config);
56
+ if (project.config.distribute !== undefined)
57
+ yield SdkDistributionComposer_1.SdkDistributionComposer.compose(project.config, routes.some((r) => r.protocol === "websocket"));
58
58
  });
59
59
  SdkGenerator.BUNDLE_PATH = path_1.default.join(__dirname, "..", "..", "assets", "bundle", "api");
60
60
  })(SdkGenerator || (exports.SdkGenerator = SdkGenerator = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  import { OpenApi } from "@samchon/openapi";
2
3
  import ts from "typescript";
3
4
  import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
4
5
  import { INestiaConfig } from "../INestiaConfig";
5
- import { IRoute } from "../structures/IRoute";
6
+ import { INestiaProject } from "../structures/INestiaProject";
6
7
  import { ISwaggerError } from "../structures/ISwaggerError";
7
8
  import { ISwaggerLazyProperty } from "../structures/ISwaggerLazyProperty";
8
9
  import { ISwaggerLazySchema } from "../structures/ISwaggerLazySchema";
10
+ import { ITypedHttpRoute } from "../structures/ITypedHttpRoute";
11
+ import { ITypedWebSocketRoute } from "../structures/ITypedWebSocketRoute";
9
12
  export declare namespace SwaggerGenerator {
10
13
  interface IProps {
11
14
  config: INestiaConfig.ISwaggerConfig;
@@ -16,5 +19,5 @@ export declare namespace SwaggerGenerator {
16
19
  errors: ISwaggerError[];
17
20
  swagger: OpenApi.IDocument;
18
21
  }
19
- const generate: (checker: ts.TypeChecker) => (config: INestiaConfig.ISwaggerConfig) => (routeList: IRoute[]) => Promise<void>;
22
+ const generate: (project: INestiaProject) => (routeList: Array<ITypedHttpRoute | ITypedWebSocketRoute>) => Promise<void>;
20
23
  }
@@ -24,11 +24,13 @@ const MapUtil_1 = require("../utils/MapUtil");
24
24
  const SwaggerSchemaGenerator_1 = require("./internal/SwaggerSchemaGenerator");
25
25
  var SwaggerGenerator;
26
26
  (function (SwaggerGenerator) {
27
- SwaggerGenerator.generate = (checker) => (config) => (routeList) => __awaiter(this, void 0, void 0, function* () {
27
+ SwaggerGenerator.generate = (project) => (routeList) => __awaiter(this, void 0, void 0, function* () {
28
28
  var _a, _b, _c, _d, _e, _f;
29
29
  console.log("Generating Swagger Documents");
30
30
  // VALIDATE SECURITY
31
- validate_security(config)(routeList);
31
+ const config = project.config.swagger;
32
+ const httpRoutes = routeList.filter((route) => route.protocol === "http");
33
+ validate_security(config)(httpRoutes);
32
34
  // PREPARE ASSETS
33
35
  const parsed = path_1.default.parse(config.output);
34
36
  const directory = path_1.default.dirname(parsed.dir);
@@ -51,13 +53,13 @@ var SwaggerGenerator;
51
53
  const lazyProperties = [];
52
54
  const swagger = yield initialize(config);
53
55
  const pathDict = new Map();
54
- for (const route of routeList) {
56
+ for (const route of httpRoutes) {
55
57
  if (route.jsDocTags.find((tag) => tag.name === "internal"))
56
58
  continue;
57
59
  const path = MapUtil_1.MapUtil.take(pathDict, get_path(route.path, route.parameters), () => ({}));
58
60
  path[route.method.toLowerCase()] = generate_route({
59
61
  config,
60
- checker,
62
+ checker: project.checker,
61
63
  collection,
62
64
  lazySchemas,
63
65
  lazyProperties,
@@ -82,7 +84,7 @@ var SwaggerGenerator;
82
84
  // REPORT ERRORS
83
85
  if (errors.length) {
84
86
  for (const e of errors)
85
- console.error(`${path_1.default.relative(e.route.location, process.cwd())}:${e.route.target.class.name}.${e.route.target.function.name}:${e.from} - error TS(@nestia/sdk): invalid type detected.\n\n` +
87
+ console.error(`${path_1.default.relative(e.route.location, process.cwd())}:${e.route.controller.name}.${e.route.name}:${e.from} - error TS(@nestia/sdk): invalid type detected.\n\n` +
86
88
  e.messages.map((m) => ` - ${m}`).join("\n"), "\n\n");
87
89
  throw new TypeError("Invalid type detected");
88
90
  }
@@ -90,10 +92,10 @@ var SwaggerGenerator;
90
92
  const customizer = {
91
93
  at: new tstl_1.Singleton(() => {
92
94
  const functor = new Map();
93
- for (const route of routeList) {
95
+ for (const route of httpRoutes) {
94
96
  const method = route.method.toLowerCase();
95
97
  const path = get_path(route.path, route.parameters);
96
- functor.set(route.target.function, {
98
+ functor.set(route.function, {
97
99
  method,
98
100
  path,
99
101
  route: swagger.paths[path][method],
@@ -113,14 +115,14 @@ var SwaggerGenerator;
113
115
  return (_b = (_a = swagger.paths) === null || _a === void 0 ? void 0 : _a[path]) === null || _b === void 0 ? void 0 : _b[method];
114
116
  }),
115
117
  };
116
- for (const route of routeList) {
118
+ for (const route of httpRoutes) {
117
119
  if (false ===
118
- Reflect.hasMetadata("nestia/SwaggerCustomizer", route.controller.prototype, route.target.function.name))
120
+ Reflect.hasMetadata("nestia/SwaggerCustomizer", route.controller.prototype, route.name))
119
121
  continue;
120
122
  const path = get_path(route.path, route.parameters);
121
123
  const method = route.method.toLowerCase();
122
124
  const target = swagger.paths[path][method];
123
- const closure = Reflect.getMetadata("nestia/SwaggerCustomizer", route.controller.prototype, route.target.function.name);
125
+ const closure = Reflect.getMetadata("nestia/SwaggerCustomizer", route.controller.prototype, route.name);
124
126
  const array = Array.isArray(closure) ? closure : [closure];
125
127
  for (const fn of array)
126
128
  fn({
@@ -168,7 +170,7 @@ var SwaggerGenerator;
168
170
  for (const route of routeList)
169
171
  for (const record of route.security)
170
172
  for (const [key, scopes] of Object.entries(record))
171
- validate((str) => violations.push(` - ${str} (${route.target.class.name}.${route.target.function.name}() at "${route.location}")`))(key, scopes);
173
+ validate((str) => violations.push(` - ${str} (${route.controller.name}.${route.name}() at "${route.location}")`))(key, scopes);
172
174
  if (violations.length)
173
175
  throw new Error(`Error on NestiaApplication.swagger(): invalid security specification. Check your "nestia.config.ts" file's "swagger.security" property, or each controller methods.\n` +
174
176
  `\n` +
@@ -328,8 +330,8 @@ var SwaggerGenerator;
328
330
  }
329
331
  // FINALIZE
330
332
  return Object.assign({ deprecated: deprecated ? true : undefined, tags: [...tagSet], operationId: (_c = route.operationId) !== null && _c !== void 0 ? _c : (_e = (_d = props.config).operationId) === null || _e === void 0 ? void 0 : _e.call(_d, {
331
- class: route.target.class.name,
332
- function: route.target.function.name,
333
+ class: route.controller.name,
334
+ function: route.name,
333
335
  method: route.method,
334
336
  path: route.path,
335
337
  }), parameters: route.parameters
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import ts from "typescript";
2
- import { INestiaConfig } from "../../INestiaConfig";
3
- import { IRoute } from "../../structures/IRoute";
1
+ import { INestiaProject } from "../../structures/INestiaProject";
2
+ import { ITypedHttpRoute } from "../../structures/ITypedHttpRoute";
4
3
  export declare namespace E2eFileProgrammer {
5
- const generate: (checker: ts.TypeChecker) => (config: INestiaConfig) => (props: {
4
+ const generate: (project: INestiaProject) => (props: {
6
5
  api: string;
7
6
  current: string;
8
- }) => (route: IRoute) => Promise<void>;
7
+ }) => (route: ITypedHttpRoute) => Promise<void>;
9
8
  }
@@ -22,9 +22,9 @@ const SdkImportWizard_1 = require("./SdkImportWizard");
22
22
  const SdkTypeProgrammer_1 = require("./SdkTypeProgrammer");
23
23
  var E2eFileProgrammer;
24
24
  (function (E2eFileProgrammer) {
25
- E2eFileProgrammer.generate = (checker) => (config) => (props) => (route) => __awaiter(this, void 0, void 0, function* () {
25
+ E2eFileProgrammer.generate = (project) => (props) => (route) => __awaiter(this, void 0, void 0, function* () {
26
26
  const importer = new ImportDictionary_1.ImportDictionary(`${props.current}/${getFunctionName(route)}.ts`);
27
- if (config.clone !== true)
27
+ if (project.config.clone !== true)
28
28
  for (const tuple of route.imports)
29
29
  for (const instance of tuple[1])
30
30
  importer.internal({
@@ -38,7 +38,7 @@ var E2eFileProgrammer;
38
38
  instance: null,
39
39
  name: "api",
40
40
  });
41
- const functor = generate_function(checker)(config)(importer)(route);
41
+ const functor = generate_function(project)(importer)(route);
42
42
  yield FilePrinter_1.FilePrinter.write({
43
43
  location: importer.file,
44
44
  statements: [
@@ -48,17 +48,17 @@ var E2eFileProgrammer;
48
48
  ],
49
49
  });
50
50
  });
51
- const generate_function = (checker) => (config) => (importer) => (route) => typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
52
- typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(getFunctionName(route)), undefined, undefined, generate_arrow(checker)(config)(importer)(route)),
51
+ const generate_function = (project) => (importer) => (route) => typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
52
+ typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(getFunctionName(route)), undefined, undefined, generate_arrow(project)(importer)(route)),
53
53
  ], typescript_1.default.NodeFlags.Const));
54
- const generate_arrow = (checker) => (config) => (importer) => (route) => {
54
+ const generate_arrow = (project) => (importer) => (route) => {
55
55
  const headers = route.parameters.find((p) => p.category === "headers" && p.field === undefined);
56
56
  const connection = headers
57
57
  ? typescript_1.default.factory.createObjectLiteralExpression([
58
58
  typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createIdentifier("connection")),
59
59
  typescript_1.default.factory.createPropertyAssignment("headers", typescript_1.default.factory.createObjectLiteralExpression([
60
60
  typescript_1.default.factory.createSpreadAssignment(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("connection"))("headers")),
61
- typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("random"), [getTypeName(config)(importer)(headers)], undefined)),
61
+ typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("random"), [getTypeName(project)(importer)(headers)], undefined)),
62
62
  ], true)),
63
63
  ], true)
64
64
  : typescript_1.default.factory.createIdentifier("connection");
@@ -66,23 +66,24 @@ var E2eFileProgrammer;
66
66
  connection,
67
67
  ...route.parameters
68
68
  .filter((p) => p.category !== "headers")
69
- .map((p) => typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("random"), [getTypeName(config)(importer)(p)], undefined)),
69
+ .map((p) => typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("random"), [getTypeName(project)(importer)(p)], undefined)),
70
70
  ]);
71
71
  const assert = typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("assert"), undefined, [typescript_1.default.factory.createIdentifier("output")]);
72
72
  return typescript_1.default.factory.createArrowFunction([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.AsyncKeyword)], undefined, [
73
73
  IdentifierFactory_1.IdentifierFactory.parameter("connection", typescript_1.default.factory.createTypeReferenceNode("api.IConnection")),
74
74
  ], undefined, undefined, typescript_1.default.factory.createBlock([
75
75
  typescript_1.default.factory.createVariableStatement([], typescript_1.default.factory.createVariableDeclarationList([
76
- typescript_1.default.factory.createVariableDeclaration("output", undefined, config.propagate !== true && route.output.typeName === "void"
76
+ typescript_1.default.factory.createVariableDeclaration("output", undefined, project.config.propagate !== true &&
77
+ route.output.typeName === "void"
77
78
  ? undefined
78
- : SdkAliasCollection_1.SdkAliasCollection.output(checker)(config)(importer)(route), typescript_1.default.factory.createAwaitExpression(caller)),
79
+ : SdkAliasCollection_1.SdkAliasCollection.output(project)(importer)(route), typescript_1.default.factory.createAwaitExpression(caller)),
79
80
  ], typescript_1.default.NodeFlags.Const)),
80
81
  typescript_1.default.factory.createExpressionStatement(assert),
81
82
  ]));
82
83
  };
83
84
  })(E2eFileProgrammer || (exports.E2eFileProgrammer = E2eFileProgrammer = {}));
84
85
  const getFunctionName = (route) => ["test", "api", ...route.accessors].join("_");
85
- const getTypeName = (config) => (importer) => (p) => p.metadata
86
- ? SdkTypeProgrammer_1.SdkTypeProgrammer.write(config)(importer)(p.metadata)
86
+ const getTypeName = (project) => (importer) => (p) => p.metadata
87
+ ? SdkTypeProgrammer_1.SdkTypeProgrammer.write(project)(importer)(p.metadata)
87
88
  : typescript_1.default.factory.createTypeReferenceNode(p.typeName);
88
89
  //# sourceMappingURL=E2eFileProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"E2eFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/E2eFileProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"E2eFileProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/E2eFileProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  import ts from "typescript";
2
3
  export declare namespace FilePrinter {
3
4
  const description: <Node extends ts.Node>(node: Node, comment: string) => Node;
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  import ts from "typescript";
2
3
  export declare class ImportDictionary {
3
4
  readonly file: string;
@@ -1,12 +1,13 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  import ts from "typescript";
2
- import { INestiaConfig } from "../../INestiaConfig";
3
- import { IRoute } from "../../structures/IRoute";
3
+ import { INestiaProject } from "../../structures/INestiaProject";
4
+ import { ITypedHttpRoute } from "../../structures/ITypedHttpRoute";
4
5
  import { ImportDictionary } from "./ImportDictionary";
5
6
  export declare namespace SdkAliasCollection {
6
- const name: (config: INestiaConfig) => (importer: ImportDictionary) => (p: IRoute.IParameter | IRoute.IOutput) => ts.TypeNode;
7
- const headers: (config: INestiaConfig) => (importer: ImportDictionary) => (param: IRoute.IParameter) => ts.TypeNode;
8
- const query: (config: INestiaConfig) => (importer: ImportDictionary) => (param: IRoute.IParameter) => ts.TypeNode;
9
- const input: (config: INestiaConfig) => (importer: ImportDictionary) => (param: IRoute.IParameter) => ts.TypeNode;
10
- const output: (checker: ts.TypeChecker) => (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute) => ts.TypeNode;
11
- const responseBody: (checker: ts.TypeChecker) => (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute) => ts.TypeNode;
7
+ const name: (project: INestiaProject) => (importer: ImportDictionary) => (p: ITypedHttpRoute.IParameter | ITypedHttpRoute.IOutput) => ts.TypeNode;
8
+ const headers: (project: INestiaProject) => (importer: ImportDictionary) => (param: ITypedHttpRoute.IParameter) => ts.TypeNode;
9
+ const query: (project: INestiaProject) => (importer: ImportDictionary) => (param: ITypedHttpRoute.IParameter) => ts.TypeNode;
10
+ const input: (project: INestiaProject) => (importer: ImportDictionary) => (param: ITypedHttpRoute.IParameter) => ts.TypeNode;
11
+ const output: (project: INestiaProject) => (importer: ImportDictionary) => (route: ITypedHttpRoute) => ts.TypeNode;
12
+ const responseBody: (project: INestiaProject) => (importer: ImportDictionary) => (route: ITypedHttpRoute) => ts.TypeNode;
12
13
  }
@@ -9,12 +9,12 @@ const typia_1 = __importDefault(require("typia"));
9
9
  const SdkTypeProgrammer_1 = require("./SdkTypeProgrammer");
10
10
  var SdkAliasCollection;
11
11
  (function (SdkAliasCollection) {
12
- SdkAliasCollection.name = (config) => (importer) => (p) => p.metadata
13
- ? SdkTypeProgrammer_1.SdkTypeProgrammer.write(config)(importer)(p.metadata)
12
+ SdkAliasCollection.name = (project) => (importer) => (p) => p.metadata
13
+ ? SdkTypeProgrammer_1.SdkTypeProgrammer.write(project)(importer)(p.metadata)
14
14
  : typescript_1.default.factory.createTypeReferenceNode(p.typeName);
15
- SdkAliasCollection.headers = (config) => (importer) => (param) => {
16
- const type = SdkAliasCollection.name(config)(importer)(param);
17
- if (config.primitive === false)
15
+ SdkAliasCollection.headers = (project) => (importer) => (param) => {
16
+ const type = SdkAliasCollection.name(project)(importer)(param);
17
+ if (project.config.primitive === false)
18
18
  return type;
19
19
  return typescript_1.default.factory.createTypeReferenceNode(importer.external({
20
20
  type: true,
@@ -22,9 +22,9 @@ var SdkAliasCollection;
22
22
  instance: "Resolved",
23
23
  }), [type]);
24
24
  };
25
- SdkAliasCollection.query = (config) => (importer) => (param) => {
26
- const type = SdkAliasCollection.name(config)(importer)(param);
27
- if (config.primitive === false)
25
+ SdkAliasCollection.query = (project) => (importer) => (param) => {
26
+ const type = SdkAliasCollection.name(project)(importer)(param);
27
+ if (project.config.primitive === false)
28
28
  return type;
29
29
  return typescript_1.default.factory.createTypeReferenceNode(importer.external({
30
30
  type: true,
@@ -32,9 +32,9 @@ var SdkAliasCollection;
32
32
  instance: "Resolved",
33
33
  }), [type]);
34
34
  };
35
- SdkAliasCollection.input = (config) => (importer) => (param) => {
36
- const type = SdkAliasCollection.name(config)(importer)(param);
37
- if (config.clone === true || config.primitive === false)
35
+ SdkAliasCollection.input = (project) => (importer) => (param) => {
36
+ const type = SdkAliasCollection.name(project)(importer)(param);
37
+ if (project.config.clone === true || project.config.primitive === false)
38
38
  return type;
39
39
  return typescript_1.default.factory.createTypeReferenceNode(importer.external({
40
40
  type: true,
@@ -48,14 +48,14 @@ var SdkAliasCollection;
48
48
  : "Primitive",
49
49
  }), [type]);
50
50
  };
51
- SdkAliasCollection.output = (checker) => (config) => (importer) => (route) => {
51
+ SdkAliasCollection.output = (project) => (importer) => (route) => {
52
52
  var _a;
53
- if (config.propagate !== true) {
54
- const node = SdkAliasCollection.name(config)(importer)(route.output);
55
- const type = checker.getTypeAtLocation(node);
53
+ if (project.config.propagate !== true) {
54
+ const node = SdkAliasCollection.name(project)(importer)(route.output);
55
+ const type = project.checker.getTypeAtLocation(node);
56
56
  const filter = (flag) => (type.getFlags() & flag) !== 0;
57
- if (config.clone === true ||
58
- config.primitive === false ||
57
+ if (project.config.clone === true ||
58
+ project.config.primitive === false ||
59
59
  filter(typescript_1.default.TypeFlags.Undefined) ||
60
60
  filter(typescript_1.default.TypeFlags.Never) ||
61
61
  filter(typescript_1.default.TypeFlags.Void) ||
@@ -72,11 +72,11 @@ var SdkAliasCollection;
72
72
  const branches = [
73
73
  {
74
74
  status: String((_a = route.status) !== null && _a !== void 0 ? _a : (route.method === "POST" ? 201 : 200)),
75
- type: SdkAliasCollection.name(config)(importer)(route.output),
75
+ type: SdkAliasCollection.name(project)(importer)(route.output),
76
76
  },
77
77
  ...Object.entries(route.exceptions).map(([status, value]) => ({
78
78
  status,
79
- type: SdkAliasCollection.name(config)(importer)(value),
79
+ type: SdkAliasCollection.name(project)(importer)(value),
80
80
  })),
81
81
  ];
82
82
  return typescript_1.default.factory.createTypeReferenceNode(importer.external({
@@ -92,6 +92,6 @@ var SdkAliasCollection;
92
92
  : []),
93
93
  ]);
94
94
  };
95
- SdkAliasCollection.responseBody = (checker) => (config) => (importer) => (route) => SdkAliasCollection.output(checker)(Object.assign(Object.assign({}, config), { propagate: false }))(importer)(route);
95
+ SdkAliasCollection.responseBody = (project) => (importer) => (route) => SdkAliasCollection.output(Object.assign(Object.assign({}, project), { config: Object.assign(Object.assign({}, project.config), { propagate: false }) }))(importer)(route);
96
96
  })(SdkAliasCollection || (exports.SdkAliasCollection = SdkAliasCollection = {}));
97
97
  //# sourceMappingURL=SdkAliasCollection.js.map