@redocly/reference-docs 2.29.0 → 2.31.1

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.
Files changed (44) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +9 -9
  2. package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
  3. package/dist/console.redocly-reference-docs.min.js +125 -125
  4. package/dist/oauth2-redirect.js +1 -1
  5. package/dist/redocly-reference-docs.min.js +439 -439
  6. package/lib/components/console/AuthPanel.js +1 -1
  7. package/lib/components/console/OAuth2Flow.d.ts +1 -0
  8. package/lib/components/console/OAuth2Flow.js +1 -1
  9. package/lib/components/console/OAuth2TokenInput.d.ts +1 -0
  10. package/lib/components/console/OAuth2TokenInput.js +1 -1
  11. package/lib/components/console/OpenIDConnect.js +1 -1
  12. package/lib/components/console/utils.d.ts +6 -0
  13. package/lib/components/console/utils.js +1 -1
  14. package/lib/redoc-lib/src/components/Schema/DiscriminatorDropdown.js +1 -1
  15. package/lib/redoc-lib/src/components/SecuritySchemes/helpers.d.ts +4 -0
  16. package/lib/redoc-lib/src/services/models/Schema.js +1 -1
  17. package/lib/redoc-lib/src/types/open-api.d.ts +3 -0
  18. package/lib/redoc-lib/src/utils/openapi.d.ts +3 -2
  19. package/lib/redoc-lib/src/utils/openapi.js +1 -1
  20. package/lib/redoc-lib/src/utils/string.d.ts +1 -0
  21. package/lib/redoc-lib/src/utils/string.js +2 -0
  22. package/lib/services/OAuth2.d.ts +4 -2
  23. package/lib/services/OAuth2.js +1 -1
  24. package/lib/services/OpenIDConnect.d.ts +1 -1
  25. package/lib-esm/components/console/AuthPanel.js +1 -1
  26. package/lib-esm/components/console/OAuth2Flow.d.ts +1 -0
  27. package/lib-esm/components/console/OAuth2Flow.js +1 -1
  28. package/lib-esm/components/console/OAuth2TokenInput.d.ts +1 -0
  29. package/lib-esm/components/console/OAuth2TokenInput.js +1 -1
  30. package/lib-esm/components/console/OpenIDConnect.js +1 -1
  31. package/lib-esm/components/console/utils.d.ts +6 -0
  32. package/lib-esm/components/console/utils.js +1 -1
  33. package/lib-esm/redoc-lib/src/components/Schema/DiscriminatorDropdown.js +1 -1
  34. package/lib-esm/redoc-lib/src/components/SecuritySchemes/helpers.d.ts +4 -0
  35. package/lib-esm/redoc-lib/src/services/models/Schema.js +1 -1
  36. package/lib-esm/redoc-lib/src/types/open-api.d.ts +3 -0
  37. package/lib-esm/redoc-lib/src/utils/openapi.d.ts +3 -2
  38. package/lib-esm/redoc-lib/src/utils/openapi.js +1 -1
  39. package/lib-esm/redoc-lib/src/utils/string.d.ts +1 -0
  40. package/lib-esm/redoc-lib/src/utils/string.js +2 -0
  41. package/lib-esm/services/OAuth2.d.ts +4 -2
  42. package/lib-esm/services/OAuth2.js +1 -1
  43. package/lib-esm/services/OpenIDConnect.d.ts +1 -1
  44. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled,OptionsContext}from"../../redoc-lib";import{LinearProgress}from"../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper,FormWarning}from"../common/form";import{FormDropdown,FormTextField,TextField}from"../common/TextField";import{Checkbox}from"../common/Checkbox";import{Button}from"../shared";import{OAuth2,deriveCodeChallenge}from"../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../utils";import{isEmptyObject,randString}from"../../services/utils";import{normalizeUrlProtocol}from"./utils";import Scope from"./Scope";function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var r=e.target.value;return __awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,deriveCodeChallenge(r)];case 1:return e=t.sent(),this.setState({codeVerifier:r,validCodeChallenge:e}),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;if(void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge)return{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=randString(43);deriveCodeChallenge(t).then((function(r){e.setState({codeVerifier:t,codeChallenge:r,validCodeChallenge:r})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,n=r.flow,o=r.usePkce,a=r.id,l=r.tokenUrl,i=r.authCorsProxyUrl;if(isEmptyObject(this.errors)){this.setState({loading:!0,error:null});var c=i?i+normalizeUrlProtocol(e):e,s=i&&l?i+normalizeUrlProtocol(l):l,u=this.props.formApi.getValue("auth."+a+".scopes"),p={authorizationUrl:c.startsWith("http")?c:this.props.server+c,clientId:this.values.client_id,scopes:u,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===n&&OAuth2.authorizeImplicit(p),"authorizationCode"===n&&OAuth2.authorizeAuthorizationCode(__assign(__assign(__assign({},p),{tokenUrl:(null==s?void 0:s.startsWith("http"))?s:this.props.server+s,clientSecret:this.values.client_secret}),o&&{codeVerifier:this.state.codeVerifier,codeChallenge:this.state.codeChallenge}))}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.error,n=t.loading,o=this.props,a=o.id,l=o.scopes,i=o.authorizationUrl,c=o.flow,s=o.usePkce,u=o.defaultValues;if(!i)return React.createElement(FormError,null,"No flow info");var p=fromSessionStorage("auth."+a+".token")||JSON.stringify(null==u?void 0:u.token);p=p?JSON.parse(p):"";var d=getSecurityDetailsOptions(a,"client_id"),m={field:"auth."+a+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),initValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null," Client ID: "),d?React.createElement(FormDropdown,__assign({},m,{options:d})):React.createElement(FormTextField,__assign({},m,{"data-cy":"client-id-input"}))),"authorizationCode"===c&&React.createElement(React.Fragment,null,(!(null==s?void 0:s.hideClientSecretInput)||!s)&&React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+a+".client_secret",initialValue:fromSessionStorage("auth."+a+".client_secret")||(null==u?void 0:u.client_secret),validateOnBlur:!0,validateOnChange:!0,"data-cy":"client-secret-input"})),s&&!s.disableManualConfiguration&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:this.state.showPkceOptions,onChange:this.togglePkceOptions,"data-cy":"pkce-options-toggle"}),this.state.showPkceOptions&&React.createElement(PkceDetails,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Verifier"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeVerifier,onChange:this.handleCodeVerifierChange,"data-cy":"code-verifier-input"})),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Challenge"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeChallenge,onChange:function(t){var r=t.target.value;e.setState({codeChallenge:r})},inputActionButton:this.pkceInputActionButtonProps,"data-cy":"code-challenge-input"}))))),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+a+".token",type:"hidden",initialValue:p}),React.createElement(Scope,{id:a,scopes:l}),this.values.token&&this.values.token.access_token?React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleLogout()}},"Log out"):n?React.createElement(React.Fragment,null,React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleCancel()}},"Cancel"),React.createElement(LinearProgress,null)):React.createElement(Button,{fullWidth:!0,disabled:!isEmptyObject(this.errors),onClick:function(){e.handleAuthorize(i)}},"Authorize")),n||r||!this.values.token||!this.values.token.access_token&&React.createElement(FormWrapper,null,React.createElement(FormControl,null,n?React.createElement(FormWarning,null,"Please, finish your authorization flow or cancel authorization."):r?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(FormError,null,r))):this.values.token&&this.values.token.access_token?null:React.createElement(FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:OptionsContext}),t}(React.Component);export{OAuth2Flow};var templateObject_1,templateObject_2,templateObject_3,templateObject_4,OriginalErrorMessage=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"]))),PkceOptionsWrapper=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n padding: 8px 0 20px;\n"],["\n padding: 8px 0 20px;\n"]))),PkceDetails=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n padding: 4px 0;\n"],["\n padding: 4px 0;\n"])));
