@redocly/openapi-docs 3.0.0-alpha.57 → 3.0.0-alpha.58

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,r,a){void 0===a&&(a=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,a,i)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=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,a){return new(r||(r=Promise))((function(i,s){function n(e){try{c(a.next(e))}catch(e){s(e)}}function o(e){try{c(a.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(n,o)}c((a=a.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.deriveCodeChallenge=exports.oauth2Instance=exports.OAuth2=void 0;const qs=__importStar(require("query-string")),utils_1=require("./utils"),DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html";class OAuth2{static authorizeImplicit({authorizationUrl:e,clientId:t,scopes:r,extraParams:a={},routingBasePath:i,redirectUri:s,successCallback:n,errorCallback:o}){const c=(0,utils_1.encodeState)({date:(new Date).toString()}),l=new URL(e),d="/"===i?"":i,u=`${window.location.origin}${d}/oauth2-redirect.html`;l.searchParams.set("client_id",t),l.searchParams.set("redirect_uri",s||u),l.searchParams.set("response_type","token"),l.searchParams.set("state",c),Array.isArray(r)&&l.searchParams.set("scope",r.join(" "));for(const e in a)l.searchParams.set(e,a[e]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:e,clientId:t,scopes:r},state:c,successCallback:e=>{n(e),OAuth2.clearRedirectData("implicit")},errorCallback:e=>{o(e),OAuth2.clearRedirectData("implicit")}},window.open(l.toString())}static authorizeAuthorizationCode({authorizationUrl:e,tokenUrl:t,clientId:r,clientSecret:a,codeVerifier:i,codeChallenge:s,scopes:n,extraParams:o={},extraHeaders:c={},routingBasePath:l,redirectUri:d,successCallback:u,errorCallback:h}){const _=new URL(e),p="/"===l?"":l,f=`${window.location.origin}${p}/oauth2-redirect.html`,w=(0,utils_1.encodeState)({date:(new Date).toString()});_.searchParams.set("client_id",r),_.searchParams.set("redirect_uri",d||f),_.searchParams.set("response_type","code"),_.searchParams.set("state",w),Array.isArray(n)&&_.searchParams.set("scope",n.join(" ")),s&&(_.searchParams.set("code_challenge",s),_.searchParams.set("code_challenge_method","S256"));for(const e in o)_.searchParams.set(e,o[e]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:e,clientId:r,scopes:n},state:w,successCallback:({auth_code:e})=>__awaiter(this,void 0,void 0,(function*(){try{const s=yield fetch(t,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},c),body:qs.stringify(Object.assign(Object.assign(Object.assign({client_id:r,client_secret:a},i&&{code_verifier:i}),{code:e,grant_type:"authorization_code",redirect_uri:d||f}),o))});yield handleResponseCallback(s,u,h)}catch(e){h(e)}OAuth2.clearRedirectData("authorizationCode")})),errorCallback:e=>{h(e),OAuth2.clearRedirectData("authorizationCode")}},window.open(_.toString())}static clearRedirectData(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:()=>{},errorCallback:()=>{}}}static authorizeClientCredentials({tokenUrl:e,clientId:t,clientSecret:r,scopes:a=[],extraParams:i={},extraHeaders:s={},successCallback:n,errorCallback:o}){return __awaiter(this,void 0,void 0,(function*(){try{const c=JSON.parse(JSON.stringify(Object.assign({client_id:t,client_secret:r,grant_type:"client_credentials",scope:Array.isArray(a)&&a.length?a.join(" "):void 0},i))),l=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},s),body:qs.stringify(c)});yield handleResponseCallback(l,n,o)}catch(e){o(e)}}))}}function handleResponseCallback(e,t,r){return __awaiter(this,void 0,void 0,(function*(){if(e.ok){const r=yield e.json();t(r)}else r(new Error((e.headers.get("Content-Type")||"").indexOf("json")>-1?JSON.stringify(yield e.json()):yield e.text()))}))}function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function*(){return(0,utils_1.base64UrlEncode)(yield(0,utils_1.sha256)(e))}))}exports.OAuth2=OAuth2,exports.oauth2Instance=new OAuth2,exports.deriveCodeChallenge=deriveCodeChallenge;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))((function(i,s){function o(e){try{n(r.next(e))}catch(e){s(e)}}function c(e){try{n(r.throw(e))}catch(e){s(e)}}function n(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(o,c)}n((r=r.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.deriveCodeChallenge=exports.oauth2Instance=exports.OAuth2=void 0;const query_string_1=__importDefault(require("query-string")),utils_1=require("./utils"),DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html";class OAuth2{static authorizeImplicit({authorizationUrl:e,clientId:t,scopes:a,extraParams:r={},routingBasePath:i,redirectUri:s,successCallback:o,errorCallback:c}){const n=(0,utils_1.encodeState)({date:(new Date).toString()}),l=new URL(e),d="/"===i?"":i,u=`${window.location.origin}${d}/oauth2-redirect.html`;l.searchParams.set("client_id",t),l.searchParams.set("redirect_uri",s||u),l.searchParams.set("response_type","token"),l.searchParams.set("state",n),Array.isArray(a)&&l.searchParams.set("scope",a.join(" "));for(const e in r)l.searchParams.set(e,r[e]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:e,clientId:t,scopes:a},state:n,successCallback:e=>{o(e),OAuth2.clearRedirectData("implicit")},errorCallback:e=>{c(e),OAuth2.clearRedirectData("implicit")}},window.open(l.toString())}static authorizeAuthorizationCode({authorizationUrl:e,tokenUrl:t,clientId:a,clientSecret:r,codeVerifier:i,codeChallenge:s,scopes:o,extraParams:c={},extraHeaders:n={},routingBasePath:l,redirectUri:d,successCallback:u,errorCallback:h}){const _=new URL(e),p="/"===l?"":l,f=`${window.location.origin}${p}/oauth2-redirect.html`,w=(0,utils_1.encodeState)({date:(new Date).toString()});_.searchParams.set("client_id",a),_.searchParams.set("redirect_uri",d||f),_.searchParams.set("response_type","code"),_.searchParams.set("state",w),Array.isArray(o)&&_.searchParams.set("scope",o.join(" ")),s&&(_.searchParams.set("code_challenge",s),_.searchParams.set("code_challenge_method","S256"));for(const e in c)_.searchParams.set(e,c[e]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:e,clientId:a,scopes:o},state:w,successCallback:({auth_code:e})=>__awaiter(this,void 0,void 0,(function*(){try{const s=yield fetch(t,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},n),body:query_string_1.default.stringify(Object.assign(Object.assign(Object.assign({client_id:a,client_secret:r},i&&{code_verifier:i}),{code:e,grant_type:"authorization_code",redirect_uri:d||f}),c))});yield handleResponseCallback(s,u,h)}catch(e){h(e)}OAuth2.clearRedirectData("authorizationCode")})),errorCallback:e=>{h(e),OAuth2.clearRedirectData("authorizationCode")}},window.open(_.toString())}static clearRedirectData(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:()=>{},errorCallback:()=>{}}}static authorizeClientCredentials({tokenUrl:e,clientId:t,clientSecret:a,scopes:r=[],extraParams:i={},extraHeaders:s={},successCallback:o,errorCallback:c}){return __awaiter(this,void 0,void 0,(function*(){try{const n=JSON.parse(JSON.stringify(Object.assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(r)&&r.length?r.join(" "):void 0},i))),l=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},s),body:query_string_1.default.stringify(n)});yield handleResponseCallback(l,o,c)}catch(e){c(e)}}))}}function handleResponseCallback(e,t,a){return __awaiter(this,void 0,void 0,(function*(){if(e.ok){const a=yield e.json();t(a)}else a(new Error((e.headers.get("Content-Type")||"").indexOf("json")>-1?JSON.stringify(yield e.json()):yield e.text()))}))}function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function*(){return(0,utils_1.base64UrlEncode)(yield(0,utils_1.sha256)(e))}))}exports.OAuth2=OAuth2,exports.oauth2Instance=new OAuth2,exports.deriveCodeChallenge=deriveCodeChallenge;
2
2
  //# sourceMappingURL=OAuth2.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 i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,i)}: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 query_string_1=require("query-string"),Sampler=__importStar(require("openapi-sampler")),deepmerge_1=__importDefault(require("deepmerge")),utils_1=require("../../utils"),utils_2=require("../utils"),constants_1=require("../../constants"),labels_1=require("../labels"),httpsnippet_1=require("./httpsnippet"),string_utility_1=__importDefault(require("./httpsnippet/helpers/string-utility")),mediaContent_1=require("../../models/mediaContent");function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:l={}},{activeServer:o,requestValues:u}){var p,c,d,m;const{securityHeaders:h,securityCookies:f,securityQueries:_,securityOAuth2ExtraCalls:v,basicAuth:y}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r),g=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content),O={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:s},T={path:null==u?void 0:u.path,cookie:null==u?void 0:u.cookie,header:null==u?void 0:u.header,query:null==u?void 0:u.query,body:null==u?void 0:u.body};let b=!1;const S=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=T.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,O,i))}})).map((e=>((null==g?void 0:g.name)&&"content-type"===e.name.toLowerCase()&&(b=!0,e.value=g.name),e))).concat(h);!b&&(null==g?void 0:g.name)&&S.unshift({name:"Content-Type",value:null==g?void 0:g.name});const C=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>(0,query_string_1.parse)((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,O,i))))).reduce(((e,t)=>{var a;for(const[r,i]of Object.entries(t))e.push({name:r,value:String((null===(a=T.cookie)||void 0===a?void 0:a[r])||i)});return e}),[]).concat(f),D=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>(0,query_string_1.parse)((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,O,i))))).reduce(((e,t)=>{var a,r,i;for(const[s,n]of Object.entries(t))e.push({name:s,value:(0,utils_1.isArrayOfObjects)(null===(a=T.query)||void 0===a?void 0:a[s])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(r=T.query)||void 0===r?void 0:r[s]))||String((null===(i=T.query)||void 0===i?void 0:i[s])||n)});return e}),[]).concat(_),E=`${null===(d=o||e.activeServer)||void 0===d?void 0:d.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,q=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:i}=t;return e[i]=(null===(a=T.path)||void 0===a?void 0:a[i])||n[i]||(0,utils_1.getParameterValue)(r,i),e}),{}),j=null===(m=null==g?void 0:g.examples)||void 0===m?void 0:m[t],P=(null==g?void 0:g.examples)||{},[A]=Object.values(P),w=T.body||(null==j?void 0:j.value)||(null==A?void 0:A.value)||(null==g?void 0:g.schema)&&Sampler.sample(null==g?void 0:g.schema.rawSchema,O,i),R=null==g?void 0:g.name.toLowerCase();let k="",M=[];switch((0,utils_2.normalizeMimeType)(R)){case constants_1.MediaTypes.JSON:k=JSON.stringify(getDataRequest(w,l));break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:k=(0,query_string_1.stringify)(getDataRequest(w,l)),M=objectToHarParams(getDataRequest(w,l));break;default:k=String(w||"")}const x=k?{mimeType:(null==g?void 0:g.name)||constants_1.MediaTypes.OCTET_STREAM,text:k,params:M}:void 0,H=e.responses.map((e=>e.code));return{method:e.httpVerb,url:E,httpVersion:"HTTP/1.1",cookies:C,headers:S,queryString:D,postData:x,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:y,pathParameters:q,serverVariables:(null==o?void 0:o.variables)||e.activeServer.variables,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)},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:i,options:s={}}){try{const{skipOptionalParameters:n,withOAuth2Call:l,spec:o,generatedPayloadSamplesMaxDepth:u,store:p}=s,c=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:i,skipOptionalParameters:n,withOAuth2Call:l,spec:o,generatedPayloadSamplesMaxDepth:u},p),d=new httpsnippet_1.HTTPSnippet(c);return langToSnippetConfig[e]?d.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),s)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){var a,r,i,s;const n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const l of(null==e?void 0:e.schemes)||[]){const e=(0,utils_1.getSecurityDetails)(l.id);switch(l.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";l.flows.clientCredentials&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(l.flows.clientCredentials,l.scopes,e)):l.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(l.flows.password,l.scopes,e)),null===(r=n.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===l.in&&(null===(i=n.securityHeaders)||void 0===i||i.push({name:l.name,value:t})),"cookie"===l.in&&n.securityCookies.push({name:l.name,value:t}),"query"===l.in&&n.securityQueries.push({name:l.name,value:t});break}case"http":"basic"===l.scheme?n.basicAuth={username:e.username||`<${string_utility_1.default.toSnakeCase((0,labels_1.l)("tryItAuthBasicUsername"))}>`,password:e.password||`<${string_utility_1.default.toSnakeCase((0,labels_1.l)("tryItAuthBasicPassword"))}>`}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:`${capitalizeFirst(l.scheme||"bearer")} <YOUR_${l.bearerFormat||"TOKEN"}_HERE>`})}}return n}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value: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){const t=[];for(const[a,r]of Object.entries(e))t.push({name:a,value:String(r)});return t}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 i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,i)}: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 query_string_1=__importDefault(require("query-string")),Sampler=__importStar(require("openapi-sampler")),deepmerge_1=__importDefault(require("deepmerge")),utils_1=require("../../utils"),utils_2=require("../utils"),constants_1=require("../../constants"),labels_1=require("../labels"),httpsnippet_1=require("./httpsnippet"),string_utility_1=__importDefault(require("./httpsnippet/helpers/string-utility")),mediaContent_1=require("../../models/mediaContent");function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:l={}},{activeServer:o,requestValues:u}){var p,c,d,m;const{securityHeaders:h,securityCookies:f,securityQueries:_,securityOAuth2ExtraCalls:v,basicAuth:y}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r),g=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content),O={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:s},T={path:null==u?void 0:u.path,cookie:null==u?void 0:u.cookie,header:null==u?void 0:u.header,query:null==u?void 0:u.query,body:null==u?void 0:u.body};let b=!1;const S=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=T.header)||void 0===t?void 0:t[e.name])||(0,utils_1.getParameterValue)("header",e.name)||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,O,i))}})).map((e=>((null==g?void 0:g.name)&&"content-type"===e.name.toLowerCase()&&(b=!0,e.value=g.name),e))).concat(h);!b&&(null==g?void 0:g.name)&&S.unshift({name:"Content-Type",value:null==g?void 0:g.name});const C=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>query_string_1.default.parse((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,O,i))))).reduce(((e,t)=>{var a;for(const[r,i]of Object.entries(t))e.push({name:r,value:String((null===(a=T.cookie)||void 0===a?void 0:a[r])||i)});return e}),[]).concat(f),D=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>query_string_1.default.parse((0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,O,i))))).reduce(((e,t)=>{var a,r,i;for(const[s,n]of Object.entries(t))e.push({name:s,value:(0,utils_1.isArrayOfObjects)(null===(a=T.query)||void 0===a?void 0:a[s])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(r=T.query)||void 0===r?void 0:r[s]))||String((null===(i=T.query)||void 0===i?void 0:i[s])||n)});return e}),[]).concat(_),E=`${null===(d=o||e.activeServer)||void 0===d?void 0:d.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,q=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:i}=t;return e[i]=(null===(a=T.path)||void 0===a?void 0:a[i])||n[i]||(0,utils_1.getParameterValue)(r,i),e}),{}),j=null===(m=null==g?void 0:g.examples)||void 0===m?void 0:m[t],P=(null==g?void 0:g.examples)||{},[A]=Object.values(P),w=T.body||(null==j?void 0:j.value)||(null==A?void 0:A.value)||(null==g?void 0:g.schema)&&Sampler.sample(null==g?void 0:g.schema.rawSchema,O,i),R=null==g?void 0:g.name.toLowerCase();let k="",M=[];switch((0,utils_2.normalizeMimeType)(R)){case constants_1.MediaTypes.JSON:k=JSON.stringify(getDataRequest(w,l));break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:k=query_string_1.default.stringify(getDataRequest(w,l)),M=objectToHarParams(getDataRequest(w,l));break;default:k=String(w||"")}const x=k?{mimeType:(null==g?void 0:g.name)||constants_1.MediaTypes.OCTET_STREAM,text:k,params:M}:void 0,H=e.responses.map((e=>e.code));return{method:e.httpVerb,url:E,httpVersion:"HTTP/1.1",cookies:C,headers:S,queryString:D,postData:x,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:y,pathParameters:q,serverVariables:(null==o?void 0:o.variables)||e.activeServer.variables,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)},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:i,options:s={}}){try{const{skipOptionalParameters:n,withOAuth2Call:l,spec:o,generatedPayloadSamplesMaxDepth:u,store:p}=s,c=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:i,skipOptionalParameters:n,withOAuth2Call:l,spec:o,generatedPayloadSamplesMaxDepth:u},p),d=new httpsnippet_1.HTTPSnippet(c);return langToSnippetConfig[e]?d.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),s)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){var a,r,i,s;const n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const l of(null==e?void 0:e.schemes)||[]){const e=(0,utils_1.getSecurityDetails)(l.id);switch(l.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";l.flows.clientCredentials&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(l.flows.clientCredentials,l.scopes,e)):l.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(l.flows.password,l.scopes,e)),null===(r=n.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===l.in&&(null===(i=n.securityHeaders)||void 0===i||i.push({name:l.name,value:t})),"cookie"===l.in&&n.securityCookies.push({name:l.name,value:t}),"query"===l.in&&n.securityQueries.push({name:l.name,value:t});break}case"http":"basic"===l.scheme?n.basicAuth={username:e.username||`<${string_utility_1.default.toSnakeCase((0,labels_1.l)("tryItAuthBasicUsername"))}>`,password:e.password||`<${string_utility_1.default.toSnakeCase((0,labels_1.l)("tryItAuthBasicPassword"))}>`}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:`${capitalizeFirst(l.scheme||"bearer")} <YOUR_${l.bearerFormat||"TOKEN"}_HERE>`})}}return n}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value: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){const t=[];for(const[a,r]of Object.entries(e))t.push({name:a,value:String(r)});return t}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,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=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,a,s)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=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.HTTPSnippet=void 0;const qs=__importStar(require("query-string")),url=__importStar(require("url")),utils_1=require("../../utils"),constants_1=require("../../../constants"),targets_1=__importDefault(require("./targets")),reducer_1=__importDefault(require("./helpers/reducer"));class HTTPSnippet{constructor(e){Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const t=Object.assign({},e);this.request=this.prepare(Object.assign(Object.assign({},t),{httpVersion:t.httpVersion||"HTTP/1.1",queryString:t.queryString||[],headers:t.headers||[],cookies:t.cookies||[],postData:t.postData?Object.assign(Object.assign({},t.postData),{jsonObj:void 0,paramsObj:void 0}):void 0,bodySize:0,headersSize:0,queryObj:{},headersObj:{},cookiesObj:{},allHeaders:{},uriObj:{},fullUrl:"",pathParameters:t.pathParameters||{},serverVariables:t.serverVariables||{}}))}prepare(e){var t;if(e.queryString&&e.queryString.length&&(e.queryObj=e.queryString.reduce(reducer_1.default,{})),e.headers&&e.headers.length){const t=/^HTTP\/2/;e.headersObj=e.headers.reduce((function(r,a){let s=a.name;return e.httpVersion.match(t)&&(s=s.toLowerCase()),r[s]=a.value,r}),{})}e.cookies&&e.cookies.length&&(e.cookiesObj=e.cookies.reduceRight((function(e,t){return e[t.name]=t.value,e}),{}));const r=e.cookies.map((function(e){return encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)}));if(r.length&&(e.allHeaders.cookie=r.join("; ")),e.postData)switch((0,utils_1.normalizeMimeType)(e.postData.mimeType)){case"multipart/mixed":case"multipart/related":case constants_1.MediaTypes.MULTIPART:case"multipart/alternative":break;case constants_1.MediaTypes.URL_ENCODED:(null===(t=e.postData)||void 0===t?void 0:t.params)?(e.postData.paramsObj=e.postData.params.reduce(reducer_1.default,{}),e.postData.text=qs.stringify(e.postData.paramsObj)):e.postData.text="";break;case"text/json":case"text/x-json":case constants_1.MediaTypes.JSON:case"application/x-json":if(e.postData.text)try{e.postData.jsonObj=JSON.parse(e.postData.text)}catch(t){e.postData.mimeType="text/plain"}}return e.allHeaders=Object.assign(e.allHeaders,e.headersObj),e.uriObj=url.parse(e.url,!0,!0),e.queryObj=Object.assign(e.queryObj,e.uriObj.query),e.uriObj.query=null,e.uriObj.search=null,e.uriObj.path=e.uriObj.pathname=(0,utils_1.unescapeServerVariables)(e.uriObj.pathname),e.url=(0,utils_1.unescapeServerVariables)(url.format(e.uriObj)),e.uriObj.query=e.queryObj,e.uriObj.search=qs.stringify(e.queryObj),e.uriObj.search&&(e.uriObj.path=e.uriObj.pathname+"?"+e.uriObj.search),e.fullUrl=(0,utils_1.unescapeServerVariables)(url.format(e.uriObj)),e}convert(e,t,r){!r&&t&&(r=t);const a=this._matchTarget(e,t);if(a){const s=a(this.request,r,{target:e,client:t});return 1===s.length?s[0]:s}throw new Error("Can not match target")}_matchTarget(e,t){return!!Object.prototype.hasOwnProperty.call(targets_1.default,e)&&("string"==typeof t&&"function"==typeof targets_1.default[e][t]?targets_1.default[e][t]:targets_1.default[e][targets_1.default[e].info.default])}}exports.HTTPSnippet=HTTPSnippet;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=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,a,s)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=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.HTTPSnippet=void 0;const query_string_1=__importDefault(require("query-string")),url=__importStar(require("url")),utils_1=require("../../utils"),constants_1=require("../../../constants"),targets_1=__importDefault(require("./targets")),reducer_1=__importDefault(require("./helpers/reducer"));class HTTPSnippet{constructor(e){Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const t=Object.assign({},e);this.request=this.prepare(Object.assign(Object.assign({},t),{httpVersion:t.httpVersion||"HTTP/1.1",queryString:t.queryString||[],headers:t.headers||[],cookies:t.cookies||[],postData:t.postData?Object.assign(Object.assign({},t.postData),{jsonObj:void 0,paramsObj:void 0}):void 0,bodySize:0,headersSize:0,queryObj:{},headersObj:{},cookiesObj:{},allHeaders:{},uriObj:{},fullUrl:"",pathParameters:t.pathParameters||{},serverVariables:t.serverVariables||{}}))}prepare(e){var t;if(e.queryString&&e.queryString.length&&(e.queryObj=e.queryString.reduce(reducer_1.default,{})),e.headers&&e.headers.length){const t=/^HTTP\/2/;e.headersObj=e.headers.reduce((function(r,a){let s=a.name;return e.httpVersion.match(t)&&(s=s.toLowerCase()),r[s]=a.value,r}),{})}e.cookies&&e.cookies.length&&(e.cookiesObj=e.cookies.reduceRight((function(e,t){return e[t.name]=t.value,e}),{}));const r=e.cookies.map((function(e){return encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)}));if(r.length&&(e.allHeaders.cookie=r.join("; ")),e.postData)switch((0,utils_1.normalizeMimeType)(e.postData.mimeType)){case"multipart/mixed":case"multipart/related":case constants_1.MediaTypes.MULTIPART:case"multipart/alternative":break;case constants_1.MediaTypes.URL_ENCODED:(null===(t=e.postData)||void 0===t?void 0:t.params)?(e.postData.paramsObj=e.postData.params.reduce(reducer_1.default,{}),e.postData.text=query_string_1.default.stringify(e.postData.paramsObj)):e.postData.text="";break;case"text/json":case"text/x-json":case constants_1.MediaTypes.JSON:case"application/x-json":if(e.postData.text)try{e.postData.jsonObj=JSON.parse(e.postData.text)}catch(t){e.postData.mimeType="text/plain"}}return e.allHeaders=Object.assign(e.allHeaders,e.headersObj),e.uriObj=url.parse(e.url,!0,!0),e.queryObj=Object.assign(e.queryObj,e.uriObj.query),e.uriObj.query=null,e.uriObj.search=null,e.uriObj.path=e.uriObj.pathname=(0,utils_1.unescapeServerVariables)(e.uriObj.pathname),e.url=(0,utils_1.unescapeServerVariables)(url.format(e.uriObj)),e.uriObj.query=e.queryObj,e.uriObj.search=query_string_1.default.stringify(e.queryObj),e.uriObj.search&&(e.uriObj.path=e.uriObj.pathname+"?"+e.uriObj.search),e.fullUrl=(0,utils_1.unescapeServerVariables)(url.format(e.uriObj)),e}convert(e,t,r){!r&&t&&(r=t);const a=this._matchTarget(e,t);if(a){const s=a(this.request,r,{target:e,client:t});return 1===s.length?s[0]:s}throw new Error("Can not match target")}_matchTarget(e,t){return!!Object.prototype.hasOwnProperty.call(targets_1.default,e)&&("string"==typeof t&&"function"==typeof targets_1.default[e][t]?targets_1.default[e][t]:targets_1.default[e][targets_1.default[e].info.default])}}exports.HTTPSnippet=HTTPSnippet;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.joinWithSeparator=exports.constructFieldDeepFragment=exports.isSameHash=void 0;const query_string_1=require("query-string"),mediaContent_1=require("../../models/mediaContent");function isSameHash(e,t){return e===t||"#"+e===t||e==="#"+t}function getContentTypeName(e){var t,o,n,i,d,s,r,p,a,l,u,v,c;if(!e.in)return"request"===e.deps.type&&(null===(n=null===(o=null===(t=e.deps.operation)||void 0===t?void 0:t.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.mediaTypes)?(null===(s=null===(d=null===(i=e.deps.operation)||void 0===i?void 0:i.requestBody)||void 0===d?void 0:d.content)||void 0===s?void 0:s.mediaTypes.length)>1?(null===(p=null===(r=e.deps.operation)||void 0===r?void 0:r.requestBody)||void 0===p?void 0:p.content)&&(0,mediaContent_1.getActiveMediaType)(e.deps.operation.requestBody.content).name:void 0:"response"===e.deps.type&&(null===(l=null===(a=e.deps.response)||void 0===a?void 0:a.content)||void 0===l?void 0:l.mediaTypes)&&(null===(v=null===(u=e.deps.response)||void 0===u?void 0:u.content)||void 0===v?void 0:v.mediaTypes.length)>1?(null===(c=e.deps.response)||void 0===c?void 0:c.content)&&(0,mediaContent_1.getActiveMediaType)(e.deps.response.content).name:void 0}function constructFieldDeepFragment(e){var t,o;if(!e)return"";const n={t:e.deps.type,in:e.in||e.deps.in,c:"response"===e.deps.type?null===(t=e.deps.response)||void 0===t?void 0:t.code:void 0,cb:(null===(o=e.deps.operation)||void 0===o?void 0:o.isCallback)?e.deps.operation.callbackId:void 0,ct:getContentTypeName(e),path:e.fieldFullPath};return(0,query_string_1.stringify)(n,{encode:!1,sort:!1})}function joinWithSeparator(e="",t="",o="/"){return e.endsWith(o)&&(e=e.slice(0,-o.length)),t.startsWith(o)&&(t=t.slice(o.length)),e&&t?e+o+t:e+t}exports.isSameHash=isSameHash,exports.constructFieldDeepFragment=constructFieldDeepFragment,exports.joinWithSeparator=joinWithSeparator;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.joinWithSeparator=exports.constructFieldDeepFragment=exports.isSameHash=void 0;const query_string_1=__importDefault(require("query-string")),mediaContent_1=require("../../models/mediaContent");function isSameHash(e,t){return e===t||"#"+e===t||e==="#"+t}function getContentTypeName(e){var t,o,n,i,d,s,r,p,a,l,u,v,c;if(!e.in)return"request"===e.deps.type&&(null===(n=null===(o=null===(t=e.deps.operation)||void 0===t?void 0:t.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.mediaTypes)?(null===(s=null===(d=null===(i=e.deps.operation)||void 0===i?void 0:i.requestBody)||void 0===d?void 0:d.content)||void 0===s?void 0:s.mediaTypes.length)>1?(null===(p=null===(r=e.deps.operation)||void 0===r?void 0:r.requestBody)||void 0===p?void 0:p.content)&&(0,mediaContent_1.getActiveMediaType)(e.deps.operation.requestBody.content).name:void 0:"response"===e.deps.type&&(null===(l=null===(a=e.deps.response)||void 0===a?void 0:a.content)||void 0===l?void 0:l.mediaTypes)&&(null===(v=null===(u=e.deps.response)||void 0===u?void 0:u.content)||void 0===v?void 0:v.mediaTypes.length)>1?(null===(c=e.deps.response)||void 0===c?void 0:c.content)&&(0,mediaContent_1.getActiveMediaType)(e.deps.response.content).name:void 0}function constructFieldDeepFragment(e){var t,o;if(!e)return"";const n={t:e.deps.type,in:e.in||e.deps.in,c:"response"===e.deps.type?null===(t=e.deps.response)||void 0===t?void 0:t.code:void 0,cb:(null===(o=e.deps.operation)||void 0===o?void 0:o.isCallback)?e.deps.operation.callbackId:void 0,ct:getContentTypeName(e),path:e.fieldFullPath};return query_string_1.default.stringify(n,{encode:!1,sort:!1})}function joinWithSeparator(e="",t="",o="/"){return e.endsWith(o)&&(e=e.slice(0,-o.length)),t.startsWith(o)&&(t=t.slice(o.length)),e&&t?e+o+t:e+t}exports.isSameHash=isSameHash,exports.constructFieldDeepFragment=constructFieldDeepFragment,exports.joinWithSeparator=joinWithSeparator;
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))((function(i,s){function c(e){try{n(r.next(e))}catch(e){s(e)}}function o(e){try{n(r.throw(e))}catch(e){s(e)}}function n(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(c,o)}n((r=r.apply(e,t||[])).next())}))};import*as qs from"query-string";import{base64UrlEncode,encodeState,sha256}from"./utils";const DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html";export class OAuth2{static authorizeImplicit({authorizationUrl:e,clientId:t,scopes:a,extraParams:r={},routingBasePath:i,redirectUri:s,successCallback:c,errorCallback:o}){const n=encodeState({date:(new Date).toString()}),l=new URL(e),d="/"===i?"":i,h=`${window.location.origin}${d}/oauth2-redirect.html`;l.searchParams.set("client_id",t),l.searchParams.set("redirect_uri",s||h),l.searchParams.set("response_type","token"),l.searchParams.set("state",n),Array.isArray(a)&&l.searchParams.set("scope",a.join(" "));for(const e in r)l.searchParams.set(e,r[e]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:e,clientId:t,scopes:a},state:n,successCallback:e=>{c(e),OAuth2.clearRedirectData("implicit")},errorCallback:e=>{o(e),OAuth2.clearRedirectData("implicit")}},window.open(l.toString())}static authorizeAuthorizationCode({authorizationUrl:e,tokenUrl:t,clientId:a,clientSecret:r,codeVerifier:i,codeChallenge:s,scopes:c,extraParams:o={},extraHeaders:n={},routingBasePath:l,redirectUri:d,successCallback:h,errorCallback:u}){const p=new URL(e),w="/"===l?"":l,_=`${window.location.origin}${w}/oauth2-redirect.html`,m=encodeState({date:(new Date).toString()});p.searchParams.set("client_id",a),p.searchParams.set("redirect_uri",d||_),p.searchParams.set("response_type","code"),p.searchParams.set("state",m),Array.isArray(c)&&p.searchParams.set("scope",c.join(" ")),s&&(p.searchParams.set("code_challenge",s),p.searchParams.set("code_challenge_method","S256"));for(const e in o)p.searchParams.set(e,o[e]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:e,clientId:a,scopes:c},state:m,successCallback:({auth_code:e})=>__awaiter(this,void 0,void 0,(function*(){try{const s=yield fetch(t,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},n),body:qs.stringify(Object.assign(Object.assign(Object.assign({client_id:a,client_secret:r},i&&{code_verifier:i}),{code:e,grant_type:"authorization_code",redirect_uri:d||_}),o))});yield handleResponseCallback(s,h,u)}catch(e){u(e)}OAuth2.clearRedirectData("authorizationCode")})),errorCallback:e=>{u(e),OAuth2.clearRedirectData("authorizationCode")}},window.open(p.toString())}static clearRedirectData(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:()=>{},errorCallback:()=>{}}}static authorizeClientCredentials({tokenUrl:e,clientId:t,clientSecret:a,scopes:r=[],extraParams:i={},extraHeaders:s={},successCallback:c,errorCallback:o}){return __awaiter(this,void 0,void 0,(function*(){try{const n=JSON.parse(JSON.stringify(Object.assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(r)&&r.length?r.join(" "):void 0},i))),l=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},s),body:qs.stringify(n)});yield handleResponseCallback(l,c,o)}catch(e){o(e)}}))}}export const oauth2Instance=new OAuth2;function handleResponseCallback(e,t,a){return __awaiter(this,void 0,void 0,(function*(){if(e.ok){const a=yield e.json();t(a)}else a(new Error((e.headers.get("Content-Type")||"").indexOf("json")>-1?JSON.stringify(yield e.json()):yield e.text()))}))}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function*(){return base64UrlEncode(yield sha256(e))}))}
1
+ var __awaiter=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))((function(i,c){function s(e){try{n(r.next(e))}catch(e){c(e)}}function o(e){try{n(r.throw(e))}catch(e){c(e)}}function n(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(s,o)}n((r=r.apply(e,t||[])).next())}))};import qs from"query-string";import{base64UrlEncode,encodeState,sha256}from"./utils";const DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html";export class OAuth2{static authorizeImplicit({authorizationUrl:e,clientId:t,scopes:a,extraParams:r={},routingBasePath:i,redirectUri:c,successCallback:s,errorCallback:o}){const n=encodeState({date:(new Date).toString()}),l=new URL(e),d="/"===i?"":i,h=`${window.location.origin}${d}/oauth2-redirect.html`;l.searchParams.set("client_id",t),l.searchParams.set("redirect_uri",c||h),l.searchParams.set("response_type","token"),l.searchParams.set("state",n),Array.isArray(a)&&l.searchParams.set("scope",a.join(" "));for(const e in r)l.searchParams.set(e,r[e]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:e,clientId:t,scopes:a},state:n,successCallback:e=>{s(e),OAuth2.clearRedirectData("implicit")},errorCallback:e=>{o(e),OAuth2.clearRedirectData("implicit")}},window.open(l.toString())}static authorizeAuthorizationCode({authorizationUrl:e,tokenUrl:t,clientId:a,clientSecret:r,codeVerifier:i,codeChallenge:c,scopes:s,extraParams:o={},extraHeaders:n={},routingBasePath:l,redirectUri:d,successCallback:h,errorCallback:u}){const p=new URL(e),w="/"===l?"":l,_=`${window.location.origin}${w}/oauth2-redirect.html`,m=encodeState({date:(new Date).toString()});p.searchParams.set("client_id",a),p.searchParams.set("redirect_uri",d||_),p.searchParams.set("response_type","code"),p.searchParams.set("state",m),Array.isArray(s)&&p.searchParams.set("scope",s.join(" ")),c&&(p.searchParams.set("code_challenge",c),p.searchParams.set("code_challenge_method","S256"));for(const e in o)p.searchParams.set(e,o[e]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:e,clientId:a,scopes:s},state:m,successCallback:({auth_code:e})=>__awaiter(this,void 0,void 0,(function*(){try{const c=yield fetch(t,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},n),body:qs.stringify(Object.assign(Object.assign(Object.assign({client_id:a,client_secret:r},i&&{code_verifier:i}),{code:e,grant_type:"authorization_code",redirect_uri:d||_}),o))});yield handleResponseCallback(c,h,u)}catch(e){u(e)}OAuth2.clearRedirectData("authorizationCode")})),errorCallback:e=>{u(e),OAuth2.clearRedirectData("authorizationCode")}},window.open(p.toString())}static clearRedirectData(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:()=>{},errorCallback:()=>{}}}static authorizeClientCredentials({tokenUrl:e,clientId:t,clientSecret:a,scopes:r=[],extraParams:i={},extraHeaders:c={},successCallback:s,errorCallback:o}){return __awaiter(this,void 0,void 0,(function*(){try{const n=JSON.parse(JSON.stringify(Object.assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(r)&&r.length?r.join(" "):void 0},i))),l=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},c),body:qs.stringify(n)});yield handleResponseCallback(l,s,o)}catch(e){o(e)}}))}}export const oauth2Instance=new OAuth2;function handleResponseCallback(e,t,a){return __awaiter(this,void 0,void 0,(function*(){if(e.ok){const a=yield e.json();t(a)}else a(new Error((e.headers.get("Content-Type")||"").indexOf("json")>-1?JSON.stringify(yield e.json()):yield e.text()))}))}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function*(){return base64UrlEncode(yield sha256(e))}))}
2
2
  //# sourceMappingURL=OAuth2.js.map
