@redocly/openapi-docs 3.3.24 → 3.4.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/redocly-openapi-docs.min.js +1334 -1548
- package/lib/components/ApiInfo/ApiInfo.js +1 -1
- package/lib/components/ApiInfo/Metadata.d.ts +1 -3
- package/lib/components/ApiInfo/Metadata.js +1 -1
- package/lib/components/CallbackSamples/CallbackSamples.d.ts +0 -2
- package/lib/components/CallbackSamples/CallbackSamples.js +1 -1
- package/lib/components/Callbacks/CallbackDetails.d.ts +0 -2
- package/lib/components/Callbacks/CallbackDetails.js +1 -1
- package/lib/components/Callbacks/CallbackOperation.js +1 -1
- package/lib/components/Callbacks/CallbackSummary.d.ts +2 -3
- package/lib/components/Callbacks/CallbackSummary.js +1 -1
- package/lib/components/Discriminator/Discriminator.d.ts +0 -2
- package/lib/components/Discriminator/Discriminator.js +1 -1
- package/lib/components/ExpandAllButton/ExpandAllButton.js +1 -1
- package/lib/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
- package/lib/components/OperationItem/OperationItem.js +2 -2
- package/lib/components/Overview/Overview.d.ts +3 -8
- package/lib/components/Overview/Overview.js +1 -1
- package/lib/components/PayloadSamples/Example.js +1 -1
- package/lib/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib/components/PayloadSamples/PayloadSamples.js +1 -1
- package/lib/components/PropertyDetails/DescriptionEnums.d.ts +1 -1
- package/lib/components/PropertyDetails/DescriptionEnums.js +1 -1
- package/lib/components/PropertyDetails/EnumValues.js +1 -1
- package/lib/components/PropertyDetails/Examples.js +1 -1
- package/lib/components/PropertyDetails/FieldDetail.d.ts +0 -1
- package/lib/components/PropertyDetails/FieldDetail.js +1 -1
- package/lib/components/PropertyDetails/FieldDetails.js +3 -4
- package/lib/components/PropertyDetails/Pattern.js +1 -1
- package/lib/components/PropertyDetails/SimpleEnums.d.ts +1 -1
- package/lib/components/PropertyDetails/SimpleEnums.js +1 -1
- package/lib/components/PropertyDetails/types.d.ts +0 -3
- package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib/components/RedoclyOpenAPIDocs/styled.d.ts +4 -0
- package/lib/components/RedoclyOpenAPIDocs/styled.js +30 -1
- package/lib/components/RedoclyOpenAPIDocs/types.d.ts +3 -0
- package/lib/components/Replay/EmbeddedReplay.js +1 -1
- package/lib/components/Replay/Replay.js +9 -2
- package/lib/components/Request/RequestDetails.js +1 -1
- package/lib/components/Request/types.d.ts +0 -2
- package/lib/components/RequestParameters/RequestParameters.js +1 -1
- package/lib/components/RequestSamples/useCodeSamples.js +1 -1
- package/lib/components/ResponseSamples/Summary.js +1 -1
- package/lib/components/Responses/OperationResponseList.js +1 -1
- package/lib/components/Responses/ResponseHeaders.js +1 -1
- package/lib/components/RightPanel/RightPanel.js +1 -1
- package/lib/components/Schema/ObjectSchema.js +1 -1
- package/lib/components/Schema/OneOfSchema.js +1 -1
- package/lib/components/Schema/RecursiveSchema.js +1 -1
- package/lib/components/Schema/SubSchema.js +1 -1
- package/lib/components/Schema/helpers.d.ts +1 -1
- package/lib/components/Schema/helpers.js +1 -1
- package/lib/components/Security/OAuthFlow.js +1 -1
- package/lib/components/Security/SecurityFlow.js +1 -1
- package/lib/components/Security/SecurityModal.js +1 -1
- package/lib/components/ServerList/ServerList.d.ts +1 -1
- package/lib/components/ServerList/ServerList.js +1 -1
- package/lib/components/ServerList/types.d.ts +1 -4
- package/lib/components/ServerListDropdown/ServerListDropdown.js +1 -1
- package/lib/components/TagItem/OperationsNavigation.d.ts +6 -1
- package/lib/components/TagItem/OperationsNavigation.js +40 -1
- package/lib/components/TagItem/TagItem.js +1 -1
- package/lib/components/common/BodyContent/BodyContent.js +1 -1
- package/lib/components/common/ExpandableExample/ExpandableExample.js +1 -1
- package/lib/components/common/panels.js +2 -2
- package/lib/hooks/index.d.ts +0 -1
- package/lib/hooks/index.js +1 -1
- package/lib/jotai/app.js +1 -1
- package/lib/models/mediaType.js +1 -1
- package/lib/models/tab.d.ts +1 -1
- package/lib/services/code-samples/generator.d.ts +1 -3
- package/lib/services/code-samples/generator.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/java/httpclient.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/javascript/fetch.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/node/fetch.js +1 -1
- package/lib/services/types.d.ts +3 -0
- package/lib/setupTests.d.ts +2 -0
- package/lib/setupTests.js +2 -0
- package/lib/testProviders.d.ts +3 -0
- package/lib/testProviders.js +2 -0
- package/lib/utils/helpers.d.ts +1 -1
- package/lib/utils/openapi.d.ts +0 -1
- package/lib/utils/openapi.js +1 -1
- package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
- package/lib-esm/components/ApiInfo/Metadata.d.ts +1 -3
- package/lib-esm/components/ApiInfo/Metadata.js +1 -1
- package/lib-esm/components/CallbackSamples/CallbackSamples.d.ts +0 -2
- package/lib-esm/components/CallbackSamples/CallbackSamples.js +1 -1
- package/lib-esm/components/Callbacks/CallbackDetails.d.ts +0 -2
- package/lib-esm/components/Callbacks/CallbackDetails.js +1 -1
- package/lib-esm/components/Callbacks/CallbackOperation.js +1 -1
- package/lib-esm/components/Callbacks/CallbackSummary.d.ts +2 -3
- package/lib-esm/components/Callbacks/CallbackSummary.js +1 -1
- package/lib-esm/components/Discriminator/Discriminator.d.ts +0 -2
- package/lib-esm/components/Discriminator/Discriminator.js +1 -1
- package/lib-esm/components/ExpandAllButton/ExpandAllButton.js +1 -1
- package/lib-esm/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
- package/lib-esm/components/OperationItem/OperationItem.js +2 -2
- package/lib-esm/components/Overview/Overview.d.ts +3 -8
- package/lib-esm/components/Overview/Overview.js +1 -1
- package/lib-esm/components/PayloadSamples/Example.js +1 -1
- package/lib-esm/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib-esm/components/PayloadSamples/PayloadSamples.js +1 -1
- package/lib-esm/components/PropertyDetails/DescriptionEnums.d.ts +1 -1
- package/lib-esm/components/PropertyDetails/DescriptionEnums.js +1 -1
- package/lib-esm/components/PropertyDetails/EnumValues.js +1 -1
- package/lib-esm/components/PropertyDetails/Examples.js +1 -1
- package/lib-esm/components/PropertyDetails/FieldDetail.d.ts +0 -1
- package/lib-esm/components/PropertyDetails/FieldDetail.js +1 -1
- package/lib-esm/components/PropertyDetails/FieldDetails.js +3 -4
- package/lib-esm/components/PropertyDetails/Pattern.js +1 -1
- package/lib-esm/components/PropertyDetails/SimpleEnums.d.ts +1 -1
- package/lib-esm/components/PropertyDetails/SimpleEnums.js +1 -1
- package/lib-esm/components/PropertyDetails/types.d.ts +0 -3
- package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/styled.d.ts +4 -0
- package/lib-esm/components/RedoclyOpenAPIDocs/styled.js +30 -1
- package/lib-esm/components/RedoclyOpenAPIDocs/types.d.ts +3 -0
- package/lib-esm/components/Replay/EmbeddedReplay.js +1 -1
- package/lib-esm/components/Replay/Replay.js +9 -2
- package/lib-esm/components/Request/RequestDetails.js +1 -1
- package/lib-esm/components/Request/types.d.ts +0 -2
- package/lib-esm/components/RequestParameters/RequestParameters.js +1 -1
- package/lib-esm/components/RequestSamples/useCodeSamples.js +1 -1
- package/lib-esm/components/ResponseSamples/Summary.js +1 -1
- package/lib-esm/components/Responses/OperationResponseList.js +1 -1
- package/lib-esm/components/Responses/ResponseHeaders.js +1 -1
- package/lib-esm/components/RightPanel/RightPanel.js +1 -1
- package/lib-esm/components/Schema/ObjectSchema.js +1 -1
- package/lib-esm/components/Schema/OneOfSchema.js +1 -1
- package/lib-esm/components/Schema/RecursiveSchema.js +1 -1
- package/lib-esm/components/Schema/SubSchema.js +1 -1
- package/lib-esm/components/Schema/helpers.d.ts +1 -1
- package/lib-esm/components/Schema/helpers.js +1 -1
- package/lib-esm/components/Security/OAuthFlow.js +1 -1
- package/lib-esm/components/Security/SecurityFlow.js +1 -1
- package/lib-esm/components/Security/SecurityModal.js +1 -1
- package/lib-esm/components/ServerList/ServerList.d.ts +1 -1
- package/lib-esm/components/ServerList/ServerList.js +1 -1
- package/lib-esm/components/ServerList/types.d.ts +1 -4
- package/lib-esm/components/ServerListDropdown/ServerListDropdown.js +1 -1
- package/lib-esm/components/TagItem/OperationsNavigation.d.ts +6 -1
- package/lib-esm/components/TagItem/OperationsNavigation.js +40 -1
- package/lib-esm/components/TagItem/TagItem.js +2 -2
- package/lib-esm/components/common/BodyContent/BodyContent.js +1 -1
- package/lib-esm/components/common/ExpandableExample/ExpandableExample.js +1 -1
- package/lib-esm/components/common/panels.js +2 -2
- package/lib-esm/hooks/index.d.ts +0 -1
- package/lib-esm/hooks/index.js +1 -1
- package/lib-esm/jotai/app.js +1 -1
- package/lib-esm/models/mediaType.js +1 -1
- package/lib-esm/models/tab.d.ts +1 -1
- package/lib-esm/services/code-samples/generator.d.ts +1 -3
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/java/httpclient.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/java8/apachehttp.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/javascript/fetch.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/node/fetch.js +1 -1
- package/lib-esm/services/types.d.ts +3 -0
- package/lib-esm/setupTests.d.ts +2 -0
- package/lib-esm/setupTests.js +2 -0
- package/lib-esm/testProviders.d.ts +3 -0
- package/lib-esm/testProviders.js +2 -0
- package/lib-esm/utils/helpers.d.ts +1 -1
- package/lib-esm/utils/openapi.d.ts +0 -1
- package/lib-esm/utils/openapi.js +1 -1
- package/package.json +11 -12
- package/lib/components/TagItem/OperationNavigationItems.d.ts +0 -10
- package/lib/components/TagItem/OperationNavigationItems.js +0 -37
- package/lib/components/TagItem/styled.d.ts +0 -2
- package/lib/components/TagItem/styled.js +0 -6
- package/lib/components/TagItem/types.d.ts +0 -5
- package/lib/components/TagItem/types.js +0 -2
- package/lib/hooks/useTranslate.d.ts +0 -2
- package/lib/hooks/useTranslate.js +0 -2
- package/lib/utils/convertExamplesFormat.d.ts +0 -2
- package/lib/utils/convertExamplesFormat.js +0 -2
- package/lib-esm/components/TagItem/OperationNavigationItems.d.ts +0 -10
- package/lib-esm/components/TagItem/OperationNavigationItems.js +0 -37
- package/lib-esm/components/TagItem/styled.d.ts +0 -2
- package/lib-esm/components/TagItem/styled.js +0 -6
- package/lib-esm/components/TagItem/types.d.ts +0 -5
- package/lib-esm/components/TagItem/types.js +0 -2
- package/lib-esm/hooks/useTranslate.d.ts +0 -2
- package/lib-esm/hooks/useTranslate.js +0 -2
- package/lib-esm/utils/convertExamplesFormat.d.ts +0 -2
- package/lib-esm/utils/convertExamplesFormat.js +0 -2
|
@@ -1,7 +1,46 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{useMemo,memo,useState
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useMemo,memo,useState}from"react";import{useNavigate}from"react-router-dom";import{Button,LayoutVariant}from"@redocly/theme";import styled from"styled-components";import{useAtomValue}from"jotai/index";import{HttpVerb,NavigationBadge,SamplesPanel}from"../common";import{encodeBackSlashes}from"../../utils";import{joinWithSeparator}from"../../services";import{layoutAtom}from"../../jotai/app";const MAX_OPERATIONS=8;export function OperationsNavigationComponent({items:e,routingBasePath:t}){const[o,a]=useState(!1),r=useNavigate(),i=useAtomValue(layoutAtom)===LayoutVariant.STACKED,{operations:n,webhooks:s,count:l}=useMemo((()=>{const t=e.filter((e=>"operation"===e.type)),a=o?t:t.slice(0,MAX_OPERATIONS),{operations:r,webhooks:i}=a.reduce(((e,t)=>t.isWebhook?Object.assign(Object.assign({},e),{webhooks:[...e.webhooks,t]}):Object.assign(Object.assign({},e),{operations:[...e.operations,t]})),{operations:[],webhooks:[]});return{operations:r,webhooks:i,count:!o&&t.length>MAX_OPERATIONS?t.length-MAX_OPERATIONS:0}}),[o,e]);if(!n.length&&!s.length)return null;const p=e=>{r(e)};return _jsxs(Wrapper,{isStacked:i,"data-testid":"operation-navigation-list",children:[n.length>0&&_jsxs(_Fragment,{children:[_jsx(Heading,{children:"Operations"}),n.map((({id:e,href:o,httpVerb:a,path:r,deprecated:i,badges:n})=>_jsx(Item,{variant:"outlined",size:"large",onClick:()=>p(joinWithSeparator(t,encodeBackSlashes(o))),children:_jsxs("span",{children:[_jsx(HttpVerb,{color:i?"http-deprecated":a,children:a}),_jsx(Path,{children:r}),i&&_jsx(NavigationBadge,{deprecated:!0,children:"Deprecated"}),n&&n.map((({name:e,color:t})=>_jsx(NavigationBadge,{color:t,children:e},e)))]})},e)))]}),s.length>0&&_jsxs(_Fragment,{children:[_jsx(Heading,{children:"Webhooks"}),s.map((({id:e,href:o,httpVerb:a,path:r})=>_jsx(Item,{variant:"outlined",size:"large",onClick:()=>p(joinWithSeparator(t,encodeBackSlashes(o))),children:_jsxs("span",{children:[_jsx(HttpVerb,{color:a,children:a}),_jsx(Path,{children:r})]})},e)))]}),!o&&Boolean(l)&&_jsxs(StyledButton,{variant:"link",size:"large","data-testid":"show-more-operations",fullWidth:!0,onClick:()=>a(!0),children:["Show ",l," more..."]})]})}export const OperationsNavigation=memo(OperationsNavigationComponent);const Wrapper=styled(SamplesPanel)`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: var(--spacing-xxs);
|
|
5
5
|
padding-top: var(--spacing-xxl);
|
|
6
|
+
`,Heading=styled.span`
|
|
7
|
+
font-size: var(--font-size-base);
|
|
8
|
+
line-height: var(--line-height-base);
|
|
9
|
+
font-weight: var(--font-weight-bold);
|
|
10
|
+
color: var(--text-color-primary);
|
|
11
|
+
margin: var(--spacing-sm) 0 var(--spacing-xxs) 0;
|
|
12
|
+
`,StyledButton=styled(Button)`
|
|
13
|
+
& + & {
|
|
14
|
+
margin-left: 0;
|
|
15
|
+
}
|
|
16
|
+
`,Item=styled(StyledButton)`
|
|
17
|
+
border-radius: var(--border-radius);
|
|
18
|
+
background: var(--bg-color);
|
|
19
|
+
justify-content: space-between;
|
|
20
|
+
|
|
21
|
+
& > span {
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: baseline;
|
|
24
|
+
gap: var(--spacing-unit);
|
|
25
|
+
overflow-x: hidden;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&:hover {
|
|
29
|
+
background: var(--bg-color);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&:hover::after {
|
|
33
|
+
content: '→';
|
|
34
|
+
line-height: var(--line-height-base);
|
|
35
|
+
}
|
|
36
|
+
`,Path=styled.span`
|
|
37
|
+
font-family: var(--font-family-base);
|
|
38
|
+
font-size: var(--font-size-base);
|
|
39
|
+
line-height: var(--line-height-base);
|
|
40
|
+
color: var(--text-color-primary);
|
|
41
|
+
text-decoration: none;
|
|
42
|
+
white-space: nowrap;
|
|
43
|
+
text-overflow: ellipsis;
|
|
44
|
+
overflow-x: hidden;
|
|
6
45
|
`;
|
|
7
46
|
//# sourceMappingURL=OperationsNavigation.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback}from"react";import{breakpoints,Button,H2,LayoutVariant,LinkIcon}from"@redocly/theme";import{useNavigate}from"react-router-dom";import styled from"styled-components";import{useAtomValue}from"jotai";import{Row,SamplesMiddlePanel,ShareLink}from"../common";import{Markdown}from"../Markdown";import{OperationsNavigation}from"./OperationsNavigation";import{layoutAtom}from"../../jotai/app";
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback}from"react";import{breakpoints,Button,H2,LayoutVariant,LinkIcon}from"@redocly/theme";import{useNavigate}from"react-router-dom";import styled from"styled-components";import{useAtomValue}from"jotai";import{Row,SamplesMiddlePanel,ShareLink}from"../common";import{Markdown}from"../Markdown";import{OperationsNavigation}from"./OperationsNavigation";import{layoutAtom}from"../../jotai/app";export function TagItemComponent({item:t,routingBasePath:a="",isExpanded:o}){const{description:i,name:e,href:n}=t,r=useNavigate(),m=useAtomValue(layoutAtom),s=useCallback((()=>{r(a+t.href)}),[t.href,r,a]),d=Boolean(t.items.length),l=m===LayoutVariant.STACKED;return _jsxs(Wrapper,{expanded:o,children:[_jsxs(Row,{layout:m,children:[_jsxs(SamplesMiddlePanel,{fullWidth:!d,isStacked:l,children:[_jsxs(Heading,{children:[_jsx(ShareLink,{to:n,"aria-label":`link to ${e}`}),e]}),_jsx(Markdown,{source:i})]}),d&&_jsx(OperationsNavigation,{items:t.items,routingBasePath:a})]}),d&&!o&&_jsx(ShowButton,{type:"button",variant:"text",size:"medium",onClick:s,children:"+ Show"})]})}export const TagItem=memo(TagItemComponent);const Wrapper=styled.div`
|
|
2
2
|
padding-top: var(--spacing-lg);
|
|
3
|
-
padding-bottom: ${({expanded:
|
|
3
|
+
padding-bottom: ${({expanded:t})=>t?"var(--spacing-xxl)":""};
|
|
4
4
|
`,ShowButton=styled(Button)`
|
|
5
5
|
margin: var(--spacing-md) var(--spacing-xl) var(--spacing-xxs);
|
|
6
6
|
width: calc(100% - var(--spacing-xl) * 2);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo}from"react";import styled from"styled-components";import{useAtom}from"jotai";import{LinkIcon}from"@redocly/theme";import{Dropdown}from"../Dropdown";import{RequiredLabel}from"../Fields";import{ConstraintsView}from"../ConstraintsView";import{Schema}from"../../Schema";import{getActiveMediaType}from"../../../models";import{Markdown}from"../../Markdown";import{activeMimeNameAtom}from"../../../jotai/app";import{LinkToField}from"../LinkToField";
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo}from"react";import styled from"styled-components";import{useAtom}from"jotai";import{LinkIcon}from"@redocly/theme";import{Dropdown}from"../Dropdown";import{RequiredLabel}from"../Fields";import{ConstraintsView}from"../ConstraintsView";import{Schema}from"../../Schema";import{getActiveMediaType}from"../../../models";import{Markdown}from"../../Markdown";import{activeMimeNameAtom}from"../../../jotai/app";import{LinkToField}from"../LinkToField";function BodyContentComponent({required:e,skipReadOnly:o,skipWriteOnly:i,description:t,content:n,deepLink:r}){const[a,s]=useAtom(activeMimeNameAtom);if(!n)return null;const{schema:m,examples:l,operation:p,name:d}=getActiveMediaType(n,a),c=n.mediaTypes.map((({name:e})=>({label:e,value:e})));return _jsxs(_Fragment,{children:[_jsxs(Title,{children:[r&&_jsx(LinkToField,{to:r}),"Body",_jsx(Dropdown,{options:c,value:d,triggerVariant:"ghost",triggerSize:"large",onChange:({value:e})=>s(e)})]}),e&&_jsx(RequiredLabel,{children:"required"}),_jsx(StyledMarkdown,{source:t}),"object"===(null==m?void 0:m.type)&&(null==m?void 0:m.constraints)&&_jsx(ConstraintsView,{constraints:(null==m?void 0:m.constraints)||[]}),_jsx(Schema,{skipReadOnly:o,skipWriteOnly:i,schema:m,examples:l,operation:p,level:1,disableDeepLinks:!r},"schema")]})}export const BodyContent=memo(BodyContentComponent);const StyledMarkdown=styled(Markdown)`
|
|
2
2
|
margin: var(--spacing-xxs) 0 0;
|
|
3
3
|
`,Title=styled.span`
|
|
4
4
|
position: relative;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled from"styled-components";import{Button}from"@redocly/theme";import{useMemo,useState}from"react";import{Markdown}from"../../Markdown";import{ExampleValue}from"../Fields";
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import styled from"styled-components";import{Button}from"@redocly/theme";import{useMemo,useState}from"react";import{Markdown}from"../../Markdown";import{ExampleValue}from"../Fields";const MAX_EXAMPLE_LENGTH=150;export function ExpandableExample({value:e}){const[t,s]=useState(!1),n=useMemo((()=>e.slice(0,MAX_EXAMPLE_LENGTH)),[e]);return _jsxs(Container,{children:[_jsx(Markdown,{source:t?e:n}),(e!==n||t)&&_jsx(ButtonWrap,{children:_jsx(Button,{variant:"link",size:"small",onClick:()=>{s(!t)},children:t?"Hide example":"Show example"})})]})}const Container=styled(ExampleValue)`
|
|
2
2
|
display: inline;
|
|
3
3
|
|
|
4
4
|
& * {
|
|
@@ -10,7 +10,7 @@ import{H2,LayoutVariant,breakpoints,Markdown}from"@redocly/theme";import styled,
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
@media screen and (min-width: ${breakpoints.large}) {
|
|
13
|
-
width: ${t
|
|
13
|
+
width: ${t?"100%":"calc(100% - var(--panel-samples-width))"};
|
|
14
14
|
padding-left: ${i?"var(--panel-gap-horizontal)":"calc(var(--panel-gap-horizontal) * 2)"};
|
|
15
15
|
padding-right: ${i?"var(--panel-gap-vertical)":"var(--panel-gap-horizontal)"};
|
|
16
16
|
padding-top: 0;
|
|
@@ -93,7 +93,7 @@ import{H2,LayoutVariant,breakpoints,Markdown}from"@redocly/theme";import styled,
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
@media screen and (min-width: ${breakpoints.large}) {
|
|
96
|
-
width:
|
|
96
|
+
width: var(--panel-samples-width);
|
|
97
97
|
padding-top: 0;
|
|
98
98
|
padding-bottom: 0;
|
|
99
99
|
padding-left: ${({isStacked:a})=>a?"var(--panel-gap-vertical)":"var(--panel-gap-horizontal)"};
|
package/lib-esm/hooks/index.d.ts
CHANGED
|
@@ -5,4 +5,3 @@ export { useRouter } from './useRouter';
|
|
|
5
5
|
export { useContentItems } from './useContentItems';
|
|
6
6
|
export { useActiveWithFallback } from './useActiveWithFallback';
|
|
7
7
|
export { useUppercase2LowercaseRedirect } from './useUppercase2LowercaseRedirect';
|
|
8
|
-
export { useTranslate } from './useTranslate';
|
package/lib-esm/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{useDimensions}from"./useDimensions";export{usePrevious}from"./usePrevious";export{useActivateExample}from"./useActivateExample";export{useRouter}from"./useRouter";export{useContentItems}from"./useContentItems";export{useActiveWithFallback}from"./useActiveWithFallback";export{useUppercase2LowercaseRedirect}from"./useUppercase2LowercaseRedirect";
|
|
1
|
+
export{useDimensions}from"./useDimensions";export{usePrevious}from"./usePrevious";export{useActivateExample}from"./useActivateExample";export{useRouter}from"./useRouter";export{useContentItems}from"./useContentItems";export{useActiveWithFallback}from"./useActiveWithFallback";export{useUppercase2LowercaseRedirect}from"./useUppercase2LowercaseRedirect";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib-esm/jotai/app.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[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])&&(o[n[r]]=e[n[r]])}return o};import{atom}from"jotai";import{atomWithStorage,createJSONStorage}from"jotai/utils";import{LayoutVariant,IS_BROWSER}from"@redocly/theme";import{getCookie,setCookie,removeCookie}from"../utils/cookies";import{globalOptionsAtom}from"./store";import{mergeEnvData}from"../utils/environments";import{fromSessionStorage,safeJsonParse,toSessionStorage}from"../utils";const defaultAppStoreValue={isSidebarOpened:!0,activeMimeName:"",layout:LayoutVariant.THREE_PANEL,language:"",environment:"",environments:{}},customStorage={getItem:e=>{var t,o;const n=safeJsonParse(getCookie(e,null===(o=null===(t=globalThis.redoclyCookieStorage)||void 0===t?void 0:t.getStore)||void 0===o?void 0:o.call(t))),r=safeJsonParse(fromSessionStorage(e));return Object.assign(Object.assign(Object.assign({},defaultAppStoreValue),r),n)},setItem:(e,t)=>{const{environments:o}=t,
|
|
1
|
+
var __rest=this&&this.__rest||function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[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])&&(o[n[r]]=e[n[r]])}return o};import{atom}from"jotai";import{atomWithStorage,createJSONStorage}from"jotai/utils";import{LayoutVariant,IS_BROWSER}from"@redocly/theme";import{getCookie,setCookie,removeCookie}from"../utils/cookies";import{globalOptionsAtom}from"./store";import{mergeEnvData}from"../utils/environments";import{fromSessionStorage,safeJsonParse,toSessionStorage}from"../utils";const defaultAppStoreValue={isSidebarOpened:!0,activeMimeName:"",layout:LayoutVariant.THREE_PANEL,language:"",environment:"",environments:{}},customStorage={getItem:e=>{var t,o;const n=safeJsonParse(getCookie(e,null===(o=null===(t=globalThis.redoclyCookieStorage)||void 0===t?void 0:t.getStore)||void 0===o?void 0:o.call(t))),r=safeJsonParse(fromSessionStorage(e));return Object.assign(Object.assign(Object.assign({},defaultAppStoreValue),r),n)},setItem:(e,t)=>{const{environments:o,layout:n}=t,r=__rest(t,["environments","layout"]),a={environments:o};setCookie(e,JSON.stringify(r)),toSessionStorage(e,JSON.stringify(a))},removeItem:e=>{removeCookie(e),sessionStorage.removeItem(e)}};export const appStore=atomWithStorage("redoc.appStore",defaultAppStoreValue,customStorage);export const appStoreOverrideAtom=atom({});export const environmentsAtom=atom((e=>{const t=e(appStore),o=e(appStoreOverrideAtom);return mergeEnvData(t.environments,(null==o?void 0:o.environments)||{})}));export const environmentAtom=atom((e=>{const t=e(appStore),o=e(appStoreOverrideAtom),n=mergeEnvData(t.environments,(null==o?void 0:o.environments)||{}),r=(null==o?void 0:o.environment)||t.environment,a=n[r]?r:Object.keys(n)[0];return[n[a]||{},a||""]}),((e,t,{environment:o,environments:n})=>{const r=e(appStore);t(appStore,Object.assign(Object.assign({},r),{environment:o||r.environment,environments:mergeEnvData(r.environments||{},n)}))}));export const isSidebarOpenedAtom=atom((e=>e(appStore).isSidebarOpened),((e,t,o)=>{const n=e(appStore);t(appStore,Object.assign(Object.assign({},n),{isSidebarOpened:o}))}));export const activeMimeNameAtom=atom((e=>e(appStore).activeMimeName),((e,t,o)=>{const n=e(appStore);t(appStore,Object.assign(Object.assign({},n),{activeMimeName:o}))}));export const layoutAtom=atom((e=>e(appStore).layout),((e,t,o=LayoutVariant.STACKED)=>{const n=e(appStore);t(appStore,Object.assign(Object.assign({},n),{layout:o}))}));export const appSessionStore=atomWithStorage("redoc.appSessionStore",{collapsedSidebar:!1,unsupportedFeatureScreen:!1},IS_BROWSER?createJSONStorage((()=>sessionStorage)):void 0);export const collapsedSidebarAtom=atom((e=>e(appSessionStore).collapsedSidebar),((e,t,o)=>{const n=e(appSessionStore);t(appSessionStore,Object.assign(Object.assign({},n),{collapsedSidebar:o}))}));export function getLangKey({lang:e,label:t}){return(t||e).toLowerCase()}export const languageAtom=atom((e=>{var t;const{codeSamples:o}=e(globalOptionsAtom),n=o.languages.map((({lang:e,label:t},o)=>({key:getLangKey({lang:e,label:t}),lang:e,title:t||e,order:o}))),r=e(appStore).language||n[0].key;return{languages:n,activeLanguage:(null===(t=n.find((({key:e})=>e===r)))||void 0===t?void 0:t.key)||n[0].key}}),((e,t,o)=>{const n=e(appStore);t(appStore,Object.assign(Object.assign({},n),{language:o}))}));export const unsupportedFeatureScreenAtom=atom((e=>e(appSessionStore).unsupportedFeatureScreen),((e,t,o)=>{const n=e(appSessionStore);t(appSessionStore,Object.assign(Object.assign({},n),{unsupportedFeatureScreen:o}))}));
|
|
2
2
|
//# sourceMappingURL=app.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as Sampler from"openapi-sampler";import{getSchema}from"./schema";import{isFormUrlEncoded,isJsonLike,
|
|
1
|
+
import*as Sampler from"openapi-sampler";import{getSchema}from"./schema";import{isFormUrlEncoded,isJsonLike,isMultipartFormData,JsonPointer,mapValues}from"../utils";import{getExamples}from"./example";function generateExamples({parser:e,info:{encoding:a,schema:s},schema:i,mime:r,isRequestType:n,onlyRequiredInSamples:o,generatedSamplesMaxDepth:t}){const m={skipReadOnly:n,skipWriteOnly:!n,skipNonRequired:n&&o,maxSampleDepth:t,quiet:!0};let p={};if(i&&i.oneOf)for(const s of i.oneOf){const n=Sampler.sample(s.rawSchema,m,e.definition);i.discriminatorProp&&"object"==typeof n&&n&&n[i.discriminatorProp]&&(n[i.discriminatorProp]=s.title),p[s.title]=getExamples({parser:e,infoOrRef:{value:n},mime:r,encoding:a})}else p=i?{default:getExamples({parser:e,infoOrRef:{value:Sampler.sample(s,m,e.definition)},mime:r,encoding:a})}:{default:{value:null,rawValue:"null"}};return p}export function getMediaType(e,a,s,i,r,{operation:n,type:o,response:t,absolutePointer:m=""}){let p,l;const d=i.schema&&getSchema({parser:e,schemaOrRef:i.schema,pointer:"",absolutePointer:JsonPointer.join(m,["content",a,"schema"]),options:r,deps:{operation:n,type:o,response:t}}),{onlyRequiredInSamples:u,generatedSamplesMaxDepth:c}=r,{encoding:f,examples:g,example:x}=i;return r.unstable_skipSamples||(void 0!==g?p=mapValues(g,(s=>getExamples({parser:e,infoOrRef:s,mime:a,encoding:f}))):void 0!==x?p={default:getExamples({parser:e,infoOrRef:{value:e.deref(x).resolved},mime:a,encoding:f})}:isJsonLike(a)?p=generateExamples({parser:e,info:i,schema:d,mime:a,isRequestType:s,onlyRequiredInSamples:u,generatedSamplesMaxDepth:c}):(isFormUrlEncoded(a)||isMultipartFormData(a))&&(l=generateExamples({parser:e,info:i,schema:d,mime:a,isRequestType:s,onlyRequiredInSamples:u,generatedSamplesMaxDepth:c}))),{examples:p,schema:d,name:a,isRequestType:s,formExamples:l,onlyRequiredInSamples:u,operation:n}}
|
|
2
2
|
//# sourceMappingURL=mediaType.js.map
|
package/lib-esm/models/tab.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { OperationModel } from '../../models';
|
|
2
2
|
import type * as HAR from './har';
|
|
3
3
|
import type { Languages } from './types';
|
|
4
|
-
import type { TFunction } from '@redocly/theme';
|
|
5
4
|
export type CustomHAR = HAR.Request & {
|
|
6
5
|
securityOAuth2ExtraCalls?: HAR.Request[];
|
|
7
6
|
basicAuth?: {
|
|
@@ -14,7 +13,7 @@ export type CustomHAR = HAR.Request & {
|
|
|
14
13
|
serverVariables?: Record<string, string>;
|
|
15
14
|
allResponseCodes?: string[];
|
|
16
15
|
};
|
|
17
|
-
export declare function getCodeSample({ lang, operation, exampleName, pathParams, properties, options, environment,
|
|
16
|
+
export declare function getCodeSample({ lang, operation, exampleName, pathParams, properties, options, environment, }: {
|
|
18
17
|
lang: Languages;
|
|
19
18
|
operation: OperationModel;
|
|
20
19
|
exampleName?: string;
|
|
@@ -22,7 +21,6 @@ export declare function getCodeSample({ lang, operation, exampleName, pathParams
|
|
|
22
21
|
properties?: GenericObject;
|
|
23
22
|
options?: GenericObject;
|
|
24
23
|
environment: Record<string, string>;
|
|
25
|
-
translate: TFunction;
|
|
26
24
|
}): string;
|
|
27
25
|
export declare function isDefined<T>(arg?: T): arg is T;
|
|
28
26
|
export declare function capitalizeFirst(str: string): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{
|
|
1
|
+
import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{areArraysEqual,serializeParameterValue,getSecurityDetails,getParameterValue,queryString,isArrayOfObjects,deleteEmptyArrayItem}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{HTTPSnippet}from"./httpsnippet";import{getActiveMediaType}from"../../models/mediaContent";import StringUtility from"./httpsnippet/helpers/string-utility";function getSelectedSecurityScheme(e,t){return e.find((e=>{const a=e.schemes.map((e=>e.id));return areArraysEqual(a,t||[])}))}function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:s,generatedPayloadSamplesMaxDepth:i=8,pathParams:n={},properties:o={}},{environment:l,requestValues:u,activeSecuritySchemeIds:p}){var c,d,m;const h=l.server,y=e.servers.find((e=>e.url===h))||e.servers[0],f=getSelectedSecurityScheme(e.security,p),{securityHeaders:g,securityCookies:v,securityQueries:O,securityOAuth2ExtraCalls:S,basicAuth:T}=getSecurityData(f||(null===(c=e.security)||void 0===c?void 0:c[0]),r,l),C=(null===(d=null==e?void 0:e.requestBody)||void 0===d?void 0:d.content)&&getActiveMediaType(e.requestBody.content),b={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:i,quiet:!0},E=u;let _=!1;const A=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=E.header)||void 0===t?void 0:t[e.name])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,b,s))}})).map((e=>((null==C?void 0:C.name)&&"content-type"===e.name.toLowerCase()&&(_=!0,e.value=C.name),e))).concat(g);!_&&(null==C?void 0:C.name)&&A.unshift({name:"Content-Type",value:null==C?void 0:C.name});const k=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,b,s))))).reduce(((e,t)=>{var a;for(const[r,s]of Object.entries(t))e.push({name:r,value:String((null===(a=E.cookie)||void 0===a?void 0:a[r])||s)});return e}),[]).concat(v),P=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,b,s))))).reduce(((e,t)=>{var a,r,s;for(const[i,n]of Object.entries(t))e.push({name:i,value:isArrayOfObjects(null===(a=E.query)||void 0===a?void 0:a[i])&&JSON.stringify(deleteEmptyArrayItem(null===(r=E.query)||void 0===r?void 0:r[i]))||String((null===(s=E.query)||void 0===s?void 0:s[i])||n)});return e}),[]).concat(O),j=`${null==y?void 0:y.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,w=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:s}=t;return e[s]=(null===(a=E.path)||void 0===a?void 0:a[s])||n[s]||getParameterValue(r,s),e}),{}),R=null===(m=null==C?void 0:C.examples)||void 0===m?void 0:m[t],D=(null==C?void 0:C.examples)||{},[q]=Object.values(D),M=(null==E?void 0:E.body)||(null==R?void 0:R.value)||(null==q?void 0:q.value)||(null==C?void 0:C.schema)&&Sampler.sample(null==C?void 0:C.schema.rawSchema,b,s),H=null==C?void 0:C.name.toLowerCase();let N="",x=[];switch(normalizeMimeType(H)){case MediaTypes.JSON:case MediaTypes.XML:N=JSON.stringify(getDataRequest(M,o));break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:N=queryString.stringify(getDataRequest(M,o)),x=objectToHarParams(getDataRequest(M,o));break;default:N=String(M||"")}const U=N?{mimeType:(null==C?void 0:C.name)||MediaTypes.OCTET_STREAM,text:N,params:x}:void 0,z=e.responses.map((e=>e.code));return{method:e.httpVerb,url:j,httpVersion:"HTTP/1.1",cookies:k,headers:A,queryString:P,postData:U,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:S,basicAuth:T,pathParameters:w,serverVariables:l,allResponseCodes:z}}const defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:Object.assign(Object.assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:Object.assign(Object.assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:Object.assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:Object.assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:Object.assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#+Newtonsoft":{code:"csharpNewtonsoft",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:Object.assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:Object.assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:Object.assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:Object.assign({},defaultOptions)}};export function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:r,properties:s,options:i={},environment:n}){try{const{skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p,store:c}=i,d=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:s,skipOptionalParameters:o,withOAuth2Call:l,spec:u,generatedPayloadSamplesMaxDepth:p},{environment:n,requestValues:c.requestValues,activeSecuritySchemeIds:c.activeSecuritySchemeIds}),m=new HTTPSnippet(d);return langToSnippetConfig[e]?m.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),i)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t,a){var r,s,i,n,o;const l={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const u of(null==e?void 0:e.schemes)||[]){const e=getSecurityDetails(u.id,a);switch(u.type){case"openIdConnect":null===(r=l.securityHeaders)||void 0===r||r.push({name:"Authorization",value:e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&t?l.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,e)):u.flows.password&&t&&l.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,e)),null===(s=l.securityHeaders)||void 0===s||s.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(i=l.securityHeaders)||void 0===i||i.push({name:u.name,value:t})),"cookie"===u.in&&l.securityCookies.push({name:u.name,value:t}),"query"===u.in&&l.securityQueries.push({name:u.name,value:t});break}case"http":if("basic"===u.scheme)l.basicAuth={username:e.username||`<${StringUtility.toSnakeCase("Username")}>`,password:e.password||`<${StringUtility.toSnakeCase("Password")}>`};else{const t=(null===(n=e.token)||void 0===n?void 0:n.access_token)||`<YOUR_${u.bearerFormat||"TOKEN"}_HERE>`;null===(o=l.securityHeaders)||void 0===o||o.push({name:"Authorization",value:`${capitalizeFirst(u.scheme||"bearer")} ${t}`})}}}return l}function getOAuth2PasswordCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getDataRequest(e,t){if(e){if("object"==typeof e)return merge(e,t,{arrayMerge:arrayMergeStrategy});try{return merge(JSON.parse(e),t,{arrayMerge:arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e,t=""){const a=[];for(const[r,s]of Object.entries(e)){const e=t?`${t}[${r}]`:r;"object"==typeof s&&null!==s?a.push(...objectToHarParams(s,e)):a.push({name:e,value:String(s)})}return a}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
|
|
2
2
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CodeBuilder}from"../../helpers/code-builder";import{HTTPSnippet}from"../..";import{normalizeMimeType}from"../../../../utils";import{addIndentation,buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{Lang}from"../../helpers/constants";import{MediaTypes}from"../../../../../constants";const hasQueryParams=e=>!(!e.uriObj.query||!Object.keys(e.uriObj.query).length),getBody=e=>e.postData&&e.postData.mimeType===MediaTypes.URL_ENCODED?"HttpRequest.BodyPublishers.ofString(form)":e.postData?"HttpRequest.BodyPublishers.ofString(payload)":["POST","PUT","PATCH"].includes(e.method.toUpperCase())?'HttpRequest.BodyPublishers.ofString("some body text")':"",handler=function(e,t,{target:a,client:s}){var r,n,o;const i=Object.assign({indent:" ",withWrapper:!0},t),p=new CodeBuilder({indentation:i.indent,variablesPrefix:i.variablesPrefix,capitalize:!0,lang:Lang.JAVA});let l=!1;if(i.withComments&&addComments(p,e),i.withImports&&addImports(p,e),i.withWrapper&&(p.push("public class App {"),p.push(1,"public static void main(String[] args) throws Exception {"),p.push(2,"var httpClient = HttpClient.newBuilder().build();"),p.blank()),null===(r=e.securityOAuth2ExtraCalls)||void 0===r?void 0:r.length){const t=new HTTPSnippet(null===(n=e.securityOAuth2ExtraCalls)||void 0===n?void 0:n[0]).convert(a,s,Object.assign(Object.assign({},i),{withImports:!1,withWrapper:!1,withComments:!1,variablesPrefix:"oauth2"}));p.push(t),p.blank(),p.push(2,"var oauth2Response = httpClient.send(oauth2Request, HttpResponse.BodyHandlers.ofString());"),p.push(2,'var accessToken = new JSONObject(oauth2Response.body()).getString("access_token");'),p.blank()}if(e.postData)switch(normalizeMimeType(e.postData.mimeType)){case MediaTypes.URL_ENCODED:e.postData.params&&(p.push(2,"HashMap<String, String> params = new HashMap<>();"),e.postData.params.forEach((e=>{p.push(2,'params.put("%s", "%s");',e.name,e.value)})),p.blank(),p.push(2,"var form = params.keySet().stream()"),p.push(3,'.map(key -> key + "=" + URLEncoder.encode(params.get(key), StandardCharsets.UTF_8))'),p.push(3,'.collect(Collectors.joining("&"));'),p.blank());break;case MediaTypes.JSON:e.postData.jsonObj&&(p.push(2,`var payload = String.join("\\n"\n ${addIndentation(JSON.stringify(e.postData.jsonObj,null,1).replace(/"/g,'\\"').replace(/^/gm,', "').replace(/$/gm,'"'),{level:3,indent:i.indent,firstLine:!1})}`),p.push(2,");"),p.blank());break;case MediaTypes.XML:e.postData.text&&(p.push(2,'var payload = String.join("\\n"'),e.postData.text.trim().split("\n").forEach((e=>{const t=e.replace(/"/g,'\\"');p.push(3
|
|
1
|
+
import{CodeBuilder}from"../../helpers/code-builder";import{HTTPSnippet}from"../..";import{normalizeMimeType}from"../../../../utils";import{addIndentation,buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{Lang}from"../../helpers/constants";import{MediaTypes}from"../../../../../constants";const hasQueryParams=e=>!(!e.uriObj.query||!Object.keys(e.uriObj.query).length),getBody=e=>e.postData&&e.postData.mimeType===MediaTypes.URL_ENCODED?"HttpRequest.BodyPublishers.ofString(form)":e.postData?"HttpRequest.BodyPublishers.ofString(payload)":["POST","PUT","PATCH"].includes(e.method.toUpperCase())?'HttpRequest.BodyPublishers.ofString("some body text")':"",handler=function(e,t,{target:a,client:s}){var r,n,o;const i=Object.assign({indent:" ",withWrapper:!0},t),p=new CodeBuilder({indentation:i.indent,variablesPrefix:i.variablesPrefix,capitalize:!0,lang:Lang.JAVA});let l=!1;if(i.withComments&&addComments(p,e),i.withImports&&addImports(p,e),i.withWrapper&&(p.push("public class App {"),p.push(1,"public static void main(String[] args) throws Exception {"),p.push(2,"var httpClient = HttpClient.newBuilder().build();"),p.blank()),null===(r=e.securityOAuth2ExtraCalls)||void 0===r?void 0:r.length){const t=new HTTPSnippet(null===(n=e.securityOAuth2ExtraCalls)||void 0===n?void 0:n[0]).convert(a,s,Object.assign(Object.assign({},i),{withImports:!1,withWrapper:!1,withComments:!1,variablesPrefix:"oauth2"}));p.push(t),p.blank(),p.push(2,"var oauth2Response = httpClient.send(oauth2Request, HttpResponse.BodyHandlers.ofString());"),p.push(2,'var accessToken = new JSONObject(oauth2Response.body()).getString("access_token");'),p.blank()}if(e.postData)switch(normalizeMimeType(e.postData.mimeType)){case MediaTypes.URL_ENCODED:e.postData.params&&(p.push(2,"HashMap<String, String> params = new HashMap<>();"),e.postData.params.forEach((e=>{p.push(2,'params.put("%s", "%s");',e.name,e.value)})),p.blank(),p.push(2,"var form = params.keySet().stream()"),p.push(3,'.map(key -> key + "=" + URLEncoder.encode(params.get(key), StandardCharsets.UTF_8))'),p.push(3,'.collect(Collectors.joining("&"));'),p.blank());break;case MediaTypes.JSON:e.postData.jsonObj&&(p.push(2,`var payload = String.join("\\n"\n ${addIndentation(JSON.stringify(e.postData.jsonObj,null,1).replace(/"/g,'\\"').replace(/^/gm,', "').replace(/$/gm,'"'),{level:3,indent:i.indent,firstLine:!1})}`),p.push(2,");"),p.blank());break;case MediaTypes.XML:e.postData.text&&(p.push(2,'var payload = String.join("\\n"'),e.postData.text.trim().split("\n").forEach((e=>{const t=e.replace(/"/g,'\\"');p.push(3,`, "${t}"`)})),p.push(2,");"),p.blank());break;case MediaTypes.MULTIPART:l=!0,p.unshift("# multipart/form-data is not supported yet\n")}if(hasQueryParams(e)){p.push(2,"HashMap<String, String> params = new HashMap<>();");for(const[t,a]of Object.entries(e.uriObj.query))p.push(2,'params.put("%s", "%s");',t,a);p.blank(),p.push(2,"var query = params.keySet().stream()"),p.push(3,'.map(key -> key + "=" + URLEncoder.encode(params.get(key), StandardCharsets.UTF_8))'),p.push(3,'.collect(Collectors.joining("&"));'),p.blank()}p.push(2,`var ${p.var("host")} = "%s";`,e.uriObj.protocol+"//"+e.uriObj.host),printUrlVariablesDeclarations(e,p,2);const u=Object.assign(Object.assign({},e),{pathname:e.uriObj.pathname});p.push(2,`var ${p.var("pathname")} = %s;`,buildUrlExpression(u,p)),p.push(2,`var ${p.var("request")} = HttpRequest.newBuilder()`),"PATCH"===e.method.toUpperCase()?p.push(3,'.method("PATCH", %s)',getBody(e)):p.push(3,".%s(%s)",e.method.toUpperCase(),getBody(e)),p.push(3,`.uri(URI.create(${p.var("host")} + ${p.var("pathname")} %s))`,hasQueryParams(e)?"+ '?' + query":""),(null===(o=e.securityOAuth2ExtraCalls)||void 0===o?void 0:o.length)&&(e.allHeaders.Authorization='"Bearer " + accessToken');const h=Object.keys(e.allHeaders);if(h.length&&h.forEach((t=>{var a;p.push(3,'.header("%s", %s)',t,"Authorization"===t&&(null===(a=e.securityOAuth2ExtraCalls)||void 0===a?void 0:a.length)?e.allHeaders[t]:`"${e.allHeaders[t]}"`)})),e.basicAuth){const{username:t,password:a}=e.basicAuth;p.push(3,`.header("Authorization", "Basic " + Base64.getEncoder().encodeToString(("${t}:${a}").getBytes()))`)}return p.push(3,".build();"),i.withWrapper&&(p.blank(),p.push(2,"var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());"),p.blank(),p.push(2,"System.out.println(response.body());"),p.push(1,"}"),p.push("}")),l&&p.clean(),p.join()};export const info={key:"httpclient",title:"HttpClient",link:"https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html",description:"HttpClient (Java SE 11 & JDK 11 )"};export default handler;function addComments(e,t){var a;e.push("/**"),e.push(" * Requires JDK >= 11"),(null===(a=t.securityOAuth2ExtraCalls)||void 0===a?void 0:a.length)&&(e.push(" *"),e.push(' * Requires package "org.json" >= 20201115'),e.push(" * See here for installation details:"),e.push(" * https://search.maven.org/artifact/org.json/json")),e.push(" */"),e.blank()}function addImports(e,t){var a,s,r,n;e.push("import java.net.*;"),e.push("import java.net.http.*;"),e.push("import java.util.*;"),(normalizeMimeType(null===(a=t.postData)||void 0===a?void 0:a.mimeType)===MediaTypes.URL_ENCODED&&(null===(s=t.postData)||void 0===s?void 0:s.params)||(null===(r=t.securityOAuth2ExtraCalls)||void 0===r?void 0:r.length)||hasQueryParams(t))&&(e.push("import java.nio.charset.StandardCharsets;"),e.push("import java.util.stream.Collectors;")),(null===(n=t.securityOAuth2ExtraCalls)||void 0===n?void 0:n.length)&&e.push("import org.json.JSONObject;"),e.blank()}
|
|
2
2
|
//# sourceMappingURL=httpclient.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CodeBuilder}from"../../helpers/code-builder";import{HTTPSnippet}from"../../index";import{isEmptyObject,normalizeMimeType}from"../../../../utils";import{capitalizeFirst}from"../../../generator";import{Lang}from"../../helpers/constants";import{buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{MediaTypes}from"../../../../../constants";const handler=function(t,e,{target:s,client:a}){var i,r;const p=Object.assign({indent:" ",withWrapper:!0},e),n=new CodeBuilder({indentation:p.indent,variablesPrefix:p.variablesPrefix,capitalize:!0,lang:Lang.JAVA8}),o=formatHttpMethod(t.method);if(p.withComments&&addComments(n),p.withImports&&addImports(n,t),p.withWrapper&&(n.push("public class App {"),n.push(1,"public static void main(String[] args ) throws java.io.IOException {"),n.push(2,"HttpClient httpClient = HttpClientBuilder.create().build();"),n.blank()),null===(i=t.securityOAuth2ExtraCalls)||void 0===i?void 0:i.length){const e=new HTTPSnippet(null===(r=t.securityOAuth2ExtraCalls)||void 0===r?void 0:r[0]).convert(s,a,Object.assign(Object.assign({},p),{withImports:!1,withWrapper:!1,withComments:!1,variablesPrefix:"oauth2"}));n.push(e),n.push(2,"JSONObject %s = new JSONObject(EntityUtils.toString(httpClient.execute(%s).getEntity()));","oauth2Response","oauth2Request"),n.push(2,'String accessToken = %s.getString("access_token");',"oauth2Response"),n.blank()}printUrlVariablesDeclarations(t,n,2);const u=buildUrlExpression(t,n);n.push(2,`%s ${n.var("request")} = new %s(%s);`,o,o,u);const h=Object.keys(t.allHeaders);if(!h.length||t.postData&&t.postData.mimeType==MediaTypes.MULTIPART||h.forEach((e=>{var s;n.push(2,'%s.setHeader("%s", %s);',n.var("request"),e,(null===(s=t.securityOAuth2ExtraCalls)||void 0===s?void 0:s.length)?'"Bearer " + accessToken':`"${t.allHeaders[e]}"`)})),t.basicAuth){const{username:e,password:s}=t.basicAuth;n.push(2,`String encodedString = Base64.getEncoder().encodeToString("${e}:${s}".getBytes());`),n.push(2,'%s.setHeader("%s", "%s"+encodedString);',n.var("request"),"Authorization","Basic ")}if(t.postData)switch(normalizeMimeType(t.postData.mimeType)){case MediaTypes.URL_ENCODED:t.postData.params&&(n.blank(),n.push(2,"List<NameValuePair> params = new ArrayList<NameValuePair>();"),t.postData.params.forEach((t=>{n.push(2,'params.add(new BasicNameValuePair("%s", "%s"));',t.name,t.value)})),n.push(2,"%s.setEntity(new UrlEncodedFormEntity(params));",n.var("request")),n.blank());break;case MediaTypes.MULTIPART:t.postData.params&&(n.push(2,"MultipartEntity reqEntity = new MultipartEntity();"),t.postData.params.forEach((t=>{n.push(2,'reqEntity.addPart("%s", %s);',t.name,isString(t.value)?`new StringBody("${t.value}")`:t.value)})),n.push(2,"%s.setEntity(reqEntity);",n.var("request")));break;case MediaTypes.JSON:if(t.postData.jsonObj){n.push(2,"JSONObject payload = new JSONObject();");for(const[e,s]of Object.entries(t.postData.jsonObj))Array.isArray(s)?(n.push(2,'payload.put("%s", new JSONArray()',e),s.forEach((t=>{isObject(t)?(n.push(3,".put(new JSONObject()"),l(t,4),n.push(3,")")):n.push(3,".put(%s)",formatValue(t))})),n.push(2,");")):isObject(s)?(n.push(2,'payload.put("%s", new JSONObject()%s',e,isEmptyObject(s)?");":""),l(s,3),isEmptyObject(s)||n.push(2,");")):n.push(2,'payload.put("%s", %s);',e,formatValue(s));n.push(2,"%s.setEntity(new StringEntity(payload.toString()));",n.var("request"))}break;case MediaTypes.XML:t.postData.text&&(n.push(2,'String payload = String.join("\\n"'),t.postData.text.trim().split("\n").forEach((t=>{const e=t.replace(/"/g,'\\"');n.push(3
|
|
1
|
+
import{CodeBuilder}from"../../helpers/code-builder";import{HTTPSnippet}from"../../index";import{isEmptyObject,normalizeMimeType}from"../../../../utils";import{capitalizeFirst}from"../../../generator";import{Lang}from"../../helpers/constants";import{buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{MediaTypes}from"../../../../../constants";const handler=function(t,e,{target:s,client:a}){var i,r;const p=Object.assign({indent:" ",withWrapper:!0},e),n=new CodeBuilder({indentation:p.indent,variablesPrefix:p.variablesPrefix,capitalize:!0,lang:Lang.JAVA8}),o=formatHttpMethod(t.method);if(p.withComments&&addComments(n),p.withImports&&addImports(n,t),p.withWrapper&&(n.push("public class App {"),n.push(1,"public static void main(String[] args ) throws java.io.IOException {"),n.push(2,"HttpClient httpClient = HttpClientBuilder.create().build();"),n.blank()),null===(i=t.securityOAuth2ExtraCalls)||void 0===i?void 0:i.length){const e=new HTTPSnippet(null===(r=t.securityOAuth2ExtraCalls)||void 0===r?void 0:r[0]).convert(s,a,Object.assign(Object.assign({},p),{withImports:!1,withWrapper:!1,withComments:!1,variablesPrefix:"oauth2"}));n.push(e),n.push(2,"JSONObject %s = new JSONObject(EntityUtils.toString(httpClient.execute(%s).getEntity()));","oauth2Response","oauth2Request"),n.push(2,'String accessToken = %s.getString("access_token");',"oauth2Response"),n.blank()}printUrlVariablesDeclarations(t,n,2);const u=buildUrlExpression(t,n);n.push(2,`%s ${n.var("request")} = new %s(%s);`,o,o,u);const h=Object.keys(t.allHeaders);if(!h.length||t.postData&&t.postData.mimeType==MediaTypes.MULTIPART||h.forEach((e=>{var s;n.push(2,'%s.setHeader("%s", %s);',n.var("request"),e,(null===(s=t.securityOAuth2ExtraCalls)||void 0===s?void 0:s.length)?'"Bearer " + accessToken':`"${t.allHeaders[e]}"`)})),t.basicAuth){const{username:e,password:s}=t.basicAuth;n.push(2,`String encodedString = Base64.getEncoder().encodeToString("${e}:${s}".getBytes());`),n.push(2,'%s.setHeader("%s", "%s"+encodedString);',n.var("request"),"Authorization","Basic ")}if(t.postData)switch(normalizeMimeType(t.postData.mimeType)){case MediaTypes.URL_ENCODED:t.postData.params&&(n.blank(),n.push(2,"List<NameValuePair> params = new ArrayList<NameValuePair>();"),t.postData.params.forEach((t=>{n.push(2,'params.add(new BasicNameValuePair("%s", "%s"));',t.name,t.value)})),n.push(2,"%s.setEntity(new UrlEncodedFormEntity(params));",n.var("request")),n.blank());break;case MediaTypes.MULTIPART:t.postData.params&&(n.push(2,"MultipartEntity reqEntity = new MultipartEntity();"),t.postData.params.forEach((t=>{n.push(2,'reqEntity.addPart("%s", %s);',t.name,isString(t.value)?`new StringBody("${t.value}")`:t.value)})),n.push(2,"%s.setEntity(reqEntity);",n.var("request")));break;case MediaTypes.JSON:if(t.postData.jsonObj){n.push(2,"JSONObject payload = new JSONObject();");for(const[e,s]of Object.entries(t.postData.jsonObj))Array.isArray(s)?(n.push(2,'payload.put("%s", new JSONArray()',e),s.forEach((t=>{isObject(t)?(n.push(3,".put(new JSONObject()"),l(t,4),n.push(3,")")):n.push(3,".put(%s)",formatValue(t))})),n.push(2,");")):isObject(s)?(n.push(2,'payload.put("%s", new JSONObject()%s',e,isEmptyObject(s)?");":""),l(s,3),isEmptyObject(s)||n.push(2,");")):n.push(2,'payload.put("%s", %s);',e,formatValue(s));n.push(2,"%s.setEntity(new StringEntity(payload.toString()));",n.var("request"))}break;case MediaTypes.XML:t.postData.text&&(n.push(2,'String payload = String.join("\\n"'),t.postData.text.trim().split("\n").forEach((t=>{const e=t.replace(/"/g,'\\"');n.push(3,`, "${e}"`)})),n.push(2,");"),n.push(2,"%s.setEntity(new StringEntity(payload));",n.var("request")))}return p.withWrapper&&(n.push(2,`String ${n.var("response")} = EntityUtils.toString(httpClient.execute(request).getEntity());`),n.blank(),n.push(2,"System.out.println(response);"),n.push(1,"}"),n.push("}")),n.join();function l(t,e){for(const[s,a]of Object.entries(t))isObject(a)?(n.push(e,'.put("%s", new JSONObject()',s),l(a,e+1),n.push(e,")")):n.push(e,'.put("%s", %s)',s,formatValue(a))}};export const info={key:"apachehttp",title:"Apache http",link:"https://hc.apache.org/httpcomponents-client-4.5.x/",description:"Apache HttpClient"};export default handler;function addComments(t){t.push("/**"),t.push(" * Requires JDK >= 8"),t.push(" *"),t.push(" * Requires Apache HttpComponents Client >= 4.3.5"),t.push(" * See here for installation details:"),t.push(" * https://search.maven.org/artifact/org.apache.httpcomponents/httpcomponents-client"),t.push(" *"),t.push(' * Requires package "junit4"'),t.push(" * See here for installation details:"),t.push(" * https://junit.org/junit4"),t.push(" *"),t.push(' * Requires package "org.json" >= 20180130'),t.push(" * See here for installation details:"),t.push(" * https://search.maven.org/artifact/org.json/json"),t.push(" */"),t.blank()}function addImports(t,e){var s,a,i;t.push("import org.apache.http.util.EntityUtils;"),t.push("import org.apache.http.NameValuePair;"),t.push("import org.apache.http.client.HttpClient;"),t.push("import org.apache.http.client.entity.UrlEncodedFormEntity;"),e.method&&addHttpMethodImport(t,e.method),(null===(s=e.securityOAuth2ExtraCalls)||void 0===s?void 0:s.length)&&(null===(a=e.securityOAuth2ExtraCalls)||void 0===a?void 0:a[0].method.toLowerCase())!==e.method.toLowerCase()&&addHttpMethodImport(t,null===(i=e.securityOAuth2ExtraCalls)||void 0===i?void 0:i[0].method),t.push("import org.apache.http.impl.client.HttpClientBuilder;"),t.push("import org.apache.http.message.BasicNameValuePair;"),t.push("import org.apache.http.entity.StringEntity;"),t.push("import org.json.JSONObject;"),t.push("import org.json.JSONArray;"),t.push("import java.util.ArrayList;"),t.push("import java.util.List;"),t.push("import org.apache.http.entity.mime.MultipartEntity;"),t.push("import org.apache.http.entity.mime.content.StringBody;"),e.basicAuth&&t.push("import java.util.Base64;"),t.blank()}function addHttpMethodImport(t,e){const s=formatHttpMethod(e);t.push(`import org.apache.http.client.methods.${s};`)}function formatHttpMethod(t){return"Http"+capitalizeFirst(t.toLowerCase())}function isString(t){return"[object String]"===Object.prototype.toString.call(t)}function isObject(t){const e=typeof t;return"function"===e||"object"===e&&!!t}function formatValue(t){return isString(t)?JSON.stringify(t):null==t?"JSONObject.NULL":t}
|
|
2
2
|
//# sourceMappingURL=apachehttp.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import stringifyObject from"stringify-object";import{CodeBuilder}from"../../helpers/code-builder";import{addIndentation,getPreserveTransformer,buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{normalizeMimeType}from"../../../../utils";import{HTTPSnippet}from"../..";import{Lang}from"../../helpers/constants";import{MediaTypes}from"../../../../../constants";const handler=function(e,t,{target:a,client:n}){var s,r,
|
|
1
|
+
import stringifyObject from"stringify-object";import{CodeBuilder}from"../../helpers/code-builder";import{addIndentation,getPreserveTransformer,buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{normalizeMimeType}from"../../../../utils";import{HTTPSnippet}from"../..";import{Lang}from"../../helpers/constants";import{MediaTypes}from"../../../../../constants";const handler=function(e,t,{target:a,client:n}){var s,i,r,o,d,l;const p=Object.assign({indent:" ",credentials:null},t),c=new CodeBuilder({indentation:p.indent,variablesPrefix:p.variablesPrefix,capitalize:!0,lang:Lang.JAVASCRIPT}),h={method:e.method.toUpperCase()};Object.keys(e.headersObj).length&&(h.headers=e.headersObj);let u=!1;if(p.withComments&&addComments(c),null===(s=e.securityOAuth2ExtraCalls)||void 0===s?void 0:s.length){const t=new HTTPSnippet(null===(i=e.securityOAuth2ExtraCalls)||void 0===i?void 0:i[0]).convert(a,n,Object.assign(Object.assign({},p),{withImports:!1,withComments:!1,variablesPrefix:"oAuth2"}));c.push(t),c.blank(),h.headers=h.headers||{},h.headers.Authorization="'Bearer ' + oAuth2Data.access_token",u=!0}null!==p.credentials&&(h.credentials=p.credentials);const m=Object.getOwnPropertyNames(e.queryObj).length;if(m&&c.push(`const ${c.var("query")} = new URLSearchParams(${stringifyObject(e.queryObj,{indent:p.indent,inlineCharacterLimit:25})}).toString();`).blank(),e.postData)switch(normalizeMimeType(e.postData.mimeType)){case MediaTypes.URL_ENCODED:h.body=e.postData.paramsObj?`new URLSearchParams(${c.var("formData")}).toString()`:e.postData.text,e.postData.paramsObj&&c.push(`const ${c.var("formData")} = ${addIndentation(stringifyObject(e.postData.paramsObj,{indent:p.indent,inlineCharacterLimit:25}),{level:0,firstLine:!1})};`).blank();break;case MediaTypes.JSON:e.postData.jsonObj&&(h.body=`JSON.stringify(${addIndentation(stringifyObject(e.postData.jsonObj,{indent:p.indent,inlineCharacterLimit:25}),{level:1,firstLine:!1})})`);break;case MediaTypes.MULTIPART:c.push(`const ${c.var("form")} = new FormData();`),(null===(r=null==h?void 0:h.headers)||void 0===r?void 0:r["Content-Type"])&&(null===(o=h.headers)||void 0===o||delete o["Content-Type"]),e.postData.params.forEach((function(e){c.push(`${c.var("form")}.append(%s, %s);`,JSON.stringify(e.name),JSON.stringify(e.value||e.fileName||""))})),h.body=c.var("form"),c.blank();break;default:e.postData.text&&(h.body=`\`${addIndentation(e.postData.text,{level:2,indent:p.indent,firstLine:!1}).trim()}\``)}const b=h.headers&&h.headers.Accept&&normalizeMimeType(h.headers.Accept)===MediaTypes.JSON||normalizeMimeType(null===(d=e.postData)||void 0===d?void 0:d.mimeType)===MediaTypes.JSON;if(e.basicAuth){const{username:t,password:a}=e.basicAuth;h.headers=h.headers||{},h.headers.Authorization=`'Basic ' + btoa('${t}:${a}')`,u=!0}printUrlVariablesDeclarations(e,c);const f=buildUrlExpression(e,c);return c.push(`const ${c.var("resp")} = await fetch(`).push(1,"`"+f+(m?"?${"+c.var("query")+"}":"")+"`,").push(addIndentation(stringifyObject(h,{indent:p.indent,inlineCharacterLimit:25,transform:getPreserveTransformer({body:!0,authorizationHeader:u})}),{level:1,indent:p.indent})).push(");").blank(),(null===(l=e.allResponseCodes)||void 0===l?void 0:l.includes("204"))?(c.push("if (resp.status === 204) {").push(1,"console.log('success');").push("} else {"),c.push(1,`const ${c.var("data")} = await ${c.var("resp")}.${b?"json()":"text()"};`).push(1,`console.log(${c.var("data")});`).push("}")):c.push(`const ${c.var("data")} = await ${c.var("resp")}.${b?"json()":"text()"};`).push(`console.log(${c.var("data")});`),c.join()};function addComments(e){e.push("/**"),e.push(" * Requires ES8-compatible browser: https://caniuse.com/async-functions"),e.push(" */"),e.blank()}export const info={key:"fetch",title:"fetch",link:"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch",description:"Perform asynchronous HTTP requests with the Fetch API"};export default handler;
|
|
2
2
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import stringifyObject from"stringify-object";import{CodeBuilder}from"../../helpers/code-builder";import{addIndentation,getPreserveTransformer,buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{Lang}from"../../helpers/constants";import{normalizeMimeType}from"../../../../utils";import{HTTPSnippet}from"../..";import{MediaTypes}from"../../../../../constants";const handler=function(e,t,{target:a,client:n}){var s,i,r,o,d;const
|
|
1
|
+
import stringifyObject from"stringify-object";import{CodeBuilder}from"../../helpers/code-builder";import{addIndentation,getPreserveTransformer,buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{Lang}from"../../helpers/constants";import{normalizeMimeType}from"../../../../utils";import{HTTPSnippet}from"../..";import{MediaTypes}from"../../../../../constants";const handler=function(e,t,{target:a,client:n}){var s,i,r,o,d,l;const p=Object.assign({indent:" ",showBoilerplate:!0,level:1},t),{level:h}=p;let c=!1;const m=new CodeBuilder({indentation:p.indent,variablesPrefix:p.variablesPrefix,capitalize:!0,lang:Lang.NODEJS});p.withComments&&addComments(m),p.withImports&&(m.push("import fetch from 'node-fetch';"),m.blank()),p.showBoilerplate&&m.push("async function run() {");const u={method:e.method.toUpperCase()};Object.keys(e.headersObj).length&&(u.headers=e.headersObj);let f=!1;if(null===(s=e.securityOAuth2ExtraCalls)||void 0===s?void 0:s.length){const t=new HTTPSnippet(null===(i=e.securityOAuth2ExtraCalls)||void 0===i?void 0:i[0]).convert(a,n,Object.assign(Object.assign({},p),{withImports:!1,withComments:!1,variablesPrefix:"oAuth2",showBoilerplate:!1,level:1}));m.push(t),m.blank(),u.headers=u.headers||{},u.headers.Authorization="'Bearer ' + oAuth2Data.access_token",f=!0}const b=Object.getOwnPropertyNames(e.queryObj).length;if(b&&m.push(h,`const ${m.var("query")} = new URLSearchParams(${addIndentation(stringifyObject(e.queryObj,{indent:p.indent,inlineCharacterLimit:25}),{level:h,indent:p.indent,firstLine:!1})}).toString();`).blank(),e.postData)switch(normalizeMimeType(e.postData.mimeType)){case MediaTypes.URL_ENCODED:u.body=e.postData.paramsObj?`new URLSearchParams(${m.var("formData")}).toString()`:e.postData.text,e.postData.paramsObj&&m.push(h,`const ${m.var("formData")} = ${addIndentation(stringifyObject(e.postData.paramsObj,{indent:p.indent,inlineCharacterLimit:25}),{level:h,firstLine:!1})};`).blank();break;case MediaTypes.JSON:e.postData.jsonObj&&(u.body=`JSON.stringify(${addIndentation(stringifyObject(e.postData.jsonObj,{indent:p.indent,inlineCharacterLimit:25}),{level:h,firstLine:!1})})`);break;case MediaTypes.MULTIPART:(null===(r=null==u?void 0:u.headers)||void 0===r?void 0:r["Content-Type"])&&(null===(o=u.headers)||void 0===o||delete o["Content-Type"]),p.withImports&&m.unshift("import FormData from 'form-data';"),m.push(h,`const ${m.var("form")} = new FormData();`),e.postData.params.forEach((function(e){e.fileName||e.fileName||e.contentType?e.fileName&&(c=!0,m.blank(),m.push(h,`${m.var("form")}.append('" + param.name + "', fs.createReadStream('" + param.fileName + "'));`)):m.push(h,"form.append('"+e.name+"','"+e.value+"');")})),u.body=m.var("form"),m.blank();break;default:e.postData.text&&(u.body=`\`${addIndentation(e.postData.text,{level:h+1,indent:p.indent,firstLine:!1}).trim()}\``)}if(e.cookies.length){let t="";e.cookies.forEach((function(e){t=t+encodeURIComponent(e.name)+"="+encodeURIComponent(e.value)+"; "})),t=t.trim(),u.headers||(u.headers={}),u.headers.cookie=t}if(e.basicAuth){const{username:t,password:a}=e.basicAuth;u.headers=u.headers||{},u.headers.Authorization=`'Basic ' + Buffer.from('${t}:${a}').toString('base64')`,f=!0}c&&p.withImports&&m.unshift("import fs from 'fs';");const v=u.headers&&u.headers.Accept&&normalizeMimeType(u.headers.Accept)===MediaTypes.JSON||normalizeMimeType(null===(d=e.postData)||void 0===d?void 0:d.mimeType)===MediaTypes.JSON;printUrlVariablesDeclarations(e,m,h);const y=buildUrlExpression(e,m);return m.push(h,`const ${m.var("resp")} = await fetch(`).push(h+1,"`"+y+(b?"?${"+m.var("query")+"}":"")+"`,").push(h+1,addIndentation(stringifyObject(u,{indent:p.indent,inlineCharacterLimit:25,transform:getPreserveTransformer({body:!0,authorizationHeader:f})}),{level:h+1,indent:p.indent,firstLine:!1})).push(h,");").blank(),(null===(l=e.allResponseCodes)||void 0===l?void 0:l.includes("204"))?(m.push(h,"if (resp.status === 204) {").push(h+1,"console.log('success');").push(h,"} else {"),m.push(h+1,`const ${m.var("data")} = await ${m.var("resp")}.${v?"json()":"text()"};`).push(h+1,`console.log(${m.var("data")});`).push(h,"}")):m.push(h,`const ${m.var("data")} = await ${m.var("resp")}.${v?"json()":"text()"};`).push(h,`console.log(${m.var("data")});`),p.showBoilerplate&&m.push("}").blank().push("run();"),m.join().replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/,'fs.createReadStream("$1")')};function addComments(e){e.push("/**"),e.push(" * Requires Node.js >= 14"),e.push(" *"),e.push(' * Requires module "node-fetch" >= 2.6.1'),e.push(" * See here for installation details:"),e.push(" * https://www.npmjs.com/package/node-fetch"),e.push(" */"),e.blank()}export const info={key:"fetch",title:"Fetch",link:"https://github.com/bitinn/node-fetch",description:"Simplified HTTP node-fetch client"};export default handler;
|
|
2
2
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{Children}from"react";import{StoreProvider}from"./components";export function withTestProviders(r,e){return _jsx(StoreProvider,Object.assign({},e||{definition:{openapi:"3.0.0"}},{children:Children.only(r)}))}
|
|
2
|
+
//# sourceMappingURL=testProviders.js.map
|
|
@@ -43,4 +43,4 @@ export declare function getJsUrl(): string;
|
|
|
43
43
|
export declare const normalizeText: (text?: string | GenericObject) => string;
|
|
44
44
|
export declare const getValueFromMdParsedExtension: (item: GenericObject, key: 'description' | 'summary' | 'x-summary' | 'x-enumDescriptions') => any;
|
|
45
45
|
export declare function isLastInArray(arr: Array<unknown>, index: number): boolean;
|
|
46
|
-
export declare function isLastProperty(obj:
|
|
46
|
+
export declare function isLastProperty(obj: Object, key: string): boolean;
|
|
@@ -10,7 +10,6 @@ export declare function getOperationId(operation: ExtendedOpenAPIOperation, pare
|
|
|
10
10
|
export declare function detectType(schema: OpenAPISchema): string;
|
|
11
11
|
export declare function isPrimitiveType(schema: OpenAPISchema, type?: string | string[] | undefined): boolean;
|
|
12
12
|
export declare function isJsonLike(contentType: string): boolean;
|
|
13
|
-
export declare function isXmlLike(contentType: string): boolean;
|
|
14
13
|
export declare function isFormUrlEncoded(contentType: string): boolean;
|
|
15
14
|
export declare function isMultipartFormData(contentType: string): boolean;
|
|
16
15
|
export declare function urlFormEncodePayload(payload: GenericObject, encoding?: {
|
package/lib-esm/utils/openapi.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{dirname}from"path";import UrlTemplate from"url-template";import{IS_BROWSER}from"@redocly/theme";import{deleteEmptyArrayItem,isArrayOfObjects,isNumeric,removeQueryStringAndHash,resolveUrl,sanitizeItemId,normalizeText,getValueFromMdParsedExtension}from"./helpers";import{DEFAULT_TAG_SLUG,MediaTypes}from"../constants";import{JsonPointer}from"./JsonPointer";import{joinWithSeparator}from"../services";function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}export function isStatusCode(e){return"default"===e||isNumeric(e)||isWildcardStatusCode(e)}export function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};export function isOperationName(e){return e in operationNames}export function getOperationName(e){const{operationId:r,pathName:t}=e,i=normalizeText(getValueFromMdParsedExtension(e,"description"));return normalizeText(getValueFromMdParsedExtension(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}export function getOperationId(e,r){var t;return(null==r?void 0:r.id)?joinWithSeparator(r.id,sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer))).toLowerCase():(null===(t=e.tags)||void 0===t?void 0:t.length)?sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer)):sanitizeItemId(e.operationId?joinWithSeparator(DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};export function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}export function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}export function isJsonLike(e){return-1!==e.search(/json/i)}export function isXmlLike(e){return-1!==(null==e?void 0:e.search(/xml/i))}export function isFormUrlEncoded(e){return e===MediaTypes.URL_ENCODED}export function isMultipartFormData(e){return e===MediaTypes.MULTIPART}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return UrlTemplate.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=UrlTemplate.parse(`{${i}${t}}`);return 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)||"object"==typeof n?t?serializeFormValue(e,t,n):delimitedEncodeField(i,e,"%20"):(console.warn("The style spaceDelimited is applicable to arrays or objects"),"");case"pipeDelimited":return Array.isArray(n)||"object"==typeof n?t?serializeFormValue(e,t,n):delimitedEncodeField(i,e,"|"):(console.warn("The style pipeDelimited is applicable to arrays or objects"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return isArrayOfObjects(i)&&(i=deleteEmptyArrayItem(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}export function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}export function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:o}=e;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,o)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}export function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;export function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}export function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}export function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,o="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,a="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${o?"( ":"[ "}${i} .. ${n}${a?" )":" ]"}`:void 0!==n?`${a?"< ":"<= "}${n}`:void 0!==i?`${o?"> ":">= "}${i}`:void 0}export function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint(1===e.minProperties&&1===e.maxProperties?"property":"properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const o=humanizeMultipleOfConstraint(e.multipleOf);void 0!==o&&r.push(o);const a=humanizeNumberRange(e);return void 0!==a&&r.push(a),e.uniqueItems&&r.push("unique"),r}export function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}export function sortByDeprecated(e){return e.sort(((e,r)=>Number(e.deprecated)-Number(r.deprecated)))}export function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const o={};t.forEach((r=>{({resolved:r}=e.deref(r)),o[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!o[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer.join(n,["parameters",String(r)])})))]}export function normalizeServers(e,r){const t=void 0===e?removeQueryStringAndHash((()=>{if(!IS_BROWSER)return globalThis.SSR_HOSTNAME||"";const e=window.location.href;return e.endsWith(".html")?dirname(e):e})()):dirname(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,resolveUrl(t,r)),description:e.description||""});var r}))}export const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);export function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideReplay":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!0,"x-badges":!0}||e.startsWith("x-parsed-md-")}export function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}export function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}export function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}
|
|
1
|
+
import{dirname}from"path";import UrlTemplate from"url-template";import{IS_BROWSER}from"@redocly/theme";import{deleteEmptyArrayItem,isArrayOfObjects,isNumeric,removeQueryStringAndHash,resolveUrl,sanitizeItemId,normalizeText,getValueFromMdParsedExtension}from"./helpers";import{DEFAULT_TAG_SLUG,MediaTypes}from"../constants";import{JsonPointer}from"./JsonPointer";import{joinWithSeparator}from"../services";function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}export function isStatusCode(e){return"default"===e||isNumeric(e)||isWildcardStatusCode(e)}export function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};export function isOperationName(e){return e in operationNames}export function getOperationName(e){const{operationId:r,pathName:t}=e,i=normalizeText(getValueFromMdParsedExtension(e,"description"));return normalizeText(getValueFromMdParsedExtension(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}export function getOperationId(e,r){var t;return(null==r?void 0:r.id)?joinWithSeparator(r.id,sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer))).toLowerCase():(null===(t=e.tags)||void 0===t?void 0:t.length)?sanitizeItemId(e.operationId?e.operationId:pointerToId(e.pointer)):sanitizeItemId(e.operationId?joinWithSeparator(DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};export function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}export function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(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}export function isMultipartFormData(e){return e===MediaTypes.MULTIPART}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return UrlTemplate.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=UrlTemplate.parse(`{${i}${t}}`);return 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)||"object"==typeof n?t?serializeFormValue(e,t,n):delimitedEncodeField(i,e,"%20"):(console.warn("The style spaceDelimited is applicable to arrays or objects"),"");case"pipeDelimited":return Array.isArray(n)||"object"==typeof n?t?serializeFormValue(e,t,n):delimitedEncodeField(i,e,"|"):(console.warn("The style pipeDelimited is applicable to arrays or objects"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return isArrayOfObjects(i)&&(i=deleteEmptyArrayItem(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}export function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}export function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:o}=e;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,o)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}export function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;export function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}export function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}export function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,o="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,a="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${o?"( ":"[ "}${i} .. ${n}${a?" )":" ]"}`:void 0!==n?`${a?"< ":"<= "}${n}`:void 0!==i?`${o?"> ":">= "}${i}`:void 0}export function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint(1===e.minProperties&&1===e.maxProperties?"property":"properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const o=humanizeMultipleOfConstraint(e.multipleOf);void 0!==o&&r.push(o);const a=humanizeNumberRange(e);return void 0!==a&&r.push(a),e.uniqueItems&&r.push("unique"),r}export function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}export function sortByDeprecated(e){return e.sort(((e,r)=>Number(e.deprecated)-Number(r.deprecated)))}export function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const o={};t.forEach((r=>{({resolved:r}=e.deref(r)),o[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!o[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer.join(n,["parameters",String(r)])})))]}export function normalizeServers(e,r){const t=void 0===e?removeQueryStringAndHash((()=>{if(!IS_BROWSER)return globalThis.SSR_HOSTNAME||"";const e=window.location.href;return e.endsWith(".html")?dirname(e):e})()):dirname(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,resolveUrl(t,r)),description:e.description||""});var r}))}export const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);export function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideReplay":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!0,"x-badges":!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.
|
|
3
|
+
"version": "3.4.0-rc.11",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"openapi-docs": "bin.js"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@redocly/theme": "
|
|
19
|
+
"@redocly/theme": "0.41.0-rc.11",
|
|
20
20
|
"core-js": "^3.1.4",
|
|
21
21
|
"react": "^18.0.0",
|
|
22
22
|
"react-dom": "^18.0.0",
|
|
@@ -24,16 +24,16 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@markdoc/markdoc": "0.4.0",
|
|
27
|
-
"@redocly/openapi-core": "1.
|
|
27
|
+
"@redocly/openapi-core": "1.22.1",
|
|
28
28
|
"deepmerge": "^4.2.2",
|
|
29
|
-
"dompurify": "2.
|
|
29
|
+
"dompurify": "^2.0.12",
|
|
30
30
|
"fast-deep-equal": "^3.1.3",
|
|
31
31
|
"jotai": "^2.4.2",
|
|
32
32
|
"json-pointer": "^0.6.2",
|
|
33
33
|
"lunr": "^2.3.8",
|
|
34
34
|
"openapi-sampler": "^1.5.1",
|
|
35
35
|
"path-browserify": "^1.0.1",
|
|
36
|
-
"prismjs": "1.
|
|
36
|
+
"prismjs": "^1.22.0",
|
|
37
37
|
"react-router-dom": "^6.21.1",
|
|
38
38
|
"slugify": "^1.4.4",
|
|
39
39
|
"stickyfill": "^1.1.1",
|
|
@@ -41,12 +41,11 @@
|
|
|
41
41
|
"styled-components": "^4.1.1 || ^5.3.11",
|
|
42
42
|
"swagger2openapi": "^7.0.8",
|
|
43
43
|
"tslib": "^2.2.0",
|
|
44
|
-
"jstoxml": "^5.0.2",
|
|
45
44
|
"url": "~0.11.0",
|
|
46
45
|
"url-template": "^2.0.8",
|
|
47
46
|
"util": "~0.12.5",
|
|
48
|
-
"@redocly/replay": "0.5.
|
|
49
|
-
"@redocly/config": "0.
|
|
47
|
+
"@redocly/replay": "0.5.8-rc.11",
|
|
48
|
+
"@redocly/config": "0.11.0-rc.4"
|
|
50
49
|
},
|
|
51
50
|
"devDependencies": {
|
|
52
51
|
"@testing-library/jest-dom": "6.1.5",
|
|
@@ -62,7 +61,7 @@
|
|
|
62
61
|
"@types/react": "18.2.79",
|
|
63
62
|
"@types/react-dom": "18.2.25",
|
|
64
63
|
"@types/styled-components": "5.1.34",
|
|
65
|
-
"@types/webpack": "
|
|
64
|
+
"@types/webpack": "4.41.38",
|
|
66
65
|
"@types/webpack-env": "1.18.5",
|
|
67
66
|
"compare-versions": "5.0.3",
|
|
68
67
|
"core-js": "3.29.1",
|
|
@@ -90,10 +89,10 @@
|
|
|
90
89
|
"typescript": "5.2.2",
|
|
91
90
|
"unfetch": "4.2.0",
|
|
92
91
|
"url-polyfill": "1.1.12",
|
|
93
|
-
"webpack": "5.
|
|
92
|
+
"webpack": "5.91.0",
|
|
94
93
|
"webpack-cli": "5.1.4",
|
|
95
|
-
"webpack-dev-server": "
|
|
96
|
-
"@redocly/theme": "0.
|
|
94
|
+
"webpack-dev-server": "4.15.2",
|
|
95
|
+
"@redocly/theme": "0.41.0-rc.11"
|
|
97
96
|
},
|
|
98
97
|
"scripts": {
|
|
99
98
|
"start": "webpack serve --mode=development --hot",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { TFunction } from '@redocly/theme';
|
|
3
|
-
import type { OperationsNavigationProps } from './types';
|
|
4
|
-
type OperationNavigationItemsProps = OperationsNavigationProps & {
|
|
5
|
-
title: string;
|
|
6
|
-
onClick: (link: string) => void;
|
|
7
|
-
translate: TFunction;
|
|
8
|
-
};
|
|
9
|
-
export declare const OperationNavigationItems: import("react").NamedExoticComponent<OperationNavigationItemsProps>;
|
|
10
|
-
export {};
|