@redocly/openapi-docs 3.0.0-alpha.24 → 3.0.0-alpha.26

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 (188) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +146 -146
  2. package/dist/oauth2-redirect.js +4 -4
  3. package/dist/redocly-openapi-docs.min.js +4071 -4060
  4. package/lib/components/ApiInfo/ApiInfo.d.ts +1 -0
  5. package/lib/components/Callbacks/CallbackOperation.d.ts +1 -0
  6. package/lib/components/Callbacks/CallbackSummary.d.ts +1 -0
  7. package/lib/components/ChangeViewButton/ChangeViewButton.d.ts +1 -0
  8. package/lib/components/ChangeViewButton/styled.d.ts +1 -0
  9. package/lib/components/ContentItems/ContentItems.js +1 -1
  10. package/lib/components/Download/DownloadLink.d.ts +1 -0
  11. package/lib/components/Endpoint/styled.d.ts +1 -0
  12. package/lib/components/Fields/DescriptionEnums.js +4 -1
  13. package/lib/components/Fields/Examples.d.ts +1 -0
  14. package/lib/components/Fields/FieldDetails.js +1 -1
  15. package/lib/components/Fields/types.d.ts +1 -0
  16. package/lib/components/GenericChildrenSwitcher/GenericChildrenSwitcher.d.ts +1 -0
  17. package/lib/components/Loading/Loading.d.ts +1 -0
  18. package/lib/components/Markdown/Markdown.d.ts +1 -0
  19. package/lib/components/Markdown/styled.js +2 -0
  20. package/lib/components/Markdown/types.d.ts +1 -0
  21. package/lib/components/NextSectionButton/NextSectionButton.d.ts +1 -0
  22. package/lib/components/OperationItem/OperationItem.js +5 -2
  23. package/lib/components/OperationParameters/OperationParameters.d.ts +1 -0
  24. package/lib/components/Overlay.d.ts +1 -0
  25. package/lib/components/Parameters/DropdownWithinHeader.d.ts +1 -0
  26. package/lib/components/Parameters/Parameters.d.ts +1 -0
  27. package/lib/components/PayloadSamples/Example.d.ts +1 -0
  28. package/lib/components/PayloadSamples/ExampleValue.d.ts +1 -0
  29. package/lib/components/PayloadSamples/ExternalExample.d.ts +1 -0
  30. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocsMultiStandalone.d.ts +1 -0
  31. package/lib/components/RedoclyOpenAPIDocs/types.d.ts +1 -0
  32. package/lib/components/RenderHook/RenderHook.d.ts +1 -0
  33. package/lib/components/RequestSamples/useCodeSamples.d.ts +1 -1
  34. package/lib/components/RequestSamples/useCodeSamples.js +1 -1
  35. package/lib/components/Responses/Response.d.ts +1 -0
  36. package/lib/components/Responses/Response.js +1 -1
  37. package/lib/components/Responses/ResponseSummary.d.ts +1 -0
  38. package/lib/components/Samples/ExampleSwitch.d.ts +1 -0
  39. package/lib/components/Search/MenuItemSearch.d.ts +1 -0
  40. package/lib/components/Search/SearchBox.d.ts +1 -0
  41. package/lib/components/Search/SearchField.d.ts +1 -0
  42. package/lib/components/SectionContent/SectionContent.d.ts +1 -0
  43. package/lib/components/SecurityRequirement/PanelDescription.d.ts +1 -0
  44. package/lib/components/SecurityRequirement/RequiredScopesRow.d.ts +1 -0
  45. package/lib/components/SecurityRequirement/RequirementElement.d.ts +1 -0
  46. package/lib/components/SecurityRequirement/SecurityDefs.d.ts +1 -0
  47. package/lib/components/SeeMore/SeeMore.js +1 -1
  48. package/lib/components/SideMenu/styled.d.ts +1 -0
  49. package/lib/components/SourceCodeWithFile/SourceCodeWithFile.d.ts +1 -0
  50. package/lib/components/TagItem/TagItem.d.ts +1 -0
  51. package/lib/components/TagItems/TagItems.d.ts +1 -0
  52. package/lib/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +1 -0
  53. package/lib/components/ToggleRightPanelButton/styled.d.ts +1 -0
  54. package/lib/components/VersionSwitcher.d.ts +1 -0
  55. package/lib/components/common/CheckboxList.d.ts +2 -1
  56. package/lib/components/common/LinearProgress.d.ts +1 -0
  57. package/lib/components/common/Skeleton/Skeleton.d.ts +1 -0
  58. package/lib/components/common/TextField.d.ts +1 -1
  59. package/lib/components/common/panels.js +1 -0
  60. package/lib/components/icons/CrossIcon.d.ts +1 -0
  61. package/lib/components/icons/FileIcon.d.ts +1 -0
  62. package/lib/components/icons/LinkIcon.d.ts +1 -0
  63. package/lib/components/icons/LockIcon.d.ts +1 -0
  64. package/lib/components/icons/SearchIcon.d.ts +1 -0
  65. package/lib/components/icons/ShelfIcon.d.ts +1 -0
  66. package/lib/components/icons/Spinner.d.ts +1 -0
  67. package/lib/components/pluggable/PullRight.d.ts +1 -0
  68. package/lib/components/pluggable/RedocExample.d.ts +1 -0
  69. package/lib/components/pluggable/RedocRequestBody.d.ts +1 -0
  70. package/lib/components/pluggable/RedocResponse.d.ts +1 -0
  71. package/lib/components/pluggable/RedocSchema.d.ts +1 -0
  72. package/lib/components/rightPanel/AuthPanel/AuthPanel.d.ts +1 -0
  73. package/lib/components/rightPanel/Console/Console.js +1 -1
  74. package/lib/components/rightPanel/Console/ConsoleLazy.d.ts +1 -0
  75. package/lib/components/rightPanel/ConsoleTabs/ConsoleTabs.d.ts +1 -0
  76. package/lib/components/rightPanel/OAuth2Flow/Error.d.ts +1 -0
  77. package/lib/components/rightPanel/OAuth2Flow/OAuth2Flow.d.ts +1 -0
  78. package/lib/components/rightPanel/OAuth2TokenInput.d.ts +1 -0
  79. package/lib/components/rightPanel/OpenIDConnect.d.ts +1 -0
  80. package/lib/components/rightPanel/ParameterArray.d.ts +1 -0
  81. package/lib/components/rightPanel/ParameterDropdown.d.ts +2 -1
  82. package/lib/components/rightPanel/ResponseBody.d.ts +1 -0
  83. package/lib/components/rightPanel/ResponseHeadersList.d.ts +1 -0
  84. package/lib/components/rightPanel/ResponsePanel.d.ts +1 -0
  85. package/lib/components/rightPanel/Scope.d.ts +1 -0
  86. package/lib/components/rightPanel/ServerVariable.d.ts +1 -0
  87. package/lib/models/operation.js +1 -1
  88. package/lib/models/types.d.ts +1 -2
  89. package/lib/recoil/operation.d.ts +1 -2
  90. package/lib/services/Options/normalizeOptions.js +1 -1
  91. package/lib/services/Options/types.d.ts +2 -0
  92. package/lib/services/code-samples/generator.js +1 -1
  93. package/lib/services/search/SearchStore.js +1 -1
  94. package/lib/utils/highlight.js +1 -1
  95. package/lib/utils/openapi.js +1 -1
  96. package/lib-esm/components/ApiInfo/ApiInfo.d.ts +1 -0
  97. package/lib-esm/components/Callbacks/CallbackOperation.d.ts +1 -0
  98. package/lib-esm/components/Callbacks/CallbackSummary.d.ts +1 -0
  99. package/lib-esm/components/ChangeViewButton/ChangeViewButton.d.ts +1 -0
  100. package/lib-esm/components/ChangeViewButton/styled.d.ts +1 -0
  101. package/lib-esm/components/ContentItems/ContentItems.js +1 -1
  102. package/lib-esm/components/Download/DownloadLink.d.ts +1 -0
  103. package/lib-esm/components/Endpoint/styled.d.ts +1 -0
  104. package/lib-esm/components/Fields/DescriptionEnums.js +4 -1
  105. package/lib-esm/components/Fields/Examples.d.ts +1 -0
  106. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  107. package/lib-esm/components/Fields/types.d.ts +1 -0
  108. package/lib-esm/components/GenericChildrenSwitcher/GenericChildrenSwitcher.d.ts +1 -0
  109. package/lib-esm/components/Loading/Loading.d.ts +1 -0
  110. package/lib-esm/components/Markdown/Markdown.d.ts +1 -0
  111. package/lib-esm/components/Markdown/styled.js +2 -0
  112. package/lib-esm/components/Markdown/types.d.ts +1 -0
  113. package/lib-esm/components/NextSectionButton/NextSectionButton.d.ts +1 -0
  114. package/lib-esm/components/OperationItem/OperationItem.js +5 -2
  115. package/lib-esm/components/OperationParameters/OperationParameters.d.ts +1 -0
  116. package/lib-esm/components/Overlay.d.ts +1 -0
  117. package/lib-esm/components/Parameters/DropdownWithinHeader.d.ts +1 -0
  118. package/lib-esm/components/Parameters/Parameters.d.ts +1 -0
  119. package/lib-esm/components/PayloadSamples/Example.d.ts +1 -0
  120. package/lib-esm/components/PayloadSamples/ExampleValue.d.ts +1 -0
  121. package/lib-esm/components/PayloadSamples/ExternalExample.d.ts +1 -0
  122. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocsMultiStandalone.d.ts +1 -0
  123. package/lib-esm/components/RedoclyOpenAPIDocs/types.d.ts +1 -0
  124. package/lib-esm/components/RenderHook/RenderHook.d.ts +1 -0
  125. package/lib-esm/components/RequestSamples/useCodeSamples.d.ts +1 -1
  126. package/lib-esm/components/RequestSamples/useCodeSamples.js +1 -1
  127. package/lib-esm/components/Responses/Response.d.ts +1 -0
  128. package/lib-esm/components/Responses/Response.js +1 -1
  129. package/lib-esm/components/Responses/ResponseSummary.d.ts +1 -0
  130. package/lib-esm/components/Samples/ExampleSwitch.d.ts +1 -0
  131. package/lib-esm/components/Search/MenuItemSearch.d.ts +1 -0
  132. package/lib-esm/components/Search/SearchBox.d.ts +1 -0
  133. package/lib-esm/components/Search/SearchField.d.ts +1 -0
  134. package/lib-esm/components/SectionContent/SectionContent.d.ts +1 -0
  135. package/lib-esm/components/SecurityRequirement/PanelDescription.d.ts +1 -0
  136. package/lib-esm/components/SecurityRequirement/RequiredScopesRow.d.ts +1 -0
  137. package/lib-esm/components/SecurityRequirement/RequirementElement.d.ts +1 -0
  138. package/lib-esm/components/SecurityRequirement/SecurityDefs.d.ts +1 -0
  139. package/lib-esm/components/SeeMore/SeeMore.js +1 -1
  140. package/lib-esm/components/SideMenu/styled.d.ts +1 -0
  141. package/lib-esm/components/SourceCodeWithFile/SourceCodeWithFile.d.ts +1 -0
  142. package/lib-esm/components/TagItem/TagItem.d.ts +1 -0
  143. package/lib-esm/components/TagItems/TagItems.d.ts +1 -0
  144. package/lib-esm/components/ToggleRightPanelButton/ToggleRightPanelButton.d.ts +1 -0
  145. package/lib-esm/components/ToggleRightPanelButton/styled.d.ts +1 -0
  146. package/lib-esm/components/VersionSwitcher.d.ts +1 -0
  147. package/lib-esm/components/common/CheckboxList.d.ts +2 -1
  148. package/lib-esm/components/common/LinearProgress.d.ts +1 -0
  149. package/lib-esm/components/common/Skeleton/Skeleton.d.ts +1 -0
  150. package/lib-esm/components/common/TextField.d.ts +1 -1
  151. package/lib-esm/components/common/panels.js +1 -0
  152. package/lib-esm/components/icons/CrossIcon.d.ts +1 -0
  153. package/lib-esm/components/icons/FileIcon.d.ts +1 -0
  154. package/lib-esm/components/icons/LinkIcon.d.ts +1 -0
  155. package/lib-esm/components/icons/LockIcon.d.ts +1 -0
  156. package/lib-esm/components/icons/SearchIcon.d.ts +1 -0
  157. package/lib-esm/components/icons/ShelfIcon.d.ts +1 -0
  158. package/lib-esm/components/icons/Spinner.d.ts +1 -0
  159. package/lib-esm/components/pluggable/PullRight.d.ts +1 -0
  160. package/lib-esm/components/pluggable/RedocExample.d.ts +1 -0
  161. package/lib-esm/components/pluggable/RedocRequestBody.d.ts +1 -0
  162. package/lib-esm/components/pluggable/RedocResponse.d.ts +1 -0
  163. package/lib-esm/components/pluggable/RedocSchema.d.ts +1 -0
  164. package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.d.ts +1 -0
  165. package/lib-esm/components/rightPanel/Console/Console.js +1 -1
  166. package/lib-esm/components/rightPanel/Console/ConsoleLazy.d.ts +1 -0
  167. package/lib-esm/components/rightPanel/ConsoleTabs/ConsoleTabs.d.ts +1 -0
  168. package/lib-esm/components/rightPanel/OAuth2Flow/Error.d.ts +1 -0
  169. package/lib-esm/components/rightPanel/OAuth2Flow/OAuth2Flow.d.ts +1 -0
  170. package/lib-esm/components/rightPanel/OAuth2TokenInput.d.ts +1 -0
  171. package/lib-esm/components/rightPanel/OpenIDConnect.d.ts +1 -0
  172. package/lib-esm/components/rightPanel/ParameterArray.d.ts +1 -0
  173. package/lib-esm/components/rightPanel/ParameterDropdown.d.ts +2 -1
  174. package/lib-esm/components/rightPanel/ResponseBody.d.ts +1 -0
  175. package/lib-esm/components/rightPanel/ResponseHeadersList.d.ts +1 -0
  176. package/lib-esm/components/rightPanel/ResponsePanel.d.ts +1 -0
  177. package/lib-esm/components/rightPanel/Scope.d.ts +1 -0
  178. package/lib-esm/components/rightPanel/ServerVariable.d.ts +1 -0
  179. package/lib-esm/models/operation.js +1 -1
  180. package/lib-esm/models/types.d.ts +1 -2
  181. package/lib-esm/recoil/operation.d.ts +1 -2
  182. package/lib-esm/services/Options/normalizeOptions.js +1 -1
  183. package/lib-esm/services/Options/types.d.ts +2 -0
  184. package/lib-esm/services/code-samples/generator.js +1 -1
  185. package/lib-esm/services/search/SearchStore.js +1 -1
  186. package/lib-esm/utils/highlight.js +1 -1
  187. package/lib-esm/utils/openapi.js +1 -1
  188. package/package.json +4 -4
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import type { AuthPanelProps } from './types';
2
3
  export declare const AuthPanel: ({ securityDefaults, operation, activeServer, authCorsProxyUrl, form, formApi, }: AuthPanelProps) => JSX.Element | null;
