@scalar/openapi-parser 0.10.15 → 0.10.17

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 (332) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +0 -22
  3. package/dist/configuration/index.js +19 -22
  4. package/dist/configuration/index.js.map +7 -0
  5. package/dist/declarations.d.js +1 -0
  6. package/dist/declarations.d.js.map +7 -0
  7. package/dist/index.d.ts +4 -4
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +5 -29
  10. package/dist/index.js.map +7 -0
  11. package/dist/lib/Validator/Validator.d.ts +2 -2
  12. package/dist/lib/Validator/Validator.d.ts.map +1 -1
  13. package/dist/lib/Validator/Validator.js +99 -119
  14. package/dist/lib/Validator/Validator.js.map +7 -0
  15. package/dist/lib/Validator/Validator.test.js +8 -0
  16. package/dist/lib/Validator/Validator.test.js.map +7 -0
  17. package/dist/lib/Validator/index.d.ts +2 -2
  18. package/dist/lib/Validator/index.d.ts.map +1 -1
  19. package/dist/lib/Validator/index.js +3 -0
  20. package/dist/lib/Validator/index.js.map +7 -0
  21. package/dist/plugins/fetch-urls/fetchUrls.d.ts +1 -2
  22. package/dist/plugins/fetch-urls/fetchUrls.d.ts.map +1 -1
  23. package/dist/plugins/fetch-urls/fetchUrls.js +36 -111
  24. package/dist/plugins/fetch-urls/fetchUrls.js.map +7 -0
  25. package/dist/plugins/fetch-urls/fetchUrls.test.js +50 -0
  26. package/dist/plugins/fetch-urls/fetchUrls.test.js.map +7 -0
  27. package/dist/plugins/fetch-urls/index.d.ts +1 -1
  28. package/dist/plugins/fetch-urls/index.d.ts.map +1 -1
  29. package/dist/plugins/fetch-urls/index.js +2 -1
  30. package/dist/plugins/fetch-urls/index.js.map +7 -0
  31. package/dist/plugins/read-files/index.d.ts +1 -1
  32. package/dist/plugins/read-files/index.d.ts.map +1 -1
  33. package/dist/plugins/read-files/index.js +2 -1
  34. package/dist/plugins/read-files/index.js.map +7 -0
  35. package/dist/plugins/read-files/readFiles.d.ts +1 -1
  36. package/dist/plugins/read-files/readFiles.d.ts.map +1 -1
  37. package/dist/plugins/read-files/readFiles.js +50 -70
  38. package/dist/plugins/read-files/readFiles.js.map +7 -0
  39. package/dist/plugins/read-files/readFiles.test.js +20 -0
  40. package/dist/plugins/read-files/readFiles.test.js.map +7 -0
  41. package/dist/polyfills/index.d.ts +1 -1
  42. package/dist/polyfills/index.d.ts.map +1 -1
  43. package/dist/polyfills/index.js +5 -0
  44. package/dist/polyfills/index.js.map +7 -0
  45. package/dist/polyfills/path.js +155 -98
  46. package/dist/polyfills/path.js.map +7 -0
  47. package/dist/schemas/v2.0/schema.d.ts +1405 -0
  48. package/dist/schemas/v2.0/schema.d.ts.map +1 -0
  49. package/dist/schemas/v2.0/schema.js +1463 -0
  50. package/dist/schemas/v2.0/schema.js.map +7 -0
  51. package/dist/schemas/v3.0/schema.d.ts +1264 -0
  52. package/dist/schemas/v3.0/schema.d.ts.map +1 -0
  53. package/dist/schemas/v3.0/schema.js +1493 -0
  54. package/dist/schemas/v3.0/schema.js.map +7 -0
  55. package/dist/schemas/v3.1/schema.d.ts +1225 -0
  56. package/dist/schemas/v3.1/schema.d.ts.map +1 -0
  57. package/dist/schemas/v3.1/schema.js +1296 -0
  58. package/dist/schemas/v3.1/schema.js.map +7 -0
  59. package/dist/types/index.d.ts +5 -24
  60. package/dist/types/index.d.ts.map +1 -1
  61. package/dist/types/index.js +1 -0
  62. package/dist/types/index.js.map +7 -0
  63. package/dist/utils/betterAjvErrors/helpers.js +88 -93
  64. package/dist/utils/betterAjvErrors/helpers.js.map +7 -0
  65. package/dist/utils/betterAjvErrors/index.js +14 -13
  66. package/dist/utils/betterAjvErrors/index.js.map +7 -0
  67. package/dist/utils/betterAjvErrors/json/get-meta-from-path.d.ts +2 -0
  68. package/dist/utils/betterAjvErrors/json/get-meta-from-path.d.ts.map +1 -0
  69. package/dist/utils/betterAjvErrors/json/get-meta-from-path.js +27 -0
  70. package/dist/utils/betterAjvErrors/json/get-meta-from-path.js.map +7 -0
  71. package/dist/utils/betterAjvErrors/json/index.d.ts +2 -0
  72. package/dist/utils/betterAjvErrors/json/index.d.ts.map +1 -0
  73. package/dist/utils/betterAjvErrors/json/index.js +5 -0
  74. package/dist/utils/betterAjvErrors/json/index.js.map +7 -0
  75. package/dist/utils/betterAjvErrors/json/utils.d.ts +2 -0
  76. package/dist/utils/betterAjvErrors/json/utils.d.ts.map +1 -0
  77. package/dist/utils/betterAjvErrors/json/utils.js +11 -0
  78. package/dist/utils/betterAjvErrors/json/utils.js.map +7 -0
  79. package/dist/utils/betterAjvErrors/utils.js +21 -14
  80. package/dist/utils/betterAjvErrors/utils.js.map +7 -0
  81. package/dist/utils/betterAjvErrors/validation-errors/additional-prop.d.ts +10 -0
  82. package/dist/utils/betterAjvErrors/validation-errors/additional-prop.d.ts.map +1 -0
  83. package/dist/utils/betterAjvErrors/validation-errors/additional-prop.js +8 -9
  84. package/dist/utils/betterAjvErrors/validation-errors/additional-prop.js.map +7 -0
  85. package/dist/utils/betterAjvErrors/validation-errors/base.d.ts +23 -0
  86. package/dist/utils/betterAjvErrors/validation-errors/base.d.ts.map +1 -0
  87. package/dist/utils/betterAjvErrors/validation-errors/base.js +6 -10
  88. package/dist/utils/betterAjvErrors/validation-errors/base.js.map +7 -0
  89. package/dist/utils/betterAjvErrors/validation-errors/default.d.ts +10 -0
  90. package/dist/utils/betterAjvErrors/validation-errors/default.d.ts.map +1 -0
  91. package/dist/utils/betterAjvErrors/validation-errors/default.js +8 -9
  92. package/dist/utils/betterAjvErrors/validation-errors/default.js.map +7 -0
  93. package/dist/utils/betterAjvErrors/validation-errors/enum.d.ts +11 -0
  94. package/dist/utils/betterAjvErrors/validation-errors/enum.d.ts.map +1 -0
  95. package/dist/utils/betterAjvErrors/validation-errors/enum.js +19 -29
  96. package/dist/utils/betterAjvErrors/validation-errors/enum.js.map +7 -0
  97. package/dist/utils/betterAjvErrors/validation-errors/index.d.ts +7 -0
  98. package/dist/utils/betterAjvErrors/validation-errors/index.d.ts.map +1 -0
  99. package/dist/utils/betterAjvErrors/validation-errors/index.js +15 -0
  100. package/dist/utils/betterAjvErrors/validation-errors/index.js.map +7 -0
  101. package/dist/utils/betterAjvErrors/validation-errors/pattern.d.ts +10 -0
  102. package/dist/utils/betterAjvErrors/validation-errors/pattern.d.ts.map +1 -0
  103. package/dist/utils/betterAjvErrors/validation-errors/pattern.js +8 -9
  104. package/dist/utils/betterAjvErrors/validation-errors/pattern.js.map +7 -0
  105. package/dist/utils/betterAjvErrors/validation-errors/required.d.ts +10 -0
  106. package/dist/utils/betterAjvErrors/validation-errors/required.d.ts.map +1 -0
  107. package/dist/utils/betterAjvErrors/validation-errors/required.js +8 -9
  108. package/dist/utils/betterAjvErrors/validation-errors/required.js.map +7 -0
  109. package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.d.ts +10 -0
  110. package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.d.ts.map +1 -0
  111. package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.js +8 -9
  112. package/dist/utils/betterAjvErrors/validation-errors/unevaluated-prop.js.map +7 -0
  113. package/dist/utils/dereference.d.ts +2 -2
  114. package/dist/utils/dereference.d.ts.map +1 -1
  115. package/dist/utils/dereference.js +17 -19
  116. package/dist/utils/dereference.js.map +7 -0
  117. package/dist/utils/dereference.test.js +300 -0
  118. package/dist/utils/dereference.test.js.map +7 -0
  119. package/dist/utils/details.d.ts +1 -1
  120. package/dist/utils/details.d.ts.map +1 -1
  121. package/dist/utils/details.js +26 -28
  122. package/dist/utils/details.js.map +7 -0
  123. package/dist/utils/errors.test.js +48 -0
  124. package/dist/utils/errors.test.js.map +7 -0
  125. package/dist/utils/escapeJsonPointer.js +5 -8
  126. package/dist/utils/escapeJsonPointer.js.map +7 -0
  127. package/dist/utils/escapeJsonPointer.test.js +11 -0
  128. package/dist/utils/escapeJsonPointer.test.js.map +7 -0
  129. package/dist/utils/filter.d.ts +1 -1
  130. package/dist/utils/filter.d.ts.map +1 -1
  131. package/dist/utils/filter.js +13 -15
  132. package/dist/utils/filter.js.map +7 -0
  133. package/dist/utils/getEntrypoint.d.ts +1 -1
  134. package/dist/utils/getEntrypoint.d.ts.map +1 -1
  135. package/dist/utils/getEntrypoint.js +5 -6
  136. package/dist/utils/getEntrypoint.js.map +7 -0
  137. package/dist/utils/getEntrypoint.test.js +18 -0
  138. package/dist/utils/getEntrypoint.test.js.map +7 -0
  139. package/dist/utils/getListOfReferences.d.ts +1 -1
  140. package/dist/utils/getListOfReferences.d.ts.map +1 -1
  141. package/dist/utils/getListOfReferences.js +15 -22
  142. package/dist/utils/getListOfReferences.js.map +7 -0
  143. package/dist/utils/getSegmentsFromPath.js +8 -15
  144. package/dist/utils/getSegmentsFromPath.js.map +7 -0
  145. package/dist/utils/getSegmentsFromPath.test.js +13 -0
  146. package/dist/utils/getSegmentsFromPath.test.js.map +7 -0
  147. package/dist/utils/index.d.ts +26 -26
  148. package/dist/utils/index.d.ts.map +1 -1
  149. package/dist/utils/index.js +27 -0
  150. package/dist/utils/index.js.map +7 -0
  151. package/dist/utils/isFilesystem.d.ts +1 -2
  152. package/dist/utils/isFilesystem.d.ts.map +1 -1
  153. package/dist/utils/isFilesystem.js +5 -9
  154. package/dist/utils/isFilesystem.js.map +7 -0
  155. package/dist/utils/isJson.js +10 -9
  156. package/dist/utils/isJson.js.map +7 -0
  157. package/dist/utils/isObject.js +5 -6
  158. package/dist/utils/isObject.js.map +7 -0
  159. package/dist/utils/isObject.test.js +23 -0
  160. package/dist/utils/isObject.test.js.map +7 -0
  161. package/dist/utils/isYaml.js +16 -17
  162. package/dist/utils/isYaml.js.map +7 -0
  163. package/dist/utils/load/index.d.ts +1 -1
  164. package/dist/utils/load/index.d.ts.map +1 -1
  165. package/dist/utils/load/index.js +2 -0
  166. package/dist/utils/load/index.js.map +7 -0
  167. package/dist/utils/load/load.d.ts +3 -12
  168. package/dist/utils/load/load.d.ts.map +1 -1
  169. package/dist/utils/load/load.js +89 -149
  170. package/dist/utils/load/load.js.map +7 -0
  171. package/dist/utils/load/load.test.js +361 -0
  172. package/dist/utils/load/load.test.js.map +7 -0
  173. package/dist/utils/makeFilesystem.d.ts +2 -19
  174. package/dist/utils/makeFilesystem.d.ts.map +1 -1
  175. package/dist/utils/makeFilesystem.js +20 -68
  176. package/dist/utils/makeFilesystem.js.map +7 -0
  177. package/dist/utils/makeFilesystem.test.js +15 -0
  178. package/dist/utils/makeFilesystem.test.js.map +7 -0
  179. package/dist/utils/normalize.d.ts +1 -1
  180. package/dist/utils/normalize.d.ts.map +1 -1
  181. package/dist/utils/normalize.js +22 -27
  182. package/dist/utils/normalize.js.map +7 -0
  183. package/dist/utils/normalize.test.js +88 -0
  184. package/dist/utils/normalize.test.js.map +7 -0
  185. package/dist/utils/openapi/actions/details.d.ts +2 -2
  186. package/dist/utils/openapi/actions/details.d.ts.map +1 -1
  187. package/dist/utils/openapi/actions/details.js +9 -11
  188. package/dist/utils/openapi/actions/details.js.map +7 -0
  189. package/dist/utils/openapi/actions/files.d.ts +1 -1
  190. package/dist/utils/openapi/actions/files.d.ts.map +1 -1
  191. package/dist/utils/openapi/actions/files.js +7 -9
  192. package/dist/utils/openapi/actions/files.js.map +7 -0
  193. package/dist/utils/openapi/actions/get.d.ts +1 -1
  194. package/dist/utils/openapi/actions/get.d.ts.map +1 -1
  195. package/dist/utils/openapi/actions/get.js +9 -11
  196. package/dist/utils/openapi/actions/get.js.map +7 -0
  197. package/dist/utils/openapi/actions/toJson.d.ts +1 -1
  198. package/dist/utils/openapi/actions/toJson.d.ts.map +1 -1
  199. package/dist/utils/openapi/actions/toJson.js +9 -11
  200. package/dist/utils/openapi/actions/toJson.js.map +7 -0
  201. package/dist/utils/openapi/actions/toYaml.d.ts +1 -1
  202. package/dist/utils/openapi/actions/toYaml.d.ts.map +1 -1
  203. package/dist/utils/openapi/actions/toYaml.js +9 -11
  204. package/dist/utils/openapi/actions/toYaml.js.map +7 -0
  205. package/dist/utils/openapi/commands/dereferenceCommand.d.ts +5 -5
  206. package/dist/utils/openapi/commands/dereferenceCommand.d.ts.map +1 -1
  207. package/dist/utils/openapi/commands/dereferenceCommand.js +25 -27
  208. package/dist/utils/openapi/commands/dereferenceCommand.js.map +7 -0
  209. package/dist/utils/openapi/commands/filterCommand.d.ts +9 -9
  210. package/dist/utils/openapi/commands/filterCommand.d.ts.map +1 -1
  211. package/dist/utils/openapi/commands/filterCommand.js +24 -26
  212. package/dist/utils/openapi/commands/filterCommand.js.map +7 -0
  213. package/dist/utils/openapi/commands/loadCommand.d.ts +1174 -1174
  214. package/dist/utils/openapi/commands/loadCommand.d.ts.map +1 -1
  215. package/dist/utils/openapi/commands/loadCommand.js +40 -42
  216. package/dist/utils/openapi/commands/loadCommand.js.map +7 -0
  217. package/dist/utils/openapi/commands/upgradeCommand.d.ts +311 -311
  218. package/dist/utils/openapi/commands/upgradeCommand.d.ts.map +1 -1
  219. package/dist/utils/openapi/commands/upgradeCommand.js +27 -29
  220. package/dist/utils/openapi/commands/upgradeCommand.js.map +7 -0
  221. package/dist/utils/openapi/commands/validateCommand.d.ts +311 -311
  222. package/dist/utils/openapi/commands/validateCommand.d.ts.map +1 -1
  223. package/dist/utils/openapi/commands/validateCommand.js +31 -33
  224. package/dist/utils/openapi/commands/validateCommand.js.map +7 -0
  225. package/dist/utils/openapi/index.d.ts +1 -1
  226. package/dist/utils/openapi/index.d.ts.map +1 -1
  227. package/dist/utils/openapi/index.js +2 -0
  228. package/dist/utils/openapi/index.js.map +7 -0
  229. package/dist/utils/openapi/openapi.d.ts +700 -700
  230. package/dist/utils/openapi/openapi.d.ts.map +1 -1
  231. package/dist/utils/openapi/openapi.js +13 -16
  232. package/dist/utils/openapi/openapi.js.map +7 -0
  233. package/dist/utils/openapi/openapi.test-d.js +14 -0
  234. package/dist/utils/openapi/openapi.test-d.js.map +7 -0
  235. package/dist/utils/openapi/openapi.test.js +309 -0
  236. package/dist/utils/openapi/openapi.test.js.map +7 -0
  237. package/dist/utils/openapi/utils/queueTask.d.ts +1 -1
  238. package/dist/utils/openapi/utils/queueTask.d.ts.map +1 -1
  239. package/dist/utils/openapi/utils/queueTask.js +8 -9
  240. package/dist/utils/openapi/utils/queueTask.js.map +7 -0
  241. package/dist/utils/openapi/utils/workThroughQueue.d.ts +1 -1
  242. package/dist/utils/openapi/utils/workThroughQueue.d.ts.map +1 -1
  243. package/dist/utils/openapi/utils/workThroughQueue.js +49 -64
  244. package/dist/utils/openapi/utils/workThroughQueue.js.map +7 -0
  245. package/dist/utils/openapi/utils/workThroughQueue.test.js +244 -0
  246. package/dist/utils/openapi/utils/workThroughQueue.test.js.map +7 -0
  247. package/dist/utils/resolveReferences.d.ts +1 -7
  248. package/dist/utils/resolveReferences.d.ts.map +1 -1
  249. package/dist/utils/resolveReferences.js +91 -149
  250. package/dist/utils/resolveReferences.js.map +7 -0
  251. package/dist/utils/resolveReferences.test.js +567 -0
  252. package/dist/utils/resolveReferences.test.js.map +7 -0
  253. package/dist/utils/toJson.d.ts +1 -1
  254. package/dist/utils/toJson.d.ts.map +1 -1
  255. package/dist/utils/toJson.js +4 -2
  256. package/dist/utils/toJson.js.map +7 -0
  257. package/dist/utils/toYaml.d.ts +1 -1
  258. package/dist/utils/toYaml.d.ts.map +1 -1
  259. package/dist/utils/toYaml.js +5 -4
  260. package/dist/utils/toYaml.js.map +7 -0
  261. package/dist/utils/transform/index.d.ts +1 -1
  262. package/dist/utils/transform/index.d.ts.map +1 -1
  263. package/dist/utils/transform/index.js +2 -0
  264. package/dist/utils/transform/index.js.map +7 -0
  265. package/dist/utils/transform/sanitize.d.ts +3 -3
  266. package/dist/utils/transform/sanitize.d.ts.map +1 -1
  267. package/dist/utils/transform/sanitize.js +22 -21
  268. package/dist/utils/transform/sanitize.js.map +7 -0
  269. package/dist/utils/transform/sanitize.test.js +148 -0
  270. package/dist/utils/transform/sanitize.test.js.map +7 -0
  271. package/dist/utils/transform/utils/addInfoObject.d.ts +1 -1
  272. package/dist/utils/transform/utils/addInfoObject.d.ts.map +1 -1
  273. package/dist/utils/transform/utils/addInfoObject.js +14 -10
  274. package/dist/utils/transform/utils/addInfoObject.js.map +7 -0
  275. package/dist/utils/transform/utils/addLatestOpenApiVersion.d.ts +1 -1
  276. package/dist/utils/transform/utils/addLatestOpenApiVersion.d.ts.map +1 -1
  277. package/dist/utils/transform/utils/addLatestOpenApiVersion.js +8 -5
  278. package/dist/utils/transform/utils/addLatestOpenApiVersion.js.map +7 -0
  279. package/dist/utils/transform/utils/addMissingTags.d.ts +1 -1
  280. package/dist/utils/transform/utils/addMissingTags.d.ts.map +1 -1
  281. package/dist/utils/transform/utils/addMissingTags.js +26 -27
  282. package/dist/utils/transform/utils/addMissingTags.js.map +7 -0
  283. package/dist/utils/transform/utils/normalizeSecuritySchemes.d.ts +1 -1
  284. package/dist/utils/transform/utils/normalizeSecuritySchemes.d.ts.map +1 -1
  285. package/dist/utils/transform/utils/normalizeSecuritySchemes.js +36 -40
  286. package/dist/utils/transform/utils/normalizeSecuritySchemes.js.map +7 -0
  287. package/dist/utils/transform/utils/rejectSwaggerDocuments.d.ts +1 -1
  288. package/dist/utils/transform/utils/rejectSwaggerDocuments.d.ts.map +1 -1
  289. package/dist/utils/transform/utils/rejectSwaggerDocuments.js +8 -6
  290. package/dist/utils/transform/utils/rejectSwaggerDocuments.js.map +7 -0
  291. package/dist/utils/transformErrors.d.ts +1 -1
  292. package/dist/utils/transformErrors.d.ts.map +1 -1
  293. package/dist/utils/transformErrors.js +18 -21
  294. package/dist/utils/transformErrors.js.map +7 -0
  295. package/dist/utils/transformErrors.test.js +17 -0
  296. package/dist/utils/transformErrors.test.js.map +7 -0
  297. package/dist/utils/traverse.d.ts +1 -1
  298. package/dist/utils/traverse.d.ts.map +1 -1
  299. package/dist/utils/traverse.js +19 -22
  300. package/dist/utils/traverse.js.map +7 -0
  301. package/dist/utils/traverse.test.js +68 -0
  302. package/dist/utils/traverse.test.js.map +7 -0
  303. package/dist/utils/unescapeJsonPointer.js +5 -9
  304. package/dist/utils/unescapeJsonPointer.js.map +7 -0
  305. package/dist/utils/unescapeJsonPointer.test.js +19 -0
  306. package/dist/utils/unescapeJsonPointer.test.js.map +7 -0
  307. package/dist/utils/upgrade.d.ts +1 -1
  308. package/dist/utils/upgrade.d.ts.map +1 -1
  309. package/dist/utils/upgrade.js +22 -22
  310. package/dist/utils/upgrade.js.map +7 -0
  311. package/dist/utils/upgrade.test-d.js +16 -0
  312. package/dist/utils/upgrade.test-d.js.map +7 -0
  313. package/dist/utils/upgrade.test.js +57 -0
  314. package/dist/utils/upgrade.test.js.map +7 -0
  315. package/dist/utils/upgradeFromThreeToThreeOne.js +114 -140
  316. package/dist/utils/upgradeFromThreeToThreeOne.js.map +7 -0
  317. package/dist/utils/upgradeFromThreeToThreeOne.test.js +462 -0
  318. package/dist/utils/upgradeFromThreeToThreeOne.test.js.map +7 -0
  319. package/dist/utils/upgradeFromTwoToThree.js +212 -219
  320. package/dist/utils/upgradeFromTwoToThree.js.map +7 -0
  321. package/dist/utils/upgradeFromTwoToThree.test.js +589 -0
  322. package/dist/utils/upgradeFromTwoToThree.test.js.map +7 -0
  323. package/dist/utils/validate.d.ts +1 -1
  324. package/dist/utils/validate.d.ts.map +1 -1
  325. package/dist/utils/validate.js +14 -16
  326. package/dist/utils/validate.js.map +7 -0
  327. package/dist/utils/validate.test.js +64 -0
  328. package/dist/utils/validate.test.js.map +7 -0
  329. package/package.json +6 -8
  330. package/dist/schemas/v2.0/schema.json.js +0 -1623
  331. package/dist/schemas/v3.0/schema.json.js +0 -1673
  332. package/dist/schemas/v3.1/schema.json.js +0 -1451
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/utils/openapi/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAS,MAAM,sBAAsB,CAAA;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGlD;;GAEG;AACH,wBAAgB,OAAO,CAAC,aAAa,CAAC,EAAE,cAAc;kBASpC,sBAAsB,YAAY,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9D"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/utils/openapi/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAS,MAAM,mBAAmB,CAAA;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG/C;;GAEG;AACH,wBAAgB,OAAO,CAAC,aAAa,CAAC,EAAE,cAAc;kBASpC,sBAAsB,YAAY,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9D"}
@@ -1,18 +1,15 @@
1
- import { loadCommand } from './commands/loadCommand.js';
2
-
3
- /**
4
- * Creates a fluent OpenAPI pipeline
5
- */
1
+ import { loadCommand } from "./commands/loadCommand.js";
6
2
  function openapi(globalOptions) {
7
- // Create a new queue
8
- const queue = {
9
- input: null,
10
- options: globalOptions,
11
- tasks: [],
12
- };
13
- return {
14
- load: (input, options) => loadCommand(queue, input, options),
15
- };
3
+ const queue = {
4
+ input: null,
5
+ options: globalOptions,
6
+ tasks: []
7
+ };
8
+ return {
9
+ load: (input, options) => loadCommand(queue, input, options)
10
+ };
16
11
  }