@@ -1,2 +1,2 @@
1
- import{parse as parseQueryString,stringify as stringifyQueryString}from"query-string";import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{deleteEmptyArrayItem,isArrayOfObjects,serializeParameterValue,getSecurityDetails,getParameterValue}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{l}from"../labels";import{HTTPSnippet}from"./httpsnippet";import StringUtility from"./httpsnippet/helpers/string-utility";import{getActiveMediaType}from"../../models/mediaContent";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:o={}},{activeServer:l,requestValues:u}){var p,c,d,m;const{securityHeaders:h,securityCookies:y,securityQueries:g,securityOAuth2ExtraCalls:v,basicAuth:f}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r),O=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&getActiveMediaType(e.requestBody.content),T={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:s},S={path:null==u?void 0:u.path,cookie:null==u?void 0:u.cookie,header:null==u?void 0:u.header,query:null==u?void 0:u.query,body:null==u?void 0:u.body};let 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])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))}})).map((e=>((null==O?void 0:O.name)&&"content-type"===e.name.toLowerCase()&&(C=!0,e.value=O.name),e))).concat(h);!C&&(null==O?void 0:O.name)&&b.unshift({name:"Content-Type",value:null==O?void 0:O.name});const E=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))))).reduce(((e,t)=>{var a;for(const[r,i]of Object.entries(t))e.push({name:r,value:String((null===(a=S.cookie)||void 0===a?void 0:a[r])||i)});return e}),[]).concat(y),A=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))))).reduce(((e,t)=>{var a,r,i;for(const[s,n]of Object.entries(t))e.push({name:s,value:isArrayOfObjects(null===(a=S.query)||void 0===a?void 0:a[s])&&JSON.stringify(deleteEmptyArrayItem(null===(r=S.query)||void 0===r?void 0:r[s]))||String((null===(i=S.query)||void 0===i?void 0:i[s])||n)});return e}),[]).concat(g),_=`${null===(d=l||e.activeServer)||void 0===d?void 0:d.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,P=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:i}=t;return e[i]=(null===(a=S.path)||void 0===a?void 0:a[i])||n[i]||getParameterValue(r,i),e}),{}),R=null===(m=null==O?void 0:O.examples)||void 0===m?void 0:m[t],w=(null==O?void 0:O.examples)||{},[D]=Object.values(w),j=S.body||(null==R?void 0:R.value)||(null==D?void 0:D.value)||(null==O?void 0:O.schema)&&Sampler.sample(null==O?void 0:O.schema.rawSchema,T,i),k=null==O?void 0:O.name.toLowerCase();let M="",H=[];switch(normalizeMimeType(k)){case MediaTypes.JSON:M=JSON.stringify(getDataRequest(j,o));break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:M=stringifyQueryString(getDataRequest(j,o)),H=objectToHarParams(getDataRequest(j,o));break;default:M=String(j||"")}const q=M?{mimeType:(null==O?void 0:O.name)||MediaTypes.OCTET_STREAM,text:M,params:H}:void 0,N=e.responses.map((e=>e.code));return{method:e.httpVerb,url:_,httpVersion:"HTTP/1.1",cookies:E,headers:b,queryString:A,postData:q,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:f,pathParameters:P,serverVariables:(null==l?void 0:l.variables)||e.activeServer.variables,allResponseCodes:N}}const defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:Object.assign(Object.assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:Object.assign(Object.assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:Object.assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:Object.assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:Object.assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:Object.assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:Object.assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:Object.assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:Object.assign({},defaultOptions)}};export function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:r,properties:i,options:s={}}){try{const{skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u,store:p}=s,c=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:i,skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u},p),d=new HTTPSnippet(c);return langToSnippetConfig[e]?d.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),s)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){var a,r,i,s;const n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const o of(null==e?void 0:e.schemes)||[]){const e=getSecurityDetails(o.id);switch(o.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";o.flows.clientCredentials&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(o.flows.clientCredentials,o.scopes,e)):o.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(o.flows.password,o.scopes,e)),null===(r=n.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===o.in&&(null===(i=n.securityHeaders)||void 0===i||i.push({name:o.name,value:t})),"cookie"===o.in&&n.securityCookies.push({name:o.name,value:t}),"query"===o.in&&n.securityQueries.push({name:o.name,value:t});break}case"http":"basic"===o.scheme?n.basicAuth={username:e.username||`<${StringUtility.toSnakeCase(l("tryItAuthBasicUsername"))}>`,password:e.password||`<${StringUtility.toSnakeCase(l("tryItAuthBasicPassword"))}>`}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:`${capitalizeFirst(o.scheme||"bearer")} <YOUR_${o.bearerFormat||"TOKEN"}_HERE>`})}}return n}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if("object"==typeof e)return merge(e,t,{arrayMerge:arrayMergeStrategy});try{return merge(JSON.parse(e),t,{arrayMerge:arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e){const t=[];for(const[a,r]of Object.entries(e))t.push({name:a,value:String(r)});return t}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
1
+ import qs from"query-string";import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{deleteEmptyArrayItem,isArrayOfObjects,serializeParameterValue,getSecurityDetails,getParameterValue}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{l}from"../labels";import{HTTPSnippet}from"./httpsnippet";import StringUtility from"./httpsnippet/helpers/string-utility";import{getActiveMediaType}from"../../models/mediaContent";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:o={}},{activeServer:l,requestValues:u}){var p,c,d,m;const{securityHeaders:h,securityCookies:y,securityQueries:v,securityOAuth2ExtraCalls:f,basicAuth:g}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r),O=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&getActiveMediaType(e.requestBody.content),T={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:s},S={path:null==u?void 0:u.path,cookie:null==u?void 0:u.cookie,header:null==u?void 0:u.header,query:null==u?void 0:u.query,body:null==u?void 0:u.body};let 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])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))}})).map((e=>((null==O?void 0:O.name)&&"content-type"===e.name.toLowerCase()&&(C=!0,e.value=O.name),e))).concat(h);!C&&(null==O?void 0:O.name)&&b.unshift({name:"Content-Type",value:null==O?void 0:O.name});const E=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>qs.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))))).reduce(((e,t)=>{var a;for(const[r,i]of Object.entries(t))e.push({name:r,value:String((null===(a=S.cookie)||void 0===a?void 0:a[r])||i)});return e}),[]).concat(y),A=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>qs.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))))).reduce(((e,t)=>{var a,r,i;for(const[s,n]of Object.entries(t))e.push({name:s,value:isArrayOfObjects(null===(a=S.query)||void 0===a?void 0:a[s])&&JSON.stringify(deleteEmptyArrayItem(null===(r=S.query)||void 0===r?void 0:r[s]))||String((null===(i=S.query)||void 0===i?void 0:i[s])||n)});return e}),[]).concat(v),_=`${null===(d=l||e.activeServer)||void 0===d?void 0:d.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,P=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:i}=t;return e[i]=(null===(a=S.path)||void 0===a?void 0:a[i])||n[i]||getParameterValue(r,i),e}),{}),R=null===(m=null==O?void 0:O.examples)||void 0===m?void 0:m[t],w=(null==O?void 0:O.examples)||{},[D]=Object.values(w),j=S.body||(null==R?void 0:R.value)||(null==D?void 0:D.value)||(null==O?void 0:O.schema)&&Sampler.sample(null==O?void 0:O.schema.rawSchema,T,i),k=null==O?void 0:O.name.toLowerCase();let q="",M=[];switch(normalizeMimeType(k)){case MediaTypes.JSON:q=JSON.stringify(getDataRequest(j,o));break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:q=qs.stringify(getDataRequest(j,o)),M=objectToHarParams(getDataRequest(j,o));break;default:q=String(j||"")}const H=q?{mimeType:(null==O?void 0:O.name)||MediaTypes.OCTET_STREAM,text:q,params:M}:void 0,N=e.responses.map((e=>e.code));return{method:e.httpVerb,url:_,httpVersion:"HTTP/1.1",cookies:E,headers:b,queryString:A,postData:H,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:f,basicAuth:g,pathParameters:P,serverVariables:(null==l?void 0:l.variables)||e.activeServer.variables,allResponseCodes:N}}const defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:Object.assign(Object.assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:Object.assign(Object.assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:Object.assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:Object.assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:Object.assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:Object.assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:Object.assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:Object.assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:Object.assign({},defaultOptions)}};export function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:r,properties:i,options:s={}}){try{const{skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u,store:p}=s,c=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:i,skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u},p),d=new HTTPSnippet(c);return langToSnippetConfig[e]?d.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),s)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){var a,r,i,s;const n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const o of(null==e?void 0:e.schemes)||[]){const e=getSecurityDetails(o.id);switch(o.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";o.flows.clientCredentials&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(o.flows.clientCredentials,o.scopes,e)):o.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(o.flows.password,o.scopes,e)),null===(r=n.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===o.in&&(null===(i=n.securityHeaders)||void 0===i||i.push({name:o.name,value:t})),"cookie"===o.in&&n.securityCookies.push({name:o.name,value:t}),"query"===o.in&&n.securityQueries.push({name:o.name,value:t});break}case"http":"basic"===o.scheme?n.basicAuth={username:e.username||`<${StringUtility.toSnakeCase(l("tryItAuthBasicUsername"))}>`,password:e.password||`<${StringUtility.toSnakeCase(l("tryItAuthBasicPassword"))}>`}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:`${capitalizeFirst(o.scheme||"bearer")} <YOUR_${o.bearerFormat||"TOKEN"}_HERE>`})}}return n}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if("object"==typeof e)return merge(e,t,{arrayMerge:arrayMergeStrategy});try{return merge(JSON.parse(e),t,{arrayMerge:arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e){const t=[];for(const[a,r]of Object.entries(e))t.push({name:a,value:String(r)});return t}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
2
2
  //# sourceMappingURL=generator.js.map
@@ -1,2 +1,2 @@
1
- import*as qs from"query-string";import*as url from"url";import{normalizeMimeType,unescapeServerVariables}from"../../utils";import{MediaTypes}from"../../../constants";import targets from"./targets";import reducer from"./helpers/reducer";export class HTTPSnippet{constructor(e){Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const r=Object.assign({},e);this.request=this.prepare(Object.assign(Object.assign({},r),{httpVersion:r.httpVersion||"HTTP/1.1",queryString:r.queryString||[],headers:r.headers||[],cookies:r.cookies||[],postData:r.postData?Object.assign(Object.assign({},r.postData),{jsonObj:void 0,paramsObj:void 0}):void 0,bodySize:0,headersSize:0,queryObj:{},headersObj:{},cookiesObj:{},allHeaders:{},uriObj:{},fullUrl:"",pathParameters:r.pathParameters||{},serverVariables:r.serverVariables||{}}))}prepare(e){var r;if(e.queryString&&e.queryString.length&&(e.queryObj=e.queryString.reduce(reducer,{})),e.headers&&e.headers.length){const r=/^HTTP\/2/;e.headersObj=e.headers.reduce((function(t,a){let s=a.name;return e.httpVersion.match(r)&&(s=s.toLowerCase()),t[s]=a.value,t}),{})}e.cookies&&e.cookies.length&&(e.cookiesObj=e.cookies.reduceRight((function(e,r){return e[r.name]=r.value,e}),{}));const t=e.cookies.map((function(e){return encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)}));if(t.length&&(e.allHeaders.cookie=t.join("; ")),e.postData)switch(normalizeMimeType(e.postData.mimeType)){case"multipart/mixed":case"multipart/related":case MediaTypes.MULTIPART:case"multipart/alternative":break;case MediaTypes.URL_ENCODED:(null===(r=e.postData)||void 0===r?void 0:r.params)?(e.postData.paramsObj=e.postData.params.reduce(reducer,{}),e.postData.text=qs.stringify(e.postData.paramsObj)):e.postData.text="";break;case"text/json":case"text/x-json":case MediaTypes.JSON:case"application/x-json":if(e.postData.text)try{e.postData.jsonObj=JSON.parse(e.postData.text)}catch(r){e.postData.mimeType="text/plain"}}return e.allHeaders=Object.assign(e.allHeaders,e.headersObj),e.uriObj=url.parse(e.url,!0,!0),e.queryObj=Object.assign(e.queryObj,e.uriObj.query),e.uriObj.query=null,e.uriObj.search=null,e.uriObj.path=e.uriObj.pathname=unescapeServerVariables(e.uriObj.pathname),e.url=unescapeServerVariables(url.format(e.uriObj)),e.uriObj.query=e.queryObj,e.uriObj.search=qs.stringify(e.queryObj),e.uriObj.search&&(e.uriObj.path=e.uriObj.pathname+"?"+e.uriObj.search),e.fullUrl=unescapeServerVariables(url.format(e.uriObj)),e}convert(e,r,t){!t&&r&&(t=r);const a=this._matchTarget(e,r);if(a){const s=a(this.request,t,{target:e,client:r});return 1===s.length?s[0]:s}throw new Error("Can not match target")}_matchTarget(e,r){return!!Object.prototype.hasOwnProperty.call(targets,e)&&("string"==typeof r&&"function"==typeof targets[e][r]?targets[e][r]:targets[e][targets[e].info.default])}}
1
+ import qs from"query-string";import*as url from"url";import{normalizeMimeType,unescapeServerVariables}from"../../utils";import{MediaTypes}from"../../../constants";import targets from"./targets";import reducer from"./helpers/reducer";export class HTTPSnippet{constructor(e){Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const r=Object.assign({},e);this.request=this.prepare(Object.assign(Object.assign({},r),{httpVersion:r.httpVersion||"HTTP/1.1",queryString:r.queryString||[],headers:r.headers||[],cookies:r.cookies||[],postData:r.postData?Object.assign(Object.assign({},r.postData),{jsonObj:void 0,paramsObj:void 0}):void 0,bodySize:0,headersSize:0,queryObj:{},headersObj:{},cookiesObj:{},allHeaders:{},uriObj:{},fullUrl:"",pathParameters:r.pathParameters||{},serverVariables:r.serverVariables||{}}))}prepare(e){var r;if(e.queryString&&e.queryString.length&&(e.queryObj=e.queryString.reduce(reducer,{})),e.headers&&e.headers.length){const r=/^HTTP\/2/;e.headersObj=e.headers.reduce((function(t,a){let s=a.name;return e.httpVersion.match(r)&&(s=s.toLowerCase()),t[s]=a.value,t}),{})}e.cookies&&e.cookies.length&&(e.cookiesObj=e.cookies.reduceRight((function(e,r){return e[r.name]=r.value,e}),{}));const t=e.cookies.map((function(e){return encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)}));if(t.length&&(e.allHeaders.cookie=t.join("; ")),e.postData)switch(normalizeMimeType(e.postData.mimeType)){case"multipart/mixed":case"multipart/related":case MediaTypes.MULTIPART:case"multipart/alternative":break;case MediaTypes.URL_ENCODED:(null===(r=e.postData)||void 0===r?void 0:r.params)?(e.postData.paramsObj=e.postData.params.reduce(reducer,{}),e.postData.text=qs.stringify(e.postData.paramsObj)):e.postData.text="";break;case"text/json":case"text/x-json":case MediaTypes.JSON:case"application/x-json":if(e.postData.text)try{e.postData.jsonObj=JSON.parse(e.postData.text)}catch(r){e.postData.mimeType="text/plain"}}return e.allHeaders=Object.assign(e.allHeaders,e.headersObj),e.uriObj=url.parse(e.url,!0,!0),e.queryObj=Object.assign(e.queryObj,e.uriObj.query),e.uriObj.query=null,e.uriObj.search=null,e.uriObj.path=e.uriObj.pathname=unescapeServerVariables(e.uriObj.pathname),e.url=unescapeServerVariables(url.format(e.uriObj)),e.uriObj.query=e.queryObj,e.uriObj.search=qs.stringify(e.queryObj),e.uriObj.search&&(e.uriObj.path=e.uriObj.pathname+"?"+e.uriObj.search),e.fullUrl=unescapeServerVariables(url.format(e.uriObj)),e}convert(e,r,t){!t&&r&&(t=r);const a=this._matchTarget(e,r);if(a){const s=a(this.request,t,{target:e,client:r});return 1===s.length?s[0]:s}throw new Error("Can not match target")}_matchTarget(e,r){return!!Object.prototype.hasOwnProperty.call(targets,e)&&("string"==typeof r&&"function"==typeof targets[e][r]?targets[e][r]:targets[e][targets[e].info.default])}}
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{stringify as stringifyQueryString}from"query-string";import{getActiveMediaType}from"../../models/mediaContent";export function isSameHash(e,o){return e===o||"#"+e===o||e==="#"+o}function getContentTypeName(e){var o,n,t,i,d,s,r,p,l,v,u,a,c;if(!e.in)return"request"===e.deps.type&&(null===(t=null===(n=null===(o=e.deps.operation)||void 0===o?void 0:o.requestBody)||void 0===n?void 0:n.content)||void 0===t?void 0:t.mediaTypes)?(null===(s=null===(d=null===(i=e.deps.operation)||void 0===i?void 0:i.requestBody)||void 0===d?void 0:d.content)||void 0===s?void 0:s.mediaTypes.length)>1?(null===(p=null===(r=e.deps.operation)||void 0===r?void 0:r.requestBody)||void 0===p?void 0:p.content)&&getActiveMediaType(e.deps.operation.requestBody.content).name:void 0:"response"===e.deps.type&&(null===(v=null===(l=e.deps.response)||void 0===l?void 0:l.content)||void 0===v?void 0:v.mediaTypes)&&(null===(a=null===(u=e.deps.response)||void 0===u?void 0:u.content)||void 0===a?void 0:a.mediaTypes.length)>1?(null===(c=e.deps.response)||void 0===c?void 0:c.content)&&getActiveMediaType(e.deps.response.content).name:void 0}export function constructFieldDeepFragment(e){var o,n;if(!e)return"";const t={t:e.deps.type,in:e.in||e.deps.in,c:"response"===e.deps.type?null===(o=e.deps.response)||void 0===o?void 0:o.code:void 0,cb:(null===(n=e.deps.operation)||void 0===n?void 0:n.isCallback)?e.deps.operation.callbackId:void 0,ct:getContentTypeName(e),path:e.fieldFullPath};return stringifyQueryString(t,{encode:!1,sort:!1})}export function joinWithSeparator(e="",o="",n="/"){return e.endsWith(n)&&(e=e.slice(0,-n.length)),o.startsWith(n)&&(o=o.slice(n.length)),e&&o?e+n+o:e+o}
1
+ import qs from"query-string";import{getActiveMediaType}from"../../models/mediaContent";export function isSameHash(e,o){return e===o||"#"+e===o||e==="#"+o}function getContentTypeName(e){var o,n,t,i,d,s,p,r,l,v,a,u,c;if(!e.in)return"request"===e.deps.type&&(null===(t=null===(n=null===(o=e.deps.operation)||void 0===o?void 0:o.requestBody)||void 0===n?void 0:n.content)||void 0===t?void 0:t.mediaTypes)?(null===(s=null===(d=null===(i=e.deps.operation)||void 0===i?void 0:i.requestBody)||void 0===d?void 0:d.content)||void 0===s?void 0:s.mediaTypes.length)>1?(null===(r=null===(p=e.deps.operation)||void 0===p?void 0:p.requestBody)||void 0===r?void 0:r.content)&&getActiveMediaType(e.deps.operation.requestBody.content).name:void 0:"response"===e.deps.type&&(null===(v=null===(l=e.deps.response)||void 0===l?void 0:l.content)||void 0===v?void 0:v.mediaTypes)&&(null===(u=null===(a=e.deps.response)||void 0===a?void 0:a.content)||void 0===u?void 0:u.mediaTypes.length)>1?(null===(c=e.deps.response)||void 0===c?void 0:c.content)&&getActiveMediaType(e.deps.response.content).name:void 0}export function constructFieldDeepFragment(e){var o,n;if(!e)return"";const t={t:e.deps.type,in:e.in||e.deps.in,c:"response"===e.deps.type?null===(o=e.deps.response)||void 0===o?void 0:o.code:void 0,cb:(null===(n=e.deps.operation)||void 0===n?void 0:n.isCallback)?e.deps.operation.callbackId:void 0,ct:getContentTypeName(e),path:e.fieldFullPath};return qs.stringify(t,{encode:!1,sort:!1})}export function joinWithSeparator(e="",o="",n="/"){return e.endsWith(n)&&(e=e.slice(0,-n.length)),o.startsWith(n)&&(o=o.slice(n.length)),e&&o?e+n+o:e+o}
2
2
  //# sourceMappingURL=helpers.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.0.0-alpha.57",
3
+ "version": "3.0.0-alpha.58",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -44,13 +44,12 @@
44
44
  "path-browserify": "^1.0.1",
45
45
  "perfect-scrollbar": "^1.5.5",
46
46
  "prismjs": "^1.22.0",
47
- "query-string": "^6.13.6",
47
+ "query-string": "^8.1.0",
48
48
  "react-codemirror2-react-17": "1.0.0",
49
49
  "react-router-dom": "^6.10.0",
50
50
  "react-tabs": "^3.1.1",
51
51
  "recoil": "^0.7.6",
52
52
  "recoil-nexus": "^0.4.0",
53
- "serve-static": "^1.14.1",
54
53
  "slugify": "^1.4.4",
55
54
  "stickyfill": "^1.1.1",
56
55
  "stringify-object": "^3.3.0",
@@ -117,7 +116,7 @@
117
116
  "webpack-cli": "^5.1.4",
118
117
  "webpack-dev-server": "^4.15.1",
119
118
  "workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
120
- "@redocly/theme": "0.18.4"
119
+ "@redocly/theme": "0.18.6"
121
120
  },
122
121
  "scripts": {
123
122
  "start": "webpack serve --mode=development --hot",