@redocly/openapi-docs 3.0.0-alpha.74 → 3.0.0-alpha.75

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.
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,r)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FieldDetails=void 0;const react_1=__importStar(require("react")),jotai_1=require("jotai"),common_1=require("../common"),ExternalDocumentation_1=require("../ExternalDocumentation"),Markdown_1=require("../Markdown"),services_1=require("../../services"),FieldDetail_1=require("./FieldDetail"),ConstraintsView_1=require("./ConstraintsView"),Extensions_1=require("./Extensions"),EnumValues_1=require("./EnumValues"),Examples_1=require("./Examples"),styled_1=require("./styled"),store_1=require("../../jotai/store"),MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[l,r]=(0,react_1.useState)(!1),{enumSkipQuotes:n,hideSchemaTitles:i,hideSchemaPattern:o}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{schema:c,description:u,example:s,deprecated:_,examples:d}=t,m=Boolean(n)||"header"===t.in;let p=null;if(e&&(void 0!==s||void 0!==d))if(void 0!==d)p=react_1.default.createElement(Examples_1.Examples,{field:t});else{const e=!!t.in;p=react_1.default.createElement(FieldDetail_1.FieldDetail,{label:"example",value:(0,Examples_1.getSerializedValue)(t,t.example),raw:e})}return react_1.default.createElement("div",null,react_1.default.createElement(styled_1.TypeWrapper,null,react_1.default.createElement(common_1.TypePrefix,null,c.typePrefix),react_1.default.createElement(common_1.TypeName,null,c.displayType),c.displayFormat&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.displayFormat,">"," "),c.contentEncoding&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.contentEncoding,">"," "),c.contentMediaType&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.contentMediaType,">"," "),c.title&&!i&&react_1.default.createElement(common_1.TypeTitle,null," (",c.title,") "),react_1.default.createElement(ConstraintsView_1.ConstraintsView,{constraints:c.constraints}),c.pattern&&!o&&react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(common_1.PatternLabel,null,l||c.pattern.length<MAX_PATTERN_LENGTH?c.pattern:`${c.pattern.substr(0,MAX_PATTERN_LENGTH)}...`),c.pattern.length>MAX_PATTERN_LENGTH&&react_1.default.createElement(common_1.ToggleButton,{onClick:()=>{r(!l)}},l?"Hide pattern":"Show pattern"))," ",c.isCircular&&react_1.default.createElement(common_1.RecursiveLabel,null,(0,services_1.l)("recursive"))),_&&react_1.default.createElement("div",null,react_1.default.createElement(common_1.DeprecatedLabel,null,(0,services_1.l)("deprecated"))),react_1.default.createElement(FieldDetail_1.FieldDetail,{raw:m,label:"default",value:c.default}),react_1.default.createElement(styled_1.FieldDescriptionWrapper,null,react_1.default.createElement(Markdown_1.Markdown,{source:u})),!a&&react_1.default.createElement(EnumValues_1.EnumValues,{type:c.type,values:c["x-enumDescriptions"]||c.enum})," ",p,react_1.default.createElement(Extensions_1.Extensions,{extensions:Object.assign(Object.assign({},t.extensions),c.extensions)}),c.externalDocs&&react_1.default.createElement(ExternalDocumentation_1.ExternalDocumentation,{externalDocs:c.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&react_1.default.createElement(FieldDetail_1.FieldDetail,{label:"const",value:t.const})||null)}exports.FieldDetails=(0,react_1.memo)(FieldDetailsComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,r)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FieldDetails=void 0;const react_1=__importStar(require("react")),jotai_1=require("jotai"),common_1=require("../common"),ExternalDocumentation_1=require("../ExternalDocumentation"),Markdown_1=require("../Markdown"),services_1=require("../../services"),FieldDetail_1=require("./FieldDetail"),ConstraintsView_1=require("./ConstraintsView"),Extensions_1=require("./Extensions"),EnumValues_1=require("./EnumValues"),Examples_1=require("./Examples"),styled_1=require("./styled"),store_1=require("../../jotai/store"),MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[l,r]=(0,react_1.useState)(!1),{enumSkipQuotes:n,hideSchemaTitles:i,hideSchemaPattern:o}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{schema:c,description:u,example:s,deprecated:d,examples:m}=t,_=Boolean(n)||"header"===t.in;let p=null;if(e&&(void 0!==s||void 0!==m))if(void 0!==m)p=react_1.default.createElement(Examples_1.Examples,{field:t});else{const e=!!t.in;p=react_1.default.createElement(FieldDetail_1.FieldDetail,{label:"example",value:(0,Examples_1.getSerializedValue)(t,t.example),raw:e})}return react_1.default.createElement("div",null,react_1.default.createElement(styled_1.TypeWrapper,null,react_1.default.createElement(common_1.TypePrefix,null,c.typePrefix),react_1.default.createElement(common_1.TypeName,null,c.displayType),c.displayFormat&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.displayFormat,">"," "),c.contentEncoding&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.contentEncoding,">"," "),c.contentMediaType&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.contentMediaType,">"," "),c.title&&!i&&react_1.default.createElement(common_1.TypeTitle,null," (",c.title,") "),react_1.default.createElement(ConstraintsView_1.ConstraintsView,{constraints:c.constraints}),c.pattern&&!o&&react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(common_1.PatternLabel,null,l||c.pattern.length<45?c.pattern:`${c.pattern.substr(0,45)}...`),c.pattern.length>45&&react_1.default.createElement(common_1.ToggleButton,{onClick:()=>{r(!l)}},l?"Hide pattern":"Show pattern"))," ",c.isCircular&&react_1.default.createElement(common_1.RecursiveLabel,null,(0,services_1.l)("recursive"))),d&&react_1.default.createElement("div",null,react_1.default.createElement(common_1.DeprecatedLabel,null,(0,services_1.l)("deprecated"))),react_1.default.createElement(FieldDetail_1.FieldDetail,{raw:_,label:"default",value:c.default}),react_1.default.createElement(styled_1.FieldDescriptionWrapper,null,react_1.default.createElement(Markdown_1.Markdown,{source:u})),!a&&react_1.default.createElement(EnumValues_1.EnumValues,{type:c.type,values:c["x-enumDescriptions"]||c.enum})," ",p,react_1.default.createElement(Extensions_1.Extensions,{extensions:Object.assign(Object.assign({},t.extensions),c.extensions)}),c.externalDocs&&react_1.default.createElement(ExternalDocumentation_1.ExternalDocumentation,{externalDocs:c.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&react_1.default.createElement(FieldDetail_1.FieldDetail,{label:"const",value:t.const})||null)}exports.FieldDetails=(0,react_1.memo)(FieldDetailsComponent);
2
2
  //# sourceMappingURL=FieldDetails.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SeeMore=void 0;const styled_components_1=__importDefault(require("styled-components")),react_1=__importStar(require("react")),TOLERANCE_PX=20;function SeeMore({children:e,height:t}){const r=(0,react_1.createRef)(),[n,o]=react_1.default.useState(!1),[a,i]=(0,react_1.useState)(!1);(0,react_1.useLayoutEffect)((()=>{r.current&&r.current.clientHeight+TOLERANCE_PX<r.current.scrollHeight&&i(!0)}),[r]);return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(Container,{ref:r,className:n?"":"container",style:{height:n?"auto":t}},e),react_1.default.createElement(ButtonContainer,{dimmed:!n},a&&react_1.default.createElement(ButtonLinkStyled,{onClick:()=>{o(!n)}},n?"See less":"See more")))}exports.SeeMore=SeeMore;const Container=styled_components_1.default.div`
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SeeMore=void 0;const styled_components_1=__importDefault(require("styled-components")),react_1=__importStar(require("react")),TOLERANCE_PX=20;function SeeMore({children:e,height:t}){const r=(0,react_1.createRef)(),[n,o]=react_1.default.useState(!1),[a,i]=(0,react_1.useState)(!1);(0,react_1.useLayoutEffect)((()=>{r.current&&r.current.clientHeight+20<r.current.scrollHeight&&i(!0)}),[r]);return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(Container,{ref:r,className:n?"":"container",style:{height:n?"auto":t}},e),react_1.default.createElement(ButtonContainer,{dimmed:!n},a&&react_1.default.createElement(ButtonLinkStyled,{onClick:()=>{o(!n)}},n?"See less":"See more")))}exports.SeeMore=SeeMore;const Container=styled_components_1.default.div`
2
2
  overflow-y: hidden;
3
3
  `,ButtonContainer=styled_components_1.default.div`
4
4
  text-align: center;
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,s)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(s,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function i(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(r[o[s]]=e[o[s]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;const index_1=require("swagger-client/es/execute/index"),react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),shallowCopyForTryIt_1=require("./shallowCopyForTryIt"),string_1=require("../../../utils/string"),Panel_1=require("../../Panel"),helper_1=require("../../common/FileUpload/helper"),events_1=require("../../../events"),utils_1=require("../utils"),ResponsePanel_1=require("../ResponsePanel"),ConsoleTabs_1=require("../ConsoleTabs"),ActionPanel_1=require("../ActionPanel"),Request_1=require("./Request"),styled_1=require("../styled"),ConsoleWrapper_1=require("./ConsoleWrapper"),hooks_1=require("../../../hooks"),store_1=require("../../../jotai/store"),models_1=require("../../../models"),operation_1=require("../../../jotai/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:r,rootElement:o,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){let l=(0,react_1.useRef)();const[u,c]=(0,jotai_1.useAtom)((0,operation_1.operationStore)(e.pointer)),[d,p]=(0,react_1.useState)(u.activeServer||e.activeServer),[_,v]=(0,react_1.useState)(0),[y,m]=(0,react_1.useState)(!1),[h,b]=(0,react_1.useState)(!1),[f,g]=(0,react_1.useState)({values:{path:(0,utils_1.getParameters)(e.parameters,"path"),cookie:(0,utils_1.getParameters)(e.parameters,"cookie"),header:(0,utils_1.getParameters)(e.parameters,"header"),query:(0,utils_1.getParameters)(e.parameters,"query")}}),[O,j]=(0,react_1.useState)(),[S,q]=(0,react_1.useState)(),[C,P]=(0,react_1.useState)(),[w,I]=(0,react_1.useState)(),T=(0,hooks_1.usePrevious)(e),{parser:x,options:E}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),A=(0,react_1.useCallback)(((e,t=e.getState())=>{var{values:r}=t,o=__rest(t,["values"]);l.current=e,setTimeout((()=>{g(Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},r),{query:(0,utils_1.unescapeQueryParams)(r.query||{})})}))}),0)}),[]),k=(0,react_1.useCallback)((e=>{var{values:t}=e,r=__rest(e,["values"]);const o=Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},t),{query:(0,utils_1.unescapeQueryParams)(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),g(o),(0,utils_1.updateStorage)(o)}),[c]),R=(0,react_1.useCallback)((e=>{v(e)}),[]),F=(0,react_1.useCallback)((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),B=(0,react_1.useCallback)((()=>__awaiter(this,void 0,void 0,(function*(){var r,o,s,n,a,i,u,c,p,_,y,h,g,j,S,C,w;const{values:T,invalid:x}=(null===(r=null==l?void 0:l.current)||void 0===r?void 0:r.getState())||f||{};if(null===(o=l.current)||void 0===o||o.submitForm(),x)return b(!0),setTimeout((()=>b(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:A,requestBody:k}=e,R=k&&k.content&&(null===(a=(0,models_1.getActiveMediaType)(k.content))||void 0===a?void 0:a.name)||"";let F=T.body;if(/json/.test(R))try{F=JSON.parse(F)}catch(e){console.error(e)}m(!0);const B=O,V=(e.httpVerb||"").toLowerCase();if(!A)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=A.find((e=>d.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),M=Date.now();let N,U=T.auth;if(T.auth){const e=Object.keys(T.auth)[0],t=(0,string_1.unescapeFormId)(e);N=Object.assign(Object.assign({},B),{components:Object.assign(Object.assign({},null==B?void 0:B.components),{securitySchemes:Object.assign(Object.assign({},null===(i=null==B?void 0:B.components)||void 0===i?void 0:i.securitySchemes),{[t]:Object.assign(Object.assign({},null===(c=null===(u=null==B?void 0:B.components)||void 0===u?void 0:u.securitySchemes)||void 0===c?void 0:c[t]),{type:"openIdConnect"===(null===(y=null===(_=null===(p=null==B?void 0:B.components)||void 0===p?void 0:p.securitySchemes)||void 0===_?void 0:_[t])||void 0===y?void 0:y.type)?"oauth2":(null===(g=null===(h=null==B?void 0:B.components)||void 0===h?void 0:h.securitySchemes)||void 0===g?void 0:g[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else N=Object.assign({},B);N.servers=A;const W=E.corsProxyUrl;W&&A.length&&(N.servers=A.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),N.paths=Object.assign(Object.assign({},N.paths),{[e.path]:Object.assign(Object.assign({},N.paths[e.path]),{[V]:Object.assign(Object.assign({},N.paths[e.path][V]),{servers:void 0}),servers:void 0})}));const z=(null==k?void 0:k.content)&&(null===(j=(0,models_1.getActiveMediaType)(k.content))||void 0===j?void 0:j.name)||null;if(z&&F&&(0,helper_1.isFileUploadMime)(z)){const e=Object.values(F);F=e.length>1?e:e[0]}const H={server:W?W+normalizeUrlProtocol(D.url):D.url,serverVariables:(0,utils_1.getDefaultOrStoredVariables)(D),spec:N,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},T.path),T.query),T.header),T.cookie),securities:{authorized:U},requestBody:F,requestContentType:z,responseContentType:(null===(S=T.header)||void 0===S?void 0:S.Accept)||null,requestInterceptor:(0,utils_1.makeRequestInterceptor)(E,e,null==U?void 0:U.Authorization)};try{const r=yield(0,index_1.execute)(H),o=null==r?void 0:r.data;o instanceof Blob&&((0,helper_1.isFileUploadMime)(o.type)&&(r.fileInfo={rawData:o,fileName:(0,utils_1.getFileNameFromHeaders)(r.headers)}),r.data=yield o.text()),null==t||t({request:H,response:r}),I(r),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:H,response:e.response})),I(void 0),P(e)}finally{m(!1),v(1),q(Date.now()-M),null===(w=null===(C=E.events)||void 0===C?void 0:C.tryItSent)||void 0===w||w.call(C,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[d.url,f,t,e,E,O]);(0,theme_1.useMount)((()=>__awaiter(this,void 0,void 0,(function*(){var t;const r=yield(0,shallowCopyForTryIt_1.dereferenceDefinitionForTryIt)(e,x.definition);j(r),null===(t=l.current)||void 0===t||t.setValues({})})))),(0,react_1.useEffect)((()=>{T&&T!==e&&(I(void 0),P(void 0),v(0))}),[e,T]);const V=!(!w&&!C);return react_1.default.createElement(ConsoleWrapper_1.ConsoleWrapper,{shaking:h,className:r,rootElement:o},react_1.default.createElement(Panel_1.StyledCodeHeader,null,react_1.default.createElement(ConsoleTabs_1.ConsoleTabs,{active:_,hasResponse:V,onChange:R}),i&&react_1.default.createElement(styled_1.CloseButton,{onClick:i}," ✕ ")),react_1.default.createElement(styled_1.ConsoleBody,{hidden:0!==_,"data-cy":"console-request-body"},react_1.default.createElement(Request_1.Request,{operation:e,properties:s,mergeExampleBody:n,securityDefaults:a,form:f,resolvedRawSpec:O,server:d,formApi:l.current,setFormApi:A,handleChange:k,handleServerChange:F})),react_1.default.createElement(styled_1.ConsoleBody,{hidden:1!==_,"data-cy":"console-response-body"},react_1.default.createElement(ResponsePanel_1.ResponsePanel,{response:w,error:C,time:S})),react_1.default.createElement(ActionPanel_1.ActionPanel,{hasResponse:V,params:f.values,operation:e,loading:y,execute:B}))}exports.Console=(0,react_1.memo)(ConsoleComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,s)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(s,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function i(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(r[o[s]]=e[o[s]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;const index_1=require("swagger-client/es/execute/index"),react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),shallowCopyForTryIt_1=require("./shallowCopyForTryIt"),string_1=require("../../../utils/string"),Panel_1=require("../../Panel"),helper_1=require("../../common/FileUpload/helper"),events_1=require("../../../events"),utils_1=require("../utils"),ResponsePanel_1=require("../ResponsePanel"),ConsoleTabs_1=require("../ConsoleTabs"),ActionPanel_1=require("../ActionPanel"),Request_1=require("./Request"),styled_1=require("../styled"),ConsoleWrapper_1=require("./ConsoleWrapper"),hooks_1=require("../../../hooks"),store_1=require("../../../jotai/store"),models_1=require("../../../models"),operation_1=require("../../../jotai/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:r,rootElement:o,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){let l=(0,react_1.useRef)();const[u,c]=(0,jotai_1.useAtom)((0,operation_1.operationStore)(e.pointer)),[d,p]=(0,react_1.useState)(u.activeServer||e.activeServer),[_,v]=(0,react_1.useState)(0),[y,m]=(0,react_1.useState)(!1),[h,b]=(0,react_1.useState)(!1),[f,g]=(0,react_1.useState)({values:{path:(0,utils_1.getParameters)(e.parameters,"path"),cookie:(0,utils_1.getParameters)(e.parameters,"cookie"),header:(0,utils_1.getParameters)(e.parameters,"header"),query:(0,utils_1.getParameters)(e.parameters,"query")}}),[O,j]=(0,react_1.useState)(),[S,q]=(0,react_1.useState)(),[C,P]=(0,react_1.useState)(),[w,I]=(0,react_1.useState)(),T=(0,hooks_1.usePrevious)(e),{parser:x,options:E}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),A=(0,react_1.useCallback)(((e,t=e.getState())=>{var{values:r}=t,o=__rest(t,["values"]);l.current=e,setTimeout((()=>{g(Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},r),{query:(0,utils_1.unescapeQueryParams)(r.query||{})})}))}),0)}),[]),k=(0,react_1.useCallback)((e=>{var{values:t}=e,r=__rest(e,["values"]);const o=Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},t),{query:(0,utils_1.unescapeQueryParams)(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),g(o),(0,utils_1.updateStorage)(o)}),[c]),R=(0,react_1.useCallback)((e=>{v(e)}),[]),F=(0,react_1.useCallback)((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),B=(0,react_1.useCallback)((()=>__awaiter(this,void 0,void 0,(function*(){var r,o,s,n,a,i,u,c,p,_,y,h,g,j,S,C,w;const{values:T,invalid:x}=(null===(r=null==l?void 0:l.current)||void 0===r?void 0:r.getState())||f||{};if(null===(o=l.current)||void 0===o||o.submitForm(),x)return b(!0),setTimeout((()=>b(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:A,requestBody:k}=e,R=k&&k.content&&(null===(a=(0,models_1.getActiveMediaType)(k.content))||void 0===a?void 0:a.name)||"";let F=T.body;if(/json/.test(R))try{F=JSON.parse(F)}catch(e){console.error(e)}m(!0);const B=O,V=(e.httpVerb||"").toLowerCase();if(!A)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=A.find((e=>d.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),M=Date.now();let N,U=T.auth;if(T.auth){const e=Object.keys(T.auth)[0],t=(0,string_1.unescapeFormId)(e);N=Object.assign(Object.assign({},B),{components:Object.assign(Object.assign({},null==B?void 0:B.components),{securitySchemes:Object.assign(Object.assign({},null===(i=null==B?void 0:B.components)||void 0===i?void 0:i.securitySchemes),{[t]:Object.assign(Object.assign({},null===(c=null===(u=null==B?void 0:B.components)||void 0===u?void 0:u.securitySchemes)||void 0===c?void 0:c[t]),{type:"openIdConnect"===(null===(y=null===(_=null===(p=null==B?void 0:B.components)||void 0===p?void 0:p.securitySchemes)||void 0===_?void 0:_[t])||void 0===y?void 0:y.type)?"oauth2":(null===(g=null===(h=null==B?void 0:B.components)||void 0===h?void 0:h.securitySchemes)||void 0===g?void 0:g[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else N=Object.assign({},B);N.servers=A;const W=E.corsProxyUrl;W&&A.length&&(N.servers=A.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),N.paths=Object.assign(Object.assign({},N.paths),{[e.path]:Object.assign(Object.assign({},N.paths[e.path]),{[V]:Object.assign(Object.assign({},N.paths[e.path][V]),{servers:void 0}),servers:void 0})}));const z=(null==k?void 0:k.content)&&(null===(j=(0,models_1.getActiveMediaType)(k.content))||void 0===j?void 0:j.name)||null;if(z&&F&&(0,helper_1.isFileUploadMime)(z)){const e=Object.values(F);F=e.length>1?e:e[0]}const H={server:W?W+normalizeUrlProtocol(D.url):D.url,serverVariables:(0,utils_1.getDefaultOrStoredVariables)(D),spec:N,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},T.path),T.query),T.header),T.cookie),securities:{authorized:U},requestBody:F,requestContentType:z,responseContentType:(null===(S=T.header)||void 0===S?void 0:S.Accept)||null,requestInterceptor:(0,utils_1.makeRequestInterceptor)(E,e,null==U?void 0:U.Authorization)};try{const e=yield(0,index_1.execute)(H),r=null==e?void 0:e.data;r instanceof Blob&&((0,helper_1.isFileUploadMime)(r.type)&&(e.fileInfo={rawData:r,fileName:(0,utils_1.getFileNameFromHeaders)(e.headers)}),e.data=yield r.text()),null==t||t({request:H,response:e}),I(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:H,response:e.response})),I(void 0),P(e)}finally{m(!1),v(1),q(Date.now()-M),null===(w=null===(C=E.events)||void 0===C?void 0:C.tryItSent)||void 0===w||w.call(C,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[d.url,f,t,e,E,O]);(0,theme_1.useMount)((()=>__awaiter(this,void 0,void 0,(function*(){var t;const r=yield(0,shallowCopyForTryIt_1.dereferenceDefinitionForTryIt)(e,x.definition);j(r),null===(t=l.current)||void 0===t||t.setValues({})})))),(0,react_1.useEffect)((()=>{T&&T!==e&&(I(void 0),P(void 0),v(0))}),[e,T]);const V=!(!w&&!C);return react_1.default.createElement(ConsoleWrapper_1.ConsoleWrapper,{shaking:h,className:r,rootElement:o},react_1.default.createElement(Panel_1.StyledCodeHeader,null,react_1.default.createElement(ConsoleTabs_1.ConsoleTabs,{active:_,hasResponse:V,onChange:R}),i&&react_1.default.createElement(styled_1.CloseButton,{onClick:i}," ✕ ")),react_1.default.createElement(styled_1.ConsoleBody,{hidden:0!==_,"data-cy":"console-request-body"},react_1.default.createElement(Request_1.Request,{operation:e,properties:s,mergeExampleBody:n,securityDefaults:a,form:f,resolvedRawSpec:O,server:d,formApi:l.current,setFormApi:A,handleChange:k,handleServerChange:F})),react_1.default.createElement(styled_1.ConsoleBody,{hidden:1!==_,"data-cy":"console-response-body"},react_1.default.createElement(ResponsePanel_1.ResponsePanel,{response:w,error:C,time:S})),react_1.default.createElement(ActionPanel_1.ActionPanel,{hasResponse:V,params:f.values,operation:e,loading:y,execute:B}))}exports.Console=(0,react_1.memo)(ConsoleComponent);
2
2
  //# sourceMappingURL=Console.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{PatternLabel,RecursiveLabel,TypeFormat,TypeName,TypePrefix,TypeTitle,ToggleButton,DeprecatedLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{l}from"../../services";import{FieldDetail}from"./FieldDetail";import{ConstraintsView}from"./ConstraintsView";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{TypeWrapper,FieldDescriptionWrapper}from"./styled";import{globalOptionsAtom}from"../../jotai/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:o,hideSchemaTitles:i,hideSchemaPattern:c}=useAtomValue(globalOptionsAtom),{schema:m,description:s,example:p,deprecated:u,examples:E}=t,d=Boolean(o)||"header"===t.in;let R=null;if(e&&(void 0!==p||void 0!==E))if(void 0!==E)R=React.createElement(Examples,{field:t});else{const e=!!t.in;R=React.createElement(FieldDetail,{label:"example",value:getSerializedValue(t,t.example),raw:e})}return React.createElement("div",null,React.createElement(TypeWrapper,null,React.createElement(TypePrefix,null,m.typePrefix),React.createElement(TypeName,null,m.displayType),m.displayFormat&&React.createElement(TypeFormat,null," ","<",m.displayFormat,">"," "),m.contentEncoding&&React.createElement(TypeFormat,null," ","<",m.contentEncoding,">"," "),m.contentMediaType&&React.createElement(TypeFormat,null," ","<",m.contentMediaType,">"," "),m.title&&!i&&React.createElement(TypeTitle,null," (",m.title,") "),React.createElement(ConstraintsView,{constraints:m.constraints}),m.pattern&&!c&&React.createElement(React.Fragment,null,React.createElement(PatternLabel,null,n||m.pattern.length<MAX_PATTERN_LENGTH?m.pattern:`${m.pattern.substr(0,MAX_PATTERN_LENGTH)}...`),m.pattern.length>MAX_PATTERN_LENGTH&&React.createElement(ToggleButton,{onClick:()=>{r(!n)}},n?"Hide pattern":"Show pattern"))," ",m.isCircular&&React.createElement(RecursiveLabel,null,l("recursive"))),u&&React.createElement("div",null,React.createElement(DeprecatedLabel,null,l("deprecated"))),React.createElement(FieldDetail,{raw:d,label:"default",value:m.default}),React.createElement(FieldDescriptionWrapper,null,React.createElement(Markdown,{source:s})),!a&&React.createElement(EnumValues,{type:m.type,values:m["x-enumDescriptions"]||m.enum})," ",R,React.createElement(Extensions,{extensions:Object.assign(Object.assign({},t.extensions),m.extensions)}),m.externalDocs&&React.createElement(ExternalDocumentation,{externalDocs:m.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&React.createElement(FieldDetail,{label:"const",value:t.const})||null)}export const FieldDetails=memo(FieldDetailsComponent);
1
+ import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{PatternLabel,RecursiveLabel,TypeFormat,TypeName,TypePrefix,TypeTitle,ToggleButton,DeprecatedLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{l}from"../../services";import{FieldDetail}from"./FieldDetail";import{ConstraintsView}from"./ConstraintsView";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{TypeWrapper,FieldDescriptionWrapper}from"./styled";import{globalOptionsAtom}from"../../jotai/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:o,hideSchemaTitles:i,hideSchemaPattern:c}=useAtomValue(globalOptionsAtom),{schema:m,description:s,example:p,deprecated:u,examples:d}=t,E=Boolean(o)||"header"===t.in;let R=null;if(e&&(void 0!==p||void 0!==d))if(void 0!==d)R=React.createElement(Examples,{field:t});else{const e=!!t.in;R=React.createElement(FieldDetail,{label:"example",value:getSerializedValue(t,t.example),raw:e})}return React.createElement("div",null,React.createElement(TypeWrapper,null,React.createElement(TypePrefix,null,m.typePrefix),React.createElement(TypeName,null,m.displayType),m.displayFormat&&React.createElement(TypeFormat,null," ","<",m.displayFormat,">"," "),m.contentEncoding&&React.createElement(TypeFormat,null," ","<",m.contentEncoding,">"," "),m.contentMediaType&&React.createElement(TypeFormat,null," ","<",m.contentMediaType,">"," "),m.title&&!i&&React.createElement(TypeTitle,null," (",m.title,") "),React.createElement(ConstraintsView,{constraints:m.constraints}),m.pattern&&!c&&React.createElement(React.Fragment,null,React.createElement(PatternLabel,null,n||m.pattern.length<45?m.pattern:`${m.pattern.substr(0,45)}...`),m.pattern.length>45&&React.createElement(ToggleButton,{onClick:()=>{r(!n)}},n?"Hide pattern":"Show pattern"))," ",m.isCircular&&React.createElement(RecursiveLabel,null,l("recursive"))),u&&React.createElement("div",null,React.createElement(DeprecatedLabel,null,l("deprecated"))),React.createElement(FieldDetail,{raw:E,label:"default",value:m.default}),React.createElement(FieldDescriptionWrapper,null,React.createElement(Markdown,{source:s})),!a&&React.createElement(EnumValues,{type:m.type,values:m["x-enumDescriptions"]||m.enum})," ",R,React.createElement(Extensions,{extensions:Object.assign(Object.assign({},t.extensions),m.extensions)}),m.externalDocs&&React.createElement(ExternalDocumentation,{externalDocs:m.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&React.createElement(FieldDetail,{label:"const",value:t.const})||null)}export const FieldDetails=memo(FieldDetailsComponent);
2
2
  //# sourceMappingURL=FieldDetails.js.map
@@ -1,4 +1,4 @@
1
- import styled from"styled-components";import React,{createRef,useLayoutEffect,useState}from"react";const TOLERANCE_PX=20;export function SeeMore({children:e,height:t}){const n=createRef(),[r,o]=React.useState(!1),[a,c]=useState(!1);useLayoutEffect((()=>{n.current&&n.current.clientHeight+TOLERANCE_PX<n.current.scrollHeight&&c(!0)}),[n]);return React.createElement(React.Fragment,null,React.createElement(Container,{ref:n,className:r?"":"container",style:{height:r?"auto":t}},e),React.createElement(ButtonContainer,{dimmed:!r},a&&React.createElement(ButtonLinkStyled,{onClick:()=>{o(!r)}},r?"See less":"See more")))}const Container=styled.div`
1
+ import styled from"styled-components";import React,{createRef,useLayoutEffect,useState}from"react";const TOLERANCE_PX=20;export function SeeMore({children:e,height:t}){const n=createRef(),[r,o]=React.useState(!1),[a,c]=useState(!1);useLayoutEffect((()=>{n.current&&n.current.clientHeight+20<n.current.scrollHeight&&c(!0)}),[n]);return React.createElement(React.Fragment,null,React.createElement(Container,{ref:n,className:r?"":"container",style:{height:r?"auto":t}},e),React.createElement(ButtonContainer,{dimmed:!r},a&&React.createElement(ButtonLinkStyled,{onClick:()=>{o(!r)}},r?"See less":"See more")))}const Container=styled.div`
2
2
  overflow-y: hidden;
3
3
  `,ButtonContainer=styled.div`
4
4
  text-align: center;
@@ -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{execute}from"swagger-client/es/execute/index";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useAtomValue,useAtom}from"jotai";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{globalStoreAtom}from"../../../jotai/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../jotai/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){let l=useRef();const[c,u]=useAtom(operationStore(e.pointer)),[p,d]=useState(c.activeServer||e.activeServer),[m,v]=useState(0),[y,h]=useState(!1),[f,g]=useState(!1),[b,O]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[S,j]=useState(),[C,P]=useState(),[R,I]=useState(),[T,A]=useState(),q=usePrevious(e),{parser:w,options:E}=useAtomValue(globalStoreAtom),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);l.current=e,setTimeout((()=>{O(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||{})})});u((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),O(r),updateStorage(r)}),[u]),F=useCallback((e=>{v(e)}),[]),x=useCallback((e=>{d(e),u((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[u]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,i,c,u,d,m,y,f,O,j,C,R,T;const{values:q,invalid:w}=(null===(o=null==l?void 0:l.current)||void 0===o?void 0:o.getState())||b||{};if(null===(r=l.current)||void 0===r||r.submitForm(),w)return g(!0),setTimeout((()=>g(!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:_,requestBody:k}=e,F=k&&k.content&&(null===(a=getActiveMediaType(k.content))||void 0===a?void 0:a.name)||"";let x=q.body;if(/json/.test(F))try{x=JSON.parse(x)}catch(e){console.error(e)}h(!0);const V=S,B=(e.httpVerb||"").toLowerCase();if(!_)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=_.find((e=>p.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({},V),{components:Object.assign(Object.assign({},null==V?void 0:V.components),{securitySchemes:Object.assign(Object.assign({},null===(i=null==V?void 0:V.components)||void 0===i?void 0:i.securitySchemes),{[t]:Object.assign(Object.assign({},null===(u=null===(c=null==V?void 0:V.components)||void 0===c?void 0:c.securitySchemes)||void 0===u?void 0:u[t]),{type:"openIdConnect"===(null===(y=null===(m=null===(d=null==V?void 0:V.components)||void 0===d?void 0:d.securitySchemes)||void 0===m?void 0:m[t])||void 0===y?void 0:y.type)?"oauth2":(null===(O=null===(f=null==V?void 0:V.components)||void 0===f?void 0:f.securitySchemes)||void 0===O?void 0:O[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},V);M.servers=_;const H=E.corsProxyUrl;H&&_.length&&(M.servers=_.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==k?void 0:k.content)&&(null===(j=getActiveMediaType(k.content))||void 0===j?void 0:j.name)||null;if(W&&x&&isFileUploadMime(W)){const e=Object.values(x);x=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:x,requestContentType:W,responseContentType:(null===(C=q.header)||void 0===C?void 0:C.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const o=yield execute(z),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:z,response:o}),A(o),I(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})),A(void 0),I(e)}finally{h(!1),v(1),P(Date.now()-N),null===(T=null===(R=E.events)||void 0===R?void 0:R.tryItSent)||void 0===T||T.call(R,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[p.url,b,t,e,E,S]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,w.definition);j(o),null===(t=l.current)||void 0===t||t.setValues({})})))),useEffect((()=>{q&&q!==e&&(A(void 0),I(void 0),v(0))}),[e,q]);const B=!(!T&&!R);return React.createElement(ConsoleWrapper,{shaking:f,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:m,hasResponse:B,onChange:F}),i&&React.createElement(CloseButton,{onClick:i}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==m,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,mergeExampleBody:n,securityDefaults:a,form:b,resolvedRawSpec:S,server:p,formApi:l.current,setFormApi:_,handleChange:k,handleServerChange:x})),React.createElement(ConsoleBody,{hidden:1!==m,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:T,error:R,time:C})),React.createElement(ActionPanel,{hasResponse:B,params:b.values,operation:e,loading:y,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{execute}from"swagger-client/es/execute/index";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useAtomValue,useAtom}from"jotai";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{globalStoreAtom}from"../../../jotai/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../jotai/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){let l=useRef();const[c,u]=useAtom(operationStore(e.pointer)),[p,d]=useState(c.activeServer||e.activeServer),[m,v]=useState(0),[y,h]=useState(!1),[f,g]=useState(!1),[b,O]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[S,j]=useState(),[C,P]=useState(),[R,I]=useState(),[T,A]=useState(),q=usePrevious(e),{parser:w,options:E}=useAtomValue(globalStoreAtom),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);l.current=e,setTimeout((()=>{O(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||{})})});u((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),O(r),updateStorage(r)}),[u]),F=useCallback((e=>{v(e)}),[]),x=useCallback((e=>{d(e),u((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[u]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,i,c,u,d,m,y,f,O,j,C,R,T;const{values:q,invalid:w}=(null===(o=null==l?void 0:l.current)||void 0===o?void 0:o.getState())||b||{};if(null===(r=l.current)||void 0===r||r.submitForm(),w)return g(!0),setTimeout((()=>g(!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:_,requestBody:k}=e,F=k&&k.content&&(null===(a=getActiveMediaType(k.content))||void 0===a?void 0:a.name)||"";let x=q.body;if(/json/.test(F))try{x=JSON.parse(x)}catch(e){console.error(e)}h(!0);const V=S,B=(e.httpVerb||"").toLowerCase();if(!_)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=_.find((e=>p.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({},V),{components:Object.assign(Object.assign({},null==V?void 0:V.components),{securitySchemes:Object.assign(Object.assign({},null===(i=null==V?void 0:V.components)||void 0===i?void 0:i.securitySchemes),{[t]:Object.assign(Object.assign({},null===(u=null===(c=null==V?void 0:V.components)||void 0===c?void 0:c.securitySchemes)||void 0===u?void 0:u[t]),{type:"openIdConnect"===(null===(y=null===(m=null===(d=null==V?void 0:V.components)||void 0===d?void 0:d.securitySchemes)||void 0===m?void 0:m[t])||void 0===y?void 0:y.type)?"oauth2":(null===(O=null===(f=null==V?void 0:V.components)||void 0===f?void 0:f.securitySchemes)||void 0===O?void 0:O[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},V);M.servers=_;const H=E.corsProxyUrl;H&&_.length&&(M.servers=_.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==k?void 0:k.content)&&(null===(j=getActiveMediaType(k.content))||void 0===j?void 0:j.name)||null;if(W&&x&&isFileUploadMime(W)){const e=Object.values(x);x=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:x,requestContentType:W,responseContentType:(null===(C=q.header)||void 0===C?void 0:C.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const e=yield 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}),A(e),I(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})),A(void 0),I(e)}finally{h(!1),v(1),P(Date.now()-N),null===(T=null===(R=E.events)||void 0===R?void 0:R.tryItSent)||void 0===T||T.call(R,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[p.url,b,t,e,E,S]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,w.definition);j(o),null===(t=l.current)||void 0===t||t.setValues({})})))),useEffect((()=>{q&&q!==e&&(A(void 0),I(void 0),v(0))}),[e,q]);const B=!(!T&&!R);return React.createElement(ConsoleWrapper,{shaking:f,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:m,hasResponse:B,onChange:F}),i&&React.createElement(CloseButton,{onClick:i}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==m,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,mergeExampleBody:n,securityDefaults:a,form:b,resolvedRawSpec:S,server:p,formApi:l.current,setFormApi:_,handleChange:k,handleServerChange:x})),React.createElement(ConsoleBody,{hidden:1!==m,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:T,error:R,time:C})),React.createElement(ActionPanel,{hasResponse:B,params:b.values,operation:e,loading:y,execute:V}))}export const Console=memo(ConsoleComponent);
2
2
  //# sourceMappingURL=Console.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.0.0-alpha.74",
3
+ "version": "3.0.0-alpha.75",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -23,23 +23,18 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@markdoc/markdoc": "0.3.4",
26
- "@redocly/openapi-core": "^1.0.0-rc.1",
26
+ "@redocly/openapi-core": "^1.4.0",
27
27
  "@redocly/vscode-json-languageservice": "3.4.9",
28
28
  "@wojtekmaj/enzyme-adapter-react-17": "^0.6.2",
29
29
  "codemirror": "^5.65.0",
30
- "decko": "^1.2.0",
31
30
  "deepmerge": "^4.2.2",
32
31
  "dompurify": "^2.0.12",
33
- "eventemitter3": "^4.0.4",
34
32
  "fast-deep-equal": "^3.1.3",
35
- "handlebars": "^4.7.6",
36
33
  "hotkeys-js": "^3.7.6",
37
34
  "informed": "3.33.0",
38
35
  "json-pointer": "^0.6.2",
39
- "kleur": "^3.0.3",
40
36
  "lunr": "^2.3.8",
41
37
  "mark.js": "^8.11.1",
42
- "mkdirp": "^0.5.1",
43
38
  "openapi-sampler": "^1.3.0",
44
39
  "path-browserify": "^1.0.1",
45
40
  "perfect-scrollbar": "^1.5.5",
@@ -57,8 +52,7 @@
57
52
  "tslib": "^2.2.0",
58
53
  "url": "~0.11.0",
59
54
  "url-template": "^2.0.8",
60
- "util": "~0.12.5",
61
- "yargs": "^17.3.0"
55
+ "util": "~0.12.5"
62
56
  },
63
57
  "devDependencies": {
64
58
  "@testing-library/jest-dom": "^5.16.5",
@@ -114,7 +108,7 @@
114
108
  "webpack-cli": "^5.1.4",
115
109
  "webpack-dev-server": "^4.15.1",
116
110
  "workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
117
- "@redocly/theme": "0.30.6"
111
+ "@redocly/theme": "0.30.8"
118
112
  },
119
113
  "scripts": {
120
114
  "start": "webpack serve --mode=development --hot",
@@ -136,7 +130,7 @@
136
130
  "pack:sourcemaps": "rm -rf openapi-docs.sourcemaps.tag.gz && find lib lib-esm -name \"*.js.map\" | xargs tar -czvf openapi-docs.sourcemaps.tar.gz",
137
131
  "stats": "webpack --json --profile --mode=production -p > stats.json && npx webpack-bundle-analyzer stats.json",
138
132
  "list:licenses": "node ./scripts/list-licenses.js",
139
- "license:check": "license-checker --production --onlyAllow 'MIT;ISC;Apache-2.0;Apache;CC0-1.0;BSD;BSD-2-Clause;BSD-3-Clause;UNKNOWN' --summary",
133
+ "license:check": "npx license-checker --production --onlyAllow 'MIT;ISC;Apache-2.0;Apache;CC0-1.0;BSD;BSD-2-Clause;BSD-3-Clause;UNKNOWN' --summary",
140
134
  "precdn:serve": "mkdir -p playground/cdn-test/server-dist && cp -Rf dist/* playground/cdn-test/server-dist && cp -Rf playground/cdn-test/template-source/* playground/cdn-test/server-dist",
141
135
  "cdn-serve": "http-server playground/cdn-test/server-dist"
142
136
  }