@redocly/openapi-docs 3.5.20 → 3.6.0
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.
- package/dist/redocly-openapi-docs.min.js +850 -850
- package/lib/components/Replay/utils.js +1 -1
- package/lib/components/common/index.d.ts +1 -1
- package/lib/components/common/index.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/models/mediaContent.js +1 -1
- package/lib/models/operation.js +1 -1
- package/lib/models/types.d.ts +7 -0
- package/lib/services/code-samples/generator.js +1 -1
- package/lib-esm/components/Replay/utils.js +1 -1
- package/lib-esm/components/common/index.d.ts +1 -1
- package/lib-esm/components/common/index.js +1 -1
- package/lib-esm/index.d.ts +1 -0
- package/lib-esm/index.js +1 -1
- package/lib-esm/models/mediaContent.js +1 -1
- package/lib-esm/models/operation.js +1 -1
- package/lib-esm/models/types.d.ts +7 -0
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/package.json +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __rest=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertOperationToReplayValue=convertOperationToReplayValue,exports.convertRequestSecurity=convertRequestSecurity;const theme_1=require("@redocly/theme"),models_1=require("../../models"),services_1=require("../../services");function convertOperationToReplayValue(e,t,n){var r;if(!n)return;const a=new services_1.OpenAPIParser(n),i=null===(r=a.definition.paths)||void 0===r?void 0:r[e],o=null==i?void 0:i[t],s=(0,models_1.getOperation)(a,Object.assign(Object.assign({},o),{pathName:e,httpVerb:t,pathParameters:i.parameters||[],pathServers:i.servers||[]}),void 0,(0,services_1.normalizeOptions)({}),""),l={id:s.id,name:s.name,method:s.httpVerb,operationId:s.operationId,parameters:convertParameters(s.parameters),body:convertRequestBody(s.requestBody,n),path:s.path,href:s.href,servers:s.servers,security:convertRequestSecurity(s.security),responses:Object.fromEntries(s.responses.map((e=>{var t;return[e.code,{code:e.code,description:e.description,mediaTypes:null===(t=e.content)||void 0===t?void 0:t.mediaTypes.reduce(((e,t)=>{var r;return e[t.name]={name:t.name,schema:getBodySchema(null===(r=t.schema)||void 0===r?void 0:r.rawSchema,n)},e}),{})}]})))};return l}function convertParameters(e,t){const n=new Set,r=e.map((e=>{var r;return n.add(e.in+":"+e.name),{name:e.name,in:e.in,required:e.required,description:e.description,example:(null===(r=null==t?void 0:t[String(e.in)])||void 0===r?void 0:r[e.name])||e.example,schema:e.schema}}));for(const[e,a]of Object.entries(t||{}))for(const[t,i]of Object.entries(a||{}))n.has(e+":"+t)||r.push({name:t,in:e,required:!1,description:"",example:String(i),schema:void 0});return r}function getInputType({type:e,format:t,enum:n}){return"string"!==e||"binary"!==t&&"base64"!==t?"object"===e?"multiline":n.length>0?"select":"text":"file"}function getFieldExamples(e,t){var n,r,a,i,o;const s=(null===(n=e[0])||void 0===n?void 0:n.example)||(null===(r=e[0])||void 0===r?void 0:r.examples);if(s)return s;if(null===(a=e.schema)||void 0===a?void 0:a.example)return e.schema.example;const l=(null===(i=null==t?void 0:t.default)||void 0===i?void 0:i.value)||(null===(o=null==t?void 0:t.default)||void 0===o?void 0:o.rawValue);return(null==l?void 0:l[e.name])?(0,theme_1.isPrimitive)(null==l?void 0:l[e.name])?String(null==l?void 0:l[e.name]):JSON.stringify(null==l?void 0:l[e.name]):""}function convertRequestBody(e,t,n){var r;if(!e||!(null===(r=e.content)||void 0===r?void 0:r.mediaTypes)){if(!n)return;const{activeExampleName:e}=n,t=__rest(n,["activeExampleName"]);return{activeExampleName:e,mediaTypes:Object.fromEntries(Object.entries(t).map((([e,t])=>[e,{name:e,examples:{default:{value:t}},schema:{},parameters:[]}])))}}return{required:e.required,activeExampleName:null==n?void 0:n.activeExampleName,mediaTypes:e.content.mediaTypes.reduce(((e,r)=>{var a,i;const o=r.schema,s=(null==n?void 0:n[r.name])?{default:{value:null==n?void 0:n[r.name],rawValue:null==n?void 0:n[r.name],mime:r.name}}:r.examples||r.formExamples;return e[r.name]={name:r.name,examples:s,schema:getBodySchema(null===(a=r.schema)||void 0===a?void 0:a.rawSchema,t),parameters:null===(i=null==o?void 0:o.fields)||void 0===i?void 0:i.map((e=>({inputType:getInputType(e.schema),name:e.name,example:getFieldExamples(e,s)})))},e}),{})}}function getBodySchema(e,t){if(e&&t)return Object.assign(Object.assign({},e),{components:(null==t?void 0:t.components)||{}})}function convertRequestSecurity(e){if(e)return e.map((({schemes:e})=>e.map((e=>
|
|
1
|
+
"use strict";var __rest=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertOperationToReplayValue=convertOperationToReplayValue,exports.convertRequestSecurity=convertRequestSecurity;const theme_1=require("@redocly/theme"),models_1=require("../../models"),services_1=require("../../services");function convertOperationToReplayValue(e,t,n){var r;if(!n)return;const a=new services_1.OpenAPIParser(n),i=null===(r=a.definition.paths)||void 0===r?void 0:r[e],o=null==i?void 0:i[t],s=(0,models_1.getOperation)(a,Object.assign(Object.assign({},o),{pathName:e,httpVerb:t,pathParameters:i.parameters||[],pathServers:i.servers||[]}),void 0,(0,services_1.normalizeOptions)({}),""),l={id:s.id,name:s.name,method:s.httpVerb,operationId:s.operationId,parameters:convertParameters(s.parameters),body:convertRequestBody(s.requestBody,n),path:s.path,href:s.href,servers:s.servers,security:convertRequestSecurity(s.security),responses:Object.fromEntries(s.responses.map((e=>{var t;return[e.code,{code:e.code,description:e.description,mediaTypes:null===(t=e.content)||void 0===t?void 0:t.mediaTypes.reduce(((e,t)=>{var r;return e[t.name]={name:t.name,schema:getBodySchema(null===(r=t.schema)||void 0===r?void 0:r.rawSchema,n)},e}),{})}]})))};return l}function convertParameters(e,t){const n=new Set,r=e.map((e=>{var r;return n.add(e.in+":"+e.name),{name:e.name,in:e.in,required:e.required,description:e.description,example:(null===(r=null==t?void 0:t[String(e.in)])||void 0===r?void 0:r[e.name])||e.example,schema:e.schema}}));for(const[e,a]of Object.entries(t||{}))for(const[t,i]of Object.entries(a||{}))n.has(e+":"+t)||r.push({name:t,in:e,required:!1,description:"",example:String(i),schema:void 0});return r}function getInputType({type:e,format:t,enum:n}){return"string"!==e||"binary"!==t&&"base64"!==t?"object"===e?"multiline":n.length>0?"select":"text":"file"}function getFieldExamples(e,t){var n,r,a,i,o;const s=(null===(n=e[0])||void 0===n?void 0:n.example)||(null===(r=e[0])||void 0===r?void 0:r.examples);if(s)return s;if(null===(a=e.schema)||void 0===a?void 0:a.example)return e.schema.example;const l=(null===(i=null==t?void 0:t.default)||void 0===i?void 0:i.value)||(null===(o=null==t?void 0:t.default)||void 0===o?void 0:o.rawValue);return(null==l?void 0:l[e.name])?(0,theme_1.isPrimitive)(null==l?void 0:l[e.name])?String(null==l?void 0:l[e.name]):JSON.stringify(null==l?void 0:l[e.name]):""}function convertRequestBody(e,t,n){var r;if(!e||!(null===(r=e.content)||void 0===r?void 0:r.mediaTypes)){if(!n)return;const{activeExampleName:e}=n,t=__rest(n,["activeExampleName"]);return{activeExampleName:e,mediaTypes:Object.fromEntries(Object.entries(t).map((([e,t])=>[e,{name:e,examples:{default:{value:t}},schema:{},parameters:[]}])))}}return{required:e.required,activeExampleName:null==n?void 0:n.activeExampleName,mediaTypes:e.content.mediaTypes.reduce(((e,r)=>{var a,i;const o=r.schema,s=(null==n?void 0:n[r.name])?{default:{value:null==n?void 0:n[r.name],rawValue:null==n?void 0:n[r.name],mime:r.name}}:r.examples||r.formExamples;return e[r.name]={name:r.name,examples:s,schema:getBodySchema(null===(a=r.schema)||void 0===a?void 0:a.rawSchema,t),parameters:null===(i=null==o?void 0:o.fields)||void 0===i?void 0:i.map((e=>({inputType:getInputType(e.schema),name:e.name,example:getFieldExamples(e,s)})))},e}),{})}}function getBodySchema(e,t){if(e&&t)return Object.assign(Object.assign({},e),{components:(null==t?void 0:t.components)||{}})}function convertRequestSecurity(e){if(e)return e.map((({schemes:e})=>e.map((e=>{const t={id:e.id,type:e.type,in:e.in,openIdConnectUrl:e.openIdConnectUrl,scopes:e.scopes,scheme:e.scheme,name:e.name,flows:e.flows,"x-defaultAccessToken":e["x-defaultAccessToken"],"x-defaultTokenType":e["x-defaultTokenType"],"x-defaultClientId":e["x-defaultClientId"],"x-defaultClientSecret":e["x-defaultClientSecret"],"x-defaultUsername":e["x-defaultUsername"],"x-defaultPassword":e["x-defaultPassword"]};return Object.keys(t).forEach((e=>void 0===t[e]&&delete t[e])),t}))))}
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { Select } from './Select';
|
|
2
2
|
export type { SelectProps, SelectOption } from './Select';
|
|
3
|
-
export { ShareLinkToField } from './LinkToField';
|
|
3
|
+
export { ShareLinkToField, generateDeepLink } from './LinkToField';
|
|
4
4
|
export { deprecatedCss } from './mixins';
|
|
5
5
|
export { Container, HttpVerb, MimeLabel } from './styled';
|
|
6
6
|
export { CodeBlockPanel } from './CodeBlockPanel';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,n){void 0===n&&(n=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,n,o)}:function(e,r,t,n){void 0===n&&(n=t),e[n]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Skeleton=exports.Link=exports.ShareLink=exports.FieldsGroupHeader=exports.ExpandableExample=exports.NavigationBadge=exports.StyledBadge=exports.CustomBadges=exports.CodeBlockPanel=exports.MimeLabel=exports.HttpVerb=exports.Container=exports.deprecatedCss=exports.ShareLinkToField=exports.Select=void 0;var Select_1=require("./Select");Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return Select_1.Select}});var LinkToField_1=require("./LinkToField");Object.defineProperty(exports,"ShareLinkToField",{enumerable:!0,get:function(){return LinkToField_1.ShareLinkToField}});var mixins_1=require("./mixins");Object.defineProperty(exports,"deprecatedCss",{enumerable:!0,get:function(){return mixins_1.deprecatedCss}});var styled_1=require("./styled");Object.defineProperty(exports,"Container",{enumerable:!0,get:function(){return styled_1.Container}}),Object.defineProperty(exports,"HttpVerb",{enumerable:!0,get:function(){return styled_1.HttpVerb}}),Object.defineProperty(exports,"MimeLabel",{enumerable:!0,get:function(){return styled_1.MimeLabel}});var CodeBlockPanel_1=require("./CodeBlockPanel");Object.defineProperty(exports,"CodeBlockPanel",{enumerable:!0,get:function(){return CodeBlockPanel_1.CodeBlockPanel}});var Badges_1=require("./Badges");Object.defineProperty(exports,"CustomBadges",{enumerable:!0,get:function(){return Badges_1.CustomBadges}}),Object.defineProperty(exports,"StyledBadge",{enumerable:!0,get:function(){return Badges_1.StyledBadge}}),Object.defineProperty(exports,"NavigationBadge",{enumerable:!0,get:function(){return Badges_1.NavigationBadge}});var ExpandableExample_1=require("./ExpandableExample");Object.defineProperty(exports,"ExpandableExample",{enumerable:!0,get:function(){return ExpandableExample_1.ExpandableExample}}),__exportStar(require("./Fields"),exports),__exportStar(require("./panels"),exports);var headers_1=require("./headers");Object.defineProperty(exports,"FieldsGroupHeader",{enumerable:!0,get:function(){return headers_1.FieldsGroupHeader}});var linkify_1=require("./linkify");Object.defineProperty(exports,"ShareLink",{enumerable:!0,get:function(){return linkify_1.ShareLink}}),Object.defineProperty(exports,"Link",{enumerable:!0,get:function(){return linkify_1.Link}}),__exportStar(require("./schema"),exports);var Skeleton_1=require("./Skeleton");Object.defineProperty(exports,"Skeleton",{enumerable:!0,get:function(){return Skeleton_1.Skeleton}});
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,n){void 0===n&&(n=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,n,o)}:function(e,r,t,n){void 0===n&&(n=t),e[n]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Skeleton=exports.Link=exports.ShareLink=exports.FieldsGroupHeader=exports.ExpandableExample=exports.NavigationBadge=exports.StyledBadge=exports.CustomBadges=exports.CodeBlockPanel=exports.MimeLabel=exports.HttpVerb=exports.Container=exports.deprecatedCss=exports.generateDeepLink=exports.ShareLinkToField=exports.Select=void 0;var Select_1=require("./Select");Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return Select_1.Select}});var LinkToField_1=require("./LinkToField");Object.defineProperty(exports,"ShareLinkToField",{enumerable:!0,get:function(){return LinkToField_1.ShareLinkToField}}),Object.defineProperty(exports,"generateDeepLink",{enumerable:!0,get:function(){return LinkToField_1.generateDeepLink}});var mixins_1=require("./mixins");Object.defineProperty(exports,"deprecatedCss",{enumerable:!0,get:function(){return mixins_1.deprecatedCss}});var styled_1=require("./styled");Object.defineProperty(exports,"Container",{enumerable:!0,get:function(){return styled_1.Container}}),Object.defineProperty(exports,"HttpVerb",{enumerable:!0,get:function(){return styled_1.HttpVerb}}),Object.defineProperty(exports,"MimeLabel",{enumerable:!0,get:function(){return styled_1.MimeLabel}});var CodeBlockPanel_1=require("./CodeBlockPanel");Object.defineProperty(exports,"CodeBlockPanel",{enumerable:!0,get:function(){return CodeBlockPanel_1.CodeBlockPanel}});var Badges_1=require("./Badges");Object.defineProperty(exports,"CustomBadges",{enumerable:!0,get:function(){return Badges_1.CustomBadges}}),Object.defineProperty(exports,"StyledBadge",{enumerable:!0,get:function(){return Badges_1.StyledBadge}}),Object.defineProperty(exports,"NavigationBadge",{enumerable:!0,get:function(){return Badges_1.NavigationBadge}});var ExpandableExample_1=require("./ExpandableExample");Object.defineProperty(exports,"ExpandableExample",{enumerable:!0,get:function(){return ExpandableExample_1.ExpandableExample}}),__exportStar(require("./Fields"),exports),__exportStar(require("./panels"),exports);var headers_1=require("./headers");Object.defineProperty(exports,"FieldsGroupHeader",{enumerable:!0,get:function(){return headers_1.FieldsGroupHeader}});var linkify_1=require("./linkify");Object.defineProperty(exports,"ShareLink",{enumerable:!0,get:function(){return linkify_1.ShareLink}}),Object.defineProperty(exports,"Link",{enumerable:!0,get:function(){return linkify_1.Link}}),__exportStar(require("./schema"),exports);var Skeleton_1=require("./Skeleton");Object.defineProperty(exports,"Skeleton",{enumerable:!0,get:function(){return Skeleton_1.Skeleton}});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export type { SecurityDetails, OpenAPIDefinition, OpenAPIOperation, OpenAPIParam
|
|
|
6
6
|
export { getOperation } from './models/operation';
|
|
7
7
|
export { getServerEnvName } from './utils/environments';
|
|
8
8
|
export { getTagOrGroup } from './models/group';
|
|
9
|
+
export { generateDeepLink } from './components/common';
|
|
9
10
|
export { RequestSamples } from './components/RequestSamples';
|
|
10
11
|
export { ResponseSamples } from './components/ResponseSamples';
|
|
11
12
|
export { RedocSchema, RedocExample } from './components/pluggable';
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertOperationToReplayValue=exports.EmbeddedReplay=exports.normalizeOptions=exports.buildContentItems=exports.OpenAPIParser=exports.isOperationName=exports.JsonPointer=exports.getMarkdownHeaderId=exports.StoreProvider=exports.AppProvider=exports.RedoclyOpenAPIDocsStandalone=exports.RedoclyOpenAPIDocs=exports.RedocExample=exports.RedocSchema=exports.ResponseSamples=exports.RequestSamples=exports.getTagOrGroup=exports.getServerEnvName=exports.getOperation=void 0,exports.useOpenapiDocsOptions=useOpenapiDocsOptions;const jotai_1=require("jotai"),store_1=require("./jotai/store");var operation_1=require("./models/operation");Object.defineProperty(exports,"getOperation",{enumerable:!0,get:function(){return operation_1.getOperation}});var environments_1=require("./utils/environments");Object.defineProperty(exports,"getServerEnvName",{enumerable:!0,get:function(){return environments_1.getServerEnvName}});var group_1=require("./models/group");Object.defineProperty(exports,"getTagOrGroup",{enumerable:!0,get:function(){return group_1.getTagOrGroup}});var RequestSamples_1=require("./components/RequestSamples");Object.defineProperty(exports,"RequestSamples",{enumerable:!0,get:function(){return RequestSamples_1.RequestSamples}});var ResponseSamples_1=require("./components/ResponseSamples");Object.defineProperty(exports,"ResponseSamples",{enumerable:!0,get:function(){return ResponseSamples_1.ResponseSamples}});var pluggable_1=require("./components/pluggable");Object.defineProperty(exports,"RedocSchema",{enumerable:!0,get:function(){return pluggable_1.RedocSchema}}),Object.defineProperty(exports,"RedocExample",{enumerable:!0,get:function(){return pluggable_1.RedocExample}});var RedoclyOpenAPIDocs_1=require("./components/RedoclyOpenAPIDocs");Object.defineProperty(exports,"RedoclyOpenAPIDocs",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.RedoclyOpenAPIDocs}}),Object.defineProperty(exports,"RedoclyOpenAPIDocsStandalone",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.RedoclyOpenAPIDocsStandalone}}),Object.defineProperty(exports,"AppProvider",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.AppProvider}}),Object.defineProperty(exports,"StoreProvider",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.StoreProvider}}),Object.defineProperty(exports,"getMarkdownHeaderId",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.getMarkdownHeaderId}});var JsonPointer_1=require("./utils/JsonPointer");Object.defineProperty(exports,"JsonPointer",{enumerable:!0,get:function(){return JsonPointer_1.JsonPointer}});var openapi_1=require("./utils/openapi");Object.defineProperty(exports,"isOperationName",{enumerable:!0,get:function(){return openapi_1.isOperationName}});var services_1=require("./services");Object.defineProperty(exports,"OpenAPIParser",{enumerable:!0,get:function(){return services_1.OpenAPIParser}});var services_2=require("./services");function useOpenapiDocsOptions(){return(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom)}Object.defineProperty(exports,"buildContentItems",{enumerable:!0,get:function(){return services_2.buildContentItems}}),Object.defineProperty(exports,"normalizeOptions",{enumerable:!0,get:function(){return services_2.normalizeOptions}});var EmbeddedReplay_1=require("./components/Replay/EmbeddedReplay");Object.defineProperty(exports,"EmbeddedReplay",{enumerable:!0,get:function(){return EmbeddedReplay_1.EmbeddedReplay}});var utils_1=require("./components/Replay/utils");Object.defineProperty(exports,"convertOperationToReplayValue",{enumerable:!0,get:function(){return utils_1.convertOperationToReplayValue}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertOperationToReplayValue=exports.EmbeddedReplay=exports.normalizeOptions=exports.buildContentItems=exports.OpenAPIParser=exports.isOperationName=exports.JsonPointer=exports.getMarkdownHeaderId=exports.StoreProvider=exports.AppProvider=exports.RedoclyOpenAPIDocsStandalone=exports.RedoclyOpenAPIDocs=exports.RedocExample=exports.RedocSchema=exports.ResponseSamples=exports.RequestSamples=exports.generateDeepLink=exports.getTagOrGroup=exports.getServerEnvName=exports.getOperation=void 0,exports.useOpenapiDocsOptions=useOpenapiDocsOptions;const jotai_1=require("jotai"),store_1=require("./jotai/store");var operation_1=require("./models/operation");Object.defineProperty(exports,"getOperation",{enumerable:!0,get:function(){return operation_1.getOperation}});var environments_1=require("./utils/environments");Object.defineProperty(exports,"getServerEnvName",{enumerable:!0,get:function(){return environments_1.getServerEnvName}});var group_1=require("./models/group");Object.defineProperty(exports,"getTagOrGroup",{enumerable:!0,get:function(){return group_1.getTagOrGroup}});var common_1=require("./components/common");Object.defineProperty(exports,"generateDeepLink",{enumerable:!0,get:function(){return common_1.generateDeepLink}});var RequestSamples_1=require("./components/RequestSamples");Object.defineProperty(exports,"RequestSamples",{enumerable:!0,get:function(){return RequestSamples_1.RequestSamples}});var ResponseSamples_1=require("./components/ResponseSamples");Object.defineProperty(exports,"ResponseSamples",{enumerable:!0,get:function(){return ResponseSamples_1.ResponseSamples}});var pluggable_1=require("./components/pluggable");Object.defineProperty(exports,"RedocSchema",{enumerable:!0,get:function(){return pluggable_1.RedocSchema}}),Object.defineProperty(exports,"RedocExample",{enumerable:!0,get:function(){return pluggable_1.RedocExample}});var RedoclyOpenAPIDocs_1=require("./components/RedoclyOpenAPIDocs");Object.defineProperty(exports,"RedoclyOpenAPIDocs",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.RedoclyOpenAPIDocs}}),Object.defineProperty(exports,"RedoclyOpenAPIDocsStandalone",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.RedoclyOpenAPIDocsStandalone}}),Object.defineProperty(exports,"AppProvider",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.AppProvider}}),Object.defineProperty(exports,"StoreProvider",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.StoreProvider}}),Object.defineProperty(exports,"getMarkdownHeaderId",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.getMarkdownHeaderId}});var JsonPointer_1=require("./utils/JsonPointer");Object.defineProperty(exports,"JsonPointer",{enumerable:!0,get:function(){return JsonPointer_1.JsonPointer}});var openapi_1=require("./utils/openapi");Object.defineProperty(exports,"isOperationName",{enumerable:!0,get:function(){return openapi_1.isOperationName}});var services_1=require("./services");Object.defineProperty(exports,"OpenAPIParser",{enumerable:!0,get:function(){return services_1.OpenAPIParser}});var services_2=require("./services");function useOpenapiDocsOptions(){return(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom)}Object.defineProperty(exports,"buildContentItems",{enumerable:!0,get:function(){return services_2.buildContentItems}}),Object.defineProperty(exports,"normalizeOptions",{enumerable:!0,get:function(){return services_2.normalizeOptions}});var EmbeddedReplay_1=require("./components/Replay/EmbeddedReplay");Object.defineProperty(exports,"EmbeddedReplay",{enumerable:!0,get:function(){return EmbeddedReplay_1.EmbeddedReplay}});var utils_1=require("./components/Replay/utils");Object.defineProperty(exports,"convertOperationToReplayValue",{enumerable:!0,get:function(){return utils_1.convertOperationToReplayValue}});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMediaContent=getMediaContent,exports.getActiveMediaType=getActiveMediaType;const nexus_1=require("../jotai/nexus"),mediaType_1=require("./mediaType"),app_1=require("../jotai/app");function getMediaContent({parser:e,info:t,isRequestType:i,options:a,data:{operation:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMediaContent=getMediaContent,exports.getActiveMediaType=getActiveMediaType;const nexus_1=require("../jotai/nexus"),mediaType_1=require("./mediaType"),app_1=require("../jotai/app");function getMediaContent({parser:e,info:t,isRequestType:i,options:a,data:{operation:o,type:p,response:n,absolutePointer:s=""}}){const r=Object.keys(t).map((r=>(0,mediaType_1.getMediaType)(e,r,i,t[r],a,{operation:o,type:p,response:n,absolutePointer:s}))),d=r.filter((e=>!!e.examples||!!e.formExamples)).length>0;return{mediaTypes:r,isRequestType:i,hasSample:d,operation:o}}function getActiveMediaType(e,t){const i=t||(null===nexus_1.readAtom||void 0===nexus_1.readAtom?void 0:(0,nexus_1.readAtom)(app_1.activeMimeNameAtom));return i&&e.mediaTypes.find((e=>e.name===i))||e.mediaTypes[0]||{}}
|
|
2
2
|
//# sourceMappingURL=mediaContent.js.map
|
package/lib/models/operation.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPayloadSample=isPayloadSample,exports.getOperation=getOperation,exports.mergeInMockServer=mergeInMockServer;const theme_1=require("@redocly/theme"),config_1=require("@redocly/config"),utils_1=require("../utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),response_1=require("./response"),operation_1=require("../services/menu/operation");function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}function getOperation(e,r,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPayloadSample=isPayloadSample,exports.getOperation=getOperation,exports.mergeInMockServer=mergeInMockServer;const theme_1=require("@redocly/theme"),config_1=require("@redocly/config"),utils_1=require("../utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),response_1=require("./response"),operation_1=require("../services/menu/operation");function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}function getOperation(e,t,r,s,o,i,n=!0){var a,l,u,c;const d=t.isWebhook,p={operationDefinition:t,parent:r,pointer:t.pointer,description:n?(0,utils_1.getValueFromMdParsedExtension)(t,"description"):"",externalDocs:t.externalDocs,deprecated:!!t.deprecated,httpVerb:t.httpVerb,operationId:t.operationId,path:t.pathName,isWebhook:d,isCallback:Boolean(null==i?void 0:i.isCallback),isEvent:(null==i?void 0:i.isCallback)||d,name:(0,utils_1.getOperationName)(t),defaultExampleName:t.defaultSampleName,[config_1.REDOCLY_TEAMS_RBAC]:t[config_1.REDOCLY_TEAMS_RBAC]||(null==r?void 0:r[config_1.REDOCLY_TEAMS_RBAC]),type:"operation",callbackId:null==i?void 0:i.id,href:o,get callbacks(){return n?Object.keys(t.callbacks||[]).map((i=>{var n;return(0,callback_1.getCallback)(e,i,null===(n=t.callbacks)||void 0===n?void 0:n[i],p.pointer,s,o,r)})):[]},get responses(){let r=!1;return n?Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(r=!0),(0,utils_1.isStatusCode)(e)))).map((o=>(0,response_1.getResponse)({parser:e,code:o,defaultAsError:r,infoOrRef:t.responses[o],options:s,isEvent:p.isEvent,operation:p}))):[]},get parameters(){return n?processParameters(e,t,p,s,f):[]}};if(null==i?void 0:i.isCallback)p.security=(0,security_1.getSecurity)(t.security,e),p.servers=(0,utils_1.normalizeServers)("",t.servers||t.pathServers||[]),p.id=(0,theme_1.removeLeadingSlash)(o);else{p.id=(0,utils_1.getOperationId)(t,r),p.href=p.href||(0,operation_1.getHref)(p),p.security=n?(0,security_1.getSecurity)(t.security||e.definition.security,e):[];const o=t.servers||((null===(a=t.pathServers)||void 0===a?void 0:a.length)?t.pathServers:null)||e.definition.servers||[];p.servers=n?(0,utils_1.normalizeServers)(e.definitionUrl,mergeInMockServer(o,s.mockServer)):[]}s.showExtensions&&(p.extensions=(0,utils_1.extractExtensions)(t,s.showExtensions)),p.requestBody=n&&t.requestBody?(0,request_1.getRequestBody)({parser:e,infoOrRef:t.requestBody,options:s,operation:p,isEvent:p.isEvent}):void 0;const y=null===(l=p.requestBody)||void 0===l?void 0:l.content;p.payload={lang:"Payload",source:"",requestBodyContent:(null==y?void 0:y.hasSample)?y:void 0},p.definitionSamples=t["x-codeSamples"]||[],p.badges=(null===(u=t["x-badges"])||void 0===u?void 0:u.map((({name:e,color:t,position:r})=>({name:e,color:t||"var(--color-info-base)",position:r||"after"}))))||[],p.hasSamples=(null==y?void 0:y.hasSample)||p.definitionSamples.length>0,p.hideReplay=!0===t["x-hideReplay"];const f=(null===(c=(0,theme_1.configure)())||void 0===c?void 0:c.requestValues)||{};return Object.keys(f).length>0&&(updateRequestBodyWithUserValues(p,f),updateSecurityWithUserValues(p,f.security)),p}function updateRequestBodyWithUserValues(e,t){if(!e.requestBody||!(null==t?void 0:t.body))return;const r=e.requestBody.content;if(null==r?void 0:r.mediaTypes){for(const e of r.mediaTypes)e.examples&&Object.keys(e.examples).forEach((r=>{var s,o;const i=null===(o=null===(s=e.examples)||void 0===s?void 0:s[r])||void 0===o?void 0:o.value;let n;n=(0,theme_1.isObject)(i)?updateObjectProperties(i,t.body):t.body,e.examples[r]={value:n,rawValue:n,mime:e.name}}));return e}}function updateSecurityWithUserValues(e,t){if(!t||!e.security.length)return;const r=e=>{var r,s,o;const i={"x-defaultAccessToken":null===(r=t.token)||void 0===r?void 0:r.access_token,"x-defaultTokenType":(null===(s=t.token)||void 0===s?void 0:s.token_type)||"Bearer","x-defaultClientId":t.client_id,"x-defaultClientSecret":t.client_secret,scopes:t.scopes||e.scopes};"http"===e.type&&"basic"===e.scheme?(i["x-defaultUsername"]=t.username,i["x-defaultPassword"]=t.password,delete i["x-defaultAccessToken"],delete i["x-defaultTokenType"]):"oauth2"!==e.type||(null===(o=t.token)||void 0===o?void 0:o.access_token)||(delete i["x-defaultAccessToken"],delete i["x-defaultTokenType"]),Object.assign(e,i)};e.security.forEach((e=>{e.schemes.forEach(r)}))}function processParameters(e,t,r,s,o){let i=(0,utils_1.mergeParams)(e,t.pathParameters,t.parameters,{pathPointer:utils_1.JsonPointer.dirName(r.pointer),operationPointer:r.pointer}).map((({paramOrRef:t,pointer:i})=>{var n;const a=(0,field_1.getField)(e,t,i,s,{operation:r,type:"request"});if(o){const{in:e,name:t}=a,r={header:o.headers,query:o.query,path:o.path,cookie:o.cookie};e&&(null===(n=r[e])||void 0===n?void 0:n[t])&&(a.example=r[e][t])}return a}));return s.sortRequiredPropsFirst&&(i=(0,utils_1.sortByRequired)(i)),(0,utils_1.sortByDeprecated)(i)}function updateObjectProperties(e,t){if(!e||"object"!=typeof e)return t;if(Array.isArray(e)&&Array.isArray(t))return t;const r=Array.isArray(e)?[...e]:Object.assign({},e);for(const[s,o]of Object.entries(t))s in e&&(Array.isArray(e[s])?r[s]=o:"object"==typeof o&&null!==o&&"object"==typeof e[s]?r[s]=updateObjectProperties(e[s],o):r[s]=o);return r}function mergeInMockServer(e,t){if(!t)return e;const r={url:t.url,description:t.description};switch(t.position){case"first":return[r,...e];case"last":return[...e,r];case"replace":return[r];default:return e}}
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|
package/lib/models/types.d.ts
CHANGED
|
@@ -10,6 +10,13 @@ export interface ExtendedOpenAPISecurityScheme extends OpenAPISecurityScheme {
|
|
|
10
10
|
sectionId: string;
|
|
11
11
|
scopes: string[];
|
|
12
12
|
'x-defaultClientId'?: string;
|
|
13
|
+
'x-defaultClientSecret'?: string;
|
|
14
|
+
'x-defaultUsername'?: string;
|
|
15
|
+
'x-defaultPassword'?: string;
|
|
16
|
+
'x-defaultToken'?: {
|
|
17
|
+
access_token: string;
|
|
18
|
+
token_type?: string;
|
|
19
|
+
};
|
|
13
20
|
}
|
|
14
21
|
export interface SecurityRequirement {
|
|
15
22
|
schemes: ExtendedOpenAPISecurityScheme[];
|
|
@@ -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.getCodeSample=getCodeSample,exports.getDataRequest=getDataRequest,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;const Sampler=__importStar(require("openapi-sampler")),deepmerge_1=__importDefault(require("deepmerge")),theme_1=require("@redocly/theme"),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 getSelectedSecurityScheme(e,t){return e.find((e=>{const a=e.schemes.map((e=>e.id));return(0,utils_1.areArraysEqual)(a,t||[])}))}function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u,activeSecuritySchemeIds:c}){var p,d,m;const h=l.server,f=e.servers.find((e=>e.url===h))||e.servers[0],_=getSelectedSecurityScheme(e.security,c),{securityHeaders:g,securityCookies:y,securityQueries:O,securityOAuth2ExtraCalls:v,basicAuth:S}=getSecurityData(_||(null===(p=e.security)||void 0===p?void 0:p[0]),r,l),T=(null===(d=null==e?void 0:e.requestBody)||void 0===d?void 0:d.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content),b={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i,quiet:!0},C=u;let j=!1;const D=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,b,s))}})).map((e=>((null==T?void 0:T.name)&&"content-type"===e.name.toLowerCase()&&(j=!0,e.value=T.name),e))).concat(g);!j&&(null==T?void 0:T.name)&&D.unshift({name:"Content-Type",value:null==T?void 0:T.name});const E=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,b,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),k=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,b,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(O),q=`${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===(m=null==T?void 0:T.examples)||void 0===m?void 0:m[t],A=(null==T?void 0:T.examples)||{},[R]=Object.values(A),M=null==T?void 0:T.name.toLowerCase(),x=(null==C?void 0:C.body)||(null==w?void 0:w.value)||(null==R?void 0:R.value)||(null==T?void 0:T.schema)&&Sampler.sample(null==T?void 0:T.schema.rawSchema,Object.assign(Object.assign({},b),{format:M===constants_1.MediaTypes.XML?"xml":"json"}),s);let N="",H=[];switch((0,utils_2.normalizeMimeType)(M)){case constants_1.MediaTypes.JSON:N=JSON.stringify(getDataRequest(x,o));break;case constants_1.MediaTypes.XML:N=x;break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:N=utils_1.queryString.stringify(getDataRequest(x,o)),H=objectToHarParams(getDataRequest(x,o));break;default:N=String(x||"")}const U=N?{mimeType:(null==T?void 0:T.name)||constants_1.MediaTypes.OCTET_STREAM,text:N,params:H}:void 0,z=e.responses.map((e=>e.code));return{method:e.httpVerb,url:q,httpVersion:"HTTP/1.1",cookies:E,headers:D,queryString:k,postData:U,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:S,pathParameters:P,serverVariables:l,allResponseCodes:z}}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,translate:o}){try{const{skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p,store:d}=i,m=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:d.requestValues,activeSecuritySchemeIds:d.activeSecuritySchemeIds}),h=new httpsnippet_1.HTTPSnippet(m);return langToSnippetConfig[e]?h.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):o("openapi.unsupportedLanguage","Language is not supported.")}catch(e){return console.error(e),o("openapi.failedToGenerateCodeSample","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((0,theme_1.isObject)(e))return Object.keys(e).length>0&&0===Object.keys(t).length?e:(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=[];if(Array.isArray(e))return e.map((e=>({name:`${t}`,value:String(e)})));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)}
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,s){void 0===s&&(s=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,s,r)}:function(e,t,a,s){void 0===s&&(s=a),e[s]=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.getCodeSample=getCodeSample,exports.getDataRequest=getDataRequest,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;const Sampler=__importStar(require("openapi-sampler")),deepmerge_1=__importDefault(require("deepmerge")),theme_1=require("@redocly/theme"),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 getSelectedSecurityScheme(e,t){return e.find((e=>{const a=e.schemes.map((e=>e.id));return(0,utils_1.areArraysEqual)(a,t||[])}))}function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:s=!1,spec:r,generatedPayloadSamplesMaxDepth:n=8,pathParams:i={},properties:l={}},{environment:o,requestValues:u,activeSecuritySchemeIds:c}){var p,d,m;const _=o.server,f=e.servers.find((e=>e.url===_))||e.servers[0],h=getSelectedSecurityScheme(e.security,c),{securityHeaders:g,securityCookies:y,securityQueries:O,securityOAuth2ExtraCalls:v,basicAuth:S}=getSecurityData(h||(null===(p=e.security)||void 0===p?void 0:p[0]),s,o),T=(null===(d=null==e?void 0:e.requestBody)||void 0===d?void 0:d.content)&&(0,mediaContent_1.getActiveMediaType)(e.requestBody.content),b={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:n,quiet:!0},C=u;let k=!1;const j=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)||e.example||(0,utils_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,b,r))}})).map((e=>((null==T?void 0:T.name)&&"content-type"===e.name.toLowerCase()&&(k=!0,e.value=T.name),e))).concat(g);!k&&(null==T?void 0:T.name)&&j.unshift({name:"Content-Type",value:null==T?void 0:T.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,e.example||Sampler.sample(e.schema.rawSchema,b,r))))).reduce(((e,t)=>{var a;for(const[s,r]of Object.entries(t))e.push({name:s,value:String((null===(a=C.cookie)||void 0===a?void 0:a[s])||r)});return e}),[]).concat(y),E=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>utils_1.queryString.parse((0,utils_1.serializeParameterValue)(e,e.example||Sampler.sample(e.schema.rawSchema,b,r))))).reduce(((e,t)=>{var a,s,r;for(const[n,i]of Object.entries(t))e.push({name:n,value:(0,utils_1.isArrayOfObjects)(null===(a=C.query)||void 0===a?void 0:a[n])&&JSON.stringify((0,utils_1.deleteEmptyArrayItem)(null===(s=C.query)||void 0===s?void 0:s[n]))||String((null===(r=C.query)||void 0===r?void 0:r[n])||i)});return e}),[]).concat(O),q=`${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:s,name:r}=t;return e[r]=(null===(a=C.path)||void 0===a?void 0:a[r])||t.example||i[r]||(0,utils_1.getParameterValue)(s,r),e}),{}),w=null===(m=null==T?void 0:T.examples)||void 0===m?void 0:m[t],A=(null==T?void 0:T.examples)||{},[x]=Object.values(A),R=null==T?void 0:T.name.toLowerCase(),M=(null==C?void 0:C.body)||(null==w?void 0:w.value)||(null==x?void 0:x.value)||(null==T?void 0:T.schema)&&Sampler.sample(null==T?void 0:T.schema.rawSchema,Object.assign(Object.assign({},b),{format:R===constants_1.MediaTypes.XML?"xml":"json"}),r);let N="",H=[];switch((0,utils_2.normalizeMimeType)(R)){case constants_1.MediaTypes.JSON:N=JSON.stringify(getDataRequest(M,l));break;case constants_1.MediaTypes.XML:N=M;break;case constants_1.MediaTypes.URL_ENCODED:case constants_1.MediaTypes.MULTIPART:N=utils_1.queryString.stringify(getDataRequest(M,l)),H=objectToHarParams(getDataRequest(M,l));break;default:N=String(M||"")}const U=N?{mimeType:(null==T?void 0:T.name)||constants_1.MediaTypes.OCTET_STREAM,text:N,params:H}:void 0,$=e.responses.map((e=>e.code));return{method:e.httpVerb,url:q,httpVersion:"HTTP/1.1",cookies:D,headers:j,queryString:E,postData:U,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:S,pathParameters:P,serverVariables:o,allResponseCodes:$}}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:s,properties:r,options:n={},environment:i,translate:l}){try{const{skipOptionalParameters:o,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p,store:d}=n,m=mapOperationToHAR(t,{exampleName:a,pathParams:s,properties:r,skipOptionalParameters:o,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p},{environment:i,requestValues:d.requestValues,activeSecuritySchemeIds:d.activeSecuritySchemeIds}),_=new httpsnippet_1.HTTPSnippet(m);return langToSnippetConfig[e]?_.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),n)):l("openapi.unsupportedLanguage","Language is not supported.")}catch(e){return console.error(e),l("openapi.failedToGenerateCodeSample","Failed to generate code sample.")}}function getSecurityData(e,t,a){var s,r,n,i,l;const o={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),c={access_token:u["x-defaultAccessToken"],token_type:u["x-defaultTokenType"],client_id:u["x-defaultClientId"],client_secret:u["x-defaultClientSecret"]},p=u["x-defaultUsername"],d=u["x-defaultPassword"];switch(u.type){case"openIdConnect":null===(s=o.securityHeaders)||void 0===s||s.push({name:"Authorization",value:c.access_token?`${c.token_type||"Bearer"} ${c.access_token}`:e.token?`${c.token_type||e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=c.access_token?`${c.token_type||"Bearer"} ${c.access_token}`:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&t?o.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,Object.assign(Object.assign({},e),{client_id:c.client_id||e.client_id,client_secret:c.client_secret||e.client_secret}))):u.flows.password&&t&&o.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,Object.assign(Object.assign({},e),{client_id:c.client_id||e.client_id,client_secret:c.client_secret||e.client_secret}))),null===(r=o.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=c.access_token||e.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(n=o.securityHeaders)||void 0===n||n.push({name:u.name,value:t})),"cookie"===u.in&&o.securityCookies.push({name:u.name,value:t}),"query"===u.in&&o.securityQueries.push({name:u.name,value:t});break}case"http":if("basic"===u.scheme)o.basicAuth={username:p||e.username||`<${string_utility_1.default.toSnakeCase("Username")}>`,password:d||e.password||`<${string_utility_1.default.toSnakeCase("Password")}>`};else{const t=(null==c?void 0:c.access_token)||(null===(i=e.token)||void 0===i?void 0:i.access_token)||`<YOUR_${u.bearerFormat||"TOKEN"}_HERE>`;null===(l=o.securityHeaders)||void 0===l||l.push({name:"Authorization",value:`${capitalizeFirst(u.scheme||"bearer")} ${t}`})}}}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((0,theme_1.isObject)(e))return Object.keys(e).length>0&&0===Object.keys(t).length?e:(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=[];if(Array.isArray(e))return e.map((e=>({name:`${t}`,value:String(e)})));for(const[s,r]of Object.entries(e)){const e=t?`${t}[${s}]`:s;"object"==typeof r&&null!==r?a.push(...objectToHarParams(r,e)):a.push({name:e,value:String(r)})}return a}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
|
|
2
2
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,
|
|
1
|
+
var __rest=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};import{isPrimitive}from"@redocly/theme";import{getOperation}from"../../models";import{normalizeOptions,OpenAPIParser}from"../../services";export function convertOperationToReplayValue(e,t,n){var r;if(!n)return;const a=new OpenAPIParser(n),i=null===(r=a.definition.paths)||void 0===r?void 0:r[e],o=null==i?void 0:i[t],s=getOperation(a,Object.assign(Object.assign({},o),{pathName:e,httpVerb:t,pathParameters:i.parameters||[],pathServers:i.servers||[]}),void 0,normalizeOptions({}),""),l={id:s.id,name:s.name,method:s.httpVerb,operationId:s.operationId,parameters:convertParameters(s.parameters),body:convertRequestBody(s.requestBody,n),path:s.path,href:s.href,servers:s.servers,security:convertRequestSecurity(s.security),responses:Object.fromEntries(s.responses.map((e=>{var t;return[e.code,{code:e.code,description:e.description,mediaTypes:null===(t=e.content)||void 0===t?void 0:t.mediaTypes.reduce(((e,t)=>{var r;return e[t.name]={name:t.name,schema:getBodySchema(null===(r=t.schema)||void 0===r?void 0:r.rawSchema,n)},e}),{})}]})))};return l}function convertParameters(e,t){const n=new Set,r=e.map((e=>{var r;return n.add(e.in+":"+e.name),{name:e.name,in:e.in,required:e.required,description:e.description,example:(null===(r=null==t?void 0:t[String(e.in)])||void 0===r?void 0:r[e.name])||e.example,schema:e.schema}}));for(const[e,a]of Object.entries(t||{}))for(const[t,i]of Object.entries(a||{}))n.has(e+":"+t)||r.push({name:t,in:e,required:!1,description:"",example:String(i),schema:void 0});return r}function getInputType({type:e,format:t,enum:n}){return"string"!==e||"binary"!==t&&"base64"!==t?"object"===e?"multiline":n.length>0?"select":"text":"file"}function getFieldExamples(e,t){var n,r,a,i,o;const s=(null===(n=e[0])||void 0===n?void 0:n.example)||(null===(r=e[0])||void 0===r?void 0:r.examples);if(s)return s;if(null===(a=e.schema)||void 0===a?void 0:a.example)return e.schema.example;const l=(null===(i=null==t?void 0:t.default)||void 0===i?void 0:i.value)||(null===(o=null==t?void 0:t.default)||void 0===o?void 0:o.rawValue);return(null==l?void 0:l[e.name])?isPrimitive(null==l?void 0:l[e.name])?String(null==l?void 0:l[e.name]):JSON.stringify(null==l?void 0:l[e.name]):""}function convertRequestBody(e,t,n){var r;if(!e||!(null===(r=e.content)||void 0===r?void 0:r.mediaTypes)){if(!n)return;const{activeExampleName:e}=n,t=__rest(n,["activeExampleName"]);return{activeExampleName:e,mediaTypes:Object.fromEntries(Object.entries(t).map((([e,t])=>[e,{name:e,examples:{default:{value:t}},schema:{},parameters:[]}])))}}return{required:e.required,activeExampleName:null==n?void 0:n.activeExampleName,mediaTypes:e.content.mediaTypes.reduce(((e,r)=>{var a,i;const o=r.schema,s=(null==n?void 0:n[r.name])?{default:{value:null==n?void 0:n[r.name],rawValue:null==n?void 0:n[r.name],mime:r.name}}:r.examples||r.formExamples;return e[r.name]={name:r.name,examples:s,schema:getBodySchema(null===(a=r.schema)||void 0===a?void 0:a.rawSchema,t),parameters:null===(i=null==o?void 0:o.fields)||void 0===i?void 0:i.map((e=>({inputType:getInputType(e.schema),name:e.name,example:getFieldExamples(e,s)})))},e}),{})}}function getBodySchema(e,t){if(e&&t)return Object.assign(Object.assign({},e),{components:(null==t?void 0:t.components)||{}})}export function convertRequestSecurity(e){if(e)return e.map((({schemes:e})=>e.map((e=>{const t={id:e.id,type:e.type,in:e.in,openIdConnectUrl:e.openIdConnectUrl,scopes:e.scopes,scheme:e.scheme,name:e.name,flows:e.flows,"x-defaultAccessToken":e["x-defaultAccessToken"],"x-defaultTokenType":e["x-defaultTokenType"],"x-defaultClientId":e["x-defaultClientId"],"x-defaultClientSecret":e["x-defaultClientSecret"],"x-defaultUsername":e["x-defaultUsername"],"x-defaultPassword":e["x-defaultPassword"]};return Object.keys(t).forEach((e=>void 0===t[e]&&delete t[e])),t}))))}
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { Select } from './Select';
|
|
2
2
|
export type { SelectProps, SelectOption } from './Select';
|
|
3
|
-
export { ShareLinkToField } from './LinkToField';
|
|
3
|
+
export { ShareLinkToField, generateDeepLink } from './LinkToField';
|
|
4
4
|
export { deprecatedCss } from './mixins';
|
|
5
5
|
export { Container, HttpVerb, MimeLabel } from './styled';
|
|
6
6
|
export { CodeBlockPanel } from './CodeBlockPanel';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{Select}from"./Select";export{ShareLinkToField}from"./LinkToField";export{deprecatedCss}from"./mixins";export{Container,HttpVerb,MimeLabel}from"./styled";export{CodeBlockPanel}from"./CodeBlockPanel";export{CustomBadges,StyledBadge,NavigationBadge}from"./Badges";export{ExpandableExample}from"./ExpandableExample";export*from"./Fields";export*from"./panels";export{FieldsGroupHeader}from"./headers";export{ShareLink,Link}from"./linkify";export*from"./schema";export{Skeleton}from"./Skeleton";
|
|
1
|
+
export{Select}from"./Select";export{ShareLinkToField,generateDeepLink}from"./LinkToField";export{deprecatedCss}from"./mixins";export{Container,HttpVerb,MimeLabel}from"./styled";export{CodeBlockPanel}from"./CodeBlockPanel";export{CustomBadges,StyledBadge,NavigationBadge}from"./Badges";export{ExpandableExample}from"./ExpandableExample";export*from"./Fields";export*from"./panels";export{FieldsGroupHeader}from"./headers";export{ShareLink,Link}from"./linkify";export*from"./schema";export{Skeleton}from"./Skeleton";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib-esm/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export type { SecurityDetails, OpenAPIDefinition, OpenAPIOperation, OpenAPIParam
|
|
|
6
6
|
export { getOperation } from './models/operation';
|
|
7
7
|
export { getServerEnvName } from './utils/environments';
|
|
8
8
|
export { getTagOrGroup } from './models/group';
|
|
9
|
+
export { generateDeepLink } from './components/common';
|
|
9
10
|
export { RequestSamples } from './components/RequestSamples';
|
|
10
11
|
export { ResponseSamples } from './components/ResponseSamples';
|
|
11
12
|
export { RedocSchema, RedocExample } from './components/pluggable';
|
package/lib-esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useAtomValue}from"jotai";import{globalOptionsAtom}from"./jotai/store";export{getOperation}from"./models/operation";export{getServerEnvName}from"./utils/environments";export{getTagOrGroup}from"./models/group";export{RequestSamples}from"./components/RequestSamples";export{ResponseSamples}from"./components/ResponseSamples";export{RedocSchema,RedocExample}from"./components/pluggable";export{RedoclyOpenAPIDocs,RedoclyOpenAPIDocsStandalone,AppProvider,StoreProvider,getMarkdownHeaderId}from"./components/RedoclyOpenAPIDocs";export{JsonPointer}from"./utils/JsonPointer";export{isOperationName}from"./utils/openapi";export{OpenAPIParser}from"./services";export{buildContentItems,normalizeOptions}from"./services";export function useOpenapiDocsOptions(){return useAtomValue(globalOptionsAtom)}export{EmbeddedReplay}from"./components/Replay/EmbeddedReplay";export{convertOperationToReplayValue}from"./components/Replay/utils";
|
|
1
|
+
import{useAtomValue}from"jotai";import{globalOptionsAtom}from"./jotai/store";export{getOperation}from"./models/operation";export{getServerEnvName}from"./utils/environments";export{getTagOrGroup}from"./models/group";export{generateDeepLink}from"./components/common";export{RequestSamples}from"./components/RequestSamples";export{ResponseSamples}from"./components/ResponseSamples";export{RedocSchema,RedocExample}from"./components/pluggable";export{RedoclyOpenAPIDocs,RedoclyOpenAPIDocsStandalone,AppProvider,StoreProvider,getMarkdownHeaderId}from"./components/RedoclyOpenAPIDocs";export{JsonPointer}from"./utils/JsonPointer";export{isOperationName}from"./utils/openapi";export{OpenAPIParser}from"./services";export{buildContentItems,normalizeOptions}from"./services";export function useOpenapiDocsOptions(){return useAtomValue(globalOptionsAtom)}export{EmbeddedReplay}from"./components/Replay/EmbeddedReplay";export{convertOperationToReplayValue}from"./components/Replay/utils";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{readAtom}from"../jotai/nexus";import{getMediaType}from"./mediaType";import{activeMimeNameAtom}from"../jotai/app";export function getMediaContent({parser:e,info:t,isRequestType:o,options:a,data:{operation:i,type:p,response:r,absolutePointer:m=""}}){const n=Object.keys(t).map((n=>getMediaType(e,n,o,t[n],a,{operation:i,type:p,response:r,absolutePointer:m}))),s=n.filter((e=>!!e.examples||!!e.formExamples)).length>0;return{mediaTypes:n,isRequestType:o,hasSample:s,operation:i}}export function getActiveMediaType(e,t){const o=t||readAtom(activeMimeNameAtom);return o&&e.mediaTypes.find((e=>e.name===o))||e.mediaTypes[0]||{}}
|
|
1
|
+
import{readAtom}from"../jotai/nexus";import{getMediaType}from"./mediaType";import{activeMimeNameAtom}from"../jotai/app";export function getMediaContent({parser:e,info:t,isRequestType:o,options:a,data:{operation:i,type:p,response:r,absolutePointer:m=""}}){const n=Object.keys(t).map((n=>getMediaType(e,n,o,t[n],a,{operation:i,type:p,response:r,absolutePointer:m}))),s=n.filter((e=>!!e.examples||!!e.formExamples)).length>0;return{mediaTypes:n,isRequestType:o,hasSample:s,operation:i}}export function getActiveMediaType(e,t){const o=t||(null==readAtom?void 0:readAtom(activeMimeNameAtom));return o&&e.mediaTypes.find((e=>e.name===o))||e.mediaTypes[0]||{}}
|
|
2
2
|
//# sourceMappingURL=mediaContent.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{removeLeadingSlash}from"@redocly/theme";import{REDOCLY_TEAMS_RBAC}from"@redocly/config";import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByDeprecated,sortByRequired}from"../utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurity}from"./security";import{getResponse}from"./response";import{getHref}from"../services/menu/operation";export function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}export function getOperation(e,r,
|
|
1
|
+
import{configure,isObject,removeLeadingSlash}from"@redocly/theme";import{REDOCLY_TEAMS_RBAC}from"@redocly/config";import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByDeprecated,sortByRequired}from"../utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurity}from"./security";import{getResponse}from"./response";import{getHref}from"../services/menu/operation";export function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}export function getOperation(e,t,r,o,s,i,a=!0){var n,l,d,c;const u=t.isWebhook,p={operationDefinition:t,parent:r,pointer:t.pointer,description:a?getValueFromMdParsedExtension(t,"description"):"",externalDocs:t.externalDocs,deprecated:!!t.deprecated,httpVerb:t.httpVerb,operationId:t.operationId,path:t.pathName,isWebhook:u,isCallback:Boolean(null==i?void 0:i.isCallback),isEvent:(null==i?void 0:i.isCallback)||u,name:getOperationName(t),defaultExampleName:t.defaultSampleName,[REDOCLY_TEAMS_RBAC]:t[REDOCLY_TEAMS_RBAC]||(null==r?void 0:r[REDOCLY_TEAMS_RBAC]),type:"operation",callbackId:null==i?void 0:i.id,href:s,get callbacks(){return a?Object.keys(t.callbacks||[]).map((i=>{var a;return getCallback(e,i,null===(a=t.callbacks)||void 0===a?void 0:a[i],p.pointer,o,s,r)})):[]},get responses(){let r=!1;return a?Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(r=!0),isStatusCode(e)))).map((s=>getResponse({parser:e,code:s,defaultAsError:r,infoOrRef:t.responses[s],options:o,isEvent:p.isEvent,operation:p}))):[]},get parameters(){return a?processParameters(e,t,p,o,f):[]}};if(null==i?void 0:i.isCallback)p.security=getSecurity(t.security,e),p.servers=normalizeServers("",t.servers||t.pathServers||[]),p.id=removeLeadingSlash(s);else{p.id=getOperationId(t,r),p.href=p.href||getHref(p),p.security=a?getSecurity(t.security||e.definition.security,e):[];const s=t.servers||((null===(n=t.pathServers)||void 0===n?void 0:n.length)?t.pathServers:null)||e.definition.servers||[];p.servers=a?normalizeServers(e.definitionUrl,mergeInMockServer(s,o.mockServer)):[]}o.showExtensions&&(p.extensions=extractExtensions(t,o.showExtensions)),p.requestBody=a&&t.requestBody?getRequestBody({parser:e,infoOrRef:t.requestBody,options:o,operation:p,isEvent:p.isEvent}):void 0;const m=null===(l=p.requestBody)||void 0===l?void 0:l.content;p.payload={lang:"Payload",source:"",requestBodyContent:(null==m?void 0:m.hasSample)?m:void 0},p.definitionSamples=t["x-codeSamples"]||[],p.badges=(null===(d=t["x-badges"])||void 0===d?void 0:d.map((({name:e,color:t,position:r})=>({name:e,color:t||"var(--color-info-base)",position:r||"after"}))))||[],p.hasSamples=(null==m?void 0:m.hasSample)||p.definitionSamples.length>0,p.hideReplay=!0===t["x-hideReplay"];const f=(null===(c=configure())||void 0===c?void 0:c.requestValues)||{};return Object.keys(f).length>0&&(updateRequestBodyWithUserValues(p,f),updateSecurityWithUserValues(p,f.security)),p}function updateRequestBodyWithUserValues(e,t){if(!e.requestBody||!(null==t?void 0:t.body))return;const r=e.requestBody.content;if(null==r?void 0:r.mediaTypes){for(const e of r.mediaTypes)e.examples&&Object.keys(e.examples).forEach((r=>{var o,s;const i=null===(s=null===(o=e.examples)||void 0===o?void 0:o[r])||void 0===s?void 0:s.value;let a;a=isObject(i)?updateObjectProperties(i,t.body):t.body,e.examples[r]={value:a,rawValue:a,mime:e.name}}));return e}}function updateSecurityWithUserValues(e,t){if(!t||!e.security.length)return;const r=e=>{var r,o,s;const i={"x-defaultAccessToken":null===(r=t.token)||void 0===r?void 0:r.access_token,"x-defaultTokenType":(null===(o=t.token)||void 0===o?void 0:o.token_type)||"Bearer","x-defaultClientId":t.client_id,"x-defaultClientSecret":t.client_secret,scopes:t.scopes||e.scopes};"http"===e.type&&"basic"===e.scheme?(i["x-defaultUsername"]=t.username,i["x-defaultPassword"]=t.password,delete i["x-defaultAccessToken"],delete i["x-defaultTokenType"]):"oauth2"!==e.type||(null===(s=t.token)||void 0===s?void 0:s.access_token)||(delete i["x-defaultAccessToken"],delete i["x-defaultTokenType"]),Object.assign(e,i)};e.security.forEach((e=>{e.schemes.forEach(r)}))}function processParameters(e,t,r,o,s){let i=mergeParams(e,t.pathParameters,t.parameters,{pathPointer:JsonPointer.dirName(r.pointer),operationPointer:r.pointer}).map((({paramOrRef:t,pointer:i})=>{var a;const n=getField(e,t,i,o,{operation:r,type:"request"});if(s){const{in:e,name:t}=n,r={header:s.headers,query:s.query,path:s.path,cookie:s.cookie};e&&(null===(a=r[e])||void 0===a?void 0:a[t])&&(n.example=r[e][t])}return n}));return o.sortRequiredPropsFirst&&(i=sortByRequired(i)),sortByDeprecated(i)}function updateObjectProperties(e,t){if(!e||"object"!=typeof e)return t;if(Array.isArray(e)&&Array.isArray(t))return t;const r=Array.isArray(e)?[...e]:Object.assign({},e);for(const[o,s]of Object.entries(t))o in e&&(Array.isArray(e[o])?r[o]=s:"object"==typeof s&&null!==s&&"object"==typeof e[o]?r[o]=updateObjectProperties(e[o],s):r[o]=s);return r}export function mergeInMockServer(e,t){if(!t)return e;const r={url:t.url,description:t.description};switch(t.position){case"first":return[r,...e];case"last":return[...e,r];case"replace":return[r];default:return e}}
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|
|
@@ -10,6 +10,13 @@ export interface ExtendedOpenAPISecurityScheme extends OpenAPISecurityScheme {
|
|
|
10
10
|
sectionId: string;
|
|
11
11
|
scopes: string[];
|
|
12
12
|
'x-defaultClientId'?: string;
|
|
13
|
+
'x-defaultClientSecret'?: string;
|
|
14
|
+
'x-defaultUsername'?: string;
|
|
15
|
+
'x-defaultPassword'?: string;
|
|
16
|
+
'x-defaultToken'?: {
|
|
17
|
+
access_token: string;
|
|
18
|
+
token_type?: string;
|
|
19
|
+
};
|
|
13
20
|
}
|
|
14
21
|
export interface SecurityRequirement {
|
|
15
22
|
schemes: ExtendedOpenAPISecurityScheme[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{isObject}from"@redocly/theme";import{areArraysEqual,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 getSelectedSecurityScheme(e,t){return e.find((e=>{const a=e.schemes.map((e=>e.id));return areArraysEqual(a,t||[])}))}function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u,activeSecuritySchemeIds:p}){var c,d,m;const h=l.server,y=e.servers.find((e=>e.url===h))||e.servers[0],f=getSelectedSecurityScheme(e.security,p),{securityHeaders:g,securityCookies:O,securityQueries:v,securityOAuth2ExtraCalls:S,basicAuth:T}=getSecurityData(f||(null===(c=e.security)||void 0===c?void 0:c[0]),r,l),C=(null===(d=null==e?void 0:e.requestBody)||void 0===d?void 0:d.content)&&getActiveMediaType(e.requestBody.content),b={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i,quiet:!0},E=u;let A=!1;const j=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=E.header)||void 0===t?void 0:t[e.name])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,b,s))}})).map((e=>((null==C?void 0:C.name)&&"content-type"===e.name.toLowerCase()&&(A=!0,e.value=C.name),e))).concat(g);!A&&(null==C?void 0:C.name)&&j.unshift({name:"Content-Type",value:null==C?void 0:C.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,b,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=E.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(O),k=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,b,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:isArrayOfObjects(null===(a=E.query)||void 0===a?void 0:a[i])&&JSON.stringify(deleteEmptyArrayItem(null===(r=E.query)||void 0===r?void 0:r[i]))||String((null===(s=E.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(v),P=`${null==y?void 0:y.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,w=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=E.path)||void 0===a?void 0:a[s])||n[s]||getParameterValue(r,s),e}),{}),R=null===(m=null==C?void 0:C.examples)||void 0===m?void 0:m[t],D=(null==C?void 0:C.examples)||{},[q]=Object.values(D),M=null==C?void 0:C.name.toLowerCase(),H=(null==E?void 0:E.body)||(null==R?void 0:R.value)||(null==q?void 0:q.value)||(null==C?void 0:C.schema)&&Sampler.sample(null==C?void 0:C.schema.rawSchema,Object.assign(Object.assign({},b),{format:M===MediaTypes.XML?"xml":"json"}),s);let N="",x=[];switch(normalizeMimeType(M)){case MediaTypes.JSON:N=JSON.stringify(getDataRequest(H,o));break;case MediaTypes.XML:N=H;break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:N=queryString.stringify(getDataRequest(H,o)),x=objectToHarParams(getDataRequest(H,o));break;default:N=String(H||"")}const U=N?{mimeType:(null==C?void 0:C.name)||MediaTypes.OCTET_STREAM,text:N,params:x}:void 0,z=e.responses.map((e=>e.code));return{method:e.httpVerb,url:P,httpVersion:"HTTP/1.1",cookies:_,headers:j,queryString:k,postData:U,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:S,basicAuth:T,pathParameters:w,serverVariables:l,allResponseCodes:z}}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,translate:o}){try{const{skipOptionalParameters:l,withOAuth2Call:u,spec:p,generatedPayloadSamplesMaxDepth:c,store:d}=i,m=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:l,withOAuth2Call:u,spec:p,generatedPayloadSamplesMaxDepth:c},{environment:n,requestValues:d.requestValues,activeSecuritySchemeIds:d.activeSecuritySchemeIds}),h=new HTTPSnippet(m);return langToSnippetConfig[e]?h.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):o("openapi.unsupportedLanguage","Language is not supported.")}catch(e){return console.error(e),o("openapi.failedToGenerateCodeSample","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:[]}}export function getDataRequest(e,t){if(e){if(isObject(e))return Object.keys(e).length>0&&0===Object.keys(t).length?e: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=[];if(Array.isArray(e))return e.map((e=>({name:`${t}`,value:String(e)})));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{isObject}from"@redocly/theme";import{areArraysEqual,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 getSelectedSecurityScheme(e,t){return e.find((e=>{const a=e.schemes.map((e=>e.id));return areArraysEqual(a,t||[])}))}function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u,activeSecuritySchemeIds:c}){var p,d,m;const y=l.server,h=e.servers.find((e=>e.url===y))||e.servers[0],f=getSelectedSecurityScheme(e.security,c),{securityHeaders:g,securityCookies:O,securityQueries:v,securityOAuth2ExtraCalls:S,basicAuth:T}=getSecurityData(f||(null===(p=e.security)||void 0===p?void 0:p[0]),r,l),_=(null===(d=null==e?void 0:e.requestBody)||void 0===d?void 0:d.content)&&getActiveMediaType(e.requestBody.content),C={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i,quiet:!0},b=u;let k=!1;const j=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=b.header)||void 0===t?void 0:t[e.name])||getParameterValue("header",e.name)||e.example||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,C,s))}})).map((e=>((null==_?void 0:_.name)&&"content-type"===e.name.toLowerCase()&&(k=!0,e.value=_.name),e))).concat(g);!k&&(null==_?void 0:_.name)&&j.unshift({name:"Content-Type",value:null==_?void 0:_.name});const E=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,e.example||Sampler.sample(e.schema.rawSchema,C,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=b.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(O),A=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,e.example||Sampler.sample(e.schema.rawSchema,C,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:isArrayOfObjects(null===(a=b.query)||void 0===a?void 0:a[i])&&JSON.stringify(deleteEmptyArrayItem(null===(r=b.query)||void 0===r?void 0:r[i]))||String((null===(s=b.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(v),P=`${null==h?void 0:h.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,w=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=b.path)||void 0===a?void 0:a[s])||t.example||n[s]||getParameterValue(r,s),e}),{}),x=null===(m=null==_?void 0:_.examples)||void 0===m?void 0:m[t],R=(null==_?void 0:_.examples)||{},[D]=Object.values(R),q=null==_?void 0:_.name.toLowerCase(),M=(null==b?void 0:b.body)||(null==x?void 0:x.value)||(null==D?void 0:D.value)||(null==_?void 0:_.schema)&&Sampler.sample(null==_?void 0:_.schema.rawSchema,Object.assign(Object.assign({},C),{format:q===MediaTypes.XML?"xml":"json"}),s);let H="",N=[];switch(normalizeMimeType(q)){case MediaTypes.JSON:H=JSON.stringify(getDataRequest(M,o));break;case MediaTypes.XML:H=M;break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:H=queryString.stringify(getDataRequest(M,o)),N=objectToHarParams(getDataRequest(M,o));break;default:H=String(M||"")}const U=H?{mimeType:(null==_?void 0:_.name)||MediaTypes.OCTET_STREAM,text:H,params:N}:void 0,$=e.responses.map((e=>e.code));return{method:e.httpVerb,url:P,httpVersion:"HTTP/1.1",cookies:E,headers:j,queryString:A,postData:U,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:S,basicAuth:T,pathParameters:w,serverVariables:l,allResponseCodes:$}}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,translate:o}){try{const{skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p,store:d}=i,m=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:l,withOAuth2Call:u,spec:c,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:d.requestValues,activeSecuritySchemeIds:d.activeSecuritySchemeIds}),y=new HTTPSnippet(m);return langToSnippetConfig[e]?y.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):o("openapi.unsupportedLanguage","Language is not supported.")}catch(e){return console.error(e),o("openapi.failedToGenerateCodeSample","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),c={access_token:u["x-defaultAccessToken"],token_type:u["x-defaultTokenType"],client_id:u["x-defaultClientId"],client_secret:u["x-defaultClientSecret"]},p=u["x-defaultUsername"],d=u["x-defaultPassword"];switch(u.type){case"openIdConnect":null===(r=l.securityHeaders)||void 0===r||r.push({name:"Authorization",value:c.access_token?`${c.token_type||"Bearer"} ${c.access_token}`:e.token?`${c.token_type||e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=c.access_token?`${c.token_type||"Bearer"} ${c.access_token}`: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,Object.assign(Object.assign({},e),{client_id:c.client_id||e.client_id,client_secret:c.client_secret||e.client_secret}))):u.flows.password&&t&&l.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,Object.assign(Object.assign({},e),{client_id:c.client_id||e.client_id,client_secret:c.client_secret||e.client_secret}))),null===(s=l.securityHeaders)||void 0===s||s.push({name:"Authorization",value:a});break}case"apiKey":{const t=c.access_token||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:p||e.username||`<${StringUtility.toSnakeCase("Username")}>`,password:d||e.password||`<${StringUtility.toSnakeCase("Password")}>`};else{const t=(null==c?void 0:c.access_token)||(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:[]}}export function getDataRequest(e,t){if(e){if(isObject(e))return Object.keys(e).length>0&&0===Object.keys(t).length?e: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=[];if(Array.isArray(e))return e.map((e=>({name:`${t}`,value:String(e)})));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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"url-template": "^2.0.8",
|
|
45
45
|
"util": "~0.12.5",
|
|
46
46
|
"@redocly/config": "0.20.2",
|
|
47
|
-
"@redocly/replay": "0.9.
|
|
47
|
+
"@redocly/replay": "0.9.3"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@shikijs/transformers": "1.24.0",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"webpack": "5.94.0",
|
|
96
96
|
"webpack-cli": "5.1.4",
|
|
97
97
|
"webpack-dev-server": "5.1.0",
|
|
98
|
-
"@redocly/theme": "0.
|
|
98
|
+
"@redocly/theme": "0.49.0"
|
|
99
99
|
},
|
|
100
100
|
"scripts": {
|
|
101
101
|
"start": "npm run copy-highlight-hook && webpack serve --mode=development --hot",
|