@stoplight/elements-core 9.0.25-beta-0.2 → 9.0.25-beta-0.3

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 (415) hide show
  1. package/package.json +14 -74
  2. package/.storybook/main.js +0 -6
  3. package/.storybook/manager.js +0 -1
  4. package/.storybook/preview.jsx +0 -50
  5. package/dist/LICENSE +0 -190
  6. package/dist/README.md +0 -46
  7. package/dist/package.json +0 -65
  8. package/jest.config.js +0 -10
  9. package/src/__fixtures__/articles/basic.md +0 -10
  10. package/src/__fixtures__/articles/kitchen-sink.md +0 -318
  11. package/src/__fixtures__/articles/long-page-heading.md +0 -955
  12. package/src/__fixtures__/articles/multiple-try-its.md +0 -54
  13. package/src/__fixtures__/articles/schema-with-refs.ts +0 -82
  14. package/src/__fixtures__/http-request.json +0 -11
  15. package/src/__fixtures__/models/model-with-no-examples.json +0 -15
  16. package/src/__fixtures__/models/model-with-one-example.json +0 -23
  17. package/src/__fixtures__/models/model-with-three-examples.json +0 -35
  18. package/src/__fixtures__/operations/application-octet-stream-post.ts +0 -39
  19. package/src/__fixtures__/operations/base64-file-upload.ts +0 -43
  20. package/src/__fixtures__/operations/big-response.ts +0 -4690
  21. package/src/__fixtures__/operations/bundled-parameter.ts +0 -128
  22. package/src/__fixtures__/operations/empty-response.ts +0 -15
  23. package/src/__fixtures__/operations/examples-request-body.ts +0 -135
  24. package/src/__fixtures__/operations/head-todos.ts +0 -49
  25. package/src/__fixtures__/operations/invalid-response-example.ts +0 -45
  26. package/src/__fixtures__/operations/multipart-formdata-post.ts +0 -61
  27. package/src/__fixtures__/operations/operation-minimal.ts +0 -11
  28. package/src/__fixtures__/operations/operation-parameters.ts +0 -337
  29. package/src/__fixtures__/operations/operation-with-examples.ts +0 -113
  30. package/src/__fixtures__/operations/operation-without-servers.ts +0 -16
  31. package/src/__fixtures__/operations/patch-todos.ts +0 -49
  32. package/src/__fixtures__/operations/put-todos.ts +0 -862
  33. package/src/__fixtures__/operations/referenced-body.ts +0 -62
  34. package/src/__fixtures__/operations/request-body-empty-schema.ts +0 -35
  35. package/src/__fixtures__/operations/request-body.ts +0 -62
  36. package/src/__fixtures__/operations/securedOperation.ts +0 -118
  37. package/src/__fixtures__/operations/security-basic.ts +0 -24
  38. package/src/__fixtures__/operations/security-bearer.ts +0 -25
  39. package/src/__fixtures__/operations/simple-get.ts +0 -17
  40. package/src/__fixtures__/operations/simple.ts +0 -103
  41. package/src/__fixtures__/operations/string-numeric-enums.ts +0 -32
  42. package/src/__fixtures__/operations/urlencoded-post-oneof.ts +0 -81
  43. package/src/__fixtures__/operations/urlencoded-post.ts +0 -54
  44. package/src/__fixtures__/operations/vendor-extensions.ts +0 -337
  45. package/src/__fixtures__/operations/with-url-variables.ts +0 -47
  46. package/src/__fixtures__/operations/x-code-samples.ts +0 -348
  47. package/src/__fixtures__/schemas/circular.ts +0 -1906
  48. package/src/__fixtures__/schemas/contact.json +0 -293
  49. package/src/__fixtures__/schemas/media-entry.json +0 -69
  50. package/src/__fixtures__/schemas/simple.json +0 -27
  51. package/src/__fixtures__/schemas/todo-full.v1.json +0 -35
  52. package/src/__fixtures__/schemas/todo-partial.v1.json +0 -14
  53. package/src/__fixtures__/schemas/user.v1.json +0 -17
  54. package/src/__fixtures__/security-schemes/index.ts +0 -38
  55. package/src/__fixtures__/services/petstore.ts +0 -167
  56. package/src/__fixtures__/services/with-unnamed-servers.ts +0 -38
  57. package/src/__fixtures__/services/with-url-variables.ts +0 -83
  58. package/src/__fixtures__/services/without-origin.ts +0 -20
  59. package/src/__fixtures__/table-of-contents/nested.ts +0 -44
  60. package/src/__fixtures__/table-of-contents/studio-template.ts +0 -100
  61. package/src/__fixtures__/table-of-contents/studio.ts +0 -559
  62. package/src/components/Docs/Article/Article.spec.tsx +0 -38
  63. package/src/components/Docs/Article/Article.stories.tsx +0 -17
  64. package/src/components/Docs/Article/index.tsx +0 -38
  65. package/src/components/Docs/Docs.stories.tsx +0 -33
  66. package/src/components/Docs/Docs.tsx +0 -231
  67. package/src/components/Docs/HttpOperation/Badges.tsx +0 -49
  68. package/src/components/Docs/HttpOperation/Body.tsx +0 -79
  69. package/src/components/Docs/HttpOperation/Callbacks.tsx +0 -89
  70. package/src/components/Docs/HttpOperation/HttpOperation.spec.tsx +0 -787
  71. package/src/components/Docs/HttpOperation/HttpOperation.stories.ts +0 -14
  72. package/src/components/Docs/HttpOperation/HttpOperation.tsx +0 -255
  73. package/src/components/Docs/HttpOperation/Parameters.spec.tsx +0 -101
  74. package/src/components/Docs/HttpOperation/Parameters.tsx +0 -118
  75. package/src/components/Docs/HttpOperation/Request.tsx +0 -140
  76. package/src/components/Docs/HttpOperation/Responses.tsx +0 -247
  77. package/src/components/Docs/HttpOperation/index.ts +0 -1
  78. package/src/components/Docs/HttpService/AdditionalInfo.stories.ts +0 -48
  79. package/src/components/Docs/HttpService/AdditionalInfo.tsx +0 -61
  80. package/src/components/Docs/HttpService/ExportButton.tsx +0 -35
  81. package/src/components/Docs/HttpService/HttpService.spec.tsx +0 -429
  82. package/src/components/Docs/HttpService/HttpService.stories.ts +0 -14
  83. package/src/components/Docs/HttpService/HttpService.tsx +0 -99
  84. package/src/components/Docs/HttpService/SecuritySchemes.tsx +0 -82
  85. package/src/components/Docs/HttpService/ServerInfo.tsx +0 -196
  86. package/src/components/Docs/HttpService/index.ts +0 -1
  87. package/src/components/Docs/Model/Model.spec.tsx +0 -241
  88. package/src/components/Docs/Model/Model.stories.tsx +0 -16
  89. package/src/components/Docs/Model/Model.tsx +0 -160
  90. package/src/components/Docs/Model/index.ts +0 -1
  91. package/src/components/Docs/NodeVendorExtensions.tsx +0 -55
  92. package/src/components/Docs/Sections.tsx +0 -54
  93. package/src/components/Docs/Security/PanelContent.tsx +0 -38
  94. package/src/components/Docs/Security/index.ts +0 -1
  95. package/src/components/Docs/Skeleton.tsx +0 -12
  96. package/src/components/Docs/TwoColumnLayout.tsx +0 -28
  97. package/src/components/Docs/index.ts +0 -1
  98. package/src/components/Docs/story-helper.ts +0 -46
  99. package/src/components/Docs/story-renderer-helper.tsx +0 -56
  100. package/src/components/Layout/MobileTopNav.tsx +0 -78
  101. package/src/components/Layout/ResponsiveSidebarLayout.tsx +0 -175
  102. package/src/components/Layout/SidebarLayout.tsx +0 -107
  103. package/src/components/LinkHeading.tsx +0 -21
  104. package/src/components/LoadMore.tsx +0 -20
  105. package/src/components/Loading/Loading.tsx +0 -9
  106. package/src/components/Logo.tsx +0 -25
  107. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.spec.ts +0 -90
  108. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.tsx +0 -164
  109. package/src/components/MarkdownViewer/CustomComponents/Provider.tsx +0 -20
  110. package/src/components/MarkdownViewer/CustomComponents/ReactRouterLink.tsx +0 -27
  111. package/src/components/MarkdownViewer/CustomComponents/ResolvedImage.tsx +0 -86
  112. package/src/components/MarkdownViewer/CustomComponents/ScrollToHashElement.tsx +0 -96
  113. package/src/components/MarkdownViewer/MarkdownViewer.spec.tsx +0 -170
  114. package/src/components/MarkdownViewer/index.tsx +0 -10
  115. package/src/components/NonIdealState.tsx +0 -20
  116. package/src/components/PoweredByLink.tsx +0 -30
  117. package/src/components/RequestSamples/RequestSamples.stories.tsx +0 -67
  118. package/src/components/RequestSamples/RequestSamples.tsx +0 -246
  119. package/src/components/RequestSamples/__tests__/RequestSamples.test.tsx +0 -131
  120. package/src/components/RequestSamples/__tests__/__snapshots__/convertRequestToSample.spec.ts.snap +0 -746
  121. package/src/components/RequestSamples/__tests__/convertRequestToSample.spec.ts +0 -118
  122. package/src/components/RequestSamples/convertRequestToSample.ts +0 -56
  123. package/src/components/RequestSamples/extractCodeSamples.ts +0 -50
  124. package/src/components/RequestSamples/index.ts +0 -2
  125. package/src/components/RequestSamples/requestSampleConfigs.ts +0 -182
  126. package/src/components/ResponseExamples/ResponseExamples.spec.tsx +0 -121
  127. package/src/components/ResponseExamples/ResponseExamples.stories.tsx +0 -21
  128. package/src/components/ResponseExamples/ResponseExamples.tsx +0 -79
  129. package/src/components/TableOfContents/TableOfContents.spec.tsx +0 -699
  130. package/src/components/TableOfContents/TableOfContents.stories.tsx +0 -136
  131. package/src/components/TableOfContents/TableOfContents.tsx +0 -536
  132. package/src/components/TableOfContents/constants.ts +0 -45
  133. package/src/components/TableOfContents/index.ts +0 -2
  134. package/src/components/TableOfContents/types.ts +0 -59
  135. package/src/components/TableOfContents/utils.ts +0 -84
  136. package/src/components/TryIt/Auth/APIKeyAuth.tsx +0 -19
  137. package/src/components/TryIt/Auth/Auth.tsx +0 -169
  138. package/src/components/TryIt/Auth/AuthTokenInput.tsx +0 -37
  139. package/src/components/TryIt/Auth/BasicAuth.tsx +0 -62
  140. package/src/components/TryIt/Auth/BearerAuth.tsx +0 -19
  141. package/src/components/TryIt/Auth/DigestAuth.tsx +0 -35
  142. package/src/components/TryIt/Auth/OAuth2Auth.tsx +0 -19
  143. package/src/components/TryIt/Auth/authentication-utils.ts +0 -113
  144. package/src/components/TryIt/Body/BinaryBody.tsx +0 -52
  145. package/src/components/TryIt/Body/FormDataBody.tsx +0 -145
  146. package/src/components/TryIt/Body/RequestBody.tsx +0 -71
  147. package/src/components/TryIt/Body/__tests__/BinaryBody.test.tsx +0 -29
  148. package/src/components/TryIt/Body/__tests__/FormDataBody.test.tsx +0 -94
  149. package/src/components/TryIt/Body/request-body-utils.ts +0 -127
  150. package/src/components/TryIt/Body/useTextRequestBodyState.ts +0 -27
  151. package/src/components/TryIt/Mocking/MockingButton.tsx +0 -98
  152. package/src/components/TryIt/Mocking/mocking-utils.ts +0 -56
  153. package/src/components/TryIt/Mocking/useMockingOptions.ts +0 -6
  154. package/src/components/TryIt/Parameters/FileUploadParameterEditors.tsx +0 -62
  155. package/src/components/TryIt/Parameters/OperationParameters.tsx +0 -39
  156. package/src/components/TryIt/Parameters/ParameterEditor.tsx +0 -135
  157. package/src/components/TryIt/Parameters/__tests__/parameter-utils.spec.ts +0 -60
  158. package/src/components/TryIt/Parameters/parameter-utils.spec.ts +0 -118
  159. package/src/components/TryIt/Parameters/parameter-utils.ts +0 -245
  160. package/src/components/TryIt/Parameters/useOperationParameters.ts +0 -60
  161. package/src/components/TryIt/Response/ReponseCodeViewer.tsx +0 -28
  162. package/src/components/TryIt/Response/Response.spec.tsx +0 -174
  163. package/src/components/TryIt/Response/Response.tsx +0 -173
  164. package/src/components/TryIt/Response/hooks/useLineCount.ts +0 -7
  165. package/src/components/TryIt/Servers/ServerVariables.tsx +0 -33
  166. package/src/components/TryIt/Servers/ServersDropdown.tsx +0 -53
  167. package/src/components/TryIt/Servers/VariableEditor.tsx +0 -64
  168. package/src/components/TryIt/Servers/useServerVariables.ts +0 -19
  169. package/src/components/TryIt/TryIt.spec.tsx +0 -1571
  170. package/src/components/TryIt/TryIt.stories.tsx +0 -77
  171. package/src/components/TryIt/TryIt.tsx +0 -404
  172. package/src/components/TryIt/TryItWithRequestSamples.spec.tsx +0 -143
  173. package/src/components/TryIt/TryItWithRequestSamples.stories.tsx +0 -32
  174. package/src/components/TryIt/TryItWithRequestSamples.tsx +0 -42
  175. package/src/components/TryIt/build-request.spec.ts +0 -261
  176. package/src/components/TryIt/build-request.ts +0 -357
  177. package/src/components/TryIt/chosenServer.ts +0 -5
  178. package/src/components/TryIt/index.ts +0 -3
  179. package/src/components/__tests__/LinkHeading.spec.tsx +0 -125
  180. package/src/constants.ts +0 -176
  181. package/src/containers/MockingProvider.tsx +0 -23
  182. package/src/context/InlineRefResolver.spec.tsx +0 -183
  183. package/src/context/InlineRefResolver.tsx +0 -94
  184. package/src/context/Options.tsx +0 -27
  185. package/src/context/Persistence.tsx +0 -24
  186. package/src/context/RouterType.tsx +0 -9
  187. package/src/core.css +0 -97
  188. package/src/hoc/utils.ts +0 -5
  189. package/src/hoc/withMosaicProvider.spec.tsx +0 -48
  190. package/src/hoc/withMosaicProvider.tsx +0 -28
  191. package/src/hoc/withQueryClientProvider.spec.tsx +0 -38
  192. package/src/hoc/withQueryClientProvider.tsx +0 -35
  193. package/src/hoc/withRouter.tsx +0 -71
  194. package/src/hooks/useBundleRefsIntoDocument.ts +0 -60
  195. package/src/hooks/useFirstRender.ts +0 -8
  196. package/src/hooks/useIsCompact.ts +0 -26
  197. package/src/hooks/useParsedData.ts +0 -99
  198. package/src/hooks/useParsedValue.ts +0 -19
  199. package/src/hooks/useResponsiveLayout.tsx +0 -51
  200. package/src/hooks/useRouter.tsx +0 -31
  201. package/src/hooks/useUniqueId.ts +0 -4
  202. package/src/index.ts +0 -48
  203. package/src/styled.tsx +0 -22
  204. package/src/styles.css +0 -4
  205. package/src/types.ts +0 -170
  206. package/src/utils/__tests__/securitySchemes.spec.ts +0 -137
  207. package/src/utils/exampleGeneration/exampleGeneration.spec.tsx +0 -664
  208. package/src/utils/exampleGeneration/exampleGeneration.ts +0 -332
  209. package/src/utils/fileToBase64.ts +0 -11
  210. package/src/utils/guards.ts +0 -48
  211. package/src/utils/headers.ts +0 -316
  212. package/src/utils/http-spec/IServer.ts +0 -100
  213. package/src/utils/http-spec/__tests__/IServer.spec.ts +0 -51
  214. package/src/utils/http-spec/examples.ts +0 -5
  215. package/src/utils/http.ts +0 -9
  216. package/src/utils/jotai/persistAtom.ts +0 -31
  217. package/src/utils/node.ts +0 -19
  218. package/src/utils/oas/__tests__/security.spec.ts +0 -18
  219. package/src/utils/oas/security.ts +0 -76
  220. package/src/utils/ref-resolving/ReferenceResolver.ts +0 -29
  221. package/src/utils/ref-resolving/resolvedObject.test.ts +0 -415
  222. package/src/utils/ref-resolving/resolvedObject.ts +0 -189
  223. package/src/utils/securitySchemes.ts +0 -117
  224. package/src/utils/string.ts +0 -15
  225. package/src/utils/tests/chooseOption.ts +0 -7
  226. package/src/web-components/createElementClass.ts +0 -154
  227. package/tsconfig.build.json +0 -14
  228. package/tsconfig.json +0 -7
  229. /package/{dist/__fixtures__ → __fixtures__}/articles/schema-with-refs.d.ts +0 -0
  230. /package/{dist/__fixtures__ → __fixtures__}/operations/application-octet-stream-post.d.ts +0 -0
  231. /package/{dist/__fixtures__ → __fixtures__}/operations/base64-file-upload.d.ts +0 -0
  232. /package/{dist/__fixtures__ → __fixtures__}/operations/big-response.d.ts +0 -0
  233. /package/{dist/__fixtures__ → __fixtures__}/operations/examples-request-body.d.ts +0 -0
  234. /package/{dist/__fixtures__ → __fixtures__}/operations/head-todos.d.ts +0 -0
  235. /package/{dist/__fixtures__ → __fixtures__}/operations/multipart-formdata-post.d.ts +0 -0
  236. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-minimal.d.ts +0 -0
  237. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-parameters.d.ts +0 -0
  238. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-with-examples.d.ts +0 -0
  239. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-without-servers.d.ts +0 -0
  240. /package/{dist/__fixtures__ → __fixtures__}/operations/patch-todos.d.ts +0 -0
  241. /package/{dist/__fixtures__ → __fixtures__}/operations/put-todos.d.ts +0 -0
  242. /package/{dist/__fixtures__ → __fixtures__}/operations/referenced-body.d.ts +0 -0
  243. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body-empty-schema.d.ts +0 -0
  244. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body.d.ts +0 -0
  245. /package/{dist/__fixtures__ → __fixtures__}/operations/securedOperation.d.ts +0 -0
  246. /package/{dist/__fixtures__ → __fixtures__}/operations/security-basic.d.ts +0 -0
  247. /package/{dist/__fixtures__ → __fixtures__}/operations/security-bearer.d.ts +0 -0
  248. /package/{dist/__fixtures__ → __fixtures__}/operations/simple-get.d.ts +0 -0
  249. /package/{dist/__fixtures__ → __fixtures__}/operations/string-numeric-enums.d.ts +0 -0
  250. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post-oneof.d.ts +0 -0
  251. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post.d.ts +0 -0
  252. /package/{dist/__fixtures__ → __fixtures__}/operations/with-url-variables.d.ts +0 -0
  253. /package/{dist/__fixtures__ → __fixtures__}/security-schemes/index.d.ts +0 -0
  254. /package/{dist/__fixtures__ → __fixtures__}/services/petstore.d.ts +0 -0
  255. /package/{dist/__fixtures__ → __fixtures__}/services/with-unnamed-servers.d.ts +0 -0
  256. /package/{dist/__fixtures__ → __fixtures__}/services/with-url-variables.d.ts +0 -0
  257. /package/{dist/__fixtures__ → __fixtures__}/services/without-origin.d.ts +0 -0
  258. /package/{dist/components → components}/Docs/Article/Article.spec.d.ts +0 -0
  259. /package/{dist/components → components}/Docs/Article/Article.stories.d.ts +0 -0
  260. /package/{dist/components → components}/Docs/Article/index.d.ts +0 -0
  261. /package/{dist/components → components}/Docs/Docs.d.ts +0 -0
  262. /package/{dist/components → components}/Docs/Docs.stories.d.ts +0 -0
  263. /package/{dist/components → components}/Docs/HttpOperation/Badges.d.ts +0 -0
  264. /package/{dist/components → components}/Docs/HttpOperation/Body.d.ts +0 -0
  265. /package/{dist/components → components}/Docs/HttpOperation/Callbacks.d.ts +0 -0
  266. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.d.ts +0 -0
  267. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.spec.d.ts +0 -0
  268. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.stories.d.ts +0 -0
  269. /package/{dist/components → components}/Docs/HttpOperation/Parameters.d.ts +0 -0
  270. /package/{dist/components → components}/Docs/HttpOperation/Parameters.spec.d.ts +0 -0
  271. /package/{dist/components → components}/Docs/HttpOperation/Request.d.ts +0 -0
  272. /package/{dist/components → components}/Docs/HttpOperation/Responses.d.ts +0 -0
  273. /package/{dist/components → components}/Docs/HttpOperation/index.d.ts +0 -0
  274. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.d.ts +0 -0
  275. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.stories.d.ts +0 -0
  276. /package/{dist/components → components}/Docs/HttpService/ExportButton.d.ts +0 -0
  277. /package/{dist/components → components}/Docs/HttpService/HttpService.d.ts +0 -0
  278. /package/{dist/components → components}/Docs/HttpService/HttpService.spec.d.ts +0 -0
  279. /package/{dist/components → components}/Docs/HttpService/HttpService.stories.d.ts +0 -0
  280. /package/{dist/components → components}/Docs/HttpService/SecuritySchemes.d.ts +0 -0
  281. /package/{dist/components → components}/Docs/HttpService/ServerInfo.d.ts +0 -0
  282. /package/{dist/components → components}/Docs/HttpService/index.d.ts +0 -0
  283. /package/{dist/components → components}/Docs/Model/Model.d.ts +0 -0
  284. /package/{dist/components → components}/Docs/Model/Model.spec.d.ts +0 -0
  285. /package/{dist/components → components}/Docs/Model/Model.stories.d.ts +0 -0
  286. /package/{dist/components → components}/Docs/Model/index.d.ts +0 -0
  287. /package/{dist/components → components}/Docs/NodeVendorExtensions.d.ts +0 -0
  288. /package/{dist/components → components}/Docs/Sections.d.ts +0 -0
  289. /package/{dist/components → components}/Docs/Security/PanelContent.d.ts +0 -0
  290. /package/{dist/components → components}/Docs/Security/index.d.ts +0 -0
  291. /package/{dist/components → components}/Docs/Skeleton.d.ts +0 -0
  292. /package/{dist/components → components}/Docs/TwoColumnLayout.d.ts +0 -0
  293. /package/{dist/components → components}/Docs/index.d.ts +0 -0
  294. /package/{dist/components → components}/Docs/story-helper.d.ts +0 -0
  295. /package/{dist/components → components}/Docs/story-renderer-helper.d.ts +0 -0
  296. /package/{dist/components → components}/Layout/MobileTopNav.d.ts +0 -0
  297. /package/{dist/components → components}/Layout/ResponsiveSidebarLayout.d.ts +0 -0
  298. /package/{dist/components → components}/Layout/SidebarLayout.d.ts +0 -0
  299. /package/{dist/components → components}/LinkHeading.d.ts +0 -0
  300. /package/{dist/components → components}/LoadMore.d.ts +0 -0
  301. /package/{dist/components → components}/Loading/Loading.d.ts +0 -0
  302. /package/{dist/components → components}/Logo.d.ts +0 -0
  303. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.d.ts +0 -0
  304. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.spec.d.ts +0 -0
  305. /package/{dist/components → components}/MarkdownViewer/CustomComponents/Provider.d.ts +0 -0
  306. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ReactRouterLink.d.ts +0 -0
  307. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ResolvedImage.d.ts +0 -0
  308. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ScrollToHashElement.d.ts +0 -0
  309. /package/{dist/components → components}/MarkdownViewer/MarkdownViewer.spec.d.ts +0 -0
  310. /package/{dist/components → components}/MarkdownViewer/index.d.ts +0 -0
  311. /package/{dist/components → components}/NonIdealState.d.ts +0 -0
  312. /package/{dist/components → components}/PoweredByLink.d.ts +0 -0
  313. /package/{dist/components → components}/RequestSamples/RequestSamples.d.ts +0 -0
  314. /package/{dist/components → components}/RequestSamples/RequestSamples.stories.d.ts +0 -0
  315. /package/{dist/components → components}/RequestSamples/convertRequestToSample.d.ts +0 -0
  316. /package/{dist/components → components}/RequestSamples/extractCodeSamples.d.ts +0 -0
  317. /package/{dist/components → components}/RequestSamples/index.d.ts +0 -0
  318. /package/{dist/components → components}/RequestSamples/requestSampleConfigs.d.ts +0 -0
  319. /package/{dist/components → components}/ResponseExamples/ResponseExamples.d.ts +0 -0
  320. /package/{dist/components → components}/ResponseExamples/ResponseExamples.spec.d.ts +0 -0
  321. /package/{dist/components → components}/ResponseExamples/ResponseExamples.stories.d.ts +0 -0
  322. /package/{dist/components → components}/TableOfContents/TableOfContents.d.ts +0 -0
  323. /package/{dist/components → components}/TableOfContents/TableOfContents.spec.d.ts +0 -0
  324. /package/{dist/components → components}/TableOfContents/TableOfContents.stories.d.ts +0 -0
  325. /package/{dist/components → components}/TableOfContents/constants.d.ts +0 -0
  326. /package/{dist/components → components}/TableOfContents/index.d.ts +0 -0
  327. /package/{dist/components → components}/TableOfContents/types.d.ts +0 -0
  328. /package/{dist/components → components}/TableOfContents/utils.d.ts +0 -0
  329. /package/{dist/components → components}/TryIt/Auth/APIKeyAuth.d.ts +0 -0
  330. /package/{dist/components → components}/TryIt/Auth/Auth.d.ts +0 -0
  331. /package/{dist/components → components}/TryIt/Auth/AuthTokenInput.d.ts +0 -0
  332. /package/{dist/components → components}/TryIt/Auth/BasicAuth.d.ts +0 -0
  333. /package/{dist/components → components}/TryIt/Auth/BearerAuth.d.ts +0 -0
  334. /package/{dist/components → components}/TryIt/Auth/DigestAuth.d.ts +0 -0
  335. /package/{dist/components → components}/TryIt/Auth/OAuth2Auth.d.ts +0 -0
  336. /package/{dist/components → components}/TryIt/Auth/authentication-utils.d.ts +0 -0
  337. /package/{dist/components → components}/TryIt/Body/BinaryBody.d.ts +0 -0
  338. /package/{dist/components → components}/TryIt/Body/FormDataBody.d.ts +0 -0
  339. /package/{dist/components → components}/TryIt/Body/RequestBody.d.ts +0 -0
  340. /package/{dist/components → components}/TryIt/Body/request-body-utils.d.ts +0 -0
  341. /package/{dist/components → components}/TryIt/Body/useTextRequestBodyState.d.ts +0 -0
  342. /package/{dist/components → components}/TryIt/Mocking/MockingButton.d.ts +0 -0
  343. /package/{dist/components → components}/TryIt/Mocking/mocking-utils.d.ts +0 -0
  344. /package/{dist/components → components}/TryIt/Mocking/useMockingOptions.d.ts +0 -0
  345. /package/{dist/components → components}/TryIt/Parameters/FileUploadParameterEditors.d.ts +0 -0
  346. /package/{dist/components → components}/TryIt/Parameters/OperationParameters.d.ts +0 -0
  347. /package/{dist/components → components}/TryIt/Parameters/ParameterEditor.d.ts +0 -0
  348. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.d.ts +0 -0
  349. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.spec.d.ts +0 -0
  350. /package/{dist/components → components}/TryIt/Parameters/useOperationParameters.d.ts +0 -0
  351. /package/{dist/components → components}/TryIt/Response/ReponseCodeViewer.d.ts +0 -0
  352. /package/{dist/components → components}/TryIt/Response/Response.d.ts +0 -0
  353. /package/{dist/components → components}/TryIt/Response/Response.spec.d.ts +0 -0
  354. /package/{dist/components → components}/TryIt/Response/hooks/useLineCount.d.ts +0 -0
  355. /package/{dist/components → components}/TryIt/Servers/ServerVariables.d.ts +0 -0
  356. /package/{dist/components → components}/TryIt/Servers/ServersDropdown.d.ts +0 -0
  357. /package/{dist/components → components}/TryIt/Servers/VariableEditor.d.ts +0 -0
  358. /package/{dist/components → components}/TryIt/Servers/useServerVariables.d.ts +0 -0
  359. /package/{dist/components → components}/TryIt/TryIt.d.ts +0 -0
  360. /package/{dist/components → components}/TryIt/TryIt.spec.d.ts +0 -0
  361. /package/{dist/components → components}/TryIt/TryIt.stories.d.ts +0 -0
  362. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.d.ts +0 -0
  363. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.spec.d.ts +0 -0
  364. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.stories.d.ts +0 -0
  365. /package/{dist/components → components}/TryIt/build-request.d.ts +0 -0
  366. /package/{dist/components → components}/TryIt/build-request.spec.d.ts +0 -0
  367. /package/{dist/components → components}/TryIt/chosenServer.d.ts +0 -0
  368. /package/{dist/components → components}/TryIt/index.d.ts +0 -0
  369. /package/{dist/constants.d.ts → constants.d.ts} +0 -0
  370. /package/{dist/containers → containers}/MockingProvider.d.ts +0 -0
  371. /package/{dist/context → context}/InlineRefResolver.d.ts +0 -0
  372. /package/{dist/context → context}/InlineRefResolver.spec.d.ts +0 -0
  373. /package/{dist/context → context}/Options.d.ts +0 -0
  374. /package/{dist/context → context}/Persistence.d.ts +0 -0
  375. /package/{dist/context → context}/RouterType.d.ts +0 -0
  376. /package/{dist/core.css → core.css} +0 -0
  377. /package/{dist/hoc → hoc}/utils.d.ts +0 -0
  378. /package/{dist/hoc → hoc}/withMosaicProvider.d.ts +0 -0
  379. /package/{dist/hoc → hoc}/withMosaicProvider.spec.d.ts +0 -0
  380. /package/{dist/hoc → hoc}/withQueryClientProvider.d.ts +0 -0
  381. /package/{dist/hoc → hoc}/withQueryClientProvider.spec.d.ts +0 -0
  382. /package/{dist/hoc → hoc}/withRouter.d.ts +0 -0
  383. /package/{dist/hooks → hooks}/useBundleRefsIntoDocument.d.ts +0 -0
  384. /package/{dist/hooks → hooks}/useFirstRender.d.ts +0 -0
  385. /package/{dist/hooks → hooks}/useIsCompact.d.ts +0 -0
  386. /package/{dist/hooks → hooks}/useParsedData.d.ts +0 -0
  387. /package/{dist/hooks → hooks}/useParsedValue.d.ts +0 -0
  388. /package/{dist/hooks → hooks}/useResponsiveLayout.d.ts +0 -0
  389. /package/{dist/hooks → hooks}/useRouter.d.ts +0 -0
  390. /package/{dist/hooks → hooks}/useUniqueId.d.ts +0 -0
  391. /package/{dist/index.d.ts → index.d.ts} +0 -0
  392. /package/{dist/index.esm.js → index.esm.js} +0 -0
  393. /package/{dist/index.js → index.js} +0 -0
  394. /package/{dist/index.mjs → index.mjs} +0 -0
  395. /package/{dist/styled.d.ts → styled.d.ts} +0 -0
  396. /package/{dist/styles.min.css → styles.min.css} +0 -0
  397. /package/{dist/types.d.ts → types.d.ts} +0 -0
  398. /package/{dist/utils → utils}/exampleGeneration/exampleGeneration.d.ts +0 -0
  399. /package/{dist/utils → utils}/exampleGeneration/exampleGeneration.spec.d.ts +0 -0
  400. /package/{dist/utils → utils}/fileToBase64.d.ts +0 -0
  401. /package/{dist/utils → utils}/guards.d.ts +0 -0
  402. /package/{dist/utils → utils}/headers.d.ts +0 -0
  403. /package/{dist/utils → utils}/http-spec/IServer.d.ts +0 -0
  404. /package/{dist/utils → utils}/http-spec/examples.d.ts +0 -0
  405. /package/{dist/utils → utils}/http.d.ts +0 -0
  406. /package/{dist/utils → utils}/jotai/persistAtom.d.ts +0 -0
  407. /package/{dist/utils → utils}/node.d.ts +0 -0
  408. /package/{dist/utils → utils}/oas/security.d.ts +0 -0
  409. /package/{dist/utils → utils}/ref-resolving/ReferenceResolver.d.ts +0 -0
  410. /package/{dist/utils → utils}/ref-resolving/resolvedObject.d.ts +0 -0
  411. /package/{dist/utils → utils}/ref-resolving/resolvedObject.test.d.ts +0 -0
  412. /package/{dist/utils → utils}/securitySchemes.d.ts +0 -0
  413. /package/{dist/utils → utils}/string.d.ts +0 -0
  414. /package/{dist/utils → utils}/tests/chooseOption.d.ts +0 -0
  415. /package/{dist/web-components → web-components}/createElementClass.d.ts +0 -0