@@ -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,w]=useState(),T=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,T;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))),M=Date.now(),N=!!window.document.documentMode;let U,H=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);U=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})})})}),H=Object.assign(Object.assign({},H),{[t]:H[e]})}else U=Object.assign({},x);U.servers=k;const W=E.corsProxyUrl;W&&k.length&&(U.servers=k.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),U.paths=Object.assign(Object.assign({},U.paths),{[e.path]:Object.assign(Object.assign({},U.paths[e.path]),{[B]:Object.assign(Object.assign({},U.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const z=(null==F?void 0:F.content)&&(null===(j=getActiveMediaType(F.content))||void 0===j?void 0:j.name)||null;if(z&&V&&isFileUploadMime(z)){const e=Object.values(V);V=e.length>1?e:e[0]}const J={userFetch:N&&require("cross-fetch").fetch,server:W?W+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:U,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:H},requestBody:V,requestContentType:z,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==H?void 0:H.Authorization)};try{const o=yield Swagger.execute(J),r=null==o?void 0:o.data;r instanceof Blob&&(isFileUploadMime(r.type)&&(o.fileInfo={rawData:r,fileName:getFileNameFromHeaders(o.headers)}),o.data=yield r.text()),null==t||t({request:J,response:o}),w(o),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:J,response:e.response})),w(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-M),null===(T=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===T||T.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((()=>{T&&T!==e&&(w(void 0),P(void 0),m(0))}),[e,T]);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);
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,w]=useState(),T=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,T;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))),M=Date.now(),N=!!window.document.documentMode;let U,H=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);U=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})})})}),H=Object.assign(Object.assign({},H),{[t]:H[e]})}else U=Object.assign({},x);U.servers=k;const W=E.corsProxyUrl;W&&k.length&&(U.servers=k.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),U.paths=Object.assign(Object.assign({},U.paths),{[e.path]:Object.assign(Object.assign({},U.paths[e.path]),{[B]:Object.assign(Object.assign({},U.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const z=(null==F?void 0:F.content)&&(null===(j=getActiveMediaType(F.content))||void 0===j?void 0:j.name)||null;if(z&&V&&isFileUploadMime(z)){const e=Object.values(V);V=e.length>1?e:e[0]}const J={userFetch:N&&require("cross-fetch").fetch,server:W?W+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:U,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:H},requestBody:V,requestContentType:z,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==H?void 0:H.Authorization)};try{const e=yield Swagger.execute(J),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:J,response:e}),w(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:J,response:e.response})),w(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-M),null===(T=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===T||T.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((()=>{T&&T!==e&&(w(void 0),P(void 0),m(0))}),[e,T]);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
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import type { ConsoleProps } from './types';
2
3
  export declare function Console(props: ConsoleProps): JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export interface ConsoleTabsProps {
2
3
  onChange: (activeTab: number) => void;
3
4
  active: number;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const Error: ({ token, loading, error, }: {
2
3
  token: {
3
4
  access_token: string;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import type { OAuth2FlowProps } from './types';
2
3
  export declare const OAuth2Flow: ({ usePkce, form, id, formApi, flow, tokenUrl: _tokenUrl, authCorsProxyUrl, tokenEndpointAuthMethod, server, scopes, authorizationUrl, defaultValues, clientId, }: OAuth2FlowProps) => JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { SecurityDetails } from '../../types';
2
3
  export interface OAuth2TokenInputProps {
3
4
  flow: {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { FormApi, FormState } from 'informed';
2
3
  import type { ExtendedOpenAPISecurityScheme } from '../../models';
3
4
  import type { SecurityDetails } from '../../types';
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { FieldModel } from '../../models';
2
3
  interface ParameterArrayProps {
3
4
  name: string;
@@ -1,6 +1,7 @@
1
+ import React from 'react';
1
2
  interface ParameterEnumDropdownProps {
2
3
  initValue: string;
3
4
  paramEnum: Array<string>;
4
5
  }
5
- export declare const ParameterEnumDropdown: import("react").ComponentType<import("informed").FieldProps<string, any> & ParameterEnumDropdownProps>;
6
+ export declare const ParameterEnumDropdown: React.ComponentType<import("informed").FieldProps<string, any> & ParameterEnumDropdownProps>;
6
7
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { OpenApiResponseData } from './types';
2
3
  export declare function ResponseBody({ response }: {
3
4
  response: OpenApiResponseData;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare function ResponseHeadersList({ headers }: {
2
3
  headers: Record<string, string>;
3
4
  }): JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { OpenApiResponseData } from './types';
2
3
  export interface ResponsePanelProps {
3
4
  response?: OpenApiResponseData;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  interface ScopeProps {
2
3
  scopes?: string[];
3
4
  id: string;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  interface ServerVariableProps {
2
3
  onChange: (value: string) => void;
3
4
  name: string;
@@ -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{getCodeSample}from"../services";import{getResponse}from"./response";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export function getOperation(e,t,r,a,o,s){var i,n,l,p;const d=t.isWebhook,m={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:d,isCallback:Boolean(null==s?void 0:s.isCallback),isEvent:(null==s?void 0:s.isCallback)||d,name:getOperationName(t),defaultExampleName:t.defaultSampleName,type:"operation",callbackId:null==s?void 0:s.id,href:o,get callbacks(){return Object.keys(t.callbacks||[]).map((s=>{var i;return getCallback(e,s,null===(i=t.callbacks)||void 0===i?void 0:i[s],m.pointer,a,o,r)}))},get responses(){let r=!1;return Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(r=!0),isStatusCode(e)))).map((o=>getResponse({parser:e,code:o,defaultAsError:r,infoOrRef:t.responses[o],options:a,isEvent:m.isEvent,operation:m})))},get parameters(){let r=mergeParams(e,t.pathParameters,t.parameters,{pathPointer:JsonPointer.dirName(m.pointer),operationPointer:m.pointer}).map((({paramOrRef:t,pointer:r})=>getField(e,t,r,a,{operation:m,type:"request"})));return a.sortPropsAlphabetically&&(r=sortByField(r,"name")),a.requiredPropsFirst&&(r=sortByRequired(r)),r}};(null==s?void 0:s.isCallback)?(m.security=(t.security||[]).map((t=>getSecurityRequirement({requirement:t,parser:e}))),m.servers=normalizeServers("",t.servers||t.pathServers||[])):(m.id=getOperationId(t,r),m.security=(t.security||e.definition.security||[]).map((t=>getSecurityRequirement({requirement:t,parser:e}))),m.servers=normalizeServers(e.definitionUrl,mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],a.mockServer))),a.showExtensions&&(m.extensions=extractExtensions(t,a.showExtensions)),m.activeServer=getInitialServerWithVariables(m.servers),m.requestBody=t.requestBody&&getRequestBody({parser:e,infoOrRef:t.requestBody,options:a,operation:m,isEvent:m.isEvent});const c=null===(n=null===(i=m.requestBody)||void 0===i?void 0:i.content)||void 0===n?void 0:n.mediaTypes,[u]=c||[],[g]=Object.keys((null==u?void 0:u.examples)||[]);m.activeExampleName=!1===t.defaultSampleName?void 0:t.defaultSampleName||g;const v=null===(l=m.requestBody)||void 0===l?void 0:l.content;m.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,m.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')),m.hasSamples=(null==v?void 0:v.hasSample)||m.definitionSamples.length>0;const{payloadSampleIdx:S,hideRequestPayloadSample:y}=a;let f=[];if(!d){const t=a.generateCodeSamples||{},r=new Set(m.definitionSamples.map((({lang:e})=>e.toLowerCase())));f=generateCodeSamples((null===(p=t.languages)||void 0===p?void 0:p.filter((({lang:e})=>!r.has(e.toLowerCase()))))||[],t,e.definition,a.generatedPayloadSamplesMaxDepth)}const h=m.definitionSamples.concat(f),b=Math.min(h.length,S);return m.payload&&!y&&h.splice(b,0,m.payload),m.allCodeSamples=h,m.hideTryItPanel=!0===t["x-hideTryItPanel"],m}function generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:r},a,o){return e.map((({lang:e,label:s,options:i})=>({lang:e,label:s,get:s=>getCodeSample(Object.assign(Object.assign({},s),{lang:e,options:Object.assign(Object.assign({},i),{skipOptionalParameters:t,withOAuth2Call:r,spec:a,generatedPayloadSamplesMaxDepth:o})}))})))}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}}
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}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}}
2
2
  //# sourceMappingURL=operation.js.map
@@ -142,9 +142,8 @@ export type OperationModel = {
142
142
  source: string;
143
143
  requestBodyContent: MediaContentModel;
144
144
  };
145
- definitionSamples?: OpenAPIXCodeSample[] | Unstable_ExternalCodeSample[];
145
+ definitionSamples: OpenAPIXCodeSample[] | Unstable_ExternalCodeSample[];
146
146
  hasSamples: boolean;
147
- allCodeSamples: OpenAPIXCodeSample[];
148
147
  parameters: FieldModel[];
149
148
  responses: ResponseModel[];
150
149
  callbacks: CallbackModel[];
@@ -1,5 +1,5 @@
1
1
  import type { Server } from '../types/server';
2
- type OperationStore = {
2
+ export type OperationStore = {
3
3
  activeExampleName?: string;
4
4
  activeOneOf: number;
5
5
  activeServer?: Server;
@@ -8,4 +8,3 @@ type OperationStore = {
8
8
  };
9
9
  };
10
10
  export declare const operationStore: (param: string) => import("recoil").RecoilState<OperationStore>;
11
- export {};
@@ -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,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}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}
2
2
  //# sourceMappingURL=normalizeOptions.js.map
@@ -131,6 +131,7 @@ export interface RawOptions {
131
131
  functions?: Record<string, ConfigFunction>;
132
132
  };
133
133
  enableRouter?: boolean;
134
+ feedback?: Record<string, any>;
134
135
  }
135
136
  export interface DefaultOptions {
136
137
  mediaQueries?: MediaQueries;
@@ -269,4 +270,5 @@ export interface Options {
269
270
  /** @deprecated */
270
271
  unstable_externalDescription?: string;
271
272
  searchMaxDepth: number;
273
+ feedback: Record<string, any>;
272
274
  }
@@ -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{getRecoil}from"recoil-nexus";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";import{operationStore}from"../../recoil/operation";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:o={}}){var l,u,p;const{securityHeaders:c,securityCookies:d,securityQueries:m,securityOAuth2ExtraCalls:h,basicAuth:y}=getSecurityData(null===(l=e.security)||void 0===l?void 0:l[0],r),{activeServer:g,requestValues:f}=getRecoil(operationStore(e.pointer)),v=(null===(u=null==e?void 0:e.requestBody)||void 0===u?void 0:u.content)&&getActiveMediaType(e.requestBody.content),O={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:s},T={path:null==f?void 0:f.path,cookie:null==f?void 0:f.cookie,header:null==f?void 0:f.header,query:null==f?void 0:f.query,body:null==f?void 0:f.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(c);!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(d),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(m),A=`${null==g?void 0:g.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===(p=null==v?void 0:v.examples)||void 0===p?void 0:p[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:h,basicAuth:y,pathParameters:_,serverVariables:(null==g?void 0:g.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}=s,p=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:i,skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u}),c=new HTTPSnippet(p);return langToSnippetConfig[e]?c.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";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