@redocly/openapi-docs 3.12.0-next.4 → 3.12.0-next.6
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 +1074 -1074
- package/lib/components/Replay/EmbeddedReplay.js +3 -3
- package/lib/models/mediaType.js +1 -1
- package/lib/models/schema.js +2 -2
- package/lib/services/code-samples/generator.d.ts +3 -0
- package/lib/services/code-samples/generator.js +1 -1
- package/package.json +3 -3
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{Suspense as y,lazy as h,memo as S,useEffect as x,useState as E}from"react";import{useAtomValue as o}from"jotai";import{globalOptionsAtom as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{Suspense as y,lazy as h,memo as S,useEffect as x,useState as E}from"react";import{useAtomValue as o}from"jotai";import{globalOptionsAtom as O}from"../../jotai/store.js";import{operationStore as R}from"../../jotai/operation.js";import{appStore as L,environmentsAtom as T}from"../../jotai/app.js";import{useTranslate as V}from"../../hooks/index.js";import{convertOperationToReplayValue as j}from"./utils.js";import{styled as i}from"../../styled-components.js";const A=h(async()=>import("@redocly/replay").then(t=>({default:t.EmbeddedReplay})));function C({activeOperationId:t,corsProxyUrl:p,fullOpenApi:s,pointer:r}){const n=V(),{mockServer:m}=o(O),l=o(R(r)),a=o(L),c=o(T),[f,u]=E(!1);return x(()=>{u(!0)},[]),e(k,{children:f?e(y,{fallback:e(d,{children:n("openapi.loading","Loading...")}),children:e(A,{activeOperationId:t,activeOperationPointer:r,api:s,settings:{environment:a.environment,predefinedEnvValues:c,corsProxyUrl:p,mockServer:m,disableCollectionsTab:!0,convertOperationToReplayValue:(v,b,g)=>j(v,b,g,void 0,l,a)}})}):e(d,{children:n("openapi.loading","Loading...")})})}const F=S(C),d=i.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
justify-content: center;
|
|
4
4
|
align-items: center;
|
|
5
5
|
min-height: 100px;
|
|
6
|
-
`,k=
|
|
6
|
+
`,k=i.div`
|
|
7
7
|
border: 1px solid var(--border-color-primary);
|
|
8
8
|
border-radius: var(--border-radius-lg);
|
|
9
9
|
padding: 0;
|
|
10
|
-
`;export{
|
|
10
|
+
`;export{F as EmbeddedReplay};
|
package/lib/models/mediaType.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{getSchema as E}from"./schema.js";import{isFormUrlEncoded as P,isJsonLike as b,isXmlLike as k,isMultipartFormData as j,JsonPointer as R,mapValues as w}from"../utils/index.js";import{getExamples as r}from"./example.js";import{safeSample as v}from"../services/code-samples/index.js";function g({parser:i,info:{encoding:e,schema:a},schema:l,mime:m,options:{isRequestType:s,onlyRequiredInSamples:u,generatedSamplesMaxDepth:p,format:d="json"}}){const f={skipReadOnly:s,skipWriteOnly:!s,skipNonRequired:s&&u,maxSampleDepth:p,quiet:!0,format:d};let n={};if(l&&l.oneOf)for(const o of l.oneOf){const t=v(o.rawSchema,f,i.definition);t!==null&&(l.discriminatorProp&&typeof t=="object"&&t&&t[l.discriminatorProp]&&(t[l.discriminatorProp]=o.title),n[o.title]=r({parser:i,infoOrRef:{value:t},mime:m,encoding:e}))}else if(l){const o=v(a,f,i.definition);o!==null?n={default:r({parser:i,infoOrRef:{value:o},mime:m,encoding:e})}:n={default:{value:null,rawValue:"null"}}}else n={default:{value:null,rawValue:"null"}};return n}function J(i,e,a,l,m,{operation:s,type:u,response:p,absolutePointer:d=""}){let f,n;const o=l.schema&&E({parser:i,schemaOrRef:l.schema,pointer:"",absolutePointer:R.join(d,["content",e,"schema"]),options:m,deps:{operation:s,type:u,response:p}}),{onlyRequiredInSamples:t,generatedSamplesMaxDepth:c}=m,{encoding:x,examples:O,example:S}=l;return m.unstable_skipSamples||(O!==void 0?f=w(O,h=>r({parser:i,infoOrRef:h,mime:e,encoding:x})):S!==void 0?f={default:r({parser:i,infoOrRef:{value:i.deref(S).resolved},mime:e,encoding:x})}:b(e)||k(e)?f=g({parser:i,info:l,schema:o,mime:e,options:{isRequestType:a,onlyRequiredInSamples:t,generatedSamplesMaxDepth:c,format:k(e)?"xml":"json"}}):(P(e)||j(e))&&(n=g({parser:i,info:l,schema:o,mime:e,options:{isRequestType:a,onlyRequiredInSamples:t,generatedSamplesMaxDepth:c}}))),{examples:f,schema:o,name:e,isRequestType:a,formExamples:n,onlyRequiredInSamples:t,operation:s}}export{J as getMediaType};
|
package/lib/models/schema.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isObject as I}from"@redocly/theme";import{REDOCLY_TEAMS_RBAC as
|
|
2
|
-
Field must be an object but got ${typeof i} at "${
|
|
1
|
+
import{isObject as I}from"@redocly/theme";import{REDOCLY_TEAMS_RBAC as h}from"@redocly/config";import{pushRef as M}from"../services/OpenAPIParser.js";import{detectType as w,extractExtensions as q,getValueFromMdParsedExtension as S,humanizeConstraints as C,isNamedDefinition as k,isPrimitiveType as E,JsonPointer as T,pluralizeType as B,sortByDeprecated as z,sortByRequired as L}from"../utils/index.js";import{getField as b}from"./field.js";function F({parser:i,schemaOrRef:n,pointer:u,options:a,isChild:y=!1,baseRefsStack:f=[],deps:o,absolutePointer:p}){const{resolved:c,refsStack:m}=i.deref(n,f,!0),r=n.$ref||u||p||"",l=M(m,r),e=i.mergeAllOf(c,r,l,n.$ref||p),d=e.type||w(e),t={operationPointer:o.operation?.pointer||p||"",schemaOrRef:n,isChild:y,typePrefix:"",pointer:r,absolutePointer:p,refsStack:l,rawSchema:c,type:d,isCircular:!!e["x-circular-ref"],isComplex:!!e["x-complex"],title:e.title||k(r)&&T.baseName(r)||"",description:S(e,"description")||"",format:e.format,enum:e.enum||[],example:e.example,deprecated:!!e.deprecated,pattern:e.pattern,externalDocs:e.externalDocs,displayFormat:e.format,isPrimitive:E(e,d),constraints:C(e),default:e.default,readOnly:!!e.readOnly,writeOnly:!!e.writeOnly,const:e.const||"",contentEncoding:e.contentEncoding,contentMediaType:e.contentMediaType,minItems:e.minItems,maxItems:e.maxItems,nullable:e.nullable||e["x-nullable"],schema:e,displayType:"",items:void 0,extensions:void 0,oneOfType:"",discriminatorProp:void 0,oneOf:void 0,[h]:e[h],"x-enumDescriptions":S(e,"x-enumDescriptions"),get fields(){if(!t.isCircular&&!t.isComplex&&($(t,"object")||$(t,"array")&&D(e)))return _(i,e,r,a,l,o)}};if((e.nullable||e["x-nullable"])&&(Array.isArray(t.type)&&!t.type.some(s=>s===null||s==="null")?t.type=[...t.type,"null"]:!Array.isArray(t.type)&&(t.type!==null||t.type!=="null")&&(t.type=[t.type,"null"])),t.displayType=Array.isArray(t.type)?t.type.map(s=>s===null?"null":s).join(" or "):t.type,t.isCircular)return t;if(e.if&&e.then||e.if&&e.else){const{oneOf:s,oneOfType:P}=V({schema:e,parser:i,pointer:r,options:a,deps:o,refsStack:l});return t.oneOf=s,t.oneOfType=P,t}if(!y&&v(e)!==void 0){const{oneOf:s,discriminatorProp:P}=J({schema:e,parser:i,deps:o,mergedSchema:e,options:a,pointer:r,refsStack:l});return t.oneOf=s,t.discriminatorProp=P,t}else y&&Array.isArray(e.oneOf)&&e.oneOf.find(s=>s.$ref===r)&&delete e.oneOf;if(e.oneOf!==void 0){const{oneOf:s,displayType:P}=j({schemaOneOf:e.oneOf,parser:i,deps:o,options:a,pointer:r,refsStack:l,schema:e});return t.oneOfType="One of",s&&(t.oneOf=s),t.displayType=P,e.anyOf!==void 0&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${r}`),t}if(e.anyOf!==void 0){const{oneOf:s,displayType:P}=j({schemaOneOf:e.anyOf,parser:i,deps:o,options:a,pointer:r,refsStack:l,schema:e});return s&&(t.oneOf=s),t.displayType=P,t.oneOfType="Any of",t}if($(t,"array")&&(e.items&&!D(e)&&(t.items=F({parser:i,schemaOrRef:e.items,pointer:r+"/items",options:a,baseRefsStack:l,deps:o,absolutePointer:T.join(e.absolutePointer||"",["items"])})),t.displayType=e.prefixItems||Array.isArray(e.items)?"items":B(t.items?.displayType||t.displayType),t.displayFormat=t.items?.format||"",t.typePrefix=t.items?.typePrefix||"Array of ",t.title=t.title||t.items?.title||"",t.isPrimitive=t.items?.isPrimitive!==void 0?t.items?.isPrimitive:t.isPrimitive,t.example===void 0&&t.items?.example!==void 0&&(t.example=[t.items.example]),t.items?.isPrimitive&&(t.enum=t.items.enum,t["x-enumDescriptions"]=S(t.items,"x-enumDescriptions")),Array.isArray(t.type))){const s=t.type.filter(P=>P!=="array");s.length&&(t.displayType+=` or ${s.join(" or ")}`)}return a.showExtensions&&(t.extensions=q(e,a.showExtensions)),t}function J({schema:i,parser:n,pointer:u,options:a,refsStack:y,deps:f,mergedSchema:o}){const p=v(i),c=p?.propertyName,m=n.findDerived([...o["x-parentRefs"]||[],u]);if(i.oneOf)for(const O of i.oneOf){if(O.$ref===void 0)continue;const x=T.baseName(O.$ref);m[O.$ref]=x}const r=p?.mapping||{};let l=p?.["x-explicitMappingOnly"]||!1;Object.keys(r).length===0&&(l=!1);const e={};for(const O in r){const x=r[O];Array.isArray(e[x])?e[x].push(O):e[x]=[O]}const d=l?{...e}:{...m,...e};let t=[];for(const O of Object.keys(d)){const x=d[O];if(Array.isArray(x))for(const A of x)t.push({$ref:O,name:A});else t.push({$ref:O,name:x})}const s=Object.keys(r);return s.length!==0&&(t=t.sort((O,x)=>{const A=s.indexOf(O.name),g=s.indexOf(x.name);return A<0&&g<0?O.name.localeCompare(x.name):A<0?1:g<0?-1:A-g})),{oneOf:t.map(({$ref:O,name:x},A)=>{const g=F({parser:n,schemaOrRef:{$ref:O},pointer:O,options:a,isChild:!0,baseRefsStack:y.slice(0,-1),deps:{...f,parentFieldFullPath:f.parentFieldFullPath?f.parentFieldFullPath+"&d="+A:"&d="+A.toString()},absolutePointer:o.absolutePointer});return g.title=x,g}),discriminatorProp:c}}function j({schemaOneOf:i,parser:n,refsStack:u,pointer:a,schema:y,options:f,deps:o}){const p=i.map((m,r)=>{const{resolved:l,refsStack:e}=n.deref(m,u,!0),d=n.mergeAllOf(l,a+"/oneOf/"+r,e),t=k(m.$ref)&&!d.title?T.baseName(m.$ref):`${d.title||""}${d.const&&JSON.stringify(d.const)||""}`;return F({parser:n,schemaOrRef:{...d,title:t,allOf:[{...y,oneOf:void 0,anyOf:void 0}],discriminator:l.allOf?void 0:d.discriminator},pointer:m.$ref||a+"/oneOf/"+r,options:f,baseRefsStack:e,deps:{...o,parentFieldFullPath:o.parentFieldFullPath?o.parentFieldFullPath+"&oneOf="+r:"&oneOf="+r.toString()}})}),c=[...new Set(p.map(m=>{let r=m.typePrefix+(m.title&&!f.hideSchemaTitles?`${m.title} (${m.displayType})`:m.displayType);return r.indexOf(" or ")>-1&&(r=`(${r})`),r}))].join(" or ");return{oneOf:p,displayType:c}}function V({schema:i,parser:n,pointer:u,options:a,refsStack:y,deps:f}){const{if:o,else:p={},then:c={},...m}=i;return{oneOf:[{allOf:[m,c,o],title:o&&o["x-displayName"]||o?.title||"case 1"},{allOf:[m,p],title:p&&p["x-displayName"]||p?.title||"case 2"}].map((d,t)=>F({parser:n,schemaOrRef:{...d},pointer:u+"/oneOf/"+t,options:a,baseRefsStack:y,deps:{...f,parentFieldFullPath:f.parentFieldFullPath?f.parentFieldFullPath+"&oneOf="+t:"&oneOf="+t.toString()}})),oneOfType:"One of"}}function R(i,n,u){return i||(console.warn(`Field "${n}" is invalid, skipping.
|
|
2
|
+
Field must be an object but got ${typeof i} at "${u}"`),{})}function _(i,n,u,a,y,f){let o=n.properties||($(n,"array")?n.prefixItems||n.items:void 0)||{};const p=n.patternProperties||{},c=n.additionalProperties||n.unevaluatedProperties,m=n.prefixItems?n.items:n.additionalItems,r=n.default||{};let l=Object.keys(o).map(e=>{const d=R(o[e],e,u),t=n.required===void 0?!1:n.required.indexOf(e)>-1;return b(i,{name:n.properties?e:`[${e}]`,required:t,schema:{...d,example:n.example?.[e]||d.example,default:d.default===void 0&&r?r[e]:d.default}},u+"/properties/"+e,a,f,y,T.join(n.absolutePointer||"",["properties",e]))});return a.sortRequiredPropsFirst&&(l=L(l,n.required)),l.push(...Object.keys(p).map(e=>{const d=R(p[e],e,u);return b(i,{name:e,required:!1,schema:d,kind:"patternProperties"},`${u}/patternProperties/${e}`,a,f,y)})),(I(c)||c===!0)&&l.push(b(i,{name:(I(c)&&c["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:c===!0?{}:c,kind:"additionalProperties"},u+"/additionalProperties",a,f,y,T.join(n.absolutePointer||"",["additionalProperties"]))),l.push(...Y({parser:i,schema:m,fieldsCount:l.length,$ref:u,options:a,refsStack:y,deps:f})),z(l)}function Y({parser:i,schema:n=!1,fieldsCount:u,$ref:a,options:y,refsStack:f,deps:o}){return typeof n=="boolean"?n?[b(i,{name:`[${u}...]`,schema:{},kind:"additionalItems"},`${a}/additionalItems`,y,o,f)]:[]:Array.isArray(n)?[...n.map((p,c)=>b(i,{name:`[${u+c}]`,schema:p,kind:"additionalItems"},`${a}/additionalItems/${c}`,y,o,f))]:I(n)?[b(i,{name:`[${u}...]`,schema:n,kind:"additionalItems"},`${a}/additionalItems`,y,o,f)]:[]}function v(i){return i.discriminator||i["x-discriminator"]}function $(i,n){return i.type===n||Array.isArray(i.type)&&i.type.includes(n)}function D(i){return!!(Array.isArray(i.items)||Array.isArray(i.prefixItems))}export{F as getSchema};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as Sampler from 'openapi-sampler';
|
|
2
|
+
import type { JSONSchema7 } from 'json-schema';
|
|
1
3
|
import type { OperationModel } from '../../models/index.js';
|
|
2
4
|
import type * as HAR from './har.js';
|
|
3
5
|
import type { Languages } from './types.js';
|
|
@@ -14,6 +16,7 @@ export type CustomHAR = HAR.Request & {
|
|
|
14
16
|
serverVariables?: Record<string, string>;
|
|
15
17
|
allResponseCodes?: string[];
|
|
16
18
|
};
|
|
19
|
+
export declare function safeSample(schema: JSONSchema7, options: Sampler.Options, document: object): any;
|
|
17
20
|
export declare function getCodeSample({ lang, operation, exampleName, pathParams, properties, options, environment, translate, }: {
|
|
18
21
|
lang: Languages;
|
|
19
22
|
operation: OperationModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as oe from"openapi-sampler";import L from"deepmerge";import{isObject as ce}from"@redocly/theme";import{areArraysEqual as ie,serializeParameterValue as P,getSecurityDetails as ue,getParameterValue as M,queryString as j,isArrayOfObjects as le,deleteEmptyArrayItem as pe}from"../../utils/index.js";import{normalizeMimeType as me,arrayMergeStrategy as z}from"../utils.js";import{MediaTypes as m}from"../../constants.js";import{HTTPSnippet as fe}from"./httpsnippet/index.js";import{getActiveMediaType as de}from"../../models/mediaContent.js";import J from"./httpsnippet/helpers/string-utility.js";function v(t,a,s){try{return oe.sample(t,a,s)}catch(c){return console.error(`Error sampling schema: ${c.message}`),null}}function ye(t,a){return t.find(s=>{const c=s.schemes.map(i=>i.id);return ie(c,a||[])})}function he(t,{exampleName:a="",skipOptionalParameters:s=!1,withOAuth2Call:c=!1,spec:i,generatedPayloadSamplesMaxDepth:r=8,pathParams:o={},properties:u={},activeMimeName:n=""},{environment:d,requestValues:k,activeSecuritySchemeIds:T}){const l=d.server,b=t.servers.find(e=>e.url===l)||t.servers[0],w=ye(t.security,T),{securityHeaders:A,securityCookies:F,securityQueries:X,securityOAuth2ExtraCalls:K,basicAuth:Q}=Se(w||t.security?.[0],c,d),p=t?.requestBody?.content&&de(t.requestBody.content,n),O={skipNonRequired:s,skipReadOnly:!0,maxSampleDepth:r,quiet:!0},h=k;let q=!1;const H=t.parameters.filter(e=>e.in==="header").filter(e=>!(s&&!e.required)).map(e=>({name:e.name,value:h.header?.[e.name]||M("header",e.name)||e.serverValues?.[l]?.example||e.example||P(e,v(e.schema.rawSchema,O,i))})).map(e=>(p?.name&&e.name.toLowerCase()==="content-type"&&(q=!0,e.value=p.name),e)).concat(A);!q&&p?.name&&H.unshift({name:"Content-Type",value:p?.name});const G=t.parameters.filter(e=>e.in==="cookie").filter(e=>!(s&&!e.required)).map(e=>j.parse(P(e,e.serverValues?.[l]?.example||e.example||v(e.schema.rawSchema,O,i)))).reduce((e,_)=>{for(const[y,S]of Object.entries(_))e.push({name:y,value:String(h.cookie?.[y]||S)});return e},[]).concat(F),W=t.parameters.filter(e=>e.in==="query").filter(e=>!(s&&!e.required)).map(e=>j.parse(P(e,e.serverValues?.[l]?.example||e.example||v(e.schema.rawSchema,O,i)))).reduce((e,_)=>{for(const[y,S]of Object.entries(_))e.push({name:y,value:le(h.query?.[y])&&JSON.stringify(pe(h.query?.[y]))||String(h.query?.[y]||S)});return e},[]).concat(X),Z=b?.url.replace(/\/$/,""),ee=t.path.replace(/^\//,""),te=`${Z}/${ee}`,re=t.parameters.filter(e=>e.in==="path").reduce((e,_)=>{const{in:y,name:S}=_;return e[S]=h.path?.[S]||_.serverValues?.[l]?.example||_.example||o[S]||M(y,S),e},{}),E=p?.name.toLowerCase(),I=E===m.MULTIPART||E===m.URL_ENCODED,R=I?p?.formExamples?.[a]:p?.examples?.[a],ae=I?p?.formExamples||{}:p?.examples||{},[U]=Object.values(ae),N=R?.serverValues?.[l]?.value||U?.serverValues?.[l]?.value,D=e=>!e||typeof e!="object"||!p?.schema?.rawSchema?null:v(ge(p.schema.rawSchema,e),{...O,format:"xml"},i),C=(()=>{if(h?.body)return h.body;if(E===m.XML){const e=D(N)||D(R?.value)||D(U?.value);if(e)return e;if(p?.schema)return v(p.schema.rawSchema,{...O,format:"xml"},i)}else{const e=p?.schema&&v(p.schema.rawSchema,{...O,format:"json"},i);return N||R?.value||U?.value||e}return""})();let g="",$=[];switch(me(E)){case m.JSON:g=JSON.stringify(V(C,u));break;case m.XML:g=C;break;case m.URL_ENCODED:case m.MULTIPART:g=j.stringify(V(C,u)),$=Y(V(C,u));break;default:g=String(C||"")}const se=g?{mimeType:p?.name||m.OCTET_STREAM,text:g,params:$}:void 0,ne=t.responses.map(e=>e.code);return{method:t.httpVerb,url:te,httpVersion:"HTTP/1.1",cookies:G,headers:H,queryString:W,postData:se,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:K,basicAuth:Q,pathParameters:re,serverVariables:d,allResponseCodes:ne}}const f={withImports:!0,withComments:!1},x={curl:{code:"shell",defaultTarget:"curl",defaultOptions:{...f,short:!0}},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:{...f,withImports:!1}},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:{...f}},Python:{code:"python",defaultTarget:"requests",defaultOptions:{...f}},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:{...f}},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:{...f}},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:{...f}},"C#+Newtonsoft":{code:"csharpNewtonsoft",defaultTarget:"httpclient",defaultOptions:{...f}},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:{...f}},PHP:{code:"php",defaultTarget:"curl",defaultOptions:{...f}},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:{...f}},R:{code:"r",defaultTarget:"httr",defaultOptions:{...f}}};function Ue({lang:t,operation:a,exampleName:s,pathParams:c,properties:i,options:r={},environment:o,translate:u}){try{const{skipOptionalParameters:n,withOAuth2Call:d,spec:k,generatedPayloadSamplesMaxDepth:T,store:l,activeMimeName:b}=r,w=he(a,{exampleName:s,pathParams:c,properties:i,skipOptionalParameters:n,withOAuth2Call:d,spec:k,generatedPayloadSamplesMaxDepth:T,activeMimeName:b},{environment:o,requestValues:l.requestValues,activeSecuritySchemeIds:l.activeSecuritySchemeIds}),A=new fe(w);return x[t]?A.convert(x[t].code,x[t].defaultTarget,{...x[t].defaultOptions,...r}):u("openapi.unsupportedLanguage","Language is not supported.")}catch(n){return console.error(n),u("openapi.failedToGenerateCodeSample","Failed to generate code sample.")}}function Se(t,a,s){const c={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0},i=s?.server;for(const r of t?.schemes||[]){const o=ue(r.id,s),u=i&&r.serverValues&&r.serverValues[i],n={access_token:u?.["x-defaultAccessToken"]||r["x-defaultAccessToken"],token_type:u?.["x-defaultTokenType"]||r["x-defaultTokenType"],client_id:u?.["x-defaultClientId"]||r["x-defaultClientId"],client_secret:u?.["x-defaultClientSecret"]||r["x-defaultClientSecret"]},d=u?.["x-defaultUsername"]||r["x-defaultUsername"],k=u?.["x-defaultPassword"]||r["x-defaultPassword"],T=u&&"scopes"in u?u.scopes||[]:r.scopes||[];switch(r.type){case"openIdConnect":c.securityHeaders?.push({name:"Authorization",value:n.access_token?`${n.token_type||"Bearer"} ${n.access_token}`:o.token?`${n.token_type||o.token.token_type||"Bearer"} ${o.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const l=n.access_token?`${n.token_type||"Bearer"} ${n.access_token}`:o.token?`${o.token.token_type||"Bearer"} ${o.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";r.flows.clientCredentials&&a?c.securityOAuth2ExtraCalls.push(Te(r.flows.clientCredentials,T,{...o,client_id:n.client_id||o.client_id,client_secret:n.client_secret||o.client_secret})):r.flows.password&&a&&c.securityOAuth2ExtraCalls.push(_e(r.flows.password,T,{...o,client_id:n.client_id||o.client_id,client_secret:n.client_secret||o.client_secret})),c.securityHeaders?.push({name:"Authorization",value:l});break}case"apiKey":{const l=n.access_token||o.raw||"YOUR_API_KEY_HERE";r.in==="header"&&c.securityHeaders?.push({name:r.name,value:l}),r.in==="cookie"&&c.securityCookies.push({name:r.name,value:l}),r.in==="query"&&c.securityQueries.push({name:r.name,value:l});break}case"http":if(r.scheme==="basic")c.basicAuth={username:d||o.username||`<${J.toSnakeCase("Username")}>`,password:k||o.password||`<${J.toSnakeCase("Password")}>`};else{const l=n?.access_token||o.token?.access_token||`<YOUR_${r.bearerFormat||"TOKEN"}_HERE>`;c.securityHeaders?.push({name:"Authorization",value:`${Oe(r.scheme||"bearer")} ${l}`})}break}}return c}function _e(t,a,s){return{method:"POST",url:t.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:m.URL_ENCODED},{name:"Accept",value:m.JSON}],queryString:[],postData:{mimeType:m.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:s.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:s.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:s.username||"<username>"},{name:"password",value:s.password||"<password>"},a.length?{name:"scope",value:a.join(" ")}:void 0].filter(B)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function Te(t,a,s){return{method:"POST",url:t.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:m.URL_ENCODED},{name:"Accept",value:m.JSON}],queryString:[],postData:{mimeType:m.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:s.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:s.client_secret||"YOUR_CLIENT_SECRET"},a.length?{name:"scope",value:a.join(" ")}:void 0].filter(B)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function V(t,a){if(t){if(ce(t))return Object.keys(t).length>0&&Object.keys(a).length===0?t:L(t,a,{arrayMerge:z});try{return L(JSON.parse(t),a,{arrayMerge:z})}catch{return!1}}return!1}function Y(t,a=""){const s=[];for(const[c,i]of Object.entries(t)){const r=a?`${a}[${c}]`:c;if(typeof i=="object"&&i!==null)s.push(...Y(i,r));else{const o=Array.isArray(t)&&typeof i=="string"&&a?a:r;s.push({name:o,value:String(i)})}}return s}function B(t){return t!==void 0}function Oe(t){return t.charAt(0).toUpperCase()+t.slice(1)}function ge(t,a){if(!t||typeof t!="object"||!a||typeof a!="object")return t;const s=JSON.parse(JSON.stringify(t));function c(i,r){if(!(!i||!r||typeof i!="object"||typeof r!="object")&&i.properties){for(const o in i.properties)if(r[o]!==void 0){const u=i.properties[o],n=r[o];if(u.type==="object"&&typeof n=="object"&&!Array.isArray(n))c(u,n);else if(u.type==="array"&&Array.isArray(n)&&n.length>0){const d=n[0];u.items&&u.items.properties&&c(u.items,d)}else u.example=n}}}return c(s,a),s}export{Oe as capitalizeFirst,Ue as getCodeSample,V as getDataRequest,B as isDefined,v as safeSample};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.12.0-next.
|
|
3
|
+
"version": "3.12.0-next.6",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"util": "~0.12.5",
|
|
38
38
|
"web-vitals": "3.3.1",
|
|
39
39
|
"@redocly/config": "0.26.3",
|
|
40
|
-
"@redocly/replay": "0.15.0-next.
|
|
40
|
+
"@redocly/replay": "0.15.0-next.3"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@jest/globals": "29.5.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"typescript": "5.6.2",
|
|
75
75
|
"url": "~0.11.0",
|
|
76
76
|
"vite": "^6.3.5",
|
|
77
|
-
"@redocly/theme": "0.56.0-next.
|
|
77
|
+
"@redocly/theme": "0.56.0-next.2"
|
|
78
78
|
},
|
|
79
79
|
"scripts": {
|
|
80
80
|
"start": "npm run copy-highlight-hook && vite",
|