@redocly/openapi-docs 3.10.0-next.5 → 3.10.0-next.7
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 +2066 -1899
- package/lib/components/ContentItems/useScrollOnRender.d.ts +1 -1
- package/lib/components/Download/DownloadSpecification.js +1 -1
- package/lib/components/ExpandAllButton/ExpandAllButton.js +1 -1
- package/lib/components/Language/LanguageList.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/utils.js +1 -1
- package/lib/components/Replay/Replay.js +1 -1
- package/lib/components/RequestSamples/Example.js +1 -1
- package/lib/components/RequestSamples/RequestSamples.js +1 -1
- package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
- package/lib/components/Samples/ExampleSwitch.js +1 -1
- package/lib/components/ServerListDropdown/ServerListDropdown.js +1 -1
- package/lib/components/common/Fields/fields.d.ts +1 -1
- package/lib/hooks/useOtelTelemetry.d.ts +2 -3
- package/lib/icons/CurlIcon/CurlIcon.d.ts +5 -3
- package/lib/icons/CurlIcon/CurlIcon.js +14 -1
- package/lib/models/schema.js +1 -1
- package/lib/types/open-api.d.ts +0 -3
- package/lib/utils/openapi.js +1 -1
- package/lib/utils/replaceVariables.d.ts +2 -2
- package/lib/utils/replaceVariables.js +1 -1
- package/lib-esm/components/ContentItems/useScrollOnRender.d.ts +1 -1
- package/lib-esm/components/Download/DownloadSpecification.js +1 -1
- package/lib-esm/components/ExpandAllButton/ExpandAllButton.js +1 -1
- package/lib-esm/components/Language/LanguageList.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/utils.js +1 -1
- package/lib-esm/components/Replay/Replay.js +1 -1
- package/lib-esm/components/RequestSamples/Example.js +1 -1
- package/lib-esm/components/RequestSamples/RequestSamples.js +1 -1
- package/lib-esm/components/ResponseSamples/ResponseSamples.js +1 -1
- package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
- package/lib-esm/components/ServerListDropdown/ServerListDropdown.js +1 -1
- package/lib-esm/components/common/Fields/fields.d.ts +1 -1
- package/lib-esm/hooks/useOtelTelemetry.d.ts +2 -3
- package/lib-esm/icons/CurlIcon/CurlIcon.d.ts +5 -3
- package/lib-esm/icons/CurlIcon/CurlIcon.js +14 -1
- package/lib-esm/models/schema.js +1 -1
- package/lib-esm/types/open-api.d.ts +0 -3
- package/lib-esm/utils/openapi.js +1 -1
- package/lib-esm/utils/replaceVariables.d.ts +2 -2
- package/lib-esm/utils/replaceVariables.js +1 -1
- package/package.json +14 -14
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect}from"react";import{MimeLabel,Container,Select}from"../common";import{SelectOrLabel}from"../SelectOrLabel";import{normalizeText}from"../../utils";import{useOtelTelemetry}from"../../hooks";export const ExampleSwitch=({exampleKey:e,examples:t,onChange:
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{useState,useEffect}from"react";import{MimeLabel,Container,Select}from"../common";import{SelectOrLabel}from"../SelectOrLabel";import{normalizeText}from"../../utils";import{useOtelTelemetry}from"../../hooks";export const ExampleSwitch=({exampleKey:e,examples:t,onChange:a,className:l})=>{var m;const o=useOtelTelemetry(),r=Object.keys(t),s=e?r.indexOf(e):0,[i,n]=useState(s>-1?s:0);useEffect((()=>n(s>-1?s:0)),[e,s]);const c=r.map(((e,a)=>({value:normalizeText(t[e].summary)||e,idx:a})));return c.length<2?null:_jsx(Container,{"data-testid":"example-switch",className:l,children:_jsx(SelectOrLabel,{Select:Select,Label:MimeLabel,variant:"dark",fullWidth:!0,options:c,value:null===(m=c[i])||void 0===m?void 0:m.value,onChange:({idx:e})=>{o.send({type:"openapi_docs.examples_switcher.clicked",payload:{example:r[e],number_of_examples:r.length}}),n(e),a(r[e])}})})};
|
|
2
2
|
//# sourceMappingURL=ExampleSwitch.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo,useCallback}from"react";import{Dropdown,DropdownMenu}from"@redocly/theme";import{useAtom}from"jotai";import{HttpVerb}from"../common";import{PathWrapper,Path,StyledCopyButton,StyledDropdownMenuItem}from"./styled";import{PanelItem}from"../PanelItem";import{joinWithSeparator}from"../../services";import{environmentAtom}from"../../jotai/app";import{useActiveWithFallback,useOtelTelemetry}from"../../hooks";import{getServerEnvName}from"../../utils/environments";export const ServerListDropdown=({operation:e,className:r})=>{const t=useOtelTelemetry(),[[o],s]=useAtom(environmentAtom),
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo,useCallback}from"react";import{Dropdown,DropdownMenu}from"@redocly/theme";import{useAtom}from"jotai";import{HttpVerb}from"../common";import{PathWrapper,Path,StyledCopyButton,StyledDropdownMenuItem}from"./styled";import{PanelItem}from"../PanelItem";import{joinWithSeparator}from"../../services";import{replaceVariables}from"../../utils";import{environmentAtom}from"../../jotai/app";import{useActiveWithFallback,useOtelTelemetry}from"../../hooks";import{getServerEnvName}from"../../utils/environments";export const ServerListDropdown=({operation:e,className:r})=>{const t=useOtelTelemetry(),[[o],s]=useAtom(environmentAtom),a=useActiveWithFallback(e.servers.map((e=>Object.assign(Object.assign({},e),{key:e.url}))),o.server),n=useCallback((e=>{e.stopPropagation()}),[]),i=useCallback((r=>()=>{1!==e.servers.length&&(s({environment:getServerEnvName(r)}),t.send({type:"openapi_docs.switch_servers.clicked",payload:{server:getServerEnvName(r)}}))}),[e.servers.length,s,t]),m=useMemo((()=>e.servers.map((r=>{const t=joinWithSeparator(replaceVariables(r),e.path);return _jsx(StyledDropdownMenuItem,{onAction:i(r),children:_jsx(PanelItem,{header:r.description,title:t,actions:[_jsx(StyledCopyButton,{data:t,toasterPlacement:"left",onCopyClick:n},t)],active:r.url===a,withCheckmark:!0})},t)}))),[e.servers,e.path,i,n,a]);return _jsx(Dropdown,{className:r,trigger:_jsxs(PathWrapper,{variant:"ghost",children:[_jsx(HttpVerb,{color:e.httpVerb,children:e.httpVerb}),_jsx(Path,{children:e.path})]}),withArrow:!0,children:_jsx(DropdownMenu,{children:m})})};
|
|
2
2
|
//# sourceMappingURL=ServerListDropdown.js.map
|
|
@@ -35,4 +35,4 @@ export declare const ConstraintItem: import("styled-components").StyledComponent
|
|
|
35
35
|
export declare const ToggleButton: import("styled-components").StyledComponent<import("react").FC<import("@redocly/theme").ButtonProps>, any, import("@redocly/theme").ButtonProps & {
|
|
36
36
|
variant: "link";
|
|
37
37
|
size: "small";
|
|
38
|
-
}, "
|
|
38
|
+
}, "variant" | "size">;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
};
|
|
1
|
+
import { useThemeHooks } from '@redocly/theme';
|
|
2
|
+
export declare function useOtelTelemetry(): ReturnType<ReturnType<typeof useThemeHooks>['useOtelTelemetry']>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
1
|
+
type IconProps = React.SVGProps<SVGSVGElement>;
|
|
2
|
+
export declare const Icon: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const CurlIcon: import("styled-components").StyledComponent<(props: IconProps) => import("react/jsx-runtime").JSX.Element, any, {
|
|
3
4
|
'data-component-name': string;
|
|
4
|
-
}, "data-component-name">;
|
|
5
|
+
} & IconProps, "data-component-name">;
|
|
6
|
+
export {};
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled from"styled-components";export const Icon=
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled from"styled-components";export const Icon=C=>_jsxs("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 24 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},C,{children:[_jsxs("g",{clipPath:"url(#clip0_3789_6604)",children:[_jsx("path",{d:"M22.2305 2.73601C21.6963 2.73601 21.264 2.30296 21.264 1.76946C21.264 1.2352 21.6963 0.802917 22.2305 0.802917C22.764 0.802917 23.1971 1.2352 23.1971 1.76946C23.1971 2.30296 22.764 2.73601 22.2305 2.73601ZM12.6313 19.2502C12.097 19.2502 11.6647 18.8172 11.6647 18.2837C11.6647 17.7494 12.097 17.3171 12.6313 17.3171C13.1648 17.3171 13.5971 17.7494 13.5971 18.2837C13.5971 18.8172 13.1648 19.2502 12.6313 19.2502ZM22.2305 0C21.2533 0 20.4611 0.792261 20.4611 1.76946C20.4611 1.97799 20.5136 2.17206 20.5798 2.35776L12.2789 16.585C11.4768 16.7532 10.8618 17.4313 10.8618 18.2837C10.8618 19.2609 11.6541 20.0531 12.6313 20.0531C13.6077 20.0531 14.4 19.2609 14.4 18.2837C14.4 18.0873 14.3475 17.9077 14.2889 17.7312L22.6316 3.45749C23.4094 3.27103 24 2.60434 24 1.76946C24 0.792261 23.2077 0 22.2305 0Z",className:"path-primary"}),_jsx("path",{d:"M14.9906 2.73601C14.4563 2.73601 14.024 2.30296 14.024 1.76946C14.024 1.2352 14.4563 0.802917 14.9906 0.802917C15.5241 0.802917 15.9564 1.2352 15.9564 1.76946C15.9564 2.30296 15.5241 2.73601 14.9906 2.73601ZM5.39059 19.2502C4.85708 19.2502 4.42404 18.8172 4.42404 18.2837C4.42404 17.7494 4.85708 17.3171 5.39059 17.3171C5.92485 17.3171 6.35713 17.7494 6.35713 18.2837C6.35713 18.8172 5.92485 19.2502 5.39059 19.2502ZM14.9906 0C14.0126 0 13.2211 0.792261 13.2211 1.76946C13.2211 1.97799 13.2736 2.17206 13.3399 2.35776L5.03898 16.585C4.23606 16.7532 3.62112 17.4313 3.62112 18.2837C3.62112 19.2609 4.41339 20.0531 5.39059 20.0531C6.36779 20.0531 7.16005 19.2609 7.16005 18.2837C7.16005 18.0873 7.10754 17.9077 7.04894 17.7312L15.3917 3.45749C16.1695 3.27103 16.7601 2.60434 16.7601 1.76946C16.7601 0.792261 15.967 0 14.9906 0Z",className:"path-secondary"}),_jsx("path",{d:"M1.76946 5.69424C2.30296 5.69424 2.73601 6.12729 2.73601 6.66079C2.73601 7.19429 2.30296 7.62733 1.76946 7.62733C1.2352 7.62733 0.802917 7.19429 0.802917 6.66079C0.802917 6.12729 1.2352 5.69424 1.76946 5.69424ZM1.76946 8.43025C2.74666 8.43025 3.53892 7.63799 3.53892 6.66079C3.53892 6.4652 3.48565 6.28483 3.42705 6.10826C3.19264 5.4058 2.55031 4.89133 1.76946 4.89133C1.64465 4.89133 1.53506 4.93775 1.41709 4.96286C0.614936 5.1303 0 5.8084 0 6.66079C0 7.63799 0.792261 8.43025 1.76946 8.43025Z",className:"path-secondary"}),_jsx("path",{d:"M0.802917 12.8436C0.802917 12.3094 1.23596 11.8771 1.76946 11.8771C2.30296 11.8771 2.73601 12.3094 2.73601 12.8436C2.73601 13.3771 2.30296 13.8094 1.76946 13.8094C1.23596 13.8094 0.802917 13.3771 0.802917 12.8436ZM3.53892 12.8436C3.53892 12.6473 3.48565 12.4677 3.42705 12.2911C3.19264 11.5886 2.55107 11.0742 1.76946 11.0742C1.64465 11.0742 1.53506 11.1206 1.41709 11.145C0.614936 11.3131 0 11.9912 0 12.8436C0 13.8201 0.792261 14.6131 1.76946 14.6131C2.74666 14.6131 3.53892 13.8201 3.53892 12.8436Z",className:"path-secondary"})]}),_jsx("defs",{children:_jsx("clipPath",{id:"clip0_3789_6604",children:_jsx("rect",{width:"24",height:"20.0531",fill:"white"})})})]}));export const CurlIcon=styled(Icon).attrs((()=>({"data-component-name":"icons/CurlIcon"})))`
|
|
2
|
+
.path-primary {
|
|
3
|
+
fill: #0c544c;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.path-secondary {
|
|
7
|
+
fill: #073551;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
html.dark & .path-primary,
|
|
11
|
+
html.dark & .path-secondary {
|
|
12
|
+
fill: #ffffff;
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
2
15
|
//# sourceMappingURL=CurlIcon.js.map
|
package/lib-esm/models/schema.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,
|
|
1
|
+
var __rest=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(i[r[n]]=e[r[n]])}return i};import{isObject}from"@redocly/theme";import{REDOCLY_TEAMS_RBAC}from"@redocly/config";import{pushRef}from"../services/OpenAPIParser";import{detectType,extractExtensions,getValueFromMdParsedExtension,humanizeConstraints,isNamedDefinition,isPrimitiveType,JsonPointer,pluralizeType,sortByDeprecated,sortByRequired}from"../utils";import{getField}from"./field";export function getSchema({parser:e,schemaOrRef:t,pointer:i,options:r,isChild:n=!1,baseRefsStack:s=[],deps:o,absolutePointer:a}){var l,p,d,m,c,f,y,u,O;const{resolved:h,refsStack:v}=e.deref(t,s,!0),b=t.$ref||i||a||"",P=pushRef(v,b),g=e.mergeAllOf(h,b,P,t.$ref||a),x=g.type||detectType(g),A={operationPointer:(null===(l=o.operation)||void 0===l?void 0:l.pointer)||a||"",schemaOrRef:t,isChild:n,typePrefix:"",pointer:b,absolutePointer:a,refsStack:P,rawSchema:h,type:x,isCircular:!!g["x-circular-ref"],isComplex:!!g["x-complex"],title:g.title||isNamedDefinition(b)&&JsonPointer.baseName(b)||"",description:getValueFromMdParsedExtension(g,"description")||"",format:g.format,enum:g.enum||[],example:g.example,deprecated:!!g.deprecated,pattern:g.pattern,externalDocs:g.externalDocs,displayFormat:g.format,isPrimitive:isPrimitiveType(g,x),constraints:humanizeConstraints(g),default:g.default,readOnly:!!g.readOnly,writeOnly:!!g.writeOnly,const:g.const||"",contentEncoding:g.contentEncoding,contentMediaType:g.contentMediaType,minItems:g.minItems,maxItems:g.maxItems,nullable:g.nullable||g["x-nullable"],schema:g,displayType:"",items:void 0,extensions:void 0,oneOfType:"",discriminatorProp:void 0,oneOf:void 0,[REDOCLY_TEAMS_RBAC]:g[REDOCLY_TEAMS_RBAC],"x-enumDescriptions":getValueFromMdParsedExtension(g,"x-enumDescriptions"),get fields(){if(!A.isCircular&&!A.isComplex&&(hasType(A,"object")||hasType(A,"array")&&hasArrayItems(g)))return buildFields(e,g,b,r,P,o)}};if((g.nullable||g["x-nullable"])&&(Array.isArray(A.type)&&!A.type.some((e=>null===e||"null"===e))?A.type=[...A.type,"null"]:Array.isArray(A.type)||null===A.type&&"null"===A.type||(A.type=[A.type,"null"])),A.displayType=Array.isArray(A.type)?A.type.map((e=>null===e?"null":e)).join(" or "):A.type,A.isCircular)return A;if(g.if&&g.then||g.if&&g.else){const{oneOf:t,oneOfType:i}=initConditionalOperators({schema:g,parser:e,pointer:b,options:r,deps:o,refsStack:P});return A.oneOf=t,A.oneOfType=i,A}if(!n&&void 0!==getDiscriminator(g)){const{oneOf:t,discriminatorProp:i}=initDiscriminator({schema:g,parser:e,deps:o,mergedSchema:g,options:r,pointer:b,refsStack:P});return A.oneOf=t,A.discriminatorProp=i,A}if(n&&Array.isArray(g.oneOf)&&g.oneOf.find((e=>e.$ref===b))&&delete g.oneOf,void 0!==g.oneOf){const{oneOf:t,displayType:i}=initOneOf({schemaOneOf:g.oneOf,parser:e,deps:o,options:r,pointer:b,refsStack:P,schema:g});return A.oneOfType="One of",t&&(A.oneOf=t),A.displayType=i,void 0!==g.anyOf&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${b}`),A}if(void 0!==g.anyOf){const{oneOf:t,displayType:i}=initOneOf({schemaOneOf:g.anyOf,parser:e,deps:o,options:r,pointer:b,refsStack:P,schema:g});return t&&(A.oneOf=t),A.displayType=i,A.oneOfType="Any of",A}if(hasType(A,"array")&&(g.items&&!hasArrayItems(g)&&(A.items=getSchema({parser:e,schemaOrRef:g.items,pointer:b+"/items",options:r,baseRefsStack:P,deps:o,absolutePointer:JsonPointer.join(g.absolutePointer||"",["items"])})),A.displayType=g.prefixItems||Array.isArray(g.items)?"items":pluralizeType((null===(p=A.items)||void 0===p?void 0:p.displayType)||A.displayType),A.displayFormat=(null===(d=A.items)||void 0===d?void 0:d.format)||"",A.typePrefix=(null===(m=A.items)||void 0===m?void 0:m.typePrefix)||"Array of ",A.title=A.title||(null===(c=A.items)||void 0===c?void 0:c.title)||"",A.isPrimitive=void 0!==(null===(f=A.items)||void 0===f?void 0:f.isPrimitive)?null===(y=A.items)||void 0===y?void 0:y.isPrimitive:A.isPrimitive,void 0===A.example&&void 0!==(null===(u=A.items)||void 0===u?void 0:u.example)&&(A.example=[A.items.example]),(null===(O=A.items)||void 0===O?void 0:O.isPrimitive)&&(A.enum=A.items.enum,A["x-enumDescriptions"]=getValueFromMdParsedExtension(A.items,"x-enumDescriptions")),Array.isArray(A.type))){const e=A.type.filter((e=>"array"!==e));e.length&&(A.displayType+=` or ${e.join(" or ")}`)}return r.showExtensions&&(A.extensions=extractExtensions(g,r.showExtensions)),A}function initDiscriminator({schema:e,parser:t,pointer:i,options:r,refsStack:n,deps:s,mergedSchema:o}){const a=getDiscriminator(e),l=null==a?void 0:a.propertyName,p=t.findDerived([...o["x-parentRefs"]||[],i]);if(e.oneOf)for(const t of e.oneOf){if(void 0===t.$ref)continue;const e=JsonPointer.baseName(t.$ref);p[t.$ref]=e}const d=(null==a?void 0:a.mapping)||{};let m=(null==a?void 0:a["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(m=!1);const c={};for(const e in d){const t=d[e];Array.isArray(c[t])?c[t].push(e):c[t]=[e]}const f=m?Object.assign({},c):Object.assign(Object.assign({},p),c);let y=[];for(const e of Object.keys(f)){const t=f[e];if(Array.isArray(t))for(const i of t)y.push({$ref:e,name:i});else y.push({$ref:e,name:t})}const u=Object.keys(d);0!==u.length&&(y=y.sort(((e,t)=>{const i=u.indexOf(e.name),r=u.indexOf(t.name);return i<0&&r<0?e.name.localeCompare(t.name):i<0?1:r<0?-1:i-r})));return{oneOf:y.map((({$ref:e,name:i},a)=>{const l=getSchema({parser:t,schemaOrRef:{$ref:e},pointer:e,options:r,isChild:!0,baseRefsStack:n.slice(0,-1),deps:Object.assign(Object.assign({},s),{parentFieldFullPath:s.parentFieldFullPath?s.parentFieldFullPath+"&d="+a:"&d="+a.toString()}),absolutePointer:o.absolutePointer});return l.title=i,l})),discriminatorProp:l}}function initOneOf({schemaOneOf:e,parser:t,refsStack:i,pointer:r,schema:n,options:s,deps:o}){const a=e.map(((e,a)=>{const{resolved:l,refsStack:p}=t.deref(e,i,!0),d=t.mergeAllOf(l,r+"/oneOf/"+a,p),m=isNamedDefinition(e.$ref)&&!d.title?JsonPointer.baseName(e.$ref):`${d.title||""}${d.const&&JSON.stringify(d.const)||""}`;return getSchema({parser:t,schemaOrRef:Object.assign(Object.assign({},d),{title:m,allOf:[Object.assign(Object.assign({},n),{oneOf:void 0,anyOf:void 0})],discriminator:l.allOf?void 0:d.discriminator}),pointer:e.$ref||r+"/oneOf/"+a,options:s,baseRefsStack:p,deps:Object.assign(Object.assign({},o),{parentFieldFullPath:o.parentFieldFullPath?o.parentFieldFullPath+"&oneOf="+a:"&oneOf="+a.toString()})})})),l=a.map((e=>{let t=e.typePrefix+(e.title?`${e.title} (${e.displayType})`:e.displayType);return t.indexOf(" or ")>-1&&(t=`(${t})`),t})).join(" or ");return{oneOf:a,displayType:l}}function initConditionalOperators({schema:e,parser:t,pointer:i,options:r,refsStack:n,deps:s}){const{if:o,else:a={},then:l={}}=e,p=__rest(e,["if","else","then"]);return{oneOf:[{allOf:[p,l,o],title:o&&o["x-displayName"]||(null==o?void 0:o.title)||"case 1"},{allOf:[p,a],title:a&&a["x-displayName"]||(null==a?void 0:a.title)||"case 2"}].map(((e,o)=>getSchema({parser:t,schemaOrRef:Object.assign({},e),pointer:i+"/oneOf/"+o,options:r,baseRefsStack:n,deps:Object.assign(Object.assign({},s),{parentFieldFullPath:s.parentFieldFullPath?s.parentFieldFullPath+"&oneOf="+o:"&oneOf="+o.toString()})}))),oneOfType:"One of"}}function normalizeField(e,t,i){return e||(console.warn(`Field "${t}" is invalid, skipping.\n Field must be an object but got ${typeof e} at "${i}"`),{})}function buildFields(e,t,i,r,n,s){let o=t.properties||(hasType(t,"array")?t.prefixItems||t.items:void 0)||{};const a=t.patternProperties||{},l=t.additionalProperties||t.unevaluatedProperties,p=t.prefixItems?t.items:t.additionalItems,d=t.default||{};let m=Object.keys(o).map((a=>{var l;const p=normalizeField(o[a],a,i),m=void 0!==t.required&&t.required.indexOf(a)>-1;return getField(e,{name:t.properties?a:`[${a}]`,required:m,schema:Object.assign(Object.assign({},p),{example:(null===(l=t.example)||void 0===l?void 0:l[a])||p.example,default:void 0===p.default&&d?d[a]:p.default})},i+"/properties/"+a,r,s,n,JsonPointer.join(t.absolutePointer||"",["properties",a]))}));return r.sortRequiredPropsFirst&&(m=sortByRequired(m,t.required)),m.push(...Object.keys(a).map((t=>{const o=normalizeField(a[t],t,i);return getField(e,{name:t,required:!1,schema:o,kind:"patternProperties"},`${i}/patternProperties/${t}`,r,s,n)}))),(isObject(l)||!0===l)&&m.push(getField(e,{name:(isObject(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},i+"/additionalProperties",r,s,n,JsonPointer.join(t.absolutePointer||"",["additionalProperties"]))),m.push(...buildAdditionalItems({parser:e,schema:p,fieldsCount:m.length,$ref:i,options:r,refsStack:n,deps:s})),sortByDeprecated(m)}function buildAdditionalItems({parser:e,schema:t=!1,fieldsCount:i,$ref:r,options:n,refsStack:s,deps:o}){return"boolean"==typeof t?t?[getField(e,{name:`[${i}...]`,schema:{},kind:"additionalItems"},`${r}/additionalItems`,n,o,s)]:[]:Array.isArray(t)?[...t.map(((t,a)=>getField(e,{name:`[${i+a}]`,schema:t,kind:"additionalItems"},`${r}/additionalItems/${a}`,n,o,s)))]:isObject(t)?[getField(e,{name:`[${i}...]`,schema:t,kind:"additionalItems"},`${r}/additionalItems`,n,o,s)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function hasType(e,t){return e.type===t||Array.isArray(e.type)&&e.type.includes(t)}function hasArrayItems(e){return Boolean(Array.isArray(e.items)||Array.isArray(e.prefixItems))}
|
|
2
2
|
//# sourceMappingURL=schema.js.map
|
|
@@ -47,9 +47,6 @@ export interface OpenAPIServer extends ParsedDescription {
|
|
|
47
47
|
description?: string;
|
|
48
48
|
variables?: OpenAPIServerVariables;
|
|
49
49
|
}
|
|
50
|
-
export type OpenAPIServerWithVariables = Omit<OpenAPIServer, 'url'> & {
|
|
51
|
-
url: string | Record<string, unknown>;
|
|
52
|
-
};
|
|
53
50
|
export interface OpenAPIServerVariables {
|
|
54
51
|
[name: string]: OpenAPIServerVariable;
|
|
55
52
|
}
|
package/lib-esm/utils/openapi.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{dirname}from"path";import UrlTemplate from"url-template";import{IS_BROWSER}from"@redocly/theme";import{deleteEmptyArrayItem,isArrayOfObjects,isNumeric,removeQueryStringAndHash,resolveUrl,sanitizeItemId,normalizeText,getValueFromMdParsedExtension}from"./helpers";import{DEFAULT_TAG_SLUG,MediaTypes}from"../constants";import{JsonPointer}from"./JsonPointer";import{joinWithSeparator}from"../services";import{tryDecodeURIComponent}from"./string";import{replaceVariables}from"./replaceVariables";function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}export function isStatusCode(e){return"default"===e||isNumeric(e)||isWildcardStatusCode(e)}export function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};export function isOperationName(e){return e in operationNames}export function getOperationName(e){const{operationId:r,pathName:t}=e,i=normalizeText(getValueFromMdParsedExtension(e,"description"));return normalizeText(getValueFromMdParsedExtension(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}export function getOperationId(e,r){var t;return(null==r?void 0:r.id)?joinWithSeparator(r.id,sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer))).toLowerCase():(null===(t=e.tags)||void 0===t?void 0:t.length)?sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer)):sanitizeItemId(e.operationId?joinWithSeparator(DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};export function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}export function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(e["x-complex"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}export function isJsonLike(e){return-1!==e.search(/json/i)}export function isXmlLike(e){return-1!==(null==e?void 0:e.search(/xml/i))}export function isFormUrlEncoded(e){return e===MediaTypes.URL_ENCODED}export function isMultipartFormData(e){return e===MediaTypes.MULTIPART}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return UrlTemplate.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=UrlTemplate.parse(`{${i}${t}}`);return tryDecodeURIComponent(n.expand({[i]:r}))}export function urlFormEncodePayload(e,r={}){if(Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((t=>{const i=e[t],{style:n="form",explode:o=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,o,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+n),""}})).join("&")}function serializePathParameter(e,r,t,i){const n=t?"*":"";let o="";"label"===r?o=".":"matrix"===r&&(o=";");const a="__redoc_param_name__";return UrlTemplate.parse(`{${o}${a}${n}}`).expand({[a]:i}).replace(/__redoc_param_name__/g,e)}export function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)||"object"==typeof n?t?serializeFormValue(e,t,n):delimitedEncodeField(i,e,"%20"):(console.warn("The style spaceDelimited is applicable to arrays or objects"),"");case"pipeDelimited":return Array.isArray(n)||"object"==typeof n?t?serializeFormValue(e,t,n):delimitedEncodeField(i,e,"|"):(console.warn("The style pipeDelimited is applicable to arrays or objects"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return isArrayOfObjects(i)&&(i=deleteEmptyArrayItem(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}export function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}export function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:o}=e;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,o)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}export function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;export function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}export function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}export function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,o="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,a="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${o?"( ":"[ "}${i} .. ${n}${a?" )":" ]"}`:void 0!==n?`${a?"< ":"<= "}${n}`:void 0!==i?`${o?"> ":">= "}${i}`:void 0}export function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint(1===e.minProperties&&1===e.maxProperties?"property":"properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const o=humanizeMultipleOfConstraint(e.multipleOf);void 0!==o&&r.push(o);const a=humanizeNumberRange(e);return void 0!==a&&r.push(a),e.uniqueItems&&r.push("unique"),r}export function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}export function sortByDeprecated(e){return e.sort(((e,r)=>Number(e.deprecated)-Number(r.deprecated)))}export function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const o={};t.forEach((r=>{({resolved:r}=e.deref(r)),o[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!o[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer.join(n,["parameters",String(r)])})))]}export function normalizeServers(e,r){const t=void 0===e?removeQueryStringAndHash((()=>{if(!IS_BROWSER)return globalThis.SSR_HOSTNAME||"";const e=window.location.href;return e.endsWith(".html")?dirname(e):e})()):dirname(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{const r=replaceVariables(e);return Object.assign(Object.assign({},e),{url:(i=r,resolveUrl(t,i)),description:e.description||""});var i}))}export const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);export function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-complex":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideReplay":!0,"x-feedback":!0,"x-badges":!0,"x-assertionType":!0,"x-rbac":!0}||e.startsWith("x-parsed-md-")}export function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}export function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}export function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}
|
|
1
|
+
import{dirname}from"path";import UrlTemplate from"url-template";import{IS_BROWSER}from"@redocly/theme";import{deleteEmptyArrayItem,isArrayOfObjects,isNumeric,removeQueryStringAndHash,resolveUrl,sanitizeItemId,normalizeText,getValueFromMdParsedExtension}from"./helpers";import{DEFAULT_TAG_SLUG,MediaTypes}from"../constants";import{JsonPointer}from"./JsonPointer";import{joinWithSeparator}from"../services";import{tryDecodeURIComponent}from"./string";function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}export function isStatusCode(e){return"default"===e||isNumeric(e)||isWildcardStatusCode(e)}export function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};export function isOperationName(e){return e in operationNames}export function getOperationName(e){const{operationId:r,pathName:t}=e,i=normalizeText(getValueFromMdParsedExtension(e,"description"));return normalizeText(getValueFromMdParsedExtension(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}export function getOperationId(e,r){var t;return(null==r?void 0:r.id)?joinWithSeparator(r.id,sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer))).toLowerCase():(null===(t=e.tags)||void 0===t?void 0:t.length)?sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer)):sanitizeItemId(e.operationId?joinWithSeparator(DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};export function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}export function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(e["x-complex"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}export function isJsonLike(e){return-1!==e.search(/json/i)}export function isXmlLike(e){return-1!==(null==e?void 0:e.search(/xml/i))}export function isFormUrlEncoded(e){return e===MediaTypes.URL_ENCODED}export function isMultipartFormData(e){return e===MediaTypes.MULTIPART}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return UrlTemplate.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=UrlTemplate.parse(`{${i}${t}}`);return tryDecodeURIComponent(n.expand({[i]:r}))}export function urlFormEncodePayload(e,r={}){if(Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((t=>{const i=e[t],{style:n="form",explode:o=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,o,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+n),""}})).join("&")}function serializePathParameter(e,r,t,i){const n=t?"*":"";let o="";"label"===r?o=".":"matrix"===r&&(o=";");const a="__redoc_param_name__";return UrlTemplate.parse(`{${o}${a}${n}}`).expand({[a]:i}).replace(/__redoc_param_name__/g,e)}export function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)||"object"==typeof n?t?serializeFormValue(e,t,n):delimitedEncodeField(i,e,"%20"):(console.warn("The style spaceDelimited is applicable to arrays or objects"),"");case"pipeDelimited":return Array.isArray(n)||"object"==typeof n?t?serializeFormValue(e,t,n):delimitedEncodeField(i,e,"|"):(console.warn("The style pipeDelimited is applicable to arrays or objects"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return isArrayOfObjects(i)&&(i=deleteEmptyArrayItem(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}export function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}export function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:o}=e;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,o)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}export function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;export function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}export function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}export function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,o="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,a="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${o?"( ":"[ "}${i} .. ${n}${a?" )":" ]"}`:void 0!==n?`${a?"< ":"<= "}${n}`:void 0!==i?`${o?"> ":">= "}${i}`:void 0}export function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint(1===e.minProperties&&1===e.maxProperties?"property":"properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const o=humanizeMultipleOfConstraint(e.multipleOf);void 0!==o&&r.push(o);const a=humanizeNumberRange(e);return void 0!==a&&r.push(a),e.uniqueItems&&r.push("unique"),r}export function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}export function sortByDeprecated(e){return e.sort(((e,r)=>Number(e.deprecated)-Number(r.deprecated)))}export function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const o={};t.forEach((r=>{({resolved:r}=e.deref(r)),o[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!o[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer.join(n,["parameters",String(r)])})))]}export function normalizeServers(e,r){const t=void 0===e?removeQueryStringAndHash((()=>{if(!IS_BROWSER)return globalThis.SSR_HOSTNAME||"";const e=window.location.href;return e.endsWith(".html")?dirname(e):e})()):dirname(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,resolveUrl(t,r)),description:e.description||""});var r}))}export const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);export function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-complex":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideReplay":!0,"x-feedback":!0,"x-badges":!0,"x-assertionType":!0,"x-rbac":!0}||e.startsWith("x-parsed-md-")}export function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}export function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}export function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}
|
|
2
2
|
//# sourceMappingURL=openapi.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function replaceVariables(server:
|
|
1
|
+
import type { OpenAPIServer } from '../types';
|
|
2
|
+
export declare function replaceVariables(server: OpenAPIServer): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
export function replaceVariables(e){let{url:r,variables:t}=e;if(t)for(const e in t){const a=t[e];if(a.default){const t=new RegExp(`{${e}}`,"g");r=r.replace(t,a.default)}}return r}
|
|
2
2
|
//# sourceMappingURL=replaceVariables.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.10.0-next.
|
|
3
|
+
"version": "3.10.0-next.7",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"peerDependencies": {
|
|
19
19
|
"@redocly/theme": ">=0.54.0-next.0",
|
|
20
20
|
"core-js": "^3.1.4",
|
|
21
|
-
"react": "^
|
|
22
|
-
"react-dom": "^
|
|
21
|
+
"react": "^19.1.0",
|
|
22
|
+
"react-dom": "^19.1.0",
|
|
23
23
|
"styled-components": "^4.1.1 || ^5.3.11"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
@@ -45,21 +45,21 @@
|
|
|
45
45
|
"url-template": "^2.0.8",
|
|
46
46
|
"util": "~0.12.5",
|
|
47
47
|
"web-vitals": "3.3.1",
|
|
48
|
-
"@redocly/config": "0.
|
|
49
|
-
"@redocly/replay": "0.13.0-next.
|
|
48
|
+
"@redocly/config": "0.25.0",
|
|
49
|
+
"@redocly/replay": "0.13.0-next.6"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@shikijs/transformers": "1.24.0",
|
|
53
|
-
"@testing-library/jest-dom": "6.
|
|
54
|
-
"@testing-library/react": "
|
|
55
|
-
"@testing-library/user-event": "14.
|
|
53
|
+
"@testing-library/jest-dom": "6.6.3",
|
|
54
|
+
"@testing-library/react": "16.3.0",
|
|
55
|
+
"@testing-library/user-event": "14.6.1",
|
|
56
56
|
"@types/jest": "29.5.11",
|
|
57
57
|
"@types/jest-when": "3.5.5",
|
|
58
58
|
"@types/json-pointer": "1.0.34",
|
|
59
59
|
"@types/json-schema": "^7.0.15",
|
|
60
60
|
"@types/node": "22.15.3",
|
|
61
|
-
"@types/react": "
|
|
62
|
-
"@types/react-dom": "
|
|
61
|
+
"@types/react": "^19.1.4",
|
|
62
|
+
"@types/react-dom": "^19.1.4",
|
|
63
63
|
"@types/styled-components": "5.1.34",
|
|
64
64
|
"@types/webpack": "5.28.5",
|
|
65
65
|
"@types/webpack-env": "1.18.5",
|
|
@@ -77,9 +77,9 @@
|
|
|
77
77
|
"json-schema": "0.4.0",
|
|
78
78
|
"outdent": "0.8.0",
|
|
79
79
|
"prettier-2": "npm:prettier@2.8.8",
|
|
80
|
-
"react": "
|
|
81
|
-
"react-dom": "
|
|
82
|
-
"react-is": "
|
|
80
|
+
"react": "^19.1.0",
|
|
81
|
+
"react-dom": "^19.1.0",
|
|
82
|
+
"react-is": "19.1.0",
|
|
83
83
|
"rimraf": "5.0.7",
|
|
84
84
|
"shiki": "1.24.4",
|
|
85
85
|
"string-replace-loader": "3.1.0",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"webpack": "5.94.0",
|
|
93
93
|
"webpack-cli": "5.1.4",
|
|
94
94
|
"webpack-dev-server": "5.1.0",
|
|
95
|
-
"@redocly/theme": "0.54.0-next.
|
|
95
|
+
"@redocly/theme": "0.54.0-next.6"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|
|
98
98
|
"start": "npm run copy-highlight-hook && webpack serve --mode=development --hot",
|