@stoplight/elements-core 9.0.12-beta-0.2 → 9.0.12-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 (417) 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 -1
  7. package/dist/package.json +0 -64
  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 -272
  67. package/src/components/Docs/HttpOperation/Badges.tsx +0 -49
  68. package/src/components/Docs/HttpOperation/Body.tsx +0 -115
  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 -260
  73. package/src/components/Docs/HttpOperation/LazySchemaTreePreviewer.tsx +0 -651
  74. package/src/components/Docs/HttpOperation/Parameters.spec.tsx +0 -101
  75. package/src/components/Docs/HttpOperation/Parameters.tsx +0 -118
  76. package/src/components/Docs/HttpOperation/Request.tsx +0 -152
  77. package/src/components/Docs/HttpOperation/Responses.tsx +0 -301
  78. package/src/components/Docs/HttpOperation/index.ts +0 -1
  79. package/src/components/Docs/HttpService/AdditionalInfo.stories.ts +0 -48
  80. package/src/components/Docs/HttpService/AdditionalInfo.tsx +0 -61
  81. package/src/components/Docs/HttpService/ExportButton.tsx +0 -35
  82. package/src/components/Docs/HttpService/HttpService.spec.tsx +0 -429
  83. package/src/components/Docs/HttpService/HttpService.stories.ts +0 -14
  84. package/src/components/Docs/HttpService/HttpService.tsx +0 -99
  85. package/src/components/Docs/HttpService/SecuritySchemes.tsx +0 -82
  86. package/src/components/Docs/HttpService/ServerInfo.tsx +0 -196
  87. package/src/components/Docs/HttpService/index.ts +0 -1
  88. package/src/components/Docs/Model/Model.spec.tsx +0 -241
  89. package/src/components/Docs/Model/Model.stories.tsx +0 -16
  90. package/src/components/Docs/Model/Model.tsx +0 -192
  91. package/src/components/Docs/Model/index.ts +0 -1
  92. package/src/components/Docs/NodeVendorExtensions.tsx +0 -55
  93. package/src/components/Docs/Sections.tsx +0 -54
  94. package/src/components/Docs/Security/PanelContent.tsx +0 -38
  95. package/src/components/Docs/Security/index.ts +0 -1
  96. package/src/components/Docs/Skeleton.tsx +0 -12
  97. package/src/components/Docs/TwoColumnLayout.tsx +0 -27
  98. package/src/components/Docs/index.ts +0 -1
  99. package/src/components/Docs/story-helper.ts +0 -46
  100. package/src/components/Docs/story-renderer-helper.tsx +0 -56
  101. package/src/components/Layout/MobileTopNav.tsx +0 -78
  102. package/src/components/Layout/ResponsiveSidebarLayout.tsx +0 -175
  103. package/src/components/Layout/SidebarLayout.tsx +0 -107
  104. package/src/components/LinkHeading.tsx +0 -21
  105. package/src/components/LoadMore.tsx +0 -20
  106. package/src/components/Loading/Loading.tsx +0 -9
  107. package/src/components/Logo.tsx +0 -25
  108. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.spec.ts +0 -90
  109. package/src/components/MarkdownViewer/CustomComponents/CodeComponent.tsx +0 -164
  110. package/src/components/MarkdownViewer/CustomComponents/Provider.tsx +0 -20
  111. package/src/components/MarkdownViewer/CustomComponents/ReactRouterLink.tsx +0 -27
  112. package/src/components/MarkdownViewer/CustomComponents/ResolvedImage.tsx +0 -86
  113. package/src/components/MarkdownViewer/CustomComponents/ScrollToHashElement.tsx +0 -96
  114. package/src/components/MarkdownViewer/MarkdownViewer.spec.tsx +0 -170
  115. package/src/components/MarkdownViewer/index.tsx +0 -10
  116. package/src/components/NonIdealState.tsx +0 -20
  117. package/src/components/PoweredByLink.tsx +0 -30
  118. package/src/components/RequestSamples/RequestSamples.stories.tsx +0 -67
  119. package/src/components/RequestSamples/RequestSamples.tsx +0 -246
  120. package/src/components/RequestSamples/__tests__/RequestSamples.test.tsx +0 -131
  121. package/src/components/RequestSamples/__tests__/__snapshots__/convertRequestToSample.spec.ts.snap +0 -746
  122. package/src/components/RequestSamples/__tests__/convertRequestToSample.spec.ts +0 -118
  123. package/src/components/RequestSamples/convertRequestToSample.ts +0 -56
  124. package/src/components/RequestSamples/extractCodeSamples.ts +0 -50
  125. package/src/components/RequestSamples/index.ts +0 -2
  126. package/src/components/RequestSamples/requestSampleConfigs.ts +0 -182
  127. package/src/components/ResponseExamples/ResponseExamples.spec.tsx +0 -121
  128. package/src/components/ResponseExamples/ResponseExamples.stories.tsx +0 -21
  129. package/src/components/ResponseExamples/ResponseExamples.tsx +0 -79
  130. package/src/components/TableOfContents/TableOfContents.spec.tsx +0 -301
  131. package/src/components/TableOfContents/TableOfContents.stories.tsx +0 -121
  132. package/src/components/TableOfContents/TableOfContents.tsx +0 -406
  133. package/src/components/TableOfContents/constants.ts +0 -45
  134. package/src/components/TableOfContents/index.ts +0 -2
  135. package/src/components/TableOfContents/types.ts +0 -51
  136. package/src/components/TableOfContents/utils.ts +0 -84
  137. package/src/components/TryIt/Auth/APIKeyAuth.tsx +0 -19
  138. package/src/components/TryIt/Auth/Auth.tsx +0 -169
  139. package/src/components/TryIt/Auth/AuthTokenInput.tsx +0 -37
  140. package/src/components/TryIt/Auth/BasicAuth.tsx +0 -62
  141. package/src/components/TryIt/Auth/BearerAuth.tsx +0 -19
  142. package/src/components/TryIt/Auth/DigestAuth.tsx +0 -35
  143. package/src/components/TryIt/Auth/OAuth2Auth.tsx +0 -19
  144. package/src/components/TryIt/Auth/authentication-utils.ts +0 -113
  145. package/src/components/TryIt/Body/BinaryBody.tsx +0 -52
  146. package/src/components/TryIt/Body/FormDataBody.tsx +0 -145
  147. package/src/components/TryIt/Body/RequestBody.tsx +0 -71
  148. package/src/components/TryIt/Body/__tests__/BinaryBody.test.tsx +0 -29
  149. package/src/components/TryIt/Body/__tests__/FormDataBody.test.tsx +0 -94
  150. package/src/components/TryIt/Body/request-body-utils.ts +0 -127
  151. package/src/components/TryIt/Body/useTextRequestBodyState.ts +0 -27
  152. package/src/components/TryIt/Mocking/MockingButton.tsx +0 -98
  153. package/src/components/TryIt/Mocking/mocking-utils.ts +0 -56
  154. package/src/components/TryIt/Mocking/useMockingOptions.ts +0 -6
  155. package/src/components/TryIt/Parameters/FileUploadParameterEditors.tsx +0 -62
  156. package/src/components/TryIt/Parameters/OperationParameters.tsx +0 -39
  157. package/src/components/TryIt/Parameters/ParameterEditor.tsx +0 -118
  158. package/src/components/TryIt/Parameters/__tests__/parameter-utils.spec.ts +0 -60
  159. package/src/components/TryIt/Parameters/parameter-utils.spec.ts +0 -118
  160. package/src/components/TryIt/Parameters/parameter-utils.ts +0 -179
  161. package/src/components/TryIt/Parameters/useOperationParameters.ts +0 -60
  162. package/src/components/TryIt/Response/ReponseCodeViewer.tsx +0 -28
  163. package/src/components/TryIt/Response/Response.spec.tsx +0 -174
  164. package/src/components/TryIt/Response/Response.tsx +0 -172
  165. package/src/components/TryIt/Response/hooks/useLineCount.ts +0 -7
  166. package/src/components/TryIt/Servers/ServerVariables.tsx +0 -33
  167. package/src/components/TryIt/Servers/ServersDropdown.tsx +0 -53
  168. package/src/components/TryIt/Servers/VariableEditor.tsx +0 -51
  169. package/src/components/TryIt/Servers/useServerVariables.ts +0 -19
  170. package/src/components/TryIt/TryIt.spec.tsx +0 -1511
  171. package/src/components/TryIt/TryIt.stories.tsx +0 -77
  172. package/src/components/TryIt/TryIt.tsx +0 -384
  173. package/src/components/TryIt/TryItWithRequestSamples.spec.tsx +0 -143
  174. package/src/components/TryIt/TryItWithRequestSamples.stories.tsx +0 -32
  175. package/src/components/TryIt/TryItWithRequestSamples.tsx +0 -42
  176. package/src/components/TryIt/build-request.spec.ts +0 -213
  177. package/src/components/TryIt/build-request.ts +0 -357
  178. package/src/components/TryIt/chosenServer.ts +0 -5
  179. package/src/components/TryIt/index.ts +0 -3
  180. package/src/components/__tests__/LinkHeading.spec.tsx +0 -125
  181. package/src/constants.ts +0 -176
  182. package/src/containers/MockingProvider.tsx +0 -23
  183. package/src/context/InlineRefResolver.spec.tsx +0 -183
  184. package/src/context/InlineRefResolver.tsx +0 -94
  185. package/src/context/Options.tsx +0 -27
  186. package/src/context/Persistence.tsx +0 -24
  187. package/src/context/RouterType.tsx +0 -9
  188. package/src/core.css +0 -97
  189. package/src/hoc/utils.ts +0 -5
  190. package/src/hoc/withMosaicProvider.spec.tsx +0 -48
  191. package/src/hoc/withMosaicProvider.tsx +0 -28
  192. package/src/hoc/withQueryClientProvider.spec.tsx +0 -38
  193. package/src/hoc/withQueryClientProvider.tsx +0 -35
  194. package/src/hoc/withRouter.tsx +0 -71
  195. package/src/hooks/useBundleRefsIntoDocument.ts +0 -60
  196. package/src/hooks/useFirstRender.ts +0 -8
  197. package/src/hooks/useIsCompact.ts +0 -26
  198. package/src/hooks/useParsedData.ts +0 -99
  199. package/src/hooks/useParsedValue.ts +0 -19
  200. package/src/hooks/useResponsiveLayout.tsx +0 -51
  201. package/src/hooks/useRouter.tsx +0 -31
  202. package/src/hooks/useUniqueId.ts +0 -4
  203. package/src/index.ts +0 -48
  204. package/src/styled.tsx +0 -22
  205. package/src/styles.css +0 -4
  206. package/src/types.ts +0 -170
  207. package/src/utils/__tests__/securitySchemes.spec.ts +0 -137
  208. package/src/utils/exampleGeneration/exampleGeneration.spec.tsx +0 -18
  209. package/src/utils/exampleGeneration/exampleGeneration.ts +0 -110
  210. package/src/utils/fileToBase64.ts +0 -11
  211. package/src/utils/guards.ts +0 -48
  212. package/src/utils/headers.ts +0 -316
  213. package/src/utils/http-spec/IServer.ts +0 -100
  214. package/src/utils/http-spec/__tests__/IServer.spec.ts +0 -51
  215. package/src/utils/http-spec/examples.ts +0 -5
  216. package/src/utils/http.ts +0 -9
  217. package/src/utils/jotai/persistAtom.ts +0 -31
  218. package/src/utils/node.ts +0 -19
  219. package/src/utils/oas/__tests__/security.spec.ts +0 -18
  220. package/src/utils/oas/security.ts +0 -76
  221. package/src/utils/ref-resolving/ReferenceResolver.ts +0 -29
  222. package/src/utils/ref-resolving/resolvedObject.test.ts +0 -415
  223. package/src/utils/ref-resolving/resolvedObject.ts +0 -109
  224. package/src/utils/securitySchemes.ts +0 -117
  225. package/src/utils/string.ts +0 -15
  226. package/src/utils/tests/chooseOption.ts +0 -7
  227. package/src/web-components/createElementClass.ts +0 -154
  228. package/tsconfig.build.json +0 -14
  229. package/tsconfig.json +0 -7
  230. /package/{dist/__fixtures__ → __fixtures__}/articles/schema-with-refs.d.ts +0 -0
  231. /package/{dist/__fixtures__ → __fixtures__}/operations/application-octet-stream-post.d.ts +0 -0
  232. /package/{dist/__fixtures__ → __fixtures__}/operations/base64-file-upload.d.ts +0 -0
  233. /package/{dist/__fixtures__ → __fixtures__}/operations/big-response.d.ts +0 -0
  234. /package/{dist/__fixtures__ → __fixtures__}/operations/examples-request-body.d.ts +0 -0
  235. /package/{dist/__fixtures__ → __fixtures__}/operations/head-todos.d.ts +0 -0
  236. /package/{dist/__fixtures__ → __fixtures__}/operations/multipart-formdata-post.d.ts +0 -0
  237. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-minimal.d.ts +0 -0
  238. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-parameters.d.ts +0 -0
  239. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-with-examples.d.ts +0 -0
  240. /package/{dist/__fixtures__ → __fixtures__}/operations/operation-without-servers.d.ts +0 -0
  241. /package/{dist/__fixtures__ → __fixtures__}/operations/patch-todos.d.ts +0 -0
  242. /package/{dist/__fixtures__ → __fixtures__}/operations/put-todos.d.ts +0 -0
  243. /package/{dist/__fixtures__ → __fixtures__}/operations/referenced-body.d.ts +0 -0
  244. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body-empty-schema.d.ts +0 -0
  245. /package/{dist/__fixtures__ → __fixtures__}/operations/request-body.d.ts +0 -0
  246. /package/{dist/__fixtures__ → __fixtures__}/operations/securedOperation.d.ts +0 -0
  247. /package/{dist/__fixtures__ → __fixtures__}/operations/security-basic.d.ts +0 -0
  248. /package/{dist/__fixtures__ → __fixtures__}/operations/security-bearer.d.ts +0 -0
  249. /package/{dist/__fixtures__ → __fixtures__}/operations/simple-get.d.ts +0 -0
  250. /package/{dist/__fixtures__ → __fixtures__}/operations/string-numeric-enums.d.ts +0 -0
  251. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post-oneof.d.ts +0 -0
  252. /package/{dist/__fixtures__ → __fixtures__}/operations/urlencoded-post.d.ts +0 -0
  253. /package/{dist/__fixtures__ → __fixtures__}/operations/with-url-variables.d.ts +0 -0
  254. /package/{dist/__fixtures__ → __fixtures__}/security-schemes/index.d.ts +0 -0
  255. /package/{dist/__fixtures__ → __fixtures__}/services/petstore.d.ts +0 -0
  256. /package/{dist/__fixtures__ → __fixtures__}/services/with-unnamed-servers.d.ts +0 -0
  257. /package/{dist/__fixtures__ → __fixtures__}/services/with-url-variables.d.ts +0 -0
  258. /package/{dist/__fixtures__ → __fixtures__}/services/without-origin.d.ts +0 -0
  259. /package/{dist/components → components}/Docs/Article/Article.spec.d.ts +0 -0
  260. /package/{dist/components → components}/Docs/Article/Article.stories.d.ts +0 -0
  261. /package/{dist/components → components}/Docs/Article/index.d.ts +0 -0
  262. /package/{dist/components → components}/Docs/Docs.d.ts +0 -0
  263. /package/{dist/components → components}/Docs/Docs.stories.d.ts +0 -0
  264. /package/{dist/components → components}/Docs/HttpOperation/Badges.d.ts +0 -0
  265. /package/{dist/components → components}/Docs/HttpOperation/Body.d.ts +0 -0
  266. /package/{dist/components → components}/Docs/HttpOperation/Callbacks.d.ts +0 -0
  267. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.d.ts +0 -0
  268. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.spec.d.ts +0 -0
  269. /package/{dist/components → components}/Docs/HttpOperation/HttpOperation.stories.d.ts +0 -0
  270. /package/{dist/components → components}/Docs/HttpOperation/LazySchemaTreePreviewer.d.ts +0 -0
  271. /package/{dist/components → components}/Docs/HttpOperation/Parameters.d.ts +0 -0
  272. /package/{dist/components → components}/Docs/HttpOperation/Parameters.spec.d.ts +0 -0
  273. /package/{dist/components → components}/Docs/HttpOperation/Request.d.ts +0 -0
  274. /package/{dist/components → components}/Docs/HttpOperation/Responses.d.ts +0 -0
  275. /package/{dist/components → components}/Docs/HttpOperation/index.d.ts +0 -0
  276. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.d.ts +0 -0
  277. /package/{dist/components → components}/Docs/HttpService/AdditionalInfo.stories.d.ts +0 -0
  278. /package/{dist/components → components}/Docs/HttpService/ExportButton.d.ts +0 -0
  279. /package/{dist/components → components}/Docs/HttpService/HttpService.d.ts +0 -0
  280. /package/{dist/components → components}/Docs/HttpService/HttpService.spec.d.ts +0 -0
  281. /package/{dist/components → components}/Docs/HttpService/HttpService.stories.d.ts +0 -0
  282. /package/{dist/components → components}/Docs/HttpService/SecuritySchemes.d.ts +0 -0
  283. /package/{dist/components → components}/Docs/HttpService/ServerInfo.d.ts +0 -0
  284. /package/{dist/components → components}/Docs/HttpService/index.d.ts +0 -0
  285. /package/{dist/components → components}/Docs/Model/Model.d.ts +0 -0
  286. /package/{dist/components → components}/Docs/Model/Model.spec.d.ts +0 -0
  287. /package/{dist/components → components}/Docs/Model/Model.stories.d.ts +0 -0
  288. /package/{dist/components → components}/Docs/Model/index.d.ts +0 -0
  289. /package/{dist/components → components}/Docs/NodeVendorExtensions.d.ts +0 -0
  290. /package/{dist/components → components}/Docs/Sections.d.ts +0 -0
  291. /package/{dist/components → components}/Docs/Security/PanelContent.d.ts +0 -0
  292. /package/{dist/components → components}/Docs/Security/index.d.ts +0 -0
  293. /package/{dist/components → components}/Docs/Skeleton.d.ts +0 -0
  294. /package/{dist/components → components}/Docs/TwoColumnLayout.d.ts +0 -0
  295. /package/{dist/components → components}/Docs/index.d.ts +0 -0
  296. /package/{dist/components → components}/Docs/story-helper.d.ts +0 -0
  297. /package/{dist/components → components}/Docs/story-renderer-helper.d.ts +0 -0
  298. /package/{dist/components → components}/Layout/MobileTopNav.d.ts +0 -0
  299. /package/{dist/components → components}/Layout/ResponsiveSidebarLayout.d.ts +0 -0
  300. /package/{dist/components → components}/Layout/SidebarLayout.d.ts +0 -0
  301. /package/{dist/components → components}/LinkHeading.d.ts +0 -0
  302. /package/{dist/components → components}/LoadMore.d.ts +0 -0
  303. /package/{dist/components → components}/Loading/Loading.d.ts +0 -0
  304. /package/{dist/components → components}/Logo.d.ts +0 -0
  305. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.d.ts +0 -0
  306. /package/{dist/components → components}/MarkdownViewer/CustomComponents/CodeComponent.spec.d.ts +0 -0
  307. /package/{dist/components → components}/MarkdownViewer/CustomComponents/Provider.d.ts +0 -0
  308. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ReactRouterLink.d.ts +0 -0
  309. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ResolvedImage.d.ts +0 -0
  310. /package/{dist/components → components}/MarkdownViewer/CustomComponents/ScrollToHashElement.d.ts +0 -0
  311. /package/{dist/components → components}/MarkdownViewer/MarkdownViewer.spec.d.ts +0 -0
  312. /package/{dist/components → components}/MarkdownViewer/index.d.ts +0 -0
  313. /package/{dist/components → components}/NonIdealState.d.ts +0 -0
  314. /package/{dist/components → components}/PoweredByLink.d.ts +0 -0
  315. /package/{dist/components → components}/RequestSamples/RequestSamples.d.ts +0 -0
  316. /package/{dist/components → components}/RequestSamples/RequestSamples.stories.d.ts +0 -0
  317. /package/{dist/components → components}/RequestSamples/convertRequestToSample.d.ts +0 -0
  318. /package/{dist/components → components}/RequestSamples/extractCodeSamples.d.ts +0 -0
  319. /package/{dist/components → components}/RequestSamples/index.d.ts +0 -0
  320. /package/{dist/components → components}/RequestSamples/requestSampleConfigs.d.ts +0 -0
  321. /package/{dist/components → components}/ResponseExamples/ResponseExamples.d.ts +0 -0
  322. /package/{dist/components → components}/ResponseExamples/ResponseExamples.spec.d.ts +0 -0
  323. /package/{dist/components → components}/ResponseExamples/ResponseExamples.stories.d.ts +0 -0
  324. /package/{dist/components → components}/TableOfContents/TableOfContents.d.ts +0 -0
  325. /package/{dist/components → components}/TableOfContents/TableOfContents.spec.d.ts +0 -0
  326. /package/{dist/components → components}/TableOfContents/TableOfContents.stories.d.ts +0 -0
  327. /package/{dist/components → components}/TableOfContents/constants.d.ts +0 -0
  328. /package/{dist/components → components}/TableOfContents/index.d.ts +0 -0
  329. /package/{dist/components → components}/TableOfContents/types.d.ts +0 -0
  330. /package/{dist/components → components}/TableOfContents/utils.d.ts +0 -0
  331. /package/{dist/components → components}/TryIt/Auth/APIKeyAuth.d.ts +0 -0
  332. /package/{dist/components → components}/TryIt/Auth/Auth.d.ts +0 -0
  333. /package/{dist/components → components}/TryIt/Auth/AuthTokenInput.d.ts +0 -0
  334. /package/{dist/components → components}/TryIt/Auth/BasicAuth.d.ts +0 -0
  335. /package/{dist/components → components}/TryIt/Auth/BearerAuth.d.ts +0 -0
  336. /package/{dist/components → components}/TryIt/Auth/DigestAuth.d.ts +0 -0
  337. /package/{dist/components → components}/TryIt/Auth/OAuth2Auth.d.ts +0 -0
  338. /package/{dist/components → components}/TryIt/Auth/authentication-utils.d.ts +0 -0
  339. /package/{dist/components → components}/TryIt/Body/BinaryBody.d.ts +0 -0
  340. /package/{dist/components → components}/TryIt/Body/FormDataBody.d.ts +0 -0
  341. /package/{dist/components → components}/TryIt/Body/RequestBody.d.ts +0 -0
  342. /package/{dist/components → components}/TryIt/Body/request-body-utils.d.ts +0 -0
  343. /package/{dist/components → components}/TryIt/Body/useTextRequestBodyState.d.ts +0 -0
  344. /package/{dist/components → components}/TryIt/Mocking/MockingButton.d.ts +0 -0
  345. /package/{dist/components → components}/TryIt/Mocking/mocking-utils.d.ts +0 -0
  346. /package/{dist/components → components}/TryIt/Mocking/useMockingOptions.d.ts +0 -0
  347. /package/{dist/components → components}/TryIt/Parameters/FileUploadParameterEditors.d.ts +0 -0
  348. /package/{dist/components → components}/TryIt/Parameters/OperationParameters.d.ts +0 -0
  349. /package/{dist/components → components}/TryIt/Parameters/ParameterEditor.d.ts +0 -0
  350. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.d.ts +0 -0
  351. /package/{dist/components → components}/TryIt/Parameters/parameter-utils.spec.d.ts +0 -0
  352. /package/{dist/components → components}/TryIt/Parameters/useOperationParameters.d.ts +0 -0
  353. /package/{dist/components → components}/TryIt/Response/ReponseCodeViewer.d.ts +0 -0
  354. /package/{dist/components → components}/TryIt/Response/Response.d.ts +0 -0
  355. /package/{dist/components → components}/TryIt/Response/Response.spec.d.ts +0 -0
  356. /package/{dist/components → components}/TryIt/Response/hooks/useLineCount.d.ts +0 -0
  357. /package/{dist/components → components}/TryIt/Servers/ServerVariables.d.ts +0 -0
  358. /package/{dist/components → components}/TryIt/Servers/ServersDropdown.d.ts +0 -0
  359. /package/{dist/components → components}/TryIt/Servers/VariableEditor.d.ts +0 -0
  360. /package/{dist/components → components}/TryIt/Servers/useServerVariables.d.ts +0 -0
  361. /package/{dist/components → components}/TryIt/TryIt.d.ts +0 -0
  362. /package/{dist/components → components}/TryIt/TryIt.spec.d.ts +0 -0
  363. /package/{dist/components → components}/TryIt/TryIt.stories.d.ts +0 -0
  364. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.d.ts +0 -0
  365. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.spec.d.ts +0 -0
  366. /package/{dist/components → components}/TryIt/TryItWithRequestSamples.stories.d.ts +0 -0
  367. /package/{dist/components → components}/TryIt/build-request.d.ts +0 -0
  368. /package/{dist/components → components}/TryIt/build-request.spec.d.ts +0 -0
  369. /package/{dist/components → components}/TryIt/chosenServer.d.ts +0 -0
  370. /package/{dist/components → components}/TryIt/index.d.ts +0 -0
  371. /package/{dist/constants.d.ts → constants.d.ts} +0 -0
  372. /package/{dist/containers → containers}/MockingProvider.d.ts +0 -0
  373. /package/{dist/context → context}/InlineRefResolver.d.ts +0 -0
  374. /package/{dist/context → context}/InlineRefResolver.spec.d.ts +0 -0
  375. /package/{dist/context → context}/Options.d.ts +0 -0
  376. /package/{dist/context → context}/Persistence.d.ts +0 -0
  377. /package/{dist/context → context}/RouterType.d.ts +0 -0
  378. /package/{dist/core.css → core.css} +0 -0
  379. /package/{dist/hoc → hoc}/utils.d.ts +0 -0
  380. /package/{dist/hoc → hoc}/withMosaicProvider.d.ts +0 -0
  381. /package/{dist/hoc → hoc}/withMosaicProvider.spec.d.ts +0 -0
  382. /package/{dist/hoc → hoc}/withQueryClientProvider.d.ts +0 -0
  383. /package/{dist/hoc → hoc}/withQueryClientProvider.spec.d.ts +0 -0
  384. /package/{dist/hoc → hoc}/withRouter.d.ts +0 -0
  385. /package/{dist/hooks → hooks}/useBundleRefsIntoDocument.d.ts +0 -0
  386. /package/{dist/hooks → hooks}/useFirstRender.d.ts +0 -0
  387. /package/{dist/hooks → hooks}/useIsCompact.d.ts +0 -0
  388. /package/{dist/hooks → hooks}/useParsedData.d.ts +0 -0
  389. /package/{dist/hooks → hooks}/useParsedValue.d.ts +0 -0
  390. /package/{dist/hooks → hooks}/useResponsiveLayout.d.ts +0 -0
  391. /package/{dist/hooks → hooks}/useRouter.d.ts +0 -0
  392. /package/{dist/hooks → hooks}/useUniqueId.d.ts +0 -0
  393. /package/{dist/index.d.ts → index.d.ts} +0 -0
  394. /package/{dist/index.esm.js → index.esm.js} +0 -0
  395. /package/{dist/index.js → index.js} +0 -0
  396. /package/{dist/index.mjs → index.mjs} +0 -0
  397. /package/{dist/styled.d.ts → styled.d.ts} +0 -0
  398. /package/{dist/styles.min.css → styles.min.css} +0 -0
  399. /package/{dist/types.d.ts → types.d.ts} +0 -0
  400. /package/{dist/utils → utils}/exampleGeneration/exampleGeneration.d.ts +0 -0
  401. /package/{dist/utils → utils}/exampleGeneration/exampleGeneration.spec.d.ts +0 -0
  402. /package/{dist/utils → utils}/fileToBase64.d.ts +0 -0
  403. /package/{dist/utils → utils}/guards.d.ts +0 -0
  404. /package/{dist/utils → utils}/headers.d.ts +0 -0
  405. /package/{dist/utils → utils}/http-spec/IServer.d.ts +0 -0
  406. /package/{dist/utils → utils}/http-spec/examples.d.ts +0 -0
  407. /package/{dist/utils → utils}/http.d.ts +0 -0
  408. /package/{dist/utils → utils}/jotai/persistAtom.d.ts +0 -0
  409. /package/{dist/utils → utils}/node.d.ts +0 -0
  410. /package/{dist/utils → utils}/oas/security.d.ts +0 -0
  411. /package/{dist/utils → utils}/ref-resolving/ReferenceResolver.d.ts +0 -0
  412. /package/{dist/utils → utils}/ref-resolving/resolvedObject.d.ts +0 -0
  413. /package/{dist/utils → utils}/ref-resolving/resolvedObject.test.d.ts +0 -0
  414. /package/{dist/utils → utils}/securitySchemes.d.ts +0 -0
  415. /package/{dist/utils → utils}/string.d.ts +0 -0
  416. /package/{dist/utils → utils}/tests/chooseOption.d.ts +0 -0
  417. /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,109 +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
