@redocly/openapi-core 1.34.3 → 2.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1011) hide show
  1. package/README.md +42 -4
  2. package/lib/bundle.d.ts +16 -15
  3. package/lib/bundle.d.ts.map +1 -0
  4. package/lib/bundle.js +88 -109
  5. package/lib/bundle.js.map +1 -0
  6. package/lib/config/all.d.ts +3 -2
  7. package/lib/config/all.d.ts.map +1 -0
  8. package/lib/config/all.js +5 -3
  9. package/lib/config/all.js.map +1 -0
  10. package/lib/config/builtIn.d.ts +3 -2
  11. package/lib/config/builtIn.d.ts.map +1 -0
  12. package/lib/config/builtIn.js +44 -49
  13. package/lib/config/builtIn.js.map +1 -0
  14. package/lib/config/bundle-extends.d.ts +8 -0
  15. package/lib/config/bundle-extends.d.ts.map +1 -0
  16. package/lib/config/bundle-extends.js +27 -0
  17. package/lib/config/bundle-extends.js.map +1 -0
  18. package/lib/config/config-resolvers.d.ts +15 -27
  19. package/lib/config/config-resolvers.d.ts.map +1 -0
  20. package/lib/config/config-resolvers.js +259 -373
  21. package/lib/config/config-resolvers.js.map +1 -0
  22. package/lib/config/config.d.ts +22 -26
  23. package/lib/config/config.d.ts.map +1 -0
  24. package/lib/config/config.js +104 -112
  25. package/lib/config/config.js.map +1 -0
  26. package/lib/config/index.d.ts +8 -7
  27. package/lib/config/index.d.ts.map +1 -0
  28. package/lib/config/index.js +8 -23
  29. package/lib/config/index.js.map +1 -0
  30. package/lib/config/load.d.ts +8 -19
  31. package/lib/config/load.d.ts.map +1 -0
  32. package/lib/config/load.js +62 -107
  33. package/lib/config/load.js.map +1 -0
  34. package/lib/config/minimal.d.ts +3 -2
  35. package/lib/config/minimal.d.ts.map +1 -0
  36. package/lib/config/minimal.js +5 -3
  37. package/lib/config/minimal.js.map +1 -0
  38. package/lib/config/recommended-strict.d.ts +3 -2
  39. package/lib/config/recommended-strict.d.ts.map +1 -0
  40. package/lib/config/recommended-strict.js +5 -3
  41. package/lib/config/recommended-strict.js.map +1 -0
  42. package/lib/config/recommended.d.ts +3 -2
  43. package/lib/config/recommended.d.ts.map +1 -0
  44. package/lib/config/recommended.js +5 -3
  45. package/lib/config/recommended.js.map +1 -0
  46. package/lib/config/rules.d.ts +5 -4
  47. package/lib/config/rules.d.ts.map +1 -0
  48. package/lib/config/rules.js +4 -6
  49. package/lib/config/rules.js.map +1 -0
  50. package/lib/config/spec.d.ts +3 -2
  51. package/lib/config/spec.d.ts.map +1 -0
  52. package/lib/config/spec.js +6 -4
  53. package/lib/config/spec.js.map +1 -0
  54. package/lib/config/types.d.ts +19 -62
  55. package/lib/config/types.d.ts.map +1 -0
  56. package/lib/config/types.js +2 -2
  57. package/lib/config/types.js.map +1 -0
  58. package/lib/config/utils.d.ts +5 -9
  59. package/lib/config/utils.d.ts.map +1 -0
  60. package/lib/config/utils.js +56 -258
  61. package/lib/config/utils.js.map +1 -0
  62. package/lib/config/visitors.d.ts +36 -0
  63. package/lib/config/visitors.d.ts.map +1 -0
  64. package/lib/config/visitors.js +88 -0
  65. package/lib/config/visitors.js.map +1 -0
  66. package/lib/decorators/arazzo/index.d.ts +1 -0
  67. package/lib/decorators/arazzo/index.d.ts.map +1 -0
  68. package/lib/decorators/arazzo/index.js +2 -4
  69. package/lib/decorators/arazzo/index.js.map +1 -0
  70. package/lib/decorators/async2/index.d.ts +1 -0
  71. package/lib/decorators/async2/index.d.ts.map +1 -0
  72. package/lib/decorators/async2/index.js +2 -4
  73. package/lib/decorators/async2/index.js.map +1 -0
  74. package/lib/decorators/async3/index.d.ts +1 -0
  75. package/lib/decorators/async3/index.d.ts.map +1 -0
  76. package/lib/decorators/async3/index.js +2 -4
  77. package/lib/decorators/async3/index.js.map +1 -0
  78. package/lib/decorators/common/filters/filter-helper.d.ts +2 -1
  79. package/lib/decorators/common/filters/filter-helper.d.ts.map +1 -0
  80. package/lib/decorators/common/filters/filter-helper.js +9 -12
  81. package/lib/decorators/common/filters/filter-helper.js.map +1 -0
  82. package/lib/decorators/common/filters/filter-in.d.ts +2 -1
  83. package/lib/decorators/common/filters/filter-in.d.ts.map +1 -0
  84. package/lib/decorators/common/filters/filter-in.js +5 -8
  85. package/lib/decorators/common/filters/filter-in.js.map +1 -0
  86. package/lib/decorators/common/filters/filter-out.d.ts +2 -1
  87. package/lib/decorators/common/filters/filter-out.d.ts.map +1 -0
  88. package/lib/decorators/common/filters/filter-out.js +5 -8
  89. package/lib/decorators/common/filters/filter-out.js.map +1 -0
  90. package/lib/decorators/common/info-description-override.d.ts +2 -1
  91. package/lib/decorators/common/info-description-override.d.ts.map +1 -0
  92. package/lib/decorators/common/info-description-override.js +4 -7
  93. package/lib/decorators/common/info-description-override.js.map +1 -0
  94. package/lib/decorators/common/info-override.d.ts +2 -1
  95. package/lib/decorators/common/info-override.d.ts.map +1 -0
  96. package/lib/decorators/common/info-override.js +2 -5
  97. package/lib/decorators/common/info-override.js.map +1 -0
  98. package/lib/decorators/common/media-type-examples-override.d.ts +2 -1
  99. package/lib/decorators/common/media-type-examples-override.d.ts.map +1 -0
  100. package/lib/decorators/common/media-type-examples-override.js +7 -10
  101. package/lib/decorators/common/media-type-examples-override.js.map +1 -0
  102. package/lib/decorators/common/operation-description-override.d.ts +2 -1
  103. package/lib/decorators/common/operation-description-override.d.ts.map +1 -0
  104. package/lib/decorators/common/operation-description-override.js +4 -7
  105. package/lib/decorators/common/operation-description-override.js.map +1 -0
  106. package/lib/decorators/common/remove-x-internal.d.ts +2 -1
  107. package/lib/decorators/common/remove-x-internal.d.ts.map +1 -0
  108. package/lib/decorators/common/remove-x-internal.js +11 -14
  109. package/lib/decorators/common/remove-x-internal.js.map +1 -0
  110. package/lib/decorators/common/tag-description-override.d.ts +2 -1
  111. package/lib/decorators/common/tag-description-override.d.ts.map +1 -0
  112. package/lib/decorators/common/tag-description-override.js +4 -7
  113. package/lib/decorators/common/tag-description-override.js.map +1 -0
  114. package/lib/decorators/oas2/index.d.ts +2 -2
  115. package/lib/decorators/oas2/index.d.ts.map +1 -0
  116. package/lib/decorators/oas2/index.js +16 -20
  117. package/lib/decorators/oas2/index.js.map +1 -0
  118. package/lib/decorators/oas2/remove-unused-components.d.ts +2 -1
  119. package/lib/decorators/oas2/remove-unused-components.d.ts.map +1 -0
  120. package/lib/decorators/oas2/remove-unused-components.js +4 -7
  121. package/lib/decorators/oas2/remove-unused-components.js.map +1 -0
  122. package/lib/decorators/oas3/index.d.ts +2 -2
  123. package/lib/decorators/oas3/index.d.ts.map +1 -0
  124. package/lib/decorators/oas3/index.js +18 -22
  125. package/lib/decorators/oas3/index.js.map +1 -0
  126. package/lib/decorators/oas3/remove-unused-components.d.ts +2 -1
  127. package/lib/decorators/oas3/remove-unused-components.d.ts.map +1 -0
  128. package/lib/decorators/oas3/remove-unused-components.js +5 -8
  129. package/lib/decorators/oas3/remove-unused-components.js.map +1 -0
  130. package/lib/decorators/overlay1/index.d.ts +1 -0
  131. package/lib/decorators/overlay1/index.d.ts.map +1 -0
  132. package/lib/decorators/overlay1/index.js +2 -4
  133. package/lib/decorators/overlay1/index.js.map +1 -0
  134. package/lib/env.d.ts +1 -0
  135. package/lib/env.d.ts.map +1 -0
  136. package/lib/env.js +3 -5
  137. package/lib/env.js.map +1 -0
  138. package/lib/format/codeframes.d.ts +2 -1
  139. package/lib/format/codeframes.d.ts.map +1 -0
  140. package/lib/format/codeframes.js +15 -19
  141. package/lib/format/codeframes.js.map +1 -0
  142. package/lib/format/format.d.ts +2 -1
  143. package/lib/format/format.d.ts.map +1 -0
  144. package/lib/format/format.js +57 -62
  145. package/lib/format/format.js.map +1 -0
  146. package/lib/index.d.ts +31 -26
  147. package/lib/index.d.ts.map +1 -0
  148. package/lib/index.js +25 -98
  149. package/lib/index.js.map +1 -0
  150. package/lib/js-yaml/index.d.ts +1 -0
  151. package/lib/js-yaml/index.d.ts.map +1 -0
  152. package/lib/js-yaml/index.js +7 -11
  153. package/lib/js-yaml/index.js.map +1 -0
  154. package/lib/lint.d.ts +12 -13
  155. package/lib/lint.d.ts.map +1 -0
  156. package/lib/lint.js +46 -50
  157. package/lib/lint.js.map +1 -0
  158. package/lib/logger.d.ts +2 -1
  159. package/lib/logger.d.ts.map +1 -0
  160. package/lib/logger.js +15 -17
  161. package/lib/logger.js.map +1 -0
  162. package/lib/oas-types.d.ts +395 -3
  163. package/lib/oas-types.d.ts.map +1 -0
  164. package/lib/oas-types.js +28 -32
  165. package/lib/oas-types.js.map +1 -0
  166. package/lib/ref-utils.d.ts +5 -2
  167. package/lib/ref-utils.d.ts.map +1 -0
  168. package/lib/ref-utils.js +30 -33
  169. package/lib/ref-utils.js.map +1 -0
  170. package/lib/resolve.d.ts +7 -9
  171. package/lib/resolve.d.ts.map +1 -0
  172. package/lib/resolve.js +40 -47
  173. package/lib/resolve.js.map +1 -0
  174. package/lib/rules/ajv.d.ts +4 -3
  175. package/lib/rules/ajv.d.ts.map +1 -0
  176. package/lib/rules/ajv.js +7 -10
  177. package/lib/rules/ajv.js.map +1 -0
  178. package/lib/rules/arazzo/criteria-unique.d.ts +2 -1
  179. package/lib/rules/arazzo/criteria-unique.d.ts.map +1 -0
  180. package/lib/rules/arazzo/criteria-unique.js +2 -5
  181. package/lib/rules/arazzo/criteria-unique.js.map +1 -0
  182. package/lib/rules/arazzo/index.d.ts +2 -1
  183. package/lib/rules/arazzo/index.d.ts.map +1 -0
  184. package/lib/rules/arazzo/index.js +39 -35
  185. package/lib/rules/arazzo/index.js.map +1 -0
  186. package/lib/rules/arazzo/parameters-unique.d.ts +2 -1
  187. package/lib/rules/arazzo/parameters-unique.d.ts.map +1 -0
  188. package/lib/rules/arazzo/parameters-unique.js +2 -5
  189. package/lib/rules/arazzo/parameters-unique.js.map +1 -0
  190. package/lib/rules/arazzo/requestBody-replacements-unique.d.ts +2 -1
  191. package/lib/rules/arazzo/requestBody-replacements-unique.d.ts.map +1 -0
  192. package/lib/rules/arazzo/requestBody-replacements-unique.js +2 -5
  193. package/lib/rules/arazzo/requestBody-replacements-unique.js.map +1 -0
  194. package/lib/rules/arazzo/sourceDescription-type.d.ts +2 -1
  195. package/lib/rules/arazzo/sourceDescription-type.d.ts.map +1 -0
  196. package/lib/rules/arazzo/sourceDescription-type.js +2 -5
  197. package/lib/rules/arazzo/sourceDescription-type.js.map +1 -0
  198. package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts +2 -1
  199. package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts.map +1 -0
  200. package/lib/rules/arazzo/sourceDescriptions-name-unique.js +2 -5
  201. package/lib/rules/arazzo/sourceDescriptions-name-unique.js.map +1 -0
  202. package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts +2 -1
  203. package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts.map +1 -0
  204. package/lib/rules/arazzo/sourceDescriptions-not-empty.js +2 -5
  205. package/lib/rules/arazzo/sourceDescriptions-not-empty.js.map +1 -0
  206. package/lib/rules/arazzo/step-onFailure-unique.d.ts +2 -1
  207. package/lib/rules/arazzo/step-onFailure-unique.d.ts.map +1 -0
  208. package/lib/rules/arazzo/step-onFailure-unique.js +2 -5
  209. package/lib/rules/arazzo/step-onFailure-unique.js.map +1 -0
  210. package/lib/rules/arazzo/step-onSuccess-unique.d.ts +2 -1
  211. package/lib/rules/arazzo/step-onSuccess-unique.d.ts.map +1 -0
  212. package/lib/rules/arazzo/step-onSuccess-unique.js +2 -5
  213. package/lib/rules/arazzo/step-onSuccess-unique.js.map +1 -0
  214. package/lib/rules/arazzo/stepId-unique.d.ts +2 -1
  215. package/lib/rules/arazzo/stepId-unique.d.ts.map +1 -0
  216. package/lib/rules/arazzo/stepId-unique.js +2 -5
  217. package/lib/rules/arazzo/stepId-unique.js.map +1 -0
  218. package/lib/rules/arazzo/workflow-dependsOn.d.ts +2 -1
  219. package/lib/rules/arazzo/workflow-dependsOn.d.ts.map +1 -0
  220. package/lib/rules/arazzo/workflow-dependsOn.js +2 -5
  221. package/lib/rules/arazzo/workflow-dependsOn.js.map +1 -0
  222. package/lib/rules/arazzo/workflowId-unique.d.ts +2 -1
  223. package/lib/rules/arazzo/workflowId-unique.d.ts.map +1 -0
  224. package/lib/rules/arazzo/workflowId-unique.js +2 -5
  225. package/lib/rules/arazzo/workflowId-unique.js.map +1 -0
  226. package/lib/rules/async2/channels-kebab-case.d.ts +2 -1
  227. package/lib/rules/async2/channels-kebab-case.d.ts.map +1 -0
  228. package/lib/rules/async2/channels-kebab-case.js +2 -5
  229. package/lib/rules/async2/channels-kebab-case.js.map +1 -0
  230. package/lib/rules/async2/index.d.ts +2 -1
  231. package/lib/rules/async2/index.d.ts.map +1 -0
  232. package/lib/rules/async2/index.js +21 -26
  233. package/lib/rules/async2/index.js.map +1 -0
  234. package/lib/rules/async2/no-channel-trailing-slash.d.ts +2 -1
  235. package/lib/rules/async2/no-channel-trailing-slash.d.ts.map +1 -0
  236. package/lib/rules/async2/no-channel-trailing-slash.js +2 -5
  237. package/lib/rules/async2/no-channel-trailing-slash.js.map +1 -0
  238. package/lib/rules/async3/channels-kebab-case.d.ts +2 -1
  239. package/lib/rules/async3/channels-kebab-case.d.ts.map +1 -0
  240. package/lib/rules/async3/channels-kebab-case.js +2 -5
  241. package/lib/rules/async3/channels-kebab-case.js.map +1 -0
  242. package/lib/rules/async3/index.d.ts +2 -1
  243. package/lib/rules/async3/index.d.ts.map +1 -0
  244. package/lib/rules/async3/index.js +21 -26
  245. package/lib/rules/async3/index.js.map +1 -0
  246. package/lib/rules/async3/no-channel-trailing-slash.d.ts +2 -1
  247. package/lib/rules/async3/no-channel-trailing-slash.d.ts.map +1 -0
  248. package/lib/rules/async3/no-channel-trailing-slash.js +3 -6
  249. package/lib/rules/async3/no-channel-trailing-slash.js.map +1 -0
  250. package/lib/rules/common/assertions/asserts.d.ts +3 -3
  251. package/lib/rules/common/assertions/asserts.d.ts.map +1 -0
  252. package/lib/rules/common/assertions/asserts.js +35 -51
  253. package/lib/rules/common/assertions/asserts.js.map +1 -0
  254. package/lib/rules/common/assertions/index.d.ts +4 -3
  255. package/lib/rules/common/assertions/index.d.ts.map +1 -0
  256. package/lib/rules/common/assertions/index.js +7 -10
  257. package/lib/rules/common/assertions/index.js.map +1 -0
  258. package/lib/rules/common/assertions/utils.d.ts +5 -4
  259. package/lib/rules/common/assertions/utils.d.ts.map +1 -0
  260. package/lib/rules/common/assertions/utils.js +21 -29
  261. package/lib/rules/common/assertions/utils.js.map +1 -0
  262. package/lib/rules/common/info-contact.d.ts +2 -1
  263. package/lib/rules/common/info-contact.d.ts.map +1 -0
  264. package/lib/rules/common/info-contact.js +4 -7
  265. package/lib/rules/common/info-contact.js.map +1 -0
  266. package/lib/rules/common/info-license-strict.d.ts +2 -1
  267. package/lib/rules/common/info-license-strict.d.ts.map +1 -0
  268. package/lib/rules/common/info-license-strict.js +7 -10
  269. package/lib/rules/common/info-license-strict.js.map +1 -0
  270. package/lib/rules/common/info-license-url.d.ts +2 -1
  271. package/lib/rules/common/info-license-url.d.ts.map +1 -0
  272. package/lib/rules/common/info-license-url.js +4 -7
  273. package/lib/rules/common/info-license-url.js.map +1 -0
  274. package/lib/rules/common/info-license.d.ts +2 -1
  275. package/lib/rules/common/info-license.d.ts.map +1 -0
  276. package/lib/rules/common/info-license.js +4 -7
  277. package/lib/rules/common/info-license.js.map +1 -0
  278. package/lib/rules/common/no-ambiguous-paths.d.ts +2 -1
  279. package/lib/rules/common/no-ambiguous-paths.d.ts.map +1 -0
  280. package/lib/rules/common/no-ambiguous-paths.js +2 -5
  281. package/lib/rules/common/no-ambiguous-paths.js.map +1 -0
  282. package/lib/rules/common/no-enum-type-mismatch.d.ts +2 -1
  283. package/lib/rules/common/no-enum-type-mismatch.d.ts.map +1 -0
  284. package/lib/rules/common/no-enum-type-mismatch.js +6 -9
  285. package/lib/rules/common/no-enum-type-mismatch.js.map +1 -0
  286. package/lib/rules/common/no-http-verbs-in-paths.d.ts +2 -1
  287. package/lib/rules/common/no-http-verbs-in-paths.d.ts.map +1 -0
  288. package/lib/rules/common/no-http-verbs-in-paths.js +5 -8
  289. package/lib/rules/common/no-http-verbs-in-paths.js.map +1 -0
  290. package/lib/rules/common/no-identical-paths.d.ts +2 -1
  291. package/lib/rules/common/no-identical-paths.d.ts.map +1 -0
  292. package/lib/rules/common/no-identical-paths.js +2 -5
  293. package/lib/rules/common/no-identical-paths.js.map +1 -0
  294. package/lib/rules/common/no-invalid-parameter-examples.d.ts +1 -0
  295. package/lib/rules/common/no-invalid-parameter-examples.d.ts.map +1 -0
  296. package/lib/rules/common/no-invalid-parameter-examples.js +5 -9
  297. package/lib/rules/common/no-invalid-parameter-examples.js.map +1 -0
  298. package/lib/rules/common/no-invalid-schema-examples.d.ts +2 -1
  299. package/lib/rules/common/no-invalid-schema-examples.d.ts.map +1 -0
  300. package/lib/rules/common/no-invalid-schema-examples.js +5 -9
  301. package/lib/rules/common/no-invalid-schema-examples.js.map +1 -0
  302. package/lib/rules/common/no-path-trailing-slash.d.ts +2 -1
  303. package/lib/rules/common/no-path-trailing-slash.d.ts.map +1 -0
  304. package/lib/rules/common/no-path-trailing-slash.js +2 -5
  305. package/lib/rules/common/no-path-trailing-slash.js.map +1 -0
  306. package/lib/rules/common/no-required-schema-properties-undefined.d.ts +2 -1
  307. package/lib/rules/common/no-required-schema-properties-undefined.d.ts.map +1 -0
  308. package/lib/rules/common/no-required-schema-properties-undefined.js +6 -8
  309. package/lib/rules/common/no-required-schema-properties-undefined.js.map +1 -0
  310. package/lib/rules/common/no-schema-type-mismatch.d.ts +2 -1
  311. package/lib/rules/common/no-schema-type-mismatch.d.ts.map +1 -0
  312. package/lib/rules/common/no-schema-type-mismatch.js +2 -5
  313. package/lib/rules/common/no-schema-type-mismatch.js.map +1 -0
  314. package/lib/rules/common/operation-2xx-response.d.ts +2 -1
  315. package/lib/rules/common/operation-2xx-response.d.ts.map +1 -0
  316. package/lib/rules/common/operation-2xx-response.js +5 -8
  317. package/lib/rules/common/operation-2xx-response.js.map +1 -0
  318. package/lib/rules/common/operation-4xx-response.d.ts +2 -1
  319. package/lib/rules/common/operation-4xx-response.d.ts.map +1 -0
  320. package/lib/rules/common/operation-4xx-response.js +5 -8
  321. package/lib/rules/common/operation-4xx-response.js.map +1 -0
  322. package/lib/rules/common/operation-description.d.ts +2 -1
  323. package/lib/rules/common/operation-description.d.ts.map +1 -0
  324. package/lib/rules/common/operation-description.js +4 -7
  325. package/lib/rules/common/operation-description.js.map +1 -0
  326. package/lib/rules/common/operation-operationId-unique.d.ts +2 -1
  327. package/lib/rules/common/operation-operationId-unique.d.ts.map +1 -0
  328. package/lib/rules/common/operation-operationId-unique.js +2 -5
  329. package/lib/rules/common/operation-operationId-unique.js.map +1 -0
  330. package/lib/rules/common/operation-operationId-url-safe.d.ts +2 -1
  331. package/lib/rules/common/operation-operationId-url-safe.d.ts.map +1 -0
  332. package/lib/rules/common/operation-operationId-url-safe.js +2 -5
  333. package/lib/rules/common/operation-operationId-url-safe.js.map +1 -0
  334. package/lib/rules/common/operation-operationId.d.ts +2 -1
  335. package/lib/rules/common/operation-operationId.d.ts.map +1 -0
  336. package/lib/rules/common/operation-operationId.js +4 -7
  337. package/lib/rules/common/operation-operationId.js.map +1 -0
  338. package/lib/rules/common/operation-parameters-unique.d.ts +2 -1
  339. package/lib/rules/common/operation-parameters-unique.d.ts.map +1 -0
  340. package/lib/rules/common/operation-parameters-unique.js +2 -5
  341. package/lib/rules/common/operation-parameters-unique.js.map +1 -0
  342. package/lib/rules/common/operation-singular-tag.d.ts +2 -1
  343. package/lib/rules/common/operation-singular-tag.d.ts.map +1 -0
  344. package/lib/rules/common/operation-singular-tag.js +2 -5
  345. package/lib/rules/common/operation-singular-tag.js.map +1 -0
  346. package/lib/rules/common/operation-summary.d.ts +2 -1
  347. package/lib/rules/common/operation-summary.d.ts.map +1 -0
  348. package/lib/rules/common/operation-summary.js +4 -7
  349. package/lib/rules/common/operation-summary.js.map +1 -0
  350. package/lib/rules/common/operation-tag-defined.d.ts +2 -1
  351. package/lib/rules/common/operation-tag-defined.d.ts.map +1 -0
  352. package/lib/rules/common/operation-tag-defined.js +2 -5
  353. package/lib/rules/common/operation-tag-defined.js.map +1 -0
  354. package/lib/rules/common/parameter-description.d.ts +2 -1
  355. package/lib/rules/common/parameter-description.d.ts.map +1 -0
  356. package/lib/rules/common/parameter-description.js +2 -5
  357. package/lib/rules/common/parameter-description.js.map +1 -0
  358. package/lib/rules/common/path-declaration-must-exist.d.ts +2 -1
  359. package/lib/rules/common/path-declaration-must-exist.d.ts.map +1 -0
  360. package/lib/rules/common/path-declaration-must-exist.js +2 -5
  361. package/lib/rules/common/path-declaration-must-exist.js.map +1 -0
  362. package/lib/rules/common/path-excludes-patterns.d.ts +2 -1
  363. package/lib/rules/common/path-excludes-patterns.d.ts.map +1 -0
  364. package/lib/rules/common/path-excludes-patterns.js +2 -5
  365. package/lib/rules/common/path-excludes-patterns.js.map +1 -0
  366. package/lib/rules/common/path-http-verbs-order.d.ts +2 -1
  367. package/lib/rules/common/path-http-verbs-order.d.ts.map +1 -0
  368. package/lib/rules/common/path-http-verbs-order.js +2 -5
  369. package/lib/rules/common/path-http-verbs-order.js.map +1 -0
  370. package/lib/rules/common/path-not-include-query.d.ts +2 -1
  371. package/lib/rules/common/path-not-include-query.d.ts.map +1 -0
  372. package/lib/rules/common/path-not-include-query.js +2 -5
  373. package/lib/rules/common/path-not-include-query.js.map +1 -0
  374. package/lib/rules/common/path-params-defined.d.ts +2 -1
  375. package/lib/rules/common/path-params-defined.d.ts.map +1 -0
  376. package/lib/rules/common/path-params-defined.js +2 -5
  377. package/lib/rules/common/path-params-defined.js.map +1 -0
  378. package/lib/rules/common/path-segment-plural.d.ts +2 -1
  379. package/lib/rules/common/path-segment-plural.d.ts.map +1 -0
  380. package/lib/rules/common/path-segment-plural.js +6 -9
  381. package/lib/rules/common/path-segment-plural.js.map +1 -0
  382. package/lib/rules/common/paths-kebab-case.d.ts +2 -1
  383. package/lib/rules/common/paths-kebab-case.d.ts.map +1 -0
  384. package/lib/rules/common/paths-kebab-case.js +2 -5
  385. package/lib/rules/common/paths-kebab-case.js.map +1 -0
  386. package/lib/rules/common/required-string-property-missing-min-length.d.ts +2 -1
  387. package/lib/rules/common/required-string-property-missing-min-length.d.ts.map +1 -0
  388. package/lib/rules/common/required-string-property-missing-min-length.js +2 -5
  389. package/lib/rules/common/required-string-property-missing-min-length.js.map +1 -0
  390. package/lib/rules/common/response-contains-header.d.ts +2 -1
  391. package/lib/rules/common/response-contains-header.d.ts.map +1 -0
  392. package/lib/rules/common/response-contains-header.js +5 -8
  393. package/lib/rules/common/response-contains-header.js.map +1 -0
  394. package/lib/rules/common/scalar-property-missing-example.d.ts +2 -1
  395. package/lib/rules/common/scalar-property-missing-example.d.ts.map +1 -0
  396. package/lib/rules/common/scalar-property-missing-example.js +6 -8
  397. package/lib/rules/common/scalar-property-missing-example.js.map +1 -0
  398. package/lib/rules/common/security-defined.d.ts +2 -1
  399. package/lib/rules/common/security-defined.d.ts.map +1 -0
  400. package/lib/rules/common/security-defined.js +2 -5
  401. package/lib/rules/common/security-defined.js.map +1 -0
  402. package/lib/rules/common/spec-strict-refs.d.ts +2 -1
  403. package/lib/rules/common/spec-strict-refs.d.ts.map +1 -0
  404. package/lib/rules/common/spec-strict-refs.js +4 -7
  405. package/lib/rules/common/spec-strict-refs.js.map +1 -0
  406. package/lib/rules/common/struct.d.ts +2 -1
  407. package/lib/rules/common/struct.d.ts.map +1 -0
  408. package/lib/rules/common/struct.js +19 -22
  409. package/lib/rules/common/struct.js.map +1 -0
  410. package/lib/rules/common/tag-description.d.ts +2 -1
  411. package/lib/rules/common/tag-description.d.ts.map +1 -0
  412. package/lib/rules/common/tag-description.js +4 -7
  413. package/lib/rules/common/tag-description.js.map +1 -0
  414. package/lib/rules/common/tags-alphabetical.d.ts +2 -1
  415. package/lib/rules/common/tags-alphabetical.d.ts.map +1 -0
  416. package/lib/rules/common/tags-alphabetical.js +2 -5
  417. package/lib/rules/common/tags-alphabetical.js.map +1 -0
  418. package/lib/rules/no-unresolved-refs.d.ts +4 -3
  419. package/lib/rules/no-unresolved-refs.d.ts.map +1 -0
  420. package/lib/rules/no-unresolved-refs.js +5 -9
  421. package/lib/rules/no-unresolved-refs.js.map +1 -0
  422. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +2 -1
  423. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts.map +1 -0
  424. package/lib/rules/oas2/boolean-parameter-prefixes.js +2 -5
  425. package/lib/rules/oas2/boolean-parameter-prefixes.js.map +1 -0
  426. package/lib/rules/oas2/index.d.ts +2 -1
  427. package/lib/rules/oas2/index.d.ts.map +1 -0
  428. package/lib/rules/oas2/index.js +94 -99
  429. package/lib/rules/oas2/index.js.map +1 -0
  430. package/lib/rules/oas2/request-mime-type.d.ts +2 -1
  431. package/lib/rules/oas2/request-mime-type.d.ts.map +1 -0
  432. package/lib/rules/oas2/request-mime-type.js +5 -8
  433. package/lib/rules/oas2/request-mime-type.js.map +1 -0
  434. package/lib/rules/oas2/response-contains-property.d.ts +2 -1
  435. package/lib/rules/oas2/response-contains-property.d.ts.map +1 -0
  436. package/lib/rules/oas2/response-contains-property.js +5 -8
  437. package/lib/rules/oas2/response-contains-property.js.map +1 -0
  438. package/lib/rules/oas2/response-mime-type.d.ts +2 -1
  439. package/lib/rules/oas2/response-mime-type.d.ts.map +1 -0
  440. package/lib/rules/oas2/response-mime-type.js +5 -8
  441. package/lib/rules/oas2/response-mime-type.js.map +1 -0
  442. package/lib/rules/oas3/array-parameter-serialization.d.ts +2 -1
  443. package/lib/rules/oas3/array-parameter-serialization.d.ts.map +1 -0
  444. package/lib/rules/oas3/array-parameter-serialization.js +4 -7
  445. package/lib/rules/oas3/array-parameter-serialization.js.map +1 -0
  446. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +2 -1
  447. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts.map +1 -0
  448. package/lib/rules/oas3/boolean-parameter-prefixes.js +2 -5
  449. package/lib/rules/oas3/boolean-parameter-prefixes.js.map +1 -0
  450. package/lib/rules/oas3/component-name-unique.d.ts +2 -1
  451. package/lib/rules/oas3/component-name-unique.d.ts.map +1 -0
  452. package/lib/rules/oas3/component-name-unique.js +2 -5
  453. package/lib/rules/oas3/component-name-unique.js.map +1 -0
  454. package/lib/rules/oas3/index.d.ts +2 -1
  455. package/lib/rules/oas3/index.d.ts.map +1 -0
  456. package/lib/rules/oas3/index.js +118 -123
  457. package/lib/rules/oas3/index.js.map +1 -0
  458. package/lib/rules/oas3/no-empty-servers.d.ts +2 -1
  459. package/lib/rules/oas3/no-empty-servers.d.ts.map +1 -0
  460. package/lib/rules/oas3/no-empty-servers.js +2 -5
  461. package/lib/rules/oas3/no-empty-servers.js.map +1 -0
  462. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +2 -1
  463. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts.map +1 -0
  464. package/lib/rules/oas3/no-example-value-and-externalValue.js +2 -5
  465. package/lib/rules/oas3/no-example-value-and-externalValue.js.map +1 -0
  466. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +2 -1
  467. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts.map +1 -0
  468. package/lib/rules/oas3/no-invalid-media-type-examples.js +6 -10
  469. package/lib/rules/oas3/no-invalid-media-type-examples.js.map +1 -0
  470. package/lib/rules/oas3/no-server-example.com.d.ts +2 -1
  471. package/lib/rules/oas3/no-server-example.com.d.ts.map +1 -0
  472. package/lib/rules/oas3/no-server-example.com.js +2 -5
  473. package/lib/rules/oas3/no-server-example.com.js.map +1 -0
  474. package/lib/rules/oas3/no-server-trailing-slash.d.ts +2 -1
  475. package/lib/rules/oas3/no-server-trailing-slash.d.ts.map +1 -0
  476. package/lib/rules/oas3/no-server-trailing-slash.js +2 -5
  477. package/lib/rules/oas3/no-server-trailing-slash.js.map +1 -0
  478. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +2 -1
  479. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts.map +1 -0
  480. package/lib/rules/oas3/no-server-variables-empty-enum.js +2 -5
  481. package/lib/rules/oas3/no-server-variables-empty-enum.js.map +1 -0
  482. package/lib/rules/oas3/no-undefined-server-variable.d.ts +2 -1
  483. package/lib/rules/oas3/no-undefined-server-variable.d.ts.map +1 -0
  484. package/lib/rules/oas3/no-undefined-server-variable.js +3 -6
  485. package/lib/rules/oas3/no-undefined-server-variable.js.map +1 -0
  486. package/lib/rules/oas3/no-unused-components.d.ts +2 -1
  487. package/lib/rules/oas3/no-unused-components.d.ts.map +1 -0
  488. package/lib/rules/oas3/no-unused-components.js +2 -5
  489. package/lib/rules/oas3/no-unused-components.js.map +1 -0
  490. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts +2 -1
  491. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts.map +1 -0
  492. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +6 -9
  493. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js.map +1 -0
  494. package/lib/rules/oas3/request-mime-type.d.ts +2 -1
  495. package/lib/rules/oas3/request-mime-type.d.ts.map +1 -0
  496. package/lib/rules/oas3/request-mime-type.js +6 -9
  497. package/lib/rules/oas3/request-mime-type.js.map +1 -0
  498. package/lib/rules/oas3/response-contains-property.d.ts +2 -1
  499. package/lib/rules/oas3/response-contains-property.d.ts.map +1 -0
  500. package/lib/rules/oas3/response-contains-property.js +5 -8
  501. package/lib/rules/oas3/response-contains-property.js.map +1 -0
  502. package/lib/rules/oas3/response-mime-type.d.ts +2 -1
  503. package/lib/rules/oas3/response-mime-type.d.ts.map +1 -0
  504. package/lib/rules/oas3/response-mime-type.js +6 -9
  505. package/lib/rules/oas3/response-mime-type.js.map +1 -0
  506. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +2 -1
  507. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts.map +1 -0
  508. package/lib/rules/oas3/spec-components-invalid-map-name.js +2 -5
  509. package/lib/rules/oas3/spec-components-invalid-map-name.js.map +1 -0
  510. package/lib/rules/other/stats.d.ts +4 -3
  511. package/lib/rules/other/stats.d.ts.map +1 -0
  512. package/lib/rules/other/stats.js +2 -5
  513. package/lib/rules/other/stats.js.map +1 -0
  514. package/lib/rules/overlay1/index.d.ts +2 -1
  515. package/lib/rules/overlay1/index.d.ts.map +1 -0
  516. package/lib/rules/overlay1/index.js +9 -11
  517. package/lib/rules/overlay1/index.js.map +1 -0
  518. package/lib/rules/respect/no-criteria-xpath.d.ts +2 -1
  519. package/lib/rules/respect/no-criteria-xpath.d.ts.map +1 -0
  520. package/lib/rules/respect/no-criteria-xpath.js +2 -5
  521. package/lib/rules/respect/no-criteria-xpath.js.map +1 -0
  522. package/lib/rules/respect/no-x-security-scheme-name-in-workflow.d.ts +3 -0
  523. package/lib/rules/respect/no-x-security-scheme-name-in-workflow.d.ts.map +1 -0
  524. package/lib/rules/respect/no-x-security-scheme-name-in-workflow.js +21 -0
  525. package/lib/rules/respect/no-x-security-scheme-name-in-workflow.js.map +1 -0
  526. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.d.ts +3 -0
  527. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.d.ts.map +1 -0
  528. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.js +25 -0
  529. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.js.map +1 -0
  530. package/lib/rules/respect/respect-supported-versions.d.ts +2 -1
  531. package/lib/rules/respect/respect-supported-versions.d.ts.map +1 -0
  532. package/lib/rules/respect/respect-supported-versions.js +7 -10
  533. package/lib/rules/respect/respect-supported-versions.js.map +1 -0
  534. package/lib/rules/respect/x-security-scheme-required-values.d.ts +3 -0
  535. package/lib/rules/respect/x-security-scheme-required-values.d.ts.map +1 -0
  536. package/lib/rules/respect/x-security-scheme-required-values.js +60 -0
  537. package/lib/rules/respect/x-security-scheme-required-values.js.map +1 -0
  538. package/lib/rules/utils.d.ts +4 -4
  539. package/lib/rules/utils.d.ts.map +1 -0
  540. package/lib/rules/utils.js +20 -43
  541. package/lib/rules/utils.js.map +1 -0
  542. package/lib/types/arazzo.d.ts +2 -1
  543. package/lib/types/arazzo.d.ts.map +1 -0
  544. package/lib/types/arazzo.js +40 -23
  545. package/lib/types/arazzo.js.map +1 -0
  546. package/lib/types/asyncapi2.d.ts +2 -1
  547. package/lib/types/asyncapi2.d.ts.map +1 -0
  548. package/lib/types/asyncapi2.js +54 -56
  549. package/lib/types/asyncapi2.js.map +1 -0
  550. package/lib/types/asyncapi3.d.ts +2 -1
  551. package/lib/types/asyncapi3.d.ts.map +1 -0
  552. package/lib/types/asyncapi3.js +41 -43
  553. package/lib/types/asyncapi3.js.map +1 -0
  554. package/lib/types/index.d.ts +2 -0
  555. package/lib/types/index.d.ts.map +1 -0
  556. package/lib/types/index.js +7 -13
  557. package/lib/types/index.js.map +1 -0
  558. package/lib/types/json-schema-adapter.d.ts +2 -1
  559. package/lib/types/json-schema-adapter.d.ts.map +1 -0
  560. package/lib/types/json-schema-adapter.js +15 -17
  561. package/lib/types/json-schema-adapter.js.map +1 -0
  562. package/lib/types/oas2.d.ts +85 -3
  563. package/lib/types/oas2.d.ts.map +1 -0
  564. package/lib/types/oas2.js +17 -19
  565. package/lib/types/oas2.js.map +1 -0
  566. package/lib/types/oas3.d.ts +159 -3
  567. package/lib/types/oas3.d.ts.map +1 -0
  568. package/lib/types/oas3.js +44 -46
  569. package/lib/types/oas3.js.map +1 -0
  570. package/lib/types/oas3_1.d.ts +162 -3
  571. package/lib/types/oas3_1.d.ts.map +1 -0
  572. package/lib/types/oas3_1.js +19 -21
  573. package/lib/types/oas3_1.js.map +1 -0
  574. package/lib/types/overlay.d.ts +2 -1
  575. package/lib/types/overlay.d.ts.map +1 -0
  576. package/lib/types/overlay.js +4 -6
  577. package/lib/types/overlay.js.map +1 -0
  578. package/lib/types/redocly-yaml.d.ts +6 -10
  579. package/lib/types/redocly-yaml.d.ts.map +1 -0
  580. package/lib/types/redocly-yaml.js +74 -813
  581. package/lib/types/redocly-yaml.js.map +1 -0
  582. package/lib/typings/arazzo.d.ts +41 -0
  583. package/lib/typings/arazzo.d.ts.map +1 -0
  584. package/lib/typings/arazzo.js +3 -5
  585. package/lib/typings/arazzo.js.map +1 -0
  586. package/lib/typings/asyncapi.d.ts +1 -0
  587. package/lib/typings/asyncapi.d.ts.map +1 -0
  588. package/lib/typings/asyncapi.js +2 -2
  589. package/lib/typings/asyncapi.js.map +1 -0
  590. package/lib/typings/asyncapi3.d.ts +1 -0
  591. package/lib/typings/asyncapi3.d.ts.map +1 -0
  592. package/lib/typings/asyncapi3.js +2 -2
  593. package/lib/typings/asyncapi3.js.map +1 -0
  594. package/lib/typings/common.d.ts +1 -0
  595. package/lib/typings/common.d.ts.map +1 -0
  596. package/lib/typings/common.js +2 -2
  597. package/lib/typings/common.js.map +1 -0
  598. package/lib/typings/openapi.d.ts +45 -15
  599. package/lib/typings/openapi.d.ts.map +1 -0
  600. package/lib/typings/openapi.js +2 -2
  601. package/lib/typings/openapi.js.map +1 -0
  602. package/lib/typings/overlay.d.ts +1 -0
  603. package/lib/typings/overlay.d.ts.map +1 -0
  604. package/lib/typings/overlay.js +2 -4
  605. package/lib/typings/overlay.js.map +1 -0
  606. package/lib/typings/swagger.d.ts +2 -1
  607. package/lib/typings/swagger.d.ts.map +1 -0
  608. package/lib/typings/swagger.js +2 -2
  609. package/lib/typings/swagger.js.map +1 -0
  610. package/lib/utils/error.d.ts +3 -0
  611. package/lib/utils/error.d.ts.map +1 -0
  612. package/lib/utils/error.js +3 -0
  613. package/lib/utils/error.js.map +1 -0
  614. package/lib/utils.d.ts +6 -11
  615. package/lib/utils.d.ts.map +1 -0
  616. package/lib/utils.js +50 -123
  617. package/lib/utils.js.map +1 -0
  618. package/lib/visitors.d.ts +16 -15
  619. package/lib/visitors.d.ts.map +1 -0
  620. package/lib/visitors.js +4 -6
  621. package/lib/visitors.js.map +1 -0
  622. package/lib/walk.d.ts +9 -8
  623. package/lib/walk.d.ts.map +1 -0
  624. package/lib/walk.js +31 -28
  625. package/lib/walk.js.map +1 -0
  626. package/package.json +31 -10
  627. package/CHANGELOG.md +0 -561
  628. package/__tests__/utils.ts +0 -92
  629. package/lib/benchmark/benches/lint-with-many-rules.bench.d.ts +0 -4
  630. package/lib/benchmark/benches/lint-with-many-rules.bench.js +0 -38
  631. package/lib/benchmark/benches/lint-with-nested-rule.bench.d.ts +0 -4
  632. package/lib/benchmark/benches/lint-with-nested-rule.bench.js +0 -44
  633. package/lib/benchmark/benches/lint-with-no-rules.bench.d.ts +0 -4
  634. package/lib/benchmark/benches/lint-with-no-rules.bench.js +0 -25
  635. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.d.ts +0 -4
  636. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.js +0 -37
  637. package/lib/benchmark/benches/lint-with-top-level-rule.bench.d.ts +0 -4
  638. package/lib/benchmark/benches/lint-with-top-level-rule.bench.js +0 -36
  639. package/lib/benchmark/benches/recommended-oas3.bench.d.ts +0 -3
  640. package/lib/benchmark/benches/recommended-oas3.bench.js +0 -21
  641. package/lib/benchmark/benches/resolve-with-no-external.bench.d.ts +0 -3
  642. package/lib/benchmark/benches/resolve-with-no-external.bench.js +0 -22
  643. package/lib/benchmark/utils.d.ts +0 -6
  644. package/lib/benchmark/utils.js +0 -34
  645. package/lib/decorators/common/registry-dependencies.d.ts +0 -2
  646. package/lib/decorators/common/registry-dependencies.js +0 -24
  647. package/lib/output.d.ts +0 -3
  648. package/lib/output.js +0 -9
  649. package/lib/redocly/domains.d.ts +0 -14
  650. package/lib/redocly/domains.js +0 -41
  651. package/lib/redocly/index.d.ts +0 -30
  652. package/lib/redocly/index.js +0 -131
  653. package/lib/redocly/redocly-client-types.d.ts +0 -8
  654. package/lib/redocly/redocly-client-types.js +0 -2
  655. package/lib/redocly/registry-api-types.d.ts +0 -29
  656. package/lib/redocly/registry-api-types.js +0 -2
  657. package/lib/redocly/registry-api.d.ts +0 -17
  658. package/lib/redocly/registry-api.js +0 -100
  659. package/src/__tests__/__snapshots__/bundle.test.ts.snap +0 -461
  660. package/src/__tests__/bundle.test.ts +0 -478
  661. package/src/__tests__/codeframes.test.ts +0 -530
  662. package/src/__tests__/fixtures/.redocly.lint-ignore.yaml +0 -5
  663. package/src/__tests__/fixtures/extension.js +0 -24
  664. package/src/__tests__/fixtures/lint/openapi.yaml +0 -10
  665. package/src/__tests__/fixtures/redocly.yaml +0 -2
  666. package/src/__tests__/fixtures/refs/definitions.yaml +0 -3
  667. package/src/__tests__/fixtures/refs/examples.yaml +0 -8
  668. package/src/__tests__/fixtures/refs/external-request-body.yaml +0 -13
  669. package/src/__tests__/fixtures/refs/externalref.yaml +0 -35
  670. package/src/__tests__/fixtures/refs/hosted.yaml +0 -35
  671. package/src/__tests__/fixtures/refs/openapi-with-external-refs-conflicting-names.yaml +0 -21
  672. package/src/__tests__/fixtures/refs/openapi-with-external-refs.yaml +0 -33
  673. package/src/__tests__/fixtures/refs/openapi-with-special-names-in-props.yaml +0 -19
  674. package/src/__tests__/fixtures/refs/openapi-with-url-refs.yaml +0 -18
  675. package/src/__tests__/fixtures/refs/param-b.yaml +0 -1
  676. package/src/__tests__/fixtures/refs/param-c.yaml +0 -1
  677. package/src/__tests__/fixtures/refs/rename.yaml +0 -1
  678. package/src/__tests__/fixtures/refs/requestBody.yaml +0 -9
  679. package/src/__tests__/fixtures/refs/schema-a.yaml +0 -1
  680. package/src/__tests__/fixtures/refs/simple.yaml +0 -1
  681. package/src/__tests__/fixtures/refs/vendor.schema.yaml +0 -20
  682. package/src/__tests__/fixtures/resolve/External.yaml +0 -10
  683. package/src/__tests__/fixtures/resolve/External2.yaml +0 -4
  684. package/src/__tests__/fixtures/resolve/description.md +0 -3
  685. package/src/__tests__/fixtures/resolve/externalInfo.yaml +0 -4
  686. package/src/__tests__/fixtures/resolve/externalLicense.yaml +0 -1
  687. package/src/__tests__/fixtures/resolve/openapi-with-back.yaml +0 -13
  688. package/src/__tests__/fixtures/resolve/openapi-with-md-description.yaml +0 -5
  689. package/src/__tests__/fixtures/resolve/openapi.yaml +0 -28
  690. package/src/__tests__/fixtures/resolve/schemas/type-a.yaml +0 -10
  691. package/src/__tests__/fixtures/resolve/schemas/type-b.yaml +0 -6
  692. package/src/__tests__/fixtures/resolve/transitive/a.yaml +0 -1
  693. package/src/__tests__/fixtures/resolve/transitive/components.yaml +0 -5
  694. package/src/__tests__/fixtures/resolve/transitive/schemas.yaml +0 -3
  695. package/src/__tests__/format.test.ts +0 -147
  696. package/src/__tests__/js-yaml.test.ts +0 -73
  697. package/src/__tests__/lint.test.ts +0 -1772
  698. package/src/__tests__/logger-browser.test.ts +0 -53
  699. package/src/__tests__/logger.test.ts +0 -47
  700. package/src/__tests__/login.test.ts +0 -17
  701. package/src/__tests__/normalizeVisitors.test.ts +0 -169
  702. package/src/__tests__/output-browser.test.ts +0 -18
  703. package/src/__tests__/output.test.ts +0 -15
  704. package/src/__tests__/ref-utils.test.ts +0 -142
  705. package/src/__tests__/resolve-http.test.ts +0 -77
  706. package/src/__tests__/resolve.test.ts +0 -431
  707. package/src/__tests__/utils-browser.test.ts +0 -11
  708. package/src/__tests__/utils.test.ts +0 -144
  709. package/src/__tests__/walk.test.ts +0 -1596
  710. package/src/benchmark/benches/lint-with-many-rules.bench.ts +0 -41
  711. package/src/benchmark/benches/lint-with-nested-rule.bench.ts +0 -45
  712. package/src/benchmark/benches/lint-with-no-rules.bench.ts +0 -27
  713. package/src/benchmark/benches/lint-with-top-level-rule-report.bench.ts +0 -40
  714. package/src/benchmark/benches/lint-with-top-level-rule.bench.ts +0 -38
  715. package/src/benchmark/benches/rebilly.yaml +0 -32272
  716. package/src/benchmark/benches/recommended-oas3.bench.ts +0 -22
  717. package/src/benchmark/benches/resolve-with-no-external.bench.ts +0 -23
  718. package/src/benchmark/benchmark.js +0 -311
  719. package/src/benchmark/colors.js +0 -29
  720. package/src/benchmark/fork.js +0 -87
  721. package/src/benchmark/utils.ts +0 -37
  722. package/src/bundle.ts +0 -531
  723. package/src/config/__tests__/__snapshots__/config-resolvers.test.ts.snap +0 -485
  724. package/src/config/__tests__/__snapshots__/config.test.ts.snap +0 -232
  725. package/src/config/__tests__/config-resolvers.test.ts +0 -668
  726. package/src/config/__tests__/config.test.ts +0 -356
  727. package/src/config/__tests__/fixtures/ingore-file.ts +0 -8
  728. package/src/config/__tests__/fixtures/load-external.yaml +0 -2
  729. package/src/config/__tests__/fixtures/load-redocly.yaml +0 -2
  730. package/src/config/__tests__/fixtures/plugin-config.yaml +0 -2
  731. package/src/config/__tests__/fixtures/plugin.js +0 -56
  732. package/src/config/__tests__/fixtures/resolve-config/api/nested-config.yaml +0 -11
  733. package/src/config/__tests__/fixtures/resolve-config/api/plugin.js +0 -69
  734. package/src/config/__tests__/fixtures/resolve-config/local-config-with-circular.yaml +0 -7
  735. package/src/config/__tests__/fixtures/resolve-config/local-config-with-commonjs-export-function.yaml +0 -2
  736. package/src/config/__tests__/fixtures/resolve-config/local-config-with-custom-function.yaml +0 -17
  737. package/src/config/__tests__/fixtures/resolve-config/local-config-with-esm.yaml +0 -2
  738. package/src/config/__tests__/fixtures/resolve-config/local-config-with-file.yaml +0 -18
  739. package/src/config/__tests__/fixtures/resolve-config/local-config-with-plugin-init.yaml +0 -2
  740. package/src/config/__tests__/fixtures/resolve-config/local-config-with-realm-plugin.yaml +0 -2
  741. package/src/config/__tests__/fixtures/resolve-config/local-config-with-wrong-custom-function.yaml +0 -15
  742. package/src/config/__tests__/fixtures/resolve-config/local-config.yaml +0 -9
  743. package/src/config/__tests__/fixtures/resolve-config/plugin-esm.mjs +0 -10
  744. package/src/config/__tests__/fixtures/resolve-config/plugin-with-export-function.cjs +0 -10
  745. package/src/config/__tests__/fixtures/resolve-config/plugin-with-init-logic.js +0 -9
  746. package/src/config/__tests__/fixtures/resolve-config/plugin.js +0 -80
  747. package/src/config/__tests__/fixtures/resolve-config/realm-plugin.js +0 -12
  748. package/src/config/__tests__/fixtures/resolve-refs-in-config/config-with-refs.yaml +0 -8
  749. package/src/config/__tests__/fixtures/resolve-refs-in-config/rules.yaml +0 -2
  750. package/src/config/__tests__/fixtures/resolve-refs-in-config/seo.yaml +0 -1
  751. package/src/config/__tests__/fixtures/resolve-remote-configs/nested-remote-config.yaml +0 -3
  752. package/src/config/__tests__/fixtures/resolve-remote-configs/remote-config.yaml +0 -4
  753. package/src/config/__tests__/load.test.ts +0 -320
  754. package/src/config/__tests__/resolve-plugins.test.ts +0 -30
  755. package/src/config/__tests__/utils.test.ts +0 -225
  756. package/src/config/all.ts +0 -234
  757. package/src/config/builtIn.ts +0 -59
  758. package/src/config/config-resolvers.ts +0 -657
  759. package/src/config/config.ts +0 -423
  760. package/src/config/index.ts +0 -7
  761. package/src/config/load.ts +0 -213
  762. package/src/config/minimal.ts +0 -210
  763. package/src/config/recommended-strict.ts +0 -210
  764. package/src/config/recommended.ts +0 -210
  765. package/src/config/rules.ts +0 -72
  766. package/src/config/spec.ts +0 -33
  767. package/src/config/types.ts +0 -306
  768. package/src/config/utils.ts +0 -439
  769. package/src/decorators/__tests__/filter-in.test.ts +0 -313
  770. package/src/decorators/__tests__/filter-out.test.ts +0 -344
  771. package/src/decorators/__tests__/media-type-examples-override.test.ts +0 -665
  772. package/src/decorators/__tests__/remove-x-internal.test.ts +0 -416
  773. package/src/decorators/__tests__/resources/request.yaml +0 -3
  774. package/src/decorators/__tests__/resources/response.yaml +0 -3
  775. package/src/decorators/arazzo/index.ts +0 -1
  776. package/src/decorators/async2/index.ts +0 -1
  777. package/src/decorators/async3/index.ts +0 -1
  778. package/src/decorators/common/filters/filter-helper.ts +0 -73
  779. package/src/decorators/common/filters/filter-in.ts +0 -19
  780. package/src/decorators/common/filters/filter-out.ts +0 -19
  781. package/src/decorators/common/info-description-override.ts +0 -25
  782. package/src/decorators/common/info-override.ts +0 -15
  783. package/src/decorators/common/media-type-examples-override.ts +0 -80
  784. package/src/decorators/common/operation-description-override.ts +0 -31
  785. package/src/decorators/common/registry-dependencies.ts +0 -25
  786. package/src/decorators/common/remove-x-internal.ts +0 -77
  787. package/src/decorators/common/tag-description-override.ts +0 -26
  788. package/src/decorators/oas2/__tests__/remove-unused-components.test.ts +0 -228
  789. package/src/decorators/oas2/index.ts +0 -21
  790. package/src/decorators/oas2/remove-unused-components.ts +0 -109
  791. package/src/decorators/oas3/__tests__/remove-unused-components.test.ts +0 -313
  792. package/src/decorators/oas3/index.ts +0 -23
  793. package/src/decorators/oas3/remove-unused-components.ts +0 -138
  794. package/src/decorators/overlay1/index.ts +0 -1
  795. package/src/env.ts +0 -5
  796. package/src/format/codeframes.ts +0 -217
  797. package/src/format/format.ts +0 -479
  798. package/src/index.ts +0 -91
  799. package/src/js-yaml/index.ts +0 -16
  800. package/src/lint.ts +0 -190
  801. package/src/logger.ts +0 -36
  802. package/src/oas-types.ts +0 -178
  803. package/src/output.ts +0 -7
  804. package/src/redocly/__tests__/domains.test.ts +0 -52
  805. package/src/redocly/__tests__/redocly-client.test.ts +0 -156
  806. package/src/redocly/domains.ts +0 -48
  807. package/src/redocly/index.ts +0 -177
  808. package/src/redocly/redocly-client-types.ts +0 -10
  809. package/src/redocly/registry-api-types.ts +0 -32
  810. package/src/redocly/registry-api.ts +0 -147
  811. package/src/ref-utils.ts +0 -91
  812. package/src/resolve.ts +0 -461
  813. package/src/rules/__tests__/fixtures/code-sample.php +0 -9
  814. package/src/rules/__tests__/fixtures/invalid-yaml.yaml +0 -1
  815. package/src/rules/__tests__/fixtures/ref.yaml +0 -1
  816. package/src/rules/__tests__/no-unresolved-refs.test.ts +0 -271
  817. package/src/rules/__tests__/utils.test.ts +0 -160
  818. package/src/rules/ajv.ts +0 -105
  819. package/src/rules/arazzo/__tests__/criteria-unique.test.ts +0 -160
  820. package/src/rules/arazzo/__tests__/no-criteria-xpath.test.ts +0 -126
  821. package/src/rules/arazzo/__tests__/parameters-unique.test.ts +0 -113
  822. package/src/rules/arazzo/__tests__/requestBody-replacements-unique.test.ts +0 -108
  823. package/src/rules/arazzo/__tests__/respect-supported-versions.test.ts +0 -116
  824. package/src/rules/arazzo/__tests__/source-description-type.test.ts +0 -78
  825. package/src/rules/arazzo/__tests__/sourceDescription-name-unique.test.ts +0 -78
  826. package/src/rules/arazzo/__tests__/sourceDescriptions-not-empty.test.ts +0 -104
  827. package/src/rules/arazzo/__tests__/step-onFailure-unique.test.ts +0 -110
  828. package/src/rules/arazzo/__tests__/step-onSuccess-unique.test.ts +0 -110
  829. package/src/rules/arazzo/__tests__/stepId-unique.test.ts +0 -94
  830. package/src/rules/arazzo/__tests__/workflow-dependsOn.test.ts +0 -209
  831. package/src/rules/arazzo/__tests__/workflowId-unique.test.ts +0 -88
  832. package/src/rules/arazzo/criteria-unique.ts +0 -70
  833. package/src/rules/arazzo/index.ts +0 -38
  834. package/src/rules/arazzo/parameters-unique.ts +0 -33
  835. package/src/rules/arazzo/requestBody-replacements-unique.ts +0 -33
  836. package/src/rules/arazzo/sourceDescription-type.ts +0 -21
  837. package/src/rules/arazzo/sourceDescriptions-name-unique.ts +0 -23
  838. package/src/rules/arazzo/sourceDescriptions-not-empty.ts +0 -17
  839. package/src/rules/arazzo/step-onFailure-unique.ts +0 -33
  840. package/src/rules/arazzo/step-onSuccess-unique.ts +0 -33
  841. package/src/rules/arazzo/stepId-unique.ts +0 -24
  842. package/src/rules/arazzo/workflow-dependsOn.ts +0 -56
  843. package/src/rules/arazzo/workflowId-unique.ts +0 -21
  844. package/src/rules/async2/__tests__/channels-kebab-case.test.ts +0 -145
  845. package/src/rules/async2/__tests__/no-channel-trailing-slash.test.ts +0 -97
  846. package/src/rules/async2/channels-kebab-case.ts +0 -18
  847. package/src/rules/async2/index.ts +0 -29
  848. package/src/rules/async2/no-channel-trailing-slash.ts +0 -15
  849. package/src/rules/async3/__tests__/channels-kebab-case.test.ts +0 -145
  850. package/src/rules/async3/__tests__/no-channel-trailing-slash.test.ts +0 -96
  851. package/src/rules/async3/channels-kebab-case.ts +0 -19
  852. package/src/rules/async3/index.ts +0 -29
  853. package/src/rules/async3/no-channel-trailing-slash.ts +0 -16
  854. package/src/rules/common/__tests__/info-license-strict.test.ts +0 -141
  855. package/src/rules/common/__tests__/info-license.test.ts +0 -62
  856. package/src/rules/common/__tests__/license-url.test.ts +0 -63
  857. package/src/rules/common/__tests__/no-ambiguous-paths.test.ts +0 -96
  858. package/src/rules/common/__tests__/no-enum-type-mismatch.test.ts +0 -210
  859. package/src/rules/common/__tests__/no-identical-paths.test.ts +0 -58
  860. package/src/rules/common/__tests__/no-invalid-parameter-examples.test.ts +0 -53
  861. package/src/rules/common/__tests__/no-invalid-schema-examples.test.ts +0 -86
  862. package/src/rules/common/__tests__/no-path-trailing-slash.test.ts +0 -126
  863. package/src/rules/common/__tests__/no-required-schema-properties-undefined.test.ts +0 -550
  864. package/src/rules/common/__tests__/no-schema-type-mismatch.test.ts +0 -126
  865. package/src/rules/common/__tests__/operation-2xx-response.test.ts +0 -194
  866. package/src/rules/common/__tests__/operation-4xx-response.test.ts +0 -233
  867. package/src/rules/common/__tests__/operation-operationId-unique.test.ts +0 -76
  868. package/src/rules/common/__tests__/operation-operationId-url-safe.test.ts +0 -45
  869. package/src/rules/common/__tests__/operation-parameters-unique.test.ts +0 -167
  870. package/src/rules/common/__tests__/operation-singular-tag.test.ts +0 -72
  871. package/src/rules/common/__tests__/operation-tag-defined.test.ts +0 -68
  872. package/src/rules/common/__tests__/path-http-verbs-order.test.ts +0 -95
  873. package/src/rules/common/__tests__/path-not-include-query.test.ts +0 -64
  874. package/src/rules/common/__tests__/path-params-defined.test.ts +0 -202
  875. package/src/rules/common/__tests__/paths-kebab-case.test.ts +0 -110
  876. package/src/rules/common/__tests__/scalar-property-missing-example.test.ts +0 -264
  877. package/src/rules/common/__tests__/security-defined.test.ts +0 -284
  878. package/src/rules/common/__tests__/spec-strict-refs.test.ts +0 -69
  879. package/src/rules/common/__tests__/struct.test.ts +0 -657
  880. package/src/rules/common/__tests__/tag-description.test.ts +0 -65
  881. package/src/rules/common/__tests__/tags-alphabetical.test.ts +0 -124
  882. package/src/rules/common/assertions/__tests__/asserts.test.ts +0 -877
  883. package/src/rules/common/assertions/__tests__/index.test.ts +0 -100
  884. package/src/rules/common/assertions/__tests__/utils.test.ts +0 -236
  885. package/src/rules/common/assertions/asserts.ts +0 -365
  886. package/src/rules/common/assertions/index.ts +0 -68
  887. package/src/rules/common/assertions/utils.ts +0 -333
  888. package/src/rules/common/info-contact.ts +0 -16
  889. package/src/rules/common/info-license-strict.ts +0 -24
  890. package/src/rules/common/info-license-url.ts +0 -11
  891. package/src/rules/common/info-license.ts +0 -16
  892. package/src/rules/common/no-ambiguous-paths.ts +0 -50
  893. package/src/rules/common/no-enum-type-mismatch.ts +0 -53
  894. package/src/rules/common/no-http-verbs-in-paths.ts +0 -37
  895. package/src/rules/common/no-identical-paths.ts +0 -24
  896. package/src/rules/common/no-invalid-parameter-examples.ts +0 -37
  897. package/src/rules/common/no-invalid-schema-examples.ts +0 -40
  898. package/src/rules/common/no-path-trailing-slash.ts +0 -15
  899. package/src/rules/common/no-required-schema-properties-undefined.ts +0 -54
  900. package/src/rules/common/no-schema-type-mismatch.ts +0 -24
  901. package/src/rules/common/operation-2xx-response.ts +0 -25
  902. package/src/rules/common/operation-4xx-response.ts +0 -25
  903. package/src/rules/common/operation-description.ts +0 -14
  904. package/src/rules/common/operation-operationId-unique.ts +0 -21
  905. package/src/rules/common/operation-operationId-url-safe.ts +0 -20
  906. package/src/rules/common/operation-operationId.ts +0 -18
  907. package/src/rules/common/operation-parameters-unique.ts +0 -48
  908. package/src/rules/common/operation-singular-tag.ts +0 -17
  909. package/src/rules/common/operation-summary.ts +0 -14
  910. package/src/rules/common/operation-tag-defined.ts +0 -31
  911. package/src/rules/common/parameter-description.ts +0 -22
  912. package/src/rules/common/path-declaration-must-exist.ts +0 -15
  913. package/src/rules/common/path-excludes-patterns.ts +0 -23
  914. package/src/rules/common/path-http-verbs-order.ts +0 -30
  915. package/src/rules/common/path-not-include-query.ts +0 -17
  916. package/src/rules/common/path-params-defined.ts +0 -65
  917. package/src/rules/common/path-segment-plural.ts +0 -33
  918. package/src/rules/common/paths-kebab-case.ts +0 -19
  919. package/src/rules/common/required-string-property-missing-min-length.ts +0 -44
  920. package/src/rules/common/response-contains-header.ts +0 -36
  921. package/src/rules/common/scalar-property-missing-example.ts +0 -59
  922. package/src/rules/common/security-defined.ts +0 -89
  923. package/src/rules/common/spec-strict-refs.ts +0 -31
  924. package/src/rules/common/struct.ts +0 -189
  925. package/src/rules/common/tag-description.ts +0 -11
  926. package/src/rules/common/tags-alphabetical.ts +0 -27
  927. package/src/rules/no-unresolved-refs.ts +0 -52
  928. package/src/rules/oas2/__tests__/boolean-parameter-prefixes.test.ts +0 -112
  929. package/src/rules/oas2/__tests__/response-contains-header.test.ts +0 -180
  930. package/src/rules/oas2/__tests__/response-contains-property.test.ts +0 -161
  931. package/src/rules/oas2/__tests__/spec/fixtures/description.md +0 -1
  932. package/src/rules/oas2/__tests__/spec/info.test.ts +0 -355
  933. package/src/rules/oas2/__tests__/spec/operation.test.ts +0 -123
  934. package/src/rules/oas2/__tests__/spec/paths.test.ts +0 -245
  935. package/src/rules/oas2/__tests__/spec/referenceableScalars.test.ts +0 -37
  936. package/src/rules/oas2/__tests__/spec/utils.ts +0 -32
  937. package/src/rules/oas2/boolean-parameter-prefixes.ts +0 -26
  938. package/src/rules/oas2/index.ts +0 -102
  939. package/src/rules/oas2/request-mime-type.ts +0 -17
  940. package/src/rules/oas2/response-contains-property.ts +0 -37
  941. package/src/rules/oas2/response-mime-type.ts +0 -17
  942. package/src/rules/oas3/__tests__/array-parameter-serialization.test.ts +0 -275
  943. package/src/rules/oas3/__tests__/boolean-parameter-prefixes.test.ts +0 -113
  944. package/src/rules/oas3/__tests__/component-name-unique.test.ts +0 -966
  945. package/src/rules/oas3/__tests__/fixtures/common.yaml +0 -11
  946. package/src/rules/oas3/__tests__/fixtures/external-value.yaml +0 -2
  947. package/src/rules/oas3/__tests__/no-empty-enum-servers.com.test.ts +0 -205
  948. package/src/rules/oas3/__tests__/no-example-value-and-externalValue.test.ts +0 -65
  949. package/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts +0 -732
  950. package/src/rules/oas3/__tests__/no-server-example.com.test.ts +0 -95
  951. package/src/rules/oas3/__tests__/no-server-trailing-slash.test.ts +0 -79
  952. package/src/rules/oas3/__tests__/no-unused-components.test.ts +0 -131
  953. package/src/rules/oas3/__tests__/operation-4xx-problem-details-rfc7807.test.ts +0 -145
  954. package/src/rules/oas3/__tests__/response-contains-header.test.ts +0 -401
  955. package/src/rules/oas3/__tests__/response-contains-property.test.ts +0 -417
  956. package/src/rules/oas3/__tests__/spec/callbacks.test.ts +0 -41
  957. package/src/rules/oas3/__tests__/spec/fixtures/description.md +0 -1
  958. package/src/rules/oas3/__tests__/spec/info.test.ts +0 -391
  959. package/src/rules/oas3/__tests__/spec/operation.test.ts +0 -253
  960. package/src/rules/oas3/__tests__/spec/paths.test.ts +0 -284
  961. package/src/rules/oas3/__tests__/spec/referenceableScalars.test.ts +0 -77
  962. package/src/rules/oas3/__tests__/spec/servers.test.ts +0 -505
  963. package/src/rules/oas3/__tests__/spec/spec.test.ts +0 -307
  964. package/src/rules/oas3/__tests__/spec/utils.ts +0 -32
  965. package/src/rules/oas3/__tests__/spec-components-invalid-map-name.test.ts +0 -282
  966. package/src/rules/oas3/__tests__/utils/lint-document-for-test.ts +0 -23
  967. package/src/rules/oas3/array-parameter-serialization.ts +0 -47
  968. package/src/rules/oas3/boolean-parameter-prefixes.ts +0 -28
  969. package/src/rules/oas3/component-name-unique.ts +0 -162
  970. package/src/rules/oas3/index.ts +0 -126
  971. package/src/rules/oas3/no-empty-servers.ts +0 -22
  972. package/src/rules/oas3/no-example-value-and-externalValue.ts +0 -14
  973. package/src/rules/oas3/no-invalid-media-type-examples.ts +0 -54
  974. package/src/rules/oas3/no-server-example.com.ts +0 -16
  975. package/src/rules/oas3/no-server-trailing-slash.ts +0 -15
  976. package/src/rules/oas3/no-server-variables-empty-enum.ts +0 -66
  977. package/src/rules/oas3/no-undefined-server-variable.ts +0 -30
  978. package/src/rules/oas3/no-unused-components.ts +0 -75
  979. package/src/rules/oas3/operation-4xx-problem-details-rfc7807.ts +0 -36
  980. package/src/rules/oas3/request-mime-type.ts +0 -31
  981. package/src/rules/oas3/response-contains-property.ts +0 -39
  982. package/src/rules/oas3/response-mime-type.ts +0 -31
  983. package/src/rules/oas3/spec-components-invalid-map-name.ts +0 -69
  984. package/src/rules/other/stats.ts +0 -75
  985. package/src/rules/overlay1/__tests__/info-contact.test.ts +0 -112
  986. package/src/rules/overlay1/index.ts +0 -14
  987. package/src/rules/respect/no-criteria-xpath.ts +0 -20
  988. package/src/rules/respect/respect-supported-versions.ts +0 -24
  989. package/src/rules/utils.ts +0 -230
  990. package/src/types/arazzo.ts +0 -305
  991. package/src/types/asyncapi2.ts +0 -1121
  992. package/src/types/asyncapi3.ts +0 -383
  993. package/src/types/index.ts +0 -144
  994. package/src/types/json-schema-adapter.ts +0 -217
  995. package/src/types/oas2.ts +0 -481
  996. package/src/types/oas3.ts +0 -594
  997. package/src/types/oas3_1.ts +0 -290
  998. package/src/types/overlay.ts +0 -40
  999. package/src/types/redocly-yaml.ts +0 -1226
  1000. package/src/typings/arazzo.ts +0 -172
  1001. package/src/typings/asyncapi.ts +0 -26
  1002. package/src/typings/asyncapi3.ts +0 -61
  1003. package/src/typings/common.ts +0 -18
  1004. package/src/typings/openapi.ts +0 -347
  1005. package/src/typings/overlay.ts +0 -19
  1006. package/src/typings/swagger.ts +0 -236
  1007. package/src/utils.ts +0 -357
  1008. package/src/visitors.ts +0 -598
  1009. package/src/walk.ts +0 -467
  1010. package/tsconfig.json +0 -8
  1011. package/tsconfig.tsbuildinfo +0 -1
