@apimatic/cli 1.1.0-alpha.8 → 1.1.0-beta.1

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 (345) hide show
  1. package/README.md +436 -374
  2. package/bin/run.js +5 -0
  3. package/lib/actions/action-result.d.ts +13 -0
  4. package/lib/actions/action-result.js +44 -0
  5. package/lib/actions/action-result.js.map +1 -0
  6. package/lib/actions/api/transform.d.ts +15 -0
  7. package/lib/actions/api/transform.js +48 -0
  8. package/lib/actions/api/transform.js.map +1 -0
  9. package/lib/actions/api/validate.d.ts +12 -0
  10. package/lib/actions/api/validate.js +41 -0
  11. package/lib/actions/api/validate.js.map +1 -0
  12. package/lib/actions/auth/login.d.ts +13 -0
  13. package/lib/actions/auth/login.js +55 -0
  14. package/lib/actions/auth/login.js.map +1 -0
  15. package/lib/actions/auth/logout.d.ts +8 -0
  16. package/lib/actions/auth/logout.js +15 -0
  17. package/lib/actions/auth/logout.js.map +1 -0
  18. package/lib/actions/auth/status.d.ts +11 -0
  19. package/lib/actions/auth/status.js +26 -0
  20. package/lib/actions/auth/status.js.map +1 -0
  21. package/lib/actions/portal/copilot.d.ts +16 -0
  22. package/lib/actions/portal/copilot.js +89 -0
  23. package/lib/actions/portal/copilot.js.map +1 -0
  24. package/lib/actions/portal/generate.d.ts +11 -5
  25. package/lib/actions/portal/generate.js +60 -55
  26. package/lib/actions/portal/generate.js.map +1 -0
  27. package/lib/actions/portal/quickstart.d.ts +16 -0
  28. package/lib/actions/portal/quickstart.js +146 -0
  29. package/lib/actions/portal/quickstart.js.map +1 -0
  30. package/lib/actions/portal/recipe/new-recipe.d.ts +15 -0
  31. package/lib/actions/portal/recipe/new-recipe.js +177 -0
  32. package/lib/actions/portal/recipe/new-recipe.js.map +1 -0
  33. package/lib/actions/portal/serve.d.ts +15 -0
  34. package/lib/actions/portal/serve.js +118 -0
  35. package/lib/actions/portal/serve.js.map +1 -0
  36. package/lib/actions/portal/toc/new-toc.d.ts +21 -0
  37. package/lib/actions/portal/toc/new-toc.js +97 -0
  38. package/lib/actions/portal/toc/new-toc.js.map +1 -0
  39. package/lib/actions/quickstart.d.ts +10 -0
  40. package/lib/actions/quickstart.js +30 -0
  41. package/lib/actions/quickstart.js.map +1 -0
  42. package/lib/actions/sdk/generate.d.ts +13 -0
  43. package/lib/actions/sdk/generate.js +47 -0
  44. package/lib/actions/sdk/generate.js.map +1 -0
  45. package/lib/actions/sdk/quickstart.d.ts +14 -0
  46. package/lib/actions/sdk/quickstart.js +149 -0
  47. package/lib/actions/sdk/quickstart.js.map +1 -0
  48. package/lib/application/portal/recipe/portal-recipe.d.ts +8 -0
  49. package/lib/application/portal/recipe/portal-recipe.js +33 -0
  50. package/lib/application/portal/recipe/portal-recipe.js.map +1 -0
  51. package/lib/application/portal/recipe/recipe-generator.d.ts +21 -0
  52. package/lib/application/portal/recipe/recipe-generator.js +145 -0
  53. package/lib/application/portal/recipe/recipe-generator.js.map +1 -0
  54. package/lib/application/portal/{new/toc → toc}/toc-content-parser.d.ts +1 -1
  55. package/lib/application/portal/toc/toc-content-parser.js +44 -0
  56. package/lib/application/portal/toc/toc-content-parser.js.map +1 -0
  57. package/lib/application/portal/{new/toc → toc}/toc-structure-generator.d.ts +1 -1
  58. package/lib/application/portal/toc/toc-structure-generator.js +84 -0
  59. package/lib/application/portal/toc/toc-structure-generator.js.map +1 -0
  60. package/lib/client-utils/auth-manager.d.ts +7 -2
  61. package/lib/client-utils/auth-manager.js +26 -14
  62. package/lib/client-utils/auth-manager.js.map +1 -0
  63. package/lib/commands/api/transform.d.ts +10 -7
  64. package/lib/commands/api/transform.js +51 -111
  65. package/lib/commands/api/transform.js.map +1 -0
  66. package/lib/commands/api/validate.d.ts +7 -4
  67. package/lib/commands/api/validate.js +31 -74
  68. package/lib/commands/api/validate.js.map +1 -0
  69. package/lib/commands/auth/login.d.ts +3 -1
  70. package/lib/commands/auth/login.js +26 -68
  71. package/lib/commands/auth/login.js.map +1 -0
  72. package/lib/commands/auth/logout.d.ts +3 -1
  73. package/lib/commands/auth/logout.js +14 -21
  74. package/lib/commands/auth/logout.js.map +1 -0
  75. package/lib/commands/auth/status.d.ts +1 -0
  76. package/lib/commands/auth/status.js +18 -21
  77. package/lib/commands/auth/status.js.map +1 -0
  78. package/lib/commands/portal/copilot.d.ts +13 -0
  79. package/lib/commands/portal/copilot.js +34 -0
  80. package/lib/commands/portal/copilot.js.map +1 -0
  81. package/lib/commands/portal/generate.d.ts +7 -11
  82. package/lib/commands/portal/generate.js +26 -89
  83. package/lib/commands/portal/generate.js.map +1 -0
  84. package/lib/commands/portal/recipe/new.d.ts +12 -0
  85. package/lib/commands/portal/recipe/new.js +45 -0
  86. package/lib/commands/portal/recipe/new.js.map +1 -0
  87. package/lib/commands/portal/serve.d.ts +8 -8
  88. package/lib/commands/portal/serve.js +41 -125
  89. package/lib/commands/portal/serve.js.map +1 -0
  90. package/lib/commands/portal/toc/new.d.ts +14 -0
  91. package/lib/commands/portal/toc/new.js +60 -0
  92. package/lib/commands/portal/toc/new.js.map +1 -0
  93. package/lib/commands/quickstart.d.ts +9 -0
  94. package/lib/commands/quickstart.js +37 -0
  95. package/lib/commands/quickstart.js.map +1 -0
  96. package/lib/commands/sdk/generate.d.ts +10 -8
  97. package/lib/commands/sdk/generate.js +46 -131
  98. package/lib/commands/sdk/generate.js.map +1 -0
  99. package/lib/config/axios-config.js +4 -6
  100. package/lib/config/axios-config.js.map +1 -0
  101. package/lib/hooks/not-found.d.ts +3 -0
  102. package/lib/hooks/not-found.js +52 -0
  103. package/lib/hooks/not-found.js.map +1 -0
  104. package/lib/hooks/utils.d.ts +5 -0
  105. package/lib/hooks/utils.js +51 -0
  106. package/lib/hooks/utils.js.map +1 -0
  107. package/lib/index.js +2 -5
  108. package/lib/index.js.map +1 -0
  109. package/lib/infrastructure/debounce-service.d.ts +10 -0
  110. package/lib/infrastructure/debounce-service.js +52 -0
  111. package/lib/infrastructure/debounce-service.js.map +1 -0
  112. package/lib/infrastructure/env-info.d.ts +12 -0
  113. package/lib/infrastructure/env-info.js +58 -0
  114. package/lib/infrastructure/env-info.js.map +1 -0
  115. package/lib/infrastructure/file-service.d.ts +24 -0
  116. package/lib/infrastructure/file-service.js +120 -0
  117. package/lib/infrastructure/file-service.js.map +1 -0
  118. package/lib/infrastructure/launcher-service.d.ts +9 -0
  119. package/lib/infrastructure/launcher-service.js +72 -0
  120. package/lib/infrastructure/launcher-service.js.map +1 -0
  121. package/lib/infrastructure/network-service.d.ts +3 -0
  122. package/lib/infrastructure/network-service.js +7 -0
  123. package/lib/infrastructure/network-service.js.map +1 -0
  124. package/lib/infrastructure/service-error.d.ts +16 -0
  125. package/lib/infrastructure/service-error.js +49 -0
  126. package/lib/infrastructure/service-error.js.map +1 -0
  127. package/lib/infrastructure/services/api-client-factory.d.ts +6 -0
  128. package/lib/infrastructure/services/api-client-factory.js +20 -0
  129. package/lib/infrastructure/services/api-client-factory.js.map +1 -0
  130. package/lib/infrastructure/services/api-service.d.ts +12 -0
  131. package/lib/infrastructure/services/api-service.js +79 -0
  132. package/lib/infrastructure/services/api-service.js.map +1 -0
  133. package/lib/infrastructure/services/auth-service.d.ts +11 -0
  134. package/lib/infrastructure/services/auth-service.js +37 -0
  135. package/lib/infrastructure/services/auth-service.js.map +1 -0
  136. package/lib/infrastructure/services/file-download-service.d.ts +15 -0
  137. package/lib/infrastructure/services/file-download-service.js +104 -0
  138. package/lib/infrastructure/services/file-download-service.js.map +1 -0
  139. package/lib/infrastructure/services/portal-service.d.ts +17 -12
  140. package/lib/infrastructure/services/portal-service.js +134 -99
  141. package/lib/infrastructure/services/portal-service.js.map +1 -0
  142. package/lib/infrastructure/services/telemetry-service.d.ts +9 -0
  143. package/lib/infrastructure/services/telemetry-service.js +38 -0
  144. package/lib/infrastructure/services/telemetry-service.js.map +1 -0
  145. package/lib/infrastructure/services/transformation-service.d.ts +23 -0
  146. package/lib/infrastructure/services/transformation-service.js +56 -0
  147. package/lib/infrastructure/services/transformation-service.js.map +1 -0
  148. package/lib/infrastructure/services/validation-service.d.ts +17 -0
  149. package/lib/infrastructure/services/validation-service.js +49 -0
  150. package/lib/infrastructure/services/validation-service.js.map +1 -0
  151. package/lib/infrastructure/tmp-extensions.d.ts +2 -0
  152. package/lib/infrastructure/tmp-extensions.js +6 -0
  153. package/lib/infrastructure/tmp-extensions.js.map +1 -0
  154. package/lib/infrastructure/zip-service.d.ts +6 -0
  155. package/lib/infrastructure/zip-service.js +39 -0
  156. package/lib/infrastructure/zip-service.js.map +1 -0
  157. package/lib/prompts/api/transform.d.ts +11 -0
  158. package/lib/prompts/api/transform.js +29 -0
  159. package/lib/prompts/api/transform.js.map +1 -0
  160. package/lib/prompts/api/validate.d.ts +12 -0
  161. package/lib/prompts/api/validate.js +40 -0
  162. package/lib/prompts/api/validate.js.map +1 -0
  163. package/lib/prompts/auth/login.d.ts +10 -0
  164. package/lib/prompts/auth/login.js +22 -0
  165. package/lib/prompts/auth/login.js.map +1 -0
  166. package/lib/prompts/auth/logout.d.ts +3 -0
  167. package/lib/prompts/auth/logout.js +7 -0
  168. package/lib/prompts/auth/logout.js.map +1 -0
  169. package/lib/prompts/auth/status.d.ts +8 -0
  170. package/lib/prompts/auth/status.js +22 -0
  171. package/lib/prompts/auth/status.js.map +1 -0
  172. package/lib/prompts/format.d.ts +31 -0
  173. package/lib/prompts/format.js +89 -0
  174. package/lib/prompts/format.js.map +1 -0
  175. package/lib/prompts/portal/copilot.d.ts +18 -0
  176. package/lib/prompts/portal/copilot.js +82 -0
  177. package/lib/prompts/portal/copilot.js.map +1 -0
  178. package/lib/prompts/portal/generate.d.ts +13 -8
  179. package/lib/prompts/portal/generate.js +36 -53
  180. package/lib/prompts/portal/generate.js.map +1 -0
  181. package/lib/prompts/portal/quickstart.d.ts +28 -29
  182. package/lib/prompts/portal/quickstart.js +102 -185
  183. package/lib/prompts/portal/quickstart.js.map +1 -0
  184. package/lib/prompts/portal/recipe/new-recipe.d.ts +29 -0
  185. package/lib/prompts/portal/recipe/new-recipe.js +165 -0
  186. package/lib/prompts/portal/recipe/new-recipe.js.map +1 -0
  187. package/lib/prompts/portal/serve.d.ts +9 -5
  188. package/lib/prompts/portal/serve.js +29 -19
  189. package/lib/prompts/portal/serve.js.map +1 -0
  190. package/lib/prompts/portal/toc/new-toc.d.ts +15 -0
  191. package/lib/prompts/portal/toc/new-toc.js +38 -0
  192. package/lib/prompts/portal/toc/new-toc.js.map +1 -0
  193. package/lib/prompts/prompt.d.ts +3 -0
  194. package/lib/prompts/prompt.js +37 -0
  195. package/lib/prompts/prompt.js.map +1 -0
  196. package/lib/prompts/quickstart.d.ts +6 -0
  197. package/lib/prompts/quickstart.js +25 -0
  198. package/lib/prompts/quickstart.js.map +1 -0
  199. package/lib/prompts/sdk/generate.d.ts +11 -0
  200. package/lib/prompts/sdk/generate.js +37 -0
  201. package/lib/prompts/sdk/generate.js.map +1 -0
  202. package/lib/prompts/sdk/quickstart.d.ts +32 -0
  203. package/lib/prompts/sdk/quickstart.js +140 -0
  204. package/lib/prompts/sdk/quickstart.js.map +1 -0
  205. package/lib/types/api/account.d.ts +10 -0
  206. package/lib/types/api/account.js +2 -0
  207. package/lib/types/api/account.js.map +1 -0
  208. package/lib/types/api/transform.d.ts +14 -25
  209. package/lib/types/api/transform.js +20 -23
  210. package/lib/types/api/transform.js.map +1 -0
  211. package/lib/types/build/build.d.ts +22 -0
  212. package/lib/types/build/build.js +7 -0
  213. package/lib/types/build/build.js.map +1 -0
  214. package/lib/types/build-context.d.ts +13 -0
  215. package/lib/types/build-context.js +33 -0
  216. package/lib/types/build-context.js.map +1 -0
  217. package/lib/types/common/command-metadata.d.ts +4 -0
  218. package/lib/types/common/command-metadata.js +2 -0
  219. package/lib/types/common/command-metadata.js.map +1 -0
  220. package/lib/types/events/domain-event.d.ts +8 -0
  221. package/lib/types/events/domain-event.js +11 -0
  222. package/lib/types/events/domain-event.js.map +1 -0
  223. package/lib/types/events/quickstart-completed.d.ts +7 -0
  224. package/lib/types/events/quickstart-completed.js +10 -0
  225. package/lib/types/events/quickstart-completed.js.map +1 -0
  226. package/lib/types/events/quickstart-initiated.d.ts +7 -0
  227. package/lib/types/events/quickstart-initiated.js +10 -0
  228. package/lib/types/events/quickstart-initiated.js.map +1 -0
  229. package/lib/types/events/recipe-creation-failed.d.ts +5 -0
  230. package/lib/types/events/recipe-creation-failed.js +8 -0
  231. package/lib/types/events/recipe-creation-failed.js.map +1 -0
  232. package/lib/types/events/toc-creation-failed.d.ts +5 -0
  233. package/lib/types/events/toc-creation-failed.js +8 -0
  234. package/lib/types/events/toc-creation-failed.js.map +1 -0
  235. package/lib/types/file/directory.d.ts +17 -0
  236. package/lib/types/file/directory.js +87 -0
  237. package/lib/types/file/directory.js.map +1 -0
  238. package/lib/types/file/directoryPath.d.ts +10 -0
  239. package/lib/types/file/directoryPath.js +26 -0
  240. package/lib/types/file/directoryPath.js.map +1 -0
  241. package/lib/types/file/fileName.d.ts +7 -0
  242. package/lib/types/file/fileName.js +21 -0
  243. package/lib/types/file/fileName.js.map +1 -0
  244. package/lib/types/file/filePath.d.ts +10 -0
  245. package/lib/types/file/filePath.js +32 -0
  246. package/lib/types/file/filePath.js.map +1 -0
  247. package/lib/types/file/resource-input.d.ts +5 -0
  248. package/lib/types/file/resource-input.js +42 -0
  249. package/lib/types/file/resource-input.js.map +1 -0
  250. package/lib/types/file/urlPath.d.ts +6 -0
  251. package/lib/types/file/urlPath.js +22 -0
  252. package/lib/types/file/urlPath.js.map +1 -0
  253. package/lib/types/flags-provider.d.ts +15 -0
  254. package/lib/types/flags-provider.js +34 -0
  255. package/lib/types/flags-provider.js.map +1 -0
  256. package/lib/types/portal-context.d.ts +13 -0
  257. package/lib/types/portal-context.js +38 -0
  258. package/lib/types/portal-context.js.map +1 -0
  259. package/lib/types/recipe/recipe.d.ts +22 -0
  260. package/lib/types/recipe/recipe.js +6 -0
  261. package/lib/types/recipe/recipe.js.map +1 -0
  262. package/lib/types/recipe-context.d.ts +9 -0
  263. package/lib/types/recipe-context.js +26 -0
  264. package/lib/types/recipe-context.js.map +1 -0
  265. package/lib/types/resource-context.d.ts +12 -0
  266. package/lib/types/resource-context.js +30 -0
  267. package/lib/types/resource-context.js.map +1 -0
  268. package/lib/types/sdk/generate.d.ts +9 -22
  269. package/lib/types/sdk/generate.js +25 -14
  270. package/lib/types/sdk/generate.js.map +1 -0
  271. package/lib/types/sdk-context.d.ts +14 -0
  272. package/lib/types/sdk-context.js +32 -0
  273. package/lib/types/sdk-context.js.map +1 -0
  274. package/lib/types/sdl/sdl.d.ts +10 -0
  275. package/lib/types/sdl/sdl.js +47 -3
  276. package/lib/types/sdl/sdl.js.map +1 -0
  277. package/lib/types/spec-context.d.ts +12 -0
  278. package/lib/types/spec-context.js +29 -0
  279. package/lib/types/spec-context.js.map +1 -0
  280. package/lib/types/temp-context.d.ts +11 -0
  281. package/lib/types/temp-context.js +27 -0
  282. package/lib/types/temp-context.js.map +1 -0
  283. package/lib/types/toc/toc.js +2 -10
  284. package/lib/types/toc/toc.js.map +1 -0
  285. package/lib/types/toc-context.d.ts +12 -0
  286. package/lib/types/toc-context.js +26 -0
  287. package/lib/types/toc-context.js.map +1 -0
  288. package/lib/types/transform-context.d.ts +13 -0
  289. package/lib/types/transform-context.js +30 -0
  290. package/lib/types/transform-context.js.map +1 -0
  291. package/lib/types/utils.d.ts +0 -9
  292. package/lib/types/utils.js +2 -3
  293. package/lib/types/utils.js.map +1 -0
  294. package/lib/utils/string-utils.d.ts +2 -0
  295. package/lib/utils/string-utils.js +37 -0
  296. package/lib/utils/string-utils.js.map +1 -0
  297. package/lib/utils/utils.d.ts +2 -44
  298. package/lib/utils/utils.js +14 -366
  299. package/lib/utils/utils.js.map +1 -0
  300. package/package.json +50 -31
  301. package/bin/run +0 -9
  302. package/lib/actions/portal/new/toc.d.ts +0 -17
  303. package/lib/actions/portal/new/toc.js +0 -134
  304. package/lib/application/portal/new/toc/sdl-parser.d.ts +0 -13
  305. package/lib/application/portal/new/toc/sdl-parser.js +0 -53
  306. package/lib/application/portal/new/toc/toc-content-parser.js +0 -46
  307. package/lib/application/portal/new/toc/toc-structure-generator.js +0 -88
  308. package/lib/client-utils/sdk-client.d.ts +0 -23
  309. package/lib/client-utils/sdk-client.js +0 -124
  310. package/lib/commands/portal/new/toc.d.ts +0 -15
  311. package/lib/commands/portal/new/toc.js +0 -65
  312. package/lib/commands/portal/quickstart.d.ts +0 -10
  313. package/lib/commands/portal/quickstart.js +0 -79
  314. package/lib/config/env.d.ts +0 -27
  315. package/lib/config/env.js +0 -31
  316. package/lib/controllers/api/transform.d.ts +0 -5
  317. package/lib/controllers/api/transform.js +0 -56
  318. package/lib/controllers/api/validate.d.ts +0 -3
  319. package/lib/controllers/api/validate.js +0 -33
  320. package/lib/controllers/portal/generate.d.ts +0 -3
  321. package/lib/controllers/portal/generate.js +0 -110
  322. package/lib/controllers/portal/quickstart.d.ts +0 -14
  323. package/lib/controllers/portal/quickstart.js +0 -258
  324. package/lib/controllers/portal/serve.d.ts +0 -3
  325. package/lib/controllers/portal/serve.js +0 -138
  326. package/lib/controllers/sdk/generate.d.ts +0 -4
  327. package/lib/controllers/sdk/generate.js +0 -66
  328. package/lib/prompts/portal/new/toc.d.ts +0 -10
  329. package/lib/prompts/portal/new/toc.js +0 -46
  330. package/lib/services/portal/server.d.ts +0 -14
  331. package/lib/services/portal/server.js +0 -101
  332. package/lib/types/api/validate.d.ts +0 -12
  333. package/lib/types/api/validate.js +0 -3
  334. package/lib/types/common/result.d.ts +0 -17
  335. package/lib/types/common/result.js +0 -36
  336. package/lib/types/portal/generate.d.ts +0 -26
  337. package/lib/types/portal/generate.js +0 -4
  338. package/lib/types/portal/quickstart.d.ts +0 -17
  339. package/lib/types/portal/quickstart.js +0 -3
  340. package/lib/validators/common/directoryValidator.d.ts +0 -9
  341. package/lib/validators/common/directoryValidator.js +0 -53
  342. package/lib/validators/common/portValidator.d.ts +0 -5
  343. package/lib/validators/common/portValidator.js +0 -20
  344. package/lib/validators/portal/serveValidator.d.ts +0 -6
  345. package/lib/validators/portal/serveValidator.js +0 -21
