@redocly/reference-docs 2.44.0 → 2.45.0
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/bin/cli/commands/redocly-docs-cli.min.js +4 -4
- package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
- package/dist/console.redocly-reference-docs.min.js +39 -39
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-reference-docs.min.js +351 -351
- package/lib/components/console/AuthPanel.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib/redoc-lib/src/components/RequestSamples/OperationSamples.d.ts +9 -0
- package/lib/redoc-lib/src/components/RequestSamples/OperationSamples.js +2 -0
- package/lib/redoc-lib/src/services/models/Operation.d.ts +4 -1
- package/lib/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib/redoc-lib/src/types/open-api.d.ts +6 -0
- package/lib-browser/components/console/AuthPanel.js +1 -1
- package/lib-browser/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib-browser/redoc-lib/src/components/RequestSamples/OperationSamples.d.ts +9 -0
- package/lib-browser/redoc-lib/src/components/RequestSamples/OperationSamples.js +2 -0
- package/lib-browser/redoc-lib/src/services/models/Operation.d.ts +4 -1
- package/lib-browser/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib-browser/redoc-lib/src/types/open-api.d.ts +6 -0
- package/lib-esm/components/console/AuthPanel.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/CodeSample.js +1 -1
- package/lib-esm/redoc-lib/src/components/RequestSamples/OperationSamples.d.ts +9 -0
- package/lib-esm/redoc-lib/src/components/RequestSamples/OperationSamples.js +2 -0
- package/lib-esm/redoc-lib/src/services/models/Operation.d.ts +4 -1
- package/lib-esm/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib-esm/redoc-lib/src/types/open-api.d.ts +6 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthPanel=exports.requiredValidator=void 0;var tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),utils_1=require("../../utils"),TextField_1=require("../common/TextField"),form_1=require("../common/form"),Labels_1=require("../../redoc-lib/src/services/Labels"),Dropdown_1=require("../common/Dropdown"),OpenIDConnect_1=require("./OpenIDConnect"),OAuth2Flow_1=require("./OAuth2Flow"),OAuth2TokenInput_1=(0,tslib_1.__importDefault)(require("./OAuth2TokenInput"));function requiredValidator(e){if(!e)return"Field is required"}exports.requiredValidator=requiredValidator;var getCookie=function(e){var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthPanel=exports.requiredValidator=void 0;var tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),utils_1=require("../../utils"),TextField_1=require("../common/TextField"),form_1=require("../common/form"),Labels_1=require("../../redoc-lib/src/services/Labels"),Dropdown_1=require("../common/Dropdown"),OpenIDConnect_1=require("./OpenIDConnect"),OAuth2Flow_1=require("./OAuth2Flow"),OAuth2TokenInput_1=(0,tslib_1.__importDefault)(require("./OAuth2TokenInput"));function requiredValidator(e){if(!e)return"Field is required"}exports.requiredValidator=requiredValidator;var getCookie=function(e){var i=document.cookie.match("\\b"+e+"=([^;]*)\\b");return i?i[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(i,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(i,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i.setState({activeScheme:e.idx}),(0,utils_1.toSessionStorage)("securityRequirementName",e.value)}}),i}return(0,tslib_1.__extends)(i,e),Object.defineProperty(i,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var i=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),t=(0,utils_1.fromSessionStorage)("securityRequirementName"),r=i.findIndex((function(e){return e===t}));return{activeScheme:r<0?0:r}}}),Object.defineProperty(i.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,i=this.props.securityDefaults,t=this.state.activeScheme,r=this.props.operation.security,o=r.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).filter(Boolean).map((function(e,i){return{value:e,idx:i}}));return 0===o.length?(0,jsx_runtime_1.jsx)(OpenIDConnect_1.Error,{message:"Cannot find security schema in the definition"},void 0):(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(form_1.FormWrapper,{children:[o.length>1&&(0,jsx_runtime_1.jsxs)(form_1.FormControl,{children:[(0,jsx_runtime_1.jsx)(form_1.FormLabel,{children:" Security scheme: "},void 0),(0,jsx_runtime_1.jsx)(Dropdown_1.Dropdown,{variant:"dark",fullWidth:!0,options:o,value:o[t].value,onChange:this.handleSchemeChange},void 0)]},void 0)||null,r[t].schemes.map((function(t){var r,o,n,s,l,a,u,d=(0,utils_1.escapeFormId)(t.id);if("apiKey"===t.type){var _=(0,utils_1.getSecurityDetailsOptions)(d,""),m={field:"auth."+d,fullWidth:!0,initialValue:fromCookie(t)||(0,utils_1.fromSessionStorage)("auth."+d)||(null==i?void 0:i[d]),initValue:fromCookie(t)||(0,utils_1.fromSessionStorage)("auth."+d)||(null==i?void 0:i[d]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return(0,jsx_runtime_1.jsxs)(form_1.FormControl,{children:[(0,jsx_runtime_1.jsxs)(form_1.FormLabel,{children:[" ",t.name,": "]},void 0),_?(0,jsx_runtime_1.jsx)(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:_}),void 0):(0,jsx_runtime_1.jsx)(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{type:"password","data-cy":"apiKey-auth-password"}),void 0)]},d)}if("http"===t.type){if("basic"===t.scheme){var p=(0,utils_1.getSecurityDetailsOptions)(d,"username");m={field:"auth."+d+".username",fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+d+".username")||(null===(r=null==i?void 0:i[d])||void 0===r?void 0:r.username),initValue:(0,utils_1.fromSessionStorage)("auth."+d+".username")||(null===(o=null==i?void 0:i[d])||void 0===o?void 0:o.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return(0,jsx_runtime_1.jsxs)(react_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(form_1.FormControl,{children:[(0,jsx_runtime_1.jsxs)(form_1.FormLabel,{children:[" ",(0,Labels_1.l)("tryItAuthBasicUsername"),": "]},void 0),p?(0,jsx_runtime_1.jsx)(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:p}),void 0):(0,jsx_runtime_1.jsx)(TextField_1.FormTextField,(0,tslib_1.__assign)({},m),void 0)]},void 0),(0,jsx_runtime_1.jsxs)(form_1.FormControl,{children:[(0,jsx_runtime_1.jsxs)(form_1.FormLabel,{children:[" ",(0,Labels_1.l)("tryItAuthBasicPassword"),": "]},void 0),(0,jsx_runtime_1.jsx)(TextField_1.FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:"auth."+d+".password",initialValue:(0,utils_1.fromSessionStorage)("auth."+d+".password")||(null===(n=null==i?void 0:i[d])||void 0===n?void 0:n.password)||"",validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},d)}if("bearer"===t.scheme){var c=(0,utils_1.getSecurityDetailsOptions)(d,"");m={field:"auth."+d,fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)("auth."+d)||(null==i?void 0:i[d]),initValue:(0,utils_1.fromSessionStorage)("auth."+d)||(null==i?void 0:i[d]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return(0,jsx_runtime_1.jsx)(react_1.Fragment,{children:(0,jsx_runtime_1.jsxs)(form_1.FormControl,{children:[(0,jsx_runtime_1.jsx)(form_1.FormLabel,{children:" Bearer Token: "},void 0),c?(0,jsx_runtime_1.jsx)(TextField_1.FormDropdown,(0,tslib_1.__assign)({},m,{options:c}),void 0):(0,jsx_runtime_1.jsx)(TextField_1.FormTextField,(0,tslib_1.__assign)({},m,{type:"password",placeholder:"(without 'Bearer')"}),void 0)]},void 0)},d)}}else{if("oauth2"===t.type&&t.flows&&t.flows.clientCredentials)return(0,jsx_runtime_1.jsx)(OAuth2TokenInput_1.default,{flow:(0,tslib_1.__assign)((0,tslib_1.__assign)({},t.flows.clientCredentials),{"x-tokenEndpointAuthMethod":t["x-tokenEndpointAuthMethod"]}),server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:d,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.clientCredentials["x-defaultClientId"]||t["x-defaultClientId"],defaultValues:null==i?void 0:i[d]},d);if("oauth2"===t.type&&t.flows&&t.flows.implicit)return(0,jsx_runtime_1.jsx)(OAuth2Flow_1.OAuth2Flow,{authorizationUrl:t.flows.implicit.authorizationUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(l=null===(s=null==t?void 0:t.flows)||void 0===s?void 0:s.implicit)||void 0===l?void 0:l.scopes)||{}),server:e.props.activeServer,id:d,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.implicit["x-defaultClientId"]||t["x-defaultClientId"],flow:"implicit",defaultValues:null==i?void 0:i[d]},d);if("oauth2"===t.type&&t.flows&&t.flows.authorizationCode)return(0,jsx_runtime_1.jsx)(OAuth2Flow_1.OAuth2Flow,{authorizationUrl:t.flows.authorizationCode.authorizationUrl,tokenUrl:t.flows.authorizationCode.tokenUrl,authCorsProxyUrl:e.props.authCorsProxyUrl,scopes:Object.keys((null===(a=t.flows.authorizationCode)||void 0===a?void 0:a.scopes)||{}),server:e.props.activeServer,id:d,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.authorizationCode["x-defaultClientId"]||t["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:t.flows.authorizationCode["x-tokenEndpointAuthMethod"]||t["x-tokenEndpointAuthMethod"],usePkce:t.flows.authorizationCode["x-usePkce"],defaultValues:null==i?void 0:i[d]},d);if("oauth2"===t.type){var h=(0,utils_1.fromSessionStorage)("auth."+d+".token")||JSON.stringify(null===(u=null==i?void 0:i[d])||void 0===u?void 0:u.token);return h=h?JSON.parse(h):{},(0,jsx_runtime_1.jsxs)(react_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(form_1.FormControl,{children:[(0,jsx_runtime_1.jsx)(form_1.FormLabel,{children:" Access Token Type: "},void 0),(0,jsx_runtime_1.jsx)(TextField_1.FormTextField,{fullWidth:!0,field:"auth."+d+".token.token_type",initialValue:h.token_type||"Bearer"},void 0)]},void 0),(0,jsx_runtime_1.jsxs)(form_1.FormControl,{children:[(0,jsx_runtime_1.jsx)(form_1.FormLabel,{children:" Access Token: "},void 0),(0,jsx_runtime_1.jsx)(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:"auth."+d+".token.access_token",validate:requiredValidator,initialValue:h.access_token,validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},d)}if("openIdConnect"===t.type)return(0,jsx_runtime_1.jsx)(OpenIDConnect_1.OpenIDConnect,{server:e.props.activeServer,authCorsProxyUrl:e.props.authCorsProxyUrl,id:d,form:e.props.form,formApi:e.props.formApi,scheme:t,clientId:t["x-defaultClientId"],defaultValues:null==i?void 0:i[d]},d);if("none"===t.type)return(0,jsx_runtime_1.jsx)("span",{children:"None"},d)}}))]},void 0),(0,jsx_runtime_1.jsxs)("small",{children:[(0,jsx_runtime_1.jsx)("strong",{children:"Note"},void 0),": Your credentials will be saved until the end of the browser session"]},void 0)]},void 0)}}),i}(react_1.Component);exports.AuthPanel=AuthPanel;
|
|
2
2
|
//# sourceMappingURL=AuthPanel.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodeSample=void 0;var tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),mobx_react_1=require("mobx-react"),DropdownOrLabel_1=require("../DropdownOrLabel/DropdownOrLabel"),MediaTypesSwitch_1=require("../MediaTypeSwitch/MediaTypesSwitch"),SourceCode_1=require("../SourceCode/SourceCode"),shared_1=require("../../../../components/shared"),Dropdown_1=require("../../../../components/common/Dropdown"),PayloadSamples_1=require("../../../src/components/PayloadSamples"),Samples_1=require("../../../../components/Samples");exports.CodeSample=(0,mobx_react_1.observer)((function(e){var r=e.onlyDefaultSample,o=e.onlyDefaultMimeType,a=e.content,n=e.onCopyClick,t=(0,tslib_1.__rest)(e,["onlyDefaultSample","onlyDefaultMimeType","content","onCopyClick"]),i=(0,react_1.useCallback)((function(e){var r,n,t,i=o&&(null===(r=e.operation)||void 0===r?void 0:r.defaultMimeType);return(null!==(t=null===(n=null==a?void 0:a.mediaTypes)||void 0===n?void 0:n.length)&&void 0!==t?t:0)>1&&!i?(0,jsx_runtime_1.jsx)(PayloadSamples_1.DropdownWrapper,{children:(0,jsx_runtime_1.jsx)(DropdownOrLabel_1.DropdownOrLabel,(0,tslib_1.__assign)({Label:shared_1.MimeLabel,Dropdown:Dropdown_1.Dropdown,variant:"dark",fullWidth:!0},e),void 0)},void 0):null}),[a,o]),l=function(e){return t.source?(0,jsx_runtime_1.jsx)(SourceCode_1.SourceCodeWithText,{lang:t.lang,source:t.source,onCopyClick:n},void 0):(0,jsx_runtime_1.jsx)(SourceCode_1.SourceCodeWithText,{lang:t.lang,externalSource:{sample:t.externalSample,exampleName:e,operation:t.operation,pathParams:t.pathParams,properties:t.properties},onCopyClick:n},void 0)};if(void 0===a||null!=t.source)return l();var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CodeSample=void 0;var tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),mobx_react_1=require("mobx-react"),DropdownOrLabel_1=require("../DropdownOrLabel/DropdownOrLabel"),MediaTypesSwitch_1=require("../MediaTypeSwitch/MediaTypesSwitch"),SourceCode_1=require("../SourceCode/SourceCode"),shared_1=require("../../../../components/shared"),Dropdown_1=require("../../../../components/common/Dropdown"),PayloadSamples_1=require("../../../src/components/PayloadSamples"),Samples_1=require("../../../../components/Samples"),OperationSamples_1=require("./OperationSamples");exports.CodeSample=(0,mobx_react_1.observer)((function(e){var r=e.onlyDefaultSample,o=e.onlyDefaultMimeType,a=e.content,n=e.onCopyClick,t=(0,tslib_1.__rest)(e,["onlyDefaultSample","onlyDefaultMimeType","content","onCopyClick"]),i=(0,react_1.useCallback)((function(e){var r,n,t,i=o&&(null===(r=e.operation)||void 0===r?void 0:r.defaultMimeType);return(null!==(t=null===(n=null==a?void 0:a.mediaTypes)||void 0===n?void 0:n.length)&&void 0!==t?t:0)>1&&!i?(0,jsx_runtime_1.jsx)(PayloadSamples_1.DropdownWrapper,{children:(0,jsx_runtime_1.jsx)(DropdownOrLabel_1.DropdownOrLabel,(0,tslib_1.__assign)({Label:shared_1.MimeLabel,Dropdown:Dropdown_1.Dropdown,variant:"dark",fullWidth:!0},e),void 0)},void 0):null}),[a,o]),l=(0,react_1.useCallback)((function(e){return t.source?(0,jsx_runtime_1.jsx)(SourceCode_1.SourceCodeWithText,{lang:t.lang,source:t.source,onCopyClick:n},void 0):(0,jsx_runtime_1.jsx)(SourceCode_1.SourceCodeWithText,{lang:t.lang,externalSource:{sample:t.externalSample,exampleName:e,operation:t.operation,pathParams:t.pathParams,properties:t.properties},onCopyClick:n},void 0)}),[n,t.externalSample,t.lang,t.operation,t.pathParams,t.properties,t.source]);if(void 0===a||null!=t.source)return t.operation.examples?(0,jsx_runtime_1.jsx)(OperationSamples_1.OperationSamples,{operation:t.operation,renderSample:l,lang:t.lang},void 0):l();var p=function(e){return a.activateExampleName(e)};return(0,jsx_runtime_1.jsx)(MediaTypesSwitch_1.MediaTypesSwitch,(0,tslib_1.__assign)({content:a,renderDropdown:i},{children:function(e){var o=e.examples||{},a=Object.keys(o),n=(0,Samples_1.useExampleKey)(e.operation,o),t=n.exampleKey,i=n.defaultExampleName;return a.length&&1!==a.length?i&&r?l(t):(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Samples_1.ExampleSwitch,{examples:o,exampleKey:t,onChange:p},void 0),l(t)]},void 0):l()}}),void 0)}));
|
|
2
2
|
//# sourceMappingURL=CodeSample.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { OperationModel } from '../..';
|
|
3
|
+
declare type OperationSamplesProps = {
|
|
4
|
+
operation: OperationModel;
|
|
5
|
+
renderSample: (exampleName?: string) => JSX.Element;
|
|
6
|
+
lang: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const OperationSamples: import("react").NamedExoticComponent<OperationSamplesProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationSamples=void 0;var jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Samples_1=require("../../../../components/Samples");function OperationSamplesComponent(e){var r=e.operation,t=e.renderSample,n=e.lang,a=(0,react_1.useMemo)((function(){var e=Object.entries((null==r?void 0:r.examples)||{}).filter((function(e){e[0];return e[1]["x-codeSamples"].some((function(e){return e.lang===n}))}));return Object.fromEntries(e)}),[n,r.examples]),s=(0,react_1.useState)(Object.keys(a)[0]),o=s[0],i=s[1];return Object.keys(a).length<=1?t():(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Samples_1.ExampleSwitch,{examples:a,exampleKey:o,onChange:i},void 0),t(o)]},void 0)}exports.OperationSamples=(0,react_1.memo)(OperationSamplesComponent);
|
|
2
|
+
//# sourceMappingURL=OperationSamples.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IMenuItem, ContentItemModel, ExtendedOpenAPIOperation, Unstable_ExternalCodeSample } from '../types';
|
|
2
|
-
import type { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample, Server } from '../../types';
|
|
2
|
+
import type { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample, Referenced, Server, OpenAPIExample } from '../../types';
|
|
3
3
|
import type { OpenAPIParser } from '../OpenAPIParser';
|
|
4
4
|
import type { RedocProNormalizedOptions } from '../../../../services';
|
|
5
5
|
import type { MediaContentModel } from './MediaContent';
|
|
@@ -58,6 +58,9 @@ export declare class OperationModel implements IMenuItem {
|
|
|
58
58
|
isCallback: boolean;
|
|
59
59
|
isWebhook: boolean;
|
|
60
60
|
isEvent: boolean;
|
|
61
|
+
examples?: {
|
|
62
|
+
[media: string]: Referenced<OpenAPIExample>;
|
|
63
|
+
};
|
|
61
64
|
constructor(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: RedocProNormalizedOptions, isCallback?: boolean);
|
|
62
65
|
/**
|
|
63
66
|
* set operation as active (used by side menu)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationModel=exports.isPayloadSample=void 0;var tslib_1=require("tslib"),mobx_1=require("mobx"),utils_1=require("../../utils"),generator_1=require("../../../../services/code-samples/generator"),utils_2=require("../../../../components/console/utils"),Callback_1=require("./Callback"),Field_1=require("./Field"),RequestBody_1=require("./RequestBody"),Response_1=require("./Response"),SecurityRequirement_1=require("./SecurityRequirement");function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}exports.isPayloadSample=isPayloadSample;var isCodeSamplesWarningPrinted=!1,OperationModel=function(){function e(e,t,i,r,o){var a,n;void 0===o&&(o=!1),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(0,mobx_1.makeObservable)(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=(0,utils_1.getOperationSummary)(t),this.defaultExampleName=t.defaultSampleName;var l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,s=(l||[])[0],u=Object.keys((null==s?void 0:s.examples)||[])[0];this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||u),this.defaultMimeType=t.defaultMimeType;var p=null==l?void 0:l.find((function(e){return e.name===t.defaultMimeType}));if(this.activeMimeName=(null==p?void 0:p.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((function(t){return new SecurityRequirement_1.SecurityRequirementModel(t,e)})),this.servers=(0,utils_1.normalizeServers)("",t.servers||t.pathServers||[]);else{this.id=(0,utils_1.sanitizeItemId)(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((function(t){return new SecurityRequirement_1.SecurityRequirementModel(t,e)}));var b=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],r.mockServer);this.servers=(0,utils_1.normalizeServers)(e.definitionUrl,b)}r.showExtensions&&(this.extensions=(0,utils_1.extractExtensions)(t,r.showExtensions)),this.activeServer=(0,utils_2.getInitialServerWithVariables)(this.servers)}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),Object.defineProperty(e.prototype,"toggle",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!this.expanded}}),Object.defineProperty(e.prototype,"activateMimeName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeMimeName=e}}),Object.defineProperty(e.prototype,"activateExampleName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeExampleName=e}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){}}),Object.defineProperty(e.prototype,"requestBody",{get:function(){return this.operationDefinition.requestBody&&new RequestBody_1.RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"payload",{get:function(){var e,t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasSamples",{get:function(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"definitionSamples",{get:function(){var e,t,i,r,o=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!o&&this.operationDefinition.requestBody){var a=this.parser.deref(this.operationDefinition.requestBody).resolved,n=Object.keys((null==a?void 0:a.content)||{})[0],l=(null===(e=a["x-examples"])||void 0===e?void 0:e[n])||(null===(i=null===(t=null==a?void 0:a.content)||void 0===t?void 0:t[n])||void 0===i?void 0:i.examples)||{},s=Object.keys(l)[0];if(null===(r=l[s])||void 0===r?void 0:r["x-codeSamples"])return l[s]["x-codeSamples"].map((function(e,t){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{source:void 0,get:function(e){var i,r,o,a=e.exampleName;return null!==(r=null===(i=l[a])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==r?r:null===(o=l[s])||void 0===o?void 0:o["x-codeSamples"][t].source}})}))}return o||[]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"allCodeSamples",{get:function(){var e,t=this.options,i=t.payloadSampleIdx,r=t.hideRequestPayloadSample,o=[];if(!this.isWebhook){var a=this.options.generateCodeSamples||{},n=new Set(this.definitionSamples.map((function(e){return e.lang.toLowerCase()}))),l=(null===(e=a.languages)||void 0===e?void 0:e.filter((function(e){var t=e.lang;return!n.has(t.toLowerCase())})))||[];o=this.generateCodeSamples(l,a)}var s=this.definitionSamples.concat(o),u=Math.min(s.length,i);return this.payload&&!r&&s.splice(u,0,this.payload),s},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameters",{get:function(){var e=this,t=(0,utils_1.mergeParams)(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((function(t){return new Field_1.FieldModel(e.parser,t,e.pointer,e.options,void 0,{operation:e,type:"request"})}));return this.options.sortPropsAlphabetically?(0,utils_1.sortByField)(t,"name"):this.options.requiredPropsFirst?(0,utils_1.sortByRequired)(t):t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responses",{get:function(){var e=this,t=!1;return Object.keys(this.operationDefinition.responses||[]).filter((function(e){return"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(t=!0),(0,utils_1.isStatusCode)(e))})).map((function(i){return new Response_1.ResponseModel({parser:e.parser,code:i,defaultAsError:t,infoOrRef:e.operationDefinition.responses[i],options:e.options,isEvent:e.isEvent,operation:e})}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){var e=this;return Object.keys(this.operationDefinition.callbacks||[]).map((function(t){var i;return new Callback_1.CallbackModel(e.parser,t,null===(i=e.operationDefinition.callbacks)||void 0===i?void 0:i[t],e.pointer,e.options)}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hideTryItPanel",{get:function(){return!0===this.operationDefinition["x-hideTryItPanel"]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"setActiveServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeServer=e}}),Object.defineProperty(e.prototype,"setRequestValues",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.requestValues=e}}),Object.defineProperty(e.prototype,"mergeInMockServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(!t)return e;var i={url:t.url,description:t.description};switch(t.position){case"first":return(0,tslib_1.__spreadArray)([i],e,!0);case"last":return(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],e,!0),[i],!1);case"replace":return[i];default:return e}}}),Object.defineProperty(e.prototype,"generateCodeSamples",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this,r=t.skipOptionalParameters,o=t.withOAuth2Call;return e.map((function(e){var t=e.lang,a=e.label,n=e.options;return{lang:t,label:a,get:function(e){return(0,generator_1.getCodeSample)((0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{lang:t,options:(0,tslib_1.__assign)((0,tslib_1.__assign)({},n),{skipOptionalParameters:r,withOAuth2Call:o,spec:i.parser.definition,generatedPayloadSamplesMaxDepth:i.options.generatedPayloadSamplesMaxDepth})}))}}}))}}),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"ready",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"active",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"expanded",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeMimeName",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeExampleName",void 0),(0,tslib_1.__decorate)([mobx_1.observable.ref],e.prototype,"activeServer",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"requestValues",void 0),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activate",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"deactivate",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"toggle",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateMimeName",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateExampleName",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"requestBody",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"payload",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"hasSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"definitionSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"allCodeSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"parameters",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"responses",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"callbacks",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"hideTryItPanel",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"setActiveServer",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"setRequestValues",null),e}();exports.OperationModel=OperationModel;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationModel=exports.isPayloadSample=void 0;var tslib_1=require("tslib"),mobx_1=require("mobx"),utils_1=require("../../utils"),generator_1=require("../../../../services/code-samples/generator"),utils_2=require("../../../../components/console/utils"),Callback_1=require("./Callback"),Field_1=require("./Field"),RequestBody_1=require("./RequestBody"),Response_1=require("./Response"),SecurityRequirement_1=require("./SecurityRequirement");function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}exports.isPayloadSample=isPayloadSample;var isCodeSamplesWarningPrinted=!1,OperationModel=function(){function e(e,t,i,r,o){var a,n;void 0===o&&(o=!1),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(0,mobx_1.makeObservable)(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=(0,utils_1.getOperationSummary)(t),this.defaultExampleName=t.defaultSampleName;var l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,s=(l||[])[0],u=Object.keys((null==s?void 0:s.examples)||[])[0];this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||u),this.defaultMimeType=t.defaultMimeType;var p=null==l?void 0:l.find((function(e){return e.name===t.defaultMimeType}));if(this.activeMimeName=(null==p?void 0:p.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((function(t){return new SecurityRequirement_1.SecurityRequirementModel(t,e)})),this.servers=(0,utils_1.normalizeServers)("",t.servers||t.pathServers||[]);else{this.id=(0,utils_1.sanitizeItemId)(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((function(t){return new SecurityRequirement_1.SecurityRequirementModel(t,e)}));var d=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],r.mockServer);this.servers=(0,utils_1.normalizeServers)(e.definitionUrl,d)}r.showExtensions&&(this.extensions=(0,utils_1.extractExtensions)(t,r.showExtensions)),this.activeServer=(0,utils_2.getInitialServerWithVariables)(this.servers);var b=this.operationDefinition["x-examples"];this.examples=b&&b[Object.keys(b)[0]]}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),Object.defineProperty(e.prototype,"toggle",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!this.expanded}}),Object.defineProperty(e.prototype,"activateMimeName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeMimeName=e}}),Object.defineProperty(e.prototype,"activateExampleName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeExampleName=e}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){}}),Object.defineProperty(e.prototype,"requestBody",{get:function(){return this.operationDefinition.requestBody&&new RequestBody_1.RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"payload",{get:function(){var e,t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasSamples",{get:function(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"definitionSamples",{get:function(){var e,t,i,r,o,a,n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){var l=this.parser.deref(this.operationDefinition.requestBody).resolved,s=Object.keys((null==l?void 0:l.content)||{})[0],u=(null===(e=l["x-examples"])||void 0===e?void 0:e[s])||(null===(i=null===(t=null==l?void 0:l.content)||void 0===t?void 0:t[s])||void 0===i?void 0:i.examples)||{},p=Object.keys(u)[0];if(null===(r=u[p])||void 0===r?void 0:r["x-codeSamples"])return u[p]["x-codeSamples"].map((function(e,t){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{source:void 0,get:function(e){var i,r,o,a=e.exampleName;return null!==(r=null===(i=u[a])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==r?r:null===(o=u[p])||void 0===o?void 0:o["x-codeSamples"][t].source}})}))}if(!n&&this.operationDefinition.parameters){s=Object.keys(this.operationDefinition["x-examples"]||{})[0];var d=(null===(o=this.operationDefinition["x-examples"])||void 0===o?void 0:o[s])||{},b=Object.keys(d)[0];if(null===(a=d[b])||void 0===a?void 0:a["x-codeSamples"])return d[b]["x-codeSamples"].map((function(e,t){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{source:void 0,get:function(e){var i,r,o,a=e.exampleName;return null!==(r=null===(i=d[a])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==r?r:null===(o=d[b])||void 0===o?void 0:o["x-codeSamples"][t].source}})}))}return n||[]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"allCodeSamples",{get:function(){var e,t=this.options,i=t.payloadSampleIdx,r=t.hideRequestPayloadSample,o=[];if(!this.isWebhook){var a=this.options.generateCodeSamples||{},n=new Set(this.definitionSamples.map((function(e){return e.lang.toLowerCase()}))),l=(null===(e=a.languages)||void 0===e?void 0:e.filter((function(e){var t=e.lang;return!n.has(t.toLowerCase())})))||[];o=this.generateCodeSamples(l,a)}var s=this.definitionSamples.concat(o),u=Math.min(s.length,i);return this.payload&&!r&&s.splice(u,0,this.payload),s},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameters",{get:function(){var e=this,t=(0,utils_1.mergeParams)(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((function(t){return new Field_1.FieldModel(e.parser,t,e.pointer,e.options,void 0,{operation:e,type:"request"})}));return this.options.sortPropsAlphabetically?(0,utils_1.sortByField)(t,"name"):this.options.requiredPropsFirst?(0,utils_1.sortByRequired)(t):t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responses",{get:function(){var e=this,t=!1;return Object.keys(this.operationDefinition.responses||[]).filter((function(e){return"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(t=!0),(0,utils_1.isStatusCode)(e))})).map((function(i){return new Response_1.ResponseModel({parser:e.parser,code:i,defaultAsError:t,infoOrRef:e.operationDefinition.responses[i],options:e.options,isEvent:e.isEvent,operation:e})}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){var e=this;return Object.keys(this.operationDefinition.callbacks||[]).map((function(t){var i;return new Callback_1.CallbackModel(e.parser,t,null===(i=e.operationDefinition.callbacks)||void 0===i?void 0:i[t],e.pointer,e.options)}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hideTryItPanel",{get:function(){return!0===this.operationDefinition["x-hideTryItPanel"]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"setActiveServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeServer=e}}),Object.defineProperty(e.prototype,"setRequestValues",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.requestValues=e}}),Object.defineProperty(e.prototype,"mergeInMockServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(!t)return e;var i={url:t.url,description:t.description};switch(t.position){case"first":return(0,tslib_1.__spreadArray)([i],e,!0);case"last":return(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],e,!0),[i],!1);case"replace":return[i];default:return e}}}),Object.defineProperty(e.prototype,"generateCodeSamples",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this,r=t.skipOptionalParameters,o=t.withOAuth2Call;return e.map((function(e){var t=e.lang,a=e.label,n=e.options;return{lang:t,label:a,get:function(e){return(0,generator_1.getCodeSample)((0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{lang:t,options:(0,tslib_1.__assign)((0,tslib_1.__assign)({},n),{skipOptionalParameters:r,withOAuth2Call:o,spec:i.parser.definition,generatedPayloadSamplesMaxDepth:i.options.generatedPayloadSamplesMaxDepth})}))}}}))}}),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"ready",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"active",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"expanded",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeMimeName",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeExampleName",void 0),(0,tslib_1.__decorate)([mobx_1.observable.ref],e.prototype,"activeServer",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"requestValues",void 0),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activate",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"deactivate",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"toggle",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateMimeName",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateExampleName",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"requestBody",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"payload",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"hasSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"definitionSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"allCodeSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"parameters",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"responses",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"callbacks",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"hideTryItPanel",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"setActiveServer",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"setRequestValues",null),e}();exports.OperationModel=OperationModel;
|
|
2
2
|
//# sourceMappingURL=Operation.js.map
|
|
@@ -81,6 +81,11 @@ export interface OpenAPIOperation {
|
|
|
81
81
|
servers?: OpenAPIServer[];
|
|
82
82
|
'x-codeSamples'?: OpenAPIXCodeSample[];
|
|
83
83
|
'x-code-samples'?: OpenAPIXCodeSample[];
|
|
84
|
+
'x-examples'?: {
|
|
85
|
+
[mime: string]: {
|
|
86
|
+
[name: string]: Referenced<OpenAPIExample>;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
84
89
|
}
|
|
85
90
|
export interface OpenAPIParameter {
|
|
86
91
|
name: string;
|
|
@@ -274,6 +279,7 @@ export interface OpenAPISecurityScheme {
|
|
|
274
279
|
scheme?: string;
|
|
275
280
|
bearerFormat?: string;
|
|
276
281
|
'x-defaultClientId'?: string;
|
|
282
|
+
'x-tokenEndpointAuthMethod'?: string;
|
|
277
283
|
flows: {
|
|
278
284
|
implicit?: {
|
|
279
285
|
refreshUrl?: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Component,Fragment}from"react";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";import{Dropdown}from"../common/Dropdown";import{OpenIDConnect,Error}from"./OpenIDConnect";import{OAuth2Flow}from"./OAuth2Flow";import OAuth2TokenInput from"./OAuth2TokenInput";export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=function(e){const o=document.cookie.match("\\b"+e+"=([^;]*)\\b");return o?o[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}export class AuthPanel extends Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(this,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({activeScheme:e.idx}),toSessionStorage("securityRequirementName",e.value)}})}static getDerivedStateFromProps(e){const o=e.operation.security.map((e=>e.schemes.map((e=>e.id)).join(" and "))),t=fromSessionStorage("securityRequirementName"),i=o.findIndex((e=>e===t));return{activeScheme:i<0?0:i}}render(){const{securityDefaults:e}=this.props,{activeScheme:o}=this.state,t=this.props.operation.security,i=t.map((e=>e.schemes.map((e=>e.id)).join(" and "))).filter(Boolean).map(((e,o)=>({value:e,idx:o})));return 0===i.length?_jsx(Error,{message:"Cannot find security schema in the definition"},void 0):_jsxs(_Fragment,{children:[_jsxs(FormWrapper,{children:[i.length>1&&_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Security scheme: "},void 0),_jsx(Dropdown,{variant:"dark",fullWidth:!0,options:i,value:i[o].value,onChange:this.handleSchemeChange},void 0)]},void 0)||null,t[o].schemes.map((o=>{var t,i,r,s,n,a,d;const u=escapeFormId(o.id);if("apiKey"===o.type){const t=getSecurityDetailsOptions(u,""),i={field:`auth.${u}`,fullWidth:!0,initialValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",o.name,": "]},void 0),t?_jsx(FormDropdown,Object.assign({},i,{options:t}),void 0):_jsx(FormTextField,Object.assign({},i,{type:"password","data-cy":"apiKey-auth-password"}),void 0)]},u)}if("http"===o.type){if("basic"===o.scheme){const o=getSecurityDetailsOptions(u,"username"),s={field:`auth.${u}.username`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}.username`)||(null===(t=null==e?void 0:e[u])||void 0===t?void 0:t.username),initValue:fromSessionStorage(`auth.${u}.username`)||(null===(i=null==e?void 0:e[u])||void 0===i?void 0:i.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicUsername"),": "]},void 0),o?_jsx(FormDropdown,Object.assign({},s,{options:o}),void 0):_jsx(FormTextField,Object.assign({},s),void 0)]},void 0),_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicPassword"),": "]},void 0),_jsx(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:`auth.${u}.password`,initialValue:fromSessionStorage(`auth.${u}.password`)||(null===(r=null==e?void 0:e[u])||void 0===r?void 0:r.password)||"",validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("bearer"===o.scheme){const o=getSecurityDetailsOptions(u,""),t={field:`auth.${u}`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsx(Fragment,{children:_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Bearer Token: "},void 0),o?_jsx(FormDropdown,Object.assign({},t,{options:o}),void 0):_jsx(FormTextField,Object.assign({},t,{type:"password",placeholder:"(without 'Bearer')"}),void 0)]},void 0)},u)}}else{if("oauth2"===o.type&&o.flows&&o.flows.clientCredentials)return _jsx(OAuth2TokenInput,{flow:o.flows.clientCredentials,server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.clientCredentials["x-defaultClientId"]||o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.implicit)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.implicit.authorizationUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(n=null===(s=null==o?void 0:o.flows)||void 0===s?void 0:s.implicit)||void 0===n?void 0:n.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.implicit["x-defaultClientId"]||o["x-defaultClientId"],flow:"implicit",defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.authorizationCode)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.authorizationCode.authorizationUrl,tokenUrl:o.flows.authorizationCode.tokenUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(a=o.flows.authorizationCode)||void 0===a?void 0:a.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.authorizationCode["x-defaultClientId"]||o["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:o.flows.authorizationCode["x-tokenEndpointAuthMethod"],usePkce:o.flows.authorizationCode["x-usePkce"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type){let o=fromSessionStorage(`auth.${u}.token`)||JSON.stringify(null===(d=null==e?void 0:e[u])||void 0===d?void 0:d.token);return o=o?JSON.parse(o):{},_jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token Type: "},void 0),_jsx(FormTextField,{fullWidth:!0,field:`auth.${u}.token.token_type`,initialValue:o.token_type||"Bearer"},void 0)]},void 0),_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token: "},void 0),_jsx(FormTextField,{type:"password",fullWidth:!0,field:`auth.${u}.token.access_token`,validate:requiredValidator,initialValue:o.access_token,validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("openIdConnect"===o.type)return _jsx(OpenIDConnect,{server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,scheme:o,clientId:o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("none"===o.type)return _jsx("span",{children:"None"},u)}}))]},void 0),_jsxs("small",{children:[_jsx("strong",{children:"Note"},void 0),": Your credentials will be saved until the end of the browser session"]},void 0)]},void 0)}}
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Component,Fragment}from"react";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";import{Dropdown}from"../common/Dropdown";import{OpenIDConnect,Error}from"./OpenIDConnect";import{OAuth2Flow}from"./OAuth2Flow";import OAuth2TokenInput from"./OAuth2TokenInput";export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=function(e){const o=document.cookie.match("\\b"+e+"=([^;]*)\\b");return o?o[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}export class AuthPanel extends Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(this,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({activeScheme:e.idx}),toSessionStorage("securityRequirementName",e.value)}})}static getDerivedStateFromProps(e){const o=e.operation.security.map((e=>e.schemes.map((e=>e.id)).join(" and "))),t=fromSessionStorage("securityRequirementName"),i=o.findIndex((e=>e===t));return{activeScheme:i<0?0:i}}render(){const{securityDefaults:e}=this.props,{activeScheme:o}=this.state,t=this.props.operation.security,i=t.map((e=>e.schemes.map((e=>e.id)).join(" and "))).filter(Boolean).map(((e,o)=>({value:e,idx:o})));return 0===i.length?_jsx(Error,{message:"Cannot find security schema in the definition"},void 0):_jsxs(_Fragment,{children:[_jsxs(FormWrapper,{children:[i.length>1&&_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Security scheme: "},void 0),_jsx(Dropdown,{variant:"dark",fullWidth:!0,options:i,value:i[o].value,onChange:this.handleSchemeChange},void 0)]},void 0)||null,t[o].schemes.map((o=>{var t,i,r,s,n,a,d;const u=escapeFormId(o.id);if("apiKey"===o.type){const t=getSecurityDetailsOptions(u,""),i={field:`auth.${u}`,fullWidth:!0,initialValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",o.name,": "]},void 0),t?_jsx(FormDropdown,Object.assign({},i,{options:t}),void 0):_jsx(FormTextField,Object.assign({},i,{type:"password","data-cy":"apiKey-auth-password"}),void 0)]},u)}if("http"===o.type){if("basic"===o.scheme){const o=getSecurityDetailsOptions(u,"username"),s={field:`auth.${u}.username`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}.username`)||(null===(t=null==e?void 0:e[u])||void 0===t?void 0:t.username),initValue:fromSessionStorage(`auth.${u}.username`)||(null===(i=null==e?void 0:e[u])||void 0===i?void 0:i.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicUsername"),": "]},void 0),o?_jsx(FormDropdown,Object.assign({},s,{options:o}),void 0):_jsx(FormTextField,Object.assign({},s),void 0)]},void 0),_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicPassword"),": "]},void 0),_jsx(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:`auth.${u}.password`,initialValue:fromSessionStorage(`auth.${u}.password`)||(null===(r=null==e?void 0:e[u])||void 0===r?void 0:r.password)||"",validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("bearer"===o.scheme){const o=getSecurityDetailsOptions(u,""),t={field:`auth.${u}`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsx(Fragment,{children:_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Bearer Token: "},void 0),o?_jsx(FormDropdown,Object.assign({},t,{options:o}),void 0):_jsx(FormTextField,Object.assign({},t,{type:"password",placeholder:"(without 'Bearer')"}),void 0)]},void 0)},u)}}else{if("oauth2"===o.type&&o.flows&&o.flows.clientCredentials)return _jsx(OAuth2TokenInput,{flow:Object.assign(Object.assign({},o.flows.clientCredentials),{"x-tokenEndpointAuthMethod":o["x-tokenEndpointAuthMethod"]}),server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.clientCredentials["x-defaultClientId"]||o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.implicit)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.implicit.authorizationUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(n=null===(s=null==o?void 0:o.flows)||void 0===s?void 0:s.implicit)||void 0===n?void 0:n.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.implicit["x-defaultClientId"]||o["x-defaultClientId"],flow:"implicit",defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.authorizationCode)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.authorizationCode.authorizationUrl,tokenUrl:o.flows.authorizationCode.tokenUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(a=o.flows.authorizationCode)||void 0===a?void 0:a.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.authorizationCode["x-defaultClientId"]||o["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:o.flows.authorizationCode["x-tokenEndpointAuthMethod"]||o["x-tokenEndpointAuthMethod"],usePkce:o.flows.authorizationCode["x-usePkce"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type){let o=fromSessionStorage(`auth.${u}.token`)||JSON.stringify(null===(d=null==e?void 0:e[u])||void 0===d?void 0:d.token);return o=o?JSON.parse(o):{},_jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token Type: "},void 0),_jsx(FormTextField,{fullWidth:!0,field:`auth.${u}.token.token_type`,initialValue:o.token_type||"Bearer"},void 0)]},void 0),_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token: "},void 0),_jsx(FormTextField,{type:"password",fullWidth:!0,field:`auth.${u}.token.access_token`,validate:requiredValidator,initialValue:o.access_token,validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("openIdConnect"===o.type)return _jsx(OpenIDConnect,{server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,scheme:o,clientId:o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("none"===o.type)return _jsx("span",{children:"None"},u)}}))]},void 0),_jsxs("small",{children:[_jsx("strong",{children:"Note"},void 0),": Your credentials will be saved until the end of the browser session"]},void 0)]},void 0)}}
|
|
2
2
|
//# sourceMappingURL=AuthPanel.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest}from"tslib";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{useCallback}from"react";import{observer}from"mobx-react";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{SourceCodeWithText}from"../SourceCode/SourceCode";import{MimeLabel}from"../../../../components/shared";import{Dropdown}from"../../../../components/common/Dropdown";import{DropdownWrapper}from"../../../src/components/PayloadSamples";import{ExampleSwitch,useExampleKey}from"../../../../components/Samples";export const CodeSample=observer((e=>{var{onlyDefaultSample:o,onlyDefaultMimeType:r,content:a,onCopyClick:t}=e,
|
|
1
|
+
import{__rest}from"tslib";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{useCallback}from"react";import{observer}from"mobx-react";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{SourceCodeWithText}from"../SourceCode/SourceCode";import{MimeLabel}from"../../../../components/shared";import{Dropdown}from"../../../../components/common/Dropdown";import{DropdownWrapper}from"../../../src/components/PayloadSamples";import{ExampleSwitch,useExampleKey}from"../../../../components/Samples";import{OperationSamples}from"./OperationSamples";export const CodeSample=observer((e=>{var{onlyDefaultSample:o,onlyDefaultMimeType:r,content:a,onCopyClick:t}=e,p=__rest(e,["onlyDefaultSample","onlyDefaultMimeType","content","onCopyClick"]);const n=useCallback((e=>{var o,t,p;const n=r&&(null===(o=e.operation)||void 0===o?void 0:o.defaultMimeType);return(null!==(p=null===(t=null==a?void 0:a.mediaTypes)||void 0===t?void 0:t.length)&&void 0!==p?p:0)>1&&!n?_jsx(DropdownWrapper,{children:_jsx(DropdownOrLabel,Object.assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e),void 0)},void 0):null}),[a,r]),l=useCallback((e=>p.source?_jsx(SourceCodeWithText,{lang:p.lang,source:p.source,onCopyClick:t},void 0):_jsx(SourceCodeWithText,{lang:p.lang,externalSource:{sample:p.externalSample,exampleName:e,operation:p.operation,pathParams:p.pathParams,properties:p.properties},onCopyClick:t},void 0)),[t,p.externalSample,p.lang,p.operation,p.pathParams,p.properties,p.source]);if(void 0===a||null!=p.source)return p.operation.examples?_jsx(OperationSamples,{operation:p.operation,renderSample:l,lang:p.lang},void 0):l();const i=e=>a.activateExampleName(e);return _jsx(MediaTypesSwitch,Object.assign({content:a,renderDropdown:n},{children:e=>{const r=e.examples||{},a=Object.keys(r),{exampleKey:t,defaultExampleName:p}=useExampleKey(e.operation,r);return a.length&&1!==a.length?p&&o?l(t):_jsxs(_Fragment,{children:[_jsx(ExampleSwitch,{examples:r,exampleKey:t,onChange:i},void 0),l(t)]},void 0):l()}}),void 0)}));
|
|
2
2
|
//# sourceMappingURL=CodeSample.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { OperationModel } from '../..';
|
|
3
|
+
declare type OperationSamplesProps = {
|
|
4
|
+
operation: OperationModel;
|
|
5
|
+
renderSample: (exampleName?: string) => JSX.Element;
|
|
6
|
+
lang: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const OperationSamples: import("react").NamedExoticComponent<OperationSamplesProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useMemo,useState}from"react";import{ExampleSwitch}from"../../../../components/Samples";function OperationSamplesComponent({operation:e,renderSample:t,lang:s}){const m=useMemo((()=>{const t=Object.entries((null==e?void 0:e.examples)||{}).filter((([e,t])=>t["x-codeSamples"].some((e=>e.lang===s))));return Object.fromEntries(t)}),[s,e.examples]),[o,n]=useState(Object.keys(m)[0]);return Object.keys(m).length<=1?t():_jsxs(_Fragment,{children:[_jsx(ExampleSwitch,{examples:m,exampleKey:o,onChange:n},void 0),t(o)]},void 0)}export const OperationSamples=memo(OperationSamplesComponent);
|
|
2
|
+
//# sourceMappingURL=OperationSamples.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IMenuItem, ContentItemModel, ExtendedOpenAPIOperation, Unstable_ExternalCodeSample } from '../types';
|
|
2
|
-
import type { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample, Server } from '../../types';
|
|
2
|
+
import type { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample, Referenced, Server, OpenAPIExample } from '../../types';
|
|
3
3
|
import type { OpenAPIParser } from '../OpenAPIParser';
|
|
4
4
|
import type { RedocProNormalizedOptions } from '../../../../services';
|
|
5
5
|
import type { MediaContentModel } from './MediaContent';
|
|
@@ -58,6 +58,9 @@ export declare class OperationModel implements IMenuItem {
|
|
|
58
58
|
isCallback: boolean;
|
|
59
59
|
isWebhook: boolean;
|
|
60
60
|
isEvent: boolean;
|
|
61
|
+
examples?: {
|
|
62
|
+
[media: string]: Referenced<OpenAPIExample>;
|
|
63
|
+
};
|
|
61
64
|
constructor(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: RedocProNormalizedOptions, isCallback?: boolean);
|
|
62
65
|
/**
|
|
63
66
|
* set operation as active (used by side menu)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers)}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){var e,t,i,o;const r=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!r&&this.operationDefinition.requestBody){const r=this.parser.deref(this.operationDefinition.requestBody).resolved,a=Object.keys((null==r?void 0:r.content)||{})[0],n=(null===(e=r["x-examples"])||void 0===e?void 0:e[a])||(null===(i=null===(t=null==r?void 0:r.content)||void 0===t?void 0:t[a])||void 0===i?void 0:i.examples)||{},l=Object.keys(n)[0];if(null===(o=n[l])||void 0===o?void 0:o["x-codeSamples"])return n[l]["x-codeSamples"].map(((e,t)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var i,o,r;return null!==(o=null===(i=n[e])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==o?o:null===(r=n[l])||void 0===r?void 0:r["x-codeSamples"][t].source}})))}return r||[]}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t){if(!t)return e;const i={url:t.url,description:t.description};switch(t.position){case"first":return[i,...e];case"last":return[...e,i];case"replace":return[i];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
1
|
+
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers);const c=this.operationDefinition["x-examples"];this.examples=c&&c[Object.keys(c)[0]]}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){var e,t,i,o,r,a;const n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){const r=this.parser.deref(this.operationDefinition.requestBody).resolved,a=Object.keys((null==r?void 0:r.content)||{})[0],n=(null===(e=r["x-examples"])||void 0===e?void 0:e[a])||(null===(i=null===(t=null==r?void 0:r.content)||void 0===t?void 0:t[a])||void 0===i?void 0:i.examples)||{},l=Object.keys(n)[0];if(null===(o=n[l])||void 0===o?void 0:o["x-codeSamples"])return n[l]["x-codeSamples"].map(((e,t)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var i,o,r;return null!==(o=null===(i=n[e])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==o?o:null===(r=n[l])||void 0===r?void 0:r["x-codeSamples"][t].source}})))}if(!n&&this.operationDefinition.parameters){const e=Object.keys(this.operationDefinition["x-examples"]||{})[0],t=(null===(r=this.operationDefinition["x-examples"])||void 0===r?void 0:r[e])||{},i=Object.keys(t)[0];if(null===(a=t[i])||void 0===a?void 0:a["x-codeSamples"])return t[i]["x-codeSamples"].map(((e,o)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var r,a,n;return null!==(a=null===(r=t[e])||void 0===r?void 0:r["x-codeSamples"][o].source)&&void 0!==a?a:null===(n=t[i])||void 0===n?void 0:n["x-codeSamples"][o].source}})))}return n||[]}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t){if(!t)return e;const i={url:t.url,description:t.description};switch(t.position){case"first":return[i,...e];case"last":return[...e,i];case"replace":return[i];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
2
2
|
//# sourceMappingURL=Operation.js.map
|
|
@@ -81,6 +81,11 @@ export interface OpenAPIOperation {
|
|
|
81
81
|
servers?: OpenAPIServer[];
|
|
82
82
|
'x-codeSamples'?: OpenAPIXCodeSample[];
|
|
83
83
|
'x-code-samples'?: OpenAPIXCodeSample[];
|
|
84
|
+
'x-examples'?: {
|
|
85
|
+
[mime: string]: {
|
|
86
|
+
[name: string]: Referenced<OpenAPIExample>;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
84
89
|
}
|
|
85
90
|
export interface OpenAPIParameter {
|
|
86
91
|
name: string;
|
|
@@ -274,6 +279,7 @@ export interface OpenAPISecurityScheme {
|
|
|
274
279
|
scheme?: string;
|
|
275
280
|
bearerFormat?: string;
|
|
276
281
|
'x-defaultClientId'?: string;
|
|
282
|
+
'x-tokenEndpointAuthMethod'?: string;
|
|
277
283
|
flows: {
|
|
278
284
|
implicit?: {
|
|
279
285
|
refreshUrl?: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Component,Fragment}from"react";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";import{Dropdown}from"../common/Dropdown";import{OpenIDConnect,Error}from"./OpenIDConnect";import{OAuth2Flow}from"./OAuth2Flow";import OAuth2TokenInput from"./OAuth2TokenInput";export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=function(e){const o=document.cookie.match("\\b"+e+"=([^;]*)\\b");return o?o[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}export class AuthPanel extends Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(this,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({activeScheme:e.idx}),toSessionStorage("securityRequirementName",e.value)}})}static getDerivedStateFromProps(e){const o=e.operation.security.map((e=>e.schemes.map((e=>e.id)).join(" and "))),t=fromSessionStorage("securityRequirementName"),i=o.findIndex((e=>e===t));return{activeScheme:i<0?0:i}}render(){const{securityDefaults:e}=this.props,{activeScheme:o}=this.state,t=this.props.operation.security,i=t.map((e=>e.schemes.map((e=>e.id)).join(" and "))).filter(Boolean).map(((e,o)=>({value:e,idx:o})));return 0===i.length?_jsx(Error,{message:"Cannot find security schema in the definition"},void 0):_jsxs(_Fragment,{children:[_jsxs(FormWrapper,{children:[i.length>1&&_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Security scheme: "},void 0),_jsx(Dropdown,{variant:"dark",fullWidth:!0,options:i,value:i[o].value,onChange:this.handleSchemeChange},void 0)]},void 0)||null,t[o].schemes.map((o=>{var t,i,r,s,n,a,d;const u=escapeFormId(o.id);if("apiKey"===o.type){const t=getSecurityDetailsOptions(u,""),i={field:`auth.${u}`,fullWidth:!0,initialValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",o.name,": "]},void 0),t?_jsx(FormDropdown,Object.assign({},i,{options:t}),void 0):_jsx(FormTextField,Object.assign({},i,{type:"password","data-cy":"apiKey-auth-password"}),void 0)]},u)}if("http"===o.type){if("basic"===o.scheme){const o=getSecurityDetailsOptions(u,"username"),s={field:`auth.${u}.username`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}.username`)||(null===(t=null==e?void 0:e[u])||void 0===t?void 0:t.username),initValue:fromSessionStorage(`auth.${u}.username`)||(null===(i=null==e?void 0:e[u])||void 0===i?void 0:i.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicUsername"),": "]},void 0),o?_jsx(FormDropdown,Object.assign({},s,{options:o}),void 0):_jsx(FormTextField,Object.assign({},s),void 0)]},void 0),_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicPassword"),": "]},void 0),_jsx(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:`auth.${u}.password`,initialValue:fromSessionStorage(`auth.${u}.password`)||(null===(r=null==e?void 0:e[u])||void 0===r?void 0:r.password)||"",validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("bearer"===o.scheme){const o=getSecurityDetailsOptions(u,""),t={field:`auth.${u}`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsx(Fragment,{children:_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Bearer Token: "},void 0),o?_jsx(FormDropdown,Object.assign({},t,{options:o}),void 0):_jsx(FormTextField,Object.assign({},t,{type:"password",placeholder:"(without 'Bearer')"}),void 0)]},void 0)},u)}}else{if("oauth2"===o.type&&o.flows&&o.flows.clientCredentials)return _jsx(OAuth2TokenInput,{flow:o.flows.clientCredentials,server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.clientCredentials["x-defaultClientId"]||o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.implicit)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.implicit.authorizationUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(n=null===(s=null==o?void 0:o.flows)||void 0===s?void 0:s.implicit)||void 0===n?void 0:n.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.implicit["x-defaultClientId"]||o["x-defaultClientId"],flow:"implicit",defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.authorizationCode)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.authorizationCode.authorizationUrl,tokenUrl:o.flows.authorizationCode.tokenUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(a=o.flows.authorizationCode)||void 0===a?void 0:a.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.authorizationCode["x-defaultClientId"]||o["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:o.flows.authorizationCode["x-tokenEndpointAuthMethod"],usePkce:o.flows.authorizationCode["x-usePkce"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type){let o=fromSessionStorage(`auth.${u}.token`)||JSON.stringify(null===(d=null==e?void 0:e[u])||void 0===d?void 0:d.token);return o=o?JSON.parse(o):{},_jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token Type: "},void 0),_jsx(FormTextField,{fullWidth:!0,field:`auth.${u}.token.token_type`,initialValue:o.token_type||"Bearer"},void 0)]},void 0),_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token: "},void 0),_jsx(FormTextField,{type:"password",fullWidth:!0,field:`auth.${u}.token.access_token`,validate:requiredValidator,initialValue:o.access_token,validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("openIdConnect"===o.type)return _jsx(OpenIDConnect,{server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,scheme:o,clientId:o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("none"===o.type)return _jsx("span",{children:"None"},u)}}))]},void 0),_jsxs("small",{children:[_jsx("strong",{children:"Note"},void 0),": Your credentials will be saved until the end of the browser session"]},void 0)]},void 0)}}
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{Component,Fragment}from"react";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage,escapeFormId}from"../../utils";import{FormDropdown,FormTextField}from"../common/TextField";import{FormControl,FormLabel,FormWrapper}from"../common/form";import{l}from"../../redoc-lib/src/services/Labels";import{Dropdown}from"../common/Dropdown";import{OpenIDConnect,Error}from"./OpenIDConnect";import{OAuth2Flow}from"./OAuth2Flow";import OAuth2TokenInput from"./OAuth2TokenInput";export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=function(e){const o=document.cookie.match("\\b"+e+"=([^;]*)\\b");return o?o[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}export class AuthPanel extends Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{activeScheme:0}}),Object.defineProperty(this,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setState({activeScheme:e.idx}),toSessionStorage("securityRequirementName",e.value)}})}static getDerivedStateFromProps(e){const o=e.operation.security.map((e=>e.schemes.map((e=>e.id)).join(" and "))),t=fromSessionStorage("securityRequirementName"),i=o.findIndex((e=>e===t));return{activeScheme:i<0?0:i}}render(){const{securityDefaults:e}=this.props,{activeScheme:o}=this.state,t=this.props.operation.security,i=t.map((e=>e.schemes.map((e=>e.id)).join(" and "))).filter(Boolean).map(((e,o)=>({value:e,idx:o})));return 0===i.length?_jsx(Error,{message:"Cannot find security schema in the definition"},void 0):_jsxs(_Fragment,{children:[_jsxs(FormWrapper,{children:[i.length>1&&_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Security scheme: "},void 0),_jsx(Dropdown,{variant:"dark",fullWidth:!0,options:i,value:i[o].value,onChange:this.handleSchemeChange},void 0)]},void 0)||null,t[o].schemes.map((o=>{var t,i,r,s,n,a,d;const u=escapeFormId(o.id);if("apiKey"===o.type){const t=getSecurityDetailsOptions(u,""),i={field:`auth.${u}`,fullWidth:!0,initialValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromCookie(o)||fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",o.name,": "]},void 0),t?_jsx(FormDropdown,Object.assign({},i,{options:t}),void 0):_jsx(FormTextField,Object.assign({},i,{type:"password","data-cy":"apiKey-auth-password"}),void 0)]},u)}if("http"===o.type){if("basic"===o.scheme){const o=getSecurityDetailsOptions(u,"username"),s={field:`auth.${u}.username`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}.username`)||(null===(t=null==e?void 0:e[u])||void 0===t?void 0:t.username),initValue:fromSessionStorage(`auth.${u}.username`)||(null===(i=null==e?void 0:e[u])||void 0===i?void 0:i.username),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicUsername"),": "]},void 0),o?_jsx(FormDropdown,Object.assign({},s,{options:o}),void 0):_jsx(FormTextField,Object.assign({},s),void 0)]},void 0),_jsxs(FormControl,{children:[_jsxs(FormLabel,{children:[" ",l("tryItAuthBasicPassword"),": "]},void 0),_jsx(FormTextField,{type:"password","data-cy":"http-auth-password",fullWidth:!0,field:`auth.${u}.password`,initialValue:fromSessionStorage(`auth.${u}.password`)||(null===(r=null==e?void 0:e[u])||void 0===r?void 0:r.password)||"",validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("bearer"===o.scheme){const o=getSecurityDetailsOptions(u,""),t={field:`auth.${u}`,fullWidth:!0,initialValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),initValue:fromSessionStorage(`auth.${u}`)||(null==e?void 0:e[u]),validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return _jsx(Fragment,{children:_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Bearer Token: "},void 0),o?_jsx(FormDropdown,Object.assign({},t,{options:o}),void 0):_jsx(FormTextField,Object.assign({},t,{type:"password",placeholder:"(without 'Bearer')"}),void 0)]},void 0)},u)}}else{if("oauth2"===o.type&&o.flows&&o.flows.clientCredentials)return _jsx(OAuth2TokenInput,{flow:Object.assign(Object.assign({},o.flows.clientCredentials),{"x-tokenEndpointAuthMethod":o["x-tokenEndpointAuthMethod"]}),server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.clientCredentials["x-defaultClientId"]||o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.implicit)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.implicit.authorizationUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(n=null===(s=null==o?void 0:o.flows)||void 0===s?void 0:s.implicit)||void 0===n?void 0:n.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.implicit["x-defaultClientId"]||o["x-defaultClientId"],flow:"implicit",defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type&&o.flows&&o.flows.authorizationCode)return _jsx(OAuth2Flow,{authorizationUrl:o.flows.authorizationCode.authorizationUrl,tokenUrl:o.flows.authorizationCode.tokenUrl,authCorsProxyUrl:this.props.authCorsProxyUrl,scopes:Object.keys((null===(a=o.flows.authorizationCode)||void 0===a?void 0:a.scopes)||{}),server:this.props.activeServer,id:u,form:this.props.form,formApi:this.props.formApi,clientId:o.flows.authorizationCode["x-defaultClientId"]||o["x-defaultClientId"],flow:"authorizationCode",tokenEndpointAuthMethod:o.flows.authorizationCode["x-tokenEndpointAuthMethod"]||o["x-tokenEndpointAuthMethod"],usePkce:o.flows.authorizationCode["x-usePkce"],defaultValues:null==e?void 0:e[u]},u);if("oauth2"===o.type){let o=fromSessionStorage(`auth.${u}.token`)||JSON.stringify(null===(d=null==e?void 0:e[u])||void 0===d?void 0:d.token);return o=o?JSON.parse(o):{},_jsxs(Fragment,{children:[_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token Type: "},void 0),_jsx(FormTextField,{fullWidth:!0,field:`auth.${u}.token.token_type`,initialValue:o.token_type||"Bearer"},void 0)]},void 0),_jsxs(FormControl,{children:[_jsx(FormLabel,{children:" Access Token: "},void 0),_jsx(FormTextField,{type:"password",fullWidth:!0,field:`auth.${u}.token.access_token`,validate:requiredValidator,initialValue:o.access_token,validateOnBlur:!0,validateOnChange:!0},void 0)]},void 0)]},u)}if("openIdConnect"===o.type)return _jsx(OpenIDConnect,{server:this.props.activeServer,authCorsProxyUrl:this.props.authCorsProxyUrl,id:u,form:this.props.form,formApi:this.props.formApi,scheme:o,clientId:o["x-defaultClientId"],defaultValues:null==e?void 0:e[u]},u);if("none"===o.type)return _jsx("span",{children:"None"},u)}}))]},void 0),_jsxs("small",{children:[_jsx("strong",{children:"Note"},void 0),": Your credentials will be saved until the end of the browser session"]},void 0)]},void 0)}}
|
|
2
2
|
//# sourceMappingURL=AuthPanel.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest}from"tslib";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{useCallback}from"react";import{observer}from"mobx-react";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{SourceCodeWithText}from"../SourceCode/SourceCode";import{MimeLabel}from"../../../../components/shared";import{Dropdown}from"../../../../components/common/Dropdown";import{DropdownWrapper}from"../../../src/components/PayloadSamples";import{ExampleSwitch,useExampleKey}from"../../../../components/Samples";export const CodeSample=observer((e=>{var{onlyDefaultSample:o,onlyDefaultMimeType:r,content:a,onCopyClick:t}=e,
|
|
1
|
+
import{__rest}from"tslib";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{useCallback}from"react";import{observer}from"mobx-react";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch/MediaTypesSwitch";import{SourceCodeWithText}from"../SourceCode/SourceCode";import{MimeLabel}from"../../../../components/shared";import{Dropdown}from"../../../../components/common/Dropdown";import{DropdownWrapper}from"../../../src/components/PayloadSamples";import{ExampleSwitch,useExampleKey}from"../../../../components/Samples";import{OperationSamples}from"./OperationSamples";export const CodeSample=observer((e=>{var{onlyDefaultSample:o,onlyDefaultMimeType:r,content:a,onCopyClick:t}=e,p=__rest(e,["onlyDefaultSample","onlyDefaultMimeType","content","onCopyClick"]);const n=useCallback((e=>{var o,t,p;const n=r&&(null===(o=e.operation)||void 0===o?void 0:o.defaultMimeType);return(null!==(p=null===(t=null==a?void 0:a.mediaTypes)||void 0===t?void 0:t.length)&&void 0!==p?p:0)>1&&!n?_jsx(DropdownWrapper,{children:_jsx(DropdownOrLabel,Object.assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e),void 0)},void 0):null}),[a,r]),l=useCallback((e=>p.source?_jsx(SourceCodeWithText,{lang:p.lang,source:p.source,onCopyClick:t},void 0):_jsx(SourceCodeWithText,{lang:p.lang,externalSource:{sample:p.externalSample,exampleName:e,operation:p.operation,pathParams:p.pathParams,properties:p.properties},onCopyClick:t},void 0)),[t,p.externalSample,p.lang,p.operation,p.pathParams,p.properties,p.source]);if(void 0===a||null!=p.source)return p.operation.examples?_jsx(OperationSamples,{operation:p.operation,renderSample:l,lang:p.lang},void 0):l();const i=e=>a.activateExampleName(e);return _jsx(MediaTypesSwitch,Object.assign({content:a,renderDropdown:n},{children:e=>{const r=e.examples||{},a=Object.keys(r),{exampleKey:t,defaultExampleName:p}=useExampleKey(e.operation,r);return a.length&&1!==a.length?p&&o?l(t):_jsxs(_Fragment,{children:[_jsx(ExampleSwitch,{examples:r,exampleKey:t,onChange:i},void 0),l(t)]},void 0):l()}}),void 0)}));
|
|
2
2
|
//# sourceMappingURL=CodeSample.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { OperationModel } from '../..';
|
|
3
|
+
declare type OperationSamplesProps = {
|
|
4
|
+
operation: OperationModel;
|
|
5
|
+
renderSample: (exampleName?: string) => JSX.Element;
|
|
6
|
+
lang: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const OperationSamples: import("react").NamedExoticComponent<OperationSamplesProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useMemo,useState}from"react";import{ExampleSwitch}from"../../../../components/Samples";function OperationSamplesComponent({operation:e,renderSample:t,lang:s}){const m=useMemo((()=>{const t=Object.entries((null==e?void 0:e.examples)||{}).filter((([e,t])=>t["x-codeSamples"].some((e=>e.lang===s))));return Object.fromEntries(t)}),[s,e.examples]),[o,n]=useState(Object.keys(m)[0]);return Object.keys(m).length<=1?t():_jsxs(_Fragment,{children:[_jsx(ExampleSwitch,{examples:m,exampleKey:o,onChange:n},void 0),t(o)]},void 0)}export const OperationSamples=memo(OperationSamplesComponent);
|
|
2
|
+
//# sourceMappingURL=OperationSamples.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IMenuItem, ContentItemModel, ExtendedOpenAPIOperation, Unstable_ExternalCodeSample } from '../types';
|
|
2
|
-
import type { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample, Server } from '../../types';
|
|
2
|
+
import type { OpenAPIExternalDocumentation, OpenAPIServer, OpenAPIXCodeSample, Referenced, Server, OpenAPIExample } from '../../types';
|
|
3
3
|
import type { OpenAPIParser } from '../OpenAPIParser';
|
|
4
4
|
import type { RedocProNormalizedOptions } from '../../../../services';
|
|
5
5
|
import type { MediaContentModel } from './MediaContent';
|
|
@@ -58,6 +58,9 @@ export declare class OperationModel implements IMenuItem {
|
|
|
58
58
|
isCallback: boolean;
|
|
59
59
|
isWebhook: boolean;
|
|
60
60
|
isEvent: boolean;
|
|
61
|
+
examples?: {
|
|
62
|
+
[media: string]: Referenced<OpenAPIExample>;
|
|
63
|
+
};
|
|
61
64
|
constructor(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: RedocProNormalizedOptions, isCallback?: boolean);
|
|
62
65
|
/**
|
|
63
66
|
* set operation as active (used by side menu)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers)}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){var e,t,i,o;const r=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!r&&this.operationDefinition.requestBody){const r=this.parser.deref(this.operationDefinition.requestBody).resolved,a=Object.keys((null==r?void 0:r.content)||{})[0],n=(null===(e=r["x-examples"])||void 0===e?void 0:e[a])||(null===(i=null===(t=null==r?void 0:r.content)||void 0===t?void 0:t[a])||void 0===i?void 0:i.examples)||{},l=Object.keys(n)[0];if(null===(o=n[l])||void 0===o?void 0:o["x-codeSamples"])return n[l]["x-codeSamples"].map(((e,t)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var i,o,r;return null!==(o=null===(i=n[e])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==o?o:null===(r=n[l])||void 0===r?void 0:r["x-codeSamples"][t].source}})))}return r||[]}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t){if(!t)return e;const i={url:t.url,description:t.description};switch(t.position){case"first":return[i,...e];case"last":return[...e,i];case"replace":return[i];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
1
|
+
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers);const c=this.operationDefinition["x-examples"];this.examples=c&&c[Object.keys(c)[0]]}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){var e,t,i,o,r,a;const n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){const r=this.parser.deref(this.operationDefinition.requestBody).resolved,a=Object.keys((null==r?void 0:r.content)||{})[0],n=(null===(e=r["x-examples"])||void 0===e?void 0:e[a])||(null===(i=null===(t=null==r?void 0:r.content)||void 0===t?void 0:t[a])||void 0===i?void 0:i.examples)||{},l=Object.keys(n)[0];if(null===(o=n[l])||void 0===o?void 0:o["x-codeSamples"])return n[l]["x-codeSamples"].map(((e,t)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var i,o,r;return null!==(o=null===(i=n[e])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==o?o:null===(r=n[l])||void 0===r?void 0:r["x-codeSamples"][t].source}})))}if(!n&&this.operationDefinition.parameters){const e=Object.keys(this.operationDefinition["x-examples"]||{})[0],t=(null===(r=this.operationDefinition["x-examples"])||void 0===r?void 0:r[e])||{},i=Object.keys(t)[0];if(null===(a=t[i])||void 0===a?void 0:a["x-codeSamples"])return t[i]["x-codeSamples"].map(((e,o)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var r,a,n;return null!==(a=null===(r=t[e])||void 0===r?void 0:r["x-codeSamples"][o].source)&&void 0!==a?a:null===(n=t[i])||void 0===n?void 0:n["x-codeSamples"][o].source}})))}return n||[]}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t){if(!t)return e;const i={url:t.url,description:t.description};switch(t.position){case"first":return[i,...e];case"last":return[...e,i];case"replace":return[i];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
2
2
|
//# sourceMappingURL=Operation.js.map
|
|
@@ -81,6 +81,11 @@ export interface OpenAPIOperation {
|
|
|
81
81
|
servers?: OpenAPIServer[];
|
|
82
82
|
'x-codeSamples'?: OpenAPIXCodeSample[];
|
|
83
83
|
'x-code-samples'?: OpenAPIXCodeSample[];
|
|
84
|
+
'x-examples'?: {
|
|
85
|
+
[mime: string]: {
|
|
86
|
+
[name: string]: Referenced<OpenAPIExample>;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
84
89
|
}
|
|
85
90
|
export interface OpenAPIParameter {
|
|
86
91
|
name: string;
|
|
@@ -274,6 +279,7 @@ export interface OpenAPISecurityScheme {
|
|
|
274
279
|
scheme?: string;
|
|
275
280
|
bearerFormat?: string;
|
|
276
281
|
'x-defaultClientId'?: string;
|
|
282
|
+
'x-tokenEndpointAuthMethod'?: string;
|
|
277
283
|
flows: {
|
|
278
284
|
implicit?: {
|
|
279
285
|
refreshUrl?: string;
|