@redocly/openapi-docs 3.0.0-alpha.26 → 3.0.0-alpha.28
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 +128 -128
- package/dist/oauth2-redirect.js +2 -2
- package/dist/redocly-openapi-docs.min.js +1006 -918
- package/lib/components/ApiInfo/ApiInfo.js +3 -1
- package/lib/components/Callbacks/CallbackOperation.js +1 -1
- package/lib/components/ContentItems/useAutoScroll.js +1 -1
- package/lib/components/Fields/Field.js +1 -1
- package/lib/components/OperationItem/OperationItem.js +1 -1
- package/lib/components/Panel/ContentPanel.js +4 -0
- package/lib/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/Providers.d.ts +2 -1
- package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/types.d.ts +1 -0
- package/lib/components/Responses/OperationResponseList.d.ts +8 -0
- package/lib/components/Responses/OperationResponseList.js +2 -0
- package/lib/components/Responses/Response.d.ts +1 -1
- package/lib/components/Responses/Response.js +1 -1
- package/lib/components/Responses/ResponsesList.js +1 -1
- package/lib/components/Responses/index.d.ts +1 -0
- package/lib/components/Responses/index.js +1 -1
- package/lib/components/Responses/types.d.ts +4 -0
- package/lib/components/Schema/Schema.js +1 -1
- package/lib/components/Search/MenuItemSearch.js +1 -1
- package/lib/components/SectionContent/SectionContent.js +1 -1
- package/lib/components/SecurityRequirement/PanelDescription.js +3 -1
- package/lib/components/SideMenu/MenuItem.d.ts +2 -5
- package/lib/components/SideMenu/MenuItem.js +1 -1
- package/lib/components/SideMenu/MenuItemLink.js +1 -1
- package/lib/components/SideMenu/MenuItems.js +1 -1
- package/lib/components/SideMenu/SideMenu.js +1 -1
- package/lib/components/SideMenu/hooks/index.d.ts +2 -0
- package/lib/components/SideMenu/hooks/index.js +2 -0
- package/lib/components/SideMenu/hooks/useMenuItemExpanded.d.ts +3 -0
- package/lib/components/SideMenu/hooks/useMenuItemExpanded.js +2 -0
- package/lib/components/SideMenu/hooks/useMenuItems.d.ts +9 -0
- package/lib/components/SideMenu/hooks/useMenuItems.js +2 -0
- package/lib/components/SideMenu/types.d.ts +8 -3
- package/lib/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
- package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
- package/lib/components/common/LinkToField.d.ts +1 -1
- package/lib/components/common/LinkToField.js +1 -1
- package/lib/components/rightPanel/Console/Console.js +1 -1
- package/lib/components/rightPanel/RequestBody/Body.js +1 -1
- package/lib/components/rightPanel/RequestBody/RequestBody.js +1 -1
- package/lib/components/shared/NoSampleLabel.js +0 -3
- package/lib/hooks/index.d.ts +0 -1
- package/lib/hooks/index.js +1 -1
- package/lib/models/mediaType.js +1 -1
- package/lib/models/operation.d.ts +2 -1
- package/lib/models/operation.js +1 -1
- package/lib/models/schema.js +1 -1
- package/lib/recoil/operation.d.ts +1 -0
- package/lib/recoil/operation.js +1 -1
- package/lib/services/OAuth2.js +1 -1
- package/lib/services/OpenAPIParser.js +1 -1
- package/lib/services/code-samples/httpsnippet/index.js +1 -1
- package/lib/services/menu/builder.js +1 -1
- package/lib/services/menu/operation.js +1 -1
- package/lib/services/search/SearchStore.js +1 -1
- package/lib/types/open-api.d.ts +8 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/path.d.ts +4 -0
- package/lib/utils/path.js +2 -0
- package/lib/utils/string.d.ts +1 -0
- package/lib/utils/string.js +1 -1
- package/lib-esm/components/ApiInfo/ApiInfo.js +3 -1
- package/lib-esm/components/Callbacks/CallbackOperation.js +1 -1
- package/lib-esm/components/ContentItems/useAutoScroll.js +1 -1
- package/lib-esm/components/Fields/Field.js +1 -1
- package/lib-esm/components/OperationItem/OperationItem.js +2 -2
- package/lib-esm/components/Panel/ContentPanel.js +4 -0
- package/lib-esm/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/Providers.d.ts +2 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/types.d.ts +1 -0
- package/lib-esm/components/Responses/OperationResponseList.d.ts +8 -0
- package/lib-esm/components/Responses/OperationResponseList.js +2 -0
- package/lib-esm/components/Responses/Response.d.ts +1 -1
- package/lib-esm/components/Responses/Response.js +1 -1
- package/lib-esm/components/Responses/ResponsesList.js +1 -1
- package/lib-esm/components/Responses/index.d.ts +1 -0
- package/lib-esm/components/Responses/index.js +1 -1
- package/lib-esm/components/Responses/types.d.ts +4 -0
- package/lib-esm/components/Schema/Schema.js +1 -1
- package/lib-esm/components/Search/MenuItemSearch.js +1 -1
- package/lib-esm/components/SectionContent/SectionContent.js +1 -1
- package/lib-esm/components/SecurityRequirement/PanelDescription.js +3 -1
- package/lib-esm/components/SeeMore/SeeMore.js +1 -1
- package/lib-esm/components/SideMenu/MenuItem.d.ts +2 -5
- package/lib-esm/components/SideMenu/MenuItem.js +1 -1
- package/lib-esm/components/SideMenu/MenuItemLink.js +1 -1
- package/lib-esm/components/SideMenu/MenuItems.js +1 -1
- package/lib-esm/components/SideMenu/SideMenu.js +1 -1
- package/lib-esm/components/SideMenu/hooks/index.d.ts +2 -0
- package/lib-esm/components/SideMenu/hooks/index.js +2 -0
- package/lib-esm/components/SideMenu/hooks/useMenuItemExpanded.d.ts +3 -0
- package/lib-esm/components/SideMenu/hooks/useMenuItemExpanded.js +2 -0
- package/lib-esm/components/SideMenu/hooks/useMenuItems.d.ts +9 -0
- package/lib-esm/components/SideMenu/hooks/useMenuItems.js +2 -0
- package/lib-esm/components/SideMenu/types.d.ts +8 -3
- package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
- package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
- package/lib-esm/components/common/LinkToField.d.ts +1 -1
- package/lib-esm/components/common/LinkToField.js +2 -2
- package/lib-esm/components/rightPanel/Console/Console.js +1 -1
- package/lib-esm/components/rightPanel/RequestBody/Body.js +1 -1
- package/lib-esm/components/rightPanel/RequestBody/RequestBody.js +1 -1
- package/lib-esm/components/shared/NoSampleLabel.js +0 -3
- package/lib-esm/hooks/index.d.ts +0 -1
- package/lib-esm/hooks/index.js +1 -1
- package/lib-esm/models/mediaType.js +1 -1
- package/lib-esm/models/operation.d.ts +2 -1
- package/lib-esm/models/operation.js +1 -1
- package/lib-esm/models/schema.js +1 -1
- package/lib-esm/recoil/operation.d.ts +1 -0
- package/lib-esm/recoil/operation.js +1 -1
- package/lib-esm/services/OAuth2.js +1 -1
- package/lib-esm/services/OpenAPIParser.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/index.js +1 -1
- package/lib-esm/services/menu/builder.js +1 -1
- package/lib-esm/services/menu/operation.js +1 -1
- package/lib-esm/services/search/SearchStore.js +1 -1
- package/lib-esm/types/open-api.d.ts +8 -1
- package/lib-esm/utils/highlight.js +1 -1
- package/lib-esm/utils/index.d.ts +1 -1
- package/lib-esm/utils/index.js +1 -1
- package/lib-esm/utils/path.d.ts +4 -0
- package/lib-esm/utils/path.js +2 -0
- package/lib-esm/utils/string.d.ts +1 -0
- package/lib-esm/utils/string.js +1 -1
- package/package.json +40 -35
- package/lib/components/SideMenu/useMenuItemLink.d.ts +0 -18
- package/lib/components/SideMenu/useMenuItemLink.js +0 -2
- package/lib/utils/decorators.d.ts +0 -1
- package/lib/utils/decorators.js +0 -2
- package/lib-esm/components/SideMenu/useMenuItemLink.d.ts +0 -18
- package/lib-esm/components/SideMenu/useMenuItemLink.js +0 -2
- package/lib-esm/utils/decorators.d.ts +0 -1
- package/lib-esm/utils/decorators.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useRef,useCallback,memo}from"react";import{SidebarLogo,GlobalStyle,useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{useLocation}from"react-router-dom";import{LayoutVariant}from"../../constants";import{Search}from"../Search";import{ThemeProviders,AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{VersionSwitcher}from"../VersionSwitcher";import{BackgroundStub,BackgroundStubFix,ApiContentWrap,ControlsWrap,RedocWrapStyled,CssFixes}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{DownloadButtonWithLabel}from"../Download";import{ErrorBoundary}from"../ErrorBoundary";import{SideMenu}from"../SideMenu";import{ContentItems}from"../ContentItems";import{ChangeViewButton}from"../ChangeViewButton";import{ToggleRightPanelButton}from"../ToggleRightPanelButton";import{activeVersionIdxSelector,appSessionStore,layoutSelector}from"../../recoil/app";import{globalStore}from"../../recoil/store";import{useContentItems
|
|
1
|
+
import React,{useRef,useCallback,memo}from"react";import{SidebarLogo,GlobalStyle,useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{useLocation}from"react-router-dom";import{LayoutVariant}from"../../constants";import{Search}from"../Search";import{ThemeProviders,AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{VersionSwitcher}from"../VersionSwitcher";import{BackgroundStub,BackgroundStubFix,ApiContentWrap,ControlsWrap,RedocWrapStyled,CssFixes}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{DownloadButtonWithLabel}from"../Download";import{ErrorBoundary}from"../ErrorBoundary";import{SideMenu}from"../SideMenu";import{ContentItems}from"../ContentItems";import{ChangeViewButton}from"../ChangeViewButton";import{ToggleRightPanelButton}from"../ToggleRightPanelButton";import{activeVersionIdxSelector,appSessionStore,layoutSelector}from"../../recoil/app";import{globalStore}from"../../recoil/store";import{useContentItems}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{compose}from"../../utils";import{useLicense}from"../../hooks/useLicense";const RedoclyOpenAPIDocsComponent=compose(withRouter,memo)((({licenseKey:e,onLoaded:o,_forceRenderInfo:t,children:n})=>{var i,r,a,l,c;const s=useRef(null),{pathname:u}=useLocation(),{isValid:m,licenseInfo:d}=useLicense(e);useMount((()=>{null==o||o()}));const{options:{hideDownloadButton:p,hideInfoSection:f,pagination:R,disableSidebar:h,whiteLabel:g,hideLogo:S,hideFab:v,showNextButton:E,scrollYOffset:y,disablePaginationLoadingAnimation:b,routingBasePath:L},options:I,versions:C}=useRecoilValue(globalStore),{showRightPanelToggle:P}=useRecoilValue(appSessionStore),[w,B]=useRecoilState(activeVersionIdxSelector),V=useRecoilValue(layoutSelector),A=useCallback((({idx:e})=>{e&&B(e)}),[B]),k=C[w].parser,{flatItems:x,contentItems:D}=useContentItems({parser:k,options:I});if(!C.length)return null;let T=!f;t&&(T=!0);const O=!T&&null!==p&&!p&&("none"===R||"/"===u||u===L),W=null===(r=null===(i=k.definition)||void 0===i?void 0:i.info)||void 0===r?void 0:r["x-logo"];return React.createElement(ThemeProviders,{options:I},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:s},!m&&React.createElement(Overlay,{licenseInfo:d}),React.createElement(CssFixes,{whiteLabel:g,showRightPanelToggle:P,layout:V}),!h&&React.createElement(StickyResponsiveSidebar,{hideFab:v,scrollYOffset:y,className:"menu-content"},!S&&React.createElement(SidebarLogo,{imageUrl:null==W?void 0:W.url,href:(null==W?void 0:W.href)||(null===(c=null===(l=null===(a=k.definition)||void 0===a?void 0:a.info)||void 0===l?void 0:l.contact)||void 0===c?void 0:c.url),altText:null==W?void 0:W.altText,backgroundColor:null==W?void 0:W.backgroundColor}),C.length>1&&React.createElement(VersionSwitcher,{versions:C,activeVersionIdx:w,onChange:A}),React.createElement(Search,{contentItems:D,flatItems:x,options:I}),React.createElement(SideMenu,{items:m?D:[]})),React.createElement(ApiContentWrap,{className:"api-content",id:"api-content",layout:V===LayoutVariant.THREE_PANEL&&P?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED},P&&V!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),O&&React.createElement(DownloadButtonWithLabel,null),React.createElement(ContentItems,{root:!0,items:m?D:[],showNextButton:E,showApiInfo:T,pagination:R,disablePaginationLoadingAnimation:b}),n),React.createElement(ControlsWrap,null,React.createElement(ToggleRightPanelButton,null),React.createElement(ChangeViewButton,null)),P&&V!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,_forceRenderInfo:o,children:t,store:n}){var i,r,a;return(null==n?void 0:n.definition)?React.createElement(StoreProvider,Object.assign({},n),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,_forceRenderInfo:o,basePath:null===(i=n.options)||void 0===i?void 0:i.routingBasePath,licenseKey:null===(r=n.options)||void 0===r?void 0:r.licenseKey,enableRouter:null===(a=n.options)||void 0===a?void 0:a.enableRouter},t)):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:n,activeSampleLanguage:i,activeDeepLink:r}){const a=React.createElement(AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:n,activeSampleLanguage:i,activeDeepLink:r},React.createElement(RedoclyOpenAPIDocs,null));return t.disableErrorBoundary?a:React.createElement(ErrorBoundary,null,a)}
|
|
2
2
|
//# sourceMappingURL=RedoclyOpenAPIDocs.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { ResponseModel } from '../../models';
|
|
3
|
+
interface IOperationResponseList {
|
|
4
|
+
responses: ResponseModel[];
|
|
5
|
+
operationPointer: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const OperationResponseList: ({ responses, operationPointer }: IOperationResponseList) => JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import React,{useCallback}from"react";import{useRecoilState}from"recoil";import{operationStore}from"../../recoil/operation";import{ResponsesList}from"./ResponsesList";export const OperationResponseList=({responses:e,operationPointer:o})=>{const[s,t]=useRecoilState(operationStore(o)),r=useCallback((e=>{t((o=>Object.assign(Object.assign({},o),{activeResponseTab:e})))}),[t]);return React.createElement(ResponsesList,{responses:e,defaultOpenCode:s.activeResponseTab,onToggle:r})};
|
|
2
|
+
//# sourceMappingURL=OperationResponseList.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{useLocation}from"react-router-dom";import{StyledResponsePanel}from"../Panel";import{ResponseDetails}from"./ResponseDetails";import{ResponseSummary}from"./ResponseSummary";import{
|
|
1
|
+
import React from"react";import{useLocation}from"react-router-dom";import{StyledResponsePanel}from"../Panel";import{ResponseDetails}from"./ResponseDetails";import{ResponseSummary}from"./ResponseSummary";import{pathIncludesLink}from"../../utils";export function Response({response:e,shouldBeExpandedByDefault:o,onToggle:n}){var t;const s=useLocation();return React.createElement(StyledResponsePanel,{header:({toggle:o})=>React.createElement(ResponseSummary,{response:e,toggle:t=>{null==n||n(e.code),null==o||o(t)}}),expanded:[null===(t=null==e?void 0:e.content)||void 0===t?void 0:t.operation.href,`c=${e.code}`].every((e=>pathIncludesLink(s,e)))||o,className:`panel-response-${e.type}`},React.createElement(ResponseDetails,{response:e}))}
|
|
2
2
|
//# sourceMappingURL=Response.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo}from"react";import{Response}from"./Response";function ResponsesListComponent({responses:e}){return e&&0!==e.length?React.createElement("div",null,e.map((e=>React.createElement(Response,{key:e.code,response:e})))):null}export const ResponsesList=memo(ResponsesListComponent);
|
|
1
|
+
import React,{memo}from"react";import{Response}from"./Response";function ResponsesListComponent({responses:e,defaultOpenCode:o,onToggle:n}){return e&&0!==e.length?React.createElement("div",null,e.map((e=>React.createElement(Response,{key:e.code,response:e,shouldBeExpandedByDefault:e.code===o,onToggle:()=>null==n?void 0:n(e.code)})))):null}export const ResponsesList=memo(ResponsesListComponent);
|
|
2
2
|
//# sourceMappingURL=ResponsesList.js.map
|
|
@@ -3,3 +3,4 @@ export { ResponseDetails } from './ResponseDetails';
|
|
|
3
3
|
export { ResponseHeaders } from './/ResponseHeaders';
|
|
4
4
|
export { ResponsesList } from './ResponsesList';
|
|
5
5
|
export { ResponseSummary } from './ResponseSummary';
|
|
6
|
+
export { OperationResponseList } from './OperationResponseList';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{Response}from"./Response";export{ResponseDetails}from"./ResponseDetails";export{ResponseHeaders}from".//ResponseHeaders";export{ResponsesList}from"./ResponsesList";export{ResponseSummary}from"./ResponseSummary";
|
|
1
|
+
export{Response}from"./Response";export{ResponseDetails}from"./ResponseDetails";export{ResponseHeaders}from".//ResponseHeaders";export{ResponsesList}from"./ResponsesList";export{ResponseSummary}from"./ResponseSummary";export{OperationResponseList}from"./OperationResponseList";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,11 +2,15 @@ import type { PanelHeaderProps } from '@redocly/theme';
|
|
|
2
2
|
import type { ResponseModel, FieldModel } from '../../models';
|
|
3
3
|
export interface ResponseProps {
|
|
4
4
|
response: ResponseModel;
|
|
5
|
+
shouldBeExpandedByDefault?: boolean;
|
|
6
|
+
onToggle?: (code: string) => void;
|
|
5
7
|
}
|
|
6
8
|
export interface ResponseHeadersProps {
|
|
7
9
|
headers?: FieldModel[];
|
|
8
10
|
}
|
|
9
11
|
export interface ResponseListProps {
|
|
10
12
|
responses: ResponseModel[];
|
|
13
|
+
defaultOpenCode?: string;
|
|
14
|
+
onToggle?: (code: string) => void;
|
|
11
15
|
}
|
|
12
16
|
export type ResponseTitleProps = PanelHeaderProps & ResponseProps;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,r){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var
|
|
1
|
+
var __rest=this&&this.__rest||function(e,r){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(a=Object.getOwnPropertySymbols(e);n<a.length;n++)r.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(e,a[n])&&(t[a[n]]=e[a[n]])}return t};import React,{memo}from"react";import{useRecoilValue}from"recoil";import{FieldDetails}from"../Fields";import{ArraySchema}from"./ArraySchema";import{ObjectSchema}from"./ObjectSchema";import{OneOfSchema}from"./OneOfSchema";import{RecursiveSchema}from"./RecursiveSchema";import{operationStore}from"../../recoil/operation";function SchemaComponent(e){var r,{schema:t,onDiscriminatorChange:a}=e,n=__rest(e,["schema","onDiscriminatorChange"]);const{activeOneOf:c}=useRecoilValue(operationStore((null==t?void 0:t.deps.operation.pointer)||""));if(!t)return null;const{type:i,oneOf:o,discriminatorProp:m,isCircular:l}=t,s=(n.level||0)+1;if(l)return React.createElement(RecursiveSchema,{schema:t});if(void 0!==m){if(!o||!o.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${t.title}`),null;const e=o[c];return(null==e?void 0:e.isCircular)?React.createElement(RecursiveSchema,{schema:e}):React.createElement(ObjectSchema,Object.assign({},n,{level:s,schema:e,discriminator:{fieldName:m,parentSchema:t,onChange:a}}))}if(void 0!==o)return React.createElement(OneOfSchema,Object.assign({},n,{schema:t}));const h=Array.isArray(i)?i:[i];if(h.includes("object")){if(null===(r=t.fields)||void 0===r?void 0:r.length)return React.createElement(ObjectSchema,Object.assign({},n,{level:s,schema:t}))}else if(h.includes("array"))return React.createElement(ArraySchema,Object.assign({},n,{level:s,schema:t}));const u={schema:t,name:"",required:!1,description:t.description,externalDocs:t.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1};return React.createElement("div",null,React.createElement(FieldDetails,{field:u}))}export const Schema=memo(SchemaComponent);
|
|
2
2
|
//# sourceMappingURL=Schema.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{useRecoilValue}from"recoil";import{
|
|
1
|
+
import React from"react";import{useRecoilValue}from"recoil";import{MenuItem,MenuItemPath}from"../SideMenu";import{SideNavStyle}from"../../services";import{formatPath,formatPlaces}from"./utils";import{MarkedSpan,Place,ResultMeta}from"./styled";import{globalOptionsSelector}from"../../recoil/store";function markString(e,t){const a=new RegExp("("+t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")+")","gi"),l=e.split(a);for(let e=1,t=l.length;e<t;e+=2)l[e]=React.createElement(MarkedSpan,{key:e},l[e]);return l}export const MenuItemSearch=({result:e,term:t,active:a,onClick:l})=>{const{searchMode:r,sideNavStyle:c}=useRecoilValue(globalOptionsSelector),n="path-only"===r,m=c===SideNavStyle.PathFirst;return React.createElement(MenuItem,{item:Object.create(e.item,{name:{value:n?e.item.name:""},path:{value:""},search:{value:!0}}),active:a,"data-role":"search:result",onClick:l},(m||n)&&"operation"===e.item.type?React.createElement(React.Fragment,null,React.createElement(MenuItemPath,{title:e.item.path},markString(e.item.path,t))):markString(e.item.name,t),e.count>1?React.createElement(ResultMeta,null,e.count," matching ",formatPlaces(e.places)):1===e.count?React.createElement(ResultMeta,null,"in ",React.createElement(Place,null,e.places[0].place)," ",formatPath(t,e.places[0].paths[0])):null)};
|
|
2
2
|
//# sourceMappingURL=MenuItemSearch.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useMemo}from"react";import{ApiInfo}from"../ApiInfo";import{ContentItem}from"../ContentItem";import{NextSectionButton}from"../NextSectionButton";import{Pagination}from"../../services";export function SectionContent({items:t,pagination:e,nextSectionLink:n,showNextButton:o,showApiInfo:i}){const a=useMemo((()=>e===Pagination.None?t:t.filter((t=>"section"===t.type))),[t,e]);return React.createElement(React.Fragment,null,i&&React.createElement(ApiInfo,null),a.map((t=>React.createElement(ContentItem,{key:t.id,item:t,pagination:e,showNextButton:o}))),o&&n&&React.createElement(NextSectionButton,{href:n.href||"",label:n.name,pagination:e}))}
|
|
1
|
+
import React,{useMemo}from"react";import{ApiInfo}from"../ApiInfo";import{ContentItem}from"../ContentItem";import{NextSectionButton}from"../NextSectionButton";import{Pagination}from"../../services";export function SectionContent({items:t,pagination:e,nextSectionLink:n,showNextButton:o,showApiInfo:i}){const a=useMemo((()=>e===Pagination.None?t:null==t?void 0:t.filter((t=>"section"===t.type))),[t,e]);return React.createElement(React.Fragment,null,i&&React.createElement(ApiInfo,null),a&&a.map((t=>React.createElement(ContentItem,{key:t.id,item:t,pagination:e,showNextButton:o}))),o&&n&&React.createElement(NextSectionButton,{href:n.href||"",label:n.name,pagination:e}))}
|
|
2
2
|
//# sourceMappingURL=SectionContent.js.map
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import React,{useLayoutEffect,Fragment,useRef,useState}from"react";import{AUTH_TYPES}from"./constants";export function PanelDescription({securities:e,showSecuritySchemeType:t}){const n=useRef(null),[r
|
|
1
|
+
import React,{useLayoutEffect,Fragment,useRef,useState}from"react";import styled from"styled-components";import{AUTH_TYPES}from"./constants";export function PanelDescription({securities:e,showSecuritySchemeType:t}){const n=useRef(null),[s,r]=useState("");return useLayoutEffect((()=>{var e;r((null===(e=n.current)||void 0===e?void 0:e.innerText)||"")}),[n]),React.createElement(StyledDescription,{ref:n,title:s},e.map(((n,s)=>{let r="",c="";const l=n.schemes.length;return e.length>1&&l>1&&(r=0===s?"(":"",c=")"),s!==e.length-1&&(c+=" or "),React.createElement(Fragment,{key:n.schemes.map((({id:e})=>e)).join("")},r,l?n.schemes.map((e=>React.createElement(StyledRequirementElement,{key:e.id},t?`${AUTH_TYPES[e.type]||e.type}: `:null,e.id))).reduce(((e,t)=>[e," and ",t])):null,c)})))}const StyledDescription=styled.span`
|
|
2
|
+
font-size: var(--font-size-base);
|
|
3
|
+
`,StyledRequirementElement=styled.span``;
|
|
2
4
|
//# sourceMappingURL=PanelDescription.js.map
|
|
@@ -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,11 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
3
|
-
import type { IMenuItem, Pagination } from '../../services';
|
|
2
|
+
import type { ExtendedMenuItem } from './types';
|
|
4
3
|
interface MenuItemProps {
|
|
5
|
-
item: IMenuItem;
|
|
6
|
-
location: Location;
|
|
7
4
|
active?: boolean;
|
|
8
|
-
|
|
5
|
+
item: ExtendedMenuItem;
|
|
9
6
|
onClick?: () => void;
|
|
10
7
|
}
|
|
11
8
|
export declare const MenuItem: React.NamedExoticComponent<React.PropsWithChildren<MenuItemProps>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo}from"react";import{Badge}from"@redocly/theme";import{MenuItemLi,MenuItemTitle}from"./styled";import{MenuItems}from"./MenuItems";import{MenuItemLink}from"./MenuItemLink";import{MenuOperationItemContent}from"./MenuOperationItemContent";import{ShelfIcon}from"../icons";import{
|
|
1
|
+
import React,{memo,useCallback}from"react";import{Badge}from"@redocly/theme";import{MenuItemLi,MenuItemTitle}from"./styled";import{MenuItems}from"./MenuItems";import{MenuItemLink}from"./MenuItemLink";import{MenuOperationItemContent}from"./MenuOperationItemContent";import{ShelfIcon}from"../icons";import{encodeBackSlashes}from"../../utils";import{useMenuItemExpanded}from"./hooks";function MenuItemComponent({item:e,children:t,onClick:n}){var m;const[o,i]=useMenuItemExpanded(e),a=useCallback((()=>{e.href&&e.hasActiveSubItem||i(!o)}),[o,e.href,e.hasActiveSubItem,i]),c=(null===(m=e.items)||void 0===m?void 0:m.length)>0,r=encodeBackSlashes(e.href);return React.createElement(MenuItemLi,{depth:e.depth,"data-item-id":e.id,onClick:n},"operation"===e.type?React.createElement(MenuOperationItemContent,{item:e,to:r,active:e.active},t):React.createElement(MenuItemLink,{to:r,depth:e.depth,type:e.type,hasChildren:c,active:e.active,onClick:a},e.depth>0&&c&&React.createElement(ShelfIcon,{direction:o?"down":"right"})||null,e.isSchema?React.createElement(Badge,{type:"schema"},"schema"):null,React.createElement(MenuItemTitle,{title:e.name},e.name,t)),c&&React.createElement(MenuItems,{expanded:o,items:e.items}))}export const MenuItem=memo(MenuItemComponent);
|
|
2
2
|
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo}from"react";import{StyledMenuItemLink,MenuItemLabel}from"./styled";function MenuItemLinkComponent({href:e,children:t,to:n,hasChildren:m,deprecated:r,depth:
|
|
1
|
+
import React,{memo}from"react";import{StyledMenuItemLink,MenuItemLabel}from"./styled";function MenuItemLinkComponent({href:e,children:t,to:n,hasChildren:m,deprecated:r,depth:c,active:o,type:a,onClick:i}){return n?React.createElement(StyledMenuItemLink,{$active:o,$hasChildren:m,type:a,deprecated:r,depth:c,to:n,onClick:i},t):React.createElement(MenuItemLabel,{type:a,active:o,deprecated:r,depth:c,href:e},t)}export const MenuItemLink=memo(MenuItemLinkComponent);
|
|
2
2
|
//# sourceMappingURL=MenuItemLink.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo}from"react";import{
|
|
1
|
+
import React,{memo}from"react";import{MenuItem}from"./MenuItem";import{MenuItemUl}from"./styled";import{MenuExternalLink}from"./MenuItemEternalLink";function MenuItemsComponents({items:e,root:t,className:n,linksBefore:m=[],linksAfter:r=[],expanded:a=!0,style:i}){return React.createElement(MenuItemUl,{className:n,style:i,expanded:a,role:t?"navigation":void 0},m.map((e=>React.createElement(MenuExternalLink,{key:JSON.stringify(e),link:e}))),e.map((e=>React.createElement(MenuItem,{key:e.id,item:e}))),r.map((e=>React.createElement(MenuExternalLink,{key:JSON.stringify(e),link:e}))))}export const MenuItems=memo(MenuItemsComponents);
|
|
2
2
|
//# sourceMappingURL=MenuItems.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useRef}from"react";import{useRecoilValue}from"recoil";import{RedocAttribution}from"./styled";import{MenuItems}from"./MenuItems";import{PerfectScrollbarWrap}from"../common";import{globalOptionsSelector}from"../../recoil/store";const SideMenuComponent=({items:e,className:t})=>{const{sidebarLinks:o,whiteLabel:r,pagination:n}=useRecoilValue(globalOptionsSelector),l=useRef();return React.createElement(PerfectScrollbarWrap,{updateFn:e=>{l.current=e},className:t,options:{wheelPropagation:!1}},React.createElement(MenuItems,{items:
|
|
1
|
+
import React,{memo,useRef}from"react";import{useRecoilValue}from"recoil";import{RedocAttribution}from"./styled";import{MenuItems}from"./MenuItems";import{PerfectScrollbarWrap}from"../common";import{globalOptionsSelector}from"../../recoil/store";import{useMenuItems}from"./hooks";const SideMenuComponent=({items:e,className:t})=>{const{sidebarLinks:o,whiteLabel:r,pagination:n}=useRecoilValue(globalOptionsSelector),l=useRef(),i=useMenuItems({items:e,pagination:n});return React.createElement(PerfectScrollbarWrap,{updateFn:e=>{l.current=e},className:t,options:{wheelPropagation:!1}},React.createElement(MenuItems,{items:i,root:!0,linksBefore:null==o?void 0:o.beforeInfo,linksAfter:null==o?void 0:o.end}),r&&React.createElement(RedocAttribution,null,React.createElement("a",{href:"https://redoc.ly",target:"_blank",rel:"noreferrer"},"Powered by Redocly")))};export const SideMenu=memo(SideMenuComponent);
|
|
2
2
|
//# sourceMappingURL=SideMenu.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useEffect,useState}from"react";export function useMenuItemExpanded({active:e,hasActiveSubItem:t,type:n}){const[u,s]=useState(isItemExpanded(e,t,n));return useEffect((()=>{s(isItemExpanded(e,t,n))}),[e,t,n]),[u,s]}function isItemExpanded(e,t,n){return e||t||"group"===n}
|
|
2
|
+
//# sourceMappingURL=useMenuItemExpanded.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IMenuItem } from '../../../services';
|
|
2
|
+
import type { ExtendedMenuItem } from '../types';
|
|
3
|
+
import { Pagination } from '../../../services';
|
|
4
|
+
type UseMenuItemsInput = {
|
|
5
|
+
items: IMenuItem[];
|
|
6
|
+
pagination: Pagination;
|
|
7
|
+
};
|
|
8
|
+
export declare function useMenuItems({ items, pagination }: UseMenuItemsInput): ExtendedMenuItem[];
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useActiveSectionId}from"@redocly/theme";import{useMemo}from"react";import{useLocation}from"react-router-dom";import{Pagination}from"../../../services";import{normalizeHashPath,pathMatchedLink}from"../../../utils";export function useMenuItems({items:e,pagination:t}){const i=useLocation(),m=useActiveSectionId(i,!1,!1);return useMemo((()=>mapAndSetActiveItems(e,m,i,t)),[m,e,i,t])}function mapAndSetActiveItems(e,t="",i,m){return e.map((e=>{const n=isItemActive(e,t,i),o=isSubItemActive(e,t,i);return m===Pagination.Item&&(e.href=normalizeHashPath(e.href)),Object.assign(Object.assign({},e),{items:mapAndSetActiveItems(e.items||[],t,i,m),active:n&&!o,hasActiveSubItem:o})})).filter(Boolean)}function isItemActive(e,t="",i){return!!e.href&&(t?e.id===t:pathMatchedLink(i,e.href))}function isSubItemActive(e,t="",i){return(e.items||[]).some((e=>isItemActive(e,t,i)||isSubItemActive(e,t,i)))}
|
|
2
|
+
//# sourceMappingURL=useMenuItems.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CSSProperties } from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ExternalLink, IMenuItem } from '../../services';
|
|
3
3
|
export interface MenuItemLinkProps {
|
|
4
4
|
depth: number;
|
|
5
5
|
active: boolean;
|
|
@@ -8,18 +8,23 @@ export interface MenuItemLinkProps {
|
|
|
8
8
|
hasChildren?: boolean;
|
|
9
9
|
to: string;
|
|
10
10
|
href?: string;
|
|
11
|
+
onClick?: () => void;
|
|
11
12
|
}
|
|
12
13
|
export interface MenuItemsProps {
|
|
13
|
-
items:
|
|
14
|
+
items: ExtendedMenuItem[];
|
|
14
15
|
expanded?: boolean;
|
|
15
16
|
style?: CSSProperties;
|
|
16
17
|
root?: boolean;
|
|
17
18
|
className?: string;
|
|
18
19
|
linksBefore?: ExternalLink[];
|
|
19
20
|
linksAfter?: ExternalLink[];
|
|
20
|
-
pagination: Pagination;
|
|
21
21
|
}
|
|
22
22
|
export type StyledMenuItemLinkProps = Omit<MenuItemLinkProps, 'active' | 'hasChildren'> & {
|
|
23
23
|
$active: MenuItemLinkProps['active'];
|
|
24
24
|
$hasChildren: MenuItemLinkProps['hasChildren'];
|
|
25
25
|
};
|
|
26
|
+
export type ExtendedMenuItem = IMenuItem & {
|
|
27
|
+
active: boolean;
|
|
28
|
+
hasActiveSubItem: boolean;
|
|
29
|
+
items: ExtendedMenuItem[];
|
|
30
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,t){var
|
|
1
|
+
var __rest=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);a<o.length;a++)t.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(e,o[a])&&(n[o[a]]=e[o[a]])}return n};import React,{memo,useCallback,useEffect,useState}from"react";import{useRecoilState}from"recoil";import{CollapsingTabsBase}from"./CollapsingTabsBase";import{operationStore}from"../../../recoil/operation";function getActiveIndexFromOperation(e,t,n){var o;if(!t)return-1;if("number"==typeof n&&n>0){return hasActiveExampleName(null===(o=e[n])||void 0===o?void 0:o.content,t)?n:getActiveIndexFromOperation(e,t)}return e.findIndex((({content:e})=>hasActiveExampleName(e,t)))}function hasActiveExampleName(e,t){return!!(null==e?void 0:e.mediaTypes.find((e=>Object.keys(e.examples||[]).includes(t||""))))}function CollapsingTabsComponent(e){var{children:t}=e,n=__rest(e,["children"]);const{operation:{pointer:o,responses:a},tabs:i}=n,[r,s]=useRecoilState(operationStore(o)),[l,c]=useState(0);function p(e){s((t=>Object.assign(Object.assign({},t),{activeResponseTab:e})))}useEffect((()=>{const e=i.findIndex((e=>e.title===(null==r?void 0:r.activeResponseTab)));c(e)}),[i,null==r?void 0:r.activeResponseTab,c]);const m=null==r?void 0:r.activeExampleName;useEffect((()=>{const e=getActiveIndexFromOperation(a,m,l);e>-1&&i[e]&&(c(e),p(i[e].title))}),[m]);const u=useCallback((e=>{l!==e&&(c(e),p(i[e].title))}),[l]);return React.createElement(CollapsingTabsBase,Object.assign({},n,{activeIndex:l,onChange:u}),t)}export const CollapsingTabs=memo(CollapsingTabsComponent);
|
|
2
2
|
//# sourceMappingURL=CollapsingTabs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{Tabs}from"react-tabs";import{useRecoilValue}from"recoil";import{CollapsingDropdown}from"../../common/Dropdown";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";import{globalOptionsSelector}from"../../../recoil/store";function CollapsingTabsBaseComponent({tabs:e,children:
|
|
1
|
+
import React from"react";import{Tabs}from"react-tabs";import{useRecoilValue}from"recoil";import{CollapsingDropdown}from"../../common/Dropdown";import{CollapsingTabList}from"./CollapsingTabList";import{CollapsingTab}from"./CollapsingTab";import{globalOptionsSelector}from"../../../recoil/store";function CollapsingTabsBaseComponent({tabs:e,children:o,hidden:t,activeIndex:a,onChange:l}){const{samplesTabsMaxCount:n}=useRecoilValue(globalOptionsSelector),i=React.useMemo((()=>e.slice(n).map((({title:e},o)=>({idx:o,value:e})))),[e,n]),s=`${i.length} more`,[c,r]=React.useState(s),p=React.useCallback((()=>{var o;const t=a>=n;c!==s&&c===e[a].title||!t?c===s||t||r(s):r(null===(o=e[a])||void 0===o?void 0:o.title)}),[a,n,c,s,e]);React.useEffect((()=>{setTimeout(p,0)}),[a,n,p]);return React.createElement(Tabs,{selectedIndex:a,onSelect:l},React.createElement(CollapsingTabList,{hidden:t},e.map(((e,o)=>React.createElement(CollapsingTab,{key:null==e?void 0:e.key,disabled:o>=n},null==e?void 0:e.title))),i.length?React.createElement(CollapsingDropdown,{options:i,onChange:e=>{l(n+e.idx)},placeholder:s,value:c,active:a>=n}):null),o)}export const CollapsingTabsBase=React.memo(CollapsingTabsBaseComponent);
|
|
2
2
|
//# sourceMappingURL=CollapsingTabsBase.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import styled from"styled-components";import React from"react";import{AnchorIcon}from"@redocly/theme";import{joinWithSeparator,Pagination}from"../../services";import{constructFieldDeepFragment}from"../../services/history/helpers";import{
|
|
1
|
+
import styled from"styled-components";import React from"react";import{AnchorIcon}from"@redocly/theme";import{joinWithSeparator,Pagination}from"../../services";import{constructFieldDeepFragment}from"../../services/history/helpers";import{pathMatchedLink}from"../../utils";import{ShareLink}from"./linkify";export function generateDeepLink(i,e){const t=i.deps.operation,o=constructFieldDeepFragment(i);if(!(null==t?void 0:t.id)&&!t.isCallback)return"#"+o;let n=e.pagination===Pagination.Item?"#":t.href;return joinWithSeparator(n,o,"!")}export const LinkToField=i=>{const e=i.to;return React.createElement(ShareLinkToField,{className:i.className,isActive:!(!(null==i?void 0:i.location)||!pathMatchedLink(i.location,e)),to:e,id:null==e?void 0:e.split("#")[1]})};export const ShareLinkToField=styled(ShareLink)`
|
|
2
2
|
left: 10px;
|
|
3
3
|
display: flex;
|
|
4
|
-
${({isActive:
|
|
4
|
+
${({isActive:i})=>i&&`\n ${AnchorIcon} {\n visibility: visible;\n }\n `}
|
|
5
5
|
:hover ${AnchorIcon}, :focus ${AnchorIcon} {
|
|
6
6
|
visibility: visible;
|
|
7
7
|
}
|
|
@@ -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 Swagger from"swagger-client";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{unescapeFormId}from"../../../utils";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{dereferenceDefinitionForTryIt,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{globalStoreSelector}from"../../../recoil/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../recoil/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,securityDefaults:n,onClose:a}){let i=useRef();const[l,c]=useRecoilState(operationStore(e.pointer)),[u,p]=useState(l.activeServer||e.activeServer),[d,m]=useState(0),[v,y]=useState(!1),[h,f]=useState(!1),[g,b]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[O,S]=useState(),[j,C]=useState(),[R,P]=useState(),[I,
|
|
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 Swagger from"swagger-client";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{unescapeFormId}from"../../../utils";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{dereferenceDefinitionForTryIt,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{globalStoreSelector}from"../../../recoil/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../recoil/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,securityDefaults:n,onClose:a}){let i=useRef();const[l,c]=useRecoilState(operationStore(e.pointer)),[u,p]=useState(l.activeServer||e.activeServer),[d,m]=useState(0),[v,y]=useState(!1),[h,f]=useState(!1),[g,b]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[O,S]=useState(),[j,C]=useState(),[R,P]=useState(),[I,T]=useState(),w=usePrevious(e),{parser:q,options:E}=useRecoilValue(globalStoreSelector),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(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||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(r),updateStorage(r)}),[c]),A=useCallback((e=>{m(e)}),[]),F=useCallback((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,l,c,p,d,v,h,b,S,j,R,I,w;const{values:q,invalid:_}=(null===(o=null==i?void 0:i.current)||void 0===o?void 0:o.getState())||g||{};if(null===(r=i.current)||void 0===r||r.submitForm(),_)return f(!0),setTimeout((()=>f(!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:k,requestBody:A}=e,F=A&&A.content&&(null===(a=getActiveMediaType(A.content))||void 0===a?void 0:a.name)||"";let V=q.body;if(/json/.test(F))try{V=JSON.parse(V)}catch(e){console.error(e)}y(!0);const x=O,B=(e.httpVerb||"").toLowerCase();if(!k)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=k.find((e=>u.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({},x),{components:Object.assign(Object.assign({},null==x?void 0:x.components),{securitySchemes:Object.assign(Object.assign({},null===(l=null==x?void 0:x.components)||void 0===l?void 0:l.securitySchemes),{[t]:Object.assign(Object.assign({},null===(p=null===(c=null==x?void 0:x.components)||void 0===c?void 0:c.securitySchemes)||void 0===p?void 0:p[t]),{type:"openIdConnect"===(null===(h=null===(v=null===(d=null==x?void 0:x.components)||void 0===d?void 0:d.securitySchemes)||void 0===v?void 0:v[t])||void 0===h?void 0:h.type)?"oauth2":(null===(S=null===(b=null==x?void 0:x.components)||void 0===b?void 0:b.securitySchemes)||void 0===S?void 0:S[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},x);M.servers=k;const H=E.corsProxyUrl;H&&k.length&&(M.servers=k.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==A?void 0:A.content)&&(null===(j=getActiveMediaType(A.content))||void 0===j?void 0:j.name)||null;if(W&&V&&isFileUploadMime(W)){const e=Object.values(V);V=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:V,requestContentType:W,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const e=yield Swagger.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}),T(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:z,response:e.response})),T(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-N),null===(w=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===w||w.call(I,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[u.url,g,t,e,E,O]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,q.definition);S(o),null===(t=i.current)||void 0===t||t.setValues({})})))),useEffect((()=>{w&&w!==e&&(T(void 0),P(void 0),m(0))}),[e,w]);const x=!(!I&&!R);return React.createElement(ConsoleWrapper,{shaking:h,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:d,hasResponse:x,onChange:A}),a&&React.createElement(CloseButton,{onClick:a}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==d,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,securityDefaults:n,form:g,resolvedRawSpec:O,server:u,formApi:i.current,setFormApi:_,handleChange:k,handleServerChange:F})),React.createElement(ConsoleBody,{hidden:1!==d,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:I,error:R,time:j})),React.createElement(ActionPanel,{hasResponse:x,params:g.values,operation:e,loading:v,execute:V}))}export const Console=memo(ConsoleComponent);
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useCallback
|
|
1
|
+
import React,{memo,useCallback}from"react";import{isRootFileUpload}from"../../common/FileUpload/helper";import{MediaTypes}from"../../../constants";import{ExampleSwitch,useExampleKey}from"../../Samples";import{fromSessionStorage,toSessionStorage}from"../../../utils";import{encodeSample,getStorageExampleKey}from"../utils";import{RequestBodyForm}from"../RequestBodyForm";import{CodemirrorInput}from"../CodemirrorInput";import{useActivateExample}from"../../../hooks";function BodyComponent({mediaType:e,mediaContent:o,properties:t,id:a,resolvedBody:m,formApi:r,getActiveSample:l,validate:n}){const i=useActivateExample(o),p=e.examples||{},s=Object.keys(p),d=e.schema,c=isRootFileUpload(d||{},e.name)||e.name===MediaTypes.MULTIPART||e.name===MediaTypes.URL_ENCODED,{exampleKey:y}=useExampleKey(e.operation,p),u=fromSessionStorage(getStorageExampleKey(a,e.name,y,p))||encodeSample(p[y],t),g=useCallback(((e="",o="",t=[])=>m=>{toSessionStorage(getStorageExampleKey(a,e,o,t),m)}),[a]),S=useCallback((e=>{i&&i(e),r.setValue("body",l(e))}),[r,l,i]),f=useCallback(((e,o)=>{r.setValue(`body.${e}`,o)}),[r]);return React.createElement(React.Fragment,null,s.length&&1!==s.length&&React.createElement(ExampleSwitch,{examples:p,onChange:S,exampleKey:y,panel:"try-it"})||null,c?React.createElement(RequestBodyForm,{mediaType:e,formApi:r,onChange:f}):React.createElement(CodemirrorInput,{id:"body"+a,field:"body",initialValue:u,schema:((null==m?void 0:m.content[e.name])||{}).schema,mode:e.name,validate:n,onChange:g(e.name,y,p)}))}export const Body=memo(BodyComponent);
|
|
2
2
|
//# sourceMappingURL=Body.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useCallback,useEffect}from"react";import
|
|
1
|
+
import React,{memo,useCallback,useEffect}from"react";import{useRecoilValue}from"recoil";import{DropdownOrLabel}from"../../DropdownOrLabel";import{MediaTypesSwitch}from"../../MediaTypeSwitch";import{Dropdown}from"../../common";import{RequestMimeLabel}from"../RequestMimeLabel";import{encodeSample,getStorageExampleKey}from"../utils";import{fromSessionStorage}from"../../../utils";import{Body}from"./Body";import{getActiveMediaType}from"../../../models";import{activeMimeNameSelector}from"../../../recoil/app";import{operationStore}from"../../../recoil/operation";function RequestBodyComponent({body:{content:e},formApi:o,resolvedBody:t,properties:r,id:a,validate:i,pointer:m}){const l=useRecoilValue(activeMimeNameSelector),{examples:n,name:p}=e&&getActiveMediaType(e,l)||{},c=useCallback((o=>{if(!e||!e.hasSample)return"";if(!(null==n?void 0:n[o]))return"";const t=p&&fromSessionStorage(getStorageExampleKey(a,p,o,n)),i=t?JSON.parse(t):null==n?void 0:n[o];return encodeSample(i,r)}),[p,n,a,e,r]),{activeExampleName:s}=useRecoilValue(operationStore(m));useEffect((()=>{if(p){const e=getStorageExampleKey(a,p,s,n);o.setValue("body",fromSessionStorage(e)||c(s||""))}else o.setValue("body",JSON.stringify(r||{},null,2))}),[n,s,p,o,c,a,r]);return React.createElement(React.Fragment,null,React.createElement(MediaTypesSwitch,{content:e,renderDropdown:e=>React.createElement(DropdownOrLabel,Object.assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel,Dropdown:Dropdown}))},(m=>React.createElement(Body,{mediaType:m,mediaContent:e,resolvedBody:t,id:a,properties:r,getActiveSample:c,formApi:o,validate:i}))))}export const RequestBody=memo(RequestBodyComponent);
|
|
2
2
|
//# sourceMappingURL=RequestBody.js.map
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import styled from"styled-components";export const NoSampleLabel=styled.div`
|
|
2
|
-
font-size: 12px;
|
|
3
|
-
min-height: 100px;
|
|
4
2
|
padding: 20px 0;
|
|
5
|
-
color: var(--color-error-500);
|
|
6
3
|
font-family: var(--code-font-family);
|
|
7
4
|
`;export const WarnMessage=styled.div`
|
|
8
5
|
font-size: 12px;
|
package/lib-esm/hooks/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { useDimensions } from './useDimensions';
|
|
2
2
|
export { usePrevious } from './usePrevious';
|
|
3
|
-
export { useLicense } from './useLicense';
|
|
4
3
|
export { useActivateExample } from './useActivateExample';
|
|
5
4
|
export { useRouter } from './useRouter';
|
|
6
5
|
export { useContentItems } from './useContentItems';
|
package/lib-esm/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{useDimensions}from"./useDimensions";export{usePrevious}from"./usePrevious";export{
|
|
1
|
+
export{useDimensions}from"./useDimensions";export{usePrevious}from"./usePrevious";export{useActivateExample}from"./useActivateExample";export{useRouter}from"./useRouter";export{useContentItems}from"./useContentItems";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as Sampler from"openapi-sampler";import{getSchema}from"./schema";import{isFormUrlEncoded,isJsonLike,JsonPointer,mapValues}from"../utils";import{getExamples}from"./example";function generateExamples({parser:e,info:{encoding:a,schema:o},schema:n,mime:i,isRequestType:
|
|
1
|
+
import*as Sampler from"openapi-sampler";import{getSchema}from"./schema";import{isFormUrlEncoded,isJsonLike,JsonPointer,mapValues}from"../utils";import{getExamples}from"./example";function generateExamples({parser:e,info:{encoding:a,schema:o},schema:n,mime:i,isRequestType:r,onlyRequiredInSamples:s,generatedPayloadSamplesMaxDepth:m}){const p={skipReadOnly:r,skipWriteOnly:!r,skipNonRequired:r&&s,maxSampleDepth:m};let t={};if(n&&n.oneOf)for(const o of n.oneOf){const r=Sampler.sample(o.rawSchema,p,e.definition);n.discriminatorProp&&"object"==typeof r&&r&&(r[n.discriminatorProp]=o.title),t[o.title]=getExamples({parser:e,infoOrRef:{value:r},mime:i,encoding:a})}else t=n?{default:getExamples({parser:e,infoOrRef:{value:Sampler.sample(o,p,e.definition)},mime:i,encoding:a})}:{default:{value:null,rawValue:"null"}};return t}export function getMediaType(e,a,o,n,i,{operation:r,type:s,response:m,absolutePointer:p=""}){let t;const l=n.schema&&getSchema({parser:e,schemaOrRef:n.schema,pointer:"",absolutePointer:JsonPointer.join(p,["content",a,"schema"]),options:i,deps:{operation:r,type:s,response:m}}),{onlyRequiredInSamples:d,generatedPayloadSamplesMaxDepth:c}=i,{encoding:f,examples:u,example:g}=n;return void 0!==u?t=mapValues(u,(o=>getExamples({parser:e,infoOrRef:o,mime:a,encoding:f}))):void 0!==g?t={default:getExamples({parser:e,infoOrRef:{value:e.deref(g).resolved},mime:a,encoding:f})}:(isJsonLike(a)||isFormUrlEncoded(a))&&(t=generateExamples({parser:e,info:n,schema:l,mime:a,isRequestType:o,onlyRequiredInSamples:d,generatedPayloadSamplesMaxDepth:c})),{examples:t,schema:l,name:a,isRequestType:o,onlyRequiredInSamples:d,operation:r}}
|
|
2
2
|
//# sourceMappingURL=mediaType.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExtendedOpenAPIOperation, Unstable_ExternalCodeSample, OpenAPIParser, Options } from '../services';
|
|
2
|
-
import type { OpenAPIXCodeSample } from '../types';
|
|
2
|
+
import type { OpenAPIServer, OpenAPIXCodeSample } from '../types';
|
|
3
3
|
import type { MediaContentModel, OperationModel, GroupModel } from './types';
|
|
4
4
|
export interface Sample {
|
|
5
5
|
lang: string;
|
|
@@ -16,3 +16,4 @@ export interface Callback {
|
|
|
16
16
|
}
|
|
17
17
|
export declare function isPayloadSample(sample: XPayloadSample | OpenAPIXCodeSample | Unstable_ExternalCodeSample): sample is XPayloadSample;
|
|
18
18
|
export declare function getOperation(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: Options, href: string, callback?: Callback): OperationModel;
|
|
19
|
+
export declare function mergeInMockServer(servers: OpenAPIServer[], mockServerOptions: Options['mockServer']): OpenAPIServer[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByField,sortByRequired}from"../utils";import{getInitialServerWithVariables}from"../components/rightPanel/utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurityRequirement}from"./security";import{getResponse}from"./response";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export function getOperation(e,r,t,o,i,s){var a,n,l;const p=r.isWebhook,d={operationDefinition:r,parent:t,pointer:r.pointer,description:getValueFromMdParsedExtension(r,"description"),externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:p,isCallback:Boolean(null==s?void 0:s.isCallback),isEvent:(null==s?void 0:s.isCallback)||p,name:getOperationName(r),defaultExampleName:r.defaultSampleName,type:"operation",callbackId:null==s?void 0:s.id,href:i,get callbacks(){return Object.keys(r.callbacks||[]).map((s=>{var a;return getCallback(e,s,null===(a=r.callbacks)||void 0===a?void 0:a[s],d.pointer,o,i,t)}))},get responses(){let t=!1;return Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(t=!0),isStatusCode(e)))).map((i=>getResponse({parser:e,code:i,defaultAsError:t,infoOrRef:r.responses[i],options:o,isEvent:d.isEvent,operation:d})))},get parameters(){let t=mergeParams(e,r.pathParameters,r.parameters,{pathPointer:JsonPointer.dirName(d.pointer),operationPointer:d.pointer}).map((({paramOrRef:r,pointer:t})=>getField(e,r,t,o,{operation:d,type:"request"})));return o.sortPropsAlphabetically&&(t=sortByField(t,"name")),o.requiredPropsFirst&&(t=sortByRequired(t)),t}};(null==s?void 0:s.isCallback)?(d.security=(r.security||[]).map((r=>getSecurityRequirement({requirement:r,parser:e}))),d.servers=normalizeServers("",r.servers||r.pathServers||[])):(d.id=getOperationId(r,t),d.security=(r.security||e.definition.security||[]).map((r=>getSecurityRequirement({requirement:r,parser:e}))),d.servers=normalizeServers(e.definitionUrl,mergeInMockServer(r.servers||r.pathServers||e.definition.servers||[],o.mockServer))),o.showExtensions&&(d.extensions=extractExtensions(r,o.showExtensions)),d.activeServer=getInitialServerWithVariables(d.servers),d.requestBody=r.requestBody&&getRequestBody({parser:e,infoOrRef:r.requestBody,options:o,operation:d,isEvent:d.isEvent});const m=null===(n=null===(a=d.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[u]=m||[],[c]=Object.keys((null==u?void 0:u.examples)||[]);d.activeExampleName=!1===r.defaultSampleName?void 0:r.defaultSampleName||c;const v=null===(l=d.requestBody)||void 0===l?void 0:l.content;return d.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,d.definitionSamples=r["x-codeSamples"]||r["x-code-samples"]||[],r["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),d.hasSamples=(null==v?void 0:v.hasSample)||d.definitionSamples.length>0,d.hideTryItPanel=!0===r["x-hideTryItPanel"],d}function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}
|
|
1
|
+
import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByField,sortByRequired}from"../utils";import{getInitialServerWithVariables}from"../components/rightPanel/utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurityRequirement}from"./security";import{getResponse}from"./response";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export function getOperation(e,r,t,o,i,s){var a,n,l;const p=r.isWebhook,d={operationDefinition:r,parent:t,pointer:r.pointer,description:getValueFromMdParsedExtension(r,"description"),externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:p,isCallback:Boolean(null==s?void 0:s.isCallback),isEvent:(null==s?void 0:s.isCallback)||p,name:getOperationName(r),defaultExampleName:r.defaultSampleName,type:"operation",callbackId:null==s?void 0:s.id,href:i,get callbacks(){return Object.keys(r.callbacks||[]).map((s=>{var a;return getCallback(e,s,null===(a=r.callbacks)||void 0===a?void 0:a[s],d.pointer,o,i,t)}))},get responses(){let t=!1;return Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(t=!0),isStatusCode(e)))).map((i=>getResponse({parser:e,code:i,defaultAsError:t,infoOrRef:r.responses[i],options:o,isEvent:d.isEvent,operation:d})))},get parameters(){let t=mergeParams(e,r.pathParameters,r.parameters,{pathPointer:JsonPointer.dirName(d.pointer),operationPointer:d.pointer}).map((({paramOrRef:r,pointer:t})=>getField(e,r,t,o,{operation:d,type:"request"})));return o.sortPropsAlphabetically&&(t=sortByField(t,"name")),o.requiredPropsFirst&&(t=sortByRequired(t)),t}};(null==s?void 0:s.isCallback)?(d.security=(r.security||[]).map((r=>getSecurityRequirement({requirement:r,parser:e}))),d.servers=normalizeServers("",r.servers||r.pathServers||[])):(d.id=getOperationId(r,t),d.security=(r.security||e.definition.security||[]).map((r=>getSecurityRequirement({requirement:r,parser:e}))),d.servers=normalizeServers(e.definitionUrl,mergeInMockServer(r.servers||r.pathServers||e.definition.servers||[],o.mockServer))),o.showExtensions&&(d.extensions=extractExtensions(r,o.showExtensions)),d.activeServer=getInitialServerWithVariables(d.servers),d.requestBody=r.requestBody&&getRequestBody({parser:e,infoOrRef:r.requestBody,options:o,operation:d,isEvent:d.isEvent});const m=null===(n=null===(a=d.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[u]=m||[],[c]=Object.keys((null==u?void 0:u.examples)||[]);d.activeExampleName=!1===r.defaultSampleName?void 0:r.defaultSampleName||c;const v=null===(l=d.requestBody)||void 0===l?void 0:l.content;return d.payload=(null==v?void 0:v.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:v}:void 0,d.definitionSamples=r["x-codeSamples"]||r["x-code-samples"]||[],r["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),d.hasSamples=(null==v?void 0:v.hasSample)||d.definitionSamples.length>0,d.hideTryItPanel=!0===r["x-hideTryItPanel"],d}export function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|
package/lib-esm/models/schema.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i};import{pushRef}from"../services/OpenAPIParser";import{detectType,extractExtensions,getValueFromMdParsedExtension,humanizeConstraints,isNamedDefinition,isObject,isPrimitiveType,JsonPointer,pluralizeType,sortByField,sortByRequired}from"../utils";import{l}from"../services";import{getField}from"./field";export function getSchema({parser:e,schemaOrRef:t,pointer:i,options:n,isChild:r=!1,baseRefsStack:s=[],deps:o,absolutePointer:a}){var p,d,m,c,f,u,y,O;const{resolved:h,refsStack:b}=e.deref(t,s,!0),v=t.$ref||i||"",P=pushRef(b,v),g=e.mergeAllOf(h,v,P,t.$ref||a),x=g.type||detectType(g),F={parser:e,options:n,deps:o,schemaOrRef:t,isChild:r,typePrefix:"",pointer:v,absolutePointer:a,refsStack:P,rawSchema:h,type:x,isCircular:!!g["x-circular-ref"],title:g.title||isNamedDefinition(v)&&JsonPointer.baseName(v)||"",description:getValueFromMdParsedExtension(g,"description")||"",format:g.format,enum:g.enum||[],example:g.example,deprecated:!!g.deprecated,pattern:g.pattern,externalDocs:g.externalDocs,displayFormat:g.format,isPrimitive:isPrimitiveType(g,x),constraints:humanizeConstraints(g),default:g.default,readOnly:!!g.readOnly,writeOnly:!!g.writeOnly,const:g.const||"",contentEncoding:g.contentEncoding,contentMediaType:g.contentMediaType,minItems:g.minItems,maxItems:g.maxItems,nullable:g.nullable||g["x-nullable"],schema:g,displayType:"",items:void 0,extensions:void 0,oneOfType:"",discriminatorProp:void 0,oneOf:void 0,"x-enumDescriptions":getValueFromMdParsedExtension(g,"x-enumDescriptions"),get fields(){if(hasType(F,"object")||hasType(F,"array")&&(Array.isArray(g.items)||Array.isArray(g.prefixItems)))return buildFields(e,g,v,n,P,o)}};if((g.nullable||g["x-nullable"])&&(Array.isArray(F.type)&&!F.type.some((e=>null===e||"null"===e))?F.type=[...F.type,"null"]:Array.isArray(F.type)||null===F.type&&"null"===F.type||(F.type=[F.type,"null"])),F.displayType=Array.isArray(F.type)?F.type.map((e=>null===e?"null":e)).join(" or "):F.type,F.isCircular)return F;if(g.if&&g.then||g.if&&g.else){const{oneOf:t,oneOfType:i}=initConditionalOperators({schema:g,parser:e,pointer:v,options:n,deps:o,refsStack:P});return F.oneOf=t,F.oneOfType=i,F}if(!r&&void 0!==getDiscriminator(g)){const{oneOf:t,discriminatorProp:i}=initDiscriminator({schema:g,parser:e,deps:o,mergedSchema:g,options:n,pointer:v,refsStack:P});return F.oneOf=t,F.discriminatorProp=i,F}if(r&&Array.isArray(g.oneOf)&&g.oneOf.find((e=>e.$ref===v))&&delete g.oneOf,void 0!==g.oneOf){const{oneOf:t,displayType:i}=initOneOf({schemaOneOf:g.oneOf,parser:e,deps:o,options:n,pointer:v,refsStack:P,schema:g});return F.oneOfType="One of",t&&(F.oneOf=t),F.displayType=i,void 0!==g.anyOf&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${v}`),F}if(void 0!==g.anyOf){const{oneOf:t,displayType:i}=initOneOf({schemaOneOf:g.anyOf,parser:e,deps:o,options:n,pointer:v,refsStack:P,schema:g});return t&&(F.oneOf=t),F.displayType=i,F.oneOfType="Any of",F}if(hasType(F,"array")&&(g.items&&(F.items=getSchema({parser:e,schemaOrRef:g.items,pointer:v+"/items",options:n,baseRefsStack:P,deps:o,absolutePointer:JsonPointer.join(g.absolutePointer||"",["items"])})),F.displayType=g.prefixItems||Array.isArray(g.items)?"items":pluralizeType((null===(p=F.items)||void 0===p?void 0:p.displayType)||F.displayType),F.displayFormat=(null===(d=F.items)||void 0===d?void 0:d.format)||"",F.typePrefix=(null===(m=F.items)||void 0===m?void 0:m.typePrefix)||""+l("arrayOf"),F.title=F.title||(null===(c=F.items)||void 0===c?void 0:c.title)||"",F.isPrimitive=void 0!==(null===(f=F.items)||void 0===f?void 0:f.isPrimitive)?null===(u=F.items)||void 0===u?void 0:u.isPrimitive:F.isPrimitive,void 0===F.example&&void 0!==(null===(y=F.items)||void 0===y?void 0:y.example)&&(F.example=[F.items.example]),(null===(O=F.items)||void 0===O?void 0:O.isPrimitive)&&(F.enum=F.items.enum,F["x-enumDescriptions"]=getValueFromMdParsedExtension(F.items,"x-enumDescriptions")),Array.isArray(F.type))){const e=F.type.filter((e=>"array"!==e));e.length&&(F.displayType+=` or ${e.join(" or ")}`)}return F.enum.length&&n.sortEnumValuesAlphabetically&&F.enum.sort(),n.showExtensions&&(F.extensions=extractExtensions(g,n.showExtensions)),F}function initDiscriminator({schema:e,parser:t,pointer:i,options:n,refsStack:r,deps:s,mergedSchema:o}){const a=getDiscriminator(e),l=null==a?void 0:a.propertyName,p=t.findDerived([...o["x-parentRefs"]||[],i]);if(e.oneOf)for(const t of e.oneOf){if(void 0===t.$ref)continue;const e=JsonPointer.baseName(t.$ref);p[t.$ref]=e}const d=(null==a?void 0:a.mapping)||{};let m=(null==a?void 0:a["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(m=!1);const c={};for(const e in d){const t=d[e];Array.isArray(c[t])?c[t].push(e):c[t]=[e]}const f=m?Object.assign({},c):Object.assign(Object.assign({},p),c);let u=[];for(const e of Object.keys(f)){const t=f[e];if(Array.isArray(t))for(const i of t)u.push({$ref:e,name:i});else u.push({$ref:e,name:t})}const y=Object.keys(d);0!==y.length&&(u=u.sort(((e,t)=>{const i=y.indexOf(e.name),n=y.indexOf(t.name);return i<0&&n<0?e.name.localeCompare(t.name):i<0?1:n<0?-1:i-n})));return{oneOf:u.map((({$ref:e,name:i},a)=>{const l=getSchema({parser:t,schemaOrRef:{$ref:e},pointer:e,options:n,isChild:!0,baseRefsStack:r.slice(0,-1),deps:Object.assign(Object.assign({},s),{parentFieldFullPath:s.parentFieldFullPath?s.parentFieldFullPath+"/"+a:a.toString()}),absolutePointer:o.absolutePointer});return l.title=i,l})),discriminatorProp:l}}function initOneOf({schemaOneOf:e,parser:t,refsStack:i,pointer:n,schema:r,options:s,deps:o}){const a=e.map(((e,a)=>{const{resolved:l,refsStack:p}=t.deref(e,i,!0),d=t.mergeAllOf(l,n+"/oneOf/"+a,p),m=isNamedDefinition(e.$ref)&&!d.title?JsonPointer.baseName(e.$ref):`${d.title||""}${d.const&&JSON.stringify(d.const)||""}`;return getSchema({parser:t,schemaOrRef:Object.assign(Object.assign({},d),{title:m,allOf:[Object.assign(Object.assign({},r),{oneOf:void 0,anyOf:void 0})],discriminator:l.allOf?void 0:d.discriminator}),pointer:e.$ref||n+"/oneOf/"+a,options:s,baseRefsStack:p,deps:Object.assign(Object.assign({},o),{parentFieldFullPath:o.parentFieldFullPath?o.parentFieldFullPath+"/"+a:a.toString()})})}));let l;if(s.simpleOneOfTypeLabel){l=collectUniqueOneOfTypesDeep(r).join(" or ")}else l=a.map((e=>{let t=e.typePrefix+(e.title?`${e.title} (${e.displayType})`:e.displayType);return t.indexOf(" or ")>-1&&(t=`(${t})`),t})).join(" or ");return{oneOf:a,displayType:l}}function initConditionalOperators({schema:e,parser:t,pointer:i,options:n,refsStack:r,deps:s}){const{if:o,else:a={},then:l={}}=e,p=__rest(e,["if","else","then"]);return{oneOf:[{allOf:[p,l,o],title:o&&o["x-displayName"]||(null==o?void 0:o.title)||"case 1"},{allOf:[p,a],title:a&&a["x-displayName"]||(null==a?void 0:a.title)||"case 2"}].map(((e,o)=>getSchema({parser:t,schemaOrRef:Object.assign({},e),pointer:i+"/oneOf/"+o,options:n,baseRefsStack:r,deps:Object.assign(Object.assign({},s),{parentFieldFullPath:s.parentFieldFullPath?s.parentFieldFullPath+"/"+o:o.toString()})}))),oneOfType:"One of"}}function normalizeField(e,t,i){return e||(console.warn(`Field "${t}" is invalid, skipping.\n Field must be an object but got ${typeof e} at "${i}"`),{})}function buildFields(e,t,i,n,r,s){
|
|
1
|
+
var __rest=this&&this.__rest||function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i};import{pushRef}from"../services/OpenAPIParser";import{detectType,extractExtensions,getValueFromMdParsedExtension,humanizeConstraints,isNamedDefinition,isObject,isPrimitiveType,JsonPointer,pluralizeType,sortByField,sortByRequired}from"../utils";import{l}from"../services";import{getField}from"./field";export function getSchema({parser:e,schemaOrRef:t,pointer:i,options:n,isChild:r=!1,baseRefsStack:s=[],deps:o,absolutePointer:a}){var p,d,m,c,f,u,y,O;const{resolved:h,refsStack:b}=e.deref(t,s,!0),v=t.$ref||i||"",P=pushRef(b,v),g=e.mergeAllOf(h,v,P,t.$ref||a),x=g.type||detectType(g),F={parser:e,options:n,deps:o,schemaOrRef:t,isChild:r,typePrefix:"",pointer:v,absolutePointer:a,refsStack:P,rawSchema:h,type:x,isCircular:!!g["x-circular-ref"],title:g.title||isNamedDefinition(v)&&JsonPointer.baseName(v)||"",description:getValueFromMdParsedExtension(g,"description")||"",format:g.format,enum:g.enum||[],example:g.example,deprecated:!!g.deprecated,pattern:g.pattern,externalDocs:g.externalDocs,displayFormat:g.format,isPrimitive:isPrimitiveType(g,x),constraints:humanizeConstraints(g),default:g.default,readOnly:!!g.readOnly,writeOnly:!!g.writeOnly,const:g.const||"",contentEncoding:g.contentEncoding,contentMediaType:g.contentMediaType,minItems:g.minItems,maxItems:g.maxItems,nullable:g.nullable||g["x-nullable"],schema:g,displayType:"",items:void 0,extensions:void 0,oneOfType:"",discriminatorProp:void 0,oneOf:void 0,"x-enumDescriptions":getValueFromMdParsedExtension(g,"x-enumDescriptions"),get fields(){if(hasType(F,"object")||hasType(F,"array")&&(Array.isArray(g.items)||Array.isArray(g.prefixItems)))return buildFields(e,g,v,n,P,o)}};if((g.nullable||g["x-nullable"])&&(Array.isArray(F.type)&&!F.type.some((e=>null===e||"null"===e))?F.type=[...F.type,"null"]:Array.isArray(F.type)||null===F.type&&"null"===F.type||(F.type=[F.type,"null"])),F.displayType=Array.isArray(F.type)?F.type.map((e=>null===e?"null":e)).join(" or "):F.type,F.isCircular)return F;if(g.if&&g.then||g.if&&g.else){const{oneOf:t,oneOfType:i}=initConditionalOperators({schema:g,parser:e,pointer:v,options:n,deps:o,refsStack:P});return F.oneOf=t,F.oneOfType=i,F}if(!r&&void 0!==getDiscriminator(g)){const{oneOf:t,discriminatorProp:i}=initDiscriminator({schema:g,parser:e,deps:o,mergedSchema:g,options:n,pointer:v,refsStack:P});return F.oneOf=t,F.discriminatorProp=i,F}if(r&&Array.isArray(g.oneOf)&&g.oneOf.find((e=>e.$ref===v))&&delete g.oneOf,void 0!==g.oneOf){const{oneOf:t,displayType:i}=initOneOf({schemaOneOf:g.oneOf,parser:e,deps:o,options:n,pointer:v,refsStack:P,schema:g});return F.oneOfType="One of",t&&(F.oneOf=t),F.displayType=i,void 0!==g.anyOf&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${v}`),F}if(void 0!==g.anyOf){const{oneOf:t,displayType:i}=initOneOf({schemaOneOf:g.anyOf,parser:e,deps:o,options:n,pointer:v,refsStack:P,schema:g});return t&&(F.oneOf=t),F.displayType=i,F.oneOfType="Any of",F}if(hasType(F,"array")&&(g.items&&(F.items=getSchema({parser:e,schemaOrRef:g.items,pointer:v+"/items",options:n,baseRefsStack:P,deps:o,absolutePointer:JsonPointer.join(g.absolutePointer||"",["items"])})),F.displayType=g.prefixItems||Array.isArray(g.items)?"items":pluralizeType((null===(p=F.items)||void 0===p?void 0:p.displayType)||F.displayType),F.displayFormat=(null===(d=F.items)||void 0===d?void 0:d.format)||"",F.typePrefix=(null===(m=F.items)||void 0===m?void 0:m.typePrefix)||""+l("arrayOf"),F.title=F.title||(null===(c=F.items)||void 0===c?void 0:c.title)||"",F.isPrimitive=void 0!==(null===(f=F.items)||void 0===f?void 0:f.isPrimitive)?null===(u=F.items)||void 0===u?void 0:u.isPrimitive:F.isPrimitive,void 0===F.example&&void 0!==(null===(y=F.items)||void 0===y?void 0:y.example)&&(F.example=[F.items.example]),(null===(O=F.items)||void 0===O?void 0:O.isPrimitive)&&(F.enum=F.items.enum,F["x-enumDescriptions"]=getValueFromMdParsedExtension(F.items,"x-enumDescriptions")),Array.isArray(F.type))){const e=F.type.filter((e=>"array"!==e));e.length&&(F.displayType+=` or ${e.join(" or ")}`)}return F.enum.length&&n.sortEnumValuesAlphabetically&&F.enum.sort(),n.showExtensions&&(F.extensions=extractExtensions(g,n.showExtensions)),F}function initDiscriminator({schema:e,parser:t,pointer:i,options:n,refsStack:r,deps:s,mergedSchema:o}){const a=getDiscriminator(e),l=null==a?void 0:a.propertyName,p=t.findDerived([...o["x-parentRefs"]||[],i]);if(e.oneOf)for(const t of e.oneOf){if(void 0===t.$ref)continue;const e=JsonPointer.baseName(t.$ref);p[t.$ref]=e}const d=(null==a?void 0:a.mapping)||{};let m=(null==a?void 0:a["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(m=!1);const c={};for(const e in d){const t=d[e];Array.isArray(c[t])?c[t].push(e):c[t]=[e]}const f=m?Object.assign({},c):Object.assign(Object.assign({},p),c);let u=[];for(const e of Object.keys(f)){const t=f[e];if(Array.isArray(t))for(const i of t)u.push({$ref:e,name:i});else u.push({$ref:e,name:t})}const y=Object.keys(d);0!==y.length&&(u=u.sort(((e,t)=>{const i=y.indexOf(e.name),n=y.indexOf(t.name);return i<0&&n<0?e.name.localeCompare(t.name):i<0?1:n<0?-1:i-n})));return{oneOf:u.map((({$ref:e,name:i},a)=>{const l=getSchema({parser:t,schemaOrRef:{$ref:e},pointer:e,options:n,isChild:!0,baseRefsStack:r.slice(0,-1),deps:Object.assign(Object.assign({},s),{parentFieldFullPath:s.parentFieldFullPath?s.parentFieldFullPath+"/"+a:a.toString()}),absolutePointer:o.absolutePointer});return l.title=i,l})),discriminatorProp:l}}function initOneOf({schemaOneOf:e,parser:t,refsStack:i,pointer:n,schema:r,options:s,deps:o}){const a=e.map(((e,a)=>{const{resolved:l,refsStack:p}=t.deref(e,i,!0),d=t.mergeAllOf(l,n+"/oneOf/"+a,p),m=isNamedDefinition(e.$ref)&&!d.title?JsonPointer.baseName(e.$ref):`${d.title||""}${d.const&&JSON.stringify(d.const)||""}`;return getSchema({parser:t,schemaOrRef:Object.assign(Object.assign({},d),{title:m,allOf:[Object.assign(Object.assign({},r),{oneOf:void 0,anyOf:void 0})],discriminator:l.allOf?void 0:d.discriminator}),pointer:e.$ref||n+"/oneOf/"+a,options:s,baseRefsStack:p,deps:Object.assign(Object.assign({},o),{parentFieldFullPath:o.parentFieldFullPath?o.parentFieldFullPath+"/"+a:a.toString()})})}));let l;if(s.simpleOneOfTypeLabel){l=collectUniqueOneOfTypesDeep(r).join(" or ")}else l=a.map((e=>{let t=e.typePrefix+(e.title?`${e.title} (${e.displayType})`:e.displayType);return t.indexOf(" or ")>-1&&(t=`(${t})`),t})).join(" or ");return{oneOf:a,displayType:l}}function initConditionalOperators({schema:e,parser:t,pointer:i,options:n,refsStack:r,deps:s}){const{if:o,else:a={},then:l={}}=e,p=__rest(e,["if","else","then"]);return{oneOf:[{allOf:[p,l,o],title:o&&o["x-displayName"]||(null==o?void 0:o.title)||"case 1"},{allOf:[p,a],title:a&&a["x-displayName"]||(null==a?void 0:a.title)||"case 2"}].map(((e,o)=>getSchema({parser:t,schemaOrRef:Object.assign({},e),pointer:i+"/oneOf/"+o,options:n,baseRefsStack:r,deps:Object.assign(Object.assign({},s),{parentFieldFullPath:s.parentFieldFullPath?s.parentFieldFullPath+"/"+o:o.toString()})}))),oneOfType:"One of"}}function normalizeField(e,t,i){return e||(console.warn(`Field "${t}" is invalid, skipping.\n Field must be an object but got ${typeof e} at "${i}"`),{})}function buildFields(e,t,i,n,r,s){let o=t.properties||(hasType(t,"array")?t.prefixItems||t.items:void 0)||{};const a=t.patternProperties||{},l=t.additionalProperties||t.unevaluatedProperties,p=t.prefixItems?t.items:t.additionalItems,d=t.default||{};let m=Object.keys(o).map((a=>{var l;const p=normalizeField(o[a],a,i),m=void 0!==t.required&&t.required.indexOf(a)>-1;return getField(e,{name:t.properties?a:`[${a}]`,required:m,schema:Object.assign(Object.assign({},p),{example:(null===(l=t.example)||void 0===l?void 0:l[a])||p.example,default:void 0===p.default&&d?d[a]:p.default})},i+"/properties/"+a,n,s,r,JsonPointer.join(t.absolutePointer||"",["properties",a]))}));return n.sortPropsAlphabetically&&(m=sortByField(m,"name")),n.requiredPropsFirst&&(m=sortByRequired(m,n.sortPropsAlphabetically?void 0:t.required)),m.push(...Object.keys(a).map((t=>{const o=normalizeField(a[t],t,i);return getField(e,{name:t,required:!1,schema:o,kind:"patternProperties"},`${i}/patternProperties/${t}`,n,s,r)}))),(isObject(l)||!0===l)&&m.push(getField(e,{name:(isObject(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},i+"/additionalProperties",n,s,r,JsonPointer.join(t.absolutePointer||"",["additionalProperties"]))),m.push(...buildAdditionalItems({parser:e,schema:p,fieldsCount:m.length,$ref:i,options:n,refsStack:r,deps:s})),m}function buildAdditionalItems({parser:e,schema:t=!1,fieldsCount:i,$ref:n,options:r,refsStack:s,deps:o}){return"boolean"==typeof t?t?[getField(e,{name:`[${i}...]`,schema:{},kind:"additionalItems"},`${n}/additionalItems`,r,o,s)]:[]:Array.isArray(t)?[...t.map(((t,a)=>getField(e,{name:`[${i+a}]`,schema:t,kind:"additionalItems"},`${n}/additionalItems/${a}`,r,o,s)))]:isObject(t)?[getField(e,{name:`[${i}...]`,schema:t,kind:"additionalItems"},`${n}/additionalItems`,r,o,s)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function collectUniqueOneOfTypesDeep(e){const t=new Set;return function e(i){for(const n of i.oneOf||[])n.oneOf?e(n):n.type&&t.add(n.type)}(e),Array.from(t.values())}function hasType(e,t){return e.type===t||Array.isArray(e.type)&&e.type.includes(t)}
|
|
2
2
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{atomFamily}from"recoil";export const operationStore=atomFamily({key:"operation",default:{activeExampleName:void 0,activeOneOf:0,activeServer:void 0,requestValues:{}}});
|
|
1
|
+
import{atomFamily}from"recoil";export const operationStore=atomFamily({key:"operation",default:{activeExampleName:void 0,activeOneOf:0,activeServer:void 0,requestValues:{},activeResponseTab:"200"}});
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))((function(i,s){function c(e){try{n(r.next(e))}catch(e){s(e)}}function o(e){try{n(r.throw(e))}catch(e){s(e)}}function n(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(c,o)}n((r=r.apply(e,t||[])).next())}))};import*as qs from"
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))((function(i,s){function c(e){try{n(r.next(e))}catch(e){s(e)}}function o(e){try{n(r.throw(e))}catch(e){s(e)}}function n(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(c,o)}n((r=r.apply(e,t||[])).next())}))};import*as qs from"query-string";import{base64UrlEncode,encodeState,sha256}from"./utils";const DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html";export class OAuth2{static authorizeImplicit({authorizationUrl:e,clientId:t,scopes:a,extraParams:r={},routingBasePath:i,redirectUri:s,successCallback:c,errorCallback:o}){const n=encodeState({date:(new Date).toString()}),l=new URL(e),d="/"===i?"":i,h=`${window.location.origin}${d}/oauth2-redirect.html`;l.searchParams.set("client_id",t),l.searchParams.set("redirect_uri",s||h),l.searchParams.set("response_type","token"),l.searchParams.set("state",n),Array.isArray(a)&&l.searchParams.set("scope",a.join(" "));for(const e in r)l.searchParams.set(e,r[e]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:e,clientId:t,scopes:a},state:n,successCallback:e=>{c(e),OAuth2.clearRedirectData("implicit")},errorCallback:e=>{o(e),OAuth2.clearRedirectData("implicit")}},window.open(l.toString())}static authorizeAuthorizationCode({authorizationUrl:e,tokenUrl:t,clientId:a,clientSecret:r,codeVerifier:i,codeChallenge:s,scopes:c,extraParams:o={},extraHeaders:n={},routingBasePath:l,redirectUri:d,successCallback:h,errorCallback:u}){const p=new URL(e),w="/"===l?"":l,_=`${window.location.origin}${w}/oauth2-redirect.html`,m=encodeState({date:(new Date).toString()});p.searchParams.set("client_id",a),p.searchParams.set("redirect_uri",d||_),p.searchParams.set("response_type","code"),p.searchParams.set("state",m),Array.isArray(c)&&p.searchParams.set("scope",c.join(" ")),s&&(p.searchParams.set("code_challenge",s),p.searchParams.set("code_challenge_method","S256"));for(const e in o)p.searchParams.set(e,o[e]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:e,clientId:a,scopes:c},state:m,successCallback:({auth_code:e})=>__awaiter(this,void 0,void 0,(function*(){try{const s=yield fetch(t,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},n),body:qs.stringify(Object.assign(Object.assign(Object.assign({client_id:a,client_secret:r},i&&{code_verifier:i}),{code:e,grant_type:"authorization_code",redirect_uri:d||_}),o))});yield handleResponseCallback(s,h,u)}catch(e){u(e)}OAuth2.clearRedirectData("authorizationCode")})),errorCallback:e=>{u(e),OAuth2.clearRedirectData("authorizationCode")}},window.open(p.toString())}static clearRedirectData(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:()=>{},errorCallback:()=>{}}}static authorizeClientCredentials({tokenUrl:e,clientId:t,clientSecret:a,scopes:r=[],extraParams:i={},extraHeaders:s={},successCallback:c,errorCallback:o}){return __awaiter(this,void 0,void 0,(function*(){try{const n=JSON.parse(JSON.stringify(Object.assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(r)&&r.length?r.join(" "):void 0},i))),l=yield fetch(e,{method:"POST",headers:Object.assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},s),body:qs.stringify(n)});yield handleResponseCallback(l,c,o)}catch(e){o(e)}}))}}export const oauth2Instance=new OAuth2;function handleResponseCallback(e,t,a){return __awaiter(this,void 0,void 0,(function*(){if(e.ok){const a=yield e.json();t(a)}else a(new Error((e.headers.get("Content-Type")||"").indexOf("json")>-1?JSON.stringify(yield e.json()):yield e.text()))}))}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function*(){return base64UrlEncode(yield sha256(e))}))}
|
|
2
2
|
//# sourceMappingURL=OAuth2.js.map
|