17
-
18
- export { openapi };
12
+ export {
13
+ openapi
14
+ };
15
+ //# sourceMappingURL=openapi.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/openapi/openapi.ts"],
4
+ "sourcesContent": ["import type { AnyApiDefinitionFormat, OpenApiOptions, Queue } from '../../types/index'\nimport type { LoadOptions } from '../load/load'\nimport { loadCommand } from './commands/loadCommand'\n\n/**\n * Creates a fluent OpenAPI pipeline\n */\nexport function openapi(globalOptions?: OpenApiOptions) {\n // Create a new queue\n const queue = {\n input: null,\n options: globalOptions,\n tasks: [],\n } as Queue<[]>\n\n return {\n load: (input: AnyApiDefinitionFormat, options?: LoadOptions) => loadCommand(queue, input, options),\n }\n}\n"],
5
+ "mappings": "AAEA,SAAS,mBAAmB;AAKrB,SAAS,QAAQ,eAAgC;AAEtD,QAAM,QAAQ;AAAA,IACZ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,OAAO,CAAC;AAAA,EACV;AAEA,SAAO;AAAA,IACL,MAAM,CAAC,OAA+B,YAA0B,YAAY,OAAO,OAAO,OAAO;AAAA,EACnG;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ import { describe, expectTypeOf, it } from "vitest";
2
+ import { openapi } from "./openapi.js";
3
+ describe("openapi", () => {
4
+ it("returns the correct type for load()", async () => {
5
+ const result = await openapi().load({}).get();
6
+ expectTypeOf(result.filesystem).toMatchTypeOf();
7
+ expectTypeOf(result.valid).toMatchTypeOf();
8
+ });
9
+ it("returns the correct type for validate()", async () => {
10
+ const result = await openapi().load({}).validate().get();
11
+ expectTypeOf(result.valid).toMatchTypeOf();
12
+ });
13
+ });
14
+ //# sourceMappingURL=openapi.test-d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/openapi/openapi.test-d.ts"],
4
+ "sourcesContent": ["import { describe, expectTypeOf, it } from 'vitest'\n\nimport type { Filesystem } from '../../types/index'\nimport { openapi } from './openapi'\n\ndescribe('openapi', () => {\n it('returns the correct type for load()', async () => {\n const result = await openapi().load({}).get()\n\n expectTypeOf(result.filesystem).toMatchTypeOf<Filesystem>()\n\n // @ts-expect-error `valid` should be undefined\n expectTypeOf(result.valid).toMatchTypeOf<boolean>()\n })\n\n it('returns the correct type for validate()', async () => {\n const result = await openapi().load({}).validate().get()\n\n expectTypeOf(result.valid).toMatchTypeOf<boolean>()\n })\n})\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,cAAc,UAAU;AAG3C,SAAS,eAAe;AAExB,SAAS,WAAW,MAAM;AACxB,KAAG,uCAAuC,YAAY;AACpD,UAAM,SAAS,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI;AAE5C,iBAAa,OAAO,UAAU,EAAE,cAA0B;AAG1D,iBAAa,OAAO,KAAK,EAAE,cAAuB;AAAA,EACpD,CAAC;AAED,KAAG,2CAA2C,YAAY;AACxD,UAAM,SAAS,MAAM,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI;AAEvD,iBAAa,OAAO,KAAK,EAAE,cAAuB;AAAA,EACpD,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,309 @@
1
+ import { join } from "node:path";
2
+ import { describe, expect, it } from "vitest";
3
+ import { stringify } from "yaml";
4
+ import { readFiles } from "../../plugins/read-files/readFiles.js";
5
+ import { openapi } from "./openapi.js";
6
+ const example = {
7
+ openapi: "3.1.0",
8
+ info: {
9
+ title: "Hello World",
10
+ version: "1.0.0"
11
+ },
12
+ paths: {}
13
+ };
14
+ const EXAMPLE_FILE = join(new URL(import.meta.url).pathname, "../../examples/openapi.yaml");
15
+ describe("pipeline", () => {
16
+ it("load object", async () => {
17
+ const { specification } = await openapi().load(example).get();
18
+ expect(specification.openapi).toBe("3.1.0");
19
+ });
20
+ it("load string", async () => {
21
+ const { specification } = await openapi().load(JSON.stringify(example)).get();
22
+ expect(specification.openapi).toBe("3.1.0");
23
+ });
24
+ it("load file", async () => {
25
+ const { specification } = await openapi().load(EXAMPLE_FILE, {
26
+ plugins: [readFiles()]
27
+ }).get();
28
+ expect(specification.openapi).toBe("3.1.0");
29
+ });
30
+ it("load file + validate", async () => {
31
+ const { specification } = await openapi().load(EXAMPLE_FILE, {
32
+ plugins: [readFiles()]
33
+ }).validate().get();
34
+ expect(specification.openapi).toBe("3.1.0");
35
+ });
36
+ it("files", async () => {
37
+ const filesystem = await openapi().load(EXAMPLE_FILE, {
38
+ plugins: [readFiles()]
39
+ }).files();
40
+ expect(filesystem).toMatchObject([
41
+ {
42
+ isEntrypoint: true,
43
+ specification: {
44
+ openapi: "3.1.0",
45
+ info: {
46
+ title: "Hello World",
47
+ version: "1.0.0"
48
+ },
49
+ paths: {}
50
+ },
51
+ filename: null,
52
+ references: []
53
+ }
54
+ ]);
55
+ });
56
+ it("upgrade from 3.0 to 3.1", async () => {
57
+ const { specification } = await openapi().load({
58
+ ...example,
59
+ openapi: "3.0.0"
60
+ }).upgrade().get();
61
+ expect(specification.openapi).toBe("3.1.1");
62
+ });
63
+ it("details", async () => {
64
+ const { version } = await openapi().load({
65
+ ...example,
66
+ openapi: "3.0.0"
67
+ }).details();
68
+ expect(version).toBe("3.0");
69
+ });
70
+ it("upgrade > dereference", async () => {
71
+ const { version } = await openapi().load({
72
+ ...example,
73
+ openapi: "3.0.0"
74
+ }).upgrade().dereference().get();
75
+ expect(version).toBe("3.1");
76
+ });
77
+ it("filter x-internal", async () => {
78
+ const otherExample = {
79
+ openapi: "3.1.0",
80
+ info: {
81
+ title: "Hello World",
82
+ version: "1.0.0"
83
+ },
84
+ paths: {
85
+ "/": {
86
+ get: {
87
+ "x-internal": true,
88
+ "responses": {
89
+ 200: {
90
+ description: "OK"
91
+ }
92
+ }
93
+ }
94
+ },
95
+ "/foobar": {
96
+ get: {
97
+ responses: {
98
+ 200: {
99
+ description: "OK"
100
+ }
101
+ }
102
+ }
103
+ }
104
+ }
105
+ };
106
+ const { specification } = await openapi().load(otherExample).filter((schema) => !schema?.["x-internal"]).get();
107
+ expect(specification.paths["/"].get).toBeUndefined();
108
+ expect(specification.paths["/foobar"].get).not.toBeUndefined();
109
+ });
110
+ it("filter tags", async () => {
111
+ const otherExample = {
112
+ openapi: "3.1.0",
113
+ info: {
114
+ title: "Hello World",
115
+ version: "1.0.0"
116
+ },
117
+ paths: {
118
+ "/": {
119
+ get: {
120
+ tags: ["Beta"],
121
+ responses: {
122
+ 200: {
123
+ description: "OK"
124
+ }
125
+ }
126
+ }
127
+ },
128
+ "/foobar": {
129
+ get: {
130
+ responses: {
131
+ 200: {
132
+ description: "OK"
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ };
139
+ const { specification } = await openapi().load(otherExample).filter((schema) => !schema?.tags?.includes("Beta")).get();
140
+ expect(specification.paths["/"].get).toBeUndefined();
141
+ expect(specification.paths["/foobar"].get).not.toBeUndefined();
142
+ });
143
+ it("upgrade > filter", async () => {
144
+ const otherExample = JSON.stringify({
145
+ openapi: "3.0.0",
146
+ info: {
147
+ title: "Hello World",
148
+ version: "1.0.0"
149
+ },
150
+ paths: {
151
+ "/": {
152
+ get: {
153
+ tags: ["Beta"],
154
+ responses: {
155
+ 200: {
156
+ description: "OK"
157
+ }
158
+ }
159
+ }
160
+ },
161
+ "/foobar": {
162
+ get: {
163
+ responses: {
164
+ 200: {
165
+ description: "OK"
166
+ }
167
+ }
168
+ }
169
+ }
170
+ }
171
+ });
172
+ const { specification } = await openapi().load(otherExample).upgrade().filter((schema) => !schema?.tags?.includes("Beta")).get();
173
+ expect(specification.openapi).toBe("3.1.1");
174
+ expect(specification.paths["/"].get).toBeUndefined();
175
+ expect(specification.paths["/foobar"].get).not.toBeUndefined();
176
+ });
177
+ it("validate", async () => {
178
+ const result = await openapi().load(example).validate().get();
179
+ expect(result).toMatchObject({
180
+ valid: true,
181
+ version: "3.1"
182
+ });
183
+ });
184
+ it("toJson", async () => {
185
+ const result = await openapi().load(example).toJson();
186
+ expect(result).toBe(JSON.stringify(example, null, 2));
187
+ });
188
+ it("toYaml", async () => {
189
+ const result = await openapi().load(example).toYaml();
190
+ expect(result).toBe(stringify(example));
191
+ });
192
+ it("dereference", async () => {
193
+ const result = await openapi().load(example).dereference().get();
194
+ expect(result.schema.info.title).toBe("Hello World");
195
+ });
196
+ it("validate > dereference", async () => {
197
+ const result = await openapi().load(example).validate().dereference().get();
198
+ expect(result.valid).toBe(true);
199
+ expect(result.errors).toStrictEqual([]);
200
+ expect(result.schema.info.title).toBe("Hello World");
201
+ });
202
+ it("throws an error when dereference fails (global)", async () => {
203
+ expect(async () => {
204
+ await openapi({
205
+ throwOnError: true
206
+ }).load({
207
+ openapi: "3.1.0",
208
+ info: {},
209
+ paths: {
210
+ "/foobar": {
211
+ post: {
212
+ requestBody: {
213
+ $ref: "#/components/requestBodies/DoesNotExist"
214
+ }
215
+ }
216
+ }
217
+ }
218
+ }).dereference().get();
219
+ }).rejects.toThrowError("Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist");
220
+ });
221
+ it("throws an error when dereference fails (only dereference)", async () => {
222
+ expect(async () => {
223
+ await openapi().load({
224
+ openapi: "3.1.0",
225
+ info: {},
226
+ paths: {
227
+ "/foobar": {
228
+ post: {
229
+ requestBody: {
230
+ $ref: "#/components/requestBodies/DoesNotExist"
231
+ }
232
+ }
233
+ }
234
+ }
235
+ }).dereference({
236
+ throwOnError: true
237
+ }).get();
238
+ }).rejects.toThrowError("Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist");
239
+ });
240
+ it("throws an error when validate fails (global)", async () => {
241
+ expect(async () => {
242
+ await openapi({
243
+ throwOnError: true
244
+ }).load({
245
+ openapi: "3.1.0",
246
+ info: {
247
+ title: "Hello World"
248
+ },
249
+ paths: {
250
+ "/foobar": {
251
+ post: {
252
+ requestBody: {
253
+ $ref: "#/components/requestBodies/DoesNotExist"
254
+ }
255
+ }
256
+ }
257
+ }
258
+ }).validate().get();
259
+ }).rejects.toThrowError("Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist");
260
+ });
261
+ it("throws an error when validate fails (only validate)", async () => {
262
+ expect(async () => {
263
+ await openapi().load({
264
+ openapi: "3.1.0",
265
+ info: {
266
+ title: "Hello World"
267
+ },
268
+ paths: {
269
+ "/foobar": {
270
+ post: {
271
+ requestBody: {
272
+ $ref: "#/components/requestBodies/DoesNotExist"
273
+ }
274
+ }
275
+ }
276
+ }
277
+ }).validate({
278
+ throwOnError: true
279
+ }).get();
280
+ }).rejects.toThrowError("Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist");
281
+ });
282
+ it("works with then & catch", async () => {
283
+ return new Promise((resolve, reject) => {
284
+ openapi().load({
285
+ openapi: "3.1.0",
286
+ info: {
287
+ title: "Hello World"
288
+ },
289
+ paths: {
290
+ "/foobar": {
291
+ post: {
292
+ requestBody: {
293
+ $ref: "#/components/requestBodies/DoesNotExist"
294
+ }
295
+ }
296
+ }
297
+ }
298
+ }).validate({
299
+ throwOnError: true
300
+ }).get().then(() => {
301
+ reject();
302
+ }).catch((error) => {
303
+ expect(error.message).toBe("Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist");
304
+ resolve(null);
305
+ });
306
+ });
307
+ });
308
+ });
309
+ //# sourceMappingURL=openapi.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/openapi/openapi.test.ts"],
4
+ "sourcesContent": ["import { join } from 'node:path'\nimport { describe, expect, it } from 'vitest'\nimport { stringify } from 'yaml'\n\nimport { readFiles } from '../../plugins/read-files/readFiles'\nimport { openapi } from './openapi'\n\nconst example = {\n openapi: '3.1.0',\n info: {\n title: 'Hello World',\n version: '1.0.0',\n },\n paths: {},\n}\n\nconst EXAMPLE_FILE = join(new URL(import.meta.url).pathname, '../../examples/openapi.yaml')\n\ndescribe('pipeline', () => {\n it('load object', async () => {\n const { specification } = await openapi().load(example).get()\n\n expect(specification.openapi).toBe('3.1.0')\n })\n\n it('load string', async () => {\n const { specification } = await openapi().load(JSON.stringify(example)).get()\n\n expect(specification.openapi).toBe('3.1.0')\n })\n\n it('load file', async () => {\n const { specification } = await openapi()\n .load(EXAMPLE_FILE, {\n plugins: [readFiles()],\n })\n .get()\n\n expect(specification.openapi).toBe('3.1.0')\n })\n\n it('load file + validate', async () => {\n const { specification } = await openapi()\n .load(EXAMPLE_FILE, {\n plugins: [readFiles()],\n })\n .validate()\n .get()\n\n expect(specification.openapi).toBe('3.1.0')\n })\n\n it('files', async () => {\n const filesystem = await openapi()\n .load(EXAMPLE_FILE, {\n plugins: [readFiles()],\n })\n .files()\n\n expect(filesystem).toMatchObject([\n {\n isEntrypoint: true,\n specification: {\n openapi: '3.1.0',\n info: {\n title: 'Hello World',\n version: '1.0.0',\n },\n paths: {},\n },\n filename: null,\n references: [],\n },\n ])\n })\n\n it('upgrade from 3.0 to 3.1', async () => {\n const { specification } = await openapi()\n .load({\n ...example,\n openapi: '3.0.0',\n })\n .upgrade()\n .get()\n\n expect(specification.openapi).toBe('3.1.1')\n })\n\n it('details', async () => {\n const { version } = await openapi()\n .load({\n ...example,\n openapi: '3.0.0',\n })\n .details()\n\n expect(version).toBe('3.0')\n })\n\n it('upgrade > dereference', async () => {\n const { version } = await openapi()\n .load({\n ...example,\n openapi: '3.0.0',\n })\n .upgrade()\n .dereference()\n .get()\n\n expect(version).toBe('3.1')\n })\n\n it('filter x-internal', async () => {\n const otherExample = {\n openapi: '3.1.0',\n info: {\n title: 'Hello World',\n version: '1.0.0',\n },\n paths: {\n '/': {\n get: {\n 'x-internal': true,\n 'responses': {\n 200: {\n description: 'OK',\n },\n },\n },\n },\n '/foobar': {\n get: {\n responses: {\n 200: {\n description: 'OK',\n },\n },\n },\n },\n },\n }\n\n const { specification } = await openapi()\n .load(otherExample)\n .filter((schema) => !schema?.['x-internal'])\n .get()\n\n expect(specification.paths['/'].get).toBeUndefined()\n expect(specification.paths['/foobar'].get).not.toBeUndefined()\n })\n\n it('filter tags', async () => {\n const otherExample = {\n openapi: '3.1.0',\n info: {\n title: 'Hello World',\n version: '1.0.0',\n },\n paths: {\n '/': {\n get: {\n tags: ['Beta'],\n responses: {\n 200: {\n description: 'OK',\n },\n },\n },\n },\n '/foobar': {\n get: {\n responses: {\n 200: {\n description: 'OK',\n },\n },\n },\n },\n },\n }\n\n const { specification } = await openapi()\n .load(otherExample)\n .filter((schema) => !schema?.tags?.includes('Beta'))\n .get()\n\n expect(specification.paths['/'].get).toBeUndefined()\n expect(specification.paths['/foobar'].get).not.toBeUndefined()\n })\n\n it('upgrade > filter', async () => {\n const otherExample = JSON.stringify({\n openapi: '3.0.0',\n info: {\n title: 'Hello World',\n version: '1.0.0',\n },\n paths: {\n '/': {\n get: {\n tags: ['Beta'],\n responses: {\n 200: {\n description: 'OK',\n },\n },\n },\n },\n '/foobar': {\n get: {\n responses: {\n 200: {\n description: 'OK',\n },\n },\n },\n },\n },\n })\n\n const { specification } = await openapi()\n .load(otherExample)\n .upgrade()\n .filter((schema) => !schema?.tags?.includes('Beta'))\n .get()\n\n expect(specification.openapi).toBe('3.1.1')\n expect(specification.paths['/'].get).toBeUndefined()\n expect(specification.paths['/foobar'].get).not.toBeUndefined()\n })\n\n it('validate', async () => {\n const result = await openapi().load(example).validate().get()\n\n expect(result).toMatchObject({\n valid: true,\n version: '3.1',\n })\n })\n\n it('toJson', async () => {\n const result = await openapi().load(example).toJson()\n\n expect(result).toBe(JSON.stringify(example, null, 2))\n })\n\n it('toYaml', async () => {\n const result = await openapi().load(example).toYaml()\n\n expect(result).toBe(stringify(example))\n })\n\n it('dereference', async () => {\n const result = await openapi().load(example).dereference().get()\n\n expect(result.schema.info.title).toBe('Hello World')\n })\n\n it('validate > dereference', async () => {\n const result = await openapi().load(example).validate().dereference().get()\n\n expect(result.valid).toBe(true)\n expect(result.errors).toStrictEqual([])\n expect(result.schema.info.title).toBe('Hello World')\n })\n\n it('throws an error when dereference fails (global)', async () => {\n expect(async () => {\n await openapi({\n throwOnError: true,\n })\n .load({\n openapi: '3.1.0',\n info: {},\n paths: {\n '/foobar': {\n post: {\n requestBody: {\n $ref: '#/components/requestBodies/DoesNotExist',\n },\n },\n },\n },\n })\n .dereference()\n .get()\n }).rejects.toThrowError('Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist')\n })\n\n it('throws an error when dereference fails (only dereference)', async () => {\n expect(async () => {\n await openapi()\n .load({\n openapi: '3.1.0',\n info: {},\n paths: {\n '/foobar': {\n post: {\n requestBody: {\n $ref: '#/components/requestBodies/DoesNotExist',\n },\n },\n },\n },\n })\n .dereference({\n throwOnError: true,\n })\n .get()\n }).rejects.toThrowError('Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist')\n })\n\n it('throws an error when validate fails (global)', async () => {\n expect(async () => {\n await openapi({\n throwOnError: true,\n })\n .load({\n openapi: '3.1.0',\n info: {\n title: 'Hello World',\n },\n paths: {\n '/foobar': {\n post: {\n requestBody: {\n $ref: '#/components/requestBodies/DoesNotExist',\n },\n },\n },\n },\n })\n .validate()\n .get()\n }).rejects.toThrowError('Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist')\n })\n\n it('throws an error when validate fails (only validate)', async () => {\n expect(async () => {\n await openapi()\n .load({\n openapi: '3.1.0',\n info: {\n title: 'Hello World',\n },\n paths: {\n '/foobar': {\n post: {\n requestBody: {\n $ref: '#/components/requestBodies/DoesNotExist',\n },\n },\n },\n },\n })\n .validate({\n throwOnError: true,\n })\n .get()\n }).rejects.toThrowError('Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist')\n })\n\n it('works with then & catch', async () => {\n return new Promise((resolve, reject) => {\n openapi()\n .load({\n openapi: '3.1.0',\n info: {\n title: 'Hello World',\n },\n paths: {\n '/foobar': {\n post: {\n requestBody: {\n $ref: '#/components/requestBodies/DoesNotExist',\n },\n },\n },\n },\n })\n .validate({\n throwOnError: true,\n })\n .get()\n .then(() => {\n reject()\n })\n .catch((error) => {\n expect(error.message).toBe('Can\u2019t resolve reference: #/components/requestBodies/DoesNotExist')\n\n resolve(null)\n })\n })\n })\n})\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,4 +1,4 @@
1
- import type { Queue, Task } from '../../../types/index.ts';
1
+ import type { Queue, Task } from '../../../types/index.js';
2
2
  /**
3
3
  * Add a new task to the existing queue
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"queueTask.d.ts","sourceRoot":"","sources":["../../../../src/utils/openapi/utils/queueTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAE1D;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAI7D,KAAK,CAAC,CAAC,CAAC,CACd"}
1
+ {"version":3,"file":"queueTask.d.ts","sourceRoot":"","sources":["../../../../src/utils/openapi/utils/queueTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAI7D,KAAK,CAAC,CAAC,CAAC,CACd"}
@@ -1,11 +1,10 @@
1
- /**
2
- * Add a new task to the existing queue
3
- */
4
1
  function queueTask(queue, task) {
5
- return {
6
- ...queue,
7
- tasks: [...queue.tasks, task],
8
- };
2
+ return {
3
+ ...queue,
4
+ tasks: [...queue.tasks, task]
5
+ };
9
6
  }
10
-
11
- export { queueTask };
7
+ export {
8
+ queueTask
9
+ };
10
+ //# sourceMappingURL=queueTask.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/utils/openapi/utils/queueTask.ts"],
4
+ "sourcesContent": ["import type { Queue, Task } from '../../../types/index'\n\n/**\n * Add a new task to the existing queue\n */\nexport function queueTask<T extends Task[]>(queue: Queue, task: Task) {\n return {\n ...queue,\n tasks: [...queue.tasks, task],\n } as Queue<T>\n}\n"],
5
+ "mappings": "AAKO,SAAS,UAA4B,OAAc,MAAY;AACpE,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,CAAC,GAAG,MAAM,OAAO,IAAI;AAAA,EAC9B;AACF;",
6
+ "names": []
7
+ }
@@ -1,4 +1,4 @@
1
- import type { CommandChain, Queue, Task } from '../../../types/index.ts';
1
+ import type { CommandChain, Queue, Task } from '../../../types/index.js';
2
2
  /**
3
3
  * Takes a queue of tasks and works through them
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"workThroughQueue.d.ts","sourceRoot":"","sources":["../../../../src/utils/openapi/utils/workThroughQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAS,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAO/E;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAmElG"}
1
+ {"version":3,"file":"workThroughQueue.d.ts","sourceRoot":"","sources":["../../../../src/utils/openapi/utils/workThroughQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAS,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAO5E;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAkElG"}
@@ -1,67 +1,52 @@
1
- import { dereference } from '../../dereference.js';
2
- import { filter } from '../../filter.js';
3
- import { load } from '../../load/load.js';
4
- import { upgrade } from '../../upgrade.js';
5
- import { validate } from '../../validate.js';
6
-
7
- /**
8
- * Takes a queue of tasks and works through them
9
- */
1
+ import { dereference } from "../../dereference.js";
2
+ import { filter } from "../../filter.js";
3
+ import { load } from "../../load/load.js";
4
+ import { upgrade } from "../../upgrade.js";
5
+ import { validate } from "../../validate.js";
10
6
  async function workThroughQueue(queue) {
11
- const { input } = {
12
- ...queue,
13
- };
14
- let result = {};
15
- // Work through the whole queue
16
- for (const task of queue.tasks) {
17
- const name = task.name;
18
- const options = 'options' in task ? task.options : undefined;
19
- // Use the result of the previous task, or fall back to the original input
20
- const currentSpecification = result.specification
21
- ? result.specification
22
- : typeof input === 'object'
23
- ? // Detach from the original object
24
- structuredClone(input)
25
- : input;
26
- // load
27
- if (name === 'load') {
28
- result = {
29
- ...result,
30
- ...(await load(input, options)),
31
- };
32
- }
33
- // validate
34
- else if (name === 'filter') {
35
- result = {
36
- ...result,
37
- ...filter(currentSpecification, options),
38
- };
39
- }
40
- // dereference
41
- else if (name === 'dereference') {
42
- result = {
43
- ...result,
44
- ...(await dereference(currentSpecification, options)),
45
- };
46
- }
47
- // upgrade
48
- else if (name === 'upgrade') {
49
- result = {
50
- ...result,
51
- ...upgrade(currentSpecification),
52
- };
53
- }
54
- // validate
55
- else if (name === 'validate') {
56
- result = {
57
- ...result,
58
- ...(await validate(currentSpecification, options)),
59
- };
60
- }
61
- // Make TS complain when we forgot to handle a command.
62
- else ;
7
+ const { input } = {
8
+ ...queue
9
+ };
10
+ let result = {};
11
+ for (const task of queue.tasks) {
12
+ const name = task.name;
13
+ const options = "options" in task ? task.options : void 0;
14
+ const currentSpecification = result.specification ? result.specification : typeof input === "object" ? (
15
+ // Detach from the original object
16
+ structuredClone(input)
17
+ ) : input;
18
+ if (name === "load") {
19
+ result = {
20
+ ...result,
21
+ ...await load(input, options)
22
+ };
23
+ } else if (name === "filter") {
24
+ result = {
25
+ ...result,
26
+ ...filter(currentSpecification, options)
27
+ };
28
+ } else if (name === "dereference") {
29
+ result = {
30
+ ...result,
31
+ ...await dereference(currentSpecification, options)
32
+ };
33
+ } else if (name === "upgrade") {
34
+ result = {
35
+ ...result,
36
+ ...upgrade(currentSpecification)
37
+ };
38
+ } else if (name === "validate") {
39
+ result = {
40
+ ...result,
41
+ ...await validate(currentSpecification, options)
42
+ };
43
+ } else {
44
+ const _ = name;
63
45
  }
64
- return result;
46
+ }
47
+ return result;
65
48
  }
66
-
67
- export { workThroughQueue };
49
+ export {
50
+ workThroughQueue
51
+ };
52
+ //# sourceMappingURL=workThroughQueue.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/utils/openapi/utils/workThroughQueue.ts"],
4
+ "sourcesContent": ["import type { CommandChain, Merge, Queue, Task } from '../../../types/index'\nimport { dereference } from '../../dereference'\nimport { filter } from '../../filter'\nimport { load } from '../../load/load'\nimport { upgrade } from '../../upgrade'\nimport { validate } from '../../validate'\n\n/**\n * Takes a queue of tasks and works through them\n */\nexport async function workThroughQueue<T extends Task[]>(queue: Queue<T>): Promise<CommandChain<T>> {\n const { input } = {\n ...queue,\n }\n let result = {} as CommandChain<T>\n\n // Work through the whole queue\n for (const task of queue.tasks) {\n const name: keyof Commands = task.name\n const options: any = 'options' in task ? task.options : undefined\n\n // Use the result of the previous task, or fall back to the original input\n const currentSpecification = result.specification\n ? result.specification\n : typeof input === 'object'\n ? // Detach from the original object\n structuredClone(input)\n : input\n\n // load\n if (name === 'load') {\n result = {\n ...result,\n ...(await load(input, options as Commands['load']['task']['options'])),\n } as Merge<typeof result, Awaited<typeof load>>\n }\n\n // validate\n else if (name === 'filter') {\n result = {\n ...result,\n ...filter(currentSpecification, options as Commands['filter']['task']['options']),\n } as Merge<typeof result, ReturnType<typeof filter>>\n }\n\n // dereference\n else if (name === 'dereference') {\n result = {\n ...result,\n ...(await dereference(currentSpecification, options as Commands['dereference']['task']['options'])),\n } as Merge<typeof result, Awaited<typeof dereference>>\n }\n\n // upgrade\n else if (name === 'upgrade') {\n result = {\n ...result,\n ...upgrade(currentSpecification),\n } as Merge<typeof result, ReturnType<typeof upgrade>>\n }\n\n // validate\n else if (name === 'validate') {\n result = {\n ...result,\n ...(await validate(currentSpecification, options as Commands['validate']['task']['options'])),\n } as Merge<typeof result, Awaited<typeof validate>>\n }\n\n // Make TS complain when we forgot to handle a command.\n else {\n const _: never = name\n }\n }\n\n return result\n}\n"],
5
+ "mappings": "AACA,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,gBAAgB;AAKzB,eAAsB,iBAAmC,OAA2C;AAClG,QAAM,EAAE,MAAM,IAAI;AAAA,IAChB,GAAG;AAAA,EACL;AACA,MAAI,SAAS,CAAC;AAGd,aAAW,QAAQ,MAAM,OAAO;AAC9B,UAAM,OAAuB,KAAK;AAClC,UAAM,UAAe,aAAa,OAAO,KAAK,UAAU;AAGxD,UAAM,uBAAuB,OAAO,gBAChC,OAAO,gBACP,OAAO,UAAU;AAAA;AAAA,MAEf,gBAAgB,KAAK;AAAA,QACrB;AAGN,QAAI,SAAS,QAAQ;AACnB,eAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAI,MAAM,KAAK,OAAO,OAA8C;AAAA,MACtE;AAAA,IACF,WAGS,SAAS,UAAU;AAC1B,eAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAG,OAAO,sBAAsB,OAAgD;AAAA,MAClF;AAAA,IACF,WAGS,SAAS,eAAe;AAC/B,eAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAI,MAAM,YAAY,sBAAsB,OAAqD;AAAA,MACnG;AAAA,IACF,WAGS,SAAS,WAAW;AAC3B,eAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAG,QAAQ,oBAAoB;AAAA,MACjC;AAAA,IACF,WAGS,SAAS,YAAY;AAC5B,eAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAI,MAAM,SAAS,sBAAsB,OAAkD;AAAA,MAC7F;AAAA,IACF,OAGK;AACH,YAAM,IAAW;AAAA,IACnB;AAAA,EACF;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }