@redocly/openapi-docs 0.0.0-cache-perf-20240625144418 → 0.0.0-cache-perf-20240702081649

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,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SectionContent=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),ContentItem_1=require("../ContentItem"),PageFooter_1=require("../PageFooter"),store_1=require("../../jotai/store"),RenderHook_1=require("../RenderHook"),RightPanel_1=require("../RightPanel"),app_1=require("../../jotai/app"),common_1=require("../common");function SectionContent({items:e,hideFooterAndHeader:t}){const{unstable_hooks:{MiddlePanelHeader:n},routingBasePath:r}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),o=(0,jotai_1.useAtomValue)(app_1.layoutAtom),a=o===theme_1.LayoutVariant.STACKED,i=(0,react_1.useMemo)((()=>t?null:(0,jsx_runtime_1.jsx)(MiddlePanelWrapper,{isStacked:a,children:(0,jsx_runtime_1.jsx)(PageFooter_1.PageFooter,{})})),[t,a]),s=(0,react_1.useMemo)((()=>t||!theme_1.OpenApiHeader&&!n?null:(0,jsx_runtime_1.jsx)(MiddlePanelWrapper,{isStacked:a,children:n?(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:n,props:void 0}):(0,jsx_runtime_1.jsx)(theme_1.OpenApiHeader,{})})),[n,t,a]);return 0===e.length?null:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[s,(0,jsx_runtime_1.jsxs)(common_1.Row,{layout:o,children:[(0,jsx_runtime_1.jsx)(SectionContainer,{layout:o,children:e.filter((({type:e})=>"section"===e)).map((e=>(0,jsx_runtime_1.jsx)(ContentItem_1.ContentItem,{item:e,routingBasePath:r},e.id)))}),(0,jsx_runtime_1.jsx)(RightPanelContainer,{isStacked:a,tabIndex:0,children:(0,jsx_runtime_1.jsx)(RightPanel_1.RightPanel,{item:e[0]})})]}),e.filter((({type:e})=>"section"!==e)).map((e=>(0,jsx_runtime_1.jsx)(ContentItem_1.ContentItem,{item:e,routingBasePath:r},e.id))),i]})}exports.SectionContent=SectionContent;const MiddlePanelWrapper=(0,styled_components_1.default)(common_1.SamplesMiddlePanel)`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SectionContent=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),ContentItem_1=require("../ContentItem"),PageFooter_1=require("../PageFooter"),store_1=require("../../jotai/store"),RenderHook_1=require("../RenderHook"),RightPanel_1=require("../RightPanel"),app_1=require("../../jotai/app"),common_1=require("../common");function SectionContent({items:e,hideFooterAndHeader:t}){const{unstable_hooks:{MiddlePanelHeader:n},routingBasePath:o}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),r=(0,jotai_1.useAtomValue)(app_1.layoutAtom),i=r===theme_1.LayoutVariant.STACKED,a=(0,react_1.useMemo)((()=>t?null:(0,jsx_runtime_1.jsx)(MiddlePanelWrapper,{isStacked:i,children:(0,jsx_runtime_1.jsx)(PageFooter_1.PageFooter,{})})),[t,i]),s=(0,react_1.useMemo)((()=>t||!theme_1.OpenApiHeader&&!n?null:(0,jsx_runtime_1.jsx)(MiddlePanelWrapper,{isStacked:i,children:n?(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:n,props:void 0}):(0,jsx_runtime_1.jsx)(theme_1.OpenApiHeader,{})})),[n,t,i]);return 0===e.length?null:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[s,(0,jsx_runtime_1.jsxs)(common_1.Row,{layout:r,children:[(0,jsx_runtime_1.jsx)(SectionContainer,{layout:r,children:e.filter((({type:e})=>"section"===e)).map((e=>(0,jsx_runtime_1.jsx)(ContentItem_1.ContentItem,{item:e,routingBasePath:o},e.id)))}),(0,jsx_runtime_1.jsx)(RightPanelContainer,{isStacked:i,tabIndex:0,children:(0,jsx_runtime_1.jsx)(RightPanel_1.RightPanel,{item:e[0]})})]}),e.filter((({type:e})=>"section"!==e)).map((e=>(0,jsx_runtime_1.jsx)(ContentItem_1.ContentItem,{item:e,routingBasePath:o},e.id))),a]})}exports.SectionContent=SectionContent;const MiddlePanelWrapper=(0,styled_components_1.default)(common_1.SamplesMiddlePanel)`
2
2
  align-self: flex-start;
3
3
  padding-top: var(--panel-gap-vertical);
4
4
  padding-bottom: var(--panel-gap-vertical);
@@ -9,8 +9,6 @@
9
9
  width: ${({layout:e})=>e===theme_1.LayoutVariant.STACKED?"100%":"calc(100% - var(--panel-samples-width))"};
10
10
  }
11
11
  `,RightPanelContainer=(0,styled_components_1.default)(common_1.SamplesPanel)`