1
+ import{__assign,__awaiter,__extends,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled,OptionsContext}from"../../redoc-lib";import{LinearProgress}from"../common/LinearProgress";import{FormControl,FormLabel,FormError,FormWrapper,FormWarning}from"../common/form";import{FormDropdown,FormTextField,TextField}from"../common/TextField";import{Checkbox}from"../common/Checkbox";import{Button}from"../shared";import{OAuth2,deriveCodeChallenge}from"../../services/OAuth2";import{fromSessionStorage,getSecurityDetailsOptions}from"../../utils";import{isEmptyObject,randString}from"../../services/utils";import{getOAuth2TokenEndpointAuthHeader,normalizeUrlProtocol,validateTokenEndpointMethod}from"./utils";import Scope from"./Scope";function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Flow=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,loading:!1,showPkceOptions:!1}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"togglePkceOptions",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState((function(e){return{showPkceOptions:!e.showPkceOptions}}))}}),Object.defineProperty(t,"handleCodeVerifierChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var r=e.target.value;return __awaiter(t,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,deriveCodeChallenge(r)];case 1:return e=t.sent(),this.setState({codeVerifier:r,validCodeChallenge:e}),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.values)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pkceInputActionButtonProps",{get:function(){var e=this;if(void 0!==this.state.codeVerifier&&this.state.codeChallenge!==this.state.validCodeChallenge)return{label:"sync",onClick:function(){e.state.codeVerifier&&e.setState({codeChallenge:e.state.validCodeChallenge})}}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;if(this.props.usePkce){var t=randString(43);deriveCodeChallenge(t).then((function(r){e.setState({codeVerifier:t,codeChallenge:r,validCodeChallenge:r})}))}}}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e){this.props.formApi.validate();var r=this.props,n=r.flow,o=r.usePkce,a=r.id,l=r.tokenUrl,i=r.authCorsProxyUrl,c=r.tokenEndpointAuthMethod;if(isEmptyObject(this.errors)){this.setState({loading:!0,error:null});var s=i?i+normalizeUrlProtocol(e):e,u=i&&l?i+normalizeUrlProtocol(l):l,d=this.props.formApi.getValue("auth."+a+".scopes"),p={authorizationUrl:s.startsWith("http")?s:this.props.server+s,clientId:this.values.client_id,scopes:d,redirectUri:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){t.props.formApi.setValue("auth."+t.props.id+".token",e),t.setState({loading:!1,error:null})},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}};"implicit"===n&&OAuth2.authorizeImplicit(p),validateTokenEndpointMethod(c)?"authorizationCode"===n&&OAuth2.authorizeAuthorizationCode(__assign(__assign(__assign({},p),{tokenUrl:(null==u?void 0:u.startsWith("http"))?u:this.props.server+u,clientSecret:this.values.client_secret,extraHeaders:getOAuth2TokenEndpointAuthHeader({authMethod:c,clientId:this.values.client_id,clientSecret:this.values.client_secret})}),o&&{codeVerifier:this.state.codeVerifier,codeChallenge:this.state.codeChallenge})):console.log("Unsupported token endpoint auth method: "+c)}}}}),Object.defineProperty(t.prototype,"handleLogout",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.clearToken(),this.setState({error:null})}}),Object.defineProperty(t.prototype,"handleCancel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.setState({loading:!1,error:null}),OAuth2.clearRedirectData(this.props.flow)}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state,r=t.error,n=t.loading,o=this.props,a=o.id,l=o.scopes,i=o.authorizationUrl,c=o.flow,s=o.usePkce,u=o.defaultValues;if(!i)return React.createElement(FormError,null,"No flow info");var d=fromSessionStorage("auth."+a+".token")||JSON.stringify(null==u?void 0:u.token);d=d?JSON.parse(d):"";var p=getSecurityDetailsOptions(a,"client_id"),m={field:"auth."+a+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),initValue:fromSessionStorage("auth."+a+".client_id")||this.props.clientId||(null==u?void 0:u.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return React.createElement("div",null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null," Client ID: "),p?React.createElement(FormDropdown,__assign({},m,{options:p})):React.createElement(FormTextField,__assign({},m,{"data-cy":"client-id-input"}))),"authorizationCode"===c&&React.createElement(React.Fragment,null,(!(null==s?void 0:s.hideClientSecretInput)||!s)&&React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+a+".client_secret",initialValue:fromSessionStorage("auth."+a+".client_secret")||(null==u?void 0:u.client_secret),validateOnBlur:!0,validateOnChange:!0,"data-cy":"client-secret-input"})),s&&!s.disableManualConfiguration&&React.createElement(PkceOptionsWrapper,null,React.createElement(Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:this.state.showPkceOptions,onChange:this.togglePkceOptions,"data-cy":"pkce-options-toggle"}),this.state.showPkceOptions&&React.createElement(PkceDetails,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Verifier"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeVerifier,onChange:this.handleCodeVerifierChange,"data-cy":"code-verifier-input"})),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Code Challenge"),React.createElement(TextField,{fullWidth:!0,value:this.state.codeChallenge,onChange:function(t){var r=t.target.value;e.setState({codeChallenge:r})},inputActionButton:this.pkceInputActionButtonProps,"data-cy":"code-challenge-input"}))))),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+a+".token",type:"hidden",initialValue:d}),React.createElement(Scope,{id:a,scopes:l}),this.values.token&&this.values.token.access_token?React.createElement(FormControl,null,React.createElement(FormLabel,null," Access Token: "),React.createElement(TextField,{disabled:!0,type:"password",fullWidth:!0,value:this.values.token.access_token})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleLogout()}},"Log out"):n?React.createElement(React.Fragment,null,React.createElement(Button,{fullWidth:!0,onClick:function(){e.handleCancel()}},"Cancel"),React.createElement(LinearProgress,null)):React.createElement(Button,{fullWidth:!0,disabled:!isEmptyObject(this.errors),onClick:function(){e.handleAuthorize(i)}},"Authorize")),n||r||!this.values.token||!this.values.token.access_token&&React.createElement(FormWrapper,null,React.createElement(FormControl,null,n?React.createElement(FormWarning,null,"Please, finish your authorization flow or cancel authorization."):r?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(FormError,null,r))):this.values.token&&this.values.token.access_token?null:React.createElement(FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:OptionsContext}),t}(React.Component);export{OAuth2Flow};var templateObject_1,templateObject_2,templateObject_3,templateObject_4,OriginalErrorMessage=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"],["\n font-family: monospace;\n margin-top: 10px;\n line-height: 1;\n padding-left: 10px;\n border-left: 1px solid gray;\n"]))),ButtonsWrapper=styled.div(templateObject_2||(templateObject_2=__makeTemplateObject(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"]))),PkceOptionsWrapper=styled.div(templateObject_3||(templateObject_3=__makeTemplateObject(["\n padding: 8px 0 20px;\n"],["\n padding: 8px 0 20px;\n"]))),PkceDetails=styled.div(templateObject_4||(templateObject_4=__makeTemplateObject(["\n padding: 4px 0;\n"],["\n padding: 4px 0;\n"])));
2
2
  //# sourceMappingURL=OAuth2Flow.js.map
@@ -3,6 +3,7 @@ import type { SecurityDetails } from '../../utils';
3
3
  export interface OAuth2TokenInputProps {
4
4
  flow: {
5
5
  refreshUrl?: string;
6
+ 'x-tokenEndpointAuthMethod'?: 'none' | 'client_secret_basic' | string;
6
7
  scopes: Record<string, string>;
7
8
  tokenUrl: string;
8
9
  };
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__extends,__generator}from"tslib";import*as React from"react";import{FormControl,FormLabel,FormError,FormWrapper,FormHeader,TokenField,TokenValue,TokenClear,TokenShowHide}from"../common/form";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage}from"../../utils";import{OAuth2}from"../../services/OAuth2";import{Button}from"../shared";import{FormDropdown,FormTextField}from"../common/TextField";import Scope from"./Scope";import{normalizeUrlProtocol}from"./utils";function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),toSessionStorage("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(t,void 0,void 0,(function(){var e,t,o,r,n,i,l,a=this;return __generator(this,(function(s){switch(s.label){case 0:return this.state.loading?[2]:(e=this.props,t=e.server,o=e.flow,r=e.authCorsProxyUrl,n=r&&o.tokenUrl?r+normalizeUrlProtocol(o.tokenUrl):o.tokenUrl,this.errors.client_id||this.errors.client_secret?(console.log("Provide client_id and client_secret"),[2]):(i=this.values.client_id,l=this.values.client_secret,i&&l?(this.setState({loading:!0}),[4,OAuth2.authorizeClientCredentials({tokenUrl:n.startsWith("http")?n:t+n,clientId:i,clientSecret:l,scopes:this.values.scopes,successCallback:function(e){a.props.formApi.setValue("auth."+a.props.id+".token",e),a.setState({loading:!1})},errorCallback:function(e){a.clearToken(),a.setState({error:e.message,loading:!1})}})]):(console.log("Provide client_id and client_secret"),[2])));case 1:return s.sent(),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t,o;return(null===(o=null===(t=null===(e=this.props.form)||void 0===e?void 0:e.values)||void 0===t?void 0:t.auth)||void 0===o?void 0:o[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,o=e.error,r=e.tokenMasked,n=this.props,i=n.id,l=n.defaultValues,a=Object.keys(this.props.flow.scopes),s=fromSessionStorage("auth."+i+".token")||JSON.stringify(null==l?void 0:l.token);s=s?JSON.parse(s):"";var c=getSecurityDetailsOptions(i,"client_id"),u={field:"auth."+i+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+i+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),initValue:fromSessionStorage("auth."+i+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),placeholder:"Your OAuth2 app Client ID"};return React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client ID:"),c?React.createElement(FormDropdown,__assign({},u,{options:c})):React.createElement(FormTextField,__assign({},u,{type:"password"}))),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+i+".client_secret",initialValue:fromSessionStorage("auth."+i+".client_secret")||(null==l?void 0:l.client_secret)})),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+i+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope,{id:i,scopes:a})),React.createElement(Button,{color:"primary",onClick:this.requestToken,blinking:t},t?"Loading...":"Request Token"),React.createElement(FormHeader,null," Access Token "),o?React.createElement(FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,o)," "):this.values.token&&this.values.token.access_token?React.createElement(TokenField,null,React.createElement(TokenValue,{length:this.values.token.access_token.length,masked:r},this.values.token.access_token),React.createElement(TokenShowHide,{onClick:this.toggleTokenMask},r?"Show":"Hide"," "),React.createElement(TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);export{OAuth2TokenInput};export default OAuth2TokenInput;
1
+ import{__assign,__awaiter,__extends,__generator}from"tslib";import*as React from"react";import{FormControl,FormLabel,FormError,FormWrapper,FormHeader,TokenField,TokenValue,TokenClear,TokenShowHide}from"../common/form";import{fromSessionStorage,getSecurityDetailsOptions,toSessionStorage}from"../../utils";import{OAuth2}from"../../services/OAuth2";import{Button}from"../shared";import{FormDropdown,FormTextField}from"../common/TextField";import Scope from"./Scope";import{getOAuth2TokenEndpointAuthHeader,normalizeUrlProtocol,validateTokenEndpointMethod}from"./utils";function validateToken(e){if(!e)return"Token is required"}var OAuth2TokenInput=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"state",{enumerable:!0,configurable:!0,writable:!0,value:{error:"",loading:!1,tokenMasked:!0}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token",""),toSessionStorage("auth."+t.props.id+".token","")}}),Object.defineProperty(t,"toggleTokenMask",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.setState({tokenMasked:!t.state.tokenMasked})}}),Object.defineProperty(t,"requestToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){return __awaiter(t,void 0,void 0,(function(){var e,t,o,r,n,i,l,a,s=this;return __generator(this,(function(c){switch(c.label){case 0:return this.state.loading?[2]:(e=this.props,t=e.server,o=e.flow,r=e.authCorsProxyUrl,n=r&&o.tokenUrl?r+normalizeUrlProtocol(o.tokenUrl):o.tokenUrl,this.errors.client_id||this.errors.client_secret?(console.log("Provide client_id and client_secret"),[2]):(i=this.values.client_id,l=this.values.client_secret,i&&l?(this.setState({loading:!0}),a=o["x-tokenEndpointAuthMethod"],validateTokenEndpointMethod(a)?[4,OAuth2.authorizeClientCredentials({tokenUrl:n.startsWith("http")?n:t+n,clientId:i,clientSecret:l,scopes:this.values.scopes,extraHeaders:getOAuth2TokenEndpointAuthHeader({authMethod:a,clientId:i,clientSecret:l}),successCallback:function(e){s.props.formApi.setValue("auth."+s.props.id+".token",e),s.setState({loading:!1})},errorCallback:function(e){s.clearToken(),s.setState({error:e.message,loading:!1})}})]:(console.log("Unsupported token endpoint auth method: "+a),[2])):(console.log("Provide client_id and client_secret"),[2])));case 1:return c.sent(),[2]}}))}))}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){var e,t,o;return(null===(o=null===(t=null===(e=this.props.form)||void 0===e?void 0:e.values)||void 0===t?void 0:t.auth)||void 0===o?void 0:o[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){var e,t;return(null===(t=null===(e=this.props.form.errors)||void 0===e?void 0:e.auth)||void 0===t?void 0:t[this.props.id])||{}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,o=e.error,r=e.tokenMasked,n=this.props,i=n.id,l=n.defaultValues,a=Object.keys(this.props.flow.scopes),s=fromSessionStorage("auth."+i+".token")||JSON.stringify(null==l?void 0:l.token);s=s?JSON.parse(s):"";var c=getSecurityDetailsOptions(i,"client_id"),u={field:"auth."+i+".client_id",fullWidth:!0,initialValue:fromSessionStorage("auth."+i+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),initValue:fromSessionStorage("auth."+i+".client_id")||this.props.clientId||(null==l?void 0:l.client_id),placeholder:"Your OAuth2 app Client ID"};return React.createElement(React.Fragment,null,React.createElement(FormWrapper,null,React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client ID:"),c?React.createElement(FormDropdown,__assign({},u,{options:c})):React.createElement(FormTextField,__assign({},u,{type:"password"}))),React.createElement(FormControl,null,React.createElement(FormLabel,null,"Client Secret:"),React.createElement(FormTextField,{type:"password",fullWidth:!0,field:"auth."+i+".client_secret",initialValue:fromSessionStorage("auth."+i+".client_secret")||(null==l?void 0:l.client_secret)})),React.createElement(FormTextField,{fullWidth:!0,field:"auth."+i+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope,{id:i,scopes:a})),React.createElement(Button,{color:"primary",onClick:this.requestToken,blinking:t},t?"Loading...":"Request Token"),React.createElement(FormHeader,null," Access Token "),o?React.createElement(FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,o)," "):this.values.token&&this.values.token.access_token?React.createElement(TokenField,null,React.createElement(TokenValue,{length:this.values.token.access_token.length,masked:r},this.values.token.access_token),React.createElement(TokenShowHide,{onClick:this.toggleTokenMask},r?"Show":"Hide"," "),React.createElement(TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);export{OAuth2TokenInput};export default OAuth2TokenInput;
2
2
  //# sourceMappingURL=OAuth2TokenInput.js.map
@@ -1,2 +1,2 @@
1
- import{__awaiter,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled}from"../../redoc-lib";import{discoverOpenIDConnect}from"../../services/OpenIDConnect";import{LinearProgress}from"../common/LinearProgress";import{FormError}from"../common/form";import{OAuth2Flow}from"./OAuth2Flow";export function OpenIDConnect(e){var t,r=this,n=e.scheme,o=e.defaultValues,a=React.useState({}),l=a[0],c=a[1],i=React.useState(),m=i[0],s=i[1],u=React.useState(!1),p=u[0],d=u[1];React.useEffect((function(){f(n.openIdConnectUrl)}),[n.openIdConnectUrl]);var f=function(e){return __awaiter(r,void 0,void 0,(function(){var t,r;return __generator(this,(function(n){switch(n.label){case 0:d(!0),s(""),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,discoverOpenIDConnect(e)];case 2:return t=n.sent(),c(t),[3,4];case 3:return r=n.sent(),s(r.message),[3,4];case 4:return d(!1),[2]}}))}))};return React.createElement("div",null,p?React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress,null)):React.createElement("div",null,m?React.createElement(FormError,null,m):(null===(t=null==l?void 0:l.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:l.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:l.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:o})):React.createElement("div",null,"Unsupported flow")))}var templateObject_1,FlowName=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
1
+ import{__awaiter,__generator,__makeTemplateObject}from"tslib";import*as React from"react";import{styled}from"../../redoc-lib";import{discoverOpenIDConnect}from"../../services/OpenIDConnect";import{LinearProgress}from"../common/LinearProgress";import{FormError}from"../common/form";import{OAuth2Flow}from"./OAuth2Flow";export function OpenIDConnect(e){var t,r,n=this,o=e.scheme,a=e.defaultValues,l=React.useState({}),c=l[0],i=l[1],u=React.useState(),m=u[0],s=u[1],p=React.useState(!1),d=p[0],f=p[1];React.useEffect((function(){v(o.openIdConnectUrl)}),[o.openIdConnectUrl]);var v=function(e){return __awaiter(n,void 0,void 0,(function(){var t,r;return __generator(this,(function(n){switch(n.label){case 0:f(!0),s(""),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,discoverOpenIDConnect(e)];case 2:return t=n.sent(),i(t),[3,4];case 3:return r=n.sent(),s(r.message),[3,4];case 4:return f(!1),[2]}}))}))},_=React.useCallback((function(){return d?React.createElement("div",null,React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Connect metadata..."),React.createElement(LinearProgress,null))):null}),[d]),R=React.useCallback((function(){return m?React.createElement("div",null,React.createElement("div",null,React.createElement(FormError,null,m))):null}),[m]);return d?React.createElement(_,null):m?React.createElement(R,null):React.createElement("div",null,React.createElement("div",null,(null===(t=null==c?void 0:c.response_types_supported)||void 0===t?void 0:t.includes("token"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Implicit Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:c.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:c.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:a})):(null===(r=null==c?void 0:c.response_types_supported)||void 0===r?void 0:r.includes("code"))?React.createElement(React.Fragment,null,React.createElement(FlowName,null,"OAuth2 Authorization Flow"),React.createElement(OAuth2Flow,{key:e.id,authorizationUrl:c.authorization_endpoint,tokenUrl:c.token_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:c.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,tokenEndpointAuthMethod:null==c?void 0:c.token_endpoint_auth_methods_supported,flow:"authorizationCode",defaultValues:a})):React.createElement("div",null,"Unsupported flow")))}var templateObject_1,FlowName=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
2
2
  //# sourceMappingURL=OpenIDConnect.js.map
@@ -12,3 +12,9 @@ export declare function updateVariablesStorage(name: string, value: string): voi
12
12
  export declare function unescapeQueryParams(params: GenericObject): GenericObject;
13
13
  export declare function getFileNameFromHeaders(headers: Record<string, string>): string;
14
14
  export declare const makeRequestInterceptor: ({ requestInterceptor, sendXUserAgentInTryIt, disableTryItRequestUrlEncoding, }: Pick<RedocProNormalizedOptions, 'requestInterceptor' | 'sendXUserAgentInTryIt' | 'disableTryItRequestUrlEncoding'>, operation: OperationModel, securitySchemaAuth?: string | undefined) => (req: Request) => void | Request;
15
+ export declare const validateTokenEndpointMethod: (token: string[] | string | undefined) => boolean;
16
+ export declare const getOAuth2TokenEndpointAuthHeader: ({ authMethod, clientId, clientSecret, }: {
17
+ authMethod?: string | string[] | undefined;
18
+ clientId: string;
19
+ clientSecret: string;
20
+ }) => Record<'Authorization', string> | GenericObject;
@@ -1,2 +1,2 @@
1
- import{__assign}from"tslib";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(var r=0,t=Object.keys(e.values.auth);r<t.length;r++){var a=t[r],n=e.values.auth[a];setSecurityDetails(a,n)}updateParameterStorage(e)}function updateParameterStorage(e){for(var r,t=0,a=["path","query","header","cookie"];t<a.length;t++){var n=a[t];if(null===(r=e.values)||void 0===r?void 0:r[n])for(var i=0,o=Object.keys(e.values[n]);i<o.length;i++){var s=o[i];setParameterValue(n,s,e.values[n][s])}}}export var getParameters=function(e,r){return e.filter((function(e){return e.in===r})).reduce((function(e,r){var t=r.in,a=r.name;return e[a]=getParameterValue(t||"",a),e}),{})};var pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,r){void 0===r&&(r=0);var t=e[r],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function getInitialServerWithVariables(e){var r=fromSessionStorage("serverUrl"),t=e.find((function(e){return e.url===r}))||e[0],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]||e}))}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]&&r[t].default||e}))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};var r=fromSessionStorage("variables"),t=r&&JSON.parse(r)||{},a={};return Object.entries(e.variables||{}).forEach((function(e){var r=e[0],n=e[1];a[r]=t[r]||n.default||""})),a}export function updateVariablesStorage(e,r){var t,a=fromSessionStorage("variables"),n=a&&JSON.parse(a)||{};toSessionStorage("variables",JSON.stringify(__assign(__assign({},n),((t={})[e]=r,t))))}export function unescapeQueryParams(e){return Object.entries(e).reduce((function(e,r){var t=r[0],a=r[1];return e[unescapeFormId(t)]=a,e}),{})}export function getFileNameFromHeaders(e){for(var r="filename=",t=0,a=Object.entries(e);t<a.length;t++){var n=a[t],i=n[0],o=n[1];if("content-disposition"===i.toLowerCase()){var s=o.split(";").find((function(e){return e.trim().startsWith(r)}));if(s)return s.split(r)[1]}}return""}export var makeRequestInterceptor=function(e,r,t){var a=e.requestInterceptor,n=e.sendXUserAgentInTryIt,i=e.disableTryItRequestUrlEncoding;return function(e){var o,s,u,l;i&&(e=__assign(__assign({},e),{url:decodeURIComponent(e.url)})),n&&(e.headers["X-User-Agent"]="Redocly Try it API console");var v=(null===(s=null===(o=null==r?void 0:r.requestValues)||void 0===o?void 0:o.header)||void 0===s?void 0:s.authorization)||(null===(l=null===(u=null==r?void 0:r.requestValues)||void 0===u?void 0:u.header)||void 0===l?void 0:l.Authorization);return!t&&v&&(e.headers.Authorization=v),a?a(e,r):e}};
1
+ import{__assign}from"tslib";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(var r=0,t=Object.keys(e.values.auth);r<t.length;r++){var a=t[r],n=e.values.auth[a];setSecurityDetails(a,n)}updateParameterStorage(e)}function updateParameterStorage(e){for(var r,t=0,a=["path","query","header","cookie"];t<a.length;t++){var n=a[t];if(null===(r=e.values)||void 0===r?void 0:r[n])for(var i=0,o=Object.keys(e.values[n]);i<o.length;i++){var s=o[i];setParameterValue(n,s,e.values[n][s])}}}export var getParameters=function(e,r){return e.filter((function(e){return e.in===r})).reduce((function(e,r){var t=r.in,a=r.name;return e[a]=getParameterValue(t||"",a),e}),{})};var pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,r){void 0===r&&(r=0);var t=e[r],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function getInitialServerWithVariables(e){var r=fromSessionStorage("serverUrl"),t=e.find((function(e){return e.url===r}))||e[0],a=getDefaultOrStoredVariables(t);return __assign(__assign({},t),{variables:a})}export function expandVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]||e}))}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(pathTemplateRegExp,(function(e,t){return r[t]&&r[t].default||e}))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};var r=fromSessionStorage("variables"),t=r&&JSON.parse(r)||{},a={};return Object.entries(e.variables||{}).forEach((function(e){var r=e[0],n=e[1];a[r]=t[r]||n.default||""})),a}export function updateVariablesStorage(e,r){var t,a=fromSessionStorage("variables"),n=a&&JSON.parse(a)||{};toSessionStorage("variables",JSON.stringify(__assign(__assign({},n),((t={})[e]=r,t))))}export function unescapeQueryParams(e){return Object.entries(e).reduce((function(e,r){var t=r[0],a=r[1];return e[unescapeFormId(t)]=a,e}),{})}export function getFileNameFromHeaders(e){for(var r="filename=",t=0,a=Object.entries(e);t<a.length;t++){var n=a[t],i=n[0],o=n[1];if("content-disposition"===i.toLowerCase()){var s=o.split(";").find((function(e){return e.trim().startsWith(r)}));if(s)return s.split(r)[1]}}return""}export var makeRequestInterceptor=function(e,r,t){var a=e.requestInterceptor,n=e.sendXUserAgentInTryIt,i=e.disableTryItRequestUrlEncoding;return function(e){var o,s,u,l;i&&(e=__assign(__assign({},e),{url:decodeURIComponent(e.url)})),n&&(e.headers["X-User-Agent"]="Redocly Try it API console");var c=(null===(s=null===(o=null==r?void 0:r.requestValues)||void 0===o?void 0:o.header)||void 0===s?void 0:s.authorization)||(null===(l=null===(u=null==r?void 0:r.requestValues)||void 0===u?void 0:u.header)||void 0===l?void 0:l.Authorization);return!t&&c&&(e.headers.Authorization=c),a?a(e,r):e}};export var validateTokenEndpointMethod=function(e){if(!e)return!0;var r=Array.isArray(e)?e:[e];return!(r.length&&!r.includes("none")&&!r.includes("client_secret_basic"))};export var getOAuth2TokenEndpointAuthHeader=function(e){var r=e.authMethod,t=e.clientId,a=e.clientSecret;return"client_secret_basic"===r||Array.isArray(r)&&r.includes("client_secret_basic")?{Authorization:"Basic "+btoa(t+":"+a)}:{}};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,2 +1,2 @@
1
- import{__decorate,__extends}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{Dropdown}from"../../../../components/common/Dropdown";var DiscriminatorDropdown=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(r,"changeActiveChild",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0!==e.idx&&r.props.parent.activateOneOf(e.idx)}}),r}return __extends(r,e),Object.defineProperty(r.prototype,"sortOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r){if(0!==r.length){var t={};r.forEach((function(e,r){t[e]=r})),e.sort((function(e,r){return t[e.value]>t[r.value]?1:-1}))}}}),Object.defineProperty(r.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,r=e.parent,t=e.enumValues;if(void 0===r.oneOf)return null;var n=r.oneOf.map((function(e,r){return{value:e.title,idx:r}})),o=n[r.activeOneOf].value;return this.sortOptions(n,t),React.createElement(Dropdown,{dense:!0,value:o,options:n,onChange:this.changeActiveChild,ariaLabel:"Example"})}}),r=__decorate([observer],r)}(React.Component);export{DiscriminatorDropdown};
1
+ import{__decorate,__extends}from"tslib";import{observer}from"mobx-react";import*as React from"react";import{Dropdown}from"../../../../components/common/Dropdown";import{strikethroughText}from"../../utils/string";var DiscriminatorDropdown=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"changeActiveChild",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0!==e.idx&&t.props.parent.activateOneOf(e.idx)}}),t}return __extends(t,e),Object.defineProperty(t.prototype,"sortOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(0!==t.length){var r={};t.forEach((function(e,t){r[e]=t})),e.sort((function(e,t){return r[e.value]>r[t.value]?1:-1}))}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.parent,r=e.enumValues;if(void 0===t.oneOf)return null;var o=t.oneOf.map((function(e,t){return{value:e.schema.deprecated?strikethroughText(e.title)+" (deprecated)":e.title,idx:t}})),n=o[t.activeOneOf].value;return this.sortOptions(o,r),React.createElement(Dropdown,{dense:!0,value:n,options:o,onChange:this.changeActiveChild,ariaLabel:"Example"})}}),t=__decorate([observer],t)}(React.Component);export{DiscriminatorDropdown};
2
2
  //# sourceMappingURL=DiscriminatorDropdown.js.map
@@ -4,12 +4,14 @@ export declare const hasAuthorizationUrl: (type: string, flow: OAuthFlowProps['f
4
4
  scopes: Record<string, string>;
5
5
  authorizationUrl: string;
6
6
  'x-defaultClientId'?: string | undefined;
7
+ 'x-tokenEndpointAuthMethod'?: string | undefined;
7
8
  } | {
8
9
  refreshUrl?: string | undefined;
9
10
  scopes: Record<string, string>;
10
11
  authorizationUrl: string;
11
12
  tokenUrl: string;
12
13
  'x-defaultClientId'?: string | undefined;
14
+ 'x-tokenEndpointAuthMethod'?: string | undefined;
13
15
  } | undefined;
14
16
  export declare const hasTokenUrl: (type: string, flow: OAuthFlowProps['flow']) => flow is {
15
17
  refreshUrl?: string | undefined;
@@ -21,10 +23,12 @@ export declare const hasTokenUrl: (type: string, flow: OAuthFlowProps['flow']) =
21
23
  scopes: Record<string, string>;
22
24
  tokenUrl: string;
23
25
  'x-defaultClientId'?: string | undefined;
26
+ 'x-tokenEndpointAuthMethod'?: string | undefined;
24
27
  } | {
25
28
  refreshUrl?: string | undefined;
26
29
  scopes: Record<string, string>;
27
30
  authorizationUrl: string;
28
31
  tokenUrl: string;
29
32
  'x-defaultClientId'?: string | undefined;
33
+ 'x-tokenEndpointAuthMethod'?: string | undefined;
30
34
  } | undefined;
@@ -1,2 +1,2 @@
1
- import{__assign,__decorate,__rest,__spreadArray}from"tslib";import{action,observable,makeObservable}from"mobx";import{pushRef}from"../OpenAPIParser";import{detectType,extractExtensions,humanizeConstraints,isNamedDefinition,isObject,isPrimitiveType,JsonPointer,pluralizeType,sortByField,sortByRequired}from"../../utils/";import{l}from"../Labels";import{FieldModel}from"./Field";var SchemaModel=function(){function e(e,i,t,r,n,a,s){void 0===n&&(n=!1),void 0===a&&(a=[]),void 0===s&&(s={}),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"refsStack",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"deps",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"typePrefix",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"title",{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,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isPrimitive",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCircular",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"format",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayFormat",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nullable",{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,"pattern",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"example",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enum",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"readOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writeOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"constraints",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOfType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"discriminatorProp",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeOneOf",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"rawSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{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,"x-enumDescriptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"const",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentEncoding",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentMediaType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"minItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=i.$ref||t||"";var o=e.deref(i,a,!0),l=o.resolved,p=o.refsStack;this.refsStack=pushRef(p,this.pointer),this.rawSchema=l,this.schema=e.mergeAllOf(this.rawSchema,this.pointer,this.refsStack),this.init(e,n),r.showExtensions&&(this.extensions=extractExtensions(this.schema,r.showExtensions))}return Object.defineProperty(e.prototype,"activateOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeOneOf=e}}),Object.defineProperty(e.prototype,"hasType",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.type===e||Array.isArray(this.type)&&this.type.includes(e)}}),Object.defineProperty(e.prototype,"fields",{get:function(){if(!this.isCircular)return!this._fields&&this.hasType("object")&&(this._fields=buildFields(this.parser,this.schema,this.pointer,this.options,this.refsStack,this.deps)),this._fields},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"init",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r,n,a,s,o,p,d,u,f=this,c=this.schema;if(this.isCircular=!!c["x-circular-ref"],this.title=c.title||isNamedDefinition(this.pointer)&&JsonPointer.baseName(this.pointer)||"",this.description=c.description||"",this.type=c.type||detectType(c),this.format=c.format,this.enum=c.enum||[],this["x-enumDescriptions"]=c["x-enumDescriptions"],this.example=c.example,this.deprecated=!!c.deprecated,this.pattern=c.pattern,this.externalDocs=c.externalDocs,this.constraints=humanizeConstraints(c),this.displayFormat=this.format,this.isPrimitive=isPrimitiveType(c,this.type),this.default=c.default,this.readOnly=!!c.readOnly,this.writeOnly=!!c.writeOnly,this.const=c.const||"",this.contentEncoding=c.contentEncoding,this.contentMediaType=c.contentMediaType,this.minItems=c.minItems,this.maxItems=c.maxItems,(c.nullable||c["x-nullable"])&&(Array.isArray(this.type)&&!this.type.some((function(e){return null===e||"null"===e}))?this.type=__spreadArray(__spreadArray([],this.type,!0),["null"],!1):Array.isArray(this.type)||null===this.type&&"null"===this.type||(this.type=[this.type,"null"])),this.displayType=Array.isArray(this.type)?this.type.map((function(e){return null===e?"null":e})).join(" or "):this.type,!this.isCircular)if(c.if&&c.then||c.if&&c.else)this.initConditionalOperators(c,i);else if(t||void 0===getDiscriminator(c)){if(t&&Array.isArray(c.oneOf)&&c.oneOf.find((function(e){return e.$ref===f.pointer}))&&delete c.oneOf,void 0!==c.oneOf)return this.initOneOf(c.oneOf,i),this.oneOfType="One of",void(void 0!==c.anyOf&&console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf at "+this.pointer));if(void 0!==c.anyOf)return this.initOneOf(c.anyOf,i),void(this.oneOfType="Any of");if(this.hasType("array")&&(Array.isArray(c.items)||Array.isArray(c.prefixItems)?this._fields=buildFields(i,c,this.pointer,this.options,this.refsStack,this.deps):c.items&&(this.items=new e(i,c.items,this.pointer+"/items",this.options,!1,this.refsStack,this.deps)),this.displayType=c.prefixItems||Array.isArray(c.items)?"items":pluralizeType((null===(r=this.items)||void 0===r?void 0:r.displayType)||this.displayType),this.displayFormat=(null===(n=this.items)||void 0===n?void 0:n.format)||"",this.typePrefix=(null===(a=this.items)||void 0===a?void 0:a.typePrefix)||""+l("arrayOf"),this.title=this.title||(null===(s=this.items)||void 0===s?void 0:s.title)||"",this.isPrimitive=void 0!==(null===(o=this.items)||void 0===o?void 0:o.isPrimitive)?null===(p=this.items)||void 0===p?void 0:p.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null===(d=this.items)||void 0===d?void 0:d.example)&&(this.example=[this.items.example]),(null===(u=this.items)||void 0===u?void 0:u.isPrimitive)&&(this.enum=this.items.enum,this["x-enumDescriptions"]=this.items["x-enumDescriptions"]),Array.isArray(this.type))){var h=this.type.filter((function(e){return"array"!==e}));h.length&&(this.displayType+=" or "+h.join(" or "))}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(c,i)}}),Object.defineProperty(e.prototype,"initOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this;if(this.oneOf=i.map((function(i,n){var a=t.deref(i,r.refsStack,!0),s=a.resolved,o=a.refsStack,l=t.mergeAllOf(s,r.pointer+"/oneOf/"+n,o),p=isNamedDefinition(i.$ref)&&!l.title?JsonPointer.baseName(i.$ref):""+(l.title||"")+(l.const&&JSON.stringify(l.const)||"");return new e(t,__assign(__assign({},l),{title:p,allOf:[__assign(__assign({},r.schema),{oneOf:void 0,anyOf:void 0})]}),r.pointer+"/oneOf/"+n,r.options,!1,r.refsStack,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.options.simpleOneOfTypeLabel){var n=collectUniqueOneOfTypesDeep(this);this.displayType=n.join(" or ")}else this.displayType=this.oneOf.map((function(e){var i=e.typePrefix+(e.title?e.title+" ("+e.displayType+")":e.displayType);return i.indexOf(" or ")>-1&&(i="("+i+")"),i})).join(" or ")}}),Object.defineProperty(e.prototype,"initDiscriminator",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=getDiscriminator(i);this.discriminatorProp=null==n?void 0:n.propertyName;var a=t.findDerived(__spreadArray(__spreadArray([],this.schema["x-parentRefs"]||[],!0),[this.pointer],!1));if(i.oneOf)for(var s=0,o=i.oneOf;s<o.length;s++){var l=o[s];if(void 0!==l.$ref){var p=JsonPointer.baseName(l.$ref);a[l.$ref]=p}}var d=(null==n?void 0:n.mapping)||{},u=(null==n?void 0:n["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(u=!1);var f={};for(var c in d){var h=d[c];Array.isArray(f[h])?f[h].push(c):f[h]=[c]}for(var b=__assign(u?{}:__assign({},a),f),m=[],y=0,v=Object.keys(b);y<v.length;y++){var O=b[h=v[y]];if(Array.isArray(O))for(var g=0,P=O;g<P.length;g++){var w=P[g];m.push({$ref:h,name:w})}else m.push({$ref:h,name:O})}var j=Object.keys(d);0!==j.length&&(m=m.sort((function(e,i){var t=j.indexOf(e.name),r=j.indexOf(i.name);return t<0&&r<0?e.name.localeCompare(i.name):t<0?1:r<0?-1:t-r}))),this.oneOf=m.map((function(i,n){var a=i.$ref,s=i.name,o=new e(t,{$ref:a},a,r.options,!0,r.refsStack.slice(0,-1),__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}));return o.title=s,o}))}}),Object.defineProperty(e.prototype,"initConditionalOperators",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=i.if,a=i.else,s=void 0===a?{}:a,o=i.then,l=void 0===o?{}:o,p=__rest(i,["if","else","then"]),d=[{allOf:[p,l,n],title:n&&n["x-displayName"]||(null==n?void 0:n.title)||"case 1"},{allOf:[p,s],title:s&&s["x-displayName"]||(null==s?void 0:s.title)||"case 2"}];this.oneOf=d.map((function(i,n){return new e(t,__assign({},i),r.pointer+"/oneOf/"+n,r.options,!1,r.refsStack,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.oneOfType="One of"}}),__decorate([observable],e.prototype,"activeOneOf",void 0),__decorate([action],e.prototype,"activateOneOf",null),e}();export{SchemaModel};function normalizeField(e,i,t){return e||(console.warn('Field "'+i+'" is invalid, skipping.\n Field must be an object but got '+typeof e+' at "'+t+'"'),{})}function buildFields(e,i,t,r,n,a){var s=i.properties||i.prefixItems||i.items||{},o=i.patternProperties||{},l=i.additionalProperties||i.unevaluatedProperties,p=i.prefixItems?i.items:i.additionalItems,d=i.default||{},u=Object.keys(s).map((function(o){var l,p=normalizeField(s[o],o,t),u=void 0!==i.required&&i.required.indexOf(o)>-1;return new FieldModel(e,{name:i.properties?o:"["+o+"]",required:u,schema:__assign(__assign({},p),{example:(null===(l=i.example)||void 0===l?void 0:l[o])||p.example,default:void 0===p.default&&d?d[o]:p.default})},t+"/properties/"+o,r,n,a)}));return r.sortPropsAlphabetically&&(u=sortByField(u,"name")),r.requiredPropsFirst&&(u=sortByRequired(u,r.sortPropsAlphabetically?void 0:i.required)),u.push.apply(u,Object.keys(o).map((function(i){var s=normalizeField(o[i],i,t);return new FieldModel(e,{name:i,required:!1,schema:s,kind:"patternProperties"},t+"/patternProperties/"+i,r,n,a)}))),(isObject(l)||!0===l)&&u.push(new FieldModel(e,{name:(isObject(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},t+"/additionalProperties",r,n,a)),u.push.apply(u,buildAdditionalItems({parser:e,schema:p,fieldsCount:u.length,$ref:t,options:r,refsStack:n,deps:a})),u}function buildAdditionalItems(e){var i=e.parser,t=e.schema,r=void 0!==t&&t,n=e.fieldsCount,a=e.$ref,s=e.options,o=e.refsStack,l=e.deps;return"boolean"==typeof r?r?[new FieldModel(i,{name:"["+n+"...]",schema:{},kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]:Array.isArray(r)?__spreadArray([],r.map((function(e,t){return new FieldModel(i,{name:"["+(n+t)+"]",schema:e,kind:"additionalItems"},a+"/additionalItems/"+t,s,o,l)})),!0):isObject(r)?[new FieldModel(i,{name:"["+n+"...]",schema:r,kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function collectUniqueOneOfTypesDeep(e){var i=new Set;return function e(t){for(var r=0,n=t.oneOf||[];r<n.length;r++){var a=n[r];a.oneOf?e(a):a.type&&i.add(a.type)}}(e),Array.from(i.values())}
1
+ import{__assign,__decorate,__rest,__spreadArray}from"tslib";import{action,observable,makeObservable}from"mobx";import{pushRef}from"../OpenAPIParser";import{detectType,extractExtensions,humanizeConstraints,isNamedDefinition,isObject,isPrimitiveType,JsonPointer,pluralizeType,sortByField,sortByRequired}from"../../utils/";import{l}from"../Labels";import{FieldModel}from"./Field";var SchemaModel=function(){function e(e,i,t,r,n,a,s){void 0===n&&(n=!1),void 0===a&&(a=[]),void 0===s&&(s={}),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"refsStack",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"deps",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"typePrefix",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"title",{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,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isPrimitive",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCircular",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"format",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"displayFormat",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nullable",{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,"pattern",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"example",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enum",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"default",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"readOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"writeOnly",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"constraints",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oneOfType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"discriminatorProp",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeOneOf",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"rawSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schema",{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,"x-enumDescriptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"const",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentEncoding",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contentMediaType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"minItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxItems",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=i.$ref||t||"";var o=e.deref(i,a,!0),l=o.resolved,p=o.refsStack;this.refsStack=pushRef(p,this.pointer),this.rawSchema=l,this.schema=e.mergeAllOf(this.rawSchema,this.pointer,this.refsStack),this.init(e,n),r.showExtensions&&(this.extensions=extractExtensions(this.schema,r.showExtensions))}return Object.defineProperty(e.prototype,"activateOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeOneOf=e}}),Object.defineProperty(e.prototype,"hasType",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.type===e||Array.isArray(this.type)&&this.type.includes(e)}}),Object.defineProperty(e.prototype,"fields",{get:function(){if(!this.isCircular)return!this._fields&&this.hasType("object")&&(this._fields=buildFields(this.parser,this.schema,this.pointer,this.options,this.refsStack,this.deps)),this._fields},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"init",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r,n,a,s,o,p,d,u,f=this,c=this.schema;if(this.isCircular=!!c["x-circular-ref"],this.title=c.title||isNamedDefinition(this.pointer)&&JsonPointer.baseName(this.pointer)||"",this.description=c.description||"",this.type=c.type||detectType(c),this.format=c.format,this.enum=c.enum||[],this["x-enumDescriptions"]=c["x-enumDescriptions"],this.example=c.example,this.deprecated=!!c.deprecated,this.pattern=c.pattern,this.externalDocs=c.externalDocs,this.constraints=humanizeConstraints(c),this.displayFormat=this.format,this.isPrimitive=isPrimitiveType(c,this.type),this.default=c.default,this.readOnly=!!c.readOnly,this.writeOnly=!!c.writeOnly,this.const=c.const||"",this.contentEncoding=c.contentEncoding,this.contentMediaType=c.contentMediaType,this.minItems=c.minItems,this.maxItems=c.maxItems,(c.nullable||c["x-nullable"])&&(Array.isArray(this.type)&&!this.type.some((function(e){return null===e||"null"===e}))?this.type=__spreadArray(__spreadArray([],this.type,!0),["null"],!1):Array.isArray(this.type)||null===this.type&&"null"===this.type||(this.type=[this.type,"null"])),this.displayType=Array.isArray(this.type)?this.type.map((function(e){return null===e?"null":e})).join(" or "):this.type,!this.isCircular)if(c.if&&c.then||c.if&&c.else)this.initConditionalOperators(c,i);else if(t||void 0===getDiscriminator(c)){if(t&&Array.isArray(c.oneOf)&&c.oneOf.find((function(e){return e.$ref===f.pointer}))&&delete c.oneOf,void 0!==c.oneOf)return this.initOneOf(c.oneOf,i),this.oneOfType="One of",void(void 0!==c.anyOf&&console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf at "+this.pointer));if(void 0!==c.anyOf)return this.initOneOf(c.anyOf,i),void(this.oneOfType="Any of");if(this.hasType("array")&&(Array.isArray(c.items)||Array.isArray(c.prefixItems)?this._fields=buildFields(i,c,this.pointer,this.options,this.refsStack,this.deps):c.items&&(this.items=new e(i,c.items,this.pointer+"/items",this.options,!1,this.refsStack,this.deps)),this.displayType=c.prefixItems||Array.isArray(c.items)?"items":pluralizeType((null===(r=this.items)||void 0===r?void 0:r.displayType)||this.displayType),this.displayFormat=(null===(n=this.items)||void 0===n?void 0:n.format)||"",this.typePrefix=(null===(a=this.items)||void 0===a?void 0:a.typePrefix)||""+l("arrayOf"),this.title=this.title||(null===(s=this.items)||void 0===s?void 0:s.title)||"",this.isPrimitive=void 0!==(null===(o=this.items)||void 0===o?void 0:o.isPrimitive)?null===(p=this.items)||void 0===p?void 0:p.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null===(d=this.items)||void 0===d?void 0:d.example)&&(this.example=[this.items.example]),(null===(u=this.items)||void 0===u?void 0:u.isPrimitive)&&(this.enum=this.items.enum,this["x-enumDescriptions"]=this.items["x-enumDescriptions"]),Array.isArray(this.type))){var h=this.type.filter((function(e){return"array"!==e}));h.length&&(this.displayType+=" or "+h.join(" or "))}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(c,i)}}),Object.defineProperty(e.prototype,"initOneOf",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this;if(this.oneOf=i.map((function(i,n){var a=t.deref(i,r.refsStack,!0),s=a.resolved,o=a.refsStack,l=t.mergeAllOf(s,r.pointer+"/oneOf/"+n,o),p=isNamedDefinition(i.$ref)&&!l.title?JsonPointer.baseName(i.$ref):""+(l.title||"")+(l.const&&JSON.stringify(l.const)||"");return new e(t,__assign(__assign({},l),{title:p,allOf:[__assign(__assign({},r.schema),{oneOf:void 0,anyOf:void 0})]}),i.$ref||r.pointer+"/oneOf/"+n,r.options,!1,o,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.options.simpleOneOfTypeLabel){var n=collectUniqueOneOfTypesDeep(this);this.displayType=n.join(" or ")}else this.displayType=this.oneOf.map((function(e){var i=e.typePrefix+(e.title?e.title+" ("+e.displayType+")":e.displayType);return i.indexOf(" or ")>-1&&(i="("+i+")"),i})).join(" or ")}}),Object.defineProperty(e.prototype,"initDiscriminator",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=getDiscriminator(i);this.discriminatorProp=null==n?void 0:n.propertyName;var a=t.findDerived(__spreadArray(__spreadArray([],this.schema["x-parentRefs"]||[],!0),[this.pointer],!1));if(i.oneOf)for(var s=0,o=i.oneOf;s<o.length;s++){var l=o[s];if(void 0!==l.$ref){var p=JsonPointer.baseName(l.$ref);a[l.$ref]=p}}var d=(null==n?void 0:n.mapping)||{},u=(null==n?void 0:n["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(u=!1);var f={};for(var c in d){var h=d[c];Array.isArray(f[h])?f[h].push(c):f[h]=[c]}for(var b=__assign(u?{}:__assign({},a),f),m=[],y=0,v=Object.keys(b);y<v.length;y++){var O=b[h=v[y]];if(Array.isArray(O))for(var g=0,P=O;g<P.length;g++){var w=P[g];m.push({$ref:h,name:w})}else m.push({$ref:h,name:O})}var j=Object.keys(d);0!==j.length&&(m=m.sort((function(e,i){var t=j.indexOf(e.name),r=j.indexOf(i.name);return t<0&&r<0?e.name.localeCompare(i.name):t<0?1:r<0?-1:t-r}))),this.oneOf=m.map((function(i,n){var a=i.$ref,s=i.name,o=new e(t,{$ref:a},a,r.options,!0,r.refsStack.slice(0,-1),__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}));return o.title=s,o}))}}),Object.defineProperty(e.prototype,"initConditionalOperators",{enumerable:!1,configurable:!0,writable:!0,value:function(i,t){var r=this,n=i.if,a=i.else,s=void 0===a?{}:a,o=i.then,l=void 0===o?{}:o,p=__rest(i,["if","else","then"]),d=[{allOf:[p,l,n],title:n&&n["x-displayName"]||(null==n?void 0:n.title)||"case 1"},{allOf:[p,s],title:s&&s["x-displayName"]||(null==s?void 0:s.title)||"case 2"}];this.oneOf=d.map((function(i,n){return new e(t,__assign({},i),r.pointer+"/oneOf/"+n,r.options,!1,r.refsStack,__assign(__assign({},r.deps),{parentFieldFullPath:r.deps.parentFieldFullPath?r.deps.parentFieldFullPath+r.options.deepLinkSeparator+n:n.toString()}))})),this.oneOfType="One of"}}),__decorate([observable],e.prototype,"activeOneOf",void 0),__decorate([action],e.prototype,"activateOneOf",null),e}();export{SchemaModel};function normalizeField(e,i,t){return e||(console.warn('Field "'+i+'" is invalid, skipping.\n Field must be an object but got '+typeof e+' at "'+t+'"'),{})}function buildFields(e,i,t,r,n,a){var s=i.properties||i.prefixItems||i.items||{},o=i.patternProperties||{},l=i.additionalProperties||i.unevaluatedProperties,p=i.prefixItems?i.items:i.additionalItems,d=i.default||{},u=Object.keys(s).map((function(o){var l,p=normalizeField(s[o],o,t),u=void 0!==i.required&&i.required.indexOf(o)>-1;return new FieldModel(e,{name:i.properties?o:"["+o+"]",required:u,schema:__assign(__assign({},p),{example:(null===(l=i.example)||void 0===l?void 0:l[o])||p.example,default:void 0===p.default&&d?d[o]:p.default})},t+"/properties/"+o,r,n,a)}));return r.sortPropsAlphabetically&&(u=sortByField(u,"name")),r.requiredPropsFirst&&(u=sortByRequired(u,r.sortPropsAlphabetically?void 0:i.required)),u.push.apply(u,Object.keys(o).map((function(i){var s=normalizeField(o[i],i,t);return new FieldModel(e,{name:i,required:!1,schema:s,kind:"patternProperties"},t+"/patternProperties/"+i,r,n,a)}))),(isObject(l)||!0===l)&&u.push(new FieldModel(e,{name:(isObject(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},t+"/additionalProperties",r,n,a)),u.push.apply(u,buildAdditionalItems({parser:e,schema:p,fieldsCount:u.length,$ref:t,options:r,refsStack:n,deps:a})),u}function buildAdditionalItems(e){var i=e.parser,t=e.schema,r=void 0!==t&&t,n=e.fieldsCount,a=e.$ref,s=e.options,o=e.refsStack,l=e.deps;return"boolean"==typeof r?r?[new FieldModel(i,{name:"["+n+"...]",schema:{},kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]:Array.isArray(r)?__spreadArray([],r.map((function(e,t){return new FieldModel(i,{name:"["+(n+t)+"]",schema:e,kind:"additionalItems"},a+"/additionalItems/"+t,s,o,l)})),!0):isObject(r)?[new FieldModel(i,{name:"["+n+"...]",schema:r,kind:"additionalItems"},a+"/additionalItems",s,o,l)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function collectUniqueOneOfTypesDeep(e){var i=new Set;return function e(t){for(var r=0,n=t.oneOf||[];r<n.length;r++){var a=n[r];a.oneOf?e(a):a.type&&i.add(a.type)}}(e),Array.from(i.values())}
2
2
  //# sourceMappingURL=Schema.js.map
@@ -280,6 +280,7 @@ export interface OpenAPISecurityScheme {
280
280
  scopes: Record<string, string>;
281
281
  authorizationUrl: string;
282
282
  'x-defaultClientId'?: string;
283
+ 'x-tokenEndpointAuthMethod'?: string;
283
284
  };
284
285
  password?: {
285
286
  refreshUrl?: string;
@@ -292,6 +293,7 @@ export interface OpenAPISecurityScheme {
292
293
  scopes: Record<string, string>;
293
294
  tokenUrl: string;
294
295
  'x-defaultClientId'?: string;
296
+ 'x-tokenEndpointAuthMethod'?: string;
295
297
  };
296
298
  authorizationCode?: {
297
299
  refreshUrl?: string;
@@ -299,6 +301,7 @@ export interface OpenAPISecurityScheme {
299
301
  authorizationUrl: string;
300
302
  tokenUrl: string;
301
303
  'x-defaultClientId'?: string;
304
+ 'x-tokenEndpointAuthMethod'?: string;
302
305
  };
303
306
  };
304
307
  openIdConnectUrl?: string;
@@ -1,10 +1,11 @@
1
+ import type { ExtendedOpenAPIOperation } from '../services';
1
2
  import type { FieldModel } from '../services/models';
2
3
  import type { OpenAPIParser } from '../services/OpenAPIParser';
3
- import type { OpenAPIEncoding, OpenAPIMediaType, OpenAPIOperation, OpenAPIParameter, OpenAPIParameterStyle, OpenAPISchema, OpenAPIServer, Referenced, OpenAPIResponse, OpenAPIRequestBody } from '../types';
4
+ import type { OpenAPIEncoding, OpenAPIMediaType, OpenAPIParameter, OpenAPIParameterStyle, OpenAPISchema, OpenAPIServer, Referenced, OpenAPIResponse, OpenAPIRequestBody } from '../types';
4
5
  export declare function isStatusCode(statusCode: string): boolean;
5
6
  export declare function getStatusCodeType(statusCode: string | number, defaultAsError?: boolean): string;
6
7
  export declare function isOperationName(key: string): boolean;
7
- export declare function getOperationSummary(operation: OpenAPIOperation): string;
8
+ export declare function getOperationSummary(operation: ExtendedOpenAPIOperation): string;
8
9
  export declare function detectType(schema: OpenAPISchema): string;
9
10
  export declare function isPrimitiveType(schema: OpenAPISchema, type?: string | string[] | undefined): boolean;
10
11
  export declare function isJsonLike(contentType: string): boolean;
@@ -1,2 +1,2 @@
1
- import{__assign,__spreadArray}from"tslib";import{dirname}from"path";import UrlTemplate from"url-template";import{MediaTypes}from"../../../types";import{IS_BROWSER}from"./dom";import{deleteEmptyArrayItem,isArrayOfObjects,isNumeric,removeQueryStringAndHash,resolveUrl}from"./helpers";function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}export function isStatusCode(e){return"default"===e||isNumeric(e)||isWildcardStatusCode(e)}export function getStatusCodeType(e,r){if(void 0===r&&(r=!1),"default"===e)return r?"error":"success";var t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");var i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}var operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};export function isOperationName(e){return e in operationNames}export function getOperationSummary(e){return e.summary||e.operationId||e.description&&e.description.substring(0,50)||"<no summary>"}var schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};export function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;for(var r=0,t=Object.keys(schemaKeywordTypes);r<t.length;r++){var i=t[r],n=schemaKeywordTypes[i];if(void 0!==e[i])return n}return"any"}export function isPrimitiveType(e,r){if(void 0===r&&(r=e.type),e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;var t=!0,i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}export function isJsonLike(e){return-1!==e.search(/json/i)}export function isFormUrlEncoded(e){return e===MediaTypes.URL_ENCODED}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((function(e){return e.toString()})).join(t):"object"==typeof e?Object.keys(e).map((function(r){return""+r+t+e[r]})).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((function(t){return e[t]?r+"["+t+"]="+e[t]:void 0})).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){var i,n="__redoc_param_name__",a=r?"*":"";return UrlTemplate.parse("{?"+n+a+"}").expand((i={},i[n]=t,i)).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){var t,i=e?"*":"",n="__redoc_param_name__",a=UrlTemplate.parse("{"+n+i+"}");return decodeURIComponent(a.expand(((t={})[n]=r,t)))}export function urlFormEncodePayload(e,r){if(void 0===r&&(r={}),Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((function(t){var i=e[t],n=r[t]||{},a=n.style,o=void 0===a?"form":a,s=n.explode,u=void 0===s||s;switch(o){case"form":return serializeFormValue(t,u,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+o),""}})).join("&")}function serializePathParameter(e,r,t,i){var n,a=t?"*":"",o="";"label"===r?o=".":"matrix"===r&&(o=";");var s="__redoc_param_name__";return UrlTemplate.parse("{"+o+s+a+"}").expand((n={},n[s]=i,n)).replace(/__redoc_param_name__/g,e)}export function serializeQueryParameter(e,r,t,i){var n=function(n){switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):e+"="+n.join("%20"):(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):e+"="+n.join("|"):(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return isArrayOfObjects(i)&&(i=deleteEmptyArrayItem(i).map((function(e){return n(e)}))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}export function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn("Parameter serialization as "+r+" is not supported"),"")}export function serializeParameterValue(e,r){var t=e.name,i=e.style,n=e.explode,a=void 0!==n&&n,o=e.serializationMime;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return t+"="+serializeParameterValueWithMime(r,o);default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn("Missing style attribute or content for parameter "+t),"";switch(e.in){case"path":return serializePathParameter(t,i,a,r);case"query":return serializeQueryParameter(t,i,a,r);case"header":return serializeHeaderParameter(i,a,r);case"cookie":return serializeCookieParameter(t,i,a,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}export function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}var DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;export function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}export function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0!==e){var r=e.toString(10);return/^0\.0*1$/.test(r)?"decimal places <= "+r.split(".")[1].length:"multiple of "+r}}function humanizeRangeConstraint(e,r,t){var i;return void 0!==r&&void 0!==t?i=r===t?"= "+r+" "+e:"[ "+r+" .. "+t+" ] "+e:void 0!==t?i="<= "+t+" "+e:void 0!==r&&(i=1===r?"non-empty":">= "+r+" "+e),i}export function humanizeNumberRange(e){var r,t,i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,a="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,o="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?(a?"( ":"[ ")+i+" .. "+n+(o?" )":" ]"):void 0!==n?(o?"< ":"<= ")+n:void 0!==i?(a?"> ":">= ")+i:void 0}export function humanizeConstraints(e){var r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);var i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);var n=humanizeRangeConstraint("properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);var a=humanizeMultipleOfConstraint(e.multipleOf);void 0!==a&&r.push(a);var o=humanizeNumberRange(e);return void 0!==o&&r.push(o),e.uniqueItems&&r.push("unique"),r}export function sortByRequired(e,r){void 0===r&&(r=[]);var t=[],i=[],n=[];return e.forEach((function(e){e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort((function(e,t){return r.indexOf(e.name)-r.indexOf(t.name)})),__spreadArray(__spreadArray(__spreadArray([],i,!0),n,!0),t,!0)}export function sortByField(e,r){return __spreadArray([],e,!0).sort((function(e,t){return e[r].localeCompare(t[r])}))}export function mergeParams(e,r,t){void 0===r&&(r=[]),void 0===t&&(t=[]);var i={};return t.forEach((function(r){r=e.deref(r).resolved,i[r.name+"_"+r.in]=!0})),(r=r.filter((function(r){return r=e.deref(r).resolved,!i[r.name+"_"+r.in]}))).concat(t)}export function mergeSimilarMediaTypes(e){var r={};return Object.keys(e).forEach((function(t){var i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=__assign(__assign({},r[n]),i):r[n]=i})),r}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(/(?:{)([\w-.]+)(?:})/g,(function(e,t){return r[t]&&r[t].default||e}))}export function normalizeServers(e,r){var t=void 0===e?removeQueryStringAndHash(function(){if(!IS_BROWSER)return"";var e=window.location.href;return e.endsWith(".html")?dirname(e):e}()):dirname(e);return 0===r.length&&(r=[{url:"/"}]),r.map((function(e){return __assign(__assign({},e),{url:(r=e.url,resolveUrl(t,r)),description:e.description||""});var r}))}export var SECURITY_DEFINITIONS_COMPONENT_NAME="security-definitions";export var SECURITY_DEFINITIONS_JSX_NAME="SecurityDefinitions";export var SCHEMA_DEFINITION_JSX_NAME="SchemaDefinition";export var shortenHTTPVerb=function(e){return{delete:"del",options:"opts"}[e]||e};export function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideTryItPanel":!0}}export function extractExtensions(e,r){return Object.keys(e).filter((function(e){return!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1})).reduce((function(r,t){return r[t]=e[t],r}),{})}export function pluralizeType(e){return e.split(" or ").map((function(e){return e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2")})).join(" or ")}export function getContentWithLegacyExamples(e){var r=e.content,t=e["x-examples"],i=e["x-example"];if(t){r=__assign({},r);for(var n=0,a=Object.keys(t);n<a.length;n++){var o=t[m=a[n]];r[m]=__assign(__assign({},r[m]),{examples:o})}}else if(i){r=__assign({},r);for(var s=0,u=Object.keys(i);s<u.length;s++){var m,l=i[m=u[s]];r[m]=__assign(__assign({},r[m]),{example:l})}}return r}
1
+ import{__assign,__spreadArray}from"tslib";import{dirname}from"path";import UrlTemplate from"url-template";import{MediaTypes}from"../../../types";import{IS_BROWSER}from"./dom";import{deleteEmptyArrayItem,isArrayOfObjects,isNumeric,removeQueryStringAndHash,resolveUrl}from"./helpers";function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}export function isStatusCode(e){return"default"===e||isNumeric(e)||isWildcardStatusCode(e)}export function getStatusCodeType(e,r){if(void 0===r&&(r=!1),"default"===e)return r?"error":"success";var t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");var i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}var operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};export function isOperationName(e){return e in operationNames}export function getOperationSummary(e){return e.summary||e.operationId||e.description&&e.description.substring(0,50)||e.pathName||"<no summary>"}var schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};export function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;for(var r=0,t=Object.keys(schemaKeywordTypes);r<t.length;r++){var i=t[r],n=schemaKeywordTypes[i];if(void 0!==e[i])return n}return"any"}export function isPrimitiveType(e,r){if(void 0===r&&(r=e.type),e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;var t=!0,i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}export function isJsonLike(e){return-1!==e.search(/json/i)}export function isFormUrlEncoded(e){return e===MediaTypes.URL_ENCODED}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((function(e){return e.toString()})).join(t):"object"==typeof e?Object.keys(e).map((function(r){return""+r+t+e[r]})).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((function(t){return e[t]?r+"["+t+"]="+e[t]:void 0})).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){var i,n="__redoc_param_name__",a=r?"*":"";return UrlTemplate.parse("{?"+n+a+"}").expand((i={},i[n]=t,i)).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){var t,i=e?"*":"",n="__redoc_param_name__",a=UrlTemplate.parse("{"+n+i+"}");return decodeURIComponent(a.expand(((t={})[n]=r,t)))}export function urlFormEncodePayload(e,r){if(void 0===r&&(r={}),Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((function(t){var i=e[t],n=r[t]||{},a=n.style,o=void 0===a?"form":a,s=n.explode,u=void 0===s||s;switch(o){case"form":return serializeFormValue(t,u,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+o),""}})).join("&")}function serializePathParameter(e,r,t,i){var n,a=t?"*":"",o="";"label"===r?o=".":"matrix"===r&&(o=";");var s="__redoc_param_name__";return UrlTemplate.parse("{"+o+s+a+"}").expand((n={},n[s]=i,n)).replace(/__redoc_param_name__/g,e)}export function serializeQueryParameter(e,r,t,i){var n=function(n){switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):e+"="+n.join("%20"):(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):e+"="+n.join("|"):(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return isArrayOfObjects(i)&&(i=deleteEmptyArrayItem(i).map((function(e){return n(e)}))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}export function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn("Parameter serialization as "+r+" is not supported"),"")}export function serializeParameterValue(e,r){var t=e.name,i=e.style,n=e.explode,a=void 0!==n&&n,o=e.serializationMime;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return t+"="+serializeParameterValueWithMime(r,o);default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn("Missing style attribute or content for parameter "+t),"";switch(e.in){case"path":return serializePathParameter(t,i,a,r);case"query":return serializeQueryParameter(t,i,a,r);case"header":return serializeHeaderParameter(i,a,r);case"cookie":return serializeCookieParameter(t,i,a,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}export function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}var DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;export function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}export function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0!==e){var r=e.toString(10);return/^0\.0*1$/.test(r)?"decimal places <= "+r.split(".")[1].length:"multiple of "+r}}function humanizeRangeConstraint(e,r,t){var i;return void 0!==r&&void 0!==t?i=r===t?"= "+r+" "+e:"[ "+r+" .. "+t+" ] "+e:void 0!==t?i="<= "+t+" "+e:void 0!==r&&(i=1===r?"non-empty":">= "+r+" "+e),i}export function humanizeNumberRange(e){var r,t,i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,a="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,o="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?(a?"( ":"[ ")+i+" .. "+n+(o?" )":" ]"):void 0!==n?(o?"< ":"<= ")+n:void 0!==i?(a?"> ":">= ")+i:void 0}export function humanizeConstraints(e){var r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);var i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);var n=humanizeRangeConstraint("properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);var a=humanizeMultipleOfConstraint(e.multipleOf);void 0!==a&&r.push(a);var o=humanizeNumberRange(e);return void 0!==o&&r.push(o),e.uniqueItems&&r.push("unique"),r}export function sortByRequired(e,r){void 0===r&&(r=[]);var t=[],i=[],n=[];return e.forEach((function(e){e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort((function(e,t){return r.indexOf(e.name)-r.indexOf(t.name)})),__spreadArray(__spreadArray(__spreadArray([],i,!0),n,!0),t,!0)}export function sortByField(e,r){return __spreadArray([],e,!0).sort((function(e,t){return e[r].localeCompare(t[r])}))}export function mergeParams(e,r,t){void 0===r&&(r=[]),void 0===t&&(t=[]);var i={};return t.forEach((function(r){r=e.deref(r).resolved,i[r.name+"_"+r.in]=!0})),(r=r.filter((function(r){return r=e.deref(r).resolved,!i[r.name+"_"+r.in]}))).concat(t)}export function mergeSimilarMediaTypes(e){var r={};return Object.keys(e).forEach((function(t){var i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=__assign(__assign({},r[n]),i):r[n]=i})),r}export function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(/(?:{)([\w-.]+)(?:})/g,(function(e,t){return r[t]&&r[t].default||e}))}export function normalizeServers(e,r){var t=void 0===e?removeQueryStringAndHash(function(){if(!IS_BROWSER)return"";var e=window.location.href;return e.endsWith(".html")?dirname(e):e}()):dirname(e);return 0===r.length&&(r=[{url:"/"}]),r.map((function(e){return __assign(__assign({},e),{url:(r=e.url,resolveUrl(t,r)),description:e.description||""});var r}))}export var SECURITY_DEFINITIONS_COMPONENT_NAME="security-definitions";export var SECURITY_DEFINITIONS_JSX_NAME="SecurityDefinitions";export var SCHEMA_DEFINITION_JSX_NAME="SchemaDefinition";export var shortenHTTPVerb=function(e){return{delete:"del",options:"opts"}[e]||e};export function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0}}export function extractExtensions(e,r){return Object.keys(e).filter((function(e){return!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1})).reduce((function(r,t){return r[t]=e[t],r}),{})}export function pluralizeType(e){return e.split(" or ").map((function(e){return e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2")})).join(" or ")}export function getContentWithLegacyExamples(e){var r=e.content,t=e["x-examples"],i=e["x-example"];if(t){r=__assign({},r);for(var n=0,a=Object.keys(t);n<a.length;n++){var o=t[m=a[n]];r[m]=__assign(__assign({},r[m]),{examples:o})}}else if(i){r=__assign({},r);for(var s=0,u=Object.keys(i);s<u.length;s++){var m,l=i[m=u[s]];r[m]=__assign(__assign({},r[m]),{example:l})}}return r}
2
2
  //# sourceMappingURL=openapi.js.map
@@ -0,0 +1 @@
1
+ export declare function strikethroughText(text: string): string;
@@ -0,0 +1,2 @@
1
+ export function strikethroughText(t){return t.split("").map((function(t){return t+"̵"})).join("")}
2
+ //# sourceMappingURL=string.js.map
@@ -9,7 +9,7 @@ export declare class OAuth2 {
9
9
  successCallback: OAuth2SuccessCallback;
10
10
  errorCallback: OAuth2ErrorCallback;
11
11
  }): void;
12
- static authorizeAuthorizationCode({ authorizationUrl, tokenUrl, clientId, clientSecret, codeVerifier, codeChallenge, scopes, extraParams, routingBasePath, redirectUri, successCallback, errorCallback, }: {
12
+ static authorizeAuthorizationCode({ authorizationUrl, tokenUrl, clientId, clientSecret, codeVerifier, codeChallenge, scopes, extraParams, extraHeaders, routingBasePath, redirectUri, successCallback, errorCallback, }: {
13
13
  authorizationUrl: string;
14
14
  tokenUrl: string;
15
15
  clientId: string;
@@ -20,16 +20,18 @@ export declare class OAuth2 {
20
20
  redirectUri?: string | null;
21
21
  routingBasePath?: string;
22
22
  extraParams?: Record<string, string>;
23
+ extraHeaders?: Record<string, string>;
23
24
  successCallback: OAuth2SuccessCallback;
24
25
  errorCallback: OAuth2ErrorCallback;
25
26
  }): void;
26
27
  static clearRedirectData(flow: 'implicit' | 'authorizationCode'): void;
27
- static authorizeClientCredentials({ tokenUrl, clientId, clientSecret, scopes, extraParams, successCallback, errorCallback, }: {
28
+ static authorizeClientCredentials({ tokenUrl, clientId, clientSecret, scopes, extraParams, extraHeaders, successCallback, errorCallback, }: {
28
29
  tokenUrl: string;
29
30
  clientId: string;
30
31
  clientSecret: string;
31
32
  scopes?: string[];
32
33
  extraParams?: Record<string, string>;
34
+ extraHeaders?: Record<string, string>;
33
35
  successCallback: OAuth2SuccessCallback;
34
36
  errorCallback: OAuth2ErrorCallback;
35
37
  }): Promise<void>;
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__generator}from"tslib";import*as qs from"querystring";import{base64UrlEncode,encodeState,sha256}from"./utils";var DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html",OAuth2=function(){function e(){}return Object.defineProperty(e,"authorizeImplicit",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=r.authorizationUrl,a=r.clientId,n=r.scopes,i=r.extraParams,s=void 0===i?{}:i,o=r.routingBasePath,c=r.redirectUri,l=r.successCallback,u=r.errorCallback,d=encodeState({date:(new Date).toString()}),h=new URL(t),_="/"===o?"":o,p=""+window.location.origin+_+DEFAULT_OAUTH2_REDIRECT_PAGE;for(var f in h.searchParams.set("client_id",a),h.searchParams.set("redirect_uri",c||p),h.searchParams.set("response_type","token"),h.searchParams.set("state",d),Array.isArray(n)&&h.searchParams.set("scope",n.join(" ")),s)h.searchParams.set(f,s[f]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:t,clientId:a,scopes:n},state:d,successCallback:function(r){l(r),e.clearRedirectData("implicit")},errorCallback:function(r){u(r),e.clearRedirectData("implicit")}},window.open(h.toString())}}),Object.defineProperty(e,"authorizeAuthorizationCode",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this,a=r.authorizationUrl,n=r.tokenUrl,i=r.clientId,s=r.clientSecret,o=r.codeVerifier,c=r.codeChallenge,l=r.scopes,u=r.extraParams,d=void 0===u?{}:u,h=r.routingBasePath,_=r.redirectUri,p=r.successCallback,f=r.errorCallback,b=new URL(a),w="/"===h?"":h,m=""+window.location.origin+w+DEFAULT_OAUTH2_REDIRECT_PAGE,v=encodeState({date:(new Date).toString()});for(var g in b.searchParams.set("client_id",i),b.searchParams.set("redirect_uri",_||m),b.searchParams.set("response_type","code"),b.searchParams.set("state",v),Array.isArray(l)&&b.searchParams.set("scope",l.join(" ")),c&&(b.searchParams.set("code_challenge",c),b.searchParams.set("code_challenge_method","S256")),d)b.searchParams.set(g,d[g]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:a,clientId:i,scopes:l},state:v,successCallback:function(r){var a=r.auth_code;return __awaiter(t,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},body:qs.stringify(__assign(__assign(__assign({client_id:i,client_secret:s},o&&{code_verifier:o}),{code:a,grant_type:"authorization_code",redirect_uri:_||m}),d))})];case 1:return[4,handleResponseCallback(t.sent(),p,f)];case 2:return t.sent(),[3,4];case 3:return r=t.sent(),f(r),[3,4];case 4:return e.clearRedirectData("authorizationCode"),[2]}}))}))},errorCallback:function(r){f(r),e.clearRedirectData("authorizationCode")}},window.open(b.toString())}}),Object.defineProperty(e,"clearRedirectData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:function(){},errorCallback:function(){}}}}),Object.defineProperty(e,"authorizeClientCredentials",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.tokenUrl,t=e.clientId,a=e.clientSecret,n=e.scopes,i=void 0===n?[]:n,s=e.extraParams,o=void 0===s?{}:s,c=e.successCallback,l=e.errorCallback;return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,fetch(r,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},body:qs.stringify(__assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(i)?i.join(" "):void 0},o))})];case 1:return[4,handleResponseCallback(n.sent(),c,l)];case 2:return n.sent(),[3,4];case 3:return e=n.sent(),l(e),[3,4];case 4:return[2]}}))}))}}),e}();export{OAuth2};export var oauth2Instance=new OAuth2;function handleResponseCallback(e,r,t){return __awaiter(this,void 0,void 0,(function(){var a,n,i,s,o,c;return __generator(this,(function(l){switch(l.label){case 0:return e.ok?[4,e.json()]:[3,2];case 1:return a=l.sent(),r(a),[3,7];case 2:return n=t,i=Error.bind,(e.headers.get("Content-Type")||"").indexOf("json")>-1?(c=(o=JSON).stringify,[4,e.json()]):[3,4];case 3:return s=c.apply(o,[l.sent()]),[3,6];case 4:return[4,e.text()];case 5:s=l.sent(),l.label=6;case 6:n.apply(void 0,[new(i.apply(Error,[void 0,s]))]),l.label=7;case 7:return[2]}}))}))}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return r=base64UrlEncode,[4,sha256(e)];case 1:return[2,r.apply(void 0,[t.sent()])]}}))}))}
1
+ import{__assign,__awaiter,__generator}from"tslib";import*as qs from"querystring";import{base64UrlEncode,encodeState,sha256}from"./utils";var DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html",OAuth2=function(){function e(){}return Object.defineProperty(e,"authorizeImplicit",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=r.authorizationUrl,a=r.clientId,n=r.scopes,i=r.extraParams,s=void 0===i?{}:i,o=r.routingBasePath,c=r.redirectUri,l=r.successCallback,u=r.errorCallback,d=encodeState({date:(new Date).toString()}),h=new URL(t),_="/"===o?"":o,p=""+window.location.origin+_+DEFAULT_OAUTH2_REDIRECT_PAGE;for(var f in h.searchParams.set("client_id",a),h.searchParams.set("redirect_uri",c||p),h.searchParams.set("response_type","token"),h.searchParams.set("state",d),Array.isArray(n)&&h.searchParams.set("scope",n.join(" ")),s)h.searchParams.set(f,s[f]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:t,clientId:a,scopes:n},state:d,successCallback:function(r){l(r),e.clearRedirectData("implicit")},errorCallback:function(r){u(r),e.clearRedirectData("implicit")}},window.open(h.toString())}}),Object.defineProperty(e,"authorizeAuthorizationCode",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this,a=r.authorizationUrl,n=r.tokenUrl,i=r.clientId,s=r.clientSecret,o=r.codeVerifier,c=r.codeChallenge,l=r.scopes,u=r.extraParams,d=void 0===u?{}:u,h=r.extraHeaders,_=void 0===h?{}:h,p=r.routingBasePath,f=r.redirectUri,b=r.successCallback,w=r.errorCallback,m=new URL(a),v="/"===p?"":p,g=""+window.location.origin+v+DEFAULT_OAUTH2_REDIRECT_PAGE,C=encodeState({date:(new Date).toString()});for(var y in m.searchParams.set("client_id",i),m.searchParams.set("redirect_uri",f||g),m.searchParams.set("response_type","code"),m.searchParams.set("state",C),Array.isArray(l)&&m.searchParams.set("scope",l.join(" ")),c&&(m.searchParams.set("code_challenge",c),m.searchParams.set("code_challenge_method","S256")),d)m.searchParams.set(y,d[y]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:a,clientId:i,scopes:l},state:C,successCallback:function(r){var a=r.auth_code;return __awaiter(t,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,fetch(n,{method:"POST",headers:__assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},_),body:qs.stringify(__assign(__assign(__assign({client_id:i,client_secret:s},o&&{code_verifier:o}),{code:a,grant_type:"authorization_code",redirect_uri:f||g}),d))})];case 1:return[4,handleResponseCallback(t.sent(),b,w)];case 2:return t.sent(),[3,4];case 3:return r=t.sent(),w(r),[3,4];case 4:return e.clearRedirectData("authorizationCode"),[2]}}))}))},errorCallback:function(r){w(r),e.clearRedirectData("authorizationCode")}},window.open(m.toString())}}),Object.defineProperty(e,"clearRedirectData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:function(){},errorCallback:function(){}}}}),Object.defineProperty(e,"authorizeClientCredentials",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.tokenUrl,t=e.clientId,a=e.clientSecret,n=e.scopes,i=void 0===n?[]:n,s=e.extraParams,o=void 0===s?{}:s,c=e.extraHeaders,l=void 0===c?{}:c,u=e.successCallback,d=e.errorCallback;return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,fetch(r,{method:"POST",headers:__assign({"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},l),body:qs.stringify(__assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(i)?i.join(" "):void 0},o))})];case 1:return[4,handleResponseCallback(n.sent(),u,d)];case 2:return n.sent(),[3,4];case 3:return e=n.sent(),d(e),[3,4];case 4:return[2]}}))}))}}),e}();export{OAuth2};export var oauth2Instance=new OAuth2;function handleResponseCallback(e,r,t){return __awaiter(this,void 0,void 0,(function(){var a,n,i,s,o,c;return __generator(this,(function(l){switch(l.label){case 0:return e.ok?[4,e.json()]:[3,2];case 1:return a=l.sent(),r(a),[3,7];case 2:return n=t,i=Error.bind,(e.headers.get("Content-Type")||"").indexOf("json")>-1?(c=(o=JSON).stringify,[4,e.json()]):[3,4];case 3:return s=c.apply(o,[l.sent()]),[3,6];case 4:return[4,e.text()];case 5:s=l.sent(),l.label=6;case 6:n.apply(void 0,[new(i.apply(Error,[void 0,s]))]),l.label=7;case 7:return[2]}}))}))}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return r=base64UrlEncode,[4,sha256(e)];case 1:return[2,r.apply(void 0,[t.sent()])]}}))}))}
2
2
  //# sourceMappingURL=OAuth2.js.map
@@ -21,7 +21,7 @@ export interface ProviderMetadata {
21
21
  request_object_signing_alg_values_supported?: string[];
22
22
  request_object_encryption_alg_values_supported?: string[];
23
23
  request_object_encryption_enc_values_supported?: string[];
24
- token_endpoint_auth_methods_supported?: string[];
24
+ token_endpoint_auth_methods_supported?: string[] | string;
25
25
  token_endpoint_auth_signing_alg_values_supported?: string[];
26
26
  display_values_supported?: string[];
27
27
  claim_types_supported?: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/reference-docs",
3
- "version": "2.29.0",
3
+ "version": "2.31.1",
4
4
  "description": "Redocly Reference Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",