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

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/{dist/index.esm.js → index.esm.js} +7 -2
  2. package/{dist/index.js → index.js} +7 -2
  3. package/{dist/index.mjs → index.mjs} +7 -2
  4. package/package.json +14 -74
  5. package/.storybook/main.js +0 -6
  6. package/.storybook/manager.js +0 -1
  7. package/.storybook/preview.jsx +0 -50
  8. package/dist/LICENSE +0 -190
  9. package/dist/README.md +0 -46
  10. package/dist/package.json +0 -65
  11. package/jest.config.js +0 -10
  12. package/src/__fixtures__/articles/basic.md +0 -10
  13. package/src/__fixtures__/articles/kitchen-sink.md +0 -318
  14. package/src/__fixtures__/articles/long-page-heading.md +0 -955
  15. package/src/__fixtures__/articles/multiple-try-its.md +0 -54
  16. package/src/__fixtures__/articles/schema-with-refs.ts +0 -82
  17. package/src/__fixtures__/http-request.json +0 -11
  18. package/src/__fixtures__/models/model-with-no-examples.json +0 -15
  19. package/src/__fixtures__/models/model-with-one-example.json +0 -23
  20. package/src/__fixtures__/models/model-with-three-examples.json +0 -35
  21. package/src/__fixtures__/operations/application-octet-stream-post.ts +0 -39
  22. package/src/__fixtures__/operations/base64-file-upload.ts +0 -43
  23. package/src/__fixtures__/operations/big-response.ts +0 -4690
  24. package/src/__fixtures__/operations/bundled-parameter.ts +0 -128
  25. package/src/__fixtures__/operations/empty-response.ts +0 -15
  26. package/src/__fixtures__/operations/examples-request-body.ts +0 -135
  27. package/src/__fixtures__/operations/head-todos.ts +0 -49
  28. package/src/__fixtures__/operations/invalid-response-example.ts +0 -45
  29. package/src/__fixtures__/operations/multipart-formdata-post.ts +0 -61
  30. package/src/__fixtures__/operations/operation-minimal.ts +0 -11
  31. package/src/__fixtures__/operations/operation-parameters.ts +0 -337
  32. package/src/__fixtures__/operations/operation-with-examples.ts +0 -113
  33. package/src/__fixtures__/operations/operation-without-servers.ts +0 -16
  34. package/src/__fixtures__/operations/patch-todos.ts +0 -49
  35. package/src/__fixtures__/operations/put-todos.ts +0 -862
  36. package/src/__fixtures__/operations/referenced-body.ts +0 -62
  37. package/src/__fixtures__/operations/request-body-empty-schema.ts +0 -35
  38. package/src/__fixtures__/operations/request-body.ts +0 -62
  39. package/src/__fixtures__/operations/securedOperation.ts +0 -118
  40. package/src/__fixtures__/operations/security-basic.ts +0 -24
  41. package/src/__fixtures__/operations/security-bearer.ts +0 -25
  42. package/src/__fixtures__/operations/simple-get.ts +0 -17
  43. package/src/__fixtures__/operations/simple.ts +0 -103
  44. package/src/__fixtures__/operations/string-numeric-enums.ts +0 -32
  45. package/src/__fixtures__/operations/urlencoded-post-oneof.ts +0 -81
  46. package/src/__fixtures__/operations/urlencoded-post.ts +0 -54
  47. package/src/__fixtures__/operations/vendor-extensions.ts +0 -337
  48. package/src/__fixtures__/operations/with-url-variables.ts +0 -47
  49. package/src/__fixtures__/operations/x-code-samples.ts +0 -348
  50. package/src/__fixtures__/schemas/circular.ts +0 -1906
  51. package/src/__fixtures__/schemas/contact.json +0 -293
  52. package/src/__fixtures__/schemas/media-entry.json +0 -69
  53. package/src/__fixtures__/schemas/simple.json +0 -27
  54. package/src/__fixtures__/schemas/todo-full.v1.json +0 -35
  55. package/src/__fixtures__/schemas/todo-partial.v1.json +0 -14
  56. package/src/__fixtures__/schemas/user.v1.json +0 -17
  57. package/src/__fixtures__/security-schemes/index.ts +0 -38
  58. package/src/__fixtures__/services/petstore.ts +0 -167
  59. package/src/__fixtures__/services/with-unnamed-servers.ts +0 -38
  60. package/src/__fixtures__/services/with-url-variables.ts +0 -83
  61. package/src/__fixtures__/services/without-origin.ts +0 -20
  62. package/src/__fixtures__/table-of-contents/nested.ts +0 -44
  63. package/src/__fixtures__/table-of-contents/studio-template.ts +0 -100
  64. package/src/__fixtures__/table-of-contents/studio.ts +0 -559
  65. package/src/components/Docs/Article/Article.spec.tsx +0 -38
  66. package/src/components/Docs/Article/Article.stories.tsx +0 -17
  67. package/src/components/Docs/Article/index.tsx +0 -38
  68. package/src/components/Docs/Docs.stories.tsx +0 -33
  69. package/src/components/Docs/Docs.tsx +0 -231
  70. package/src/components/Docs/HttpOperation/Badges.tsx +0 -49
  71. package/src/components/Docs/HttpOperation/Body.tsx +0 -79
  72. package/src/components/Docs/HttpOperation/Callbacks.tsx +0 -89
  73. package/src/components/Docs/HttpOperation/HttpOperation.spec.tsx +0 -787
  74. package/src/components/Docs/HttpOperation/HttpOperation.stories.ts +0 -14
  75. package/src/components/Docs/HttpOperation/HttpOperation.tsx +0 -255
  76. package/src/components/Docs/HttpOperation/Parameters.spec.tsx +0 -101
  77. package/src/components/Docs/HttpOperation/Parameters.tsx +0 -118
  78. package/src/components/Docs/HttpOperation/Request.tsx +0 -140
  79. package/src/components/Docs/HttpOperation/Responses.tsx +0 -247
  80. package/src/components/Docs/HttpOperation/index.ts +0 -1
  81. package/src/components/Docs/HttpService/AdditionalInfo.stories.ts +0 -48
  82. package/src/components/Docs/HttpService/AdditionalInfo.tsx +0 -61
  83. package/src/components/Docs/HttpService/ExportButton.tsx +0 -35
  84. package/src/components/Docs/HttpService/HttpService.spec.tsx +0 -429
  85. package/src/components/Docs/HttpService/HttpService.stories.ts +0 -14
  86. package/src/components/Docs/HttpService/HttpService.tsx +0 -99
  87. package/src/components/Docs/HttpService/SecuritySchemes.tsx +0 -82
  88. package/src/components/Docs/HttpService/ServerInfo.tsx +0 -196
  89. package/src/components/Docs/HttpService/index.ts +0 -1
  90. package/src/components/Docs/Model/Model.spec.tsx +0 -241
  91. package/src/components/Docs/Model/Model.stories.tsx +0 -16
  92. package/src/components/Docs/Model/Model.tsx +0 -160
  93. package/src/components/Docs/Model/index.ts +0 -1
  94. package/src/components/Docs/NodeVendorExtensions.tsx +0 -55
  95. package/src/components/Docs/Sections.tsx +0 -54
  96. package/src/components/Docs/Security/PanelContent.tsx +0 -38
  97. package/src/components/Docs/Security/index.ts +0 -1
  98. package/src/components/Docs/Skeleton.tsx +0 -12
  99. package/src/components/Docs/TwoColumnLayout.tsx +0 -28
  100. package/src/components/Docs/index.ts +0 -1
  101. package/src/components/Docs/story-helper.ts +0 -46
  102. package/src/components/Docs/story-renderer-helper.tsx +0 -56
  103. package/src/components/Layout/MobileTopNav.tsx +0 -78
  104. package/src/components/Layout/ResponsiveSidebarLayout.tsx +0 -175
  105. package/src/components/Layout/SidebarLayout.tsx +0 -107
  106. package/src/components/LinkHeading.tsx +0 -21
  107. package/src/components/LoadMore.tsx +0 -20
  108. package/src/components/Loading/Loading.tsx +0 -9
  109. package/src/components/Logo.tsx +0 -25
  110. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.spec.ts +0 -90
  111. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.tsx +0 -164
  112. package/src/components/MarkdownViewer/CustomComponents/Provider.tsx +0 -20
  113. package/src/components/MarkdownViewer/CustomComponents/ReactRouterLink.tsx +0 -27
  114. package/src/components/MarkdownViewer/CustomComponents/ResolvedImage.tsx +0 -86
  115. package/src/components/MarkdownViewer/CustomComponents/ScrollToHashElement.tsx +0 -96
  116. package/src/components/MarkdownViewer/MarkdownViewer.spec.tsx +0 -170
  117. package/src/components/MarkdownViewer/index.tsx +0 -10
  118. package/src/components/NonIdealState.tsx +0 -20
  119. package/src/components/PoweredByLink.tsx +0 -30
  120. package/src/components/RequestSamples/RequestSamples.stories.tsx +0 -67
  121. package/src/components/RequestSamples/RequestSamples.tsx +0 -246
  122. package/src/components/RequestSamples/__tests__/RequestSamples.test.tsx +0 -131
  123. package/src/components/RequestSamples/__tests__/__snapshots__/convertRequestToSample.spec.ts.snap +0 -746
  124. package/src/components/RequestSamples/__tests__/convertRequestToSample.spec.ts +0 -118
  125. package/src/components/RequestSamples/convertRequestToSample.ts +0 -56
  126. package/src/components/RequestSamples/extractCodeSamples.ts +0 -50
  127. package/src/components/RequestSamples/index.ts +0 -2
  128. package/src/components/RequestSamples/requestSampleConfigs.ts +0 -182
  129. package/src/components/ResponseExamples/ResponseExamples.spec.tsx +0 -121
  130. package/src/components/ResponseExamples/ResponseExamples.stories.tsx +0 -21
  131. package/src/components/ResponseExamples/ResponseExamples.tsx +0 -79
  132. package/src/components/TableOfContents/TableOfContents.spec.tsx +0 -699
  133. package/src/components/TableOfContents/TableOfContents.stories.tsx +0 -136
  134. package/src/components/TableOfContents/TableOfContents.tsx +0 -536
  135. package/src/components/TableOfContents/constants.ts +0 -45
  136. package/src/components/TableOfContents/index.ts +0 -2
  137. package/src/components/TableOfContents/types.ts +0 -59
  138. package/src/components/TableOfContents/utils.ts +0 -84
  139. package/src/components/TryIt/Auth/APIKeyAuth.tsx +0 -19
  140. package/src/components/TryIt/Auth/Auth.tsx +0 -169
  141. package/src/components/TryIt/Auth/AuthTokenInput.tsx +0 -37
  142. package/src/components/TryIt/Auth/BasicAuth.tsx +0 -62
  143. package/src/components/TryIt/Auth/BearerAuth.tsx +0 -19
  144. package/src/components/TryIt/Auth/DigestAuth.tsx +0 -35
  145. package/src/components/TryIt/Auth/OAuth2Auth.tsx +0 -19
  146. package/src/components/TryIt/Auth/authentication-utils.ts +0 -113
  147. package/src/components/TryIt/Body/BinaryBody.tsx +0 -52
  148. package/src/components/TryIt/Body/FormDataBody.tsx +0 -145
  149. package/src/components/TryIt/Body/RequestBody.tsx +0 -71
  150. package/src/components/TryIt/Body/__tests__/BinaryBody.test.tsx +0 -29
  151. package/src/components/TryIt/Body/__tests__/FormDataBody.test.tsx +0 -94
  152. package/src/components/TryIt/Body/request-body-utils.ts +0 -127
  153. package/src/components/TryIt/Body/useTextRequestBodyState.ts +0 -27
  154. package/src/components/TryIt/Mocking/MockingButton.tsx +0 -98
  155. package/src/components/TryIt/Mocking/mocking-utils.ts +0 -56
  156. package/src/components/TryIt/Mocking/useMockingOptions.ts +0 -6
  157. package/src/components/TryIt/Parameters/FileUploadParameterEditors.tsx +0 -62
  158. package/src/components/TryIt/Parameters/OperationParameters.tsx +0 -39
  159. package/src/components/TryIt/Parameters/ParameterEditor.tsx +0 -135
  160. package/src/components/TryIt/Parameters/__tests__/parameter-utils.spec.ts +0 -60
  161. package/src/components/TryIt/Parameters/parameter-utils.spec.ts +0 -118
  162. package/src/components/TryIt/Parameters/parameter-utils.ts +0 -245
  163. package/src/components/TryIt/Parameters/useOperationParameters.ts +0 -60
  164. package/src/components/TryIt/Response/ReponseCodeViewer.tsx +0 -28
  165. package/src/components/TryIt/Response/Response.spec.tsx +0 -174
  166. package/src/components/TryIt/Response/Response.tsx +0 -173
  167. package/src/components/TryIt/Response/hooks/useLineCount.ts +0 -7
  168. package/src/components/TryIt/Servers/ServerVariables.tsx +0 -33
  169. package/src/components/TryIt/Servers/ServersDropdown.tsx +0 -53
  170. package/src/components/TryIt/Servers/VariableEditor.tsx +0 -64
  171. package/src/components/TryIt/Servers/useServerVariables.ts +0 -19
  172. package/src/components/TryIt/TryIt.spec.tsx +0 -1571
  173. package/src/components/TryIt/TryIt.stories.tsx +0 -77
  174. package/src/components/TryIt/TryIt.tsx +0 -404
  175. package/src/components/TryIt/TryItWithRequestSamples.spec.tsx +0 -143
  176. package/src/components/TryIt/TryItWithRequestSamples.stories.tsx +0 -32
  177. package/src/components/TryIt/TryItWithRequestSamples.tsx +0 -42
  178. package/src/components/TryIt/build-request.spec.ts +0 -261
  179. package/src/components/TryIt/build-request.ts +0 -357
  180. package/src/components/TryIt/chosenServer.ts +0 -5
  181. package/src/components/TryIt/index.ts +0 -3
  182. package/src/components/__tests__/LinkHeading.spec.tsx +0 -125
  183. package/src/constants.ts +0 -176
  184. package/src/containers/MockingProvider.tsx +0 -23
  185. package/src/context/InlineRefResolver.spec.tsx +0 -183
  186. package/src/context/InlineRefResolver.tsx +0 -94
  187. package/src/context/Options.tsx +0 -27
  188. package/src/context/Persistence.tsx +0 -24
  189. package/src/context/RouterType.tsx +0 -9
  190. package/src/core.css +0 -97
  191. package/src/hoc/utils.ts +0 -5
  192. package/src/hoc/withMosaicProvider.spec.tsx +0 -48
  193. package/src/hoc/withMosaicProvider.tsx +0 -28
  194. package/src/hoc/withQueryClientProvider.spec.tsx +0 -38
  195. package/src/hoc/withQueryClientProvider.tsx +0 -35
  196. package/src/hoc/withRouter.tsx +0 -71
  197. package/src/hooks/useBundleRefsIntoDocument.ts +0 -60
  198. package/src/hooks/useFirstRender.ts +0 -8
  199. package/src/hooks/useIsCompact.ts +0 -26
  200. package/src/hooks/useParsedData.ts +0 -99
  201. package/src/hooks/useParsedValue.ts +0 -19
  202. package/src/hooks/useResponsiveLayout.tsx +0 -51
  203. package/src/hooks/useRouter.tsx +0 -31
  204. package/src/hooks/useUniqueId.ts +0 -4
  205. package/src/index.ts +0 -48
  206. package/src/styled.tsx +0 -22
  207. package/src/styles.css +0 -4
  208. package/src/types.ts +0 -170
  209. package/src/utils/__tests__/securitySchemes.spec.ts +0 -137
  210. package/src/utils/exampleGeneration/exampleGeneration.spec.tsx +0 -664
  211. package/src/utils/exampleGeneration/exampleGeneration.ts +0 -332
  212. package/src/utils/fileToBase64.ts +0 -11
  213. package/src/utils/guards.ts +0 -48
  214. package/src/utils/headers.ts +0 -316
  215. package/src/utils/http-spec/IServer.ts +0 -100
  216. package/src/utils/http-spec/__tests__/IServer.spec.ts +0 -51
  217. package/src/utils/http-spec/examples.ts +0 -5
  218. package/src/utils/http.ts +0 -9
  219. package/src/utils/jotai/persistAtom.ts +0 -31
  220. package/src/utils/node.ts +0 -19
  221. package/src/utils/oas/__tests__/security.spec.ts +0 -18
  222. package/src/utils/oas/security.ts +0 -76
  223. package/src/utils/ref-resolving/ReferenceResolver.ts +0 -29
  224. package/src/utils/ref-resolving/resolvedObject.test.ts +0 -415
  225. package/src/utils/ref-resolving/resolvedObject.ts +0 -189
  226. package/src/utils/securitySchemes.ts +0 -117
  227. package/src/utils/string.ts +0 -15
  228. package/src/utils/tests/chooseOption.ts +0 -7
  229. package/src/web-components/createElementClass.ts +0 -154
  230. package/tsconfig.build.json +0 -14
  231. package/tsconfig.json +0 -7
  232. /package/{dist/__fixtures__ → __fixtures__}/articles/schema-with-refs.d.ts +0 -0
  233. /package/{dist/__fixtures__ → __fixtures__}/operations/application-octet-stream-post.d.ts +0 -0
  234. /package/{dist/__fixtures__ → __fixtures__}/operations/base64-file-upload.d.ts +0 -0
  235. /package/{dist/__fixtures__ → __fixtures__}/operations/big-response.d.ts +0 -0
  236. /package/{dist/__fixtures__ → __fixtures__}/operations/examples-request-body.d.ts +0 -0
  237. /package/{dist/__fixtures__ → __fixtures__}/operations/head-todos.d.ts +0 -0
  238. /package/{dist/__fixtures__ → __fixtures__}/operations/multipart-formdata-post.d.ts +0 -0
  239. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-minimal.d.ts +0 -0
  240. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-parameters.d.ts +0 -0
  241. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-with-examples.d.ts +0 -0
  242. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-without-servers.d.ts +0 -0
  243. /package/{dist/__fixtures__ → __fixtures__}/operations/patch-todos.d.ts +0 -0
  244. /package/{dist/__fixtures__ → __fixtures__}/operations/put-todos.d.ts +0 -0
  245. /package/{dist/__fixtures__ → __fixtures__}/operations/referenced-body.d.ts +0 -0
  246. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body-empty-schema.d.ts +0 -0
  247. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body.d.ts +0 -0
  248. /package/{dist/__fixtures__ → __fixtures__}/operations/securedOperation.d.ts +0 -0
  249. /package/{dist/__fixtures__ → __fixtures__}/operations/security-basic.d.ts +0 -0
  250. /package/{dist/__fixtures__ → __fixtures__}/operations/security-bearer.d.ts +0 -0
  251. /package/{dist/__fixtures__ → __fixtures__}/operations/simple-get.d.ts +0 -0
  252. /package/{dist/__fixtures__ → __fixtures__}/operations/string-numeric-enums.d.ts +0 -0
  253. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post-oneof.d.ts +0 -0
  254. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post.d.ts +0 -0
  255. /package/{dist/__fixtures__ → __fixtures__}/operations/with-url-variables.d.ts +0 -0
  256. /package/{dist/__fixtures__ → __fixtures__}/security-schemes/index.d.ts +0 -0
  257. /package/{dist/__fixtures__ → __fixtures__}/services/petstore.d.ts +0 -0
  258. /package/{dist/__fixtures__ → __fixtures__}/services/with-unnamed-servers.d.ts +0 -0
  259. /package/{dist/__fixtures__ → __fixtures__}/services/with-url-variables.d.ts +0 -0
  260. /package/{dist/__fixtures__ → __fixtures__}/services/without-origin.d.ts +0 -0
  261. /package/{dist/components → components}/Docs/Article/Article.spec.d.ts +0 -0
  262. /package/{dist/components → components}/Docs/Article/Article.stories.d.ts +0 -0
  263. /package/{dist/components → components}/Docs/Article/index.d.ts +0 -0
  264. /package/{dist/components → components}/Docs/Docs.d.ts +0 -0
  265. /package/{dist/components → components}/Docs/Docs.stories.d.ts +0 -0
  266. /package/{dist/components → components}/Docs/HttpOperation/Badges.d.ts +0 -0
  267. /package/{dist/components → components}/Docs/HttpOperation/Body.d.ts +0 -0
  268. /package/{dist/components → components}/Docs/HttpOperation/Callbacks.d.ts +0 -0
  269. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.d.ts +0 -0
  270. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.spec.d.ts +0 -0
  271. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.stories.d.ts +0 -0
  272. /package/{dist/components → components}/Docs/HttpOperation/Parameters.d.ts +0 -0
  273. /package/{dist/components → components}/Docs/HttpOperation/Parameters.spec.d.ts +0 -0
  274. /package/{dist/components → components}/Docs/HttpOperation/Request.d.ts +0 -0
  275. /package/{dist/components → components}/Docs/HttpOperation/Responses.d.ts +0 -0
  276. /package/{dist/components → components}/Docs/HttpOperation/index.d.ts +0 -0
  277. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.d.ts +0 -0
  278. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.stories.d.ts +0 -0
  279. /package/{dist/components → components}/Docs/HttpService/ExportButton.d.ts +0 -0
  280. /package/{dist/components → components}/Docs/HttpService/HttpService.d.ts +0 -0
  281. /package/{dist/components → components}/Docs/HttpService/HttpService.spec.d.ts +0 -0
  282. /package/{dist/components → components}/Docs/HttpService/HttpService.stories.d.ts +0 -0
  283. /package/{dist/components → components}/Docs/HttpService/SecuritySchemes.d.ts +0 -0
  284. /package/{dist/components → components}/Docs/HttpService/ServerInfo.d.ts +0 -0
  285. /package/{dist/components → components}/Docs/HttpService/index.d.ts +0 -0
  286. /package/{dist/components → components}/Docs/Model/Model.d.ts +0 -0
  287. /package/{dist/components → components}/Docs/Model/Model.spec.d.ts +0 -0
  288. /package/{dist/components → components}/Docs/Model/Model.stories.d.ts +0 -0
  289. /package/{dist/components → components}/Docs/Model/index.d.ts +0 -0
  290. /package/{dist/components → components}/Docs/NodeVendorExtensions.d.ts +0 -0
  291. /package/{dist/components → components}/Docs/Sections.d.ts +0 -0
  292. /package/{dist/components → components}/Docs/Security/PanelContent.d.ts +0 -0
  293. /package/{dist/components → components}/Docs/Security/index.d.ts +0 -0
  294. /package/{dist/components → components}/Docs/Skeleton.d.ts +0 -0
  295. /package/{dist/components → components}/Docs/TwoColumnLayout.d.ts +0 -0
  296. /package/{dist/components → components}/Docs/index.d.ts +0 -0
  297. /package/{dist/components → components}/Docs/story-helper.d.ts +0 -0
  298. /package/{dist/components → components}/Docs/story-renderer-helper.d.ts +0 -0
  299. /package/{dist/components → components}/Layout/MobileTopNav.d.ts +0 -0
  300. /package/{dist/components → components}/Layout/ResponsiveSidebarLayout.d.ts +0 -0
  301. /package/{dist/components → components}/Layout/SidebarLayout.d.ts +0 -0
  302. /package/{dist/components → components}/LinkHeading.d.ts +0 -0
  303. /package/{dist/components → components}/LoadMore.d.ts +0 -0
  304. /package/{dist/components → components}/Loading/Loading.d.ts +0 -0
  305. /package/{dist/components → components}/Logo.d.ts +0 -0
  306. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.d.ts +0 -0
  307. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.spec.d.ts +0 -0
  308. /package/{dist/components → components}/MarkdownViewer/CustomComponents/Provider.d.ts +0 -0
  309. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ReactRouterLink.d.ts +0 -0
  310. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ResolvedImage.d.ts +0 -0
  311. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ScrollToHashElement.d.ts +0 -0
  312. /package/{dist/components → components}/MarkdownViewer/MarkdownViewer.spec.d.ts +0 -0
  313. /package/{dist/components → components}/MarkdownViewer/index.d.ts +0 -0
  314. /package/{dist/components → components}/NonIdealState.d.ts +0 -0
  315. /package/{dist/components → components}/PoweredByLink.d.ts +0 -0
  316. /package/{dist/components → components}/RequestSamples/RequestSamples.d.ts +0 -0
  317. /package/{dist/components → components}/RequestSamples/RequestSamples.stories.d.ts +0 -0
  318. /package/{dist/components → components}/RequestSamples/convertRequestToSample.d.ts +0 -0
  319. /package/{dist/components → components}/RequestSamples/extractCodeSamples.d.ts +0 -0
  320. /package/{dist/components → components}/RequestSamples/index.d.ts +0 -0
  321. /package/{dist/components → components}/RequestSamples/requestSampleConfigs.d.ts +0 -0
  322. /package/{dist/components → components}/ResponseExamples/ResponseExamples.d.ts +0 -0
  323. /package/{dist/components → components}/ResponseExamples/ResponseExamples.spec.d.ts +0 -0
  324. /package/{dist/components → components}/ResponseExamples/ResponseExamples.stories.d.ts +0 -0
  325. /package/{dist/components → components}/TableOfContents/TableOfContents.d.ts +0 -0
  326. /package/{dist/components → components}/TableOfContents/TableOfContents.spec.d.ts +0 -0
  327. /package/{dist/components → components}/TableOfContents/TableOfContents.stories.d.ts +0 -0
  328. /package/{dist/components → components}/TableOfContents/constants.d.ts +0 -0
  329. /package/{dist/components → components}/TableOfContents/index.d.ts +0 -0
  330. /package/{dist/components → components}/TableOfContents/types.d.ts +0 -0
  331. /package/{dist/components → components}/TableOfContents/utils.d.ts +0 -0
  332. /package/{dist/components → components}/TryIt/Auth/APIKeyAuth.d.ts +0 -0
  333. /package/{dist/components → components}/TryIt/Auth/Auth.d.ts +0 -0
  334. /package/{dist/components → components}/TryIt/Auth/AuthTokenInput.d.ts +0 -0
  335. /package/{dist/components → components}/TryIt/Auth/BasicAuth.d.ts +0 -0
  336. /package/{dist/components → components}/TryIt/Auth/BearerAuth.d.ts +0 -0
  337. /package/{dist/components → components}/TryIt/Auth/DigestAuth.d.ts +0 -0
  338. /package/{dist/components → components}/TryIt/Auth/OAuth2Auth.d.ts +0 -0
  339. /package/{dist/components → components}/TryIt/Auth/authentication-utils.d.ts +0 -0
  340. /package/{dist/components → components}/TryIt/Body/BinaryBody.d.ts +0 -0
  341. /package/{dist/components → components}/TryIt/Body/FormDataBody.d.ts +0 -0
  342. /package/{dist/components → components}/TryIt/Body/RequestBody.d.ts +0 -0
  343. /package/{dist/components → components}/TryIt/Body/request-body-utils.d.ts +0 -0
  344. /package/{dist/components → components}/TryIt/Body/useTextRequestBodyState.d.ts +0 -0
  345. /package/{dist/components → components}/TryIt/Mocking/MockingButton.d.ts +0 -0
  346. /package/{dist/components → components}/TryIt/Mocking/mocking-utils.d.ts +0 -0
  347. /package/{dist/components → components}/TryIt/Mocking/useMockingOptions.d.ts +0 -0
  348. /package/{dist/components → components}/TryIt/Parameters/FileUploadParameterEditors.d.ts +0 -0
  349. /package/{dist/components → components}/TryIt/Parameters/OperationParameters.d.ts +0 -0
  350. /package/{dist/components → components}/TryIt/Parameters/ParameterEditor.d.ts +0 -0
  351. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.d.ts +0 -0
  352. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.spec.d.ts +0 -0
  353. /package/{dist/components → components}/TryIt/Parameters/useOperationParameters.d.ts +0 -0
  354. /package/{dist/components → components}/TryIt/Response/ReponseCodeViewer.d.ts +0 -0
  355. /package/{dist/components → components}/TryIt/Response/Response.d.ts +0 -0
  356. /package/{dist/components → components}/TryIt/Response/Response.spec.d.ts +0 -0
  357. /package/{dist/components → components}/TryIt/Response/hooks/useLineCount.d.ts +0 -0
  358. /package/{dist/components → components}/TryIt/Servers/ServerVariables.d.ts +0 -0
  359. /package/{dist/components → components}/TryIt/Servers/ServersDropdown.d.ts +0 -0
  360. /package/{dist/components → components}/TryIt/Servers/VariableEditor.d.ts +0 -0
  361. /package/{dist/components → components}/TryIt/Servers/useServerVariables.d.ts +0 -0
  362. /package/{dist/components → components}/TryIt/TryIt.d.ts +0 -0
  363. /package/{dist/components → components}/TryIt/TryIt.spec.d.ts +0 -0
  364. /package/{dist/components → components}/TryIt/TryIt.stories.d.ts +0 -0
  365. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.d.ts +0 -0
  366. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.spec.d.ts +0 -0
  367. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.stories.d.ts +0 -0
  368. /package/{dist/components → components}/TryIt/build-request.d.ts +0 -0
  369. /package/{dist/components → components}/TryIt/build-request.spec.d.ts +0 -0
  370. /package/{dist/components → components}/TryIt/chosenServer.d.ts +0 -0
  371. /package/{dist/components → components}/TryIt/index.d.ts +0 -0
  372. /package/{dist/constants.d.ts → constants.d.ts} +0 -0
  373. /package/{dist/containers → containers}/MockingProvider.d.ts +0 -0
  374. /package/{dist/context → context}/InlineRefResolver.d.ts +0 -0
  375. /package/{dist/context → context}/InlineRefResolver.spec.d.ts +0 -0
  376. /package/{dist/context → context}/Options.d.ts +0 -0
  377. /package/{dist/context → context}/Persistence.d.ts +0 -0
  378. /package/{dist/context → context}/RouterType.d.ts +0 -0
  379. /package/{dist/core.css → core.css} +0 -0
  380. /package/{dist/hoc → hoc}/utils.d.ts +0 -0
  381. /package/{dist/hoc → hoc}/withMosaicProvider.d.ts +0 -0
  382. /package/{dist/hoc → hoc}/withMosaicProvider.spec.d.ts +0 -0
  383. /package/{dist/hoc → hoc}/withQueryClientProvider.d.ts +0 -0
  384. /package/{dist/hoc → hoc}/withQueryClientProvider.spec.d.ts +0 -0
  385. /package/{dist/hoc → hoc}/withRouter.d.ts +0 -0
  386. /package/{dist/hooks → hooks}/useBundleRefsIntoDocument.d.ts +0 -0
  387. /package/{dist/hooks → hooks}/useFirstRender.d.ts +0 -0
  388. /package/{dist/hooks → hooks}/useIsCompact.d.ts +0 -0
  389. /package/{dist/hooks → hooks}/useParsedData.d.ts +0 -0
  390. /package/{dist/hooks → hooks}/useParsedValue.d.ts +0 -0
  391. /package/{dist/hooks → hooks}/useResponsiveLayout.d.ts +0 -0
  392. /package/{dist/hooks → hooks}/useRouter.d.ts +0 -0
  393. /package/{dist/hooks → hooks}/useUniqueId.d.ts +0 -0
  394. /package/{dist/index.d.ts → index.d.ts} +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;