12
- margin: var(--spacing-base) 0 var(--spacing-xs);
13
- overflow-y: auto;
14
- max-height: calc(100vh - var(--navbar-height) - var(--panel-gap-vertical) * 2);
12
+ margin: var(--spacing-base) 0;
15
13
  `;
16
14
  //# sourceMappingURL=SectionContent.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(t,a);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,s)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=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},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.capitalizeFirst=exports.isDefined=exports.getCodeSample=void 0;const Sampler=__importStar(require("openapi-sampler")),deepmerge_1=__importDefault(require("deepmerge")),utils_1=require("../../utils"),utils_2=require("../utils"),constants_1=require("../../constants"),httpsnippet_1=require("./httpsnippet"),mediaContent_1=require("../../models/mediaContent");function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u}){var p,c,d;const m=l.server,f=e.servers.find((e=>e.url===m))||e.servers[0],{securityHeaders:h,securityCookies:_,securityQueries:O,securityOAuth2ExtraCalls:g,basicAuth:v}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r,l),y=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content),T={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i},S=u;let C=!1;const b=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=S.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,T,s))}})).map((e=>((null==y?void 0:y.name)&&"content-type"===e.name.toLowerCase()&&(C=!0,e.value=y.name),e))).concat(h);!C&&(null==y?void 0:y.name)&&b.unshift({name:"Content-Type",value:null==y?void 0:y.name});const D=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,T,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=S.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(_),E=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,T,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:(0,utils_1.isArrayOfObjects)(null===(a=S.query)||void 0===a?void 0:a[i])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(r=S.query)||void 0===r?void 0:r[i]))||String((null===(s=S.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(O),j=`${null==f?void 0:f.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,P=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=S.path)||void 0===a?void 0:a[s])||n[s]||(0,utils_1.getParameterValue)(r,s),e}),{}),w=null===(d=null==y?void 0:y.examples)||void 0===d?void 0:d[t],A=(null==y?void 0:y.examples)||{},[q]=Object.values(A),R=(null==S?void 0:S.body)||(null==w?void 0:w.value)||(null==q?void 0:q.value)||(null==y?void 0:y.schema)&&Sampler.sample(null==y?void 0:y.schema.rawSchema,T,s),k=null==y?void 0:y.name.toLowerCase();let M="",x=[];switch((0,utils_2.normalizeMimeType)(k)){case constants_1.MediaTypes.JSON:case constants_1.MediaTypes.XML:M=JSON.stringify(getDataRequest(R,o));break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:M=utils_1.queryString.stringify(getDataRequest(R,o)),x=objectToHarParams(getDataRequest(R,o));break;default:M=String(R||"")}const N=M?{mimeType:(null==y?void 0:y.name)||constants_1.MediaTypes.OCTET_STREAM,text:M,params:x}:void 0,H=e.responses.map((e=>e.code));return{method:e.httpVerb,url:j,httpVersion:"HTTP/1.1",cookies:D,headers:b,queryString:E,postData:N,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:g,basicAuth:v,pathParameters:P,serverVariables:l,allResponseCodes:H}}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)},"C#+Newtonsoft":{code:"csharpNewtonsoft",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)}};function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:r,properties:s,options:i={},environment:n}){try{const{skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p,store:c}=i,d=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:c.requestValues}),m=new httpsnippet_1.HTTPSnippet(d);return langToSnippetConfig[e]?m.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t,a){var r,s,i,n;const o={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const l of(null==e?void 0:e.schemes)||[]){const e=(0,utils_1.getSecurityDetails)(l.id,a);switch(l.type){case"openIdConnect":null===(r=o.securityHeaders)||void 0===r||r.push({name:"Authorization",value:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";l.flows.clientCredentials&&t?o.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(l.flows.clientCredentials,l.scopes,e)):l.flows.password&&t&&o.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(l.flows.password,l.scopes,e)),null===(s=o.securityHeaders)||void 0===s||s.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===l.in&&(null===(i=o.securityHeaders)||void 0===i||i.push({name:l.name,value:t})),"cookie"===l.in&&o.securityCookies.push({name:l.name,value:t}),"query"===l.in&&o.securityQueries.push({name:l.name,value:t});break}case"http":"basic"===l.scheme?o.basicAuth={username:String(e.username),password:String(e.password)}:null===(n=o.securityHeaders)||void 0===n||n.push({name:"Authorization",value:`${capitalizeFirst(l.scheme||"bearer")} <YOUR_${l.bearerFormat||"TOKEN"}_HERE>`})}}return o}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:constants_1.MediaTypes.URL_ENCODED},{name:"Accept",value:constants_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:constants_1.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:constants_1.MediaTypes.URL_ENCODED},{name:"Accept",value:constants_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:constants_1.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(0,deepmerge_1.default)(e,t,{arrayMerge:utils_2.arrayMergeStrategy});try{return(0,deepmerge_1.default)(JSON.parse(e),t,{arrayMerge:utils_2.arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e,t=""){const a=[];for(const[r,s]of Object.entries(e)){const e=t?`${t}[${r}]`:r;"object"==typeof s&&null!==s?a.push(...objectToHarParams(s,e)):a.push({name:e,value:String(s)})}return a}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}exports.getCodeSample=getCodeSample,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(t,a);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,s)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=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},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.capitalizeFirst=exports.isDefined=exports.getCodeSample=void 0;const Sampler=__importStar(require("openapi-sampler")),deepmerge_1=__importDefault(require("deepmerge")),utils_1=require("../../utils"),utils_2=require("../utils"),constants_1=require("../../constants"),httpsnippet_1=require("./httpsnippet"),mediaContent_1=require("../../models/mediaContent"),string_utility_1=__importDefault(require("./httpsnippet/helpers/string-utility"));function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u}){var p,c,d;const m=l.server,f=e.servers.find((e=>e.url===m))||e.servers[0],{securityHeaders:h,securityCookies:_,securityQueries:g,securityOAuth2ExtraCalls:v,basicAuth:O}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r,l),y=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content),T={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i},C=u;let S=!1;const b=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=C.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,T,s))}})).map((e=>((null==y?void 0:y.name)&&"content-type"===e.name.toLowerCase()&&(S=!0,e.value=y.name),e))).concat(h);!S&&(null==y?void 0:y.name)&&b.unshift({name:"Content-Type",value:null==y?void 0:y.name});const D=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,T,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=C.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(_),E=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,T,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:(0,utils_1.isArrayOfObjects)(null===(a=C.query)||void 0===a?void 0:a[i])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(r=C.query)||void 0===r?void 0:r[i]))||String((null===(s=C.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(g),j=`${null==f?void 0:f.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,P=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=C.path)||void 0===a?void 0:a[s])||n[s]||(0,utils_1.getParameterValue)(r,s),e}),{}),w=null===(d=null==y?void 0:y.examples)||void 0===d?void 0:d[t],k=(null==y?void 0:y.examples)||{},[q]=Object.values(k),A=(null==C?void 0:C.body)||(null==w?void 0:w.value)||(null==q?void 0:q.value)||(null==y?void 0:y.schema)&&Sampler.sample(null==y?void 0:y.schema.rawSchema,T,s),R=null==y?void 0:y.name.toLowerCase();let M="",x=[];switch((0,utils_2.normalizeMimeType)(R)){case constants_1.MediaTypes.JSON:case constants_1.MediaTypes.XML:M=JSON.stringify(getDataRequest(A,o));break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:M=utils_1.queryString.stringify(getDataRequest(A,o)),x=objectToHarParams(getDataRequest(A,o));break;default:M=String(A||"")}const N=M?{mimeType:(null==y?void 0:y.name)||constants_1.MediaTypes.OCTET_STREAM,text:M,params:x}:void 0,H=e.responses.map((e=>e.code));return{method:e.httpVerb,url:j,httpVersion:"HTTP/1.1",cookies:D,headers:b,queryString:E,postData:N,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:O,pathParameters:P,serverVariables:l,allResponseCodes:H}}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)},"C#+Newtonsoft":{code:"csharpNewtonsoft",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)}};function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:r,properties:s,options:i={},environment:n}){try{const{skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p,store:c}=i,d=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:c.requestValues}),m=new httpsnippet_1.HTTPSnippet(d);return langToSnippetConfig[e]?m.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t,a){var r,s,i,n,o;const l={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const u of(null==e?void 0:e.schemes)||[]){const e=(0,utils_1.getSecurityDetails)(u.id,a);switch(u.type){case"openIdConnect":null===(r=l.securityHeaders)||void 0===r||r.push({name:"Authorization",value:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&t?l.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,e)):u.flows.password&&t&&l.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,e)),null===(s=l.securityHeaders)||void 0===s||s.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(i=l.securityHeaders)||void 0===i||i.push({name:u.name,value:t})),"cookie"===u.in&&l.securityCookies.push({name:u.name,value:t}),"query"===u.in&&l.securityQueries.push({name:u.name,value:t});break}case"http":if("basic"===u.scheme)l.basicAuth={username:e.username||`<${string_utility_1.default.toSnakeCase("Username")}>`,password:e.password||`<${string_utility_1.default.toSnakeCase("Password")}>`};else{const t=(null===(n=e.token)||void 0===n?void 0:n.access_token)||`<YOUR_${u.bearerFormat||"TOKEN"}_HERE>`;null===(o=l.securityHeaders)||void 0===o||o.push({name:"Authorization",value:`${capitalizeFirst(u.scheme||"bearer")} ${t}`})}}}return l}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:constants_1.MediaTypes.URL_ENCODED},{name:"Accept",value:constants_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:constants_1.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:constants_1.MediaTypes.URL_ENCODED},{name:"Accept",value:constants_1.MediaTypes.JSON}],queryString:[],postData:{mimeType:constants_1.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(0,deepmerge_1.default)(e,t,{arrayMerge:utils_2.arrayMergeStrategy});try{return(0,deepmerge_1.default)(JSON.parse(e),t,{arrayMerge:utils_2.arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e,t=""){const a=[];for(const[r,s]of Object.entries(e)){const e=t?`${t}[${r}]`:r;"object"==typeof s&&null!==s?a.push(...objectToHarParams(s,e)):a.push({name:e,value:String(s)})}return a}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}exports.getCodeSample=getCodeSample,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;
2
2
  //# sourceMappingURL=generator.js.map
@@ -1,3 +1,2 @@
1
- import 'raf/polyfill';
2
1
  import '@testing-library/jest-dom';
3
2
  import 'jest-styled-components';
package/lib/setupTests.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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});const Enzyme=__importStar(require("enzyme")),enzyme_adapter_react_18_1=__importDefault(require("@cfaester/enzyme-adapter-react-18"));require("raf/polyfill"),require("@testing-library/jest-dom"),require("jest-styled-components");const node_crypto_1=require("node:crypto");Enzyme.configure({adapter:new enzyme_adapter_react_18_1.default}),window.crypto.randomUUID=node_crypto_1.randomUUID,global.structuredClone=e=>JSON.parse(JSON.stringify(e));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("@testing-library/jest-dom"),require("jest-styled-components");const node_crypto_1=require("node:crypto");window.crypto.randomUUID=node_crypto_1.randomUUID,global.structuredClone=e=>JSON.parse(JSON.stringify(e));
2
2
  //# sourceMappingURL=setupTests.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setSecurityDetails=exports.getSecurityDetails=exports.setSecurityDetailsVariants=void 0;const theme_1=require("@redocly/theme"),string_1=require("./string"),session_storage_1=require("./session-storage");function setSecurityDetailsVariants(e,s){e=(0,string_1.escapeFormId)(e),(0,session_storage_1.toSessionStorage)(`auth.${e}.variants`,JSON.stringify(s))}function getSecurityDetails(e,s={}){return{raw:s[e+theme_1.SecurityVariablesEnvSuffix.APIKey],password:s[e+theme_1.SecurityVariablesEnvSuffix.Username],username:s[e+theme_1.SecurityVariablesEnvSuffix.Password],token:s[e+theme_1.SecurityVariablesEnvSuffix.Token]?{access_token:s[e+theme_1.SecurityVariablesEnvSuffix.Token]}:void 0,client_id:s[e+theme_1.SecurityVariablesEnvSuffix.ClientId],client_secret:s[e+theme_1.SecurityVariablesEnvSuffix.ClientSecret],scopes:(0,session_storage_1.fromSessionStorage)(`auth.${e}.scopes`)}}function setSecurityDetails(e,s){e=(0,string_1.escapeFormId)(e),"string"==typeof s?(0,session_storage_1.toSessionStorage)("auth."+e,s):s&&((0,session_storage_1.toSessionStorage)(`auth.${e}.password`,s.password||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.username`,s.username||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.token`,s.token&&JSON.stringify(s.token)||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.client_id`,s.client_id||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.client_secret`,s.client_secret||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.scopes`,s.scopes&&JSON.stringify(s.scopes)||""))}exports.setSecurityDetailsVariants=setSecurityDetailsVariants,exports.getSecurityDetails=getSecurityDetails,exports.setSecurityDetails=setSecurityDetails;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setSecurityDetails=exports.getSecurityDetails=exports.setSecurityDetailsVariants=void 0;const theme_1=require("@redocly/theme"),string_1=require("./string"),session_storage_1=require("./session-storage");function setSecurityDetailsVariants(e,s){e=(0,string_1.escapeFormId)(e),(0,session_storage_1.toSessionStorage)(`auth.${e}.variants`,JSON.stringify(s))}function getSecurityDetails(e,s={}){return{raw:s[e+theme_1.SecurityVariablesEnvSuffix.APIKey],password:s[e+theme_1.SecurityVariablesEnvSuffix.Password],username:s[e+theme_1.SecurityVariablesEnvSuffix.Username],token:s[e+theme_1.SecurityVariablesEnvSuffix.Token]?{access_token:s[e+theme_1.SecurityVariablesEnvSuffix.Token]}:void 0,client_id:s[e+theme_1.SecurityVariablesEnvSuffix.ClientId],client_secret:s[e+theme_1.SecurityVariablesEnvSuffix.ClientSecret],scopes:(0,session_storage_1.fromSessionStorage)(`auth.${e}.scopes`)}}function setSecurityDetails(e,s){e=(0,string_1.escapeFormId)(e),"string"==typeof s?(0,session_storage_1.toSessionStorage)("auth."+e,s):s&&((0,session_storage_1.toSessionStorage)(`auth.${e}.password`,s.password||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.username`,s.username||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.token`,s.token&&JSON.stringify(s.token)||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.client_id`,s.client_id||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.client_secret`,s.client_secret||""),(0,session_storage_1.toSessionStorage)(`auth.${e}.scopes`,s.scopes&&JSON.stringify(s.scopes)||""))}exports.setSecurityDetailsVariants=setSecurityDetailsVariants,exports.getSecurityDetails=getSecurityDetails,exports.setSecurityDetails=setSecurityDetails;
2
2
  //# sourceMappingURL=security-details.js.map
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useMemo}from"react";import{breakpoints,LayoutVariant,OpenApiHeader}from"@redocly/theme";import{useAtomValue}from"jotai";import styled from"styled-components";import{ContentItem}from"../ContentItem";import{PageFooter}from"../PageFooter";import{globalOptionsAtom}from"../../jotai/store";import{RenderHook}from"../RenderHook";import{RightPanel}from"../RightPanel";import{layoutAtom}from"../../jotai/app";import{Row,SamplesMiddlePanel,SamplesPanel}from"../common";export function SectionContent({items:e,hideFooterAndHeader:t}){const{unstable_hooks:{MiddlePanelHeader:a},routingBasePath:o}=useAtomValue(globalOptionsAtom),n=useAtomValue(layoutAtom),r=n===LayoutVariant.STACKED,i=useMemo((()=>t?null:_jsx(MiddlePanelWrapper,{isStacked:r,children:_jsx(PageFooter,{})})),[t,r]),l=useMemo((()=>t||!OpenApiHeader&&!a?null:_jsx(MiddlePanelWrapper,{isStacked:r,children:a?_jsx(RenderHook,{Hook:a,props:void 0}):_jsx(OpenApiHeader,{})})),[a,t,r]);return 0===e.length?null:_jsxs(_Fragment,{children:[l,_jsxs(Row,{layout:n,children:[_jsx(SectionContainer,{layout:n,children:e.filter((({type:e})=>"section"===e)).map((e=>_jsx(ContentItem,{item:e,routingBasePath:o},e.id)))}),_jsx(RightPanelContainer,{isStacked:r,tabIndex:0,children:_jsx(RightPanel,{item:e[0]})})]}),e.filter((({type:e})=>"section"!==e)).map((e=>_jsx(ContentItem,{item:e,routingBasePath:o},e.id))),i]})}const MiddlePanelWrapper=styled(SamplesMiddlePanel)`
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useMemo}from"react";import{breakpoints,LayoutVariant,OpenApiHeader}from"@redocly/theme";import{useAtomValue}from"jotai";import styled from"styled-components";import{ContentItem}from"../ContentItem";import{PageFooter}from"../PageFooter";import{globalOptionsAtom}from"../../jotai/store";import{RenderHook}from"../RenderHook";import{RightPanel}from"../RightPanel";import{layoutAtom}from"../../jotai/app";import{Row,SamplesMiddlePanel,SamplesPanel}from"../common";export function SectionContent({items:e,hideFooterAndHeader:t}){const{unstable_hooks:{MiddlePanelHeader:o},routingBasePath:a}=useAtomValue(globalOptionsAtom),n=useAtomValue(layoutAtom),r=n===LayoutVariant.STACKED,i=useMemo((()=>t?null:_jsx(MiddlePanelWrapper,{isStacked:r,children:_jsx(PageFooter,{})})),[t,r]),l=useMemo((()=>t||!OpenApiHeader&&!o?null:_jsx(MiddlePanelWrapper,{isStacked:r,children:o?_jsx(RenderHook,{Hook:o,props:void 0}):_jsx(OpenApiHeader,{})})),[o,t,r]);return 0===e.length?null:_jsxs(_Fragment,{children:[l,_jsxs(Row,{layout:n,children:[_jsx(SectionContainer,{layout:n,children:e.filter((({type:e})=>"section"===e)).map((e=>_jsx(ContentItem,{item:e,routingBasePath:a},e.id)))}),_jsx(RightPanelContainer,{isStacked:r,tabIndex:0,children:_jsx(RightPanel,{item:e[0]})})]}),e.filter((({type:e})=>"section"!==e)).map((e=>_jsx(ContentItem,{item:e,routingBasePath:a},e.id))),i]})}const MiddlePanelWrapper=styled(SamplesMiddlePanel)`
2
2
  align-self: flex-start;
3
3
  padding-top: var(--panel-gap-vertical);
4
4
  padding-bottom: var(--panel-gap-vertical);
@@ -9,8 +9,6 @@ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";i
9
9
  width: ${({layout:e})=>e===LayoutVariant.STACKED?"100%":"calc(100% - var(--panel-samples-width))"};
10
10
  }
11
11
  `,RightPanelContainer=styled(SamplesPanel)`
12
- margin: var(--spacing-base) 0 var(--spacing-xs);
13
- overflow-y: auto;
14
- max-height: calc(100vh - var(--navbar-height) - var(--panel-gap-vertical) * 2);
12
+ margin: var(--spacing-base) 0;
15
13
  `;
16
14
  //# sourceMappingURL=SectionContent.js.map
@@ -1,2 +1,2 @@
1
- import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{serializeParameterValue,getSecurityDetails,getParameterValue,queryString,isArrayOfObjects,deleteEmptyArrayItem}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{HTTPSnippet}from"./httpsnippet";import{getActiveMediaType}from"../../models/mediaContent";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u}){var p,c,d;const m=l.server,h=e.servers.find((e=>e.url===m))||e.servers[0],{securityHeaders:f,securityCookies:y,securityQueries:g,securityOAuth2ExtraCalls:O,basicAuth:v}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r,l),T=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&getActiveMediaType(e.requestBody.content),S={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i},C=u;let b=!1;const E=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=C.header)||void 0===t?void 0:t[e.name])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,S,s))}})).map((e=>((null==T?void 0:T.name)&&"content-type"===e.name.toLowerCase()&&(b=!0,e.value=T.name),e))).concat(f);!b&&(null==T?void 0:T.name)&&E.unshift({name:"Content-Type",value:null==T?void 0:T.name});const _=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,S,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=C.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(y),A=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,S,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:isArrayOfObjects(null===(a=C.query)||void 0===a?void 0:a[i])&&JSON.stringify(deleteEmptyArrayItem(null===(r=C.query)||void 0===r?void 0:r[i]))||String((null===(s=C.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(g),P=`${null==h?void 0:h.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,j=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=C.path)||void 0===a?void 0:a[s])||n[s]||getParameterValue(r,s),e}),{}),w=null===(d=null==T?void 0:T.examples)||void 0===d?void 0:d[t],R=(null==T?void 0:T.examples)||{},[k]=Object.values(R),D=(null==C?void 0:C.body)||(null==w?void 0:w.value)||(null==k?void 0:k.value)||(null==T?void 0:T.schema)&&Sampler.sample(null==T?void 0:T.schema.rawSchema,S,s),M=null==T?void 0:T.name.toLowerCase();let q="",H=[];switch(normalizeMimeType(M)){case MediaTypes.JSON:case MediaTypes.XML:q=JSON.stringify(getDataRequest(D,o));break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:q=queryString.stringify(getDataRequest(D,o)),H=objectToHarParams(getDataRequest(D,o));break;default:q=String(D||"")}const N=q?{mimeType:(null==T?void 0:T.name)||MediaTypes.OCTET_STREAM,text:q,params:H}:void 0,x=e.responses.map((e=>e.code));return{method:e.httpVerb,url:P,httpVersion:"HTTP/1.1",cookies:_,headers:E,queryString:A,postData:N,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:O,basicAuth:v,pathParameters:j,serverVariables:l,allResponseCodes:x}}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)},"C#+Newtonsoft":{code:"csharpNewtonsoft",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:s,options:i={},environment:n}){try{const{skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p,store:c}=i,d=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:c.requestValues}),m=new HTTPSnippet(d);return langToSnippetConfig[e]?m.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t,a){var r,s,i,n;const o={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const l of(null==e?void 0:e.schemes)||[]){const e=getSecurityDetails(l.id,a);switch(l.type){case"openIdConnect":null===(r=o.securityHeaders)||void 0===r||r.push({name:"Authorization",value:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";l.flows.clientCredentials&&t?o.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(l.flows.clientCredentials,l.scopes,e)):l.flows.password&&t&&o.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(l.flows.password,l.scopes,e)),null===(s=o.securityHeaders)||void 0===s||s.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===l.in&&(null===(i=o.securityHeaders)||void 0===i||i.push({name:l.name,value:t})),"cookie"===l.in&&o.securityCookies.push({name:l.name,value:t}),"query"===l.in&&o.securityQueries.push({name:l.name,value:t});break}case"http":"basic"===l.scheme?o.basicAuth={username:String(e.username),password:String(e.password)}:null===(n=o.securityHeaders)||void 0===n||n.push({name:"Authorization",value:`${capitalizeFirst(l.scheme||"bearer")} <YOUR_${l.bearerFormat||"TOKEN"}_HERE>`})}}return o}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,t=""){const a=[];for(const[r,s]of Object.entries(e)){const e=t?`${t}[${r}]`:r;"object"==typeof s&&null!==s?a.push(...objectToHarParams(s,e)):a.push({name:e,value:String(s)})}return a}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
1
+ import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{serializeParameterValue,getSecurityDetails,getParameterValue,queryString,isArrayOfObjects,deleteEmptyArrayItem}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{HTTPSnippet}from"./httpsnippet";import{getActiveMediaType}from"../../models/mediaContent";import StringUtility from"./httpsnippet/helpers/string-utility";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u}){var p,c,d;const m=l.server,h=e.servers.find((e=>e.url===m))||e.servers[0],{securityHeaders:y,securityCookies:f,securityQueries:g,securityOAuth2ExtraCalls:v,basicAuth:O}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r,l),T=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&getActiveMediaType(e.requestBody.content),S={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i},C=u;let b=!1;const E=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=C.header)||void 0===t?void 0:t[e.name])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,S,s))}})).map((e=>((null==T?void 0:T.name)&&"content-type"===e.name.toLowerCase()&&(b=!0,e.value=T.name),e))).concat(y);!b&&(null==T?void 0:T.name)&&E.unshift({name:"Content-Type",value:null==T?void 0:T.name});const _=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,S,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=C.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(f),A=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,S,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:isArrayOfObjects(null===(a=C.query)||void 0===a?void 0:a[i])&&JSON.stringify(deleteEmptyArrayItem(null===(r=C.query)||void 0===r?void 0:r[i]))||String((null===(s=C.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(g),k=`${null==h?void 0:h.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,P=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=C.path)||void 0===a?void 0:a[s])||n[s]||getParameterValue(r,s),e}),{}),j=null===(d=null==T?void 0:T.examples)||void 0===d?void 0:d[t],w=(null==T?void 0:T.examples)||{},[R]=Object.values(w),D=(null==C?void 0:C.body)||(null==j?void 0:j.value)||(null==R?void 0:R.value)||(null==T?void 0:T.schema)&&Sampler.sample(null==T?void 0:T.schema.rawSchema,S,s),M=null==T?void 0:T.name.toLowerCase();let q="",H=[];switch(normalizeMimeType(M)){case MediaTypes.JSON:case MediaTypes.XML:q=JSON.stringify(getDataRequest(D,o));break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:q=queryString.stringify(getDataRequest(D,o)),H=objectToHarParams(getDataRequest(D,o));break;default:q=String(D||"")}const N=q?{mimeType:(null==T?void 0:T.name)||MediaTypes.OCTET_STREAM,text:q,params:H}:void 0,x=e.responses.map((e=>e.code));return{method:e.httpVerb,url:k,httpVersion:"HTTP/1.1",cookies:_,headers:E,queryString:A,postData:N,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:O,pathParameters:P,serverVariables:l,allResponseCodes:x}}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)},"C#+Newtonsoft":{code:"csharpNewtonsoft",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:s,options:i={},environment:n}){try{const{skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p,store:c}=i,d=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:c.requestValues}),m=new HTTPSnippet(d);return langToSnippetConfig[e]?m.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t,a){var r,s,i,n,o;const l={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const u of(null==e?void 0:e.schemes)||[]){const e=getSecurityDetails(u.id,a);switch(u.type){case"openIdConnect":null===(r=l.securityHeaders)||void 0===r||r.push({name:"Authorization",value:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&t?l.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,e)):u.flows.password&&t&&l.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,e)),null===(s=l.securityHeaders)||void 0===s||s.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(i=l.securityHeaders)||void 0===i||i.push({name:u.name,value:t})),"cookie"===u.in&&l.securityCookies.push({name:u.name,value:t}),"query"===u.in&&l.securityQueries.push({name:u.name,value:t});break}case"http":if("basic"===u.scheme)l.basicAuth={username:e.username||`<${StringUtility.toSnakeCase("Username")}>`,password:e.password||`<${StringUtility.toSnakeCase("Password")}>`};else{const t=(null===(n=e.token)||void 0===n?void 0:n.access_token)||`<YOUR_${u.bearerFormat||"TOKEN"}_HERE>`;null===(o=l.securityHeaders)||void 0===o||o.push({name:"Authorization",value:`${capitalizeFirst(u.scheme||"bearer")} ${t}`})}}}return l}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,t=""){const a=[];for(const[r,s]of Object.entries(e)){const e=t?`${t}[${r}]`:r;"object"==typeof s&&null!==s?a.push(...objectToHarParams(s,e)):a.push({name:e,value:String(s)})}return a}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
2
2
  //# sourceMappingURL=generator.js.map
@@ -1,3 +1,2 @@
1
- import 'raf/polyfill';
2
1
  import '@testing-library/jest-dom';
3
2
  import 'jest-styled-components';
@@ -1,2 +1,2 @@
1
- import*as Enzyme from"enzyme";import Adapter from"@cfaester/enzyme-adapter-react-18";import"raf/polyfill";import"@testing-library/jest-dom";import"jest-styled-components";import{randomUUID}from"node:crypto";Enzyme.configure({adapter:new Adapter}),window.crypto.randomUUID=randomUUID,global.structuredClone=r=>JSON.parse(JSON.stringify(r));
1
+ import"@testing-library/jest-dom";import"jest-styled-components";import{randomUUID}from"node:crypto";window.crypto.randomUUID=randomUUID,global.structuredClone=o=>JSON.parse(JSON.stringify(o));
2
2
  //# sourceMappingURL=setupTests.js.map
@@ -1,2 +1,2 @@
1
- import{SecurityVariablesEnvSuffix}from"@redocly/theme";import{escapeFormId}from"./string";import{fromSessionStorage,toSessionStorage}from"./session-storage";export function setSecurityDetailsVariants(e,t){e=escapeFormId(e),toSessionStorage(`auth.${e}.variants`,JSON.stringify(t))}export function getSecurityDetails(e,t={}){return{raw:t[e+SecurityVariablesEnvSuffix.APIKey],password:t[e+SecurityVariablesEnvSuffix.Username],username:t[e+SecurityVariablesEnvSuffix.Password],token:t[e+SecurityVariablesEnvSuffix.Token]?{access_token:t[e+SecurityVariablesEnvSuffix.Token]}:void 0,client_id:t[e+SecurityVariablesEnvSuffix.ClientId],client_secret:t[e+SecurityVariablesEnvSuffix.ClientSecret],scopes:fromSessionStorage(`auth.${e}.scopes`)}}export function setSecurityDetails(e,t){e=escapeFormId(e),"string"==typeof t?toSessionStorage("auth."+e,t):t&&(toSessionStorage(`auth.${e}.password`,t.password||""),toSessionStorage(`auth.${e}.username`,t.username||""),toSessionStorage(`auth.${e}.token`,t.token&&JSON.stringify(t.token)||""),toSessionStorage(`auth.${e}.client_id`,t.client_id||""),toSessionStorage(`auth.${e}.client_secret`,t.client_secret||""),toSessionStorage(`auth.${e}.scopes`,t.scopes&&JSON.stringify(t.scopes)||""))}
1
+ import{SecurityVariablesEnvSuffix}from"@redocly/theme";import{escapeFormId}from"./string";import{fromSessionStorage,toSessionStorage}from"./session-storage";export function setSecurityDetailsVariants(e,t){e=escapeFormId(e),toSessionStorage(`auth.${e}.variants`,JSON.stringify(t))}export function getSecurityDetails(e,t={}){return{raw:t[e+SecurityVariablesEnvSuffix.APIKey],password:t[e+SecurityVariablesEnvSuffix.Password],username:t[e+SecurityVariablesEnvSuffix.Username],token:t[e+SecurityVariablesEnvSuffix.Token]?{access_token:t[e+SecurityVariablesEnvSuffix.Token]}:void 0,client_id:t[e+SecurityVariablesEnvSuffix.ClientId],client_secret:t[e+SecurityVariablesEnvSuffix.ClientSecret],scopes:fromSessionStorage(`auth.${e}.scopes`)}}export function setSecurityDetails(e,t){e=escapeFormId(e),"string"==typeof t?toSessionStorage("auth."+e,t):t&&(toSessionStorage(`auth.${e}.password`,t.password||""),toSessionStorage(`auth.${e}.username`,t.username||""),toSessionStorage(`auth.${e}.token`,t.token&&JSON.stringify(t.token)||""),toSessionStorage(`auth.${e}.client_id`,t.client_id||""),toSessionStorage(`auth.${e}.client_secret`,t.client_secret||""),toSessionStorage(`auth.${e}.scopes`,t.scopes&&JSON.stringify(t.scopes)||""))}
2
2
  //# sourceMappingURL=security-details.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "0.0.0-cache-perf-20240625144418",
3
+ "version": "0.0.0-cache-perf-20240702081649",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -16,7 +16,7 @@
16
16
  "openapi-docs": "bin.js"
17
17
  },
18
18
  "peerDependencies": {
19
- "@redocly/theme": "0.0.0-cache-perf-20240625144418",
19
+ "@redocly/theme": "0.0.0-cache-perf-20240702081649",
20
20
  "core-js": "^3.1.4",
21
21
  "react": "^18.0.0",
22
22
  "react-dom": "^18.0.0",
@@ -44,16 +44,14 @@
44
44
  "url": "~0.11.0",
45
45
  "url-template": "^2.0.8",
46
46
  "util": "~0.12.5",
47
- "@redocly/config": "0.0.0-cache-perf-20240625144418",
48
- "@redocly/replay": "0.0.0-cache-perf-20240625144418"
47
+ "@redocly/config": "0.0.0-cache-perf-20240702081649",
48
+ "@redocly/replay": "0.0.0-cache-perf-20240702081649"
49
49
  },
50
50
  "devDependencies": {
51
- "@cfaester/enzyme-adapter-react-18": "0.7.1",
52
51
  "@testing-library/jest-dom": "6.1.5",
53
52
  "@testing-library/react": "14.1.2",
54
53
  "@testing-library/user-event": "14.5.1",
55
54
  "@types/dompurify": "2.4.0",
56
- "@types/enzyme-to-json": "1.5.7",
57
55
  "@types/jest": "29.5.11",
58
56
  "@types/jest-when": "3.5.5",
59
57
  "@types/json-pointer": "1.0.34",
@@ -67,8 +65,6 @@
67
65
  "compare-versions": "5.0.3",
68
66
  "core-js": "3.29.1",
69
67
  "css-loader": "6.11.0",
70
- "enzyme": "3.11.0",
71
- "enzyme-to-json": "3.6.2",
72
68
  "esbuild-loader": "3.0.1",
73
69
  "fork-ts-checker-webpack-plugin": "6.5.3",
74
70
  "html-webpack-plugin": "4.5.2",
@@ -95,7 +91,7 @@
95
91
  "webpack": "5.91.0",
96
92
  "webpack-cli": "5.1.4",
97
93
  "webpack-dev-server": "4.15.2",
98
- "@redocly/theme": "0.0.0-cache-perf-20240625144418"
94
+ "@redocly/theme": "0.0.0-cache-perf-20240702081649"
99
95
  },
100
96
  "scripts": {
101
97
  "start": "webpack serve --mode=development --hot",