@redocly/openapi-docs 3.0.0-alpha.29.alpha.0 → 3.0.0-alpha.31

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 (200) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +100 -98
  2. package/dist/oauth2-redirect.js +1 -1
  3. package/dist/redocly-openapi-docs.min.js +1021 -1027
  4. package/lib/components/ApiInfo/ApiInfo.d.ts +4 -1
  5. package/lib/components/ApiInfo/ApiInfo.js +1 -1
  6. package/lib/components/ContentItem/ContentItem.d.ts +0 -3
  7. package/lib/components/ContentItem/ContentItem.js +1 -1
  8. package/lib/components/ContentItems/ContentItems.d.ts +1 -7
  9. package/lib/components/ContentItems/ContentItems.js +1 -1
  10. package/lib/components/ContentItems/helpers.d.ts +9 -0
  11. package/lib/components/ContentItems/helpers.js +1 -1
  12. package/lib/components/Fields/FieldDetails.js +1 -1
  13. package/lib/components/Fields/styled.d.ts +1 -0
  14. package/lib/components/Fields/styled.js +5 -1
  15. package/lib/components/OperationItem/OperationItem.js +2 -2
  16. package/lib/components/OperationParameters/OperationParameters.js +1 -1
  17. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +1 -1
  18. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  19. package/lib/components/RedoclyOpenAPIDocs/index.d.ts +0 -1
  20. package/lib/components/RedoclyOpenAPIDocs/index.js +1 -1
  21. package/lib/components/RedoclyOpenAPIDocs/styled.d.ts +2 -2
  22. package/lib/components/RedoclyOpenAPIDocs/styled.js +8 -27
  23. package/lib/components/RedoclyOpenAPIDocs/types.d.ts +5 -4
  24. package/lib/components/RedoclyOpenAPIDocs/utils.js +1 -1
  25. package/lib/components/SchemaDefinition/SchemaDefinition.js +1 -1
  26. package/lib/components/SectionContent/SectionContent.d.ts +1 -2
  27. package/lib/components/SectionContent/SectionContent.js +1 -1
  28. package/lib/components/SideMenu/Actions.d.ts +2 -0
  29. package/lib/components/SideMenu/Actions.js +2 -0
  30. package/lib/components/SideMenu/MenuItem.d.ts +2 -0
  31. package/lib/components/SideMenu/MenuItem.js +1 -1
  32. package/lib/components/SideMenu/MenuItemLink.js +1 -1
  33. package/lib/components/SideMenu/MenuItems.js +1 -1
  34. package/lib/components/SideMenu/styled.d.ts +3 -1
  35. package/lib/components/SideMenu/styled.js +1 -1
  36. package/lib/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -0
  37. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +6 -6
  38. package/lib/components/TagItems/TagItems.js +1 -1
  39. package/lib/components/common/panels.d.ts +1 -1
  40. package/lib/components/common/panels.js +2 -2
  41. package/lib/components/index.d.ts +1 -3
  42. package/lib/components/index.js +1 -1
  43. package/lib/components/rightPanel/Console/Console.js +1 -1
  44. package/lib/components/rightPanel/Console/shallowCopyForTryIt.d.ts +2 -0
  45. package/lib/components/rightPanel/Console/shallowCopyForTryIt.js +2 -0
  46. package/lib/components/rightPanel/ParameterArray.js +3 -1
  47. package/lib/components/rightPanel/utils.d.ts +0 -1
  48. package/lib/components/rightPanel/utils.js +1 -1
  49. package/lib/constants.d.ts +1 -4
  50. package/lib/constants.js +1 -1
  51. package/lib/hoc/types.d.ts +18 -0
  52. package/lib/hoc/withStore.d.ts +3 -0
  53. package/lib/hoc/withStore.js +2 -0
  54. package/lib/index.d.ts +12 -8
  55. package/lib/index.js +1 -1
  56. package/lib/models/group.d.ts +1 -1
  57. package/lib/models/group.js +1 -1
  58. package/lib/models/index.d.ts +1 -1
  59. package/lib/models/index.js +1 -1
  60. package/lib/models/operation.js +1 -1
  61. package/lib/models/types.d.ts +2 -1
  62. package/lib/recoil/app.d.ts +3 -1
  63. package/lib/recoil/app.js +1 -1
  64. package/lib/services/OpenAPIParser.d.ts +0 -1
  65. package/lib/services/OpenAPIParser.js +1 -1
  66. package/lib/services/Options/normalizeOptions.js +1 -1
  67. package/lib/services/Options/types.d.ts +3 -2
  68. package/lib/services/code-samples/generator.js +1 -1
  69. package/lib/services/history/helpers.js +1 -1
  70. package/lib/services/menu/builder.js +1 -1
  71. package/lib/services/menu/markdown.js +1 -1
  72. package/lib/services/menu/operation.js +1 -1
  73. package/lib/services/menu/tags.js +1 -1
  74. package/lib/services/search/DeepSearchStore.js +1 -1
  75. package/lib/services/types.d.ts +1 -0
  76. package/lib/services/utils.d.ts +0 -1
  77. package/lib/services/utils.js +1 -1
  78. package/lib/standalone.d.ts +1 -1
  79. package/lib/standalone.js +1 -1
  80. package/lib/types/open-api.d.ts +0 -1
  81. package/lib/utils/helpers.js +1 -1
  82. package/lib/utils/index.d.ts +0 -1
  83. package/lib/utils/index.js +1 -1
  84. package/lib/utils/loadAndBundleSpec.d.ts +0 -2
  85. package/lib/utils/loadAndBundleSpec.js +1 -1
  86. package/lib/utils/openapi.d.ts +4 -1
  87. package/lib/utils/openapi.js +1 -1
  88. package/lib/utils/path.d.ts +2 -1
  89. package/lib/utils/path.js +1 -1
  90. package/lib-esm/components/ApiInfo/ApiInfo.d.ts +4 -1
  91. package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
  92. package/lib-esm/components/ContentItem/ContentItem.d.ts +0 -3
  93. package/lib-esm/components/ContentItem/ContentItem.js +1 -1
  94. package/lib-esm/components/ContentItems/ContentItems.d.ts +1 -7
  95. package/lib-esm/components/ContentItems/ContentItems.js +1 -1
  96. package/lib-esm/components/ContentItems/helpers.d.ts +9 -0
  97. package/lib-esm/components/ContentItems/helpers.js +1 -1
  98. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  99. package/lib-esm/components/Fields/styled.d.ts +1 -0
  100. package/lib-esm/components/Fields/styled.js +4 -0
  101. package/lib-esm/components/OperationItem/OperationItem.js +2 -2
  102. package/lib-esm/components/OperationParameters/OperationParameters.js +1 -1
  103. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +1 -1
  104. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  105. package/lib-esm/components/RedoclyOpenAPIDocs/index.d.ts +0 -1
  106. package/lib-esm/components/RedoclyOpenAPIDocs/index.js +1 -1
  107. package/lib-esm/components/RedoclyOpenAPIDocs/styled.d.ts +2 -2
  108. package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +32 -51
  109. package/lib-esm/components/RedoclyOpenAPIDocs/types.d.ts +5 -4
  110. package/lib-esm/components/RedoclyOpenAPIDocs/utils.js +1 -1
  111. package/lib-esm/components/SchemaDefinition/SchemaDefinition.js +1 -1
  112. package/lib-esm/components/SectionContent/SectionContent.d.ts +1 -2
  113. package/lib-esm/components/SectionContent/SectionContent.js +1 -1
  114. package/lib-esm/components/SideMenu/Actions.d.ts +2 -0
  115. package/lib-esm/components/SideMenu/Actions.js +2 -0
  116. package/lib-esm/components/SideMenu/MenuItem.d.ts +2 -0
  117. package/lib-esm/components/SideMenu/MenuItem.js +1 -1
  118. package/lib-esm/components/SideMenu/MenuItemLink.js +1 -1
  119. package/lib-esm/components/SideMenu/MenuItems.js +1 -1
  120. package/lib-esm/components/SideMenu/styled.d.ts +3 -1
  121. package/lib-esm/components/SideMenu/styled.js +1 -1
  122. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.d.ts +1 -0
  123. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.js +6 -6
  124. package/lib-esm/components/TagItems/TagItems.js +1 -1
  125. package/lib-esm/components/common/panels.d.ts +1 -1
  126. package/lib-esm/components/common/panels.js +2 -2
  127. package/lib-esm/components/index.d.ts +1 -3
  128. package/lib-esm/components/index.js +1 -1
  129. package/lib-esm/components/rightPanel/Console/Console.js +1 -1
  130. package/lib-esm/components/rightPanel/Console/shallowCopyForTryIt.d.ts +2 -0
  131. package/lib-esm/components/rightPanel/Console/shallowCopyForTryIt.js +2 -0
  132. package/lib-esm/components/rightPanel/ParameterArray.js +3 -1
  133. package/lib-esm/components/rightPanel/utils.d.ts +0 -1
  134. package/lib-esm/components/rightPanel/utils.js +1 -1
  135. package/lib-esm/constants.d.ts +1 -4
  136. package/lib-esm/constants.js +1 -1
  137. package/lib-esm/hoc/types.d.ts +18 -0
  138. package/lib-esm/hoc/withStore.d.ts +3 -0
  139. package/lib-esm/hoc/withStore.js +2 -0
  140. package/lib-esm/index.d.ts +12 -8
  141. package/lib-esm/index.js +1 -1
  142. package/lib-esm/models/group.d.ts +1 -1
  143. package/lib-esm/models/group.js +1 -1
  144. package/lib-esm/models/index.d.ts +1 -1
  145. package/lib-esm/models/index.js +1 -1
  146. package/lib-esm/models/operation.js +1 -1
  147. package/lib-esm/models/types.d.ts +2 -1
  148. package/lib-esm/recoil/app.d.ts +3 -1
  149. package/lib-esm/recoil/app.js +1 -1
  150. package/lib-esm/services/OpenAPIParser.d.ts +0 -1
  151. package/lib-esm/services/OpenAPIParser.js +1 -1
  152. package/lib-esm/services/Options/normalizeOptions.js +1 -1
  153. package/lib-esm/services/Options/types.d.ts +3 -2
  154. package/lib-esm/services/code-samples/generator.js +1 -1
  155. package/lib-esm/services/history/helpers.js +1 -1
  156. package/lib-esm/services/menu/builder.js +1 -1
  157. package/lib-esm/services/menu/markdown.js +1 -1
  158. package/lib-esm/services/menu/operation.js +1 -1
  159. package/lib-esm/services/menu/tags.js +1 -1
  160. package/lib-esm/services/search/DeepSearchStore.js +1 -1
  161. package/lib-esm/services/types.d.ts +1 -0
  162. package/lib-esm/services/utils.d.ts +0 -1
  163. package/lib-esm/services/utils.js +1 -1
  164. package/lib-esm/standalone.d.ts +1 -1
  165. package/lib-esm/standalone.js +1 -1
  166. package/lib-esm/types/open-api.d.ts +0 -1
  167. package/lib-esm/utils/helpers.js +1 -1
  168. package/lib-esm/utils/index.d.ts +0 -1
  169. package/lib-esm/utils/index.js +1 -1
  170. package/lib-esm/utils/loadAndBundleSpec.d.ts +0 -2
  171. package/lib-esm/utils/loadAndBundleSpec.js +1 -1
  172. package/lib-esm/utils/openapi.d.ts +4 -1
  173. package/lib-esm/utils/openapi.js +1 -1
  174. package/lib-esm/utils/path.d.ts +2 -1
  175. package/lib-esm/utils/path.js +1 -1
  176. package/package.json +9 -10
  177. package/lib/components/ChangeViewButton/ChangeViewButton.d.ts +0 -2
  178. package/lib/components/ChangeViewButton/ChangeViewButton.js +0 -2
  179. package/lib/components/ChangeViewButton/index.d.ts +0 -1
  180. package/lib/components/ChangeViewButton/index.js +0 -2
  181. package/lib/components/ChangeViewButton/styled.d.ts +0 -4
  182. package/lib/components/ChangeViewButton/styled.js +0 -18
  183. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +0 -2
  184. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.js +0 -2
  185. package/lib/components/ToggleRightPanelButton/index.d.ts +0 -1
  186. package/lib/components/ToggleRightPanelButton/index.js +0 -2
  187. package/lib/components/ToggleRightPanelButton/styled.d.ts +0 -4
  188. package/lib/components/ToggleRightPanelButton/styled.js +0 -17
  189. package/lib-esm/components/ChangeViewButton/ChangeViewButton.d.ts +0 -2
  190. package/lib-esm/components/ChangeViewButton/ChangeViewButton.js +0 -2
  191. package/lib-esm/components/ChangeViewButton/index.d.ts +0 -1
  192. package/lib-esm/components/ChangeViewButton/index.js +0 -2
  193. package/lib-esm/components/ChangeViewButton/styled.d.ts +0 -4
  194. package/lib-esm/components/ChangeViewButton/styled.js +0 -18
  195. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +0 -2
  196. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.js +0 -2
  197. package/lib-esm/components/ToggleRightPanelButton/index.d.ts +0 -1
  198. package/lib-esm/components/ToggleRightPanelButton/index.js +0 -2
  199. package/lib-esm/components/ToggleRightPanelButton/styled.d.ts +0 -4
  200. package/lib-esm/components/ToggleRightPanelButton/styled.js +0 -17
@@ -1,4 +1,4 @@
1
- import{H2}from"@redocly/theme";import styled,{css}from"styled-components";import{SECTION_ATTR,LayoutVariant}from"../../constants";export const SamplesMiddlePanel=styled.div`
1
+ import{H2,LayoutVariant}from"@redocly/theme";import styled,{css}from"styled-components";import{SECTION_ATTR}from"../../constants";export const SamplesMiddlePanel=styled.div`
2
2
  ${({compact:a,isStacked:t,theme:e})=>{const i=a?0:"var(--spacing-vertical)";return css`
3
3
  width: 100%;
4
4
  padding: ${i} var(--panel-gap-horizontal);
@@ -17,7 +17,7 @@ import{H2}from"@redocly/theme";import styled,{css}from"styled-components";import
17
17
  }
18
18
  `}}
19
19
  `;export const Section=styled.div.attrs((a=>({[SECTION_ATTR]:a.sectionId,id:a.id})))`
20
- z-index: 0;
20
+ z-index: 1;
21
21
  padding: 0;
22
22
  width: 100%;
23
23
 
@@ -2,7 +2,7 @@ export * from './NextSectionButton';
2
2
  export * from './RedoclyOpenAPIDocs';
3
3
  export * from './pluggable';
4
4
  export * from './rightPanel/Console';
5
- export { ControlsWrap, BackgroundStub, ApiContentWrap, BackgroundStubFix, } from './RedoclyOpenAPIDocs/styled';
5
+ export { BackgroundStub, ApiContentWrap, BackgroundStubFix } from './RedoclyOpenAPIDocs/styled';
6
6
  export { NextSectionButtonWrap } from './NextSectionButton/styled';