@@ -0,0 +1,12 @@
1
+ import { Result } from "neverthrow";
2
+ import { FilePath } from "./file/filePath.js";
3
+ import { DirectoryPath } from "./file/directoryPath.js";
4
+ import { ResourceInput } from "./file/resource-input.js";
5
+ import { ServiceError } from "../infrastructure/service-error.js";
6
+ export declare class ResourceContext {
7
+ private readonly tempDirectory;
8
+ private readonly fileDownloadService;
9
+ private readonly fileService;
10
+ constructor(tempDirectory: DirectoryPath);
11
+ resolveTo(resourcePath: ResourceInput): Promise<Result<FilePath, ServiceError>>;
12
+ }
@@ -0,0 +1,30 @@
1
+ import * as path from "path";
2
+ import { err, ok } from "neverthrow";
3
+ import { UrlPath } from "./file/urlPath.js";
4
+ import { FilePath } from "./file/filePath.js";
5
+ import { FileName } from "./file/fileName.js";
6
+ import { FileDownloadService } from "../infrastructure/services/file-download-service.js";
7
+ import { FileService } from "../infrastructure/file-service.js";
8
+ export class ResourceContext {
9
+ constructor(tempDirectory) {
10
+ this.tempDirectory = tempDirectory;
11
+ this.fileDownloadService = new FileDownloadService();
12
+ this.fileService = new FileService();
13
+ }
14
+ async resolveTo(resourcePath) {
15
+ const fileName = new FileName(path.basename(resourcePath.toString()));
16
+ const destinationFilePath = new FilePath(this.tempDirectory, fileName);
17
+ if (resourcePath instanceof UrlPath) {
18
+ const downloadFileResult = await this.fileDownloadService.downloadFile(resourcePath);
19
+ if (downloadFileResult.isErr()) {
20
+ return err(downloadFileResult.error);
21
+ }
22
+ await this.fileService.writeFile(destinationFilePath, downloadFileResult.value.stream);
23
+ }
24
+ if (resourcePath instanceof FilePath) {
25
+ await this.fileService.copy(resourcePath, destinationFilePath);
26
+ }
27
+ return ok(destinationFilePath);
28
+ }
29
+ }
30
+ //# sourceMappingURL=resource-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-context.js","sourceRoot":"","sources":["../../src/types/resource-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAU,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIhE,MAAM,OAAO,eAAe;IAI1B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAHxC,wBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAChD,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEW,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,YAA2B;QAChD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,mBAAmB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,YAAY,YAAY,OAAO,EAAE,CAAC;YACpC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACrF,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC/B,OAAO,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,YAAY,YAAY,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -1,23 +1,10 @@
1
- export type GenerationIdParams = {
2
- file: string;
3
- url: string;
4
- platform: string;
5
- };
6
- export type DownloadSDKParams = {
7
- codeGenId: string;
8
- zip: boolean;
9
- zippedSDKPath: string;
10
- sdkFolderPath: string;
11
- };
12
- export type SDKGenerateUnprocessableError = {
13
- message: string;
14
- };
15
- export declare enum SimplePlatforms {
16
- CSHARP = "CS_NET_STANDARD_LIB",
17
- JAVA = "JAVA_ECLIPSE_JRE_LIB",
18
- PHP = "PHP_GENERIC_LIB_V2",
19
- PYTHON = "PYTHON_GENERIC_LIB",
20
- RUBY = "RUBY_GENERIC_LIB",
21
- TYPESCRIPT = "TS_GENERIC_LIB",
22
- GO = "GO_GENERIC_LIB"
1
+ export declare enum Language {
2
+ CSHARP = "csharp",
3
+ JAVA = "java",
4
+ PHP = "php",
5
+ PYTHON = "python",
6
+ RUBY = "ruby",
7
+ TYPESCRIPT = "typescript",
8
+ GO = "go"
23
9
  }
10
+ export declare function mapLanguages(languageFlag: number): Language[];
@@ -1,14 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SimplePlatforms = void 0;
4
- var SimplePlatforms;
5
- (function (SimplePlatforms) {
6
- SimplePlatforms["CSHARP"] = "CS_NET_STANDARD_LIB";
7
- SimplePlatforms["JAVA"] = "JAVA_ECLIPSE_JRE_LIB";
8
- SimplePlatforms["PHP"] = "PHP_GENERIC_LIB_V2";
9
- SimplePlatforms["PYTHON"] = "PYTHON_GENERIC_LIB";
10
- SimplePlatforms["RUBY"] = "RUBY_GENERIC_LIB";
11
- SimplePlatforms["TYPESCRIPT"] = "TS_GENERIC_LIB";
12
- SimplePlatforms["GO"] = "GO_GENERIC_LIB";
13
- })(SimplePlatforms || (exports.SimplePlatforms = SimplePlatforms = {}));
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvc2RrL2dlbmVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlCQSxJQUFZLGVBUVg7QUFSRCxXQUFZLGVBQWU7SUFDekIsaURBQThCLENBQUE7SUFDOUIsZ0RBQTZCLENBQUE7SUFDN0IsNkNBQTBCLENBQUE7SUFDMUIsZ0RBQTZCLENBQUE7SUFDN0IsNENBQXlCLENBQUE7SUFDekIsZ0RBQTZCLENBQUE7SUFDN0Isd0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVJXLGVBQWUsK0JBQWYsZUFBZSxRQVExQiJ9
1
+ export var Language;
2
+ (function (Language) {
3
+ Language["CSHARP"] = "csharp";
4
+ Language["JAVA"] = "java";
5
+ Language["PHP"] = "php";
6
+ Language["PYTHON"] = "python";
7
+ Language["RUBY"] = "ruby";
8
+ Language["TYPESCRIPT"] = "typescript";
9
+ Language["GO"] = "go";
10
+ })(Language || (Language = {}));
11
+ const languageMap = {
12
+ 1: Language.CSHARP,
13
+ 2: Language.GO,
14
+ 4: Language.JAVA,
15
+ 8: Language.PHP,
16
+ 16: Language.PYTHON,
17
+ 32: Language.RUBY,
18
+ 128: Language.TYPESCRIPT,
19
+ };
20
+ export function mapLanguages(languageFlag) {
21
+ return Object.entries(languageMap)
22
+ .filter(([flag]) => (languageFlag & parseInt(flag)) !== 0)
23
+ .map(([, language]) => language);
24
+ }
25
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/types/sdk/generate.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,uBAAW,CAAA;IACX,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,qCAAyB,CAAA;IACzB,qBAAS,CAAA;AACX,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB;AAED,MAAM,WAAW,GAAgC;IAC/C,CAAC,EAAE,QAAQ,CAAC,MAAM;IAClB,CAAC,EAAE,QAAQ,CAAC,EAAE;IACd,CAAC,EAAE,QAAQ,CAAC,IAAI;IAChB,CAAC,EAAE,QAAQ,CAAC,GAAG;IACf,EAAE,EAAE,QAAQ,CAAC,MAAM;IACnB,EAAE,EAAE,QAAQ,CAAC,IAAI;IACjB,GAAG,EAAE,QAAQ,CAAC,UAAU;CACzB,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,YAAoB;IAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;SACzD,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { DirectoryPath } from "./file/directoryPath.js";
2
+ import { FilePath } from "./file/filePath.js";
3
+ import { Language } from "./sdk/generate.js";
4
+ export declare class SdkContext {
5
+ private readonly sdkDirectory;
6
+ private readonly language;
7
+ private readonly fileService;
8
+ private readonly zipService;
9
+ constructor(sdkDirectory: DirectoryPath, language: Language);
10
+ private get zipPath();
11
+ get sdkLanguageDirectory(): DirectoryPath;
12
+ exists(): Promise<boolean>;
13
+ save(tempPortalFilePath: FilePath, zipPortal: boolean): Promise<DirectoryPath>;
14
+ }
@@ -0,0 +1,32 @@
1
+ import { FileService } from "../infrastructure/file-service.js";
2
+ import { FilePath } from "./file/filePath.js";
3
+ import { FileName } from "./file/fileName.js";
4
+ import { ZipService } from "../infrastructure/zip-service.js";
5
+ export class SdkContext {
6
+ constructor(sdkDirectory, language) {
7
+ this.sdkDirectory = sdkDirectory;
8
+ this.language = language;
9
+ this.fileService = new FileService();
10
+ this.zipService = new ZipService();
11
+ }
12
+ get zipPath() {
13
+ return new FilePath(this.sdkLanguageDirectory, new FileName(`${this.language}.zip`));
14
+ }
15
+ get sdkLanguageDirectory() {
16
+ return this.sdkDirectory.join(this.language);
17
+ }
18
+ async exists() {
19
+ return !(await this.fileService.directoryEmpty(this.sdkLanguageDirectory));
20
+ }
21
+ async save(tempPortalFilePath, zipPortal) {
22
+ await this.fileService.cleanDirectory(this.sdkLanguageDirectory);
23
+ if (zipPortal) {
24
+ await this.fileService.copy(tempPortalFilePath, this.zipPath);
25
+ }
26
+ else {
27
+ await this.zipService.unArchive(tempPortalFilePath, this.sdkLanguageDirectory);
28
+ }
29
+ return this.sdkLanguageDirectory;
30
+ }
31
+ }
32
+ //# sourceMappingURL=sdk-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-context.js","sourceRoot":"","sources":["../../src/types/sdk-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAG9D,MAAM,OAAO,UAAU;IAIrB,YAA6B,YAA2B,EAAmB,QAAkB;QAAhE,iBAAY,GAAZ,YAAY,CAAe;QAAmB,aAAQ,GAAR,QAAQ,CAAU;QAH5E,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAG/C,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,kBAA4B,EAAE,SAAkB;QAChE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;CACF"}
@@ -1,11 +1,21 @@
1
+ import { TocEndpoint, TocModel } from "../toc/toc.js";
2
+ export type EndpointGroup = Map<string, TocEndpoint[]>;
3
+ export type SdlTocComponents = {
4
+ endpointGroups: EndpointGroup;
5
+ models: TocModel[];
6
+ };
1
7
  export interface Sdl {
2
8
  readonly Endpoints: SdlEndpoint[];
3
9
  readonly CustomTypes: SdlModel[];
4
10
  }
5
11
  export interface SdlEndpoint {
6
12
  readonly Name: string;
13
+ readonly Description: string;
7
14
  readonly Group: string;
8
15
  }
9
16
  export interface SdlModel {
10
17
  readonly Name: string;
11
18
  }
19
+ export declare function getEndpointGroupsAndModels(sdl: Sdl): SdlTocComponents;
20
+ export declare function getEndpointDescription(endpointGroups: Map<string, SdlEndpoint[]>, endpointGroupName: string, endpointName: string): string;
21
+ export declare function getEndpointGroupsFromSdl(sdl: Sdl): Map<string, SdlEndpoint[]>;
@@ -1,3 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3NkbC9zZGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
1
+ function extractEndpointGroupsForToc(sdl) {
2
+ const endpointGroups = new Map();
3
+ const endpoints = sdl.Endpoints.map((e) => ({
4
+ generate: null,
5
+ from: "endpoint",
6
+ endpointName: e.Name,
7
+ endpointGroup: e.Group
8
+ }));
9
+ endpoints.forEach((endpoint) => {
10
+ const group = endpoint.endpointGroup;
11
+ if (!endpointGroups.has(group)) {
12
+ endpointGroups.set(group, []);
13
+ }
14
+ endpointGroups.get(group).push(endpoint);
15
+ });
16
+ return endpointGroups;
17
+ }
18
+ function extractModelsForToc(sdl) {
19
+ return sdl.CustomTypes.map((e) => ({
20
+ generate: null,
21
+ from: "model",
22
+ modelName: e.Name
23
+ }));
24
+ }
25
+ export function getEndpointGroupsAndModels(sdl) {
26
+ const endpointGroups = extractEndpointGroupsForToc(sdl);
27
+ const models = extractModelsForToc(sdl);
28
+ return { endpointGroups, models };
29
+ }
30
+ export function getEndpointDescription(endpointGroups, endpointGroupName, endpointName) {
31
+ return endpointGroups.get(endpointGroupName).find((e) => e.Name === endpointName).Description;
32
+ }
33
+ export function getEndpointGroupsFromSdl(sdl) {
34
+ const endpointGroups = new Map();
35
+ for (const endpoint of sdl.Endpoints) {
36
+ if (!endpointGroups.has(endpoint.Group)) {
37
+ endpointGroups.set(endpoint.Group, []);
38
+ }
39
+ endpointGroups.get(endpoint.Group).push({
40
+ Name: endpoint.Name,
41
+ Description: endpoint.Description,
42
+ Group: endpoint.Group
43
+ });
44
+ }
45
+ return endpointGroups;
46
+ }
47
+ //# sourceMappingURL=sdl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdl.js","sourceRoot":"","sources":["../../../src/types/sdl/sdl.ts"],"names":[],"mappings":"AAoBA,SAAS,2BAA2B,CAAC,GAAQ;IAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CACjC,CAAC,CAAc,EAAe,EAAE,CAAC,CAAC;QAChC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,CAAC,CAAC,IAAI;QACpB,aAAa,EAAE,CAAC,CAAC,KAAK;KACvB,CAAC,CACH,CAAC;IAEF,SAAS,CAAC,OAAO,CAAC,CAAC,QAAqB,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAQ;IACnC,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,CACxB,CAAC,CAAW,EAAY,EAAE,CAAC,CAAC;QAC1B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,CAAC,CAAC,IAAI;KAClB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAQ;IACjD,MAAM,cAAc,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,cAA0C,EAC1C,iBAAyB,EACzB,YAAoB;IAEpB,OAAO,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAE,CAAC,WAAW,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAQ;IAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IACxD,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC;AACtB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { DirectoryPath } from "./file/directoryPath.js";
2
+ import { FilePath } from "./file/filePath.js";
3
+ import { FileName } from "./file/fileName.js";
4
+ export declare class SpecContext {
5
+ private readonly fileService;
6
+ private readonly zipService;
7
+ private readonly specDirectory;
8
+ constructor(specDirectory: DirectoryPath);
9
+ validate(): Promise<boolean>;
10
+ replaceDefaultSpec(specPath: FilePath): Promise<void>;
11
+ save(stream: NodeJS.ReadableStream, fileName: FileName): Promise<FilePath>;
12
+ }
@@ -0,0 +1,29 @@
1
+ import { FileService } from "../infrastructure/file-service.js";
2
+ import { FilePath } from "./file/filePath.js";
3
+ import { FileName } from "./file/fileName.js";
4
+ import { ZipService } from "../infrastructure/zip-service.js";
5
+ export class SpecContext {
6
+ constructor(specDirectory) {
7
+ this.fileService = new FileService();
8
+ this.zipService = new ZipService();
9
+ this.specDirectory = specDirectory;
10
+ }
11
+ async validate() {
12
+ return !(await this.fileService.directoryEmpty(this.specDirectory));
13
+ }
14
+ async replaceDefaultSpec(specPath) {
15
+ await this.fileService.deleteFile(new FilePath(this.specDirectory, new FileName("openapi.json")));
16
+ if (await this.fileService.isZipFile(specPath)) {
17
+ await this.zipService.unArchive(specPath, this.specDirectory);
18
+ }
19
+ else {
20
+ await this.fileService.copy(specPath, specPath.replaceDirectory(this.specDirectory));
21
+ }
22
+ }
23
+ async save(stream, fileName) {
24
+ const filePath = new FilePath(this.specDirectory, fileName);
25
+ await this.fileService.writeFile(filePath, stream);
26
+ return filePath;
27
+ }
28
+ }
29
+ //# sourceMappingURL=spec-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-context.js","sourceRoot":"","sources":["../../src/types/spec-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,OAAO,WAAW;IAKtB,YAAY,aAA4B;QAJvB,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAI7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,QAAkB;QAChD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAClG,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA6B,EAAE,QAAkB;QACjE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { DirectoryPath } from "./file/directoryPath.js";
2
+ import { FilePath } from "./file/filePath.js";
3
+ export declare class TempContext {
4
+ private readonly tempDirectory;
5
+ private readonly fileService;
6
+ private readonly zipService;
7
+ constructor(tempDirectory: DirectoryPath);
8
+ private get getTempFileName();
9
+ zip(buildDirectory: DirectoryPath): Promise<FilePath>;
10
+ save(portalStream: NodeJS.ReadableStream): Promise<FilePath>;
11
+ }
@@ -0,0 +1,27 @@
1
+ import { FileService } from "../infrastructure/file-service.js";
2
+ import { ZipService } from "../infrastructure/zip-service.js";
3
+ import { FilePath } from "./file/filePath.js";
4
+ import { FileName } from "./file/fileName.js";
5
+ import { randomUUID } from "crypto";
6
+ export class TempContext {
7
+ constructor(tempDirectory) {
8
+ this.tempDirectory = tempDirectory;
9
+ this.fileService = new FileService();
10
+ this.zipService = new ZipService();
11
+ }
12
+ get getTempFileName() {
13
+ const uuid = randomUUID();
14
+ return new FilePath(this.tempDirectory, new FileName(`${uuid}`));
15
+ }
16
+ async zip(buildDirectory) {
17
+ const tempFile = this.getTempFileName;
18
+ await this.zipService.archive(buildDirectory, tempFile);
19
+ return tempFile;
20
+ }
21
+ async save(portalStream) {
22
+ const tempFile = this.getTempFileName;
23
+ await this.fileService.writeFile(tempFile, portalStream);
24
+ return tempFile;
25
+ }
26
+ }
27
+ //# sourceMappingURL=temp-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temp-context.js","sourceRoot":"","sources":["../../src/types/temp-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,OAAO,WAAW;IAItB,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAHxC,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAEa,CAAC;IAE7D,IAAY,eAAe;QACzB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,cAA6B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,YAAmC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -1,10 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
4
- ;
5
- ;
6
- ;
7
- ;
8
- ;
9
- ;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3RvYy90b2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQyxDQUFDO0FBS0QsQ0FBQztBQUtELENBQUM7QUFNRCxDQUFDO0FBT0QsQ0FBQztBQU1ELENBQUM7QUFLRCxDQUFDIn0=
1
+ export {};
2
+ //# sourceMappingURL=toc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc.js","sourceRoot":"","sources":["../../../src/types/toc/toc.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { DirectoryPath } from "./file/directoryPath.js";
2
+ import { FilePath } from "./file/filePath.js";
3
+ import { Toc } from "./toc/toc.js";
4
+ export declare class TocContext {
5
+ private readonly fileService;
6
+ private readonly tocFilePath;
7
+ constructor(tocDirectory: DirectoryPath);
8
+ get tocPath(): FilePath;
9
+ exists(): Promise<boolean>;
10
+ parseTocData(): Promise<Toc>;
11
+ save(contents: string): Promise<FilePath>;
12
+ }
@@ -0,0 +1,26 @@
1
+ import { FileService } from "../infrastructure/file-service.js";
2
+ import { FilePath } from "./file/filePath.js";
3
+ import { FileName } from "./file/fileName.js";
4
+ import { parse } from "yaml";
5
+ export class TocContext {
6
+ constructor(tocDirectory) {
7
+ this.fileService = new FileService();
8
+ this.tocFilePath = new FilePath(tocDirectory, new FileName("toc.yml"));
9
+ }
10
+ get tocPath() {
11
+ return this.tocFilePath;
12
+ }
13
+ async exists() {
14
+ return await this.fileService.fileExists(this.tocFilePath);
15
+ }
16
+ async parseTocData() {
17
+ const tocContent = await this.fileService.getContents(this.tocFilePath);
18
+ return parse(tocContent);
19
+ }
20
+ async save(contents) {
21
+ await this.fileService.ensurePathExists(this.tocFilePath);
22
+ await this.fileService.writeContents(this.tocFilePath, contents);
23
+ return this.tocPath;
24
+ }
25
+ }
26
+ //# sourceMappingURL=toc-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc-context.js","sourceRoot":"","sources":["../../src/types/toc-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,MAAM,OAAO,UAAU;IAIrB,YAAY,YAA2B;QAHtB,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAI/C,IAAI,CAAC,WAAW,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,UAAU,CAAQ,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,QAAgB;QAChC,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { ExportFormats } from "@apimatic/sdk";
2
+ import { DirectoryPath } from "./file/directoryPath.js";
3
+ import { FilePath } from "./file/filePath.js";
4
+ export declare class TransformContext {
5
+ private readonly destinationDirectory;
6
+ private readonly fileService;
7
+ private readonly transformedApi;
8
+ constructor(specFilePath: FilePath, format: ExportFormats, destinationDirectory: DirectoryPath);
9
+ private get specPath();
10
+ exists(): Promise<boolean>;
11
+ save(stream: NodeJS.ReadableStream): Promise<FilePath>;
12
+ private parseFileName;
13
+ }
@@ -0,0 +1,30 @@
1
+ import { FileService } from "../infrastructure/file-service.js";
2
+ import { getFileNameFromPath } from "../utils/utils.js";
3
+ import { DestinationFormats } from "./api/transform.js";
4
+ import { FileName } from "./file/fileName.js";
5
+ import { FilePath } from "./file/filePath.js";
6
+ export class TransformContext {
7
+ constructor(specFilePath, format, destinationDirectory) {
8
+ this.destinationDirectory = destinationDirectory;
9
+ this.fileService = new FileService();
10
+ this.transformedApi = this.parseFileName(format, specFilePath);
11
+ }
12
+ get specPath() {
13
+ return new FilePath(this.destinationDirectory, this.transformedApi);
14
+ }
15
+ async exists() {
16
+ const transformedApiPath = new FilePath(this.destinationDirectory, this.transformedApi);
17
+ return await this.fileService.fileExists(transformedApiPath);
18
+ }
19
+ async save(stream) {
20
+ await this.fileService.createDirectoryIfNotExists(this.destinationDirectory);
21
+ await this.fileService.writeFile(this.specPath, stream);
22
+ return this.specPath;
23
+ }
24
+ parseFileName(format, file) {
25
+ const destinationFileExt = DestinationFormats[format];
26
+ const destinationFilePrefix = getFileNameFromPath(file.toString());
27
+ return new FileName(`${destinationFilePrefix}_${format}.${destinationFileExt}`);
28
+ }
29
+ }
30
+ //# sourceMappingURL=transform-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-context.js","sourceRoot":"","sources":["../../src/types/transform-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,OAAO,gBAAgB;IAK3B,YAAY,YAAsB,EACtB,MAAqB,EACJ,oBAAmC;QAAnC,yBAAoB,GAApB,oBAAoB,CAAe;QAN/C,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAO/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,kBAAkB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACxF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/D,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA6B;QAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,IAAc;QAClD,MAAM,kBAAkB,GAAW,kBAAkB,CAAC,MAAyC,CAAC,CAAC;QACjG,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,QAAQ,CAAC,GAAG,qBAAqB,IAAI,MAAM,IAAI,kBAAkB,EAAE,CAAC,CAAC;IAClF,CAAC;CACF"}
@@ -3,12 +3,3 @@ export type ValidationMessages = {
3
3
  warnings: string[];
4
4
  errors: string[];
5
5
  };
6
- export type loggers = {
7
- log: (message: string) => void;
8
- warn: (message: string) => void;
9
- error: (message: string) => void;
10
- };
11
- export type AuthenticationError = {
12
- statusCode: number;
13
- body: string;
14
- };
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
1
+ export {};
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const removeQuotes: (input: string) => string;
2
+ export declare function stripAnsi(str: string): string;
@@ -0,0 +1,37 @@
1
+ export const removeQuotes = (input) => {
2
+ const quotes = ['"', "'"];
3
+ for (const quote of quotes) {
4
+ if (input.startsWith(quote) && input.endsWith(quote) && input.length > 1) {
5
+ return removeQuotes(input.slice(1, -1)); // Recursive call
6
+ }
7
+ }
8
+ return input;
9
+ };
10
+ export function stripAnsi(str) {
11
+ let result = '';
12
+ let i = 0;
13
+ while (i < str.length) {
14
+ const char = str[i];
15
+ // Detect ESC (0x1B)
16
+ if (char === '\x1B' && str[i + 1] === '[') {
17
+ // We’re at the start of an ANSI sequence. Skip until 'm' or end.
18
+ i += 2; // skip ESC[
19
+ while (i < str.length && str[i] !== 'm') {
20
+ i++;
21
+ }
22
+ // Skip the 'm' itself
23
+ i++;
24
+ }
25
+ else if (char.charCodeAt(0) < 32 || char.charCodeAt(0) === 127) {
26
+ // Skip other control chars (optional)
27
+ i++;
28
+ }
29
+ else {
30
+ // Normal printable char — keep it
31
+ result += char;
32
+ i++;
33
+ }
34
+ }
35
+ return result;
36
+ }
37
+ //# sourceMappingURL=string-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/utils/string-utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE;IACpD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAIF,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,oBAAoB;QACpB,IAAI,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,iEAAiE;YACjE,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;YACpB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxC,CAAC,EAAE,CAAC;YACN,CAAC;YACD,sBAAsB;YACtB,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACjE,sCAAsC;YACtC,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,MAAM,IAAI,IAAI,CAAC;YACf,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,46 +1,4 @@
1
- import { loggers, ValidationMessages } from "../types/utils";
2
- import { ApiValidationSummary } from "@apimatic/sdk";
3
- export declare const unzipFile: (stream: NodeJS.ReadableStream, destination: string) => Promise<unknown>;
4
- export declare const createTempDirectory: () => Promise<string>;
5
- export declare const clearDirectory: (folderPath: string) => Promise<void>;
6
- export declare const validationMessagesToJson: (validationMessages: ApiValidationSummary) => object;
7
- interface DirectoryNode {
8
- [key: string]: DirectoryNode | string | null | undefined;
9
- }
10
- export declare const directoryToJson: (dirPath: string, parentPath?: string) => DirectoryNode;
11
- export declare const isValidUrl: (input: string) => boolean;
12
- export declare const deleteFile: (filePath: string) => Promise<void>;
13
- export declare const writeFileUsingReadableStream: (stream: NodeJS.ReadableStream, destinationPath: string) => Promise<unknown>;
14
- export declare const zipDirectoryToStream: (sourcePath: string) => Promise<NodeJS.ReadableStream>;
15
- /**
16
- * Packages local files into a ZIP archive
17
- *
18
- * @param {docsPortalFolderPath} path to portal directory.
19
- * @param {destinationZipPath} path to generated zip
20
- * return {string}
21
- */
22
- export declare const zipDirectory: (sourcePath: string, destinationPath: string) => Promise<string>;
23
1
  export declare const replaceHTML: (string: string) => string;
24
- export declare const isJSONParsable: (json: string) => boolean;
25
- export declare const getGeneratedFilesPaths: (sourceDirectoryPath: string, generatedPortalArtifactsDirectoryPath: string) => string[];
26
2
  export declare const getFileNameFromPath: (filePath: string) => string;
27
- export declare const printValidationMessages: ({ warnings, errors, messages }: ValidationMessages, { log, warn, error }: loggers) => void;
28
- /**
29
- * Extracts a ZIP file to a specified destination directory.
30
- *
31
- * @param zipFilePath Path to the ZIP file.
32
- * @param destinationDir Path to the destination directory where files will be extracted.
33
- */
34
- export declare function extractZipFile(zipFilePath: string, destinationDir: string): Promise<void>;
35
- export declare function validateAndZipPortalSource(sourceDir: string, outputPath: string, ignoredPaths?: string[]): Promise<string>;
36
- export declare function cleanUpGeneratedPortalFiles(sourceDir: string): Promise<void>;
37
- export declare function isPortInUse(port: number): Promise<boolean>;
38
- export declare function parseStreamBodyToJson(body: NodeJS.ReadableStream): Promise<any>;
39
- export declare const getNonHiddenItemsFromDirectory: (directoryPath: string) => string[];
40
- export declare const getMessageInOrangeColor: (message: string) => string;
41
- export declare const getMessageInBlueColor: (message: string) => string;
42
- export declare const getMessageInCyanColor: (message: string) => string;
43
- export declare const getMessageInGreenColor: (message: string) => string;
44
- export declare const getMessageInMagentaColor: (message: string) => string;
45
- export declare const getMessageInRedColor: (message: string) => string;
46
- export {};
3
+ export declare function parseStreamBodyToJson(body: NodeJS.ReadableStream): Promise<unknown>;
4
+ export declare const toPascalCase: (str: string) => string;