@@ -1,415 +0,0 @@
1
- import { createResolvedObject, getOriginalObject } from './resolvedObject';
2
-
3
- describe('createResolvedObject', () => {
4
- it('resolves a reference', () => {
5
- const resolvedObject = createResolvedObject({
6
- paramaterA: {
7
- parameterB: {
8
- $ref: '#/bundled/parameterB',
9
- },
10
- },
11
- bundled: {
12
- parameterB: 'parameterB value',
13
- },
14
- });
15
-
16
- expect((resolvedObject as any).paramaterA.parameterB).toBe('parameterB value');
17
- });
18
-
19
- it('resolves a reference to an object', () => {
20
- const resolvedObject = createResolvedObject({
21
- paramaterA: {
22
- parameterB: {
23
- $ref: '#/bundled/parameterB',
24
- },
25
- },
26
- bundled: {
27
- parameterB: {
28
- something: 'something else',
29
- },
30
- },
31
- });
32
-
33
- expect((resolvedObject as any).paramaterA.parameterB).toEqual({
34
- something: 'something else',
35
- });
36
- });
37
-
38
- it('resolves a circular reference', () => {
39
- const resolvedObject = createResolvedObject({
40
- paramaterA: {
41
- $ref: '#/bundled/paramaterA',
42
- },
43
- bundled: {
44
- paramaterA: {
45
- parameterB: {
46
- $ref: '#/bundled/parameterB',
47
- },
48
- parameterC: 'parameterC value',
49
- },
50
- parameterB: {
51
- paramaterA: {
52
- $ref: '#/bundled/paramaterA',
53
- },
54
- },
55
- },
56
- });
57
-
58
- expect((resolvedObject as any).paramaterA.parameterB.paramaterA.parameterB.paramaterA.parameterC).toBe(
59
- 'parameterC value',
60
- );
61
- });
62
-
63
- it('resolves circular reference to the same value', () => {
64
- const resolvedObject = createResolvedObject({
65
- paramaterA: {
66
- $ref: '#/bundled/paramaterA',
67
- },
68
- bundled: {
69
- paramaterA: {
70
- parameterB: {
71
- $ref: '#/bundled/parameterB',
72
- },
73
- parameterC: 'parameterC value',
74
- },
75
- parameterB: {
76
- paramaterA: {
77
- $ref: '#/bundled/paramaterA',
78
- },
79
- },
80
- },
81
- });
82
-
83
- expect((resolvedObject as any).paramaterA.parameterB.paramaterA.parameterB.paramaterA).toBe(
84
- (resolvedObject as any).paramaterA,
85
- );
86
- });
87
-
88
- it('resolves deeply nested reference', () => {
89
- const resolvedObject = createResolvedObject({
90
- paramaterA: {
91
- parameterB: {
92
- $ref: '#/bundled/parameterB',
93
- },
94
- },
95
- bundled: {
96
- parameterB: {
97
- parameterC: {
98
- $ref: '#/bundled/parameterC',
99
- },
100
- },
101
- parameterC: 'parameterC value',
102
- },
103
- });
104
-
105
- expect((resolvedObject as any).paramaterA.parameterB.parameterC).toBe('parameterC value');
106
- });
107
-
108
- it('resolves references nested in arrays', () => {
109
- const resolvedObject = createResolvedObject({
110
- list: [
111
- {
112
- parameterB: {
113
- $ref: '#/bundled/parameterB',
114
- },
115
- },
116
- ],
117
- bundled: {
118
- parameterB: {
119
- parameterC: {
120
- $ref: '#/bundled/parameterC',
121
- },
122
- },
123
- parameterC: 'parameterC value',
124
- },
125
- });
126
-
127
- expect((resolvedObject as any).list[0].parameterB.parameterC).toBe('parameterC value');
128
- });
129
-
130
- it('returns the same object when accessing the parameter multiple times', () => {
131
- const resolvedObject = createResolvedObject({
132
- paramaterA: {
133
- parameterB: {
134
- $ref: '#/bundled/parameterB',
135
- },
136
- },
137
- bundled: {
138
- parameterB: 'parameterB value',
139
- },
140
- });
141
-
142
- expect((resolvedObject as any).paramaterA).toBe((resolvedObject as any).paramaterA);
143
- });
144
-
145
- it('returns the same object when called twice', () => {
146
- const resolvedObject = createResolvedObject({
147
- paramaterA: {
148
- parameterB: {
149
- $ref: '#/bundled/parameterB',
150
- },
151
- },
152
- bundled: {
153
- parameterB: 'parameterB value',
154
- },
155
- });
156
-
157
- expect(createResolvedObject(resolvedObject)).toBe(resolvedObject);
158
- });
159
-
160
- it('allows to retrieve the original object', () => {
161
- const originalObject = {
162
- paramaterA: {
163
- parameterB: {
164
- $ref: '#/bundled/parameterB',
165
- },
166
- },
167
- bundled: {
168
- parameterB: 'parameterB value',
169
- },
170
- };
171
- const resolvedObject = createResolvedObject(originalObject);
172
-
173
- expect(getOriginalObject((resolvedObject as any).paramaterA)).toBe(originalObject.paramaterA);
174
- });
175
-
176
- it('allows to customize resolution process', () => {
177
- const originalObject = {
178
- paramaterA: {
179
- parameterB: {
180
- $ref: '#/bundled/parameterB',
181
- },
182
- },
183
- bundled: {
184
- parameterB: 'parameterB value',
185
- },
186
- };
187
-
188
- const resolvedObject = createResolvedObject(originalObject, {
189
- resolver: ({ pointer }, propertyPath, originalObject) => ({
190
- pointer,
191
- propertyPath,
192
- originalObjectProperties: originalObject ? Object.keys(originalObject) : [],
193
- }),
194
- });
195
-
196
- expect((resolvedObject as any).paramaterA.parameterB).toEqual({
197
- pointer: '#/bundled/parameterB',
198
- propertyPath: ['paramaterA', 'parameterB'],
199
- originalObjectProperties: ['paramaterA', 'bundled'],
200
- });
201
- });
202
-
203
- it('provides error message when resolving fails', () => {
204
- const resolvedObject = createResolvedObject({
205
- paramaterA: {
206
- parameterB: {
207
- $ref: '#/bundled/parameterB',
208
- },
209
- },
210
- });
211
-
212
- expect((resolvedObject as any).paramaterA.parameterB).toEqual({
213
- $ref: '#/bundled/parameterB',
214
- $error: "Could not resolve '#/bundled/parameterB'",
215
- });
216
- });
217
-
218
- it('does not pass non-string references to resolver and ignores them', () => {
219
- const originalObject = {
220
- paramaterA: {
221
- parameterB: {
222
- $ref: {
223
- not: 'a reference string',
224
- },
225
- },
226
- },
227
- };
228
-
229
- const resolvedObject = createResolvedObject(originalObject, {
230
- resolver: ({ pointer }) => {
231
- if (typeof pointer !== 'string') {
232
- throw new Error('Pointer should be a string!!!');
233
- }
234
- },
235
- });
236
-
237
- expect(resolvedObject).toEqual(originalObject);
238
- });
239
-
240
- // If the schema is internal, the object contains 'x-sl-error-message' on logout.
241
- it('removes object if contains an error for oneOf', () => {
242
- const originalObject = {
243
- oneOf: [
244
- { $ref: '#/__bundled__/0mui9s02880hl', 'x-stoplight': { id: '19c178fc05d4a' } },
245
- {
246
- 'x-sl-error-message': 'You do not have permission to view this reference',
247
- 'x-stoplight': { 'error-message': 'You do not have permission to view this reference', id: 'nezai0hyj4yak' },
248
- },
249
- { $ref: '#/__bundled__/iq2mwk8jvthd2', 'x-stoplight': { id: 'ovj32wmpxpg7p' } },
250
- ],
251
- 'x-stoplight': { id: 'b73ff5df9864f' },
252
- };
253
-
254
- const filteredObject = {
255
- oneOf: [
256
- { $ref: '#/__bundled__/0mui9s02880hl', 'x-stoplight': { id: '19c178fc05d4a' } },
257
- { $ref: '#/__bundled__/iq2mwk8jvthd2', 'x-stoplight': { id: 'ovj32wmpxpg7p' } },
258
- ],
259
- 'x-stoplight': { id: 'b73ff5df9864f' },
260
- };
261
- const resolvedObject = getOriginalObject(originalObject);
262
-
263
- expect(resolvedObject).toEqual(filteredObject);
264
- });
265
-
266
- it('removes object if contains an error for anyeOf', () => {
267
- const originalObject = {
268
- anyOf: [
269
- { $ref: '#/__bundled__/0mui9s02880hl', 'x-stoplight': { id: '19c178fc05d4a' } },
270
- {
271
- 'x-sl-error-message': 'You do not have permission to view this reference',
272
- 'x-stoplight': { 'error-message': 'You do not have permission to view this reference', id: 'nezai0hyj4yak' },
273
- },
274
- { $ref: '#/__bundled__/iq2mwk8jvthd2', 'x-stoplight': { id: 'ovj32wmpxpg7p' } },
275
- ],
276
- 'x-stoplight': { id: 'b73ff5df9864f' },
277
- };
278
-
279
- const filteredObject = {
280
- anyOf: [
281
- { $ref: '#/__bundled__/0mui9s02880hl', 'x-stoplight': { id: '19c178fc05d4a' } },
282
- { $ref: '#/__bundled__/iq2mwk8jvthd2', 'x-stoplight': { id: 'ovj32wmpxpg7p' } },
283
- ],
284
- 'x-stoplight': { id: 'b73ff5df9864f' },
285
- };
286
- const resolvedObject = getOriginalObject(originalObject);
287
-
288
- expect(resolvedObject).toEqual(filteredObject);
289
- });
290
-
291
- it('show the error if all schemas are internal for anyOf', () => {
292
- const originalObject = {
293
- anyOf: [
294
- [
295
- {
296
- 'x-sl-error-message': 'You do not have permission to view this reference',
297
- 'x-stoplight': {
298
- 'error-message': 'You do not have permission to view this reference',
299
- id: 'nezai0hyj4yak',
300
- },
301
- },
302
- {
303
- 'x-sl-error-message': 'You do not have permission to view this reference',
304
- 'x-stoplight': {
305
- 'error-message': 'You do not have permission to view this reference',
306
- id: 'nezai0hyj4yak',
307
- },
308
- },
309
- {
310
- 'x-sl-error-message': 'You do not have permission to view this reference',
311
- 'x-stoplight': {
312
- 'error-message': 'You do not have permission to view this reference',
313
- id: 'nezai0hyj4yak',
314
- },
315
- },
316
- ],
317
- ],
318
- 'x-stoplight': { id: 'b73ff5df9864f' },
319
- };
320
-
321
- const filteredObject = {
322
- anyOf: [
323
- [
324
- {
325
- 'x-sl-error-message': 'You do not have permission to view this reference',
326
- 'x-stoplight': {
327
- 'error-message': 'You do not have permission to view this reference',
328
- id: 'nezai0hyj4yak',
329
- },
330
- },
331
- {
332
- 'x-sl-error-message': 'You do not have permission to view this reference',
333
- 'x-stoplight': {
334
- 'error-message': 'You do not have permission to view this reference',
335
- id: 'nezai0hyj4yak',
336
- },
337
- },
338
- {
339
- 'x-sl-error-message': 'You do not have permission to view this reference',
340
- 'x-stoplight': {
341
- 'error-message': 'You do not have permission to view this reference',
342
- id: 'nezai0hyj4yak',
343
- },
344
- },
345
- ],
346
- ],
347
- 'x-stoplight': { id: 'b73ff5df9864f' },
348
- };
349
- const resolvedObject = getOriginalObject(originalObject);
350
-
351
- expect(resolvedObject).toEqual(filteredObject);
352
- });
353
- it('show the error if all schemas are internal for oneOf', () => {
354
- const originalObject = {
355
- oneOf: [
356
- [
357
- {
358
- 'x-sl-error-message': 'You do not have permission to view this reference',
359
- 'x-stoplight': {
360
- 'error-message': 'You do not have permission to view this reference',
361
- id: 'nezai0hyj4yak',
362
- },
363
- },
364
- {
365
- 'x-sl-error-message': 'You do not have permission to view this reference',
366
- 'x-stoplight': {
367
- 'error-message': 'You do not have permission to view this reference',
368
- id: 'nezai0hyj4yak',
369
- },
370
- },
371
- {
372
- 'x-sl-error-message': 'You do not have permission to view this reference',
373
- 'x-stoplight': {
374
- 'error-message': 'You do not have permission to view this reference',
375
- id: 'nezai0hyj4yak',
376
- },
377
- },
378
- ],
379
- ],
380
- 'x-stoplight': { id: 'b73ff5df9864f' },
381
- };
382
-
383
- const filteredObject = {
384
- oneOf: [
385
- [
386
- {
387
- 'x-sl-error-message': 'You do not have permission to view this reference',
388
- 'x-stoplight': {
389
- 'error-message': 'You do not have permission to view this reference',
390
- id: 'nezai0hyj4yak',
391
- },
392
- },
393
- {
394
- 'x-sl-error-message': 'You do not have permission to view this reference',
395
- 'x-stoplight': {
396
- 'error-message': 'You do not have permission to view this reference',
397
- id: 'nezai0hyj4yak',
398
- },
399
- },
400
- {
401
- 'x-sl-error-message': 'You do not have permission to view this reference',
402
- 'x-stoplight': {
403
- 'error-message': 'You do not have permission to view this reference',
404
- id: 'nezai0hyj4yak',
405
- },
406
- },
407
- ],
408
- ],
409
- 'x-stoplight': { id: 'b73ff5df9864f' },
410
- };
411
- const resolvedObject = getOriginalObject(originalObject);
412
-
413
- expect(resolvedObject).toEqual(filteredObject);
414
- });
415
- });
@@ -1,189 +0,0 @@
1
- import { hasRef } from '@stoplight/json';
2
- import { isArray, isPlainObject } from 'lodash';
3
-
4
- import { defaultResolver, ReferenceResolver } from './ReferenceResolver';
5
-
6
- const originalObjectSymbol = Symbol('OriginalObject');
7
-
8
- interface CreateResolvedObjectOptions {
9
- contextObject?: object;
10
- resolver?: ReferenceResolver;
11
- }
12
-
13
- export const createResolvedObject = (currentObject: object, options: CreateResolvedObjectOptions = {}): object =>
14
- recursivelyCreateResolvedObject(currentObject, currentObject, [], new Map(), options);
15
-
16
- const recursivelyCreateResolvedObject = (
17
- currentObject: object,
18
- rootCurrentObject: object,
19
- propertyPath: string[],
20
- objectToProxiedObjectCache: Map<object, object>,
21
- options: CreateResolvedObjectOptions = {},
22
- ): object => {
23
- if (isResolvedObjectProxy(currentObject)) return currentObject;
24
-
25
- if (objectToProxiedObjectCache.has(currentObject)) return objectToProxiedObjectCache.get(currentObject)!;
26
-
27
- const mergedOptions = {
28
- contextObject: options.contextObject || currentObject,
29
- resolver: options.resolver || defaultResolver(options.contextObject || currentObject),
30
- };
31
-
32
- const resolvedObjectProxy = new Proxy(currentObject, {
33
- get(target: { [key: string | symbol]: unknown }, name) {
34
- if (name === originalObjectSymbol) return currentObject;
35
-
36
- const value = target[name];
37
- const newPropertyPath = [...propertyPath, name.toString()];
38
-
39
- let resolvedValue;
40
- if (isReference(value)) {
41
- try {
42
- resolvedValue = mergedOptions.resolver(
43
- { pointer: value.$ref, source: null },
44
- newPropertyPath,
45
- rootCurrentObject,
46
- );
47
- } catch (e) {
48
- resolvedValue = {
49
- ...value,
50
- $error: e instanceof Error ? e.message : String(e),
51
- };
52
- }
53
- } else {
54
- resolvedValue = value;
55
- }
56
-
57
- if (isPlainObject(resolvedValue) || isArray(resolvedValue)) {
58
- return recursivelyCreateResolvedObject(
59
- resolvedValue,
60
- rootCurrentObject,
61
- newPropertyPath,
62
- objectToProxiedObjectCache,
63
- mergedOptions,
64
- );
65
- }
66
-
67
- return resolvedValue;
68
- },
69
- });
70
-
71
- objectToProxiedObjectCache.set(currentObject, resolvedObjectProxy);
72
-
73
- return resolvedObjectProxy;
74
- };
75
-
76
- export const isResolvedObjectProxy = (someObject: object): boolean => {
77
- return !!(someObject as Record<symbol, unknown>)[originalObjectSymbol];
78
- };
79
-
80
- // Resolves $refs by accessing properties through Proxy wrappers, ensuring nested references are resolved.
81
- export const getResolvedObject = (obj: any, cache = new WeakMap()): any => {
82
- if (!isPlainObject(obj) && !isArray(obj)) {
83
- return obj;
84
- }
85
-
86
- if (cache.has(obj)) {
87
- return cache.get(obj);
88
- }
89
-
90
- if (isArray(obj)) {
91
- const result: any[] = [];
92
- cache.set(obj, result);
93
- for (let i = 0; i < obj.length; i++) {
94
- result[i] = getResolvedObject(obj[i], cache);
95
- }
96
- return result;
97
- }
98
-
99
- const result: any = {};
100
- cache.set(obj, result);
101
-
102
- for (const key in obj) {
103
- if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
104
-
105
- const value = obj[key];
106
-
107
- if (isArray(value)) {
108
- result[key] = getResolvedObject(value, cache);
109
- } else if (isPlainObject(value)) {
110
- result[key] = getResolvedObject(value, cache);
111
- } else {
112
- result[key] = value;
113
- }
114
- }
115
-
116
- return result;
117
- };
118
-
119
- // Unwraps Proxy objects recursively, needed for oneOf/anyOf schemas with nested $refs.
120
- const deepUnwrapObject = (obj: any, cache = new WeakMap()): any => {
121
- const unwrapped = (obj as Record<symbol, object>)?.[originalObjectSymbol] || obj;
122
-
123
- if (!isPlainObject(unwrapped)) {
124
- return unwrapped;
125
- }
126
-
127
- if (cache.has(obj)) {
128
- return cache.get(obj);
129
- }
130
-
131
- const hasComposition =
132
- Object.prototype.hasOwnProperty.call(unwrapped, 'oneOf') ||
133
- Object.prototype.hasOwnProperty.call(unwrapped, 'anyOf') ||
134
- Object.prototype.hasOwnProperty.call(unwrapped, 'allOf');
135
-
136
- if (!hasComposition && unwrapped === obj) {
137
- return unwrapped;
138
- }
139
-
140
- const result: any = {};
141
- cache.set(obj, result);
142
-
143
- for (const key in unwrapped) {
144
- if (!Object.prototype.hasOwnProperty.call(unwrapped, key)) continue;
145
-
146
- const value = (unwrapped as any)[key];
147
-
148
- if (isArray(value)) {
149
- result[key] = value.map(item => (isPlainObject(item) || isArray(item) ? deepUnwrapObject(item, cache) : item));
150
- } else if (isPlainObject(value)) {
151
- result[key] = deepUnwrapObject(value, cache);
152
- } else {
153
- result[key] = value;
154
- }
155
- }
156
-
157
- return result;
158
- };
159
-
160
- export const getOriginalObject = (resolvedObject: object): object => {
161
- const originalObject: any = (resolvedObject as Record<symbol, object>)[originalObjectSymbol] || resolvedObject;
162
- if (!originalObject) {
163
- return resolvedObject;
164
- }
165
-
166
- const hasAllSchemaErrors = (array: any[]) => {
167
- return array.every(item => item['x-sl-error-message'] !== undefined);
168
- };
169
-
170
- const deepUnwrapped = deepUnwrapObject(originalObject);
171
-
172
- if (deepUnwrapped.anyOf) {
173
- if (hasAllSchemaErrors(deepUnwrapped.anyOf)) {
174
- return { ...deepUnwrapped, anyOf: [deepUnwrapped.anyOf] };
175
- }
176
- const filteredArray = deepUnwrapped.anyOf.filter((item: { [x: string]: any }) => !item['x-sl-error-message']);
177
- return { ...deepUnwrapped, anyOf: filteredArray };
178
- } else if (deepUnwrapped.oneOf) {
179
- if (hasAllSchemaErrors(deepUnwrapped.oneOf)) {
180
- return { ...deepUnwrapped, oneOf: [deepUnwrapped.oneOf] };
181
- }
182
- const filteredArray = deepUnwrapped.oneOf.filter((item: { [x: string]: any }) => !item['x-sl-error-message']);
183
- return { ...deepUnwrapped, oneOf: filteredArray };
184
- }
185
-
186
- return deepUnwrapped;
187
- };
188
-
189
- export const isReference = hasRef;