7
7
  export * from './common';
8
8
  export * from './ApiInfo';
@@ -28,7 +28,5 @@ export * from './StickySidebar/StickyResponsiveSidebar';
28
28
  export * from './SchemaDefinition/SchemaDefinition';
29
29
  export * from './SourceCodeWithFile/SourceCodeWithFile';
30
30
  export * from './RequestSamples/RequestSamples';
31
- export * from './ChangeViewButton';
32
- export * from './ToggleRightPanelButton';
33
31
  export { ShelfIcon, LockIcon, CrossIcon } from './icons';
34
32
  export type { IconProps } from './icons';
@@ -1,2 +1,2 @@
1
- export*from"./NextSectionButton";export*from"./RedoclyOpenAPIDocs";export*from"./pluggable";export*from"./rightPanel/Console";export{ControlsWrap,BackgroundStub,ApiContentWrap,BackgroundStubFix}from"./RedoclyOpenAPIDocs/styled";export{NextSectionButtonWrap}from"./NextSectionButton/styled";export*from"./common";export*from"./ApiInfo";export{SectionItem}from"./SectionItem";export{ContentItem}from"./ContentItem";export{ContentItems}from"./ContentItems";export{DiscriminatorDropdown}from"./DiscriminatorDropdown";export*from"./Schema/";export{OperationItem}from"./OperationItem";export*from"./Loading/Loading";export*from"./Markdown";export{OAuthFlow}from"./SecuritySchemes/OAuthFlow";export*from"./Responses";export*from"./ResponseSamples/ResponseSamples";export{PayloadSamples,ExampleValue,Example,DropdownWrapper}from"./PayloadSamples";export*from"./MediaTypeSwitch";export*from"./Parameters";export*from"./DropdownOrLabel";export*from"./ErrorBoundary";export*from"./SideMenu/";export*from"./StickySidebar/StickyResponsiveSidebar";export*from"./SchemaDefinition/SchemaDefinition";export*from"./SourceCodeWithFile/SourceCodeWithFile";export*from"./RequestSamples/RequestSamples";export*from"./ChangeViewButton";export*from"./ToggleRightPanelButton";export{ShelfIcon,LockIcon,CrossIcon}from"./icons";
1
+ export*from"./NextSectionButton";export*from"./RedoclyOpenAPIDocs";export*from"./pluggable";export*from"./rightPanel/Console";export{BackgroundStub,ApiContentWrap,BackgroundStubFix}from"./RedoclyOpenAPIDocs/styled";export{NextSectionButtonWrap}from"./NextSectionButton/styled";export*from"./common";export*from"./ApiInfo";export{SectionItem}from"./SectionItem";export{ContentItem}from"./ContentItem";export{ContentItems}from"./ContentItems";export{DiscriminatorDropdown}from"./DiscriminatorDropdown";export*from"./Schema/";export{OperationItem}from"./OperationItem";export*from"./Loading/Loading";export*from"./Markdown";export{OAuthFlow}from"./SecuritySchemes/OAuthFlow";export*from"./Responses";export*from"./ResponseSamples/ResponseSamples";export{PayloadSamples,ExampleValue,Example,DropdownWrapper}from"./PayloadSamples";export*from"./MediaTypeSwitch";export*from"./Parameters";export*from"./DropdownOrLabel";export*from"./ErrorBoundary";export*from"./SideMenu/";export*from"./StickySidebar/StickyResponsiveSidebar";export*from"./SchemaDefinition/SchemaDefinition";export*from"./SourceCodeWithFile/SourceCodeWithFile";export*from"./RequestSamples/RequestSamples";export{ShelfIcon,LockIcon,CrossIcon}from"./icons";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(o[r[s]]=e[r[s]])}return o};import Swagger from"swagger-client";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{unescapeFormId}from"../../../utils";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{dereferenceDefinitionForTryIt,getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreSelector}from"../../../recoil/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../recoil/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,securityDefaults:n,onClose:a}){let i=useRef();const[l,c]=useRecoilState(operationStore(e.pointer)),[u,p]=useState(l.activeServer||e.activeServer),[d,m]=useState(0),[v,y]=useState(!1),[h,f]=useState(!1),[g,b]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[O,S]=useState(),[j,C]=useState(),[R,P]=useState(),[I,T]=useState(),w=usePrevious(e),{parser:q,options:E}=useRecoilValue(globalStoreSelector),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})}))}),0)}),[]),k=useCallback((e=>{var{values:t}=e,o=__rest(e,["values"]);const r=Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},t),{query:unescapeQueryParams(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(r),updateStorage(r)}),[c]),A=useCallback((e=>{m(e)}),[]),F=useCallback((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,l,c,p,d,v,h,b,S,j,R,I,w;const{values:q,invalid:_}=(null===(o=null==i?void 0:i.current)||void 0===o?void 0:o.getState())||g||{};if(null===(r=i.current)||void 0===r||r.submitForm(),_)return f(!0),setTimeout((()=>f(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:k,requestBody:A}=e,F=A&&A.content&&(null===(a=getActiveMediaType(A.content))||void 0===a?void 0:a.name)||"";let V=q.body;if(/json/.test(F))try{V=JSON.parse(V)}catch(e){console.error(e)}y(!0);const x=O,B=(e.httpVerb||"").toLowerCase();if(!k)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=k.find((e=>u.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),N=Date.now();let M,U=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);M=Object.assign(Object.assign({},x),{components:Object.assign(Object.assign({},null==x?void 0:x.components),{securitySchemes:Object.assign(Object.assign({},null===(l=null==x?void 0:x.components)||void 0===l?void 0:l.securitySchemes),{[t]:Object.assign(Object.assign({},null===(p=null===(c=null==x?void 0:x.components)||void 0===c?void 0:c.securitySchemes)||void 0===p?void 0:p[t]),{type:"openIdConnect"===(null===(h=null===(v=null===(d=null==x?void 0:x.components)||void 0===d?void 0:d.securitySchemes)||void 0===v?void 0:v[t])||void 0===h?void 0:h.type)?"oauth2":(null===(S=null===(b=null==x?void 0:x.components)||void 0===b?void 0:b.securitySchemes)||void 0===S?void 0:S[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},x);M.servers=k;const H=E.corsProxyUrl;H&&k.length&&(M.servers=k.map((e=>Object.assign(Object.assign({},e),{url:H+normalizeUrlProtocol(e.url)}))),M.paths=Object.assign(Object.assign({},M.paths),{[e.path]:Object.assign(Object.assign({},M.paths[e.path]),{[B]:Object.assign(Object.assign({},M.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const W=(null==A?void 0:A.content)&&(null===(j=getActiveMediaType(A.content))||void 0===j?void 0:j.name)||null;if(W&&V&&isFileUploadMime(W)){const e=Object.values(V);V=e.length>1?e:e[0]}const z={server:H?H+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:M,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},q.path),q.query),q.header),q.cookie),securities:{authorized:U},requestBody:V,requestContentType:W,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const e=yield Swagger.execute(z),o=null==e?void 0:e.data;o instanceof Blob&&(isFileUploadMime(o.type)&&(e.fileInfo={rawData:o,fileName:getFileNameFromHeaders(e.headers)}),e.data=yield o.text()),null==t||t({request:z,response:e}),T(e),P(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:z,response:e.response})),T(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-N),null===(w=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===w||w.call(I,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[u.url,g,t,e,E,O]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,q.definition);S(o),null===(t=i.current)||void 0===t||t.setValues({})})))),useEffect((()=>{w&&w!==e&&(T(void 0),P(void 0),m(0))}),[e,w]);const x=!(!I&&!R);return React.createElement(ConsoleWrapper,{shaking:h,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:d,hasResponse:x,onChange:A}),a&&React.createElement(CloseButton,{onClick:a}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==d,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,securityDefaults:n,form:g,resolvedRawSpec:O,server:u,formApi:i.current,setFormApi:_,handleChange:k,handleServerChange:F})),React.createElement(ConsoleBody,{hidden:1!==d,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:I,error:R,time:j})),React.createElement(ActionPanel,{hasResponse:x,params:g.values,operation:e,loading:v,execute:V}))}export const Console=memo(ConsoleComponent);
1
+ var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(o[r[s]]=e[r[s]])}return o};import Swagger from"swagger-client";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{dereferenceDefinitionForTryIt}from"./shallowCopyForTryIt";import{unescapeFormId}from"../../../utils/string";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreSelector}from"../../../recoil/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../recoil/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,securityDefaults:n,onClose:a}){let i=useRef();const[l,c]=useRecoilState(operationStore(e.pointer)),[u,p]=useState(l.activeServer||e.activeServer),[d,m]=useState(0),[v,y]=useState(!1),[h,f]=useState(!1),[g,b]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[O,S]=useState(),[j,C]=useState(),[R,P]=useState(),[I,T]=useState(),w=usePrevious(e),{parser:q,options:E}=useRecoilValue(globalStoreSelector),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})}))}),0)}),[]),k=useCallback((e=>{var{values:t}=e,o=__rest(e,["values"]);const r=Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},t),{query:unescapeQueryParams(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(r),updateStorage(r)}),[c]),F=useCallback((e=>{m(e)}),[]),A=useCallback((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,l,c,p,d,v,h,b,S,j,R,I,w;const{values:q,invalid:_}=(null===(o=null==i?void 0:i.current)||void 0===o?void 0:o.getState())||g||{};if(null===(r=i.current)||void 0===r||r.submitForm(),_)return f(!0),setTimeout((()=>f(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:k,requestBody:F}=e,A=F&&F.content&&(null===(a=getActiveMediaType(F.content))||void 0===a?void 0:a.name)||"";let V=q.body;if(/json/.test(A))try{V=JSON.parse(V)}catch(e){console.error(e)}y(!0);const x=O,B=(e.httpVerb||"").toLowerCase();if(!k)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=k.find((e=>u.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),N=Date.now();let M,U=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);M=Object.assign(Object.assign({},x),{components:Object.assign(Object.assign({},null==x?void 0:x.components),{securitySchemes:Object.assign(Object.assign({},null===(l=null==x?void 0:x.components)||void 0===l?void 0:l.securitySchemes),{[t]:Object.assign(Object.assign({},null===(p=null===(c=null==x?void 0:x.components)||void 0===c?void 0:c.securitySchemes)||void 0===p?void 0:p[t]),{type:"openIdConnect"===(null===(h=null===(v=null===(d=null==x?void 0:x.components)||void 0===d?void 0:d.securitySchemes)||void 0===v?void 0:v[t])||void 0===h?void 0:h.type)?"oauth2":(null===(S=null===(b=null==x?void 0:x.components)||void 0===b?void 0:b.securitySchemes)||void 0===S?void 0:S[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},x);M.servers=k;const H=E.corsProxyUrl;H&&k.length&&(M.servers=k.map((e=>Object.assign(Object.assign({},e),{url:H+normalizeUrlProtocol(e.url)}))),M.paths=Object.assign(Object.assign({},M.paths),{[e.path]:Object.assign(Object.assign({},M.paths[e.path]),{[B]:Object.assign(Object.assign({},M.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const W=(null==F?void 0:F.content)&&(null===(j=getActiveMediaType(F.content))||void 0===j?void 0:j.name)||null;if(W&&V&&isFileUploadMime(W)){const e=Object.values(V);V=e.length>1?e:e[0]}const z={server:H?H+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:M,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},q.path),q.query),q.header),q.cookie),securities:{authorized:U},requestBody:V,requestContentType:W,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const e=yield Swagger.execute(z),o=null==e?void 0:e.data;o instanceof Blob&&(isFileUploadMime(o.type)&&(e.fileInfo={rawData:o,fileName:getFileNameFromHeaders(e.headers)}),e.data=yield o.text()),null==t||t({request:z,response:e}),T(e),P(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:z,response:e.response})),T(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-N),null===(w=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===w||w.call(I,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[u.url,g,t,e,E,O]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,q.definition);S(o),null===(t=i.current)||void 0===t||t.setValues({})})))),useEffect((()=>{w&&w!==e&&(T(void 0),P(void 0),m(0))}),[e,w]);const x=!(!I&&!R);return React.createElement(ConsoleWrapper,{shaking:h,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:d,hasResponse:x,onChange:F}),a&&React.createElement(CloseButton,{onClick:a}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==d,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,securityDefaults:n,form:g,resolvedRawSpec:O,server:u,formApi:i.current,setFormApi:_,handleChange:k,handleServerChange:A})),React.createElement(ConsoleBody,{hidden:1!==d,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:I,error:R,time:j})),React.createElement(ActionPanel,{hasResponse:x,params:g.values,operation:e,loading:v,execute:V}))}export const Console=memo(ConsoleComponent);
2
2
  //# sourceMappingURL=Console.js.map
