@skmtc/core 0.18.1 → 0.26.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 (482) hide show
  1. package/README.md +0 -1
  2. package/esm/anchors/buildSidecar.js +1 -1
  3. package/esm/anchors/postPass.d.ts +1 -1
  4. package/esm/anchors/postPass.js +1 -1
  5. package/esm/anchors/sidecar.d.ts +2 -2
  6. package/esm/anchors/sidecar.js +1 -1
  7. package/esm/context/CoreContext.d.ts +7 -1
  8. package/esm/context/CoreContext.d.ts.map +1 -1
  9. package/esm/context/CoreContext.js +17 -11
  10. package/esm/context/GenerateContext.d.ts +25 -4
  11. package/esm/context/GenerateContext.d.ts.map +1 -1
  12. package/esm/context/GenerateContext.js +135 -70
  13. package/esm/context/ParseIssue.d.ts +1 -1
  14. package/esm/context/RenderContext.d.ts +2 -6
  15. package/esm/context/RenderContext.d.ts.map +1 -1
  16. package/esm/context/RenderContext.js +4 -14
  17. package/esm/context/generateTypes.d.ts +35 -8
  18. package/esm/context/generateTypes.d.ts.map +1 -1
  19. package/{script/deps/jsr.io/@std/fs/1.0.23 → esm/deps/jsr.io/@std/fs/1.0.24}/exists.d.ts.map +1 -1
  20. package/esm/deps/jsr.io/@std/internal/1.0.14/_os.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/internal/1.0.14/_os.js +14 -0
  22. package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts.map +1 -1
  23. package/esm/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
  24. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts.map +1 -1
  25. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.js +1 -1
  26. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts.map +1 -1
  27. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.js +1 -1
  28. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts.map +1 -1
  29. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.js +1 -1
  30. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts.map +1 -1
  31. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.js +1 -1
  32. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts.map +1 -1
  33. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.js +1 -1
  34. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts.map +1 -1
  35. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.js +2 -2
  36. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts.map +1 -1
  37. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.js +2 -2
  38. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts.map +1 -1
  39. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.js +1 -1
  40. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts.map +1 -1
  41. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.js +1 -1
  42. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/posix/join.d.ts.map +1 -1
  43. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.js +1 -1
  44. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/posix/normalize.d.ts.map +1 -1
  45. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.js +1 -1
  46. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts.map +1 -1
  47. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.js +1 -1
  48. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/from_file_url.d.ts.map +1 -1
  49. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.js +1 -1
  50. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/join.d.ts.map +1 -1
  51. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.js +1 -1
  52. package/{script/deps/jsr.io/@std/path/1.1.4 → esm/deps/jsr.io/@std/path/1.1.6}/windows/normalize.d.ts.map +1 -1
  53. package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.js +1 -1
  54. package/esm/dsl/CodeFileBase.d.ts +57 -24
  55. package/esm/dsl/CodeFileBase.d.ts.map +1 -1
  56. package/esm/dsl/CodeFileBase.js +35 -53
  57. package/esm/dsl/FileBase.d.ts +21 -25
  58. package/esm/dsl/FileBase.d.ts.map +1 -1
  59. package/esm/dsl/FileBase.js +20 -29
  60. package/esm/dsl/GeneratorKeys.d.ts +19 -19
  61. package/esm/dsl/GeneratorKeys.d.ts.map +1 -1
  62. package/esm/dsl/GeneratorKeys.js +6 -5
  63. package/esm/dsl/IdentifierBase.d.ts +19 -5
  64. package/esm/dsl/IdentifierBase.d.ts.map +1 -1
  65. package/esm/dsl/IdentifierBase.js +21 -5
  66. package/esm/dsl/IdentifierType.d.ts +8 -14
  67. package/esm/dsl/IdentifierType.d.ts.map +1 -1
  68. package/esm/dsl/Lang.d.ts +18 -38
  69. package/esm/dsl/Lang.d.ts.map +1 -1
  70. package/esm/dsl/MarkdownFile.d.ts +55 -0
  71. package/esm/dsl/MarkdownFile.d.ts.map +1 -0
  72. package/esm/dsl/MarkdownFile.js +58 -0
  73. package/esm/dsl/model/ModelDriver.d.ts +3 -1
  74. package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
  75. package/esm/dsl/model/ModelDriver.js +6 -8
  76. package/esm/dsl/model/toModelEntry.d.ts +21 -17
  77. package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
  78. package/esm/dsl/model/toModelEntry.js +3 -27
  79. package/esm/dsl/model/toModelProjectionBase.d.ts +15 -15
  80. package/esm/dsl/model/toModelProjectionBase.d.ts.map +1 -1
  81. package/esm/dsl/model/types.d.ts +2 -52
  82. package/esm/dsl/model/types.d.ts.map +1 -1
  83. package/esm/dsl/operation/gql/GqlOperationDriver.d.ts +3 -1
  84. package/esm/dsl/operation/gql/GqlOperationDriver.d.ts.map +1 -1
  85. package/esm/dsl/operation/gql/GqlOperationDriver.js +12 -9
  86. package/esm/dsl/operation/gql/toGqlOperationEntry.d.ts +20 -15
  87. package/esm/dsl/operation/gql/toGqlOperationEntry.d.ts.map +1 -1
  88. package/esm/dsl/operation/gql/toGqlOperationEntry.js +3 -25
  89. package/esm/dsl/operation/gql/toGqlOperationProjectionBase.d.ts +11 -10
  90. package/esm/dsl/operation/gql/toGqlOperationProjectionBase.d.ts.map +1 -1
  91. package/esm/dsl/operation/gql/types.d.ts +1 -33
  92. package/esm/dsl/operation/gql/types.d.ts.map +1 -1
  93. package/esm/dsl/operation/oas/OasOperationDriver.d.ts +3 -1
  94. package/esm/dsl/operation/oas/OasOperationDriver.d.ts.map +1 -1
  95. package/esm/dsl/operation/oas/OasOperationDriver.js +12 -9
  96. package/esm/dsl/operation/oas/toOasOperationEntry.d.ts +21 -17
  97. package/esm/dsl/operation/oas/toOasOperationEntry.d.ts.map +1 -1
  98. package/esm/dsl/operation/oas/toOasOperationEntry.js +3 -32
  99. package/esm/dsl/operation/oas/toOasOperationProjectionBase.d.ts +11 -10
  100. package/esm/dsl/operation/oas/toOasOperationProjectionBase.d.ts.map +1 -1
  101. package/esm/dsl/operation/oas/types.d.ts +1 -43
  102. package/esm/dsl/operation/oas/types.d.ts.map +1 -1
  103. package/esm/dsl/webhook/WebhookDriver.d.ts +3 -1
  104. package/esm/dsl/webhook/WebhookDriver.d.ts.map +1 -1
  105. package/esm/dsl/webhook/WebhookDriver.js +12 -9
  106. package/esm/dsl/webhook/toWebhookEntry.d.ts +21 -16
  107. package/esm/dsl/webhook/toWebhookEntry.d.ts.map +1 -1
  108. package/esm/dsl/webhook/toWebhookEntry.js +3 -32
  109. package/esm/dsl/webhook/toWebhookProjectionBase.d.ts +11 -10
  110. package/esm/dsl/webhook/toWebhookProjectionBase.d.ts.map +1 -1
  111. package/esm/dsl/webhook/types.d.ts +1 -36
  112. package/esm/dsl/webhook/types.d.ts.map +1 -1
  113. package/esm/enrichments/toEnrichmentDescriptor.d.ts +72 -27
  114. package/esm/enrichments/toEnrichmentDescriptor.d.ts.map +1 -1
  115. package/esm/enrichments/toEnrichmentDescriptor.js +57 -31
  116. package/esm/enrichments/validateConfig.d.ts +1 -1
  117. package/esm/enrichments/validateConfig.js +2 -2
  118. package/esm/helpers/isImported.js +1 -1
  119. package/esm/helpers/toResolvedArtifactPath.js +1 -1
  120. package/esm/mod.d.ts +7 -1
  121. package/esm/mod.d.ts.map +1 -1
  122. package/esm/mod.js +7 -1
  123. package/esm/oas/array/Array.d.ts +2 -0
  124. package/esm/oas/array/Array.d.ts.map +1 -1
  125. package/esm/oas/array/Array.js +4 -0
  126. package/esm/oas/boolean/Boolean.d.ts +3 -1
  127. package/esm/oas/boolean/Boolean.d.ts.map +1 -1
  128. package/esm/oas/boolean/Boolean.js +4 -0
  129. package/esm/oas/components/Components.d.ts +5 -0
  130. package/esm/oas/components/Components.d.ts.map +1 -1
  131. package/esm/oas/components/Components.js +6 -1
  132. package/esm/oas/integer/Integer.d.ts +3 -1
  133. package/esm/oas/integer/Integer.d.ts.map +1 -1
  134. package/esm/oas/integer/Integer.js +4 -0
  135. package/esm/oas/link/Link.d.ts +68 -0
  136. package/esm/oas/link/Link.d.ts.map +1 -0
  137. package/esm/oas/link/Link.js +107 -0
  138. package/esm/oas/number/Number.d.ts +3 -1
  139. package/esm/oas/number/Number.d.ts.map +1 -1
  140. package/esm/oas/number/Number.js +4 -0
  141. package/esm/oas/object/Object.d.ts +9 -0
  142. package/esm/oas/object/Object.d.ts.map +1 -1
  143. package/esm/oas/object/Object.js +14 -0
  144. package/esm/oas/operation/Operation.d.ts +15 -0
  145. package/esm/oas/operation/Operation.d.ts.map +1 -1
  146. package/esm/oas/operation/Operation.js +33 -0
  147. package/esm/oas/ref/Ref.d.ts +23 -1
  148. package/esm/oas/ref/Ref.d.ts.map +1 -1
  149. package/esm/oas/ref/Ref.js +32 -0
  150. package/esm/oas/ref/ref-types.d.ts +18 -1
  151. package/esm/oas/ref/ref-types.d.ts.map +1 -1
  152. package/esm/oas/ref/ref-types.js +12 -1
  153. package/esm/oas/response/Response.d.ts +4 -0
  154. package/esm/oas/response/Response.d.ts.map +1 -1
  155. package/esm/oas/response/Response.js +7 -0
  156. package/esm/oas/schemaPath/traverseSchema.d.ts +31 -0
  157. package/esm/oas/schemaPath/traverseSchema.d.ts.map +1 -0
  158. package/esm/oas/schemaPath/traverseSchema.js +113 -0
  159. package/esm/oas/string/String.d.ts +3 -1
  160. package/esm/oas/string/String.d.ts.map +1 -1
  161. package/esm/oas/string/String.js +4 -0
  162. package/esm/oas/union/Union.d.ts +9 -0
  163. package/esm/oas/union/Union.d.ts.map +1 -1
  164. package/esm/oas/union/Union.js +14 -0
  165. package/esm/oas/unknown/Unknown.d.ts +3 -1
  166. package/esm/oas/unknown/Unknown.d.ts.map +1 -1
  167. package/esm/oas/unknown/Unknown.js +4 -0
  168. package/esm/parse/v3-0/components/toComponentsV3.d.ts.map +1 -1
  169. package/esm/parse/v3-0/components/toComponentsV3.js +3 -1
  170. package/esm/parse/v3-0/link/toLinksV3.d.ts +17 -0
  171. package/esm/parse/v3-0/link/toLinksV3.d.ts.map +1 -0
  172. package/esm/parse/v3-0/link/toLinksV3.js +40 -0
  173. package/esm/parse/v3-0/object/toObject.d.ts.map +1 -1
  174. package/esm/parse/v3-0/object/toObject.js +3 -1
  175. package/esm/parse/v3-0/response/toResponseV3.d.ts.map +1 -1
  176. package/esm/parse/v3-0/response/toResponseV3.js +4 -1
  177. package/esm/parse/v3-0/union/toUnion.d.ts.map +1 -1
  178. package/esm/parse/v3-0/union/toUnion.js +3 -1
  179. package/esm/parse/v3-1/components/toComponentsV3.d.ts.map +1 -1
  180. package/esm/parse/v3-1/components/toComponentsV3.js +3 -1
  181. package/esm/parse/v3-1/link/toLinksV3.d.ts +17 -0
  182. package/esm/parse/v3-1/link/toLinksV3.d.ts.map +1 -0
  183. package/esm/parse/v3-1/link/toLinksV3.js +40 -0
  184. package/esm/parse/v3-1/object/toObject.d.ts.map +1 -1
  185. package/esm/parse/v3-1/object/toObject.js +3 -1
  186. package/esm/parse/v3-1/response/toResponseV3.d.ts.map +1 -1
  187. package/esm/parse/v3-1/response/toResponseV3.js +4 -1
  188. package/esm/parse/v3-1/union/toUnion.d.ts.map +1 -1
  189. package/esm/parse/v3-1/union/toUnion.js +3 -1
  190. package/esm/run/toArtifacts.d.ts +8 -1
  191. package/esm/run/toArtifacts.d.ts.map +1 -1
  192. package/esm/run/toArtifacts.js +5 -5
  193. package/esm/run/toInspection.d.ts +8 -0
  194. package/esm/run/toInspection.d.ts.map +1 -0
  195. package/esm/run/toInspection.js +78 -0
  196. package/esm/types/Enrichments.d.ts +19 -8
  197. package/esm/types/Enrichments.d.ts.map +1 -1
  198. package/esm/types/Enrichments.js +4 -3
  199. package/esm/types/GeneratorType.d.ts +5 -5
  200. package/esm/types/GeneratorType.d.ts.map +1 -1
  201. package/esm/types/Manifest.d.ts +1 -2
  202. package/esm/types/Manifest.d.ts.map +1 -1
  203. package/esm/types/Manifest.js +1 -2
  204. package/esm/types/ModuleSelect.d.ts +81 -0
  205. package/esm/types/ModuleSelect.d.ts.map +1 -0
  206. package/esm/types/ModuleSelect.js +63 -0
  207. package/esm/types/Preview.d.ts +4 -27
  208. package/esm/types/Preview.d.ts.map +1 -1
  209. package/esm/types/Preview.js +4 -25
  210. package/esm/types/SchemaPath.d.ts +17 -0
  211. package/esm/types/SchemaPath.d.ts.map +1 -0
  212. package/esm/types/SchemaPath.js +9 -0
  213. package/esm/types/Settings.d.ts +8 -0
  214. package/esm/types/Settings.d.ts.map +1 -1
  215. package/esm/types/Settings.js +1 -0
  216. package/esm/types/SkmtcDocument.d.ts +1 -1
  217. package/esm/types/SupportedSubjects.d.ts +1 -1
  218. package/package.json +1 -1
  219. package/script/anchors/buildSidecar.js +1 -1
  220. package/script/anchors/postPass.d.ts +1 -1
  221. package/script/anchors/postPass.js +1 -1
  222. package/script/anchors/sidecar.d.ts +2 -2
  223. package/script/anchors/sidecar.js +1 -1
  224. package/script/context/CoreContext.d.ts +7 -1
  225. package/script/context/CoreContext.d.ts.map +1 -1
  226. package/script/context/CoreContext.js +17 -11
  227. package/script/context/GenerateContext.d.ts +25 -4
  228. package/script/context/GenerateContext.d.ts.map +1 -1
  229. package/script/context/GenerateContext.js +135 -70
  230. package/script/context/ParseIssue.d.ts +1 -1
  231. package/script/context/RenderContext.d.ts +2 -6
  232. package/script/context/RenderContext.d.ts.map +1 -1
  233. package/script/context/RenderContext.js +4 -14
  234. package/script/context/generateTypes.d.ts +35 -8
  235. package/script/context/generateTypes.d.ts.map +1 -1
  236. package/{esm/deps/jsr.io/@std/fs/1.0.23 → script/deps/jsr.io/@std/fs/1.0.24}/exists.d.ts.map +1 -1
  237. package/script/deps/jsr.io/@std/internal/1.0.14/_os.d.ts.map +1 -0
  238. package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.js +7 -5
  239. package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts.map +1 -1
  240. package/script/deps/jsr.io/@std/log/0.224.14/rotating_file_handler.js +1 -1
  241. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts.map +1 -1
  242. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.js +1 -1
  243. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts.map +1 -1
  244. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.js +1 -1
  245. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts.map +1 -1
  246. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.js +1 -1
  247. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts.map +1 -1
  248. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.js +1 -1
  249. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts.map +1 -1
  250. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.js +1 -1
  251. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts.map +1 -1
  252. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.js +2 -2
  253. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts.map +1 -1
  254. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.js +2 -2
  255. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts.map +1 -1
  256. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.js +1 -1
  257. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts.map +1 -1
  258. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.js +1 -1
  259. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/posix/join.d.ts.map +1 -1
  260. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.js +1 -1
  261. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/posix/normalize.d.ts.map +1 -1
  262. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.js +1 -1
  263. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts.map +1 -1
  264. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.js +1 -1
  265. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/from_file_url.d.ts.map +1 -1
  266. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.js +1 -1
  267. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/join.d.ts.map +1 -1
  268. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.js +1 -1
  269. package/{esm/deps/jsr.io/@std/path/1.1.4 → script/deps/jsr.io/@std/path/1.1.6}/windows/normalize.d.ts.map +1 -1
  270. package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.js +1 -1
  271. package/script/dsl/CodeFileBase.d.ts +57 -24
  272. package/script/dsl/CodeFileBase.d.ts.map +1 -1
  273. package/script/dsl/CodeFileBase.js +37 -54
  274. package/script/dsl/FileBase.d.ts +21 -25
  275. package/script/dsl/FileBase.d.ts.map +1 -1
  276. package/script/dsl/FileBase.js +20 -29
  277. package/script/dsl/GeneratorKeys.d.ts +19 -19
  278. package/script/dsl/GeneratorKeys.d.ts.map +1 -1
  279. package/script/dsl/GeneratorKeys.js +6 -5
  280. package/script/dsl/IdentifierBase.d.ts +19 -5
  281. package/script/dsl/IdentifierBase.d.ts.map +1 -1
  282. package/script/dsl/IdentifierBase.js +21 -5
  283. package/script/dsl/IdentifierType.d.ts +8 -14
  284. package/script/dsl/IdentifierType.d.ts.map +1 -1
  285. package/script/dsl/Lang.d.ts +18 -38
  286. package/script/dsl/Lang.d.ts.map +1 -1
  287. package/script/dsl/MarkdownFile.d.ts +55 -0
  288. package/script/dsl/MarkdownFile.d.ts.map +1 -0
  289. package/script/dsl/MarkdownFile.js +62 -0
  290. package/script/dsl/model/ModelDriver.d.ts +3 -1
  291. package/script/dsl/model/ModelDriver.d.ts.map +1 -1
  292. package/script/dsl/model/ModelDriver.js +6 -8
  293. package/script/dsl/model/toModelEntry.d.ts +21 -17
  294. package/script/dsl/model/toModelEntry.d.ts.map +1 -1
  295. package/script/dsl/model/toModelEntry.js +3 -63
  296. package/script/dsl/model/toModelProjectionBase.d.ts +15 -15
  297. package/script/dsl/model/toModelProjectionBase.d.ts.map +1 -1
  298. package/script/dsl/model/types.d.ts +2 -52
  299. package/script/dsl/model/types.d.ts.map +1 -1
  300. package/script/dsl/operation/gql/GqlOperationDriver.d.ts +3 -1
  301. package/script/dsl/operation/gql/GqlOperationDriver.d.ts.map +1 -1
  302. package/script/dsl/operation/gql/GqlOperationDriver.js +12 -9
  303. package/script/dsl/operation/gql/toGqlOperationEntry.d.ts +20 -15
  304. package/script/dsl/operation/gql/toGqlOperationEntry.d.ts.map +1 -1
  305. package/script/dsl/operation/gql/toGqlOperationEntry.js +3 -61
  306. package/script/dsl/operation/gql/toGqlOperationProjectionBase.d.ts +11 -10
  307. package/script/dsl/operation/gql/toGqlOperationProjectionBase.d.ts.map +1 -1
  308. package/script/dsl/operation/gql/types.d.ts +1 -33
  309. package/script/dsl/operation/gql/types.d.ts.map +1 -1
  310. package/script/dsl/operation/oas/OasOperationDriver.d.ts +3 -1
  311. package/script/dsl/operation/oas/OasOperationDriver.d.ts.map +1 -1
  312. package/script/dsl/operation/oas/OasOperationDriver.js +12 -9
  313. package/script/dsl/operation/oas/toOasOperationEntry.d.ts +21 -17
  314. package/script/dsl/operation/oas/toOasOperationEntry.d.ts.map +1 -1
  315. package/script/dsl/operation/oas/toOasOperationEntry.js +3 -68
  316. package/script/dsl/operation/oas/toOasOperationProjectionBase.d.ts +11 -10
  317. package/script/dsl/operation/oas/toOasOperationProjectionBase.d.ts.map +1 -1
  318. package/script/dsl/operation/oas/types.d.ts +1 -43
  319. package/script/dsl/operation/oas/types.d.ts.map +1 -1
  320. package/script/dsl/webhook/WebhookDriver.d.ts +3 -1
  321. package/script/dsl/webhook/WebhookDriver.d.ts.map +1 -1
  322. package/script/dsl/webhook/WebhookDriver.js +12 -9
  323. package/script/dsl/webhook/toWebhookEntry.d.ts +21 -16
  324. package/script/dsl/webhook/toWebhookEntry.d.ts.map +1 -1
  325. package/script/dsl/webhook/toWebhookEntry.js +3 -68
  326. package/script/dsl/webhook/toWebhookProjectionBase.d.ts +11 -10
  327. package/script/dsl/webhook/toWebhookProjectionBase.d.ts.map +1 -1
  328. package/script/dsl/webhook/types.d.ts +1 -36
  329. package/script/dsl/webhook/types.d.ts.map +1 -1
  330. package/script/enrichments/toEnrichmentDescriptor.d.ts +72 -27
  331. package/script/enrichments/toEnrichmentDescriptor.d.ts.map +1 -1
  332. package/script/enrichments/toEnrichmentDescriptor.js +57 -31
  333. package/script/enrichments/validateConfig.d.ts +1 -1
  334. package/script/enrichments/validateConfig.js +2 -2
  335. package/script/helpers/isImported.js +1 -1
  336. package/script/helpers/toResolvedArtifactPath.js +1 -1
  337. package/script/mod.d.ts +7 -1
  338. package/script/mod.d.ts.map +1 -1
  339. package/script/mod.js +7 -1
  340. package/script/oas/array/Array.d.ts +2 -0
  341. package/script/oas/array/Array.d.ts.map +1 -1
  342. package/script/oas/array/Array.js +4 -0
  343. package/script/oas/boolean/Boolean.d.ts +3 -1
  344. package/script/oas/boolean/Boolean.d.ts.map +1 -1
  345. package/script/oas/boolean/Boolean.js +4 -0
  346. package/script/oas/components/Components.d.ts +5 -0
  347. package/script/oas/components/Components.d.ts.map +1 -1
  348. package/script/oas/components/Components.js +6 -1
  349. package/script/oas/integer/Integer.d.ts +3 -1
  350. package/script/oas/integer/Integer.d.ts.map +1 -1
  351. package/script/oas/integer/Integer.js +4 -0
  352. package/script/oas/link/Link.d.ts +68 -0
  353. package/script/oas/link/Link.d.ts.map +1 -0
  354. package/script/oas/link/Link.js +111 -0
  355. package/script/oas/number/Number.d.ts +3 -1
  356. package/script/oas/number/Number.d.ts.map +1 -1
  357. package/script/oas/number/Number.js +4 -0
  358. package/script/oas/object/Object.d.ts +9 -0
  359. package/script/oas/object/Object.d.ts.map +1 -1
  360. package/script/oas/object/Object.js +14 -0
  361. package/script/oas/operation/Operation.d.ts +15 -0
  362. package/script/oas/operation/Operation.d.ts.map +1 -1
  363. package/script/oas/operation/Operation.js +33 -0
  364. package/script/oas/ref/Ref.d.ts +23 -1
  365. package/script/oas/ref/Ref.d.ts.map +1 -1
  366. package/script/oas/ref/Ref.js +32 -0
  367. package/script/oas/ref/ref-types.d.ts +18 -1
  368. package/script/oas/ref/ref-types.d.ts.map +1 -1
  369. package/script/oas/ref/ref-types.js +13 -2
  370. package/script/oas/response/Response.d.ts +4 -0
  371. package/script/oas/response/Response.d.ts.map +1 -1
  372. package/script/oas/response/Response.js +7 -0
  373. package/script/oas/schemaPath/traverseSchema.d.ts +31 -0
  374. package/script/oas/schemaPath/traverseSchema.d.ts.map +1 -0
  375. package/script/oas/schemaPath/traverseSchema.js +117 -0
  376. package/script/oas/string/String.d.ts +3 -1
  377. package/script/oas/string/String.d.ts.map +1 -1
  378. package/script/oas/string/String.js +4 -0
  379. package/script/oas/union/Union.d.ts +9 -0
  380. package/script/oas/union/Union.d.ts.map +1 -1
  381. package/script/oas/union/Union.js +14 -0
  382. package/script/oas/unknown/Unknown.d.ts +3 -1
  383. package/script/oas/unknown/Unknown.d.ts.map +1 -1
  384. package/script/oas/unknown/Unknown.js +4 -0
  385. package/script/parse/v3-0/components/toComponentsV3.d.ts.map +1 -1
  386. package/script/parse/v3-0/components/toComponentsV3.js +3 -1
  387. package/script/parse/v3-0/link/toLinksV3.d.ts +17 -0
  388. package/script/parse/v3-0/link/toLinksV3.d.ts.map +1 -0
  389. package/script/parse/v3-0/link/toLinksV3.js +44 -0
  390. package/script/parse/v3-0/object/toObject.d.ts.map +1 -1
  391. package/script/parse/v3-0/object/toObject.js +3 -1
  392. package/script/parse/v3-0/response/toResponseV3.d.ts.map +1 -1
  393. package/script/parse/v3-0/response/toResponseV3.js +4 -1
  394. package/script/parse/v3-0/union/toUnion.d.ts.map +1 -1
  395. package/script/parse/v3-0/union/toUnion.js +3 -1
  396. package/script/parse/v3-1/components/toComponentsV3.d.ts.map +1 -1
  397. package/script/parse/v3-1/components/toComponentsV3.js +3 -1
  398. package/script/parse/v3-1/link/toLinksV3.d.ts +17 -0
  399. package/script/parse/v3-1/link/toLinksV3.d.ts.map +1 -0
  400. package/script/parse/v3-1/link/toLinksV3.js +44 -0
  401. package/script/parse/v3-1/object/toObject.d.ts.map +1 -1
  402. package/script/parse/v3-1/object/toObject.js +3 -1
  403. package/script/parse/v3-1/response/toResponseV3.d.ts.map +1 -1
  404. package/script/parse/v3-1/response/toResponseV3.js +4 -1
  405. package/script/parse/v3-1/union/toUnion.d.ts.map +1 -1
  406. package/script/parse/v3-1/union/toUnion.js +3 -1
  407. package/script/run/toArtifacts.d.ts +8 -1
  408. package/script/run/toArtifacts.d.ts.map +1 -1
  409. package/script/run/toArtifacts.js +5 -5
  410. package/script/run/toInspection.d.ts +8 -0
  411. package/script/run/toInspection.d.ts.map +1 -0
  412. package/script/run/toInspection.js +82 -0
  413. package/script/types/Enrichments.d.ts +19 -8
  414. package/script/types/Enrichments.d.ts.map +1 -1
  415. package/script/types/Enrichments.js +5 -4
  416. package/script/types/GeneratorType.d.ts +5 -5
  417. package/script/types/GeneratorType.d.ts.map +1 -1
  418. package/script/types/Manifest.d.ts +1 -2
  419. package/script/types/Manifest.d.ts.map +1 -1
  420. package/script/types/Manifest.js +0 -1
  421. package/script/types/ModuleSelect.d.ts +81 -0
  422. package/script/types/ModuleSelect.d.ts.map +1 -0
  423. package/script/types/ModuleSelect.js +101 -0
  424. package/script/types/Preview.d.ts +4 -27
  425. package/script/types/Preview.d.ts.map +1 -1
  426. package/script/types/Preview.js +5 -26
  427. package/script/types/SchemaPath.d.ts +17 -0
  428. package/script/types/SchemaPath.d.ts.map +1 -0
  429. package/script/types/{AccessorPath.js → SchemaPath.js} +7 -7
  430. package/script/types/Settings.d.ts +8 -0
  431. package/script/types/Settings.d.ts.map +1 -1
  432. package/script/types/Settings.js +1 -0
  433. package/script/types/SkmtcDocument.d.ts +1 -1
  434. package/script/types/SupportedSubjects.d.ts +1 -1
  435. package/esm/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +0 -1
  436. package/esm/deps/jsr.io/@std/internal/1.0.13/_os.js +0 -12
  437. package/esm/types/AccessorPath.d.ts +0 -17
  438. package/esm/types/AccessorPath.d.ts.map +0 -1
  439. package/esm/types/AccessorPath.js +0 -9
  440. package/script/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +0 -1
  441. package/script/types/AccessorPath.d.ts +0 -17
  442. package/script/types/AccessorPath.d.ts.map +0 -1
  443. /package/esm/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.d.ts +0 -0
  444. /package/esm/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.js +0 -0
  445. /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.d.ts +0 -0
  446. /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts +0 -0
  447. /package/esm/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.js +0 -0
  448. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts +0 -0
  449. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts +0 -0
  450. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts +0 -0
  451. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts +0 -0
  452. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts +0 -0
  453. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts +0 -0
  454. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts +0 -0
  455. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts +0 -0
  456. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts +0 -0
  457. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.d.ts +0 -0
  458. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.d.ts +0 -0
  459. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts +0 -0
  460. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.d.ts +0 -0
  461. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.d.ts +0 -0
  462. /package/esm/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.d.ts +0 -0
  463. /package/script/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.d.ts +0 -0
  464. /package/script/deps/jsr.io/@std/fs/{1.0.23 → 1.0.24}/exists.js +0 -0
  465. /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/_os.d.ts +0 -0
  466. /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.d.ts +0 -0
  467. /package/script/deps/jsr.io/@std/internal/{1.0.13 → 1.0.14}/os.js +0 -0
  468. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/assert_path.d.ts +0 -0
  469. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/constants.d.ts +0 -0
  470. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/from_file_url.d.ts +0 -0
  471. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize.d.ts +0 -0
  472. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/_common/normalize_string.d.ts +0 -0
  473. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/join.d.ts +0 -0
  474. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/normalize.d.ts +0 -0
  475. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/_util.d.ts +0 -0
  476. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/from_file_url.d.ts +0 -0
  477. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/join.d.ts +0 -0
  478. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/posix/normalize.d.ts +0 -0
  479. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/_util.d.ts +0 -0
  480. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/from_file_url.d.ts +0 -0
  481. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/join.d.ts +0 -0
  482. /package/script/deps/jsr.io/@std/path/{1.1.4 → 1.1.6}/windows/normalize.d.ts +0 -0
