@redocly/openapi-docs 3.0.0-alpha.73 → 3.0.0-alpha.75
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/console.redocly-openapi-docs.min.js +5 -5
- package/dist/oauth2-redirect.js +5 -5
- package/dist/redocly-openapi-docs.min.js +1113 -1105
- package/lib/components/Fields/Examples.d.ts +2 -2
- package/lib/components/Fields/FieldDetails.js +1 -1
- package/lib/components/PageFooter/PageFooter.d.ts +1 -1
- package/lib/components/Parameters/DropdownWithinHeader.d.ts +2 -2
- package/lib/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -1
- package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +2 -1
- package/lib/components/Responses/OperationResponseList.d.ts +2 -2
- package/lib/components/SeeMore/SeeMore.js +1 -1
- package/lib/components/SideMenu/Actions.d.ts +2 -2
- package/lib/components/common/Portal/Portal.d.ts +2 -1
- package/lib/components/icons/LinkIcon.d.ts +2 -2
- package/lib/components/icons/SearchIcon.d.ts +2 -2
- package/lib/components/icons/Spinner.d.ts +2 -2
- package/lib/components/pluggable/PullRight.d.ts +2 -2
- package/lib/components/rightPanel/Console/Console.js +1 -1
- package/lib/utils/openapi.js +1 -1
- package/lib-esm/components/Fields/Examples.d.ts +2 -2
- package/lib-esm/components/Fields/FieldDetails.js +1 -1
- package/lib-esm/components/PageFooter/PageFooter.d.ts +1 -1
- package/lib-esm/components/Parameters/DropdownWithinHeader.d.ts +2 -2
- package/lib-esm/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +2 -1
- package/lib-esm/components/Responses/OperationResponseList.d.ts +2 -2
- package/lib-esm/components/SeeMore/SeeMore.js +1 -1
- package/lib-esm/components/SideMenu/Actions.d.ts +2 -2
- package/lib-esm/components/common/Portal/Portal.d.ts +2 -1
- package/lib-esm/components/icons/LinkIcon.d.ts +2 -2
- package/lib-esm/components/icons/SearchIcon.d.ts +2 -2
- package/lib-esm/components/icons/Spinner.d.ts +2 -2
- package/lib-esm/components/pluggable/PullRight.d.ts +2 -2
- package/lib-esm/components/rightPanel/Console/Console.js +1 -1
- package/lib-esm/utils/openapi.js +1 -1
- package/package.json +5 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { FieldModel } from '../../models';
|
|
3
3
|
export declare function Examples({ field }: {
|
|
4
4
|
field: FieldModel;
|
|
5
|
-
}): JSX.Element | null;
|
|
5
|
+
}): React.JSX.Element | null;
|
|
6
6
|
export declare function getSerializedValue(field: FieldModel, example: any): any;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=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,l,r)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FieldDetails=void 0;const react_1=__importStar(require("react")),jotai_1=require("jotai"),common_1=require("../common"),ExternalDocumentation_1=require("../ExternalDocumentation"),Markdown_1=require("../Markdown"),services_1=require("../../services"),FieldDetail_1=require("./FieldDetail"),ConstraintsView_1=require("./ConstraintsView"),Extensions_1=require("./Extensions"),EnumValues_1=require("./EnumValues"),Examples_1=require("./Examples"),styled_1=require("./styled"),store_1=require("../../jotai/store"),MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[l,r]=(0,react_1.useState)(!1),{enumSkipQuotes:n,hideSchemaTitles:i,hideSchemaPattern:o}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{schema:c,description:u,example:s,deprecated:
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=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,l,r)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FieldDetails=void 0;const react_1=__importStar(require("react")),jotai_1=require("jotai"),common_1=require("../common"),ExternalDocumentation_1=require("../ExternalDocumentation"),Markdown_1=require("../Markdown"),services_1=require("../../services"),FieldDetail_1=require("./FieldDetail"),ConstraintsView_1=require("./ConstraintsView"),Extensions_1=require("./Extensions"),EnumValues_1=require("./EnumValues"),Examples_1=require("./Examples"),styled_1=require("./styled"),store_1=require("../../jotai/store"),MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[l,r]=(0,react_1.useState)(!1),{enumSkipQuotes:n,hideSchemaTitles:i,hideSchemaPattern:o}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{schema:c,description:u,example:s,deprecated:d,examples:m}=t,_=Boolean(n)||"header"===t.in;let p=null;if(e&&(void 0!==s||void 0!==m))if(void 0!==m)p=react_1.default.createElement(Examples_1.Examples,{field:t});else{const e=!!t.in;p=react_1.default.createElement(FieldDetail_1.FieldDetail,{label:"example",value:(0,Examples_1.getSerializedValue)(t,t.example),raw:e})}return react_1.default.createElement("div",null,react_1.default.createElement(styled_1.TypeWrapper,null,react_1.default.createElement(common_1.TypePrefix,null,c.typePrefix),react_1.default.createElement(common_1.TypeName,null,c.displayType),c.displayFormat&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.displayFormat,">"," "),c.contentEncoding&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.contentEncoding,">"," "),c.contentMediaType&&react_1.default.createElement(common_1.TypeFormat,null," ","<",c.contentMediaType,">"," "),c.title&&!i&&react_1.default.createElement(common_1.TypeTitle,null," (",c.title,") "),react_1.default.createElement(ConstraintsView_1.ConstraintsView,{constraints:c.constraints}),c.pattern&&!o&&react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(common_1.PatternLabel,null,l||c.pattern.length<45?c.pattern:`${c.pattern.substr(0,45)}...`),c.pattern.length>45&&react_1.default.createElement(common_1.ToggleButton,{onClick:()=>{r(!l)}},l?"Hide pattern":"Show pattern"))," ",c.isCircular&&react_1.default.createElement(common_1.RecursiveLabel,null,(0,services_1.l)("recursive"))),d&&react_1.default.createElement("div",null,react_1.default.createElement(common_1.DeprecatedLabel,null,(0,services_1.l)("deprecated"))),react_1.default.createElement(FieldDetail_1.FieldDetail,{raw:_,label:"default",value:c.default}),react_1.default.createElement(styled_1.FieldDescriptionWrapper,null,react_1.default.createElement(Markdown_1.Markdown,{source:u})),!a&&react_1.default.createElement(EnumValues_1.EnumValues,{type:c.type,values:c["x-enumDescriptions"]||c.enum})," ",p,react_1.default.createElement(Extensions_1.Extensions,{extensions:Object.assign(Object.assign({},t.extensions),c.extensions)}),c.externalDocs&&react_1.default.createElement(ExternalDocumentation_1.ExternalDocumentation,{externalDocs:c.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&react_1.default.createElement(FieldDetail_1.FieldDetail,{label:"const",value:t.const})||null)}exports.FieldDetails=(0,react_1.memo)(FieldDetailsComponent);
|
|
2
2
|
//# sourceMappingURL=FieldDetails.js.map
|
|
@@ -9,6 +9,6 @@ interface PageFooterProps {
|
|
|
9
9
|
};
|
|
10
10
|
pagination: Pagination;
|
|
11
11
|
}
|
|
12
|
-
export declare function PageFooterComponent({ showNextButton, nextSectionLink, pagination, }: PageFooterProps): JSX.Element | null;
|
|
12
|
+
export declare function PageFooterComponent({ showNextButton, nextSectionLink, pagination, }: PageFooterProps): React.JSX.Element | null;
|
|
13
13
|
export declare const PageFooter: React.NamedExoticComponent<PageFooterProps>;
|
|
14
14
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { DropdownOrLabelProps } from '../DropdownOrLabel/DropdownOrLabel';
|
|
3
3
|
export declare function DropdownWithinHeader({ required, ...props }: DropdownOrLabelProps & {
|
|
4
4
|
required?: boolean;
|
|
5
|
-
}): JSX.Element;
|
|
5
|
+
}): React.JSX.Element;
|
|
@@ -3,4 +3,4 @@ import type { PropsWithChildren } from 'react';
|
|
|
3
3
|
import type { ProvidersProps, AppProviderProps, StoreProviderProps } from './types';
|
|
4
4
|
export declare const ThemeProviders: ({ options, children, customOptions, }: ProvidersProps) => JSX.Element;
|
|
5
5
|
export declare const AppProvider: ({ definitions, options, definitionUrl, definition, activeSampleLanguage, children, }: PropsWithChildren<AppProviderProps>) => JSX.Element | null;
|
|
6
|
-
export declare const StoreProvider: React.MemoExoticComponent<({ children, options: rawOptions, definitionUrl, definition, activeSampleLanguage, portalOptions, }: PropsWithChildren<StoreProviderProps>) => JSX.Element>;
|
|
6
|
+
export declare const StoreProvider: React.MemoExoticComponent<({ children, options: rawOptions, definitionUrl, definition, activeSampleLanguage, portalOptions, }: PropsWithChildren<StoreProviderProps>) => React.JSX.Element>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { PropsWithChildren } from 'react';
|
|
2
3
|
import type { RedoclyOpenAPIDocsProps, RedoclyOpenAPIDocsStandaloneProps } from './types';
|
|
3
|
-
export declare function RedoclyOpenAPIDocs({ onLoaded, children, store, }: PropsWithChildren<Partial<RedoclyOpenAPIDocsProps>>): JSX.Element | null;
|
|
4
|
+
export declare function RedoclyOpenAPIDocs({ onLoaded, children, store, }: PropsWithChildren<Partial<RedoclyOpenAPIDocsProps>>): React.JSX.Element | null;
|
|
4
5
|
export declare function RedoclyOpenAPIDocsStandalone({ definition, definitionUrl, options, activeItemId, activeSampleLanguage, activeDeepLink, }: RedoclyOpenAPIDocsStandaloneProps): JSX.Element;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { ResponseModel } from '../../models';
|
|
3
3
|
interface IOperationResponseList {
|
|
4
4
|
responses: ResponseModel[];
|
|
5
5
|
operationPointer: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const OperationResponseList: ({ responses, operationPointer }: IOperationResponseList) => JSX.Element;
|
|
7
|
+
export declare const OperationResponseList: ({ responses, operationPointer }: IOperationResponseList) => React.JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SeeMore=void 0;const styled_components_1=__importDefault(require("styled-components")),react_1=__importStar(require("react")),TOLERANCE_PX=20;function SeeMore({children:e,height:t}){const r=(0,react_1.createRef)(),[n,o]=react_1.default.useState(!1),[a,i]=(0,react_1.useState)(!1);(0,react_1.useLayoutEffect)((()=>{r.current&&r.current.clientHeight+
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SeeMore=void 0;const styled_components_1=__importDefault(require("styled-components")),react_1=__importStar(require("react")),TOLERANCE_PX=20;function SeeMore({children:e,height:t}){const r=(0,react_1.createRef)(),[n,o]=react_1.default.useState(!1),[a,i]=(0,react_1.useState)(!1);(0,react_1.useLayoutEffect)((()=>{r.current&&r.current.clientHeight+20<r.current.scrollHeight&&i(!0)}),[r]);return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(Container,{ref:r,className:n?"":"container",style:{height:n?"auto":t}},e),react_1.default.createElement(ButtonContainer,{dimmed:!n},a&&react_1.default.createElement(ButtonLinkStyled,{onClick:()=>{o(!n)}},n?"See less":"See more")))}exports.SeeMore=SeeMore;const Container=styled_components_1.default.div`
|
|
2
2
|
overflow-y: hidden;
|
|
3
3
|
`,ButtonContainer=styled_components_1.default.div`
|
|
4
4
|
text-align: center;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Actions: () => JSX.Element;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const Actions: () => React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { PropsWithChildren } from 'react';
|
|
2
3
|
interface PortalProps {
|
|
3
4
|
mountId?: string;
|
|
4
5
|
}
|
|
5
|
-
export declare const Portal: ({ children, mountId }: PropsWithChildren<PortalProps>) => JSX.Element;
|
|
6
|
+
export declare const Portal: ({ children, mountId }: PropsWithChildren<PortalProps>) => React.JSX.Element;
|
|
6
7
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { IconProps } from './types';
|
|
3
3
|
export declare const LinkIcon: import("styled-components").StyledComponent<({ className }: {
|
|
4
4
|
className?: string | undefined;
|
|
5
|
-
}) => JSX.Element, any, Pick<IconProps, "size">, never>;
|
|
5
|
+
}) => React.JSX.Element, any, Pick<IconProps, "size">, never>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
export declare const SearchIcon: import("styled-components").StyledComponent<({ className }: {
|
|
3
3
|
className?: string | undefined;
|
|
4
|
-
}) => JSX.Element, any, {
|
|
4
|
+
}) => React.JSX.Element, any, {
|
|
5
5
|
className: "search-icon";
|
|
6
6
|
}, "className">;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { IconProps } from './types';
|
|
3
|
-
export declare const Spinner: import("styled-components").StyledComponent<({ className }: Pick<IconProps, 'className' | 'color'>) => JSX.Element, any, Pick<IconProps, "color" | "className">, never>;
|
|
3
|
+
export declare const Spinner: import("styled-components").StyledComponent<({ className }: Pick<IconProps, 'className' | 'color'>) => React.JSX.Element, any, Pick<IconProps, "color" | "className">, never>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,s)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(s,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function i(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(r[o[s]]=e[o[s]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;const index_1=require("swagger-client/es/execute/index"),react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),shallowCopyForTryIt_1=require("./shallowCopyForTryIt"),string_1=require("../../../utils/string"),Panel_1=require("../../Panel"),helper_1=require("../../common/FileUpload/helper"),events_1=require("../../../events"),utils_1=require("../utils"),ResponsePanel_1=require("../ResponsePanel"),ConsoleTabs_1=require("../ConsoleTabs"),ActionPanel_1=require("../ActionPanel"),Request_1=require("./Request"),styled_1=require("../styled"),ConsoleWrapper_1=require("./ConsoleWrapper"),hooks_1=require("../../../hooks"),store_1=require("../../../jotai/store"),models_1=require("../../../models"),operation_1=require("../../../jotai/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:r,rootElement:o,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){let l=(0,react_1.useRef)();const[u,c]=(0,jotai_1.useAtom)((0,operation_1.operationStore)(e.pointer)),[d,p]=(0,react_1.useState)(u.activeServer||e.activeServer),[_,v]=(0,react_1.useState)(0),[y,m]=(0,react_1.useState)(!1),[h,b]=(0,react_1.useState)(!1),[f,g]=(0,react_1.useState)({values:{path:(0,utils_1.getParameters)(e.parameters,"path"),cookie:(0,utils_1.getParameters)(e.parameters,"cookie"),header:(0,utils_1.getParameters)(e.parameters,"header"),query:(0,utils_1.getParameters)(e.parameters,"query")}}),[O,j]=(0,react_1.useState)(),[S,q]=(0,react_1.useState)(),[C,P]=(0,react_1.useState)(),[w,I]=(0,react_1.useState)(),T=(0,hooks_1.usePrevious)(e),{parser:x,options:E}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),A=(0,react_1.useCallback)(((e,t=e.getState())=>{var{values:r}=t,o=__rest(t,["values"]);l.current=e,setTimeout((()=>{g(Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},r),{query:(0,utils_1.unescapeQueryParams)(r.query||{})})}))}),0)}),[]),k=(0,react_1.useCallback)((e=>{var{values:t}=e,r=__rest(e,["values"]);const o=Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},t),{query:(0,utils_1.unescapeQueryParams)(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),g(o),(0,utils_1.updateStorage)(o)}),[c]),R=(0,react_1.useCallback)((e=>{v(e)}),[]),F=(0,react_1.useCallback)((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),B=(0,react_1.useCallback)((()=>__awaiter(this,void 0,void 0,(function*(){var r,o,s,n,a,i,u,c,p,_,y,h,g,j,S,C,w;const{values:T,invalid:x}=(null===(r=null==l?void 0:l.current)||void 0===r?void 0:r.getState())||f||{};if(null===(o=l.current)||void 0===o||o.submitForm(),x)return b(!0),setTimeout((()=>b(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:A,requestBody:k}=e,R=k&&k.content&&(null===(a=(0,models_1.getActiveMediaType)(k.content))||void 0===a?void 0:a.name)||"";let F=T.body;if(/json/.test(R))try{F=JSON.parse(F)}catch(e){console.error(e)}m(!0);const B=O,V=(e.httpVerb||"").toLowerCase();if(!A)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=A.find((e=>d.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),M=Date.now();let N,U=T.auth;if(T.auth){const e=Object.keys(T.auth)[0],t=(0,string_1.unescapeFormId)(e);N=Object.assign(Object.assign({},B),{components:Object.assign(Object.assign({},null==B?void 0:B.components),{securitySchemes:Object.assign(Object.assign({},null===(i=null==B?void 0:B.components)||void 0===i?void 0:i.securitySchemes),{[t]:Object.assign(Object.assign({},null===(c=null===(u=null==B?void 0:B.components)||void 0===u?void 0:u.securitySchemes)||void 0===c?void 0:c[t]),{type:"openIdConnect"===(null===(y=null===(_=null===(p=null==B?void 0:B.components)||void 0===p?void 0:p.securitySchemes)||void 0===_?void 0:_[t])||void 0===y?void 0:y.type)?"oauth2":(null===(g=null===(h=null==B?void 0:B.components)||void 0===h?void 0:h.securitySchemes)||void 0===g?void 0:g[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else N=Object.assign({},B);N.servers=A;const W=E.corsProxyUrl;W&&A.length&&(N.servers=A.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),N.paths=Object.assign(Object.assign({},N.paths),{[e.path]:Object.assign(Object.assign({},N.paths[e.path]),{[V]:Object.assign(Object.assign({},N.paths[e.path][V]),{servers:void 0}),servers:void 0})}));const z=(null==k?void 0:k.content)&&(null===(j=(0,models_1.getActiveMediaType)(k.content))||void 0===j?void 0:j.name)||null;if(z&&F&&(0,helper_1.isFileUploadMime)(z)){const e=Object.values(F);F=e.length>1?e:e[0]}const H={server:W?W+normalizeUrlProtocol(D.url):D.url,serverVariables:(0,utils_1.getDefaultOrStoredVariables)(D),spec:N,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},T.path),T.query),T.header),T.cookie),securities:{authorized:U},requestBody:F,requestContentType:z,responseContentType:(null===(S=T.header)||void 0===S?void 0:S.Accept)||null,requestInterceptor:(0,utils_1.makeRequestInterceptor)(E,e,null==U?void 0:U.Authorization)};try{const
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,s)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(s,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function i(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((o=o.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(r[o[s]]=e[o[s]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Console=void 0;const index_1=require("swagger-client/es/execute/index"),react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),shallowCopyForTryIt_1=require("./shallowCopyForTryIt"),string_1=require("../../../utils/string"),Panel_1=require("../../Panel"),helper_1=require("../../common/FileUpload/helper"),events_1=require("../../../events"),utils_1=require("../utils"),ResponsePanel_1=require("../ResponsePanel"),ConsoleTabs_1=require("../ConsoleTabs"),ActionPanel_1=require("../ActionPanel"),Request_1=require("./Request"),styled_1=require("../styled"),ConsoleWrapper_1=require("./ConsoleWrapper"),hooks_1=require("../../../hooks"),store_1=require("../../../jotai/store"),models_1=require("../../../models"),operation_1=require("../../../jotai/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:r,rootElement:o,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){let l=(0,react_1.useRef)();const[u,c]=(0,jotai_1.useAtom)((0,operation_1.operationStore)(e.pointer)),[d,p]=(0,react_1.useState)(u.activeServer||e.activeServer),[_,v]=(0,react_1.useState)(0),[y,m]=(0,react_1.useState)(!1),[h,b]=(0,react_1.useState)(!1),[f,g]=(0,react_1.useState)({values:{path:(0,utils_1.getParameters)(e.parameters,"path"),cookie:(0,utils_1.getParameters)(e.parameters,"cookie"),header:(0,utils_1.getParameters)(e.parameters,"header"),query:(0,utils_1.getParameters)(e.parameters,"query")}}),[O,j]=(0,react_1.useState)(),[S,q]=(0,react_1.useState)(),[C,P]=(0,react_1.useState)(),[w,I]=(0,react_1.useState)(),T=(0,hooks_1.usePrevious)(e),{parser:x,options:E}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),A=(0,react_1.useCallback)(((e,t=e.getState())=>{var{values:r}=t,o=__rest(t,["values"]);l.current=e,setTimeout((()=>{g(Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},r),{query:(0,utils_1.unescapeQueryParams)(r.query||{})})}))}),0)}),[]),k=(0,react_1.useCallback)((e=>{var{values:t}=e,r=__rest(e,["values"]);const o=Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},t),{query:(0,utils_1.unescapeQueryParams)(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),g(o),(0,utils_1.updateStorage)(o)}),[c]),R=(0,react_1.useCallback)((e=>{v(e)}),[]),F=(0,react_1.useCallback)((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),B=(0,react_1.useCallback)((()=>__awaiter(this,void 0,void 0,(function*(){var r,o,s,n,a,i,u,c,p,_,y,h,g,j,S,C,w;const{values:T,invalid:x}=(null===(r=null==l?void 0:l.current)||void 0===r?void 0:r.getState())||f||{};if(null===(o=l.current)||void 0===o||o.submitForm(),x)return b(!0),setTimeout((()=>b(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:A,requestBody:k}=e,R=k&&k.content&&(null===(a=(0,models_1.getActiveMediaType)(k.content))||void 0===a?void 0:a.name)||"";let F=T.body;if(/json/.test(R))try{F=JSON.parse(F)}catch(e){console.error(e)}m(!0);const B=O,V=(e.httpVerb||"").toLowerCase();if(!A)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=A.find((e=>d.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),M=Date.now();let N,U=T.auth;if(T.auth){const e=Object.keys(T.auth)[0],t=(0,string_1.unescapeFormId)(e);N=Object.assign(Object.assign({},B),{components:Object.assign(Object.assign({},null==B?void 0:B.components),{securitySchemes:Object.assign(Object.assign({},null===(i=null==B?void 0:B.components)||void 0===i?void 0:i.securitySchemes),{[t]:Object.assign(Object.assign({},null===(c=null===(u=null==B?void 0:B.components)||void 0===u?void 0:u.securitySchemes)||void 0===c?void 0:c[t]),{type:"openIdConnect"===(null===(y=null===(_=null===(p=null==B?void 0:B.components)||void 0===p?void 0:p.securitySchemes)||void 0===_?void 0:_[t])||void 0===y?void 0:y.type)?"oauth2":(null===(g=null===(h=null==B?void 0:B.components)||void 0===h?void 0:h.securitySchemes)||void 0===g?void 0:g[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else N=Object.assign({},B);N.servers=A;const W=E.corsProxyUrl;W&&A.length&&(N.servers=A.map((e=>Object.assign(Object.assign({},e),{url:W+normalizeUrlProtocol(e.url)}))),N.paths=Object.assign(Object.assign({},N.paths),{[e.path]:Object.assign(Object.assign({},N.paths[e.path]),{[V]:Object.assign(Object.assign({},N.paths[e.path][V]),{servers:void 0}),servers:void 0})}));const z=(null==k?void 0:k.content)&&(null===(j=(0,models_1.getActiveMediaType)(k.content))||void 0===j?void 0:j.name)||null;if(z&&F&&(0,helper_1.isFileUploadMime)(z)){const e=Object.values(F);F=e.length>1?e:e[0]}const H={server:W?W+normalizeUrlProtocol(D.url):D.url,serverVariables:(0,utils_1.getDefaultOrStoredVariables)(D),spec:N,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},T.path),T.query),T.header),T.cookie),securities:{authorized:U},requestBody:F,requestContentType:z,responseContentType:(null===(S=T.header)||void 0===S?void 0:S.Accept)||null,requestInterceptor:(0,utils_1.makeRequestInterceptor)(E,e,null==U?void 0:U.Authorization)};try{const e=yield(0,index_1.execute)(H),r=null==e?void 0:e.data;r instanceof Blob&&((0,helper_1.isFileUploadMime)(r.type)&&(e.fileInfo={rawData:r,fileName:(0,utils_1.getFileNameFromHeaders)(e.headers)}),e.data=yield r.text()),null==t||t({request:H,response:e}),I(e),P(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:H,response:e.response})),I(void 0),P(e)}finally{m(!1),v(1),q(Date.now()-M),null===(w=null===(C=E.events)||void 0===C?void 0:C.tryItSent)||void 0===w||w.call(C,{eventType:events_1.AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[d.url,f,t,e,E,O]);(0,theme_1.useMount)((()=>__awaiter(this,void 0,void 0,(function*(){var t;const r=yield(0,shallowCopyForTryIt_1.dereferenceDefinitionForTryIt)(e,x.definition);j(r),null===(t=l.current)||void 0===t||t.setValues({})})))),(0,react_1.useEffect)((()=>{T&&T!==e&&(I(void 0),P(void 0),v(0))}),[e,T]);const V=!(!w&&!C);return react_1.default.createElement(ConsoleWrapper_1.ConsoleWrapper,{shaking:h,className:r,rootElement:o},react_1.default.createElement(Panel_1.StyledCodeHeader,null,react_1.default.createElement(ConsoleTabs_1.ConsoleTabs,{active:_,hasResponse:V,onChange:R}),i&&react_1.default.createElement(styled_1.CloseButton,{onClick:i}," ✕ ")),react_1.default.createElement(styled_1.ConsoleBody,{hidden:0!==_,"data-cy":"console-request-body"},react_1.default.createElement(Request_1.Request,{operation:e,properties:s,mergeExampleBody:n,securityDefaults:a,form:f,resolvedRawSpec:O,server:d,formApi:l.current,setFormApi:A,handleChange:k,handleServerChange:F})),react_1.default.createElement(styled_1.ConsoleBody,{hidden:1!==_,"data-cy":"console-response-body"},react_1.default.createElement(ResponsePanel_1.ResponsePanel,{response:w,error:C,time:S})),react_1.default.createElement(ActionPanel_1.ActionPanel,{hasResponse:V,params:f.values,operation:e,loading:y,execute:B}))}exports.Console=(0,react_1.memo)(ConsoleComponent);
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
package/lib/utils/openapi.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getContentWithLegacyExamples=exports.pluralizeType=exports.extractExtensions=exports.isRedocExtension=exports.shortenHTTPVerb=exports.normalizeServers=exports.expandDefaultServerVariables=exports.mergeSimilarMediaTypes=exports.mergeParams=exports.sortByField=exports.sortByRequired=exports.humanizeConstraints=exports.humanizeNumberRange=exports.getDefinitionName=exports.isNamedDefinition=exports.langFromMime=exports.serializeParameterValue=exports.serializeParameterValueWithMime=exports.serializeQueryParameter=exports.urlFormEncodePayload=exports.isFormUrlEncoded=exports.isJsonLike=exports.isPrimitiveType=exports.detectType=exports.getOperationId=exports.getOperationName=exports.isOperationName=exports.getStatusCodeType=exports.isStatusCode=void 0;const path_1=require("path"),url_template_1=__importDefault(require("url-template")),dom_1=require("./dom"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer"),services_1=require("../services");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||(0,helpers_1.isNumeric)(e)||isWildcardStatusCode(e)}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}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function isOperationName(e){return e in operationNames}function getOperationName(e){const{operationId:r,pathName:t}=e,i=(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"description"));return(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}function getOperationId(e,r,t){var i;return r===services_1.Pagination.None&&(null==t?void 0:t.id)?(0,services_1.joinWithSeparator)(t.id,(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer))):(null===(i=e.tags)||void 0===i?void 0:i.length)?(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer)):(0,helpers_1.sanitizeItemId)(e.operationId?(0,services_1.joinWithSeparator)(constants_1.DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}exports.isOperationName=isOperationName,exports.getOperationName=getOperationName,exports.getOperationId=getOperationId;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"};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"}function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])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)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return e===constants_1.MediaTypes.URL_ENCODED}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 url_template_1.default.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=url_template_1.default.parse(`{${i}${t}}`);return decodeURIComponent(n.expand({[i]:r}))}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 url_template_1.default.parse(`{${o}${a}${n}}`).expand({[a]:i}).replace(/__redoc_param_name__/g,e)}function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");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(0,helpers_1.isArrayOfObjects)(i)&&(i=(0,helpers_1.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),"")}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}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),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime;const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}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}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}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("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}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]}function sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}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_1.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_1.JsonPointer.join(n,["parameters",String(r)])})))]}function mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}function normalizeServers(e,r){const t=void 0===e?(0,helpers_1.removeQueryStringAndHash)((()=>{if(!dom_1.IS_BROWSER)return"";const e=window.location.href;return e.endsWith(".html")?(0,path_1.dirname)(e):e})()):(0,path_1.dirname)(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,(0,helpers_1.resolveUrl)(t,r)),description:e.description||""});var r}))}exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeNumberRange=humanizeNumberRange,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers;const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!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-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!0}||e.startsWith("x-parsed-md-")}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)),{})}function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}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}exports.shortenHTTPVerb=shortenHTTPVerb,exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType,exports.getContentWithLegacyExamples=getContentWithLegacyExamples;
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getContentWithLegacyExamples=exports.pluralizeType=exports.extractExtensions=exports.isRedocExtension=exports.shortenHTTPVerb=exports.normalizeServers=exports.expandDefaultServerVariables=exports.mergeSimilarMediaTypes=exports.mergeParams=exports.sortByField=exports.sortByRequired=exports.humanizeConstraints=exports.humanizeNumberRange=exports.getDefinitionName=exports.isNamedDefinition=exports.langFromMime=exports.serializeParameterValue=exports.serializeParameterValueWithMime=exports.serializeQueryParameter=exports.urlFormEncodePayload=exports.isFormUrlEncoded=exports.isJsonLike=exports.isPrimitiveType=exports.detectType=exports.getOperationId=exports.getOperationName=exports.isOperationName=exports.getStatusCodeType=exports.isStatusCode=void 0;const path_1=require("path"),url_template_1=__importDefault(require("url-template")),dom_1=require("./dom"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer"),services_1=require("../services");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||(0,helpers_1.isNumeric)(e)||isWildcardStatusCode(e)}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}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function isOperationName(e){return e in operationNames}function getOperationName(e){const{operationId:r,pathName:t}=e,i=(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"description"));return(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}function getOperationId(e,r,t){var i;return r===services_1.Pagination.None&&(null==t?void 0:t.id)?(0,services_1.joinWithSeparator)(t.id,(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer))):(null===(i=e.tags)||void 0===i?void 0:i.length)?(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer)):(0,helpers_1.sanitizeItemId)(e.operationId?(0,services_1.joinWithSeparator)(constants_1.DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}exports.isOperationName=isOperationName,exports.getOperationName=getOperationName,exports.getOperationId=getOperationId;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"};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"}function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])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)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return e===constants_1.MediaTypes.URL_ENCODED}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 url_template_1.default.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=url_template_1.default.parse(`{${i}${t}}`);return decodeURIComponent(n.expand({[i]:r}))}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 url_template_1.default.parse(`{${o}${a}${n}}`).expand({[a]:i}).replace(/__redoc_param_name__/g,e)}function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");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(0,helpers_1.isArrayOfObjects)(i)&&(i=(0,helpers_1.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),"")}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}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),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime;const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}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}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}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}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]}function sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}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_1.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_1.JsonPointer.join(n,["parameters",String(r)])})))]}function mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}function normalizeServers(e,r){const t=void 0===e?(0,helpers_1.removeQueryStringAndHash)((()=>{if(!dom_1.IS_BROWSER)return"";const e=window.location.href;return e.endsWith(".html")?(0,path_1.dirname)(e):e})()):(0,path_1.dirname)(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,(0,helpers_1.resolveUrl)(t,r)),description:e.description||""});var r}))}exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeNumberRange=humanizeNumberRange,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers;const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!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-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!0}||e.startsWith("x-parsed-md-")}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)),{})}function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}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}exports.shortenHTTPVerb=shortenHTTPVerb,exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType,exports.getContentWithLegacyExamples=getContentWithLegacyExamples;
|
|
2
2
|
//# sourceMappingURL=openapi.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { FieldModel } from '../../models';
|
|
3
3
|
export declare function Examples({ field }: {
|
|
4
4
|
field: FieldModel;
|
|
5
|
-
}): JSX.Element | null;
|
|
5
|
+
}): React.JSX.Element | null;
|
|
6
6
|
export declare function getSerializedValue(field: FieldModel, example: any): any;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{PatternLabel,RecursiveLabel,TypeFormat,TypeName,TypePrefix,TypeTitle,ToggleButton,DeprecatedLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{l}from"../../services";import{FieldDetail}from"./FieldDetail";import{ConstraintsView}from"./ConstraintsView";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{TypeWrapper,FieldDescriptionWrapper}from"./styled";import{globalOptionsAtom}from"../../jotai/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:o,hideSchemaTitles:i,hideSchemaPattern:c}=useAtomValue(globalOptionsAtom),{schema:m,description:s,example:p,deprecated:u,examples:
|
|
1
|
+
import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{PatternLabel,RecursiveLabel,TypeFormat,TypeName,TypePrefix,TypeTitle,ToggleButton,DeprecatedLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{l}from"../../services";import{FieldDetail}from"./FieldDetail";import{ConstraintsView}from"./ConstraintsView";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{TypeWrapper,FieldDescriptionWrapper}from"./styled";import{globalOptionsAtom}from"../../jotai/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:o,hideSchemaTitles:i,hideSchemaPattern:c}=useAtomValue(globalOptionsAtom),{schema:m,description:s,example:p,deprecated:u,examples:d}=t,E=Boolean(o)||"header"===t.in;let R=null;if(e&&(void 0!==p||void 0!==d))if(void 0!==d)R=React.createElement(Examples,{field:t});else{const e=!!t.in;R=React.createElement(FieldDetail,{label:"example",value:getSerializedValue(t,t.example),raw:e})}return React.createElement("div",null,React.createElement(TypeWrapper,null,React.createElement(TypePrefix,null,m.typePrefix),React.createElement(TypeName,null,m.displayType),m.displayFormat&&React.createElement(TypeFormat,null," ","<",m.displayFormat,">"," "),m.contentEncoding&&React.createElement(TypeFormat,null," ","<",m.contentEncoding,">"," "),m.contentMediaType&&React.createElement(TypeFormat,null," ","<",m.contentMediaType,">"," "),m.title&&!i&&React.createElement(TypeTitle,null," (",m.title,") "),React.createElement(ConstraintsView,{constraints:m.constraints}),m.pattern&&!c&&React.createElement(React.Fragment,null,React.createElement(PatternLabel,null,n||m.pattern.length<45?m.pattern:`${m.pattern.substr(0,45)}...`),m.pattern.length>45&&React.createElement(ToggleButton,{onClick:()=>{r(!n)}},n?"Hide pattern":"Show pattern"))," ",m.isCircular&&React.createElement(RecursiveLabel,null,l("recursive"))),u&&React.createElement("div",null,React.createElement(DeprecatedLabel,null,l("deprecated"))),React.createElement(FieldDetail,{raw:E,label:"default",value:m.default}),React.createElement(FieldDescriptionWrapper,null,React.createElement(Markdown,{source:s})),!a&&React.createElement(EnumValues,{type:m.type,values:m["x-enumDescriptions"]||m.enum})," ",R,React.createElement(Extensions,{extensions:Object.assign(Object.assign({},t.extensions),m.extensions)}),m.externalDocs&&React.createElement(ExternalDocumentation,{externalDocs:m.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&React.createElement(FieldDetail,{label:"const",value:t.const})||null)}export const FieldDetails=memo(FieldDetailsComponent);
|
|
2
2
|
//# sourceMappingURL=FieldDetails.js.map
|
|
@@ -9,6 +9,6 @@ interface PageFooterProps {
|
|
|
9
9
|
};
|
|
10
10
|
pagination: Pagination;
|
|
11
11
|
}
|
|
12
|
-
export declare function PageFooterComponent({ showNextButton, nextSectionLink, pagination, }: PageFooterProps): JSX.Element | null;
|
|
12
|
+
export declare function PageFooterComponent({ showNextButton, nextSectionLink, pagination, }: PageFooterProps): React.JSX.Element | null;
|
|
13
13
|
export declare const PageFooter: React.NamedExoticComponent<PageFooterProps>;
|
|
14
14
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { DropdownOrLabelProps } from '../DropdownOrLabel/DropdownOrLabel';
|
|
3
3
|
export declare function DropdownWithinHeader({ required, ...props }: DropdownOrLabelProps & {
|
|
4
4
|
required?: boolean;
|
|
5
|
-
}): JSX.Element;
|
|
5
|
+
}): React.JSX.Element;
|
|
@@ -3,4 +3,4 @@ import type { PropsWithChildren } from 'react';
|
|
|
3
3
|
import type { ProvidersProps, AppProviderProps, StoreProviderProps } from './types';
|
|
4
4
|
export declare const ThemeProviders: ({ options, children, customOptions, }: ProvidersProps) => JSX.Element;
|
|
5
5
|
export declare const AppProvider: ({ definitions, options, definitionUrl, definition, activeSampleLanguage, children, }: PropsWithChildren<AppProviderProps>) => JSX.Element | null;
|
|
6
|
-
export declare const StoreProvider: React.MemoExoticComponent<({ children, options: rawOptions, definitionUrl, definition, activeSampleLanguage, portalOptions, }: PropsWithChildren<StoreProviderProps>) => JSX.Element>;
|
|
6
|
+
export declare const StoreProvider: React.MemoExoticComponent<({ children, options: rawOptions, definitionUrl, definition, activeSampleLanguage, portalOptions, }: PropsWithChildren<StoreProviderProps>) => React.JSX.Element>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { PropsWithChildren } from 'react';
|
|
2
3
|
import type { RedoclyOpenAPIDocsProps, RedoclyOpenAPIDocsStandaloneProps } from './types';
|
|
3
|
-
export declare function RedoclyOpenAPIDocs({ onLoaded, children, store, }: PropsWithChildren<Partial<RedoclyOpenAPIDocsProps>>): JSX.Element | null;
|
|
4
|
+
export declare function RedoclyOpenAPIDocs({ onLoaded, children, store, }: PropsWithChildren<Partial<RedoclyOpenAPIDocsProps>>): React.JSX.Element | null;
|
|
4
5
|
export declare function RedoclyOpenAPIDocsStandalone({ definition, definitionUrl, options, activeItemId, activeSampleLanguage, activeDeepLink, }: RedoclyOpenAPIDocsStandaloneProps): JSX.Element;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { ResponseModel } from '../../models';
|
|
3
3
|
interface IOperationResponseList {
|
|
4
4
|
responses: ResponseModel[];
|
|
5
5
|
operationPointer: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const OperationResponseList: ({ responses, operationPointer }: IOperationResponseList) => JSX.Element;
|
|
7
|
+
export declare const OperationResponseList: ({ responses, operationPointer }: IOperationResponseList) => React.JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import styled from"styled-components";import React,{createRef,useLayoutEffect,useState}from"react";const TOLERANCE_PX=20;export function SeeMore({children:e,height:t}){const n=createRef(),[r,o]=React.useState(!1),[a,c]=useState(!1);useLayoutEffect((()=>{n.current&&n.current.clientHeight+
|
|
1
|
+
import styled from"styled-components";import React,{createRef,useLayoutEffect,useState}from"react";const TOLERANCE_PX=20;export function SeeMore({children:e,height:t}){const n=createRef(),[r,o]=React.useState(!1),[a,c]=useState(!1);useLayoutEffect((()=>{n.current&&n.current.clientHeight+20<n.current.scrollHeight&&c(!0)}),[n]);return React.createElement(React.Fragment,null,React.createElement(Container,{ref:n,className:r?"":"container",style:{height:r?"auto":t}},e),React.createElement(ButtonContainer,{dimmed:!r},a&&React.createElement(ButtonLinkStyled,{onClick:()=>{o(!r)}},r?"See less":"See more")))}const Container=styled.div`
|
|
2
2
|
overflow-y: hidden;
|
|
3
3
|
`,ButtonContainer=styled.div`
|
|
4
4
|
text-align: center;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Actions: () => JSX.Element;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const Actions: () => React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { PropsWithChildren } from 'react';
|
|
2
3
|
interface PortalProps {
|
|
3
4
|
mountId?: string;
|
|
4
5
|
}
|
|
5
|
-
export declare const Portal: ({ children, mountId }: PropsWithChildren<PortalProps>) => JSX.Element;
|
|
6
|
+
export declare const Portal: ({ children, mountId }: PropsWithChildren<PortalProps>) => React.JSX.Element;
|
|
6
7
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { IconProps } from './types';
|
|
3
3
|
export declare const LinkIcon: import("styled-components").StyledComponent<({ className }: {
|
|
4
4
|
className?: string | undefined;
|
|
5
|
-
}) => JSX.Element, any, Pick<IconProps, "size">, never>;
|
|
5
|
+
}) => React.JSX.Element, any, Pick<IconProps, "size">, never>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
export declare const SearchIcon: import("styled-components").StyledComponent<({ className }: {
|
|
3
3
|
className?: string | undefined;
|
|
4
|
-
}) => JSX.Element, any, {
|
|
4
|
+
}) => React.JSX.Element, any, {
|
|
5
5
|
className: "search-icon";
|
|
6
6
|
}, "className">;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { IconProps } from './types';
|
|
3
|
-
export declare const Spinner: import("styled-components").StyledComponent<({ className }: Pick<IconProps, 'className' | 'color'>) => JSX.Element, any, Pick<IconProps, "color" | "className">, never>;
|
|
3
|
+
export declare const Spinner: import("styled-components").StyledComponent<({ className }: Pick<IconProps, 'className' | 'color'>) => React.JSX.Element, any, Pick<IconProps, "color" | "className">, never>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(o[r[s]]=e[r[s]])}return o};import{execute}from"swagger-client/es/execute/index";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useAtomValue,useAtom}from"jotai";import{dereferenceDefinitionForTryIt}from"./shallowCopyForTryIt";import{unescapeFormId}from"../../../utils/string";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreAtom}from"../../../jotai/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../jotai/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){let l=useRef();const[c,u]=useAtom(operationStore(e.pointer)),[p,d]=useState(c.activeServer||e.activeServer),[m,v]=useState(0),[y,h]=useState(!1),[f,g]=useState(!1),[b,O]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[S,j]=useState(),[C,P]=useState(),[R,I]=useState(),[T,A]=useState(),q=usePrevious(e),{parser:w,options:E}=useAtomValue(globalStoreAtom),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);l.current=e,setTimeout((()=>{O(Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})}))}),0)}),[]),k=useCallback((e=>{var{values:t}=e,o=__rest(e,["values"]);const r=Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},t),{query:unescapeQueryParams(t.query||{})})});u((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),O(r),updateStorage(r)}),[u]),F=useCallback((e=>{v(e)}),[]),x=useCallback((e=>{d(e),u((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[u]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,i,c,u,d,m,y,f,O,j,C,R,T;const{values:q,invalid:w}=(null===(o=null==l?void 0:l.current)||void 0===o?void 0:o.getState())||b||{};if(null===(r=l.current)||void 0===r||r.submitForm(),w)return g(!0),setTimeout((()=>g(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:_,requestBody:k}=e,F=k&&k.content&&(null===(a=getActiveMediaType(k.content))||void 0===a?void 0:a.name)||"";let x=q.body;if(/json/.test(F))try{x=JSON.parse(x)}catch(e){console.error(e)}h(!0);const V=S,B=(e.httpVerb||"").toLowerCase();if(!_)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=_.find((e=>p.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),N=Date.now();let M,U=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);M=Object.assign(Object.assign({},V),{components:Object.assign(Object.assign({},null==V?void 0:V.components),{securitySchemes:Object.assign(Object.assign({},null===(i=null==V?void 0:V.components)||void 0===i?void 0:i.securitySchemes),{[t]:Object.assign(Object.assign({},null===(u=null===(c=null==V?void 0:V.components)||void 0===c?void 0:c.securitySchemes)||void 0===u?void 0:u[t]),{type:"openIdConnect"===(null===(y=null===(m=null===(d=null==V?void 0:V.components)||void 0===d?void 0:d.securitySchemes)||void 0===m?void 0:m[t])||void 0===y?void 0:y.type)?"oauth2":(null===(O=null===(f=null==V?void 0:V.components)||void 0===f?void 0:f.securitySchemes)||void 0===O?void 0:O[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},V);M.servers=_;const H=E.corsProxyUrl;H&&_.length&&(M.servers=_.map((e=>Object.assign(Object.assign({},e),{url:H+normalizeUrlProtocol(e.url)}))),M.paths=Object.assign(Object.assign({},M.paths),{[e.path]:Object.assign(Object.assign({},M.paths[e.path]),{[B]:Object.assign(Object.assign({},M.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const W=(null==k?void 0:k.content)&&(null===(j=getActiveMediaType(k.content))||void 0===j?void 0:j.name)||null;if(W&&x&&isFileUploadMime(W)){const e=Object.values(x);x=e.length>1?e:e[0]}const z={server:H?H+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:M,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},q.path),q.query),q.header),q.cookie),securities:{authorized:U},requestBody:x,requestContentType:W,responseContentType:(null===(C=q.header)||void 0===C?void 0:C.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(o[r[s]]=e[r[s]])}return o};import{execute}from"swagger-client/es/execute/index";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useAtomValue,useAtom}from"jotai";import{dereferenceDefinitionForTryIt}from"./shallowCopyForTryIt";import{unescapeFormId}from"../../../utils/string";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreAtom}from"../../../jotai/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../jotai/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){let l=useRef();const[c,u]=useAtom(operationStore(e.pointer)),[p,d]=useState(c.activeServer||e.activeServer),[m,v]=useState(0),[y,h]=useState(!1),[f,g]=useState(!1),[b,O]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[S,j]=useState(),[C,P]=useState(),[R,I]=useState(),[T,A]=useState(),q=usePrevious(e),{parser:w,options:E}=useAtomValue(globalStoreAtom),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);l.current=e,setTimeout((()=>{O(Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})}))}),0)}),[]),k=useCallback((e=>{var{values:t}=e,o=__rest(e,["values"]);const r=Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},t),{query:unescapeQueryParams(t.query||{})})});u((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),O(r),updateStorage(r)}),[u]),F=useCallback((e=>{v(e)}),[]),x=useCallback((e=>{d(e),u((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[u]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,i,c,u,d,m,y,f,O,j,C,R,T;const{values:q,invalid:w}=(null===(o=null==l?void 0:l.current)||void 0===o?void 0:o.getState())||b||{};if(null===(r=l.current)||void 0===r||r.submitForm(),w)return g(!0),setTimeout((()=>g(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:_,requestBody:k}=e,F=k&&k.content&&(null===(a=getActiveMediaType(k.content))||void 0===a?void 0:a.name)||"";let x=q.body;if(/json/.test(F))try{x=JSON.parse(x)}catch(e){console.error(e)}h(!0);const V=S,B=(e.httpVerb||"").toLowerCase();if(!_)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=_.find((e=>p.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),N=Date.now();let M,U=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);M=Object.assign(Object.assign({},V),{components:Object.assign(Object.assign({},null==V?void 0:V.components),{securitySchemes:Object.assign(Object.assign({},null===(i=null==V?void 0:V.components)||void 0===i?void 0:i.securitySchemes),{[t]:Object.assign(Object.assign({},null===(u=null===(c=null==V?void 0:V.components)||void 0===c?void 0:c.securitySchemes)||void 0===u?void 0:u[t]),{type:"openIdConnect"===(null===(y=null===(m=null===(d=null==V?void 0:V.components)||void 0===d?void 0:d.securitySchemes)||void 0===m?void 0:m[t])||void 0===y?void 0:y.type)?"oauth2":(null===(O=null===(f=null==V?void 0:V.components)||void 0===f?void 0:f.securitySchemes)||void 0===O?void 0:O[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},V);M.servers=_;const H=E.corsProxyUrl;H&&_.length&&(M.servers=_.map((e=>Object.assign(Object.assign({},e),{url:H+normalizeUrlProtocol(e.url)}))),M.paths=Object.assign(Object.assign({},M.paths),{[e.path]:Object.assign(Object.assign({},M.paths[e.path]),{[B]:Object.assign(Object.assign({},M.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const W=(null==k?void 0:k.content)&&(null===(j=getActiveMediaType(k.content))||void 0===j?void 0:j.name)||null;if(W&&x&&isFileUploadMime(W)){const e=Object.values(x);x=e.length>1?e:e[0]}const z={server:H?H+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:M,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},q.path),q.query),q.header),q.cookie),securities:{authorized:U},requestBody:x,requestContentType:W,responseContentType:(null===(C=q.header)||void 0===C?void 0:C.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const e=yield execute(z),o=null==e?void 0:e.data;o instanceof Blob&&(isFileUploadMime(o.type)&&(e.fileInfo={rawData:o,fileName:getFileNameFromHeaders(e.headers)}),e.data=yield o.text()),null==t||t({request:z,response:e}),A(e),I(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:z,response:e.response})),A(void 0),I(e)}finally{h(!1),v(1),P(Date.now()-N),null===(T=null===(R=E.events)||void 0===R?void 0:R.tryItSent)||void 0===T||T.call(R,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[p.url,b,t,e,E,S]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,w.definition);j(o),null===(t=l.current)||void 0===t||t.setValues({})})))),useEffect((()=>{q&&q!==e&&(A(void 0),I(void 0),v(0))}),[e,q]);const B=!(!T&&!R);return React.createElement(ConsoleWrapper,{shaking:f,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:m,hasResponse:B,onChange:F}),i&&React.createElement(CloseButton,{onClick:i}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==m,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,mergeExampleBody:n,securityDefaults:a,form:b,resolvedRawSpec:S,server:p,formApi:l.current,setFormApi:_,handleChange:k,handleServerChange:x})),React.createElement(ConsoleBody,{hidden:1!==m,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:T,error:R,time:C})),React.createElement(ActionPanel,{hasResponse:B,params:b.values,operation:e,loading:y,execute:V}))}export const Console=memo(ConsoleComponent);
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
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"./dom";import{deleteEmptyArrayItem,isArrayOfObjects,isNumeric,removeQueryStringAndHash,resolveUrl,sanitizeItemId,normalizeText,getValueFromMdParsedExtension}from"./helpers";import{DEFAULT_TAG_SLUG,MediaTypes}from"../constants";import{JsonPointer}from"./JsonPointer";import{joinWithSeparator,Pagination}from"../services";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,t){var i;return r===Pagination.None&&(null==t?void 0:t.id)?joinWithSeparator(t.id,sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer))):(null===(i=e.tags)||void 0===i?void 0:i.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(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 isFormUrlEncoded(e){return e===MediaTypes.URL_ENCODED}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 decodeURIComponent(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)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");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("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 sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}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 mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}export function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}export function normalizeServers(e,r){const t=void 0===e?removeQueryStringAndHash((()=>{if(!IS_BROWSER)return"";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-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!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-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!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"./dom";import{deleteEmptyArrayItem,isArrayOfObjects,isNumeric,removeQueryStringAndHash,resolveUrl,sanitizeItemId,normalizeText,getValueFromMdParsedExtension}from"./helpers";import{DEFAULT_TAG_SLUG,MediaTypes}from"../constants";import{JsonPointer}from"./JsonPointer";import{joinWithSeparator,Pagination}from"../services";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,t){var i;return r===Pagination.None&&(null==t?void 0:t.id)?joinWithSeparator(t.id,sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer))):(null===(i=e.tags)||void 0===i?void 0:i.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(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 isFormUrlEncoded(e){return e===MediaTypes.URL_ENCODED}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 decodeURIComponent(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)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");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 sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}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 mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}export function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}export function normalizeServers(e,r){const t=void 0===e?removeQueryStringAndHash((()=>{if(!IS_BROWSER)return"";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-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!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-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.75",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -23,23 +23,18 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@markdoc/markdoc": "0.3.4",
|
|
26
|
-
"@redocly/openapi-core": "^1.
|
|
26
|
+
"@redocly/openapi-core": "^1.4.0",
|
|
27
27
|
"@redocly/vscode-json-languageservice": "3.4.9",
|
|
28
28
|
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.2",
|
|
29
29
|
"codemirror": "^5.65.0",
|
|
30
|
-
"decko": "^1.2.0",
|
|
31
30
|
"deepmerge": "^4.2.2",
|
|
32
31
|
"dompurify": "^2.0.12",
|
|
33
|
-
"eventemitter3": "^4.0.4",
|
|
34
32
|
"fast-deep-equal": "^3.1.3",
|
|
35
|
-
"handlebars": "^4.7.6",
|
|
36
33
|
"hotkeys-js": "^3.7.6",
|
|
37
34
|
"informed": "3.33.0",
|
|
38
35
|
"json-pointer": "^0.6.2",
|
|
39
|
-
"kleur": "^3.0.3",
|
|
40
36
|
"lunr": "^2.3.8",
|
|
41
37
|
"mark.js": "^8.11.1",
|
|
42
|
-
"mkdirp": "^0.5.1",
|
|
43
38
|
"openapi-sampler": "^1.3.0",
|
|
44
39
|
"path-browserify": "^1.0.1",
|
|
45
40
|
"perfect-scrollbar": "^1.5.5",
|
|
@@ -57,8 +52,7 @@
|
|
|
57
52
|
"tslib": "^2.2.0",
|
|
58
53
|
"url": "~0.11.0",
|
|
59
54
|
"url-template": "^2.0.8",
|
|
60
|
-
"util": "~0.12.5"
|
|
61
|
-
"yargs": "^17.3.0"
|
|
55
|
+
"util": "~0.12.5"
|
|
62
56
|
},
|
|
63
57
|
"devDependencies": {
|
|
64
58
|
"@testing-library/jest-dom": "^5.16.5",
|
|
@@ -114,7 +108,7 @@
|
|
|
114
108
|
"webpack-cli": "^5.1.4",
|
|
115
109
|
"webpack-dev-server": "^4.15.1",
|
|
116
110
|
"workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
|
|
117
|
-
"@redocly/theme": "0.30.
|
|
111
|
+
"@redocly/theme": "0.30.8"
|
|
118
112
|
},
|
|
119
113
|
"scripts": {
|
|
120
114
|
"start": "webpack serve --mode=development --hot",
|
|
@@ -136,7 +130,7 @@
|
|
|
136
130
|
"pack:sourcemaps": "rm -rf openapi-docs.sourcemaps.tag.gz && find lib lib-esm -name \"*.js.map\" | xargs tar -czvf openapi-docs.sourcemaps.tar.gz",
|
|
137
131
|
"stats": "webpack --json --profile --mode=production -p > stats.json && npx webpack-bundle-analyzer stats.json",
|
|
138
132
|
"list:licenses": "node ./scripts/list-licenses.js",
|
|
139
|
-
"license:check": "license-checker --production --onlyAllow 'MIT;ISC;Apache-2.0;Apache;CC0-1.0;BSD;BSD-2-Clause;BSD-3-Clause;UNKNOWN' --summary",
|
|
133
|
+
"license:check": "npx license-checker --production --onlyAllow 'MIT;ISC;Apache-2.0;Apache;CC0-1.0;BSD;BSD-2-Clause;BSD-3-Clause;UNKNOWN' --summary",
|
|
140
134
|
"precdn:serve": "mkdir -p playground/cdn-test/server-dist && cp -Rf dist/* playground/cdn-test/server-dist && cp -Rf playground/cdn-test/template-source/* playground/cdn-test/server-dist",
|
|
141
135
|
"cdn-serve": "http-server playground/cdn-test/server-dist"
|
|
142
136
|
}
|