@@ -0,0 +1,2 @@
1
+ import type { OperationModel } from '../../../models';
2
+ export declare function dereferenceDefinitionForTryIt(operation: OperationModel, definition: GenericObject): Promise<GenericObject>;
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,n,t,o){return new(t||(t=Promise))((function(i,r){function a(e){try{p(o.next(e))}catch(e){r(e)}}function c(e){try{p(o.throw(e))}catch(e){r(e)}}function p(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,c)}p((o=o.apply(e,n||[])).next())}))};import{bundle}from"@redocly/openapi-core/lib/bundle";import{Config}from"@redocly/openapi-core/lib/config/config";import{createParsedDocument}from"../../../utils/openapi";export function dereferenceDefinitionForTryIt(e,n){var t,o,i,r;return __awaiter(this,void 0,void 0,(function*(){const a=JSON.parse(JSON.stringify(n)),c=a.openapi?{openapi:a.openapi}:a.swagger?{swagger:a.swagger}:{},p=Object.assign(Object.assign({},c),{components:a.components,paths:{[e.path]:{[e.httpVerb]:null===(o=null===(t=a.paths)||void 0===t?void 0:t[e.path])||void 0===o?void 0:o[e.httpVerb],parameters:null===(r=null===(i=a.paths)||void 0===i?void 0:i[e.path])||void 0===r?void 0:r.parameters}}}),s={config:new Config({}),doc:createParsedDocument(p),dereference:!0};return yield bundle(s),a}))}
2
+ //# sourceMappingURL=shallowCopyForTryIt.js.map
@@ -1,4 +1,4 @@
1
- import React from"react";import styled from"styled-components";import{FormLabel}from"../common/form";export const ParameterArray=({name:e,param:t,place:r,renderParameter:a})=>{var o,l,n,i,m;const[c,s]=React.useState([]),d=(null===(o=t.schema.items)||void 0===o?void 0:o.fields)?null===(l=t.schema.items)||void 0===l?void 0:l.fields:[{schema:(null===(n=t.schema.items)||void 0===n?void 0:n.schema)||t.schema.items,name:"",required:t.required,description:null===(i=t.schema.items)||void 0===i?void 0:i.description,externalDocs:null===(m=t.schema.items)||void 0===m?void 0:m.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1}];return React.createElement(React.Fragment,null,React.createElement(Row,null,React.createElement(FormLabel,{required:t.required},e,"(",c.length," items)"),React.createElement("span",{onClick:()=>{s([...c,c.length?c[c.length-1]+1:0])}},"Add item +")),null==c?void 0:c.map(((t,o)=>React.createElement(Row,{key:t},React.createElement(Delete,{onClick:()=>{return e=t,void s(c.filter((t=>t!==e)));var e}},"delete"),d.map((l=>a(l,r,`${e}.[${t}]`,`[${o}]${l.name&&"."+l.name}`)))))))};const Row=styled.div`
1
+ import React from"react";import styled from"styled-components";import{FormLabel}from"../common/form";export const ParameterArray=({name:e,param:t,place:r,renderParameter:a})=>{var o,l,n,i,m;const[c,s]=React.useState([]),d=(null===(o=t.schema.items)||void 0===o?void 0:o.fields)?null===(l=t.schema.items)||void 0===l?void 0:l.fields:[{schema:(null===(n=t.schema.items)||void 0===n?void 0:n.schema)||t.schema.items,name:"",required:t.required,description:null===(i=t.schema.items)||void 0===i?void 0:i.description,externalDocs:null===(m=t.schema.items)||void 0===m?void 0:m.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1}];return React.createElement(React.Fragment,null,React.createElement(Row,null,React.createElement(FormLabel,{required:t.required},e,"(",c.length," items)"),React.createElement("span",{onClick:()=>{s([...c,c.length?c[c.length-1]+1:0])}},"Add item +")),null==c?void 0:c.map(((t,o)=>React.createElement(Row,{key:t},d.map((l=>a(l,r,`${e}.[${t}]`,`[${o}]${l.name&&"."+l.name}`,React.createElement(Delete,{onClick:()=>{return e=t,void s(c.filter((t=>t!==e)));var e}},"Delete"))))))))};const Row=styled.div`
2
2
  display: flex;
3
3
  width: 100%;
4
4
  align-items: center;
@@ -24,5 +24,7 @@ import React from"react";import styled from"styled-components";import{FormLabel}
24
24
  border: none;
25
25
  cursor: pointer;
26
26
  position: relative;