@@ -14,6 +14,7 @@ var _OasRef_instances, _OasRef_fields, _OasRef_document, _OasRef_resolveOasOnce,
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.OasRef = void 0;
16
16
  require("../../_dnt.polyfills.js");
17
+ const traverseSchema_js_1 = require("../schemaPath/traverseSchema.js");
17
18
  const refFns_js_1 = require("../../helpers/refFns.js");
18
19
  const OasBase_js_1 = require("../../types/OasBase.js");
19
20
  const MAX_LOOKUPS = 10;
@@ -36,6 +37,8 @@ function refTypeToPluralPath(refType) {
36
37
  return 'headers';
37
38
  case 'securityScheme':
38
39
  return 'securitySchemes';
40
+ case 'link':
41
+ return 'links';
39
42
  default: {
40
43
  const _exhaustive = refType;
41
44
  throw new Error(`Unhandled ref type: ${_exhaustive}`);
@@ -215,6 +218,33 @@ class OasRef extends OasBase_js_1.OasBase {
215
218
  toRefName() {
216
219
  return (0, refFns_js_1.toRefName)(__classPrivateFieldGet(this, _OasRef_fields, "f").$ref);
217
220
  }
221
+ /**
222
+ * Narrows this reference to a schema reference.
223
+ *
224
+ * @returns True when this reference points at a schema component.
225
+ */
226
+ isSchemaRef() {
227
+ return this.refType === 'schema';
228
+ }
229
+ /**
230
+ * Navigate an {@link SchemaPath} starting from this reference, resolving it
231
+ * to descend through. See {@link traverseSchema}.
232
+ *
233
+ * Available on every `OasRef` so `.traverse()` works on the common
234
+ * `OasSchema | OasRef<'schema'>` value (an object property, array `items`).
235
+ * Schema paths only describe schemas for now, so it throws for non-schema
236
+ * refs (response/parameter/…); {@link isSchemaRef} narrows `this`, keeping the
237
+ * delegation cast-free.
238
+ *
239
+ * @returns The schema at the path (may be an unresolved `$ref`).
240
+ * @throws Error when called on a non-schema ref.
241
+ */
242
+ traverse(path) {
243
+ if (!this.isSchemaRef()) {
244
+ throw new Error(`Schema path traversal is not yet supported for "${this.refType}" refs (only schema refs)`);
245
+ }
246
+ return (0, traverseSchema_js_1.traverseSchema)(this, path);
247
+ }
218
248
  get $ref() {
219
249
  return __classPrivateFieldGet(this, _OasRef_fields, "f").$ref;
220
250
  }
@@ -273,6 +303,8 @@ _OasRef_fields = new WeakMap(), _OasRef_document = new WeakMap(), _OasRef_instan
273
303
  return c?.headers?.[refName];
274
304
  case 'securityScheme':
275
305
  return c?.securitySchemes?.[refName];
306
+ case 'link':
307
+ return c?.links?.[refName];
276
308
  default: {
277
309
  const _exhaustive = refType;
278
310
  throw new Error(`Unhandled ref type: ${_exhaustive}`);
@@ -131,13 +131,30 @@ export type OasSecuritySchemeRefData = {
131
131
  * Valibot schema for validating security scheme reference data.
132
132
  */
133
133
  export declare const oasSecuritySchemeRefData: v.GenericSchema<OasSecuritySchemeRefData>;
134
+ /**
135
+ * Data type for OpenAPI link reference objects.
136
+ *
137
+ * Represents $ref references to link objects in OpenAPI documents,
138
+ * allowing link definitions to be reused across responses.
139
+ */
140
+ export type OasLinkRefData = {
141
+ oasType: 'ref';
142
+ refType: 'link';
143
+ $ref: string;
144
+ summary?: string;
145
+ description?: string;
146
+ };
147
+ /**
148
+ * Valibot schema for validating link reference data.
149
+ */
150
+ export declare const oasLinkRefData: v.GenericSchema<OasLinkRefData>;
134
151
  /**
135
152
  * Union type representing all possible OpenAPI reference data types.
136
153
  *
137
154
  * Encompasses all supported reference types in the OpenAPI specification,
138
155
  * providing type-safe handling of references to various component types.
139
156
  */
140
- export type OasRefData = OasSchemaRefData | OasResponseRefData | OasParameterRefData | OasExampleRefData | OasRequestBodyRefData | OasHeaderRefData | OasSecuritySchemeRefData;
157
+ export type OasRefData = OasSchemaRefData | OasResponseRefData | OasParameterRefData | OasExampleRefData | OasRequestBodyRefData | OasHeaderRefData | OasSecuritySchemeRefData | OasLinkRefData;
141
158
  /**
142
159
  * Valibot schema for validating any OpenAPI reference data.
143
160
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ref-types.d.ts","sourceRoot":"","sources":["../../../src/oas/ref/ref-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref-types.d.ts","sourceRoot":"","sources":["../../../src/oas/ref/ref-types.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.oasRefData = exports.oasSecuritySchemeRefData = exports.oasHeaderRefData = exports.oasRequestBodyRefData = exports.oasExampleRefData = exports.oasParameterRefData = exports.oasResponseRefData = exports.oasSchemaRefData = void 0;
36
+ exports.oasRefData = exports.oasLinkRefData = exports.oasSecuritySchemeRefData = exports.oasHeaderRefData = exports.oasRequestBodyRefData = exports.oasExampleRefData = exports.oasParameterRefData = exports.oasResponseRefData = exports.oasSchemaRefData = void 0;
37
37
  const markdown_types_js_1 = require("../markdown/markdown-types.js");
38
38
  const v = __importStar(require("valibot"));
39
39
  /**
@@ -104,6 +104,16 @@ exports.oasSecuritySchemeRefData = v.object({
104
104
  refType: v.literal('securityScheme'),
105
105
  $ref: v.string()
106
106
  });
107
+ /**
108
+ * Valibot schema for validating link reference data.
109
+ */
110
+ exports.oasLinkRefData = v.object({
111
+ oasType: v.literal('ref'),
112
+ refType: v.literal('link'),
113
+ $ref: v.string(),
114
+ summary: v.optional(v.string()),
115
+ description: v.optional(markdown_types_js_1.markdown)
116
+ });
107
117
  // OasPathItemRefData
108
118
  /**
109
119
  * Valibot schema for validating any OpenAPI reference data.
@@ -118,6 +128,7 @@ exports.oasRefData = v.union([
118
128
  exports.oasExampleRefData,
119
129
  exports.oasRequestBodyRefData,
120
130
  exports.oasHeaderRefData,
121
- exports.oasSecuritySchemeRefData
131
+ exports.oasSecuritySchemeRefData,
132
+ exports.oasLinkRefData
122
133
  // oasPathItemRefData
123
134
  ]);
@@ -1,5 +1,6 @@
1
1
  import "../../_dnt.polyfills.js";
2
2
  import type { OasHeader } from '../header/Header.js';
3
+ import type { OasLink } from '../link/Link.js';
3
4
  import type { OasMediaType } from '../mediaType/MediaType.js';
4
5
  import type { OasRef } from '../ref/Ref.js';
5
6
  import type { OasSchema } from '../schema/Schema.js';
@@ -15,6 +16,8 @@ export type ResponseFields = {
15
16
  description?: string | undefined;
16
17
  /** Response headers that can be sent */
17
18
  headers?: Record<string, OasHeader | OasRef<'header'>> | undefined;
19
+ /** Design-time links from this response to other operations */
20
+ links?: Record<string, OasLink | OasRef<'link'>> | undefined;
18
21
  /** Response content for different media types */
19
22
  content?: Record<string, OasMediaType> | undefined;
20
23
  /** Custom extension fields (x-* properties) */
@@ -207,6 +210,7 @@ export declare class OasResponse extends OasBase {
207
210
  oasType: 'response';
208
211
  description: string | undefined;
209
212
  headers: Record<string, OasHeader | OasRef<'header'>> | undefined;
213
+ links: Record<string, OasLink | OasRef<'link'>> | undefined;
210
214
  content: Record<string, OasMediaType> | undefined;
211
215
  extensionFields: Record<string, unknown> | undefined;
212
216
  constructor(fields: ResponseFields, context?: ParseContextType);
@@ -1 +1 @@
1
- {"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../../src/oas/response/Response.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IAClD,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsLG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC,OAAO,EAAE,UAAU,CAAa;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IACjE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IACjD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBACxC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAQ9D,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC;IAInC,OAAO,IAAI,WAAW;IAItB,WAAW,IAAI,WAAW;IAI1B,QAAQ,CAAC,SAAS,GAAE,MAA2B,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAI1F,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,cAAc;CAqBrE"}
1
+ {"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../../src/oas/response/Response.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAC5D,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IAClD,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsLG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC,OAAO,EAAE,UAAU,CAAa;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IACjE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAAA;IACjD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;gBACxC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAS9D,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC;IAInC,OAAO,IAAI,WAAW;IAItB,WAAW,IAAI,WAAW;IAI1B,QAAQ,CAAC,SAAS,GAAE,MAA2B,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAI1F,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,cAAc;CAqBrE"}
@@ -207,6 +207,12 @@ class OasResponse extends OasBase_js_1.OasBase {
207
207
  writable: true,
208
208
  value: void 0
209
209
  });
210
+ Object.defineProperty(this, "links", {
211
+ enumerable: true,
212
+ configurable: true,
213
+ writable: true,
214
+ value: void 0
215
+ });
210
216
  Object.defineProperty(this, "content", {
211
217
  enumerable: true,
212
218
  configurable: true,
@@ -221,6 +227,7 @@ class OasResponse extends OasBase_js_1.OasBase {
221
227
  });
222
228
  this.description = fields.description;
223
229
  this.headers = fields.headers;
230
+ this.links = fields.links;
224
231
  this.content = fields.content;
225
232
  this.extensionFields = fields.extensionFields;
226
233
  }
@@ -0,0 +1,31 @@
1
+ import type { OasSchema } from '../schema/Schema.js';
2
+ import type { OasRef } from '../ref/Ref.js';
3
+ import type { SchemaPath } from '../../types/SchemaPath.js';
4
+ /**
5
+ * Walk an {@link SchemaPath} into a schema, resolving `$ref`s as it descends.
6
+ *
7
+ * The shared engine behind `OasOperation.traverse` and every `OasSchema`
8
+ * variant's `traverse`. A ref — or a `OasSchema | OasRef<'schema'>` union value —
9
+ * is passed straight to this function, which resolves refs itself, so `OasRef`
10
+ * needs no `traverse` method of its own. Navigation rules per segment, keyed by
11
+ * the schema currently under the cursor:
12
+ *
13
+ * - **empty path** → returns `value` unchanged (it may still be a ref — the
14
+ * final value is never force-resolved, so a target's refName survives).
15
+ * - **object** → the segment is a property name; descends into
16
+ * `properties[segment]`.
17
+ * - **array** → the segment must be the literal `'items'`; descends into the
18
+ * element schema.
19
+ * - **union** → the segment selects a member ({@link selectUnionMember}):
20
+ * `'$Circle'` by refName, `'{type:circle}'` by discriminator, `'[0]'` by index.
21
+ *
22
+ * A ref is resolved only when the path needs to descend *through* it. Anything
23
+ * the path cannot navigate throws a descriptive, segment-named error: a missing
24
+ * property, a {@link import('@/dsl/CustomValue.ts').CustomValue} property, a
25
+ * non-`'items'` segment on an array, a union member that doesn't match, or
26
+ * descending into a scalar.
27
+ *
28
+ * @throws Error when a segment cannot be navigated.
29
+ */
30
+ export declare const traverseSchema: (value: OasSchema | OasRef<"schema">, path: SchemaPath) => OasSchema | OasRef<"schema">;
31
+ //# sourceMappingURL=traverseSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverseSchema.d.ts","sourceRoot":"","sources":["../../../src/oas/schemaPath/traverseSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,EACnC,MAAM,UAAU,KACf,SAAS,GAAG,MAAM,CAAC,QAAQ,CA+C7B,CAAA"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.traverseSchema = void 0;
4
+ const refFns_js_1 = require("../../helpers/refFns.js");
5
+ /**
6
+ * Walk an {@link SchemaPath} into a schema, resolving `$ref`s as it descends.
7
+ *
8
+ * The shared engine behind `OasOperation.traverse` and every `OasSchema`
9
+ * variant's `traverse`. A ref — or a `OasSchema | OasRef<'schema'>` union value —
10
+ * is passed straight to this function, which resolves refs itself, so `OasRef`
11
+ * needs no `traverse` method of its own. Navigation rules per segment, keyed by
12
+ * the schema currently under the cursor:
13
+ *
14
+ * - **empty path** → returns `value` unchanged (it may still be a ref — the
15
+ * final value is never force-resolved, so a target's refName survives).
16
+ * - **object** → the segment is a property name; descends into
17
+ * `properties[segment]`.
18
+ * - **array** → the segment must be the literal `'items'`; descends into the
19
+ * element schema.
20
+ * - **union** → the segment selects a member ({@link selectUnionMember}):
21
+ * `'$Circle'` by refName, `'{type:circle}'` by discriminator, `'[0]'` by index.
22
+ *
23
+ * A ref is resolved only when the path needs to descend *through* it. Anything
24
+ * the path cannot navigate throws a descriptive, segment-named error: a missing
25
+ * property, a {@link import('@/dsl/CustomValue.ts').CustomValue} property, a
26
+ * non-`'items'` segment on an array, a union member that doesn't match, or
27
+ * descending into a scalar.
28
+ *
29
+ * @throws Error when a segment cannot be navigated.
30
+ */
31
+ const traverseSchema = (value, path) => {
32
+ if (path.length === 0) {
33
+ return value;
34
+ }
35
+ // Resolve refs only to descend through them; the final value (path empty,
36
+ // above) is returned as-is.
37
+ const schema = value.isRef() ? value.resolve() : value;
38
+ const [segment, ...rest] = path;
39
+ switch (schema.type) {
40
+ case 'object': {
41
+ const property = schema.properties?.[segment];
42
+ if (!property) {
43
+ throw new Error(`Schema path segment "${segment}" is not a property of the object (available: ${Object.keys(schema.properties ?? {}).join(', ') || 'none'})`);
44
+ }
45
+ if (property.type === 'custom') {
46
+ throw new Error(`Schema path segment "${segment}" is a custom value and cannot be traversed`);
47
+ }
48
+ return (0, exports.traverseSchema)(property, rest);
49
+ }
50
+ case 'array': {
51
+ if (segment !== 'items') {
52
+ throw new Error(`Schema path segment "${segment}" cannot traverse an array; use "items" to descend into the element schema`);
53
+ }
54
+ return (0, exports.traverseSchema)(schema.items, rest);
55
+ }
56
+ case 'union': {
57
+ return (0, exports.traverseSchema)(selectUnionMember(schema, segment), rest);
58
+ }
59
+ default: {
60
+ throw new Error(`Schema path segment "${segment}" cannot traverse a "${schema.type}" schema`);
61
+ }
62
+ }
63
+ };
64
+ exports.traverseSchema = traverseSchema;
65
+ /**
66
+ * Pick one member of a union for an {@link SchemaPath} segment. The segment's
67
+ * notation chooses the branching strategy:
68
+ *
69
+ * - `'$Circle'` (`$`-prefixed) → by **member refName** (the schema identity).
70
+ * - `'{type:circle}'` (`{property:value}`) → by **discriminator** — the property
71
+ * must match the union's `discriminator.propertyName`, and the value is looked
72
+ * up in `discriminator.mapping` (or used as an implicit schema name).
73
+ * - `'[0]'` (bracketed) → by **member index** — the fallback for inline/anonymous
74
+ * members that have no refName.
75
+ *
76
+ * A plain (un-prefixed) segment is not a valid union selector.
77
+ *
78
+ * @throws Error when the segment is not a valid selector or selects no member.
79
+ */
80
+ const selectUnionMember = (union, segment) => {
81
+ const indexMatch = segment.match(/^\[(\d+)\]$/);
82
+ if (indexMatch) {
83
+ const index = Number(indexMatch[1]);
84
+ const member = union.members[index];
85
+ if (!member) {
86
+ throw new Error(`Schema path segment "${segment}" is out of range; the union has ${union.members.length} member(s)`);
87
+ }
88
+ return member;
89
+ }
90
+ const discriminatorMatch = segment.match(/^\{([^:]+):(.+)\}$/);
91
+ if (discriminatorMatch) {
92
+ const [, propertyName, value] = discriminatorMatch;
93
+ if (!union.discriminator) {
94
+ throw new Error(`Schema path segment "${segment}" needs a discriminated union, but this union has no discriminator`);
95
+ }
96
+ if (union.discriminator.propertyName !== propertyName) {
97
+ throw new Error(`Schema path segment "${segment}" discriminates on "${propertyName}", but this union's discriminator is "${union.discriminator.propertyName}"`);
98
+ }
99
+ const mapped = union.discriminator.mapping?.[value];
100
+ const targetRefName = mapped ? (0, refFns_js_1.toRefName)(mapped) : value;
101
+ const member = findMemberByRefName(union, targetRefName);
102
+ if (!member) {
103
+ throw new Error(`Schema path segment "${segment}" does not resolve to a union member via the discriminator`);
104
+ }
105
+ return member;
106
+ }
107
+ if (segment.startsWith('$')) {
108
+ const member = findMemberByRefName(union, segment.slice(1));
109
+ if (!member) {
110
+ const refNames = union.members.filter(member => member.isRef()).map(member => member.toRefName());
111
+ throw new Error(`Schema path segment "${segment}" does not match a union member refName (available: ${refNames.map(name => `$${name}`).join(', ') || 'none — use "[index]" for inline members'})`);
112
+ }
113
+ return member;
114
+ }
115
+ throw new Error(`Schema path segment "${segment}" is not a valid union selector; use "$RefName", "{discriminator:value}", or "[index]"`);
116
+ };
117
+ const findMemberByRefName = (union, refName) => union.members.find(member => member.isRef() && member.toRefName() === refName);
@@ -1,6 +1,7 @@
1
1
  import "../../_dnt.polyfills.js";
2
+ import type { SchemaPath } from '../../types/SchemaPath.js';
2
3
  import type { OasRef } from '../ref/Ref.js';
3
- import type { ToJsonSchemaOptions } from '../schema/Schema.js';
4
+ import type { OasSchema, ToJsonSchemaOptions } from '../schema/Schema.js';
4
5
  import type { OpenAPIV3 } from 'openapi-types';
5
6
  import { OasBase } from '../../types/OasBase.js';
6
7
  import type { ParseContextType } from '../../context/parseTypes.js';
@@ -103,6 +104,7 @@ export declare class OasString<Nullable extends boolean | undefined = boolean |
103
104
  deprecated: boolean | undefined;
104
105
  constructor(fields?: StringFields<Nullable>, context?: ParseContextType);
105
106
  isRef(): this is OasRef<'schema'>;
107
+ traverse(path: SchemaPath): OasSchema | OasRef<'schema'>;
106
108
  resolve(): OasString<Nullable>;
107
109
  resolveOnce(): OasString<Nullable>;
108
110
  toJsonSchema(options?: ToJsonSchemaOptions): OpenAPIV3.NonArraySchemaObject;
@@ -1 +1 @@
1
- {"version":3,"file":"String.d.ts","sourceRoot":"","sources":["../../../src/oas/string/String.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"String.d.ts","sourceRoot":"","sources":["../../../src/oas/string/String.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OasString = void 0;
4
4
  require("../../_dnt.polyfills.js");
5
+ const traverseSchema_js_1 = require("../schemaPath/traverseSchema.js");
5
6
  const OasBase_js_1 = require("../../types/OasBase.js");
6
7
  class OasString extends OasBase_js_1.OasBase {
7
8
  constructor(fields = {}, context) {
@@ -165,6 +166,9 @@ class OasString extends OasBase_js_1.OasBase {
165
166
  isRef() {
166
167
  return false;
167
168
  }
169
+ traverse(path) {
170
+ return (0, traverseSchema_js_1.traverseSchema)(this, path);
171
+ }
168
172
  resolve() {
169
173
  return this;
170
174
  }
@@ -1,4 +1,6 @@
1
+ import type { SchemaPath } from '../../types/SchemaPath.js';
1
2
  import type { OasDiscriminator } from '../discriminator/Discriminator.js';
3
+ import type { OasExternalDocs } from '../externalDocs/ExternalDocs.js';
2
4
  import type { OasSchema } from '../schema/Schema.js';
3
5
  import type { OasRef } from '../ref/Ref.js';
4
6
  import type { ToJsonSchemaOptions } from '../schema/Schema.js';
@@ -13,6 +15,8 @@ export type UnionFields = {
13
15
  title?: string;
14
16
  /** A description of the union type */
15
17
  description?: string;
18
+ /** External documentation for the union type */
19
+ externalDocs?: OasExternalDocs | undefined;
16
20
  /** Whether the union value can be null */
17
21
  nullable?: boolean;
18
22
  /** Discriminator object for creating tagged unions */
@@ -156,6 +160,10 @@ export declare class OasUnion extends OasBase {
156
160
  * A description of the union.
157
161
  */
158
162
  description: string | undefined;
163
+ /**
164
+ * External documentation for the union.
165
+ */
166
+ externalDocs: OasExternalDocs | undefined;
159
167
  /**
160
168
  * Indicates whether value can be null.
161
169
  */
@@ -180,6 +188,7 @@ export declare class OasUnion extends OasBase {
180
188
  default?: unknown;
181
189
  constructor(fields: UnionFields, context?: ParseContextType);
182
190
  isRef(): this is OasRef<'schema'>;
191
+ traverse(path: SchemaPath): OasSchema | OasRef<'schema'>;
183
192
  resolve(): OasUnion;
184
193
  resolveOnce(): OasUnion;
185
194
  toJsonSchema(options: ToJsonSchemaOptions): OpenAPIV3.NonArraySchemaObject;
@@ -1 +1 @@
1
- {"version":3,"file":"Union.d.ts","sourceRoot":"","sources":["../../../src/oas/union/Union.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sDAAsD;IACtD,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sDAAsD;IACtD,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC;;;OAGG;IACH,OAAO,EAAG,QAAQ,CAAS;IAC3B;;OAEG;IACH,IAAI,EAAG,OAAO,CAAS;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,aAAa,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C;;OAEG;IACH,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IAEzC,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;gBAEL,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAY3D,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,QAAQ;IAInB,WAAW,IAAI,QAAQ;IAIvB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,oBAAoB;CAU3E"}
1
+ {"version":3,"file":"Union.d.ts","sourceRoot":"","sources":["../../../src/oas/union/Union.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gDAAgD;IAChD,YAAY,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAC1C,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sDAAsD;IACtD,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sDAAsD;IACtD,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IACzC,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC;;;OAGG;IACH,OAAO,EAAG,QAAQ,CAAS;IAC3B;;OAEG;IACH,IAAI,EAAG,OAAO,CAAS;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAA;IACzC;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,aAAa,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAC3C;;OAEG;IACH,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IAEzC,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;gBAEL,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAa3D,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAIxD,OAAO,IAAI,QAAQ;IAInB,WAAW,IAAI,QAAQ;IAIvB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,oBAAoB;CAU3E"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OasUnion = void 0;
4
+ const traverseSchema_js_1 = require("../schemaPath/traverseSchema.js");
4
5
  const OasBase_js_1 = require("../../types/OasBase.js");
5
6
  /**
6
7
  * Represents a union type schema in the OpenAPI Specification.
@@ -154,6 +155,15 @@ class OasUnion extends OasBase_js_1.OasBase {
154
155
  writable: true,
155
156
  value: void 0
156
157
  });
158
+ /**
159
+ * External documentation for the union.
160
+ */
161
+ Object.defineProperty(this, "externalDocs", {
162
+ enumerable: true,
163
+ configurable: true,
164
+ writable: true,
165
+ value: void 0
166
+ });
157
167
  /**
158
168
  * Indicates whether value can be null.
159
169
  */
@@ -208,6 +218,7 @@ class OasUnion extends OasBase_js_1.OasBase {
208
218
  });
209
219
  this.title = fields.title;
210
220
  this.description = fields.description;
221
+ this.externalDocs = fields.externalDocs;
211
222
  this.nullable = fields.nullable;
212
223
  this.discriminator = fields.discriminator;
213
224
  this.members = fields.members;
@@ -218,6 +229,9 @@ class OasUnion extends OasBase_js_1.OasBase {
218
229
  isRef() {
219
230
  return false;
220
231
  }
232
+ traverse(path) {
233
+ return (0, traverseSchema_js_1.traverseSchema)(this, path);
234
+ }
221
235
  resolve() {
222
236
  return this;
223
237
  }
@@ -1,7 +1,8 @@
1
1
  import "../../_dnt.polyfills.js";
2
+ import type { SchemaPath } from '../../types/SchemaPath.js';
2
3
  import type { OpenAPIV3 } from 'openapi-types';
3
4
  import type { OasRef } from '../ref/Ref.js';
4
- import type { ToJsonSchemaOptions } from '../schema/Schema.js';
5
+ import type { OasSchema, ToJsonSchemaOptions } from '../schema/Schema.js';
5
6
  import { OasBase } from '../../types/OasBase.js';
6
7
  import type { ParseContextType } from '../../context/parseTypes.js';
7
8
  export type UnknownFields = {
@@ -44,6 +45,7 @@ export declare class OasUnknown extends OasBase {
44
45
  nullable: boolean | undefined;
45
46
  constructor(fields?: UnknownFields, context?: ParseContextType);
46
47
  isRef(): this is OasRef<'schema'>;
48
+ traverse(path: SchemaPath): OasSchema | OasRef<'schema'>;
47
49
  resolve(): OasUnknown;
48
50
  resolveOnce(): OasUnknown;
49
51
  toJsonSchema(_options?: ToJsonSchemaOptions): OpenAPIV3.NonArraySchemaObject | OpenAPIV3.ArraySchemaObject;
@@ -1 +1 @@
1
- {"version":3,"file":"Unknown.d.ts","sourceRoot":"","sources":["../../../src/oas/unknown/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,OAAO;IACrC;;;OAGG;IACH,OAAO,EAAG,QAAQ,CAAS;IAC3B;;OAEG;IACH,IAAI,EAAG,SAAS,CAAS;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,sCAAsC;IACtC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;gBACjB,MAAM,GAAE,aAAkB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IASlE,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;IAIzB,YAAY,CACV,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,SAAS,CAAC,oBAAoB,GAAG,SAAS,CAAC,iBAAiB;CAOhE"}
1
+ {"version":3,"file":"Unknown.d.ts","sourceRoot":"","sources":["../../../src/oas/unknown/Unknown.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,OAAO;IACrC;;;OAGG;IACH,OAAO,EAAG,QAAQ,CAAS;IAC3B;;OAEG;IACH,IAAI,EAAG,SAAS,CAAS;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACpD,sCAAsC;IACtC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;gBACjB,MAAM,GAAE,aAAkB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IASlE,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAIxD,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;IAIzB,YAAY,CACV,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,SAAS,CAAC,oBAAoB,GAAG,SAAS,CAAC,iBAAiB;CAOhE"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OasUnknown = void 0;
4
4
  require("../../_dnt.polyfills.js");
5
+ const traverseSchema_js_1 = require("../schemaPath/traverseSchema.js");
5
6
  const OasBase_js_1 = require("../../types/OasBase.js");
6
7
  /**
7
8
  * Object representing an unknown type in the OpenAPI Specification.
@@ -80,6 +81,9 @@ class OasUnknown extends OasBase_js_1.OasBase {
80
81
  isRef() {
81
82
  return false;
82
83
  }
84
+ traverse(path) {
85
+ return (0, traverseSchema_js_1.traverseSchema)(this, path);
86
+ }
83
87
  resolve() {
84
88
  return this;
85
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toComponentsV3.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/components/toComponentsV3.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAIrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAAA;IAClD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,qCAI5B,kBAAkB,KAAG,aAAa,GAAG,SAoDvC,CAAA"}
1
+ {"version":3,"file":"toComponentsV3.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/components/toComponentsV3.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAIrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAAA;IAClD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,qCAI5B,kBAAkB,KAAG,aAAa,GAAG,SAsDvC,CAAA"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toComponentsV3 = void 0;
4
4
  const toResponseV3_js_1 = require("../response/toResponseV3.js");
5
5
  const toHeadersV3_js_1 = require("../header/toHeadersV3.js");
6
+ const toLinksV3_js_1 = require("../link/toLinksV3.js");
6
7
  const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
7
8
  const toParameterV3_js_1 = require("../parameter/toParameterV3.js");
8
9
  const toExamplesV3_js_1 = require("../example/toExamplesV3.js");
@@ -14,7 +15,7 @@ const toComponentsV3 = ({ components, stackTrail, context }) => {
14
15
  if (!components) {
15
16
  return undefined;
16
17
  }
17
- const { schemas, responses, parameters, examples, requestBodies, headers, securitySchemes, ...skipped } = components;
18
+ const { schemas, responses, parameters, examples, requestBodies, headers, securitySchemes, links, ...skipped } = components;
18
19
  const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
19
20
  skipped,
20
21
  parent: components,
@@ -36,6 +37,7 @@ const toComponentsV3 = ({ components, stackTrail, context }) => {
36
37
  requestBodies: stackTrail.trace('requestBodies', st => (0, toRequestBodiesV3_js_1.toRequestBodiesV3)({ requestBodies, stackTrail: st, context })),
37
38
  headers: stackTrail.trace('headers', st => (0, toHeadersV3_js_1.toHeadersV3)({ headers, stackTrail: st, context })),
38
39
  securitySchemes: stackTrail.trace('securitySchemes', st => (0, toSecuritySchemes_js_1.toSecuritySchemesV3)({ securitySchemes, stackTrail: st, context })),
40
+ links: stackTrail.trace('links', st => (0, toLinksV3_js_1.toLinksV3)({ links, stackTrail: st, context })),
39
41
  extensionFields
40
42
  };
41
43
  return new Components_js_1.OasComponents(fields);
@@ -0,0 +1,17 @@
1
+ import type { ParseContextType } from '../../../context/parseTypes.js';
2
+ import type { OpenAPIV3 } from 'openapi-types';
3
+ import { OasLink } from '../../../oas/link/Link.js';
4
+ import type { OasRef } from '../../../oas/ref/Ref.js';
5
+ import type { StackTrail } from '../../../context/StackTrail.js';
6
+ export type ToLinksV3Args = {
7
+ links: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.LinkObject> | undefined;
8
+ stackTrail: StackTrail;
9
+ context: ParseContextType;
10
+ };
11
+ export declare const toLinksV3: ({ links, stackTrail, context }: ToLinksV3Args) => Record<string, OasLink | OasRef<"link">> | undefined;
12
+ export type ToLinkV3Args = {
13
+ link: OpenAPIV3.ReferenceObject | OpenAPIV3.LinkObject;
14
+ stackTrail: StackTrail;
15
+ context: ParseContextType;
16
+ };
17
+ //# sourceMappingURL=toLinksV3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toLinksV3.d.ts","sourceRoot":"","sources":["../../../../src/parse/v3-0/link/toLinksV3.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IACnF,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,gCAIvB,aAAa,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAY7D,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,UAAU,CAAA;IACtD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,gBAAgB,CAAA;CAC1B,CAAA"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toLinksV3 = void 0;
4
+ const toRefV31_js_1 = require("../ref/toRefV31.js");
5
+ const toServerV3_js_1 = require("../server/toServerV3.js");
6
+ const refFns_js_1 = require("../../../helpers/refFns.js");
7
+ const Link_js_1 = require("../../../oas/link/Link.js");
8
+ const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
9
+ const toLinksV3 = ({ links, stackTrail, context }) => {
10
+ if (!links) {
11
+ return undefined;
12
+ }
13
+ const output = {};
14
+ for (const [key, value] of Object.entries(links)) {
15
+ output[key] = stackTrail.trace(key, st => toLinkV3({ link: value, stackTrail: st, context }));
16
+ }
17
+ return output;
18
+ };
19
+ exports.toLinksV3 = toLinksV3;
20
+ const toLinkV3 = ({ link, stackTrail, context }) => {
21
+ if ((0, refFns_js_1.isRef)(link)) {
22
+ return (0, toRefV31_js_1.toRefV31)({ ref: link, refType: 'link', stackTrail, context });
23
+ }
24
+ const { operationRef, operationId, parameters, requestBody, description, server, ...skipped } = link;
25
+ const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
26
+ skipped,
27
+ parent: link,
28
+ context,
29
+ stackTrail,
30
+ parentType: 'link'
31
+ });
32
+ const fields = {
33
+ operationRef,
34
+ operationId,
35
+ parameters,
36
+ requestBody,
37
+ description,
38
+ server: server !== undefined
39
+ ? stackTrail.trace('server', st => (0, toServerV3_js_1.toServerV3)({ server, stackTrail: st, context }))
40
+ : undefined,
41
+ extensionFields
42
+ };
43
+ return new Link_js_1.OasLink(fields);
44
+ };