@@ -1,1121 +0,0 @@
1
- import { listOf, mapOf } from '.';
2
- import { isMappingRef } from '../ref-utils';
3
-
4
- import type { NodeType } from '.';
5
-
6
- const Root: NodeType = {
7
- properties: {
8
- asyncapi: null, // TODO: validate semver format and supported version
9
- info: 'Info',
10
- id: { type: 'string' },
11
- servers: 'ServerMap',
12
- channels: 'ChannelMap',
13
- components: 'Components',
14
- tags: 'TagList',
15
- externalDocs: 'ExternalDocs',
16
- defaultContentType: { type: 'string' },
17
- },
18
- required: ['asyncapi', 'channels', 'info'],
19
- };
20
-
21
- const Channel: NodeType = {
22
- properties: {
23
- description: { type: 'string' },
24
- subscribe: 'Operation',
25
- publish: 'Operation',
26
- parameters: 'ParametersMap',
27
- bindings: 'ChannelBindings',
28
- servers: { type: 'array', items: { type: 'string' } },
29
- },
30
- };
31
-
32
- const ChannelMap: NodeType = {
33
- properties: {},
34
- additionalProperties: 'Channel',
35
- };
36
-
37
- const ChannelBindings: NodeType = {
38
- properties: {},
39
- allowed() {
40
- // allow all supported values, not all have deep linting
41
- return [
42
- 'http',
43
- 'ws',
44
- 'kafka',
45
- 'anypointmq',
46
- 'amqp',
47
- 'amqp1',
48
- 'mqtt',
49
- 'mqtt5',
50
- 'nats',
51
- 'jms',
52
- 'sns',
53
- 'solace',
54
- 'sqs',
55
- 'stomp',
56
- 'redis',
57
- 'mercure',
58
- 'ibmmq',
59
- 'googlepubsub',
60
- 'pulsar',
61
- ];
62
- },
63
- additionalProperties: { type: 'object' },
64
- };
65
-
66
- export const Tag: NodeType = {
67
- properties: {
68
- name: { type: 'string' },
69
- description: { type: 'string' },
70
- externalDocs: 'ExternalDocs',
71
- },
72
- required: ['name'],
73
- };
74
-
75
- export const ExternalDocs: NodeType = {
76
- properties: {
77
- description: { type: 'string' },
78
- url: { type: 'string' },
79
- },
80
- required: ['url'],
81
- };
82
-
83
- const SecurityRequirement: NodeType = {
84
- properties: {},
85
- additionalProperties: { type: 'array', items: { type: 'string' } },
86
- };
87
-
88
- const ServerBindings: NodeType = {
89
- properties: {},
90
- allowed() {
91
- // allow all supported values, not all have deep linting
92
- return [
93
- 'http',
94
- 'ws',
95
- 'kafka',
96
- 'anypointmq',
97
- 'amqp',
98
- 'amqp1',
99
- 'mqtt',
100
- 'mqtt5',
101
- 'nats',
102
- 'jms',
103
- 'sns',
104
- 'solace',
105
- 'sqs',
106
- 'stomp',
107
- 'redis',
108
- 'mercure',
109
- 'ibmmq',
110
- 'googlepubsub',
111
- 'pulsar',
112
- ];
113
- },
114
- additionalProperties: { type: 'object' },
115
- };
116
-
117
- const Server: NodeType = {
118
- properties: {
119
- url: { type: 'string' },
120
- protocol: { type: 'string' },
121
- protocolVersion: { type: 'string' },
122
- description: { type: 'string' },
123
- variables: 'ServerVariablesMap',
124
- security: 'SecurityRequirementList',
125
- bindings: 'ServerBindings',
126
- tags: 'TagList',
127
- },
128
- required: ['url', 'protocol'],
129
- };
130
-
131
- export const ServerMap: NodeType = {
132
- properties: {},
133
- additionalProperties: (_value: any, key: string) =>
134
- // eslint-disable-next-line no-useless-escape
135
- key.match(/^[A-Za-z0-9_\-]+$/) ? 'Server' : undefined,
136
- };
137
-
138
- export const ServerVariable: NodeType = {
139
- properties: {
140
- enum: {
141
- type: 'array',
142
- items: { type: 'string' },
143
- },
144
- default: { type: 'string' },
145
- description: { type: 'string' },
146
- examples: {
147
- type: 'array',
148
- items: { type: 'string' },
149
- },
150
- },
151
- required: [],
152
- };
153
-
154
- const Info: NodeType = {
155
- properties: {
156
- title: { type: 'string' },
157
- version: { type: 'string' },
158
- description: { type: 'string' },
159
- termsOfService: { type: 'string' },
160
- contact: 'Contact',
161
- license: 'License',
162
- },
163
- required: ['title', 'version'],
164
- };
165
-
166
- export const Contact: NodeType = {
167
- properties: {
168
- name: { type: 'string' },
169
- url: { type: 'string' },
170
- email: { type: 'string' },
171
- },
172
- };
173
-
174
- export const License: NodeType = {
175
- properties: {
176
- name: { type: 'string' },
177
- url: { type: 'string' },
178
- },
179
- required: ['name'],
180
- };
181
-
182
- const Parameter: NodeType = {
183
- properties: {
184
- description: { type: 'string' },
185
- schema: 'Schema',
186
- location: { type: 'string' },
187
- },
188
- };
189
-
190
- export const CorrelationId: NodeType = {
191
- properties: {
192
- description: { type: 'string' },
193
- location: { type: 'string' },
194
- },
195
- required: ['location'],
196
- };
197
-
198
- const Message: NodeType = {
199
- properties: {
200
- messageId: { type: 'string' },
201
- headers: 'Schema',
202
- payload: 'Schema', // TODO: strictly this does not cover all cases
203
- correlationId: 'CorrelationId',
204
-
205
- schemaFormat: { type: 'string' }, // TODO: support official list of schema formats and custom values
206
- contentType: { type: 'string' },
207
- name: { type: 'string' },
208
- title: { type: 'string' },
209
- summary: { type: 'string' },
210
- description: { type: 'string' },
211
- tags: 'TagList',
212
- externalDocs: 'ExternalDocs',
213
- bindings: 'MessageBindings',
214
- examples: 'MessageExampleList',
215
- traits: 'MessageTraitList',
216
- },
217
- additionalProperties: {},
218
- };
219
-
220
- const MessageBindings: NodeType = {
221
- properties: {},
222
- allowed() {
223
- // allow all supported values, not all have deep linting
224
- return [
225
- 'http',
226
- 'ws',
227
- 'kafka',
228
- 'anypointmq',
229
- 'amqp',
230
- 'amqp1',
231
- 'mqtt',
232
- 'mqtt5',
233
- 'nats',
234
- 'jms',
235
- 'sns',
236
- 'solace',
237
- 'sqs',
238
- 'stomp',
239
- 'redis',
240
- 'mercure',
241
- 'ibmmq',
242
- 'googlepubsub',
243
- 'pulsar',
244
- ];
245
- },
246
- additionalProperties: { type: 'object' },
247
- };
248
-
249
- const OperationBindings: NodeType = {
250
- properties: {},
251
- allowed() {
252
- // allow all supported values, not all have deep linting
253
- return [
254
- 'http',
255
- 'ws',
256
- 'kafka',
257
- 'anypointmq',
258
- 'amqp',
259
- 'amqp1',
260
- 'mqtt',
261
- 'mqtt5',
262
- 'nats',
263
- 'jms',
264
- 'sns',
265
- 'solace',
266
- 'sqs',
267
- 'stomp',
268
- 'redis',
269
- 'mercure',
270
- 'ibmmq',
271
- 'googlepubsub',
272
- 'pulsar',
273
- ];
274
- },
275
- additionalProperties: { type: 'object' },
276
- };
277
-
278
- const OperationTrait: NodeType = {
279
- properties: {
280
- tags: 'TagList',
281
- summary: { type: 'string' },
282
- description: { type: 'string' },
283
- externalDocs: 'ExternalDocs',
284
- operationId: { type: 'string' },
285
- security: 'SecurityRequirementList',
286
-
287
- bindings: 'OperationBindings',
288
- },
289
- required: [],
290
- };
291
-
292
- const MessageTrait: NodeType = {
293
- properties: {
294
- messageId: { type: 'string' },
295
- headers: 'Schema',
296
- correlationId: 'CorrelationId',
297
-
298
- schemaFormat: { type: 'string' },
299
- contentType: { type: 'string' },
300
- name: { type: 'string' },
301
- title: { type: 'string' },
302
- summary: { type: 'string' },
303
- description: { type: 'string' },
304
- tags: 'TagList',
305
- externalDocs: 'ExternalDocs',
306
- bindings: 'MessageBindings',
307
- examples: 'MessageExampleList',
308
- },
309
- additionalProperties: {},
310
- };
311
-
312
- const Operation: NodeType = {
313
- properties: {
314
- tags: 'TagList',
315
- summary: { type: 'string' },
316
- description: { type: 'string' },
317
- externalDocs: 'ExternalDocs',
318
- operationId: { type: 'string' },
319
- security: 'SecurityRequirementList',
320
-
321
- bindings: 'OperationBindings',
322
- traits: 'OperationTraitList',
323
- message: 'Message',
324
- },
325
- required: [],
326
- };
327
-
328
- export const MessageExample: NodeType = {
329
- properties: {
330
- payload: { isExample: true },
331
- summary: { type: 'string' },
332
- name: { type: 'string' },
333
- headers: { type: 'object' },
334
- },
335
- };
336
-
337
- export const Schema: NodeType = {
338
- properties: {
339
- $id: { type: 'string' },
340
- $schema: { type: 'string' },
341
- definitions: 'NamedSchemas',
342
- externalDocs: 'ExternalDocs',
343
- discriminator: 'Discriminator',
344
- myArbitraryKeyword: { type: 'boolean' },
345
- title: { type: 'string' },
346
- multipleOf: { type: 'number', minimum: 0 },
347
- maximum: { type: 'number' },
348
- minimum: { type: 'number' },
349
- exclusiveMaximum: { type: 'number' },
350
- exclusiveMinimum: { type: 'number' },
351
- maxLength: { type: 'integer', minimum: 0 },
352
- minLength: { type: 'integer', minimum: 0 },
353
- pattern: { type: 'string' },
354
- maxItems: { type: 'integer', minimum: 0 },
355
- minItems: { type: 'integer', minimum: 0 },
356
- uniqueItems: { type: 'boolean' },
357
- maxProperties: { type: 'integer', minimum: 0 },
358
- minProperties: { type: 'integer', minimum: 0 },
359
- required: { type: 'array', items: { type: 'string' } },
360
- enum: { type: 'array' },
361
- type: (value: any) => {
362
- return Array.isArray(value)
363
- ? {
364
- type: 'array',
365
- items: { enum: ['object', 'array', 'string', 'number', 'integer', 'boolean', 'null'] },
366
- }
367
- : {
368
- enum: ['object', 'array', 'string', 'number', 'integer', 'boolean', 'null'],
369
- };
370
- },
371
- allOf: listOf('Schema'),
372
- anyOf: listOf('Schema'),
373
- oneOf: listOf('Schema'),
374
- not: 'Schema',
375
- if: 'Schema',
376
- then: 'Schema',
377
- else: 'Schema',
378
- contains: 'Schema',
379
- patternProperties: { type: 'object' },
380
- propertyNames: 'Schema',
381
- properties: 'SchemaProperties',
382
- items: (value: any) => {
383
- return Array.isArray(value) ? listOf('Schema') : 'Schema';
384
- },
385
- additionalProperties: (value: any) => {
386
- return typeof value === 'boolean' ? { type: 'boolean' } : 'Schema';
387
- },
388
- description: { type: 'string' },
389
- format: { type: 'string' },
390
- contentEncoding: { type: 'string' },
391
- contentMediaType: { type: 'string' },
392
- default: null,
393
- readOnly: { type: 'boolean' },
394
- writeOnly: { type: 'boolean' },
395
- examples: { type: 'array' },
396
- example: { isExample: true },
397
- deprecated: { type: 'boolean' },
398
- const: null,
399
- $comment: { type: 'string' },
400
- additionalItems: (value: any) => {
401
- return typeof value === 'boolean' ? { type: 'boolean' } : 'Schema';
402
- },
403
- dependencies: 'Dependencies',
404
- },
405
- };
406
-
407
- export const SchemaProperties: NodeType = {
408
- properties: {},
409
- additionalProperties: (value: any) => {
410
- return typeof value === 'boolean' ? { type: 'boolean' } : 'Schema';
411
- },
412
- };
413
-
414
- export const DiscriminatorMapping: NodeType = {
415
- properties: {},
416
- additionalProperties: (value: any) => {
417
- if (isMappingRef(value)) {
418
- return { type: 'string', directResolveAs: 'Schema' };
419
- } else {
420
- return { type: 'string' };
421
- }
422
- },
423
- };
424
-
425
- export const Discriminator: NodeType = {
426
- properties: {
427
- propertyName: { type: 'string' },
428
- mapping: 'DiscriminatorMapping',
429
- },
430
- required: ['propertyName'],
431
- };
432
-
433
- const Components: NodeType = {
434
- properties: {
435
- messages: 'NamedMessages',
436
- parameters: 'NamedParameters',
437
- schemas: 'NamedSchemas',
438
- correlationIds: 'NamedCorrelationIds',
439
- messageTraits: 'NamedMessageTraits',
440
- operationTraits: 'NamedOperationTraits',
441
- securitySchemes: 'NamedSecuritySchemes',
442
- servers: 'ServerMap',
443
- serverVariables: 'ServerVariablesMap',
444
- channels: 'ChannelMap',
445
- serverBindings: 'ServerBindings',
446
- channelBindings: 'ChannelBindings',
447
- operationBindings: 'OperationBindings',
448
- messageBindings: 'MessageBindings',
449
- },
450
- };
451
-
452
- const ImplicitFlow: NodeType = {
453
- properties: {
454
- refreshUrl: { type: 'string' },
455
- scopes: { type: 'object', additionalProperties: { type: 'string' } }, // TODO: validate scopes
456
- authorizationUrl: { type: 'string' },
457
- },
458
- required: ['authorizationUrl', 'scopes'],
459
- };
460
-
461
- const PasswordFlow: NodeType = {
462
- properties: {
463
- refreshUrl: { type: 'string' },
464
- scopes: { type: 'object', additionalProperties: { type: 'string' } }, // TODO: validate scopes
465
- tokenUrl: { type: 'string' },
466
- },
467
- required: ['tokenUrl', 'scopes'],
468
- };
469
-
470
- const ClientCredentials: NodeType = {
471
- properties: {
472
- refreshUrl: { type: 'string' },
473
- scopes: { type: 'object', additionalProperties: { type: 'string' } }, // TODO: validate scopes
474
- tokenUrl: { type: 'string' },
475
- },
476
- required: ['tokenUrl', 'scopes'],
477
- };
478
-
479
- const AuthorizationCode: NodeType = {
480
- properties: {
481
- refreshUrl: { type: 'string' },
482
- authorizationUrl: { type: 'string' },
483
- scopes: { type: 'object', additionalProperties: { type: 'string' } }, // TODO: validate scopes
484
- tokenUrl: { type: 'string' },
485
- },
486
- required: ['authorizationUrl', 'tokenUrl', 'scopes'],
487
- };
488
-
489
- export const SecuritySchemeFlows: NodeType = {
490
- properties: {
491
- implicit: 'ImplicitFlow',
492
- password: 'PasswordFlow',
493
- clientCredentials: 'ClientCredentials',
494
- authorizationCode: 'AuthorizationCode',
495
- },
496
- };
497
-
498
- const SecurityScheme: NodeType = {
499
- properties: {
500
- type: {
501
- enum: [
502
- 'userPassword',
503
- 'apiKey',
504
- 'X509',
505
- 'symmetricEncryption',
506
- 'asymmetricEncryption',
507
- 'httpApiKey',
508
- 'http',
509
- 'oauth2',
510
- 'openIdConnect',
511
- 'plain',
512
- 'scramSha256',
513
- 'scramSha512',
514
- 'gssapi',
515
- ],
516
- },
517
- description: { type: 'string' },
518
- name: { type: 'string' },
519
- in: { type: 'string', enum: ['query', 'header', 'cookie', 'user', 'password'] },
520
- scheme: { type: 'string' },
521
- bearerFormat: { type: 'string' },
522
- flows: 'SecuritySchemeFlows',
523
- openIdConnectUrl: { type: 'string' },
524
- },
525
- required(value) {
526
- switch (value?.type) {
527
- case 'apiKey':
528
- return ['type', 'in'];
529
- case 'httpApiKey':
530
- return ['type', 'name', 'in'];
531
- case 'http':
532
- return ['type', 'scheme'];
533
- case 'oauth2':
534
- return ['type', 'flows'];
535
- case 'openIdConnect':
536
- return ['type', 'openIdConnectUrl'];
537
- default:
538
- return ['type'];
539
- }
540
- },
541
- allowed(value) {
542
- switch (value?.type) {
543
- case 'apiKey':
544
- return ['type', 'in', 'description'];
545
- case 'httpApiKey':
546
- return ['type', 'name', 'in', 'description'];
547
- case 'http':
548
- return ['type', 'scheme', 'bearerFormat', 'description'];
549
- case 'oauth2':
550
- return ['type', 'flows', 'description'];
551
- case 'openIdConnect':
552
- return ['type', 'openIdConnectUrl', 'description'];
553
- default:
554
- return ['type', 'description'];
555
- }
556
- },
557
- extensionsPrefix: 'x-',
558
- };
559
-
560
- export const Dependencies: NodeType = {
561
- properties: {},
562
- additionalProperties: (value: any) => {
563
- return Array.isArray(value) ? { type: 'array', items: { type: 'string' } } : 'Schema';
564
- },
565
- };
566
-
567
- // --- Per-protocol node types
568
-
569
- // http
570
- const HttpChannelBinding: NodeType = {
571
- properties: {}, // empty object
572
- };
573
- ChannelBindings.properties.http = HttpChannelBinding;
574
-
575
- const HttpServerBinding: NodeType = {
576
- properties: {}, // empty object
577
- };
578
- ServerBindings.properties.http = HttpServerBinding;
579
-
580
- const HttpMessageBinding: NodeType = {
581
- properties: {
582
- headers: 'Schema',
583
- bindingVersion: { type: 'string' },
584
- },
585
- };
586
- MessageBindings.properties.http = HttpMessageBinding;
587
-
588
- const HttpOperationBinding: NodeType = {
589
- properties: {
590
- type: { type: 'string' },
591
- method: {
592
- type: 'string',
593
- enum: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', 'CONNECT', 'TRACE'],
594
- },
595
- headers: 'Schema',
596
- bindingVersion: { type: 'string' },
597
- },
598
- };
599
- OperationBindings.properties.http = HttpOperationBinding;
600
-
601
- // ws
602
- const WsChannelBinding: NodeType = {
603
- properties: {
604
- method: { type: 'string' },
605
- query: 'Schema',
606
- headers: 'Schema',
607
- bindingVersion: { type: 'string' },
608
- },
609
- };
610
- ChannelBindings.properties.ws = WsChannelBinding;
611
-
612
- const WsServerBinding: NodeType = {
613
- properties: {}, // empty object
614
- };
615
- ServerBindings.properties.ws = WsServerBinding;
616
-
617
- const WsMessageBinding: NodeType = {
618
- properties: {}, // empty object
619
- };
620
- MessageBindings.properties.ws = WsMessageBinding;
621
-
622
- const WsOperationBinding: NodeType = {
623
- properties: {}, // empty object
624
- };
625
- OperationBindings.properties.ws = WsOperationBinding;
626
-
627
- // kafka
628
- const KafkaTopicConfiguration: NodeType = {
629
- properties: {
630
- 'cleanup.policy': { type: 'array', items: { enum: ['delete', 'compact'] } },
631
- 'retention.ms': { type: 'integer' },
632
- 'retention.bytes': { type: 'integer' },
633
- 'delete.retention.ms': { type: 'integer' },
634
- 'max.message.bytes': { type: 'integer' },
635
- },
636
- };
637
- const KafkaChannelBinding: NodeType = {
638
- properties: {
639
- topic: { type: 'string' },
640
- partitions: { type: 'integer' },
641
- replicas: { type: 'integer' },
642
- topicConfiguration: 'KafkaTopicConfiguration',
643
- bindingVersion: { type: 'string' },
644
- },
645
- };
646
- ChannelBindings.properties.kafka = KafkaChannelBinding;
647
-
648
- const KafkaServerBinding: NodeType = {
649
- properties: {}, // empty object
650
- };
651
- ServerBindings.properties.kafka = KafkaServerBinding;
652
-
653
- const KafkaMessageBinding: NodeType = {
654
- properties: {
655
- key: 'Schema', // TODO: add avro support
656
- schemaIdLocation: { type: 'string' },
657
- schemaIdPayloadEncoding: { type: 'string' },
658
- schemaLookupStrategy: { type: 'string' },
659
- bindingVersion: { type: 'string' },
660
- },
661
- };
662
- MessageBindings.properties.kafka = KafkaMessageBinding;
663
-
664
- const KafkaOperationBinding: NodeType = {
665
- properties: {
666
- groupId: 'Schema',
667
- clientId: 'Schema',
668
- bindingVersion: { type: 'string' },
669
- },
670
- };
671
- OperationBindings.properties.kafka = KafkaOperationBinding;
672
-
673
- // anypointmq
674
- const AnypointmqChannelBinding: NodeType = {
675
- properties: {
676
- destination: { type: 'string' },
677
- destinationType: { type: 'string' },
678
- bindingVersion: { type: 'string' },
679
- },
680
- };
681
- ChannelBindings.properties.anypointmq = AnypointmqChannelBinding;
682
-
683
- const AnypointmqServerBinding: NodeType = {
684
- properties: {}, // empty object
685
- };
686
- ServerBindings.properties.anypointmq = AnypointmqServerBinding;
687
-
688
- const AnypointmqMessageBinding: NodeType = {
689
- properties: {
690
- headers: 'Schema',
691
- bindingVersion: { type: 'string' },
692
- },
693
- };
694
- MessageBindings.properties.anypointmq = AnypointmqMessageBinding;
695
-
696
- const AnypointmqOperationBinding: NodeType = {
697
- properties: {}, // empty object
698
- };
699
- OperationBindings.properties.anypointmq = AnypointmqOperationBinding;
700
-
701
- // amqp
702
- const AmqpChannelBinding: NodeType = {
703
- properties: {}, // empty object
704
- };
705
- ChannelBindings.properties.amqp = AmqpChannelBinding;
706
-
707
- const AmqpServerBinding: NodeType = {
708
- properties: {}, // empty object
709
- };
710
- ServerBindings.properties.amqp = AmqpServerBinding;
711
-
712
- const AmqpMessageBinding: NodeType = {
713
- properties: {
714
- contentEncoding: { type: 'string' },
715
- messageType: { type: 'string' },
716
- bindingVersion: { type: 'string' },
717
- },
718
- };
719
- MessageBindings.properties.amqp = AmqpMessageBinding;
720
-
721
- const AmqpOperationBinding: NodeType = {
722
- // TODO: some fields are subscribe only
723
- properties: {
724
- expiration: { type: 'integer' },
725
- userId: { type: 'string' },
726
- cc: { type: 'array', items: { type: 'string' } },
727
- priority: { type: 'integer' },
728
- deliveryMode: { type: 'integer' }, // TODO: enum: [1, 2]
729
- mandatory: { type: 'boolean' },
730
- bcc: { type: 'array', items: { type: 'string' } },
731
- replyTo: { type: 'string' },
732
- timestamp: { type: 'boolean' },
733
- ack: { type: 'boolean' },
734
- bindingVersion: { type: 'string' },
735
- },
736
- };
737
- OperationBindings.properties.amqp = AmqpOperationBinding;
738
-
739
- // amqp1
740
- const Amqp1ChannelBinding: NodeType = {
741
- properties: {}, // empty object
742
- };
743
- ChannelBindings.properties.amqp1 = Amqp1ChannelBinding;
744
-
745
- const Amqp1ServerBinding: NodeType = {
746
- properties: {}, // empty object
747
- };
748
- ServerBindings.properties.amqp1 = Amqp1ServerBinding;
749
-
750
- const Amqp1MessageBinding: NodeType = {
751
- properties: {}, // empty object
752
- };
753
- MessageBindings.properties.amqp1 = Amqp1MessageBinding;
754
-
755
- const Amqp1OperationBinding: NodeType = {
756
- properties: {}, // empty object
757
- };
758
- OperationBindings.properties.amqp1 = Amqp1OperationBinding;
759
-
760
- // mqtt
761
- const MqttChannelBinding: NodeType = {
762
- properties: {
763
- qos: { type: 'integer' },
764
- retain: { type: 'boolean' },
765
- bindingVersion: { type: 'string' },
766
- },
767
- };
768
- ChannelBindings.properties.mqtt = MqttChannelBinding;
769
-
770
- const MqttServerBindingLastWill: NodeType = {
771
- properties: {
772
- topic: { type: 'string' },
773
- qos: { type: 'integer' },
774
- message: { type: 'string' },
775
- retain: { type: 'boolean' },
776
- },
777
- };
778
- const MqttServerBinding: NodeType = {
779
- properties: {
780
- clientId: { type: 'string' },
781
- cleanSession: { type: 'boolean' },
782
- lastWill: 'MqttServerBindingLastWill',
783
- keepAlive: { type: 'integer' },
784
- bindingVersion: { type: 'string' },
785
- },
786
- };
787
- ServerBindings.properties.mqtt = MqttServerBinding;
788
-
789
- const MqttMessageBinding: NodeType = {
790
- properties: {
791
- bindingVersion: { type: 'string' },
792
- },
793
- };
794
- MessageBindings.properties.mqtt = MqttMessageBinding;
795
-
796
- const MqttOperationBinding: NodeType = {
797
- properties: {
798
- qos: { type: 'integer' },
799
- retain: { type: 'boolean' },
800
- bindingVersion: { type: 'string' },
801
- },
802
- };
803
- OperationBindings.properties.mqtt = MqttOperationBinding;
804
-
805
- // mqtt5
806
- const Mqtt5ChannelBinding: NodeType = {
807
- properties: {}, // empty object
808
- };
809
- ChannelBindings.properties.mqtt5 = Mqtt5ChannelBinding;
810
-
811
- const Mqtt5ServerBinding: NodeType = {
812
- properties: {}, // empty object
813
- };
814
- ServerBindings.properties.mqtt5 = Mqtt5ServerBinding;
815
-
816
- const Mqtt5MessageBinding: NodeType = {
817
- properties: {}, // empty object
818
- };
819
- MessageBindings.properties.mqtt5 = Mqtt5MessageBinding;
820
-
821
- const Mqtt5OperationBinding: NodeType = {
822
- properties: {}, // empty object
823
- };
824
- OperationBindings.properties.mqtt5 = Mqtt5OperationBinding;
825
-
826
- // nats
827
- const NatsChannelBinding: NodeType = {
828
- properties: {}, // empty object
829
- };
830
- ChannelBindings.properties.nats = NatsChannelBinding;
831
-
832
- const NatsServerBinding: NodeType = {
833
- properties: {}, // empty object
834
- };
835
- ServerBindings.properties.nats = NatsServerBinding;
836
-
837
- const NatsMessageBinding: NodeType = {
838
- properties: {}, // empty object
839
- };
840
- MessageBindings.properties.nats = NatsMessageBinding;
841
-
842
- const NatsOperationBinding: NodeType = {
843
- properties: {
844
- queue: { type: 'string' },
845
- bindingVersion: { type: 'string' },
846
- },
847
- };
848
- OperationBindings.properties.nats = NatsOperationBinding;
849
-
850
- // jms
851
- const JmsChannelBinding: NodeType = {
852
- properties: {
853
- destination: { type: 'string' },
854
- destinationType: { type: 'string' },
855
- bindingVersion: { type: 'string' },
856
- },
857
- };
858
- ChannelBindings.properties.jms = JmsChannelBinding;
859
-
860
- const JmsServerBinding: NodeType = {
861
- properties: {}, // empty object
862
- };
863
- ServerBindings.properties.jms = JmsServerBinding;
864
-
865
- const JmsMessageBinding: NodeType = {
866
- properties: {
867
- headers: 'Schema',
868
- bindingVersion: { type: 'string' },
869
- },
870
- };
871
- MessageBindings.properties.jms = JmsMessageBinding;
872
-
873
- const JmsOperationBinding: NodeType = {
874
- properties: {
875
- headers: 'Schema',
876
- bindingVersion: { type: 'string' },
877
- },
878
- };
879
- OperationBindings.properties.jms = JmsOperationBinding;
880
-
881
- // sns
882
-
883
- // solace
884
- const SolaceChannelBinding: NodeType = {
885
- properties: {}, // empty object
886
- };
887
- ChannelBindings.properties.solace = SolaceChannelBinding;
888
-
889
- const SolaceServerBinding: NodeType = {
890
- properties: {
891
- bindingVersion: { type: 'string' },
892
- msgVpn: { type: 'string' },
893
- },
894
- };
895
- ServerBindings.properties.solace = SolaceServerBinding;
896
-
897
- const SolaceMessageBinding: NodeType = {
898
- properties: {}, // empty object
899
- };
900
- MessageBindings.properties.solace = SolaceMessageBinding;
901
-
902
- const SolaceDestination: NodeType = {
903
- properties: {
904
- destinationType: { type: 'string', enum: ['queue', 'topic'] },
905
- deliveryMode: { type: 'string', enum: ['direct', 'persistent'] },
906
- 'queue.name': { type: 'string' },
907
- 'queue.topicSubscriptions': { type: 'array', items: { type: 'string' } },
908
- 'queue.accessType': { type: 'string', enum: ['exclusive', 'nonexclusive'] },
909
- 'queue.maxMsgSpoolSize': { type: 'string' },
910
- 'queue.maxTtl': { type: 'string' },
911
- 'topic.topicSubscriptions': { type: 'array', items: { type: 'string' } },
912
- },
913
- };
914
- const SolaceOperationBinding: NodeType = {
915
- properties: {
916
- bindingVersion: { type: 'string' },
917
- destinations: listOf('SolaceDestination'),
918
- },
919
- };
920
- OperationBindings.properties.solace = SolaceOperationBinding;
921
-
922
- // sqs
923
-
924
- // stomp
925
- const StompChannelBinding: NodeType = {
926
- properties: {}, // empty object
927
- };
928
- ChannelBindings.properties.stomp = StompChannelBinding;
929
-
930
- const StompServerBinding: NodeType = {
931
- properties: {}, // empty object
932
- };
933
- ServerBindings.properties.stomp = StompServerBinding;
934
-
935
- const StompMessageBinding: NodeType = {
936
- properties: {}, // empty object
937
- };
938
- MessageBindings.properties.stomp = StompMessageBinding;
939
-
940
- const StompOperationBinding: NodeType = {
941
- properties: {}, // empty object
942
- };
943
- OperationBindings.properties.stomp = StompOperationBinding;
944
-
945
- // redis
946
- const RedisChannelBinding: NodeType = {
947
- properties: {}, // empty object
948
- };
949
- ChannelBindings.properties.redis = RedisChannelBinding;
950
-
951
- const RedisServerBinding: NodeType = {
952
- properties: {}, // empty object
953
- };
954
- ServerBindings.properties.redis = RedisServerBinding;
955
-
956
- const RedisMessageBinding: NodeType = {
957
- properties: {}, // empty object
958
- };
959
- MessageBindings.properties.redis = RedisMessageBinding;
960
-
961
- const RedisOperationBinding: NodeType = {
962
- properties: {}, // empty object
963
- };
964
- OperationBindings.properties.redis = RedisOperationBinding;
965
-
966
- // mercure
967
- const MercureChannelBinding: NodeType = {
968
- properties: {}, // empty object
969
- };
970
- ChannelBindings.properties.mercure = MercureChannelBinding;
971
-
972
- const MercureServerBinding: NodeType = {
973
- properties: {}, // empty object
974
- };
975
- ServerBindings.properties.mercure = MercureServerBinding;
976
-
977
- const MercureMessageBinding: NodeType = {
978
- properties: {}, // empty object
979
- };
980
- MessageBindings.properties.mercure = MercureMessageBinding;
981
-
982
- const MercureOperationBinding: NodeType = {
983
- properties: {}, // empty object
984
- };
985
- OperationBindings.properties.mercure = MercureOperationBinding;
986
-
987
- // ibmmq
988
- // googlepubsub
989
- // pulsar
990
-
991
- // --- End per-protocol node types
992
- export const AsyncApi2Bindings: Record<string, NodeType> = {
993
- HttpServerBinding,
994
- HttpChannelBinding,
995
- HttpMessageBinding,
996
- HttpOperationBinding,
997
-
998
- WsServerBinding,
999
- WsChannelBinding,
1000
- WsMessageBinding,
1001
- WsOperationBinding,
1002
-
1003
- KafkaServerBinding,
1004
- KafkaTopicConfiguration,
1005
- KafkaChannelBinding,
1006
- KafkaMessageBinding,
1007
- KafkaOperationBinding,
1008
-
1009
- AnypointmqServerBinding,
1010
- AnypointmqChannelBinding,
1011
- AnypointmqMessageBinding,
1012
- AnypointmqOperationBinding,
1013
-
1014
- AmqpServerBinding,
1015
- AmqpChannelBinding,
1016
- AmqpMessageBinding,
1017
- AmqpOperationBinding,
1018
-
1019
- Amqp1ServerBinding,
1020
- Amqp1ChannelBinding,
1021
- Amqp1MessageBinding,
1022
- Amqp1OperationBinding,
1023
-
1024
- MqttServerBindingLastWill,
1025
- MqttServerBinding,
1026
- MqttChannelBinding,
1027
- MqttMessageBinding,
1028
- MqttOperationBinding,
1029
-
1030
- Mqtt5ServerBinding,
1031
- Mqtt5ChannelBinding,
1032
- Mqtt5MessageBinding,
1033
- Mqtt5OperationBinding,
1034
-
1035
- NatsServerBinding,
1036
- NatsChannelBinding,
1037
- NatsMessageBinding,
1038
- NatsOperationBinding,
1039
-
1040
- JmsServerBinding,
1041
- JmsChannelBinding,
1042
- JmsMessageBinding,
1043
- JmsOperationBinding,
1044
-
1045
- SolaceServerBinding,
1046
- SolaceChannelBinding,
1047
- SolaceMessageBinding,
1048
- SolaceDestination,
1049
- SolaceOperationBinding,
1050
-
1051
- StompServerBinding,
1052
- StompChannelBinding,
1053
- StompMessageBinding,
1054
- StompOperationBinding,
1055
-
1056
- RedisServerBinding,
1057
- RedisChannelBinding,
1058
- RedisMessageBinding,
1059
- RedisOperationBinding,
1060
-
1061
- MercureServerBinding,
1062
- MercureChannelBinding,
1063
- MercureMessageBinding,
1064
- MercureOperationBinding,
1065
-
1066
- ServerBindings,
1067
- ChannelBindings,
1068
- MessageBindings,
1069
- OperationBindings,
1070
- };
1071
-
1072
- export const AsyncApi2Types: Record<string, NodeType> = {
1073
- ...AsyncApi2Bindings,
1074
- Root,
1075
- Tag,
1076
- TagList: listOf('Tag'),
1077
- ServerMap,
1078
- ExternalDocs,
1079
- Server,
1080
- ServerVariable,
1081
- ServerVariablesMap: mapOf('ServerVariable'),
1082
- SecurityRequirement,
1083
- SecurityRequirementList: listOf('SecurityRequirement'),
1084
- Info,
1085
- Contact,
1086
- License,
1087
- ChannelMap,
1088
- Channel,
1089
- Parameter,
1090
- ParametersMap: mapOf('Parameter'),
1091
- Operation,
1092
- Schema,
1093
- MessageExample,
1094
- SchemaProperties,
1095
- DiscriminatorMapping,
1096
- Discriminator,
1097
- Components,
1098
- NamedSchemas: mapOf('Schema'),
1099
- NamedMessages: mapOf('Message'),
1100
- NamedMessageTraits: mapOf('MessageTrait'),
1101
- NamedOperationTraits: mapOf('OperationTrait'),
1102
- NamedParameters: mapOf('Parameter'),
1103
- NamedSecuritySchemes: mapOf('SecurityScheme'),
1104
- NamedCorrelationIds: mapOf('CorrelationId'),
1105
- ImplicitFlow,
1106
- PasswordFlow,
1107
- ClientCredentials,
1108
- AuthorizationCode,
1109
- SecuritySchemeFlows,
1110
- SecurityScheme,
1111
- Message,
1112
- MessageBindings,
1113
- OperationBindings,
1114
- OperationTrait,
1115
- OperationTraitList: listOf('OperationTrait'),
1116
- MessageTrait,
1117
- MessageTraitList: listOf('MessageTrait'),
1118
- MessageExampleList: listOf('MessageExample'),
1119
- CorrelationId,
1120
- Dependencies,
1121
- };