27
+ margin-left: 5px;
28
+ display: inline-block;
27
29
  `;
28
30
  //# sourceMappingURL=ParameterArray.js.map
@@ -26,4 +26,3 @@ export declare function encodeSample(sample: ExampleModel, properties: RequestBo
26
26
  export declare const getStorageExampleKey: (operationId: string, activeMimeType: string, activeExample?: string | false, examples?: {
27
27
  [name: string]: ExampleModel;
28
28
  } | undefined) => string;
29
- export declare function dereferenceDefinitionForTryIt(operation: OperationModel, definition: GenericObject): Promise<GenericObject>;
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,a){function i(e){try{c(o.next(e))}catch(e){a(e)}}function s(e){try{c(o.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}c((o=o.apply(e,t||[])).next())}))};import merge from"deepmerge";import{bundle,Config}from"@redocly/openapi-core";import{getRecoil}from"recoil-nexus";import{MediaTypes}from"../../constants";import{arrayMergeStrategy}from"../../services/utils";import{createParsedDocument,fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";import{operationStore}from"../../recoil/operation";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];setSecurityDetails(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))setParameterValue(r,t,e.values[r][t])}export const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:o}=t;return e[o]=getParameterValue(r||"",o),e}),{});const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,t=0){const r=e[t],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function getInitialServerWithVariables(e){const t=fromSessionStorage("serverUrl"),r=e.find((e=>e.url===t))||e[0],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}export function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=fromSessionStorage("variables"),r=t&&JSON.parse(t)||{},o={};return Object.entries(e.variables||{}).forEach((([e,t])=>{o[e]=r[e]||t.default||""})),o}export function updateVariablesStorage(e,t){const r=fromSessionStorage("variables"),o=r&&JSON.parse(r)||{};toSessionStorage("variables",JSON.stringify(Object.assign(Object.assign({},o),{[e]:t})))}export function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[unescapeFormId(t)]=r,e)),{})}export function getFileNameFromHeaders(e){const t="filename=";for(const[r,o]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=o.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}export const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},o,n)=>a=>{var i,s;const{requestValues:c}=getRecoil(operationStore(o.pointer));r&&(a=Object.assign(Object.assign({},a),{url:decodeURIComponent(a.url)})),t&&(a.headers["X-User-Agent"]="Redocly Try it API console");const u=(null===(i=null==c?void 0:c.header)||void 0===i?void 0:i.authorization)||(null===(s=null==c?void 0:c.header)||void 0===s?void 0:s.Authorization);return!n&&u&&(a.headers.Authorization=u),e?e(a,o):a};export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};export function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}export const validateTokenEndpointMethod=e=>{if(!e)return!0;const t=Array.isArray(e)?e:[e];return!(t.length&&!t.includes("none")&&!t.includes("client_secret_basic"))};export const getOAuth2TokenEndpointAuthHeader=({authMethod:e,clientId:t,clientSecret:r})=>"client_secret_basic"===e||Array.isArray(e)&&e.includes("client_secret_basic")?{Authorization:`Basic ${btoa(t+":"+r)}`}:{};export function encodeSample(e,t){if(!e)return"";if(e.mime===MediaTypes.URL_ENCODED)return e.value;const r=e.value,o=t?merge(r,t,{arrayMerge:arrayMergeStrategy}):r;return JSON.stringify(o,null,2)}export const getStorageExampleKey=(e,t,r,o)=>{let n=e+"_"+t;return r&&o&&Object.keys(o).includes(r)&&(n+="_"+r),n};export function dereferenceDefinitionForTryIt(e,t){var r,o,n,a;return __awaiter(this,void 0,void 0,(function*(){const i=JSON.parse(JSON.stringify(t)),s=i.openapi?{openapi:i.openapi}:i.swagger?{swagger:i.swagger}:{},c=Object.assign(Object.assign({},s),{components:i.components,paths:{[e.path]:{[e.httpVerb]:null===(o=null===(r=i.paths)||void 0===r?void 0:r[e.path])||void 0===o?void 0:o[e.httpVerb],parameters:null===(a=null===(n=i.paths)||void 0===n?void 0:n[e.path])||void 0===a?void 0:a.parameters}}}),u={config:new Config({}),doc:createParsedDocument(c),dereference:!0};return yield bundle(u),i}))}
1
+ import merge from"deepmerge";import{getRecoil}from"recoil-nexus";import{MediaTypes}from"../../constants";import{arrayMergeStrategy}from"../../services/utils";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";import{operationStore}from"../../recoil/operation";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];setSecurityDetails(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))setParameterValue(r,t,e.values[r][t])}export const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:o}=t;return e[o]=getParameterValue(r||"",o),e}),{});const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,t=0){const r=e[t],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function getInitialServerWithVariables(e){const t=fromSessionStorage("serverUrl"),r=e.find((e=>e.url===t))||e[0],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}export function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=fromSessionStorage("variables"),r=t&&JSON.parse(t)||{},o={};return Object.entries(e.variables||{}).forEach((([e,t])=>{o[e]=r[e]||t.default||""})),o}export function updateVariablesStorage(e,t){const r=fromSessionStorage("variables"),o=r&&JSON.parse(r)||{};toSessionStorage("variables",JSON.stringify(Object.assign(Object.assign({},o),{[e]:t})))}export function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[unescapeFormId(t)]=r,e)),{})}export function getFileNameFromHeaders(e){const t="filename=";for(const[r,o]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=o.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}export const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},o,a)=>n=>{var i,s;const{requestValues:u}=getRecoil(operationStore(o.pointer));r&&(n=Object.assign(Object.assign({},n),{url:decodeURIComponent(n.url)})),t&&(n.headers["X-User-Agent"]="Redocly Try it API console");const c=(null===(i=null==u?void 0:u.header)||void 0===i?void 0:i.authorization)||(null===(s=null==u?void 0:u.header)||void 0===s?void 0:s.Authorization);return!a&&c&&(n.headers.Authorization=c),e?e(n,o):n};export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};export function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}export const validateTokenEndpointMethod=e=>{if(!e)return!0;const t=Array.isArray(e)?e:[e];return!(t.length&&!t.includes("none")&&!t.includes("client_secret_basic"))};export const getOAuth2TokenEndpointAuthHeader=({authMethod:e,clientId:t,clientSecret:r})=>"client_secret_basic"===e||Array.isArray(e)&&e.includes("client_secret_basic")?{Authorization:`Basic ${btoa(t+":"+r)}`}:{};export function encodeSample(e,t){if(!e)return"";if(e.mime===MediaTypes.URL_ENCODED)return e.value;const r=e.value,o=t?merge(r,t,{arrayMerge:arrayMergeStrategy}):r;return JSON.stringify(o,null,2)}export const getStorageExampleKey=(e,t,r,o)=>{let a=e+"_"+t;return r&&o&&Object.keys(o).includes(r)&&(a+="_"+r),a};
2
2
  //# sourceMappingURL=utils.js.map
@@ -12,10 +12,6 @@ export declare enum MediaTypes {
12
12
  JSON = "application/json",
13
13
  XML = "application/xml"
14
14
  }
15
- export declare enum LayoutVariant {
16
- STACKED = "stacked",
17
- THREE_PANEL = "three-panel"
18
- }
19
15
  export declare const DEFAULT_SEARCH_MAX_DEPTH = 1;
20
16
  export declare const SECTION_ATTR = "data-section-id";
21
17
  export declare const FIELD_ATTR = "data-field-id";
@@ -23,3 +19,4 @@ export declare const GROUP_DEPTH = 0;
23
19
  export declare const LEGACY_REGEXP = "^ {0,3}<!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?-->\\s*$";
24
20
  export declare const MDX_COMPONENT_REGEXP: string;
25
21
  export declare const COMPONENT_REGEXP: string;
22
+ export declare const DEFAULT_TAG_SLUG = "other";
@@ -1,2 +1,2 @@
1
- export const defaultTheme={breakpoints:{small:"50rem",medium:"85rem",large:"105rem"},showAtBreakpoint:{sidebar:"small",samplesPanel:"medium"}};export var WindowReferenceOptions;!function(e){e.ON_DEEP_LINK_CLICK="onDeepLinkClick",e.REQUEST_INTERCEPTOR="requestInterceptor",e.HOOKS="hooks"}(WindowReferenceOptions||(WindowReferenceOptions={}));export var MediaTypes;!function(e){e.OCTET_STREAM="application/octet-stream",e.MULTIPART="multipart/form-data",e.URL_ENCODED="application/x-www-form-urlencoded",e.JSON="application/json",e.XML="application/xml"}(MediaTypes||(MediaTypes={}));export var LayoutVariant;!function(e){e.STACKED="stacked",e.THREE_PANEL="three-panel"}(LayoutVariant||(LayoutVariant={}));export const DEFAULT_SEARCH_MAX_DEPTH=1;export const SECTION_ATTR="data-section-id";export const FIELD_ATTR="data-field-id";export const GROUP_DEPTH=0;export const LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$";export const MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))";export const COMPONENT_REGEXP="(?:"+LEGACY_REGEXP+"|"+MDX_COMPONENT_REGEXP+")";
1
+ export const defaultTheme={breakpoints:{small:"50rem",medium:"85rem",large:"105rem"},showAtBreakpoint:{sidebar:"small",samplesPanel:"medium"}};export var WindowReferenceOptions;!function(e){e.ON_DEEP_LINK_CLICK="onDeepLinkClick",e.REQUEST_INTERCEPTOR="requestInterceptor",e.HOOKS="hooks"}(WindowReferenceOptions||(WindowReferenceOptions={}));export var MediaTypes;!function(e){e.OCTET_STREAM="application/octet-stream",e.MULTIPART="multipart/form-data",e.URL_ENCODED="application/x-www-form-urlencoded",e.JSON="application/json",e.XML="application/xml"}(MediaTypes||(MediaTypes={}));export const DEFAULT_SEARCH_MAX_DEPTH=1;export const SECTION_ATTR="data-section-id";export const FIELD_ATTR="data-field-id";export const GROUP_DEPTH=0;export const LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$";export const MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))";export const COMPONENT_REGEXP="(?:"+LEGACY_REGEXP+"|"+MDX_COMPONENT_REGEXP+")";export const DEFAULT_TAG_SLUG="other";
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,3 +1,7 @@
1
+ import type { LayoutVariant } from '@redocly/theme';
2
+ import type { DropdownOption } from '../components/common';
3
+ import type { OpenAPIDefinitionVersion } from '../recoil/store';
4
+ import type { Options } from '../services/Options/types';
1
5
  import type { RouterType } from '../types';
2
6
  export interface RoutingProps {
3
7
  /**
@@ -36,3 +40,17 @@ export interface RoutingProps {
36
40
  */
37
41
  enableRouter?: boolean;
38
42
  }
43
+ export interface StoreProps {
44
+ portalOptions?: {
45
+ layout?: LayoutVariant;
46
+ showRightPanelToggle?: boolean;
47
+ collapsedSidebar?: boolean;
48
+ };
49
+ options: Options;
50
+ versions: OpenAPIDefinitionVersion[];
51
+ layout: LayoutVariant;
52
+ showRightPanelToggle: boolean;
53
+ activeVersionIdx: number;
54
+ onChangeActiveVersion: (versionIdx: DropdownOption) => void;
55
+ collapsedSidebar: boolean;
56
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { StoreProps } from './types';
3
+ export declare function withStore<T extends StoreProps>(WrappedComponent: React.ComponentType<Omit<T, 'portalOptions'>>): React.FC<T>;
@@ -0,0 +1,2 @@
1
+ var __rest=this&&this.__rest||function(e,o){var t={};for(var l in e)Object.prototype.hasOwnProperty.call(e,l)&&o.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(l=Object.getOwnPropertySymbols(e);r<l.length;r++)o.indexOf(l[r])<0&&Object.prototype.propertyIsEnumerable.call(e,l[r])&&(t[l[r]]=e[l[r]])}return t};import React,{useEffect,useCallback}from"react";import{useRecoilState,useRecoilValue}from"recoil";import{activeVersionIdxSelector,layoutSelector,showRightPanelToggleSelector,collapsedSidebarSelector}from"../recoil/app";import{globalStore}from"../recoil/store";export function withStore(e){return o=>{var{portalOptions:t}=o,l=__rest(o,["portalOptions"]);const[r,a]=useRecoilState(layoutSelector),[i,s]=useRecoilState(showRightPanelToggleSelector),[c,n]=useRecoilState(collapsedSidebarSelector),{options:u,versions:p}=useRecoilValue(globalStore);useEffect((()=>{(null==t?void 0:t.layout)&&a(t.layout)}),[null==t?void 0:t.layout,a]),useEffect((()=>{"boolean"==typeof(null==t?void 0:t.collapsedSidebar)&&n(t.collapsedSidebar)}),[null==t?void 0:t.collapsedSidebar,n]),useEffect((()=>{"boolean"==typeof(null==t?void 0:t.showRightPanelToggle)&&s(t.showRightPanelToggle)}),[null==t?void 0:t.showRightPanelToggle,s]);const[g,d]=useRecoilState(activeVersionIdxSelector),S=useCallback((({idx:e})=>{e&&d(e)}),[d]);return React.createElement(e,Object.assign({},l,{options:u,versions:p,layout:r,showRightPanelToggle:i,activeVersionIdx:g,onChangeActiveVersion:S,collapsedSidebar:c}))}}
2
+ //# sourceMappingURL=withStore.js.map
@@ -1,11 +1,15 @@
1
- export * from './components/index';
2
- export * from './services/index';
3
- export * from './models/index';
4
- export * from './events/index';
5
- export * from './constants';
6
- export { setSecurityDetails, setSecurityDetailsVariants, setParameterValue, isOperationName, JsonPointer, } from './utils';
1
+ export type { RawOptions, Options } from './services/Options/types';
2
+ export type { IMenuItem, Pagination, PaginationType } from './services/types';
3
+ export type { OperationModel, SchemaModel, ContentItemModel } from './models/types';
4
+ export type { CodeSampleOptions } from './models/code-sample-options';
5
+ export type { OpenApiResponseData } from './components/rightPanel/types';
7
6
  export type { SecurityDetails, OpenAPIDefinition, OpenAPIOperation, OpenAPIParameterLocation, OpenAPISchema, } from './types';
7
+ export { getOperation } from './models/operation';
8
+ export { Console } from './components/rightPanel/Console';
9
+ export { RequestSamples } from './components/RequestSamples';
10
+ export * from './components/pluggable';
11
+ export * from './components/RedoclyOpenAPIDocs';
12
+ export { JsonPointer } from './utils/JsonPointer';
13
+ export { isOperationName } from './utils/openapi';
8
14
  export { OpenAPIParser } from './services';
9
15
  export { buildContentItems, normalizeOptions } from './services';
10
- export type { OAuth2 } from './services/OAuth2';
11
- export type { OpenApiResponseData } from './components/rightPanel/types';
package/lib-esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export*from"./components/index";export*from"./services/index";export*from"./models/index";export*from"./events/index";export*from"./constants";export{setSecurityDetails,setSecurityDetailsVariants,setParameterValue,isOperationName,JsonPointer}from"./utils";export{OpenAPIParser}from"./services";export{buildContentItems,normalizeOptions}from"./services";
1
+ export{getOperation}from"./models/operation";export{Console}from"./components/rightPanel/Console";export{RequestSamples}from"./components/RequestSamples";export*from"./components/pluggable";export*from"./components/RedoclyOpenAPIDocs";export{JsonPointer}from"./utils/JsonPointer";export{isOperationName}from"./utils/openapi";export{OpenAPIParser}from"./services";export{buildContentItems,normalizeOptions}from"./services";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
1
  import type { OpenAPITag } from '../types';
2
2
  import type { MarkdownHeading, MenuItemGroupType, Options } from '../services';
3
3
  import type { GroupModel } from './types';
4
- export declare function getGroup(type: MenuItemGroupType, tagOrGroup: OpenAPITag | MarkdownHeading, { pagination, markdownHeadingsAnchorLevel, }: Pick<Options, 'pagination' | 'markdownHeadingsAnchorLevel'>, parent?: GroupModel): GroupModel;
4
+ export declare function getTagOrGroup(type: MenuItemGroupType, tagOrGroup: OpenAPITag | MarkdownHeading, { pagination, markdownHeadingsAnchorLevel, }: Pick<Options, 'pagination' | 'markdownHeadingsAnchorLevel'>, parent?: GroupModel): GroupModel;
@@ -1,2 +1,2 @@
1
- import{getValueFromMdParsedExtension,safeSlugify}from"../utils";import{getHref}from"../services/menu/operation";import{saveTextBeforeHeading}from"../utils/saveTextBeforeHeading";export function getGroup(e,t,{pagination:i,markdownHeadingsAnchorLevel:a},r){const n=t.id||e+"/"+safeSlugify(t.name),o=t["x-displayName"]||t.name,s=t.level||1,m=t.isSchema,d=t.ast||void 0;return{id:n,type:e,parent:r,name:o,level:s,depth:0,isSchema:m,description:saveTextBeforeHeading(getValueFromMdParsedExtension(t,"description")||"",a),items:t.items,ast:d,externalDocs:t.externalDocs,href:getHref({id:n,parent:r,type:e},i)}}
1
+ import{joinWithSeparator,Pagination}from"../services";import{getValueFromMdParsedExtension,safeSlugify}from"../utils";import{getHref}from"../services/menu/operation";import{saveTextBeforeHeading}from"../utils/saveTextBeforeHeading";export function getTagOrGroup(e,i,{pagination:a,markdownHeadingsAnchorLevel:t},r){let o;o=a===Pagination.None&&(null==r?void 0:r.id)&&"schema"===e?joinWithSeparator(r.id,safeSlugify(i.name)):i.id||safeSlugify(i.name);const n=i["x-displayName"]||i.name,s=i.level||1,m=i.isSchema,d=i.ast||void 0;return{id:o,type:e,parent:r,name:n,level:s,depth:0,isSchema:m,description:saveTextBeforeHeading(getValueFromMdParsedExtension(i,"description")||"",t),items:i.items,ast:d,externalDocs:i.externalDocs,href:getHref({id:o,parent:r,type:e},a)}}
2
2
  //# sourceMappingURL=group.js.map
@@ -1,6 +1,6 @@
1
1
  export * from './code-sample-options';
2
2
  export * from './file-upload';
3
- export { getGroup } from './group';
3
+ export { getTagOrGroup } from './group';
4
4
  export { getOperation, isPayloadSample } from './operation';
5
5
  export type { Sample, XPayloadSample } from './operation';
6
6
  export { getRequestBody } from './request';
@@ -1,2 +1,2 @@
1
- export*from"./code-sample-options";export*from"./file-upload";export{getGroup}from"./group";export{getOperation,isPayloadSample}from"./operation";export{getRequestBody}from"./request";export{getExamples,getExternalExampleValue}from"./example";export{getActiveMediaType,getMediaContent}from"./mediaContent";export{getMediaType}from"./mediaType";export{getResponse}from"./response";export{getSchema}from"./schema";export{getField}from"./field";export{getCallback}from"./callback";export*from"./security";export*from"./types";
1
+ export*from"./code-sample-options";export*from"./file-upload";export{getTagOrGroup}from"./group";export{getOperation,isPayloadSample}from"./operation";export{getRequestBody}from"./request";export{getExamples,getExternalExampleValue}from"./example";export{getActiveMediaType,getMediaContent}from"./mediaContent";export{getMediaType}from"./mediaType";export{getResponse}from"./response";export{getSchema}from"./schema";export{getField}from"./field";export{getCallback}from"./callback";export*from"./security";export*from"./types";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByField,sortByRequired}from"../utils";import{getInitialServerWithVariables}from"../components/rightPanel/utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurityRequirement}from"./security";import{getResponse}from"./response";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export function getOperation(e,r,t,o,i,s){var a,n,l;const p=r.isWebhook,d={operationDefinition:r,parent:t,pointer:r.pointer,description:getValueFromMdParsedExtension(r,"description"),externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:p,isCallback:Boolean(null==s?void 0:s.isCallback),isEvent:(null==s?void 0:s.isCallback)||p,name:getOperationName(r),defaultExampleName:r.defaultSampleName,type:"operation",callbackId:null==s?void 0:s.id,href:i,get callbacks(){return Object.keys(r.callbacks||[]).map((s=>{var a;return getCallback(e,s,null===(a=r.callbacks)||void 0===a?void 0:a[s],d.pointer,o,i,t)}))},get responses(){let t=!1;return Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(t=!0),isStatusCode(e)))).map((i=>getResponse({parser:e,code:i,defaultAsError:t,infoOrRef:r.responses[i],options:o,isEvent:d.isEvent,operation:d})))},get parameters(){let t=mergeParams(e,r.pathParameters,r.parameters,{pathPointer:JsonPointer.dirName(d.pointer),operationPointer:d.pointer}).map((({paramOrRef:r,pointer:t})=>getField(e,r,t,o,{operation:d,type:"request"})));return o.sortPropsAlphabetically&&(t=sortByField(t,"name")),o.requiredPropsFirst&&(t=sortByRequired(t)),t}};(null==s?void 0:s.isCallback)?(d.security=(r.security||[]).map((r=>getSecurityRequirement({requirement:r,parser:e}))),d.servers=normalizeServers("",r.servers||r.pathServers||[])):(d.id=getOperationId(r,t),d.security=(r.security||e.definition.security||[]).map((r=>getSecurityRequirement({requirement:r,parser:e}))),d.servers=normalizeServers(e.definitionUrl,mergeInMockServer(r.servers||r.pathServers||e.definition.servers||[],o.mockServer))),o.showExtensions&&(d.extensions=extractExtensions(r,o.showExtensions)),d.activeServer=getInitialServerWithVariables(d.servers),d.requestBody=r.requestBody&&getRequestBody({parser:e,infoOrRef:r.requestBody,options:o,operation:d,isEvent:d.isEvent});const m=null===(n=null===(a=d.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[u]=m||[],[c]=Object.keys((null==u?void 0:u.examples)||[]);d.activeExampleName=!1===r.defaultSampleName?void 0:r.defaultSampleName||c;const v=null===(l=d.requestBody)||void 0===l?void 0:l.content;return d.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,d.definitionSamples=r["x-codeSamples"]||r["x-code-samples"]||[],r["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),d.hasSamples=(null==v?void 0:v.hasSample)||d.definitionSamples.length>0,d.hideTryItPanel=!0===r["x-hideTryItPanel"],d}export function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}
1
+ import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByField,sortByRequired}from"../utils";import{getInitialServerWithVariables}from"../components/rightPanel/utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurityRequirement}from"./security";import{getResponse}from"./response";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export function getOperation(e,t,r,o,i,a){var s,n,l;const p=t.isWebhook,d={operationDefinition:t,parent:r,pointer:t.pointer,description:getValueFromMdParsedExtension(t,"description"),externalDocs:t.externalDocs,deprecated:!!t.deprecated,httpVerb:t.httpVerb,operationId:t.operationId,path:t.pathName,isWebhook:p,isCallback:Boolean(null==a?void 0:a.isCallback),isEvent:(null==a?void 0:a.isCallback)||p,name:getOperationName(t),defaultExampleName:t.defaultSampleName,type:"operation",callbackId:null==a?void 0:a.id,href:i,get callbacks(){return Object.keys(t.callbacks||[]).map((a=>{var s;return getCallback(e,a,null===(s=t.callbacks)||void 0===s?void 0:s[a],d.pointer,o,i,r)}))},get responses(){let r=!1;return Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(r=!0),isStatusCode(e)))).map((i=>getResponse({parser:e,code:i,defaultAsError:r,infoOrRef:t.responses[i],options:o,isEvent:d.isEvent,operation:d})))},get parameters(){let r=mergeParams(e,t.pathParameters,t.parameters,{pathPointer:JsonPointer.dirName(d.pointer),operationPointer:d.pointer}).map((({paramOrRef:t,pointer:r})=>getField(e,t,r,o,{operation:d,type:"request"})));return o.sortPropsAlphabetically&&(r=sortByField(r,"name")),o.requiredPropsFirst&&(r=sortByRequired(r)),r}};(null==a?void 0:a.isCallback)?(d.security=(t.security||[]).map((t=>getSecurityRequirement({requirement:t,parser:e}))),d.servers=normalizeServers("",t.servers||t.pathServers||[])):(d.id=getOperationId(t,o.pagination,r),d.security=(t.security||e.definition.security||[]).map((t=>getSecurityRequirement({requirement:t,parser:e}))),d.servers=normalizeServers(e.definitionUrl,mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer))),o.showExtensions&&(d.extensions=extractExtensions(t,o.showExtensions)),d.activeServer=getInitialServerWithVariables(d.servers),d.requestBody=t.requestBody&&getRequestBody({parser:e,infoOrRef:t.requestBody,options:o,operation:d,isEvent:d.isEvent});const m=null===(n=null===(s=d.requestBody)||void 0===s?void 0:s.content)||void 0===n?void 0:n.mediaTypes,[u]=m||[],[c]=Object.keys((null==u?void 0:u.examples)||[]);d.activeExampleName=!1===t.defaultSampleName?void 0:t.defaultSampleName||c;const v=null===(l=d.requestBody)||void 0===l?void 0:l.content;return d.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,d.definitionSamples=t["x-codeSamples"]||t["x-code-samples"]||[],t["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),d.hasSamples=(null==v?void 0:v.hasSample)||d.definitionSamples.length>0,d.hideTryItPanel=!0===t["x-hideTryItPanel"],d}export function mergeInMockServer(e,t){if(!t)return e;const r={url:t.url,description:t.description};switch(t.position){case"first":return[r,...e];case"last":return[...e,r];case"replace":return[r];default:return e}}
2
2
  //# sourceMappingURL=operation.js.map
@@ -1,5 +1,5 @@
1
1
  import type { Node } from '@markdoc/markdoc';
2
- import type { OpenAPISecurityScheme, OpenAPIEncoding, OpenAPIMediaType, OpenAPIParameterLocation, OpenAPIParameterStyle, OpenAPIExternalDocumentation, Server, OpenAPIServer, OpenAPIXCodeSample, OpenAPISchema, Referenced } from '../types';
2
+ import type { OpenAPISecurityScheme, OpenAPIEncoding, OpenAPIMediaType, OpenAPIParameterLocation, OpenAPIParameterStyle, OpenAPIExternalDocumentation, Server, OpenAPIServer, OpenAPIXCodeSample, OpenAPISchema, Referenced, OpenAPIInfo } from '../types';
3
3
  import type { OpenAPIParser } from '../services/OpenAPIParser';
4
4
  import type { Options } from '../services/Options';
5
5
  import type { ExtendedOpenAPIOperation, MenuItemGroupType, MenuItemType, MergedOpenAPISchema, Unstable_ExternalCodeSample } from '../services/types';
@@ -160,6 +160,7 @@ export type GroupModel = {
160
160
  ast?: Node[];
161
161
  parent?: GroupModel;
162
162
  externalDocs?: OpenAPIExternalDocumentation;
163
+ infoDefinition?: OpenAPIInfo;
163
164
  depth: number;
164
165
  level: number;
165
166
  };
@@ -1,8 +1,9 @@
1
+ import { LayoutVariant } from '@redocly/theme';
1
2
  import type { CodeSampleConfig } from '../services';
2
- import { LayoutVariant } from '../constants';
3
3
  export type AppSessionStore = {
4
4
  activeVersionIdx: number;
5
5
  showRightPanelToggle: boolean;
6
+ collapsedSidebar: false;
6
7
  };
7
8
  export type AppLocalStore = {
8
9
  layout: LayoutVariant;
@@ -13,6 +14,7 @@ export type AppStore = {
13
14
  activeMimeName: string;
14
15
  };
15
16
  export declare const appStore: import("recoil").RecoilState<AppStore>;
17
+ export declare const collapsedSidebarSelector: import("recoil").RecoilState<boolean>;
16
18
  export declare const isSidebarOpenedSelector: import("recoil").RecoilState<boolean>;
17
19
  export declare const activeMimeNameSelector: import("recoil").RecoilState<string>;
18
20
  /**
@@ -1,2 +1,2 @@
1
- import{atom,DefaultValue,selector}from"recoil";import{toLocalStorage,fromLocalStorage,toSessionStorage,fromSessionStorage,IS_BROWSER}from"../utils";import{LayoutVariant}from"../constants";export const appStore=atom({key:"appStore",default:{isSidebarOpened:!1,activeMimeName:""}});export const isSidebarOpenedSelector=selector({key:"isSidebarOpened",get:({get:e})=>e(appStore).isSidebarOpened,set:({set:e,get:t},o)=>{const a=t(appStore);e(appStore,Object.assign(Object.assign({},a),{isSidebarOpened:o}))}});export const activeMimeNameSelector=selector({key:"activeMimeName",get:({get:e})=>e(appStore).activeMimeName,set:({set:e,get:t},o)=>{const a=t(appStore);e(appStore,Object.assign(Object.assign({},a),{activeMimeName:o}))}});export const appLocalStore=atom({key:"appLocalStore",default:{layout:LayoutVariant.THREE_PANEL,activeSampleLanguage:""},effects:[({onSet:e,setSelf:t})=>{const o=fromLocalStorage("appLocalStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof DefaultValue?IS_BROWSER&&localStorage.removeItem("appLocalStore"):toLocalStorage("appLocalStore",JSON.stringify(e))}))}]});export const layoutSelector=selector({key:"layout",get:({get:e})=>e(appLocalStore).layout,set:({set:e,get:t},o=LayoutVariant.STACKED)=>{const a=t(appLocalStore),s=o===LayoutVariant.STACKED?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED;e(appLocalStore,Object.assign(Object.assign({},a),{layout:s}))}});export const activeSampleLanguageSelector=selector({key:"activeSampleLanguage",get:({get:e})=>e(appLocalStore).activeSampleLanguage,set:({set:e,get:t},o)=>{const a=t(appLocalStore);e(appLocalStore,Object.assign(Object.assign({},a),{activeSampleLanguage:o}))}});export const appSessionStore=atom({key:"appSessionStore",default:{activeVersionIdx:0,showRightPanelToggle:!0},effects:[({onSet:e,setSelf:t})=>{const o=fromSessionStorage("appSessionStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof DefaultValue?IS_BROWSER&&localStorage.removeItem("appSessionStore"):toSessionStorage("appSessionStore",JSON.stringify(e))}))}]});export const showRightPanelToggleSelector=selector({key:"showRightPanelToggle",get:({get:e})=>e(appSessionStore).showRightPanelToggle,set:({set:e,get:t},o)=>{const a=t(appSessionStore);e(appSessionStore,Object.assign(Object.assign({},a),{showRightPanelToggle:o}))}});export const activeVersionIdxSelector=selector({key:"activeVersionIdx",get:({get:e})=>e(appSessionStore).activeVersionIdx,set:({set:e,get:t},o)=>{const a=t(appSessionStore);e(appSessionStore,Object.assign(Object.assign({},a),{activeVersionIdx:o}))}});
1
+ import{atom,DefaultValue,selector}from"recoil";import{LayoutVariant}from"@redocly/theme";import{toLocalStorage,fromLocalStorage,toSessionStorage,fromSessionStorage,IS_BROWSER}from"../utils";export const appStore=atom({key:"appStore",default:{isSidebarOpened:!0,activeMimeName:""}});export const collapsedSidebarSelector=selector({key:"collapsedSidebar",get:({get:e})=>e(appSessionStore).collapsedSidebar,set:({set:e,get:t},o)=>{const a=t(appSessionStore);e(appSessionStore,Object.assign(Object.assign({},a),{collapsedSidebar:o}))}});export const isSidebarOpenedSelector=selector({key:"isSidebarOpened",get:({get:e})=>e(appStore).isSidebarOpened,set:({set:e,get:t},o)=>{const a=t(appStore);e(appStore,Object.assign(Object.assign({},a),{isSidebarOpened:o}))}});export const activeMimeNameSelector=selector({key:"activeMimeName",get:({get:e})=>e(appStore).activeMimeName,set:({set:e,get:t},o)=>{const a=t(appStore);e(appStore,Object.assign(Object.assign({},a),{activeMimeName:o}))}});export const appLocalStore=atom({key:"appLocalStore",default:{layout:LayoutVariant.THREE_PANEL,activeSampleLanguage:""},effects:[({onSet:e,setSelf:t})=>{const o=fromLocalStorage("appLocalStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof DefaultValue?IS_BROWSER&&localStorage.removeItem("appLocalStore"):toLocalStorage("appLocalStore",JSON.stringify(e))}))}]});export const layoutSelector=selector({key:"layout",get:({get:e})=>e(appLocalStore).layout,set:({set:e,get:t},o=LayoutVariant.STACKED)=>{const a=t(appLocalStore);e(appLocalStore,Object.assign(Object.assign({},a),{layout:o}))}});export const activeSampleLanguageSelector=selector({key:"activeSampleLanguage",get:({get:e})=>e(appLocalStore).activeSampleLanguage,set:({set:e,get:t},o)=>{const a=t(appLocalStore);e(appLocalStore,Object.assign(Object.assign({},a),{activeSampleLanguage:o}))}});export const appSessionStore=atom({key:"appSessionStore",default:{activeVersionIdx:0,showRightPanelToggle:!0,collapsedSidebar:!1},effects:[({onSet:e,setSelf:t})=>{const o=fromSessionStorage("appSessionStore");null!=o&&""!==o&&t(JSON.parse(o)),e((e=>{e instanceof DefaultValue?IS_BROWSER&&localStorage.removeItem("appSessionStore"):toSessionStorage("appSessionStore",JSON.stringify(e))}))}]});export const showRightPanelToggleSelector=selector({key:"showRightPanelToggle",get:({get:e})=>e(appSessionStore).showRightPanelToggle,set:({set:e,get:t},o)=>{const a=t(appSessionStore);e(appSessionStore,Object.assign(Object.assign({},a),{showRightPanelToggle:o}))}});export const activeVersionIdxSelector=selector({key:"activeVersionIdx",get:({get:e})=>e(appSessionStore).activeVersionIdx,set:({set:e,get:t},o)=>{const a=t(appSessionStore);e(appSessionStore,Object.assign(Object.assign({},a),{activeVersionIdx:o}))}});
2
2
  //# sourceMappingURL=app.js.map
@@ -13,7 +13,6 @@ export declare class OpenAPIParser {
13
13
  private readonly allowMergeRefs;
14
14
  constructor(definition: OpenAPIDefinition, definitionUrl?: string, options?: Options);
15
15
  validate(spec: GenericObject): void;
16
- preprocess(spec: OpenAPIDefinition): void;
17
16
  /**
18
17
  * get spec part by JsonPointer ($ref)
19
18
  */
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(i[r[n]]=e[r[n]])}return i};import{IS_BROWSER,getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./Options/normalizeOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.preprocess(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,r).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}preprocess(e){e.info&&this.options.hideInfoDescription&&(e=Object.assign(Object.assign({},e),{info:Object.assign(Object.assign({},e.info),{description:"","x-parsed-md-description":void 0})}))}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,r),this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let s=t;if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){const e=this.deref(n,t,i);s=e.refsStack,n=e.resolved}return s=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,i):n,{resolved:n,refsStack:s}}return{resolved:e,refsStack:concatRefStacks(t,r)}}mergeRefs(e,t,i){const{$ref:r}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(i&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:i,title:r,readOnly:s,writeOnly:o}=e;return{allOf:[{description:i,title:r,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,i,r=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:r},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(r,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(t)});void 0!==s.properties&&"object"==typeof s.properties&&(s.properties=Object.assign({},s.properties)),void 0!==s.items&&"object"==typeof s.items&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:f}=this.deref(e,i,!0),a=e.$ref,l=a||JsonPointer.join(r,[String(t)]),c=this.mergeAllOf(o,a,f,l);if(!c["x-circular-ref"]||!c.allOf)return a&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],a)),{$ref:a,refsStack:pushRef(f,a),schema:c,absolutePointer:l}})).filter((e=>void 0!==e));for(const[e,{schema:i,refsStack:r,absolutePointer:f}]of o.entries()){const{type:o,enum:a,properties:l,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:b,anyOf:m,"x-circular-ref":h}=i,v=__rest(i,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type===o||void 0===s.type||void 0===o){if(void 0!==o&&(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),void 0!==a&&(Array.isArray(a)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...a,...s.enum])):s.enum=a),void 0!==l&&"object"==typeof l){s.properties=s.properties||{};for(const i in l){const o=concatRefStacks(r,null===(n=l[i])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[i]){if(!h){const r=this.mergeAllOf({allOf:[s.properties[i],l[i]],"x-refsStack":o},t+"/properties/"+i,o,JsonPointer.join(f,["allOf",String(e),"properties",i]));s.properties[i]=r}}else s.properties[i]=Object.assign(Object.assign({},l[i]),{absolutePointer:JsonPointer.join(f,["properties",i]),"x-refsStack":o})}}if(void 0!==c&&!h){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof i.items?{}:Object.assign({},i.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",r)}void 0!==b&&(s.oneOf=b),void 0!==m&&(s.anyOf=m),void 0!==p&&(s.required=[...s.required||[],...p]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||d,description:s.description||O,readOnly:void 0!==s.readOnly?s.readOnly:u,writeOnly:void 0!==s.writeOnly?s.writeOnly:y,"x-circular-ref":s["x-circular-ref"]||h}),v)}}return s}findDerived(e){const t={},i=this.definition.components&&this.definition.components.schemas||{};for(const r in i){const{resolved:n}=this.deref(i[r]);void 0!==n.allOf&&n.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+r]=[n["x-discriminator-value"]||r])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const i=t[e];if(Array.isArray(i.oneOf)){const r=t.slice(0,e),n=t.slice(e+1);return{oneOf:i.oneOf.map((e=>({allOf:[...r,e,...n]})))}}}return e}}
1
+ var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};import{IS_BROWSER,getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./Options/normalizeOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,r=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,i),this.isRef(e)){const i=getDefinitionName(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let o=t;if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){const e=this.deref(n,t,r);o=e.refsStack,n=e.resolved}return o=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,r):n,{resolved:n,refsStack:o}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),o=Object.keys(n);if(0===o.length)return t;if(r&&o.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:r,title:i,readOnly:o,writeOnly:s}=e;return{allOf:[{description:r,title:i,readOnly:o,writeOnly:s},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let o=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(t)});void 0!==o.properties&&"object"==typeof o.properties&&(o.properties=Object.assign({},o.properties)),void 0!==o.items&&"object"==typeof o.items&&(o.items=Object.assign({},o.items));const s=e.allOf.map(((e,t)=>{var n;const{resolved:s,refsStack:f}=this.deref(e,r,!0),l=e.$ref,a=l||JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(s,l,f,a);if(!c["x-circular-ref"]||!c.allOf)return l&&(null===(n=o["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(f,l),schema:c,absolutePointer:a}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:f}]of s.entries()){const{type:s,enum:l,properties:a,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:m,anyOf:b,"x-circular-ref":h}=r,v=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(o.type===s||void 0===o.type||void 0===s){if(void 0!==s&&(Array.isArray(s)&&Array.isArray(o.type)?o.type=[...s,...o.type]:o.type=s),void 0!==l&&(Array.isArray(l)&&Array.isArray(o.enum)?o.enum=Array.from(new Set([...l,...o.enum])):o.enum=l),void 0!==a&&"object"==typeof a){o.properties=o.properties||{};for(const r in a){const s=concatRefStacks(i,null===(n=a[r])||void 0===n?void 0:n["x-refsStack"]);if(o.properties[r]){if(!h){const i=this.mergeAllOf({allOf:[o.properties[r],a[r]],"x-refsStack":s},t+"/properties/"+r,s,JsonPointer.join(f,["allOf",String(e),"properties",r]));o.properties[r]=i}}else o.properties[r]=Object.assign(Object.assign({},a[r]),{absolutePointer:JsonPointer.join(f,["properties",r]),"x-refsStack":s})}}if(void 0!==c&&!h){const e="boolean"==typeof o.items?{}:Object.assign({},o.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);o.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}void 0!==m&&(o.oneOf=m),void 0!==b&&(o.anyOf=b),void 0!==p&&(o.required=[...o.required||[],...p]),o=Object.assign(Object.assign(Object.assign({},o),{title:o.title||d,description:o.description||O,readOnly:void 0!==o.readOnly?o.readOnly:u,writeOnly:void 0!==o.writeOnly?o.writeOnly:y,"x-circular-ref":o["x-circular-ref"]||h}),v)}}return o}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);void 0!==n.allOf&&n.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const r=t[e];if(Array.isArray(r.oneOf)){const i=t.slice(0,e),n=t.slice(e+1);return{oneOf:r.oneOf.map((e=>({allOf:[...i,e,...n]})))}}}return e}}
2
2
  //# sourceMappingURL=OpenAPIParser.js.map
@@ -1,2 +1,2 @@
1
- import{generateMediaQueries}from"@redocly/theme";import{DEFAULT_SEARCH_MAX_DEPTH,LayoutVariant,WindowReferenceOptions}from"../../constants";import{SearchMode}from"./types";import{argValueToBoolean,argValueToExpandLevel,argValueToInt,argValueToNumber,getWindowReferenceOptions,isUndefined}from"../../utils";import{normalizePath}from"../utils";import{addTrailingSlash,normalizeExpandResponses,normalizePayloadSampleIdx,normalizeShowExtensions,normalizeScrollYOffset}from"./helpers";import{Pagination,SideNavStyle}from"../types";export function normalizeOptions(e,a){var o,n,l,i,r,s,t,d,u,g,p,h;e=Object.assign(Object.assign(Object.assign({},a),e),{allowedMdComponents:Object.assign(Object.assign({},null==e?void 0:e.allowedMdComponents),{components:Object.assign(Object.assign({},null===(o=null==a?void 0:a.allowedMdComponents)||void 0===o?void 0:o.components),null===(n=null==e?void 0:e.allowedMdComponents)||void 0===n?void 0:n.components),tags:Object.assign(Object.assign({},null===(l=null==a?void 0:a.allowedMdComponents)||void 0===l?void 0:l.tags),null===(i=null==e?void 0:e.allowedMdComponents)||void 0===i?void 0:i.tags),nodes:Object.assign(Object.assign(Object.assign({},null===(r=null==a?void 0:a.allowedMdComponents)||void 0===r?void 0:r.nodes),null===(s=null==e?void 0:e.allowedMdComponents)||void 0===s?void 0:s.nodes),{heading:(null===(d=null===(t=null==a?void 0:a.allowedMdComponents)||void 0===t?void 0:t.nodes)||void 0===d?void 0:d.heading)||(null===(u=null==e?void 0:e.allowedMdComponents)||void 0===u?void 0:u.nodes.heading)})})});const m=Array.isArray(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:null===(g=e.ignoreNamedSchemas)||void 0===g?void 0:g.split(",").map((e=>e.trim())),c={downloadDefinitionUrl:e.downloadDefinitionUrl,schemaDefinitionsTagName:e.schemaDefinitionsTagName,corsProxyUrl:addTrailingSlash(e.corsProxyUrl),authCorsProxyUrl:addTrailingSlash(e.authCorsProxyUrl),ctrlFHijack:argValueToBoolean(e.ctrlFHijack,!0),disableDeepLinks:argValueToBoolean(e.disableDeepLinks,!1),disableTryItRequestUrlEncoding:argValueToBoolean(e.disableTryItRequestUrlEncoding,!1),minCharacterLengthToInitSearch:argValueToNumber(e.minCharacterLengthToInitSearch,3),disableSearch:argValueToBoolean(e.disableSearch,!1),disableSidebar:argValueToBoolean(e.disableSidebar,!1),expandResponses:normalizeExpandResponses(e.expandResponses),jsonSampleExpandLevel:argValueToExpandLevel(e.jsonSampleExpandLevel,2),expandDefaultServerVariables:argValueToBoolean(e.expandDefaultServerVariables,!1),expandDefaultRequest:argValueToBoolean(e.expandDefaultRequest,!0),expandDefaultResponse:argValueToBoolean(e.expandDefaultResponse,!0),expandSingleSchemaField:argValueToBoolean(e.expandSingleSchemaField,!1),generatedPayloadSamplesMaxDepth:argValueToInt(e.generatedPayloadSamplesMaxDepth,8),hideDownloadButton:void 0===e.hideDownloadButton?null:argValueToBoolean(e.hideDownloadButton),hideInfoDescription:argValueToBoolean(e.hideInfoDescription),hideHostname:argValueToBoolean(e.hideHostname,!1),hideInfoSection:argValueToBoolean(e.hideInfoSection,!1),hideLoading:argValueToBoolean(e.hideLoading,!1),hideLogo:argValueToBoolean(e.hideLogo,!1),hideFab:argValueToBoolean(e.hideFab,!1),hideRequestPayloadSample:argValueToBoolean(e.hideRequestPayloadSample,!1),hideRightPanel:argValueToBoolean(e.hideRightPanel,!1),hideSchemaPattern:argValueToBoolean(e.hideSchemaPattern,!1),hideOneOfDescription:argValueToBoolean(e.hideOneOfDescription,!1),hideSchemaTitles:argValueToBoolean(e.hideSchemaTitles,!1),hideSingleRequestSampleTab:argValueToBoolean(e.hideSingleRequestSampleTab,!1),hideTryItPanel:argValueToBoolean(e.hideTryItPanel,!1),showObjectSchemaExamples:argValueToBoolean(e.showObjectSchemaExamples,!1),showAccessMode:argValueToBoolean(e.showAccessMode,!1),maxDisplayedEnumValues:argValueToNumber(e.maxDisplayedEnumValues),maxResponseHeadersToShowInTryIt:argValueToNumber(e.maxResponseHeadersToShowInTryIt,0),menuToggle:argValueToBoolean(e.menuToggle,!0),mockServer:(null===(p=e.mockServer)||void 0===p?void 0:p.url)?{url:e.mockServer.url,position:e.mockServer.position||"first",description:e.mockServer.description||"Mock server"}:void 0,nativeScrollbars:argValueToBoolean(e.nativeScrollbars,!1),oAuth2RedirectURI:e.oAuth2RedirectURI||null,onlyRequiredInSamples:argValueToBoolean(e.onlyRequiredInSamples,!1),pathInMiddlePanel:argValueToBoolean(e.pathInMiddlePanel,!1),onDeepLinkClick:e.onDeepLinkClick||getWindowReferenceOptions(WindowReferenceOptions.ON_DEEP_LINK_CLICK),requestInterceptor:e.requestInterceptor||getWindowReferenceOptions(WindowReferenceOptions.REQUEST_INTERCEPTOR),routingBasePath:isUndefined(e.enableRouter)?"":e.routingBasePath&&normalizePath(e.routingBasePath)||"",schemaExpansionLevel:argValueToExpandLevel(e.schemaExpansionLevel),pagination:e.pagination||Pagination.None,feedback:e.feedback||{hide:!0},payloadSampleIdx:normalizePayloadSampleIdx(e.payloadSampleIdx,0),requiredPropsFirst:argValueToBoolean(e.requiredPropsFirst,!1),markdownHeadingsAnchorLevel:argValueToNumber(e.markdownHeadingsAnchorLevel,2),samplesTabsMaxCount:argValueToInt(e.samplesTabsMaxCount,5),scrollYOffset:normalizeScrollYOffset(e.scrollYOffset),searchAutoExpand:argValueToBoolean(e.searchAutoExpand,!0),searchFieldLevelBoost:argValueToNumber(e.searchFieldLevelBoost,.95),searchMaxDepth:argValueToNumber(e.searchMaxDepth,DEFAULT_SEARCH_MAX_DEPTH),searchOperationTitleBoost:argValueToNumber(e.searchOperationTitleBoost,4),searchTagTitleBoost:argValueToNumber(e.searchTagTitleBoost,8),sendXUserAgentInTryIt:argValueToBoolean(e.sendXUserAgentInTryIt,!1),showWebhookVerb:argValueToBoolean(e.showWebhookVerb,!1),showChangeLayoutButton:argValueToBoolean(e.showChangeLayoutButton,!0),showConsole:null!=e.hideTryItPanel?!e.hideTryItPanel:null===(h=e.showConsole)||void 0===h||h,showExtensions:normalizeShowExtensions(e.showExtensions),preserveOriginalExtensionsName:argValueToBoolean(e.preserveOriginalExtensionsName,!1),showNextButton:argValueToBoolean(e.showNextButton,!0),showRightPanelToggle:argValueToBoolean(e.showRightPanelToggle,!0),showSecuritySchemeType:argValueToBoolean(e.showSecuritySchemeType,!0),hideSecuritySection:argValueToBoolean(e.hideSecuritySection,!1),simpleOneOfTypeLabel:argValueToBoolean(e.simpleOneOfTypeLabel,!1),sortEnumValuesAlphabetically:argValueToBoolean(e.sortEnumValuesAlphabetically),sortOperationsAlphabetically:argValueToBoolean(e.sortOperationsAlphabetically),sortPropsAlphabetically:argValueToBoolean(e.sortPropsAlphabetically,!1),sortTagsAlphabetically:argValueToBoolean(e.sortTagsAlphabetically,!1),unstable_ignoreMimeParameters:argValueToBoolean(e.unstable_ignoreMimeParameters,!1),untrustedDefinition:argValueToBoolean(e.untrustedDefinition,!1),enumSkipQuotes:argValueToBoolean(e.enumSkipQuotes),whiteLabel:argValueToBoolean(e.whiteLabel),skipBundleAndConvert:argValueToBoolean(e.skipBundleAndConvert),disablePaginationLoadingAnimation:argValueToBoolean(!!e.disablePaginationLoadingAnimation),disableErrorBoundary:argValueToBoolean(e.disableErrorBoundary),ignoreNamedSchemas:new Set(m),mediaQueries:generateMediaQueries((null==e?void 0:e.breakpoints)||{}),showAtBreakpoint:e.showAtBreakpoint,allowedMdComponents:null==e?void 0:e.allowedMdComponents,defaultSampleLanguage:e.defaultSampleLanguage||"",generateCodeSamples:e.generateCodeSamples||{languages:[]},layout:e.layout||LayoutVariant.THREE_PANEL,sideNavStyle:e.sideNavStyle||SideNavStyle.SummaryOnly,searchMode:e.searchMode||SearchMode.Default,sidebarLinks:e.sidebarLinks||{},events:e.events||{},hooks:e.hooks||getWindowReferenceOptions(WindowReferenceOptions.HOOKS)||{},unstable_tryItButtonOverride:e.unstable_tryItButtonOverride||null,unstable_externalCodeSamples:e.unstable_externalCodeSamples||[],markdownItemsPagination:e.markdownItemsPagination||"none"};return null!=e.showConsole&&console.warn('"showConsole" option is deprecated. Please, use "hideTryItPanel" instead.'),c.disablePaginationLoadingAnimation=!!e.disablePaginationLoadingAnimation||c.pagination===Pagination.None,c}
1
+ import{generateMediaQueries,LayoutVariant}from"@redocly/theme";import{DEFAULT_SEARCH_MAX_DEPTH,WindowReferenceOptions}from"../../constants";import{SearchMode}from"./types";import{argValueToBoolean,argValueToExpandLevel,argValueToInt,argValueToNumber,getWindowReferenceOptions,isUndefined,normalizePath}from"../../utils";import{addTrailingSlash,normalizeExpandResponses,normalizePayloadSampleIdx,normalizeShowExtensions,normalizeScrollYOffset}from"./helpers";import{Pagination,SideNavStyle}from"../types";export function normalizeOptions(e,a){var o,n,l,i,r,s,t,d,u,g,p,h;e=Object.assign(Object.assign(Object.assign({},a),e),{allowedMdComponents:Object.assign(Object.assign({},null==e?void 0:e.allowedMdComponents),{components:Object.assign(Object.assign({},null===(o=null==a?void 0:a.allowedMdComponents)||void 0===o?void 0:o.components),null===(n=null==e?void 0:e.allowedMdComponents)||void 0===n?void 0:n.components),tags:Object.assign(Object.assign({},null===(l=null==a?void 0:a.allowedMdComponents)||void 0===l?void 0:l.tags),null===(i=null==e?void 0:e.allowedMdComponents)||void 0===i?void 0:i.tags),nodes:Object.assign(Object.assign(Object.assign({},null===(r=null==a?void 0:a.allowedMdComponents)||void 0===r?void 0:r.nodes),null===(s=null==e?void 0:e.allowedMdComponents)||void 0===s?void 0:s.nodes),{heading:(null===(d=null===(t=null==a?void 0:a.allowedMdComponents)||void 0===t?void 0:t.nodes)||void 0===d?void 0:d.heading)||(null===(u=null==e?void 0:e.allowedMdComponents)||void 0===u?void 0:u.nodes.heading)})})});const m=Array.isArray(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:null===(g=e.ignoreNamedSchemas)||void 0===g?void 0:g.split(",").map((e=>e.trim())),c={downloadDefinitionUrl:e.downloadDefinitionUrl,schemaDefinitionsTagName:e.schemaDefinitionsTagName,corsProxyUrl:addTrailingSlash(e.corsProxyUrl),authCorsProxyUrl:addTrailingSlash(e.authCorsProxyUrl),ctrlFHijack:argValueToBoolean(e.ctrlFHijack,!0),disableDeepLinks:argValueToBoolean(e.disableDeepLinks,!1),disableTryItRequestUrlEncoding:argValueToBoolean(e.disableTryItRequestUrlEncoding,!1),minCharacterLengthToInitSearch:argValueToNumber(e.minCharacterLengthToInitSearch,3),disableSearch:argValueToBoolean(e.disableSearch,!1),disableSidebar:argValueToBoolean(e.disableSidebar,!1),expandResponses:normalizeExpandResponses(e.expandResponses),jsonSampleExpandLevel:argValueToExpandLevel(e.jsonSampleExpandLevel,2),expandDefaultServerVariables:argValueToBoolean(e.expandDefaultServerVariables,!1),expandDefaultRequest:argValueToBoolean(e.expandDefaultRequest,!0),expandDefaultResponse:argValueToBoolean(e.expandDefaultResponse,!0),expandSingleSchemaField:argValueToBoolean(e.expandSingleSchemaField,!1),generatedPayloadSamplesMaxDepth:argValueToInt(e.generatedPayloadSamplesMaxDepth,8),hideDownloadButton:argValueToBoolean(e.hideDownloadButton),hideInfoDescription:argValueToBoolean(e.hideInfoDescription),hideHostname:argValueToBoolean(e.hideHostname,!1),hideInfoSection:argValueToBoolean(e.hideInfoSection,!1),hideLoading:argValueToBoolean(e.hideLoading,!1),hideLogo:argValueToBoolean(e.hideLogo,!1),hideFab:argValueToBoolean(e.hideFab,!1),hideRequestPayloadSample:argValueToBoolean(e.hideRequestPayloadSample,!1),hideRightPanel:argValueToBoolean(e.hideRightPanel,!1),hideSchemaPattern:argValueToBoolean(e.hideSchemaPattern,!1),hideOneOfDescription:argValueToBoolean(e.hideOneOfDescription,!1),hideSchemaTitles:argValueToBoolean(e.hideSchemaTitles,!1),hideSingleRequestSampleTab:argValueToBoolean(e.hideSingleRequestSampleTab,!1),hideTryItPanel:argValueToBoolean(e.hideTryItPanel,!1),showObjectSchemaExamples:argValueToBoolean(e.showObjectSchemaExamples,!1),showAccessMode:argValueToBoolean(e.showAccessMode,!1),maxDisplayedEnumValues:argValueToNumber(e.maxDisplayedEnumValues),maxResponseHeadersToShowInTryIt:argValueToNumber(e.maxResponseHeadersToShowInTryIt,0),menuToggle:argValueToBoolean(e.menuToggle,!0),mockServer:(null===(p=e.mockServer)||void 0===p?void 0:p.url)?{url:e.mockServer.url,position:e.mockServer.position||"first",description:e.mockServer.description||"Mock server"}:void 0,nativeScrollbars:argValueToBoolean(e.nativeScrollbars,!1),oAuth2RedirectURI:e.oAuth2RedirectURI||null,onlyRequiredInSamples:argValueToBoolean(e.onlyRequiredInSamples,!1),pathInMiddlePanel:argValueToBoolean(e.pathInMiddlePanel,!1),onDeepLinkClick:e.onDeepLinkClick||getWindowReferenceOptions(WindowReferenceOptions.ON_DEEP_LINK_CLICK),requestInterceptor:e.requestInterceptor||getWindowReferenceOptions(WindowReferenceOptions.REQUEST_INTERCEPTOR),routingBasePath:isUndefined(e.enableRouter)?"":e.routingBasePath&&normalizePath(e.routingBasePath)||"",schemaExpansionLevel:argValueToExpandLevel(e.schemaExpansionLevel),pagination:e.pagination||Pagination.None,feedback:e.feedback||{hide:!0},payloadSampleIdx:normalizePayloadSampleIdx(e.payloadSampleIdx,0),requiredPropsFirst:argValueToBoolean(e.requiredPropsFirst,!1),markdownHeadingsAnchorLevel:argValueToNumber(e.markdownHeadingsAnchorLevel,2),samplesTabsMaxCount:argValueToInt(e.samplesTabsMaxCount,5),scrollYOffset:normalizeScrollYOffset(e.scrollYOffset),searchAutoExpand:argValueToBoolean(e.searchAutoExpand,!0),searchFieldLevelBoost:argValueToNumber(e.searchFieldLevelBoost,.95),searchMaxDepth:argValueToNumber(e.searchMaxDepth,DEFAULT_SEARCH_MAX_DEPTH),searchOperationTitleBoost:argValueToNumber(e.searchOperationTitleBoost,4),searchTagTitleBoost:argValueToNumber(e.searchTagTitleBoost,8),sendXUserAgentInTryIt:argValueToBoolean(e.sendXUserAgentInTryIt,!1),showWebhookVerb:argValueToBoolean(e.showWebhookVerb,!1),showChangeLayoutButton:argValueToBoolean(e.showChangeLayoutButton,!0),showConsole:null!=e.hideTryItPanel?!e.hideTryItPanel:null===(h=e.showConsole)||void 0===h||h,showExtensions:normalizeShowExtensions(e.showExtensions),preserveOriginalExtensionsName:argValueToBoolean(e.preserveOriginalExtensionsName,!1),showNextButton:argValueToBoolean(e.showNextButton,!0),showRightPanelToggle:argValueToBoolean(e.showRightPanelToggle,!0),showSecuritySchemeType:argValueToBoolean(e.showSecuritySchemeType,!0),hideSecuritySection:argValueToBoolean(e.hideSecuritySection,!1),simpleOneOfTypeLabel:argValueToBoolean(e.simpleOneOfTypeLabel,!1),sortEnumValuesAlphabetically:argValueToBoolean(e.sortEnumValuesAlphabetically),sortOperationsAlphabetically:argValueToBoolean(e.sortOperationsAlphabetically),sortPropsAlphabetically:argValueToBoolean(e.sortPropsAlphabetically,!1),sortTagsAlphabetically:argValueToBoolean(e.sortTagsAlphabetically,!1),unstable_ignoreMimeParameters:argValueToBoolean(e.unstable_ignoreMimeParameters,!1),untrustedDefinition:argValueToBoolean(e.untrustedDefinition,!1),enumSkipQuotes:argValueToBoolean(e.enumSkipQuotes),whiteLabel:argValueToBoolean(e.whiteLabel),skipBundleAndConvert:argValueToBoolean(e.skipBundleAndConvert),disablePaginationLoadingAnimation:argValueToBoolean(!!e.disablePaginationLoadingAnimation),disableErrorBoundary:argValueToBoolean(e.disableErrorBoundary),ignoreNamedSchemas:new Set(m),mediaQueries:generateMediaQueries((null==e?void 0:e.breakpoints)||{}),showAtBreakpoint:e.showAtBreakpoint,allowedMdComponents:null==e?void 0:e.allowedMdComponents,defaultSampleLanguage:e.defaultSampleLanguage||"",generateCodeSamples:e.generateCodeSamples||{languages:[]},layout:e.layout||LayoutVariant.THREE_PANEL,sideNavStyle:e.sideNavStyle||SideNavStyle.SummaryOnly,searchMode:e.searchMode||SearchMode.Default,sidebarLinks:e.sidebarLinks||{},events:e.events||{},hooks:e.hooks||getWindowReferenceOptions(WindowReferenceOptions.HOOKS)||{},unstable_tryItButtonOverride:e.unstable_tryItButtonOverride||null,unstable_externalCodeSamples:e.unstable_externalCodeSamples||[],markdownItemsPagination:e.markdownItemsPagination||"none",infoNavText:null==e?void 0:e.infoNavText};return null!=e.showConsole&&console.warn('"showConsole" option is deprecated. Please, use "hideTryItPanel" instead.'),c.disablePaginationLoadingAnimation=!!e.disablePaginationLoadingAnimation||c.pagination===Pagination.None,c}
2
2
  //# sourceMappingURL=normalizeOptions.js.map
@@ -1,10 +1,9 @@
1
1
  import type React from 'react';
2
2
  import type { Schema, ConfigFunction } from '@markdoc/markdoc/dist/src/types';
3
- import type { LayoutVariant } from 'src/constants';
4
3
  import type { CodeSamplesConfig, Languages } from '../code-samples';
5
4
  import type { ExternalLink, HooksConfig, MarkdownItemsPagination, Pagination, SideNavStyle, Unstable_ExternalCodeSample, PaginationType } from '../types';
6
5
  import type { Events } from '../../events';
7
- import type { MediaQueries } from '@redocly/theme';
6
+ import type { MediaQueries, LayoutVariant } from '@redocly/theme';
8
7
  import type { OperationModel } from '../../models/types';
9
8
  import type { LabelsConfigRaw } from '../labels/types';
10
9
  export declare enum SearchMode {
@@ -132,6 +131,7 @@ export interface RawOptions {
132
131
  };
133
132
  enableRouter?: boolean;
134
133
  feedback?: Record<string, any>;
134
+ infoNavText?: string;
135
135
  }
136
136
  export interface DefaultOptions {
137
137
  mediaQueries?: MediaQueries;
@@ -271,4 +271,5 @@ export interface Options {
271
271
  unstable_externalDescription?: string;
272
272
  searchMaxDepth: number;
273
273
  feedback: Record<string, any>;
274
+ infoNavText?: string;
274
275
  }
@@ -1,2 +1,2 @@
1
- import{parse as parseQueryString,stringify as stringifyQueryString}from"query-string";import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{deleteEmptyArrayItem,isArrayOfObjects,serializeParameterValue,getSecurityDetails,getParameterValue}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{l}from"../labels";import{HTTPSnippet}from"./httpsnippet";import StringUtility from"./httpsnippet/helpers/string-utility";import{getActiveMediaType}from"../../models";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:o={}},{activeServer:l,requestValues:u}){var p,c,d;const{securityHeaders:m,securityCookies:h,securityQueries:y,securityOAuth2ExtraCalls:g,basicAuth:f}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r),v=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&getActiveMediaType(e.requestBody.content),O={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:s},T={path:null==u?void 0:u.path,cookie:null==u?void 0:u.cookie,header:null==u?void 0:u.header,query:null==u?void 0:u.query,body:null==u?void 0:u.body};let S=!1;const C=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=T.header)||void 0===t?void 0:t[e.name])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,O,i))}})).map((e=>((null==v?void 0:v.name)&&"content-type"===e.name.toLowerCase()&&(S=!0,e.value=v.name),e))).concat(m);!S&&(null==v?void 0:v.name)&&C.unshift({name:"Content-Type",value:null==v?void 0:v.name});const b=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,O,i))))).reduce(((e,t)=>{var a;for(const[r,i]of Object.entries(t))e.push({name:r,value:String((null===(a=T.cookie)||void 0===a?void 0:a[r])||i)});return e}),[]).concat(h),E=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,O,i))))).reduce(((e,t)=>{var a,r,i;for(const[s,n]of Object.entries(t))e.push({name:s,value:isArrayOfObjects(null===(a=T.query)||void 0===a?void 0:a[s])&&JSON.stringify(deleteEmptyArrayItem(null===(r=T.query)||void 0===r?void 0:r[s]))||String((null===(i=T.query)||void 0===i?void 0:i[s])||n)});return e}),[]).concat(y),A=`${null==l?void 0:l.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,_=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:i}=t;return e[i]=(null===(a=T.path)||void 0===a?void 0:a[i])||n[i]||getParameterValue(r,i),e}),{}),P=null===(d=null==v?void 0:v.examples)||void 0===d?void 0:d[t],R=(null==v?void 0:v.examples)||{},[w]=Object.values(R),D=T.body||(null==P?void 0:P.value)||(null==w?void 0:w.value)||(null==v?void 0:v.schema)&&Sampler.sample(null==v?void 0:v.schema.rawSchema,O,i),j=null==v?void 0:v.name.toLowerCase();let k="",M=[];switch(normalizeMimeType(j)){case MediaTypes.JSON:k=JSON.stringify(getDataRequest(D,o));break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:k=stringifyQueryString(getDataRequest(D,o)),M=objectToHarParams(getDataRequest(D,o));break;default:k=String(D||"")}const H=k?{mimeType:(null==v?void 0:v.name)||MediaTypes.OCTET_STREAM,text:k,params:M}:void 0,q=e.responses.map((e=>e.code));return{method:e.httpVerb,url:A,httpVersion:"HTTP/1.1",cookies:b,headers:C,queryString:E,postData:H,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:g,basicAuth:f,pathParameters:_,serverVariables:(null==l?void 0:l.variables)||e.activeServer.variables,allResponseCodes:q}}const defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:Object.assign(Object.assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:Object.assign(Object.assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:Object.assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:Object.assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:Object.assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:Object.assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:Object.assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:Object.assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:Object.assign({},defaultOptions)}};export function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:r,properties:i,options:s={}}){try{const{skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u,store:p}=s,c=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:i,skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u},p),d=new HTTPSnippet(c);return langToSnippetConfig[e]?d.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),s)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){var a,r,i,s;const n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const o of(null==e?void 0:e.schemes)||[]){const e=getSecurityDetails(o.id);switch(o.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";o.flows.clientCredentials&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(o.flows.clientCredentials,o.scopes,e)):o.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(o.flows.password,o.scopes,e)),null===(r=n.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===o.in&&(null===(i=n.securityHeaders)||void 0===i||i.push({name:o.name,value:t})),"cookie"===o.in&&n.securityCookies.push({name:o.name,value:t}),"query"===o.in&&n.securityQueries.push({name:o.name,value:t});break}case"http":"basic"===o.scheme?n.basicAuth={username:e.username||`<${StringUtility.toSnakeCase(l("tryItAuthBasicUsername"))}>`,password:e.password||`<${StringUtility.toSnakeCase(l("tryItAuthBasicPassword"))}>`}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:`${capitalizeFirst(o.scheme||"bearer")} <YOUR_${o.bearerFormat||"TOKEN"}_HERE>`})}}return n}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if("object"==typeof e)return merge(e,t,{arrayMerge:arrayMergeStrategy});try{return merge(JSON.parse(e),t,{arrayMerge:arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e){const t=[];for(const[a,r]of Object.entries(e))t.push({name:a,value:String(r)});return t}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
1
+ import{parse as parseQueryString,stringify as stringifyQueryString}from"query-string";import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{deleteEmptyArrayItem,isArrayOfObjects,serializeParameterValue,getSecurityDetails,getParameterValue}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{l}from"../labels";import{HTTPSnippet}from"./httpsnippet";import StringUtility from"./httpsnippet/helpers/string-utility";import{getActiveMediaType}from"../../models/mediaContent";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:o={}},{activeServer:l,requestValues:u}){var p,c,d;const{securityHeaders:m,securityCookies:h,securityQueries:y,securityOAuth2ExtraCalls:g,basicAuth:f}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r),v=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&getActiveMediaType(e.requestBody.content),O={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:s},T={path:null==u?void 0:u.path,cookie:null==u?void 0:u.cookie,header:null==u?void 0:u.header,query:null==u?void 0:u.query,body:null==u?void 0:u.body};let S=!1;const C=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=T.header)||void 0===t?void 0:t[e.name])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,O,i))}})).map((e=>((null==v?void 0:v.name)&&"content-type"===e.name.toLowerCase()&&(S=!0,e.value=v.name),e))).concat(m);!S&&(null==v?void 0:v.name)&&C.unshift({name:"Content-Type",value:null==v?void 0:v.name});const b=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,O,i))))).reduce(((e,t)=>{var a;for(const[r,i]of Object.entries(t))e.push({name:r,value:String((null===(a=T.cookie)||void 0===a?void 0:a[r])||i)});return e}),[]).concat(h),E=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,O,i))))).reduce(((e,t)=>{var a,r,i;for(const[s,n]of Object.entries(t))e.push({name:s,value:isArrayOfObjects(null===(a=T.query)||void 0===a?void 0:a[s])&&JSON.stringify(deleteEmptyArrayItem(null===(r=T.query)||void 0===r?void 0:r[s]))||String((null===(i=T.query)||void 0===i?void 0:i[s])||n)});return e}),[]).concat(y),A=`${null==l?void 0:l.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,_=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:i}=t;return e[i]=(null===(a=T.path)||void 0===a?void 0:a[i])||n[i]||getParameterValue(r,i),e}),{}),P=null===(d=null==v?void 0:v.examples)||void 0===d?void 0:d[t],R=(null==v?void 0:v.examples)||{},[w]=Object.values(R),D=T.body||(null==P?void 0:P.value)||(null==w?void 0:w.value)||(null==v?void 0:v.schema)&&Sampler.sample(null==v?void 0:v.schema.rawSchema,O,i),j=null==v?void 0:v.name.toLowerCase();let k="",M=[];switch(normalizeMimeType(j)){case MediaTypes.JSON:k=JSON.stringify(getDataRequest(D,o));break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:k=stringifyQueryString(getDataRequest(D,o)),M=objectToHarParams(getDataRequest(D,o));break;default:k=String(D||"")}const H=k?{mimeType:(null==v?void 0:v.name)||MediaTypes.OCTET_STREAM,text:k,params:M}:void 0,q=e.responses.map((e=>e.code));return{method:e.httpVerb,url:A,httpVersion:"HTTP/1.1",cookies:b,headers:C,queryString:E,postData:H,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:g,basicAuth:f,pathParameters:_,serverVariables:(null==l?void 0:l.variables)||e.activeServer.variables,allResponseCodes:q}}const defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:Object.assign(Object.assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:Object.assign(Object.assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:Object.assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:Object.assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:Object.assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:Object.assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:Object.assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:Object.assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:Object.assign({},defaultOptions)}};export function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:r,properties:i,options:s={}}){try{const{skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u,store:p}=s,c=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:i,skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u},p),d=new HTTPSnippet(c);return langToSnippetConfig[e]?d.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),s)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){var a,r,i,s;const n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const o of(null==e?void 0:e.schemes)||[]){const e=getSecurityDetails(o.id);switch(o.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";o.flows.clientCredentials&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(o.flows.clientCredentials,o.scopes,e)):o.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(o.flows.password,o.scopes,e)),null===(r=n.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===o.in&&(null===(i=n.securityHeaders)||void 0===i||i.push({name:o.name,value:t})),"cookie"===o.in&&n.securityCookies.push({name:o.name,value:t}),"query"===o.in&&n.securityQueries.push({name:o.name,value:t});break}case"http":"basic"===o.scheme?n.basicAuth={username:e.username||`<${StringUtility.toSnakeCase(l("tryItAuthBasicUsername"))}>`,password:e.password||`<${StringUtility.toSnakeCase(l("tryItAuthBasicPassword"))}>`}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:`${capitalizeFirst(o.scheme||"bearer")} <YOUR_${o.bearerFormat||"TOKEN"}_HERE>`})}}return n}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if("object"==typeof e)return merge(e,t,{arrayMerge:arrayMergeStrategy});try{return merge(JSON.parse(e),t,{arrayMerge:arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e){const t=[];for(const[a,r]of Object.entries(e))t.push({name:a,value:String(r)});return t}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
2
2
  //# sourceMappingURL=generator.js.map
@@ -1,2 +1,2 @@
1
- import{stringify as stringifyQueryString}from"query-string";import{getActiveMediaType}from"../../models";export function isSameHash(e,o){return e===o||"#"+e===o||e==="#"+o}function getContentTypeName(e){var o,n,t,i,d,s,r,p,l,v,u,a,c;if(!e.in)return"request"===e.deps.type&&(null===(t=null===(n=null===(o=e.deps.operation)||void 0===o?void 0:o.requestBody)||void 0===n?void 0:n.content)||void 0===t?void 0:t.mediaTypes)?(null===(s=null===(d=null===(i=e.deps.operation)||void 0===i?void 0:i.requestBody)||void 0===d?void 0:d.content)||void 0===s?void 0:s.mediaTypes.length)>1?(null===(p=null===(r=e.deps.operation)||void 0===r?void 0:r.requestBody)||void 0===p?void 0:p.content)&&getActiveMediaType(e.deps.operation.requestBody.content).name:void 0:"response"===e.deps.type&&(null===(v=null===(l=e.deps.response)||void 0===l?void 0:l.content)||void 0===v?void 0:v.mediaTypes)&&(null===(a=null===(u=e.deps.response)||void 0===u?void 0:u.content)||void 0===a?void 0:a.mediaTypes.length)>1?(null===(c=e.deps.response)||void 0===c?void 0:c.content)&&getActiveMediaType(e.deps.response.content).name:void 0}export function constructFieldDeepFragment(e){var o,n;if(!e)return"";const t={t:e.deps.type,in:e.in||e.deps.in,c:"response"===e.deps.type?null===(o=e.deps.response)||void 0===o?void 0:o.code:void 0,cb:(null===(n=e.deps.operation)||void 0===n?void 0:n.isCallback)?e.deps.operation.callbackId:void 0,ct:getContentTypeName(e),path:e.fieldFullPath};return stringifyQueryString(t,{encode:!1,sort:!1})}export function joinWithSeparator(e="",o="",n="/"){return e.endsWith(n)&&(e=e.slice(0,-n.length)),o.startsWith(n)&&(o=o.slice(n.length)),e&&o?e+n+o:e+o}
1
+ import{stringify as stringifyQueryString}from"query-string";import{getActiveMediaType}from"../../models/mediaContent";export function isSameHash(e,o){return e===o||"#"+e===o||e==="#"+o}function getContentTypeName(e){var o,n,t,i,d,s,r,p,l,v,u,a,c;if(!e.in)return"request"===e.deps.type&&(null===(t=null===(n=null===(o=e.deps.operation)||void 0===o?void 0:o.requestBody)||void 0===n?void 0:n.content)||void 0===t?void 0:t.mediaTypes)?(null===(s=null===(d=null===(i=e.deps.operation)||void 0===i?void 0:i.requestBody)||void 0===d?void 0:d.content)||void 0===s?void 0:s.mediaTypes.length)>1?(null===(p=null===(r=e.deps.operation)||void 0===r?void 0:r.requestBody)||void 0===p?void 0:p.content)&&getActiveMediaType(e.deps.operation.requestBody.content).name:void 0:"response"===e.deps.type&&(null===(v=null===(l=e.deps.response)||void 0===l?void 0:l.content)||void 0===v?void 0:v.mediaTypes)&&(null===(a=null===(u=e.deps.response)||void 0===u?void 0:u.content)||void 0===a?void 0:a.mediaTypes.length)>1?(null===(c=e.deps.response)||void 0===c?void 0:c.content)&&getActiveMediaType(e.deps.response.content).name:void 0}export function constructFieldDeepFragment(e){var o,n;if(!e)return"";const t={t:e.deps.type,in:e.in||e.deps.in,c:"response"===e.deps.type?null===(o=e.deps.response)||void 0===o?void 0:o.code:void 0,cb:(null===(n=e.deps.operation)||void 0===n?void 0:n.isCallback)?e.deps.operation.callbackId:void 0,ct:getContentTypeName(e),path:e.fieldFullPath};return stringifyQueryString(t,{encode:!1,sort:!1})}export function joinWithSeparator(e="",o="",n="/"){return e.endsWith(n)&&(e=e.slice(0,-n.length)),o.startsWith(n)&&(o=o.slice(n.length)),e&&o?e+n+o:e+o}
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1,2 +1,2 @@
1
- import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension}from"../../utils";export function buildMenuStructure(t,e){const{definition:n}=t,o=[],i=[...n.tags||[]]||[];!i.find((t=>(null==t?void 0:t.name)===e.schemaDefinitionsTagName))&&e.schemaDefinitionsTagName&&i.push({name:e.schemaDefinitionsTagName});const s=getTagsWithOperations(t,i),a=n["x-tagGroups"];return e.hideInfoSection||e.hideInfoDescription||o.push(...addMarkdownItems(getValueFromMdParsedExtension(n.info,"description")||"",void 0,1,e.markdownHeadingsAnchorLevel,e.pagination)),a&&a.length>0?o.push(...getTagGroupsItems(t,void 0,a,s,e)):o.push(...getTagsItems(t,s,void 0,void 0,e)),o}export function buildContentItems(t,e){const n=buildMenuStructure(t,e);return{contentItems:n,flatItems:flattenByProp(n||[],"items")}}
1
+ import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension}from"../../utils";export function buildMenuStructure(t,e){var n,i;const{definition:o}=t,{hideInfoSection:s,hideInfoDescription:r,pagination:a,schemaDefinitionsTagName:d,markdownHeadingsAnchorLevel:u,infoNavText:m}=e,l=s&&"none"!==a?[]:[{id:"",name:(null===(n=null==o?void 0:o.info)||void 0===n?void 0:n["x-navText"])||m||(null===(i=null==o?void 0:o.info)||void 0===i?void 0:i.title)||"Overview",href:"/",depth:s?-1:1,level:1,type:"section",infoDefinition:o.info,items:[]}],f=[...o.tags||[]].filter((t=>t.description))||[];!f.find((t=>(null==t?void 0:t.name)===d))&&d&&f.push({name:d});const p=getTagsWithOperations(t,f),g=o["x-tagGroups"];return s||r||l.push(...addMarkdownItems(getValueFromMdParsedExtension(o.info,"description")||"",void 0,1,u,a)),g&&g.length>0?l.push(...getTagGroupsItems(t,void 0,g,p,e)):l.push(...getTagsItems(t,p,void 0,void 0,e)),l}export function buildContentItems(t,e){const n=buildMenuStructure(t,e);return{contentItems:n,flatItems:flattenByProp(n||[],"items")}}
2
2
  //# sourceMappingURL=builder.js.map
@@ -1,2 +1,2 @@
1
- import{parse,Ast}from"@markdoc/markdoc";import{Pagination}from"../types";import{getGroup}from"../../models";import{isString,safeSlugify,unescapeHTMLChars}from"../../utils";export function addMarkdownItems(t,e,i,n=2,o=Pagination.Section){const r=isString(t)?parse(t):Ast.fromJSON(null==t?void 0:t.result),s=[];let l;const a=(t,e,i=s,n,o)=>{let r;t=unescapeHTMLChars(t),n.attributes.id?r=n.attributes.id:(r=o?`${o}/${safeSlugify(t)}`:`section/${safeSlugify(t)}`,n.attributes.id=r);const l={id:r,name:t,level:e,items:[],ast:[n]};return i.push(l),l},d=(t,e)=>{var i,n;null===(n=null===(i=t[t.length-1])||void 0===i?void 0:i.ast)||void 0===n||n.push(e)},u=t=>{var e;for(const i of t.children){const t=getMarkdownContent(i)||"";"heading"===i.type&&1===i.attributes.level?l=a(t,i.attributes.level,void 0,i):i.attributes.level<=n?a(t,i.attributes.level,null==l?void 0:l.items,i,null==l?void 0:l.id):(null===(e=null==l?void 0:l.items)||void 0===e?void 0:e.length)?d(null==l?void 0:l.items,i):(null==s?void 0:s.length)&&d(s,i)}};if(Array.isArray(r))for(const t of r)u(t);else u(r);return mapHeadingsDeep(e,s,i,{pagination:o,markdownHeadingsAnchorLevel:n})}function mapHeadingsDeep(t,e,i=1,n){return e.map((e=>{const o=getGroup("section",e,n,t);return o.depth=i,e.items&&(o.items=mapHeadingsDeep(o,e.items,i+1,n)),o}))}function getMarkdownContent(t){var e,i;return"string"==typeof(null===(e=null==t?void 0:t.attributes)||void 0===e?void 0:e.content)?null===(i=t.attributes)||void 0===i?void 0:i.content:(null==t?void 0:t.children)?getMarkdownContent(t.children[0]):void 0}
1
+ import{parse,Ast}from"@markdoc/markdoc";import{Pagination}from"../types";import{getTagOrGroup}from"../../models";import{isString,safeSlugify,unescapeHTMLChars}from"../../utils";export function addMarkdownItems(t,e,i,n=2,o=Pagination.Section){const r=isString(t)?parse(t):Ast.fromJSON(null==t?void 0:t.result),s=[];let l;const a=(t,e,i=s,n,o)=>{let r;t=unescapeHTMLChars(t),n.attributes.id?r=n.attributes.id:(r=o?`${o}/${safeSlugify(t)}`:`section/${safeSlugify(t)}`,n.attributes.id=r);const l={id:r,name:t,level:e,items:[],ast:[n]};return i.push(l),l},d=(t,e)=>{var i,n;null===(n=null===(i=t[t.length-1])||void 0===i?void 0:i.ast)||void 0===n||n.push(e)},u=t=>{var e;for(const i of t.children){const t=getMarkdownContent(i)||"";"heading"===i.type&&1===i.attributes.level?l=a(t,i.attributes.level,void 0,i):i.attributes.level<=n?a(t,i.attributes.level,null==l?void 0:l.items,i,null==l?void 0:l.id):(null===(e=null==l?void 0:l.items)||void 0===e?void 0:e.length)?d(null==l?void 0:l.items,i):(null==s?void 0:s.length)&&d(s,i)}};if(Array.isArray(r))for(const t of r)u(t);else u(r);return mapHeadingsDeep(e,s,i,{pagination:o,markdownHeadingsAnchorLevel:n})}function mapHeadingsDeep(t,e,i=1,n){return e.map((e=>{const o=getTagOrGroup("section",e,n,t);return o.depth=i,e.items&&(o.items=mapHeadingsDeep(o,e.items,i+1,n)),o}))}function getMarkdownContent(t){var e,i;return"string"==typeof(null===(e=null==t?void 0:t.attributes)||void 0===e?void 0:e.content)?null===(i=t.attributes)||void 0===i?void 0:i.content:(null==t?void 0:t.children)?getMarkdownContent(t.children[0]):void 0}
2
2
  //# sourceMappingURL=markdown.js.map
@@ -1,2 +1,2 @@
1
- import{alphabeticallyByProp,getOperationId,getOperationName}from"../../utils";import{Pagination}from"../types";import{normalizePath}from"../utils";import{joinWithSeparator}from"../history";export function getOperationsItems(t,e,o,a){if(0===e.operations.length)return[];const i=[];for(const r of e.operations){const e=getOperationId(r,t),n="operation";i.push({id:e,type:n,parent:t,operationDefinition:r,depth:o,name:getOperationName(r),httpVerb:r.httpVerb,path:r.pathName,items:[],isWebhook:r.isWebhook,operationId:r.operationId,href:getHref({id:e,type:n,parent:t},a.pagination)})}return a.sortOperationsAlphabetically&&i.sort(alphabeticallyByProp("name")),i}export function getHref({type:t,id:e,parent:o},a){switch(a){case Pagination.None:return`#${e}`;case Pagination.Item:return"section"===t?"tag"===(null==o?void 0:o.type)?normalizePath(joinWithSeparator(o.id,e,"#")):`#${e}`:o&&"group"!==o.type?normalizePath(joinWithSeparator(o.id,e)):normalizePath(e);case Pagination.Section:return"operation"===t||"schema"===t?normalizePath(o?joinWithSeparator(o.id,e,"#"):`#${e}`):"section"===t?o?`#${e}`:normalizePath(`#${e}`):normalizePath(e);default:return""}}
1
+ import{alphabeticallyByProp,getOperationId,getOperationName,normalizePath}from"../../utils";import{Pagination}from"../types";import{joinWithSeparator}from"../history";export function getOperationsItems(t,e,o,a){if(0===e.operations.length)return[];const i=[];for(const r of e.operations){const e=getOperationId(r,a.pagination,t),n="operation";i.push({id:e,type:n,parent:t,operationDefinition:r,depth:o,name:getOperationName(r),httpVerb:r.httpVerb,path:r.pathName,items:[],isWebhook:r.isWebhook,operationId:r.operationId,href:getHref({id:e,type:n,parent:t},a.pagination)})}return a.sortOperationsAlphabetically&&i.sort(alphabeticallyByProp("name")),i}export function getHref({type:t,id:e,parent:o},a){switch(a){case Pagination.None:return`#${e}`;case Pagination.Item:return"section"===t?"tag"===(null==o?void 0:o.type)?normalizePath(joinWithSeparator(o.id,e,"#")):`#${e}`:o&&"group"!==o.type?normalizePath(joinWithSeparator(o.id,e)):normalizePath(e);case Pagination.Section:return"operation"===t||"schema"===t?normalizePath(o?joinWithSeparator(o.id,e,"#"):`#${e}`):"section"===t?o?`#${e}`:normalizePath(`#${e}`):normalizePath(e);default:return""}}
2
2
  //# sourceMappingURL=operation.js.map