- export const getOriginalObject = (resolvedObject: object): object => {
81
- if (!resolvedObject) return resolvedObject;
82
-
83
- const originalObject: any = (resolvedObject as Record<symbol, object>)[originalObjectSymbol] || resolvedObject;
84
- if (!originalObject) {
85
- return resolvedObject;
86
- }
87
-
88
- const hasAllSchemaErrors = (array: any[]) => {
89
- return array.every(item => item['x-sl-error-message'] !== undefined);
90
- };
91
-
92
- if (originalObject.anyOf) {
93
- if (hasAllSchemaErrors(originalObject.anyOf)) {
94
- return { ...originalObject, anyOf: [originalObject.anyOf] };
95
- }
96
- const filteredArray = originalObject.anyOf.filter((item: { [x: string]: any }) => !item['x-sl-error-message']);
97
- return { ...originalObject, anyOf: filteredArray };
98
- } else if (originalObject.oneOf) {
99
- if (hasAllSchemaErrors(originalObject.oneOf)) {
100
- return { ...originalObject, oneOf: [originalObject.oneOf] };
101
- }
102
- const filteredArray = originalObject.oneOf.filter((item: { [x: string]: any }) => !item['x-sl-error-message']);
103
- return { ...originalObject, oneOf: filteredArray };
104
- }
105
-
106
- return originalObject;
107
- };
108
-
109
- export const isReference = hasRef;
@@ -1,117 +0,0 @@
1
- import {
2
- HttpSecurityScheme,
3
- IApiKeySecurityScheme,
4
- IBasicSecurityScheme,
5
- IBearerSecurityScheme,
6
- IOauth2Flow,
7
- IOauth2SecurityScheme,
8
- IOauthFlowObjects,
9
- } from '@stoplight/types';
10
- import { entries, keys } from 'lodash';
11
-
12
- import {
13
- isOauth2AuthorizationCodeFlow,
14
- isOauth2ClientCredentialsOrPasswordFlow,
15
- isOAuth2ImplicitFlow,
16
- } from './oas/security';
17
-
18
- const oauthFlowNames: Record<keyof IOauthFlowObjects, string> = {
19
- implicit: 'Implicit',
20
- authorizationCode: 'Authorization Code',
21
- clientCredentials: 'Client Credentials',
22
- password: 'Password',
23
- };
24
-
25
- export function getDefaultDescription(scheme: HttpSecurityScheme) {
26
- switch (scheme.type) {
27
- case 'apiKey':
28
- return getApiKeyDescription(scheme);
29
- case 'http':
30
- switch (scheme.scheme) {
31
- case 'basic':
32
- return getBasicAuthDescription(scheme);
33
- case 'bearer':
34
- return getBearerAuthDescription(scheme);
35
- case 'digest':
36
- return getDigestAuthDescription(scheme);
37
- }
38
- case 'oauth2':
39
- return getOAuthDescription(scheme);
40
- }
41
-
42
- return '';
43
- }
44
-
45
- export function getOptionalAuthDescription() {
46
- return `Providing Auth is optional; requests may be made without an included Authorization header.`;
47
- }
48
-
49
- function getApiKeyDescription(scheme: IApiKeySecurityScheme) {
50
- const { in: inProperty, name } = scheme;
51
- return `An API key is a token that you provide when making API calls. Include the token in a ${inProperty} parameter called \`${name}\`.
52
-
53
- Example: ${inProperty === 'query' ? `\`?${name}=123\`` : `\`${name}: 123\``}${getSecuritySchemeRoles(scheme)}`;
54
- }
55
-
56
- function getBasicAuthDescription(schema: IBasicSecurityScheme) {
57
- return `Basic authentication is a simple authentication scheme built into the HTTP protocol.
58
- To use it, send your HTTP requests with an Authorization header that contains the word Basic
59
- followed by a space and a base64-encoded string \`username:password\`.
60
-
61
- Example: \`Authorization: Basic ZGVtbzpwQDU1dzByZA==\`${getSecuritySchemeRoles(schema)}`;
62
- }
63
-
64
- function getBearerAuthDescription(schema: IBearerSecurityScheme) {
65
- return `Provide your bearer token in the Authorization header when making requests to protected resources.
66
-
67
- Example: \`Authorization: Bearer 123\`${getSecuritySchemeRoles(schema)}`;
68
- }
69
-
70
- function getDigestAuthDescription(schema: IBasicSecurityScheme) {
71
- return `Provide your encrypted digest scheme data in the Authorization header when making requests to protected resources.
72
-
73
- Example: \`Authorization: Digest username=guest, realm="test", nonce="2", uri="/uri", response="123"\`${getSecuritySchemeRoles(
74
- schema,
75
- )}`;
76
- }
77
-
78
- function getOAuthDescription(scheme: IOauth2SecurityScheme) {
79
- const flows = keys(scheme.flows);
80
- return flows
81
- .map(flow =>
82
- getOAuthFlowDescription(
83
- oauthFlowNames[flow as keyof typeof oauthFlowNames],
84
- scheme.flows[flow as keyof IOauthFlowObjects]!,
85
- ),
86
- )
87
- .join('\n\n');
88
- }
89
-
90
- function getOAuthFlowDescription(title: string, flow: IOauth2Flow) {
91
- let description = `**${title} OAuth Flow**`;
92
-
93
- description +=
94
- isOAuth2ImplicitFlow(flow) || isOauth2AuthorizationCodeFlow(flow)
95
- ? `\n\nAuthorize URL: ${flow.authorizationUrl}`
96
- : '';
97
-
98
- description +=
99
- isOauth2AuthorizationCodeFlow(flow) || isOauth2ClientCredentialsOrPasswordFlow(flow)
100
- ? `\n\nToken URL: ${flow.tokenUrl}`
101
- : '';
102
-
103
- description += flow.refreshUrl ? `\n\nRefresh URL: ${flow.refreshUrl}` : '';
104
-
105
- const scopes = entries(flow.scopes);
106
- if (scopes.length) {
107
- description += `\n\nScopes:
108
- ${scopes.map(([key, value]) => `- \`${key}\` - ${value}`).join('\n')}`;
109
- }
110
-
111
- return description;
112
- }
113
-
114
- function getSecuritySchemeRoles(scheme: HttpSecurityScheme) {
115
- const scopes = scheme.extensions?.['x-scopes'];
116
- return Array.isArray(scopes) ? `\n\nRoles: ${scopes.map(scope => `\`${scope}\``).join(', ')}` : '';
117
- }
@@ -1,15 +0,0 @@
1
- import { curry } from 'lodash';
2
-
3
- export const caseInsensitivelyEquals = curry((a: string, b: string) => a.toUpperCase() === b.toUpperCase());
4
-
5
- export function slugify(name: string) {
6
- return name
7
- .replace(/\/|{|}|\s/g, '-')
8
- .replace(/-{2,}/, '-')
9
- .replace(/^-/, '')
10
- .replace(/-$/, '');
11
- }
12
-
13
- export const resolveRelativeLink = (slug?: string) => {
14
- return slug ? slug.replace(/^\//, '') : '.';
15
- };
@@ -1,7 +0,0 @@
1
- import { screen } from '@testing-library/dom';
2
- import userEvent, { TargetElement } from '@testing-library/user-event';
3
-
4
- export function chooseOption(select: TargetElement, option: string) {
5
- userEvent.click(select);
6
- userEvent.selectOptions(screen.getByRole('listbox'), screen.getByRole('option', { name: option }));
7
- }