@redocly/reference-docs 1.5.12 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +27 -27
  2. package/dist/console.redocly-reference-docs.min.js +7 -7
  3. package/dist/oauth2-redirect.js +1 -1
  4. package/dist/redocly-reference-docs.min.js +6 -6
  5. package/lib/components/console/AuthPanel.js +1 -1
  6. package/lib/components/console/Console.js +1 -1
  7. package/lib/components/console/OAuth2Implicit.d.ts +1 -0
  8. package/lib/components/console/OAuth2Implicit.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.d.ts +1 -0
  12. package/lib/components/console/OpenIDConnect.js +1 -1
  13. package/lib/components/console/OperationParameters.js +1 -1
  14. package/lib/redoc-lib/src/services/RedocNormalizedOptions.d.ts +2 -0
  15. package/lib/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
  16. package/lib/redoc-lib/src/services/models/MediaType.d.ts +1 -0
  17. package/lib/redoc-lib/src/services/models/MediaType.js +1 -1
  18. package/lib/redoc-lib/src/services/models/SecurityRequirement.d.ts +1 -0
  19. package/lib/redoc-lib/src/types/open-api.d.ts +5 -0
  20. package/lib/redoc-lib/src/utils/openapi.js +1 -1
  21. package/lib/services/ProStore.js +1 -1
  22. package/lib/services/check.d.ts +1 -0
  23. package/lib/services/check.js +1 -1
  24. package/lib/services/code-samples/generator.js +1 -1
  25. package/lib/utils.d.ts +1 -1
  26. package/lib/utils.js +1 -1
  27. package/lib-esm/components/console/AuthPanel.js +1 -1
  28. package/lib-esm/components/console/Console.js +1 -1
  29. package/lib-esm/components/console/OAuth2Implicit.d.ts +1 -0
  30. package/lib-esm/components/console/OAuth2Implicit.js +1 -1
  31. package/lib-esm/components/console/OAuth2TokenInput.d.ts +1 -0
  32. package/lib-esm/components/console/OAuth2TokenInput.js +1 -1
  33. package/lib-esm/components/console/OpenIDConnect.d.ts +1 -0
  34. package/lib-esm/components/console/OpenIDConnect.js +1 -1
  35. package/lib-esm/components/console/OperationParameters.js +1 -1
  36. package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.d.ts +2 -0
  37. package/lib-esm/redoc-lib/src/services/RedocNormalizedOptions.js +1 -1
  38. package/lib-esm/redoc-lib/src/services/models/MediaType.d.ts +1 -0
  39. package/lib-esm/redoc-lib/src/services/models/MediaType.js +1 -1
  40. package/lib-esm/redoc-lib/src/services/models/SecurityRequirement.d.ts +1 -0
  41. package/lib-esm/redoc-lib/src/types/open-api.d.ts +5 -0
  42. package/lib-esm/redoc-lib/src/utils/openapi.js +1 -1
  43. package/lib-esm/services/ProStore.js +1 -1
  44. package/lib-esm/services/check.d.ts +1 -0
  45. package/lib-esm/services/check.js +1 -1
  46. package/lib-esm/services/code-samples/generator.js +1 -1
  47. package/lib-esm/utils.d.ts +1 -1
  48. package/lib-esm/utils.js +1 -1
  49. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),PasswordInput_1=require("../common/PasswordInput"),utils_1=require("../../utils"),OAuth2TokenInput_1=require("./OAuth2TokenInput"),OAuth2Implicit_1=require("./OAuth2Implicit"),OpenIDConnect_1=require("./OpenIDConnect"),form_1=require("../common/form"),dropdown_1=require("../common/dropdown"),Labels_1=require("../../redoc-lib/src/services/Labels");function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=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:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),utils_1.toStorage("securityRequirementName",e.value)}}),t}return tslib_1.__extends(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=utils_1.fromStorage("securityRequirementName"),a=t.findIndex((function(e){return e===r}));return{activeScheme:a<0?0:a}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state.activeScheme,r=this.props.operation.security,a=this.props.form.errors,o=(void 0===a?{}:a).auth,n=r.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).map((function(e,t){return{value:e,idx:t}}));return 0===n.length?null:React.createElement(React.Fragment,null,n.length>1&&React.createElement(dropdown_1.CompactInvertedSimpleDropdown,{options:n,value:n[t].value,onChange:this.handleSchemeChange})||null,r[t].schemes.map((function(t){var r,a,n=t.id;if("apiKey"===t.type)return React.createElement(form_1.FormTable,{key:n},React.createElement(form_1.FormRow,{key:n},React.createElement(form_1.FormLabel,null," ",t.name,": "),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n,validate:requiredValidator,initialValue:fromCookie(t)||utils_1.fromStorage("auth."+n),validateOnBlur:!0,validateOnChange:!0}),o&&o[n]?React.createElement(form_1.FormError,null,o[n]):"")));if("http"===t.type){if("basic"===t.scheme)return React.createElement(form_1.FormTable,{key:n},React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," ",Labels_1.l("tryItAuthBasicUsername"),": "),React.createElement(form_1.FormControlWrap,null,React.createElement(form_1.FormText,{field:"auth."+n+".username",validate:requiredValidator,initialValue:utils_1.fromStorage("auth."+n+".username"),validateOnBlur:!0,validateOnChange:!0}),o&&o[n]&&o[n].username?React.createElement(form_1.FormError,null,o[n].username):"")),React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," ",Labels_1.l("tryItAuthBasicPassword"),": "),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n+".password",validate:requiredValidator,initialValue:utils_1.fromStorage("auth."+n+".password"),validateOnBlur:!0,validateOnChange:!0}),o&&o[n]&&o[n].password?React.createElement(form_1.FormError,null,o[n].password):"")));if("bearer"===t.scheme)return React.createElement(form_1.FormTable,{key:n},React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Bearer Token "),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n,placeholder:"(without 'Bearer')",validate:requiredValidator,initialValue:utils_1.fromStorage("auth."+n),validateOnBlur:!0,validateOnChange:!0}),o&&o[n]?React.createElement(form_1.FormError,null,o[n]):"")))}else{if("oauth2"===t.type&&t.flows&&t.flows.clientCredentials)return React.createElement(OAuth2TokenInput_1.default,{key:n,flow:t.flows.clientCredentials,server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi});if("oauth2"===t.type&&t.flows&&t.flows.implicit)return React.createElement(OAuth2Implicit_1.OAuth2Implicit,{key:n,authorizationUrl:t.flows.implicit.authorizationUrl,scopes:Object.keys((null===(a=null===(r=null==t?void 0:t.flows)||void 0===r?void 0:r.implicit)||void 0===a?void 0:a.scopes)||{}),server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi});if("oauth2"===t.type){var l=utils_1.fromStorage("auth."+n+".token");return l=l?JSON.parse(l):{},React.createElement(form_1.FormTable,{key:n},React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Access Token Type: "),React.createElement(form_1.FormControlWrap,null,React.createElement(form_1.FormText,{field:"auth."+n+".token.token_type",initialValue:l.token_type||"Bearer"}))),React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Access Token: "),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n+".token.access_token",validate:requiredValidator,initialValue:l.access_token,validateOnBlur:!0,validateOnChange:!0}),o&&o[n]&&o[n].token&&o[n].token.access_token?React.createElement(form_1.FormError,null,o[n].token.access_token):"")))}if("openIdConnect"===t.type)return React.createElement(OpenIDConnect_1.OpenIDConnect,{key:n,server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,scheme:t})}})),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);exports.AuthPanel=AuthPanel;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),PasswordInput_1=require("../common/PasswordInput"),utils_1=require("../../utils"),OAuth2TokenInput_1=require("./OAuth2TokenInput"),OAuth2Implicit_1=require("./OAuth2Implicit"),OpenIDConnect_1=require("./OpenIDConnect"),form_1=require("../common/form"),dropdown_1=require("../common/dropdown"),Labels_1=require("../../redoc-lib/src/services/Labels");function requiredValidator(e){if(!e)return"Field is required"}var getCookie=function(e){var t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name)}var AuthPanel=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:{activeScheme:0}}),Object.defineProperty(t,"handleSchemeChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){t.setState({activeScheme:e.idx}),utils_1.toStorage("securityRequirementName",e.value)}}),t}return tslib_1.__extends(t,e),Object.defineProperty(t,"getDerivedStateFromProps",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.operation.security.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})),r=utils_1.fromStorage("securityRequirementName"),a=t.findIndex((function(e){return e===r}));return{activeScheme:a<0?0:a}}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this.state.activeScheme,r=this.props.operation.security,a=this.props.form.errors,o=(void 0===a?{}:a).auth,n=r.map((function(e){return e.schemes.map((function(e){return e.id})).join(" and ")})).map((function(e,t){return{value:e,idx:t}}));return 0===n.length?null:React.createElement(React.Fragment,null,n.length>1&&React.createElement(dropdown_1.CompactInvertedSimpleDropdown,{options:n,value:n[t].value,onChange:this.handleSchemeChange})||null,r[t].schemes.map((function(t){var r,a,n=t.id;if("apiKey"===t.type)return React.createElement(form_1.FormTable,{key:n},React.createElement(form_1.FormRow,{key:n},React.createElement(form_1.FormLabel,null," ",t.name,": "),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n,validate:requiredValidator,initialValue:fromCookie(t)||utils_1.fromStorage("auth."+n),validateOnBlur:!0,validateOnChange:!0}),o&&o[n]?React.createElement(form_1.FormError,null,o[n]):"")));if("http"===t.type){if("basic"===t.scheme)return React.createElement(form_1.FormTable,{key:n},React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," ",Labels_1.l("tryItAuthBasicUsername"),": "),React.createElement(form_1.FormControlWrap,null,React.createElement(form_1.FormText,{field:"auth."+n+".username",validate:requiredValidator,initialValue:utils_1.fromStorage("auth."+n+".username"),validateOnBlur:!0,validateOnChange:!0}),o&&o[n]&&o[n].username?React.createElement(form_1.FormError,null,o[n].username):"")),React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," ",Labels_1.l("tryItAuthBasicPassword"),": "),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n+".password",validate:requiredValidator,initialValue:utils_1.fromStorage("auth."+n+".password"),validateOnBlur:!0,validateOnChange:!0}),o&&o[n]&&o[n].password?React.createElement(form_1.FormError,null,o[n].password):"")));if("bearer"===t.scheme)return React.createElement(form_1.FormTable,{key:n},React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Bearer Token "),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n,placeholder:"(without 'Bearer')",validate:requiredValidator,initialValue:utils_1.fromStorage("auth."+n),validateOnBlur:!0,validateOnChange:!0}),o&&o[n]?React.createElement(form_1.FormError,null,o[n]):"")))}else{if("oauth2"===t.type&&t.flows&&t.flows.clientCredentials)return React.createElement(OAuth2TokenInput_1.default,{key:n,flow:t.flows.clientCredentials,server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.clientCredentials["x-defaultClientId"]||t["x-defaultClientId"]});if("oauth2"===t.type&&t.flows&&t.flows.implicit)return React.createElement(OAuth2Implicit_1.OAuth2Implicit,{key:n,authorizationUrl:t.flows.implicit.authorizationUrl,scopes:Object.keys((null===(a=null===(r=null==t?void 0:t.flows)||void 0===r?void 0:r.implicit)||void 0===a?void 0:a.scopes)||{}),server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,clientId:t.flows.implicit["x-defaultClientId"]||t["x-defaultClientId"]});if("oauth2"===t.type){var l=utils_1.fromStorage("auth."+n+".token");return l=l?JSON.parse(l):{},React.createElement(form_1.FormTable,{key:n},React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Access Token Type: "),React.createElement(form_1.FormControlWrap,null,React.createElement(form_1.FormText,{field:"auth."+n+".token.token_type",initialValue:l.token_type||"Bearer"}))),React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Access Token: "),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n+".token.access_token",validate:requiredValidator,initialValue:l.access_token,validateOnBlur:!0,validateOnChange:!0}),o&&o[n]&&o[n].token&&o[n].token.access_token?React.createElement(form_1.FormError,null,o[n].token.access_token):"")))}if("openIdConnect"===t.type)return React.createElement(OpenIDConnect_1.OpenIDConnect,{key:n,server:e.props.activeServer,id:n,form:e.props.form,formApi:e.props.formApi,scheme:t,clientId:t["x-defaultClientId"]})}})),React.createElement("small",null,React.createElement("strong",null,"Note"),": Your credentials will be saved until the end of the browser session"))}}),t}(React.Component);exports.AuthPanel=AuthPanel;
2
2
  //# sourceMappingURL=AuthPanel.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),informed_1=require("informed"),mobx_react_1=require("mobx-react"),utils_1=require("../../utils"),query_string_1=require("query-string"),redoc_lib_1=require("../../redoc-lib"),styled_components_1=require("./styled.components"),ServerChoser_1=require("./ServerChoser"),OperationParameters_1=require("./OperationParameters"),ActionPanel_1=require("./ActionPanel"),ResponsePanel_1=require("./ResponsePanel"),RequestBody_1=require("./RequestBody"),ConsoleBadges_1=require("./ConsoleBadges"),AuthPanel_1=require("./AuthPanel"),common_1=require("../common"),swagger_client_1=require("swagger-client"),utils_2=require("../../utils"),flexColumn={flex:1,display:"flex",flexDirection:"column"};function updateStorage(e){var t=utils_2.fromStorage("securityRequirementName");if(e.values.auth)for(var r=0,a=Object.keys(e.values.auth);r<a.length;r++){var n=a[r],o=e.values.auth[n];t&&t!==n||utils_2.setSecurityDetails(n,o)}}function updatePathParameterStorage(e){var t,r=e.id,a=e.value,n=e.formState;if(null===(t=n.values)||void 0===t?void 0:t.path)for(var o=0,s=Object.keys(n.values.path);o<s.length;o++){var i=s[o];r.includes(i)&&utils_2.setPathParameters(r,a)}}function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var getPathParameters=function(e){return e.filter((function(e){return"path"===e.in})).reduce((function(e,t){var r=t.in,a=t.name;return e[a]=utils_2.fromStorage(r+"."+a),e}),{})},Console=function(e){function t(t){var r=e.call(this,t)||this;Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"serverUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"serverVariables",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.formApi=e}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({form:e}),updateStorage(e)}}),Object.defineProperty(r,"onOperationParametersChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.target;updatePathParameterStorage({id:t.id,value:t.value,formState:r.state.form})}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.serverUrl=e}}),Object.defineProperty(r,"handleVarsChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.serverVariables=e}}),Object.defineProperty(r,"handleClear",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.formApi.reset()}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return tslib_1.__awaiter(r,void 0,void 0,(function(){var e,t,r,a,n,o,s,i,l,u,c,d,m,p,h,b,_,v,f,g,y,P,R,C,S,w,q=this;return tslib_1.__generator(this,(function(E){switch(E.label){case 0:if(this.formApi.submitForm(),e=this.formApi.getState(),t=e.values,e.invalid)return this.setState({shaking:!0}),setTimeout((function(){return q.setState({shaking:!1})}),1e3),[2];if(r=this.props.operation.requestBody,a=r&&r.content&&r.content.active&&r.content.active.name||"",n=t.body,/json/.test(a))try{n=JSON.parse(n)}catch(e){console.error(e)}if(this.setState({loading:!0}),o=this.props.store,s=o.dereferencedRawSpec,i=this.props.operation,!(l=utils_1.get(s,["paths",i.path,(i.httpVerb||"").toLowerCase(),"servers"])||utils_1.get(s,["paths",i.path,"servers"])||utils_1.get(s,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");u=l.find((function(e){return q.serverUrl.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),c=Date.now(),d=!!window.document.documentMode,t.auth?(p=Object.keys(t.auth)[0],m=tslib_1.__assign(tslib_1.__assign({},s),{components:tslib_1.__assign(tslib_1.__assign({},s.components),{securitySchemes:tslib_1.__assign(tslib_1.__assign({},s.components.securitySchemes),(R={},R[p]=tslib_1.__assign(tslib_1.__assign({},s.components.securitySchemes[p]),{type:"openIdConnect"===s.components.securitySchemes[p].type?"oauth2":s.components.securitySchemes[p].type}),R))})})):m=tslib_1.__assign({},s),(h=o.options.corsProxyUrl)&&s.servers&&s.servers.length&&(m.servers=s.servers.map((function(e){return{url:h+normalizeUrlProtocol(e.url),description:e.description}}))),b=(null===(S=null===(C=null==r?void 0:r.content)||void 0===C?void 0:C.active)||void 0===S?void 0:S.name)||null,_="application/x-www-form-urlencoded"===b?query_string_1.parse(n):n,E.label=1;case 1:return E.trys.push([1,5,8,9]),v={userFetch:d&&require("cross-fetch").fetch,server:h?h+normalizeUrlProtocol(u.url):u.url,serverVariables:this.serverVariables,spec:m,pathName:i.path,method:i.httpVerb,parameters:tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({},t.path),t.query),t.header),t.cookie),securities:{authorized:t.auth},requestBody:_,requestContentType:b,responseContentType:(null===(w=t.header)||void 0===w?void 0:w.Accept)||null},[4,swagger_client_1.default.execute(v)];case 2:return(f=E.sent())&&f.data instanceof Blob?(g=f,[4,f.data.text()]):[3,4];case 3:g.data=E.sent(),E.label=4;case 4:return this.setState({response:f,error:void 0}),[3,9];case 5:return(y=E.sent())&&y.response&&y.response.data instanceof Blob?(P=y.response,[4,y.response.data.text()]):[3,7];case 6:P.data=E.sent(),E.label=7;case 7:return this.setState({response:void 0,error:y}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-c}),[7];case 9:return[2]}}))}))}}),Object.defineProperty(r,"validateBody",{enumerable:!0,configurable:!0,writable:!0,value:function(){}});var a=getPathParameters(t.operation.parameters);return r.state={form:{values:{path:a||{}}},shaking:!1,loading:!1,activeTab:0},r}return tslib_1.__extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return tslib_1.__awaiter(this,void 0,void 0,(function(){var e,t,r,a,n;return tslib_1.__generator(this,(function(o){switch(o.label){case 0:return e=this.props,t=e.store,r=e.specIdx,a=e.operation,[4,t.dereferenceSpecForTryIt(r||0,a)];case 1:return n=o.sent(),this.setState({resolvedRawSpec:n}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,a=e.rootElement,n=this.state,o=n.shaking,s=n.activeTab,i=n.form,l=n.response,u=n.loading,c=n.error,d=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:o,className:r,rootElement:a},React.createElement(styled_components_1.ConsoleHeader,null,React.createElement(ConsoleBadges_1.ConsoleBadges,{active:s,onChange:this.handleTabChange,hasResponse:d}),React.createElement(styled_components_1.CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(styled_components_1.ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(styled_components_1.ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel_1.ActionPanel,{hasResponse:d,params:i.values&&tslib_1.__assign({},i.values),operation:t,loading:u,onExecute:this.handleExecute,onClear:this.handleClear}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.operation,t=this.state,r=t.form,a=t.resolvedRawSpec,n=r.errors||{},o=n.path||n.cookie||n.header||n.query,s=a&&redoc_lib_1.JsonPointer.get(a,e.pointer),i=r.values&&r.values.auth&&Object.keys(r.values.auth)[0];i&&r.values.auth[i]||(i=void 0),!i||void 0===r.values.auth[i].token&&void 0===r.values.auth[i].client_id&&void 0===r.values.auth[i].client_secret||r.values.auth[i].token&&r.values.auth[i].token.access_token||(i=void 0);var l=e.parameters||[];return a?React.createElement(React.Fragment,null,React.createElement(informed_1.Form,{onChange:this.handleChange,getApi:this.setFormApi,style:tslib_1.__assign(tslib_1.__assign({},flexColumn),{margin:0})},React.createElement(common_1.SmallTabs,{key:e.name,style:flexColumn},React.createElement(common_1.TabList,null,e.requestBody&&React.createElement(common_1.Tab,{key:"body"},React.createElement(common_1.TabLabel,{error:!!n.body}," Body ")),l.length&&React.createElement(common_1.Tab,{key:"params"},React.createElement(common_1.TabLabel,{error:o},"Parameters (",l.length,")"))||null,e.security.length&&React.createElement(common_1.Tab,{key:"auth"},React.createElement(common_1.TabLabel,{error:!!n.auth,success:!!i},"Auth ",i&&"("+i+")"||null))||null),e.requestBody&&React.createElement(common_1.TabPanel,{key:"body"},React.createElement(RequestBody_1.RequestBody,{validate:this.validateBody,console:this,body:e.requestBody,id:e.id,resolvedBody:s.requestBody})),l.length&&React.createElement(common_1.TabPanel,{key:"params"},React.createElement(OperationParameters_1.OperationParameters,{operation:e,values:r.values,errors:r.errors||{},onChange:this.onOperationParametersChange}))||null,e.security.length&&React.createElement(common_1.TabPanel,{key:"auth"},React.createElement(AuthPanel_1.AuthPanel,{formApi:this.formApi,form:r,operation:e,activeServer:this.serverUrl}))||null)),React.createElement(ServerChoser_1.ServerChooser,{operation:e,onChange:this.handleServerChange,onVarsChange:this.handleVarsChange})):"Loading..."}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,a=e.time;return React.createElement(ResponsePanel_1.ResponsePanel,{response:t,error:r,time:a})}}),t=tslib_1.__decorate([mobx_react_1.observer],t)}(React.Component);function ConsoleWrapHook(e){var t=e.shaking,r=e.className,a=e.children,n=e.rootElement,o=utils_2.useDimensions(n)[0];return React.createElement(styled_components_1.ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==o?void 0:o.width},a)}exports.Console=Console;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),informed_1=require("informed"),mobx_react_1=require("mobx-react"),utils_1=require("../../utils"),query_string_1=require("query-string"),redoc_lib_1=require("../../redoc-lib"),styled_components_1=require("./styled.components"),ServerChoser_1=require("./ServerChoser"),OperationParameters_1=require("./OperationParameters"),ActionPanel_1=require("./ActionPanel"),ResponsePanel_1=require("./ResponsePanel"),RequestBody_1=require("./RequestBody"),ConsoleBadges_1=require("./ConsoleBadges"),AuthPanel_1=require("./AuthPanel"),common_1=require("../common"),swagger_client_1=require("swagger-client"),utils_2=require("../../utils"),flexColumn={flex:1,display:"flex",flexDirection:"column"};function updateStorage(e){var t=utils_2.fromStorage("securityRequirementName");if(e.values.auth)for(var r=0,a=Object.keys(e.values.auth);r<a.length;r++){var n=a[r],o=e.values.auth[n];t&&t!==n||utils_2.setSecurityDetails(n,o)}}function updatePathParameterStorage(e){var t,r=e.id,a=e.value,n=e.formState;if(null===(t=n.values)||void 0===t?void 0:t.path)for(var o=0,s=Object.keys(n.values.path);o<s.length;o++){var i=s[o];r.includes(i)&&utils_2.setPathParameters(r,a)}}function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}var getPathParameters=function(e){return e.filter((function(e){return"path"===e.in})).reduce((function(e,t){var r=t.in,a=t.name;return e[a]=utils_2.fromStorage(r+"."+a),e}),{})},Console=function(e){function t(t){var r=e.call(this,t)||this;Object.defineProperty(r,"formApi",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(r,"serverUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"serverVariables",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"setFormApi",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.formApi=e,setTimeout((function(){r.setState({form:r.formApi.getState()})}),0)}}),Object.defineProperty(r,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({form:e}),updateStorage(e)}}),Object.defineProperty(r,"onOperationParametersChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t=e.target;updatePathParameterStorage({id:t.id,value:t.value,formState:r.state.form})}}),Object.defineProperty(r,"handleTabChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.setState({activeTab:e})}}),Object.defineProperty(r,"handleServerChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.serverUrl=e}}),Object.defineProperty(r,"handleVarsChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.serverVariables=e}}),Object.defineProperty(r,"handleClear",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.formApi.reset()}}),Object.defineProperty(r,"handleExecute",{enumerable:!0,configurable:!0,writable:!0,value:function(){return tslib_1.__awaiter(r,void 0,void 0,(function(){var e,t,r,a,n,o,s,i,l,u,c,m,d,p,h,b,_,v,f,g,y,P,R,C,S,w,q=this;return tslib_1.__generator(this,(function(E){switch(E.label){case 0:if(this.formApi.submitForm(),e=this.formApi.getState(),t=e.values,e.invalid)return this.setState({shaking:!0}),setTimeout((function(){return q.setState({shaking:!1})}),1e3),[2];if(r=this.props.operation.requestBody,a=r&&r.content&&r.content.active&&r.content.active.name||"",n=t.body,/json/.test(a))try{n=JSON.parse(n)}catch(e){console.error(e)}if(this.setState({loading:!0}),o=this.props.store,s=o.dereferencedRawSpec,i=this.props.operation,!(l=utils_1.get(s,["paths",i.path,(i.httpVerb||"").toLowerCase(),"servers"])||utils_1.get(s,["paths",i.path,"servers"])||utils_1.get(s,["servers"])))throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");u=l.find((function(e){return q.serverUrl.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url)})),c=Date.now(),m=!!window.document.documentMode,t.auth?(p=Object.keys(t.auth)[0],d=tslib_1.__assign(tslib_1.__assign({},s),{components:tslib_1.__assign(tslib_1.__assign({},s.components),{securitySchemes:tslib_1.__assign(tslib_1.__assign({},s.components.securitySchemes),(R={},R[p]=tslib_1.__assign(tslib_1.__assign({},s.components.securitySchemes[p]),{type:"openIdConnect"===s.components.securitySchemes[p].type?"oauth2":s.components.securitySchemes[p].type}),R))})})):d=tslib_1.__assign({},s),(h=o.options.corsProxyUrl)&&s.servers&&s.servers.length&&(d.servers=s.servers.map((function(e){return{url:h+normalizeUrlProtocol(e.url),description:e.description}}))),b=(null===(S=null===(C=null==r?void 0:r.content)||void 0===C?void 0:C.active)||void 0===S?void 0:S.name)||null,_="application/x-www-form-urlencoded"===b?query_string_1.parse(n):n,E.label=1;case 1:return E.trys.push([1,5,8,9]),v={userFetch:m&&require("cross-fetch").fetch,server:h?h+normalizeUrlProtocol(u.url):u.url,serverVariables:this.serverVariables,spec:d,pathName:i.path,method:i.httpVerb,parameters:tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({},t.path),t.query),t.header),t.cookie),securities:{authorized:t.auth},requestBody:_,requestContentType:b,responseContentType:(null===(w=t.header)||void 0===w?void 0:w.Accept)||null},[4,swagger_client_1.default.execute(v)];case 2:return(f=E.sent())&&f.data instanceof Blob?(g=f,[4,f.data.text()]):[3,4];case 3:g.data=E.sent(),E.label=4;case 4:return this.setState({response:f,error:void 0}),[3,9];case 5:return(y=E.sent())&&y.response&&y.response.data instanceof Blob?(P=y.response,[4,y.response.data.text()]):[3,7];case 6:P.data=E.sent(),E.label=7;case 7:return this.setState({response:void 0,error:y}),[3,9];case 8:return this.setState({loading:!1,activeTab:1,time:Date.now()-c}),[7];case 9:return[2]}}))}))}}),Object.defineProperty(r,"validateBody",{enumerable:!0,configurable:!0,writable:!0,value:function(){}});var a=getPathParameters(t.operation.parameters);return r.state={form:{values:{path:a||{}}},shaking:!1,loading:!1,activeTab:0},r}return tslib_1.__extends(t,e),Object.defineProperty(t.prototype,"componentDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){return tslib_1.__awaiter(this,void 0,void 0,(function(){var e,t,r,a,n;return tslib_1.__generator(this,(function(o){switch(o.label){case 0:return e=this.props,t=e.store,r=e.specIdx,a=e.operation,[4,t.dereferenceSpecForTryIt(r||0,a)];case 1:return n=o.sent(),this.setState({resolvedRawSpec:n}),[2]}}))}))}}),Object.defineProperty(t.prototype,"componentDidUpdate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.operation!==this.props.operation&&this.setState({response:void 0,error:void 0,activeTab:0})}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props,t=e.operation,r=e.className,a=e.rootElement,n=this.state,o=n.shaking,s=n.activeTab,i=n.form,l=n.response,u=n.loading,c=n.error,m=!(!l&&!c);return React.createElement(ConsoleWrapHook,{shaking:o,className:r,rootElement:a},React.createElement(styled_components_1.ConsoleHeader,null,React.createElement(ConsoleBadges_1.ConsoleBadges,{active:s,onChange:this.handleTabChange,hasResponse:m}),React.createElement(styled_components_1.CloseButton,{onClick:this.props.onClose}," ✕ ")),React.createElement(styled_components_1.ConsoleBody,{hidden:0!==s},this.renderRequest()),React.createElement(styled_components_1.ConsoleBody,{hidden:1!==s},this.renderResponse()),React.createElement(ActionPanel_1.ActionPanel,{hasResponse:m,params:i.values&&tslib_1.__assign({},i.values),operation:t,loading:u,onExecute:this.handleExecute,onClear:this.handleClear}))}}),Object.defineProperty(t.prototype,"renderRequest",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.props.operation,t=this.state,r=t.form,a=t.resolvedRawSpec,n=r.errors||{},o=n.path||n.cookie||n.header||n.query,s=a&&redoc_lib_1.JsonPointer.get(a,e.pointer),i=r.values&&r.values.auth&&Object.keys(r.values.auth)[0];i&&r.values.auth[i]||(i=void 0),!i||void 0===r.values.auth[i].token&&void 0===r.values.auth[i].client_id&&void 0===r.values.auth[i].client_secret||r.values.auth[i].token&&r.values.auth[i].token.access_token||(i=void 0);var l=e.parameters||[];return a?React.createElement(React.Fragment,null,React.createElement(informed_1.Form,{onChange:this.handleChange,getApi:this.setFormApi,style:tslib_1.__assign(tslib_1.__assign({},flexColumn),{margin:0})},React.createElement(common_1.SmallTabs,{key:e.name,forceRenderTabPanel:!0,style:flexColumn},React.createElement(common_1.TabList,null,e.requestBody&&React.createElement(common_1.Tab,{key:"body"},React.createElement(common_1.TabLabel,{error:!!n.body}," Body ")),l.length&&React.createElement(common_1.Tab,{key:"params"},React.createElement(common_1.TabLabel,{error:o},"Parameters (",l.length,")"))||null,e.security.length&&React.createElement(common_1.Tab,{key:"auth"},React.createElement(common_1.TabLabel,{error:!!n.auth,success:!!i},"Auth ",i&&"("+i+")"||null))||null),e.requestBody&&React.createElement(common_1.TabPanel,{key:"body"},React.createElement(RequestBody_1.RequestBody,{validate:this.validateBody,console:this,body:e.requestBody,id:e.id,resolvedBody:s.requestBody})),l.length&&React.createElement(common_1.TabPanel,{key:"params"},React.createElement(OperationParameters_1.OperationParameters,{operation:e,values:r.values,errors:r.errors||{},onChange:this.onOperationParametersChange}))||null,e.security.length&&React.createElement(common_1.TabPanel,{key:"auth"},React.createElement(AuthPanel_1.AuthPanel,{formApi:this.formApi,form:r,operation:e,activeServer:this.serverUrl}))||null)),React.createElement(ServerChoser_1.ServerChooser,{operation:e,onChange:this.handleServerChange,onVarsChange:this.handleVarsChange})):"Loading..."}}),Object.defineProperty(t.prototype,"renderResponse",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.response,r=e.error,a=e.time;return React.createElement(ResponsePanel_1.ResponsePanel,{response:t,error:r,time:a})}}),t=tslib_1.__decorate([mobx_react_1.observer],t)}(React.Component);function ConsoleWrapHook(e){var t=e.shaking,r=e.className,a=e.children,n=e.rootElement,o=utils_2.useDimensions(n)[0];return React.createElement(styled_components_1.ConsoleWrap,{shaking:t,className:r,"data-cy":"console",fullWidth:null==o?void 0:o.width},a)}exports.Console=Console;
2
2
  //# sourceMappingURL=Console.js.map
@@ -8,6 +8,7 @@ export interface OAuth2ImplicitProps {
8
8
  id: string;
9
9
  form: FormState;
10
10
  formApi: FormApi;
11
+ clientId?: string;
11
12
  }
12
13
  interface OAuth2ImplicitState {
13
14
  error: string | null;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),redoc_lib_1=require("../../redoc-lib"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),OAuth2_1=require("../../services/OAuth2"),utils_1=require("../../utils"),TokenHidden_1=require("../common/TokenHidden"),Scope_1=require("./Scope");function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Implicit=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}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),t}return tslib_1.__extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e&&(this.props.formApi.validate(),this.values.client_id)){this.setState({loading:!0,error:null});var r=this.props.formApi.getValue("auth."+this.props.id+".scopes");OAuth2_1.OAuth2.authorizeImplicit({url:e,clientId:this.values.client_id,scopes:r,redirectURI:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){var r={access_token:e.accessToken,token_type:e.tokenType};t.setState({loading:!1,error:null}),t.props.formApi.setValue("auth."+t.props.id+".token",r)},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}})}}}),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_1.OAuth2.clearRedirectData()}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t,r,o=this,a=this.state,l=a.error,n=a.loading,i=this.props,c=i.id,u=i.scopes,s=i.authorizationUrl;if(!s)return React.createElement(form_1.FormError,null,"No flow info");var m=utils_1.fromStorage("auth."+c+".token");return m=m?JSON.parse(m):"",React.createElement("div",null,React.createElement(form_1.FormTable,null,React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Client ID "),React.createElement(form_1.FormControlWrap,null,React.createElement(form_1.FormText,{field:"auth."+c+".client_id",initialValue:utils_1.fromStorage("auth."+c+".client_id"),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0}),React.createElement("small",{style:{color:"red"}},null===(e=this.errors)||void 0===e?void 0:e.client_id))),React.createElement(form_1.FormText,{field:"auth."+c+".token",type:"hidden",initialValue:m,validate:requiredValidator}),React.createElement(Scope_1.default,{id:c,scopes:u}),this.values.token&&this.values.token.access_token?React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Access Token "),React.createElement(TokenHidden_1.TokenHidden,{field:"",disabled:!0,initialValue:this.values.token.access_token})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(form_1.FormButton,{onClick:function(){o.handleLogout()}},"Log out"):React.createElement(React.Fragment,null,n?React.createElement(React.Fragment,null,React.createElement(form_1.FormButton,{onClick:function(){o.handleCancel()}},"Cancel"),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement(form_1.FormButton,{disabled:(null===(r=null===(t=this.props)||void 0===t?void 0:t.formApi)||void 0===r?void 0:r.getTouched("auth."+c+".client_id"))&&!this.values.client_id,onClick:function(){o.handleAuthorize(s)}},"Authorize"))),React.createElement(form_1.FormTable,null,React.createElement(form_1.FormRow,null,n?React.createElement(form_1.FormWarning,null,"Please, finish your authorization flow or cancel authorization."):l?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(form_1.FormError,null,l))):this.values.token&&this.values.token.access_token?null:React.createElement(form_1.FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:redoc_lib_1.OptionsContext}),t}(React.Component);exports.OAuth2Implicit=OAuth2Implicit;var templateObject_1,templateObject_2,OriginalErrorMessage=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=tslib_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=redoc_lib_1.styled.div(templateObject_2||(templateObject_2=tslib_1.__makeTemplateObject(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"])));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),redoc_lib_1=require("../../redoc-lib"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),OAuth2_1=require("../../services/OAuth2"),utils_1=require("../../utils"),TokenHidden_1=require("../common/TokenHidden"),Scope_1=require("./Scope");function requiredValidator(e){if(!e)return"Field is required"}var OAuth2Implicit=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}}),Object.defineProperty(t,"clearToken",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.props.formApi.setValue("auth."+t.props.id+".token","")}}),t}return tslib_1.__extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"handleAuthorize",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(e&&(this.props.formApi.validate(),this.values.client_id)){this.setState({loading:!0,error:null});var r=this.props.formApi.getValue("auth."+this.props.id+".scopes");OAuth2_1.OAuth2.authorizeImplicit({url:e,clientId:this.values.client_id,scopes:r,redirectURI:this.context.oAuth2RedirectURI,routingBasePath:this.context.routingBasePath,successCallback:function(e){var r={access_token:e.accessToken,token_type:e.tokenType};t.setState({loading:!1,error:null}),t.props.formApi.setValue("auth."+t.props.id+".token",r)},errorCallback:function(e){t.setState({loading:!1,error:(null==e?void 0:e.message)||"Failed to retrieve the access token"})}})}}}),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_1.OAuth2.clearRedirectData()}}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t,r,o=this,a=this.state,l=a.error,n=a.loading,i=this.props,c=i.id,u=i.scopes,s=i.authorizationUrl;if(!s)return React.createElement(form_1.FormError,null,"No flow info");var m=utils_1.fromStorage("auth."+c+".token");return m=m?JSON.parse(m):"",React.createElement("div",null,React.createElement(form_1.FormTable,null,React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Client ID "),React.createElement(form_1.FormControlWrap,null,React.createElement(form_1.FormText,{field:"auth."+c+".client_id",initialValue:utils_1.fromStorage("auth."+c+".client_id")||this.props.clientId,placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0}),React.createElement("small",{style:{color:"red"}},null===(e=this.errors)||void 0===e?void 0:e.client_id))),React.createElement(form_1.FormText,{field:"auth."+c+".token",type:"hidden",initialValue:m,validate:requiredValidator}),React.createElement(Scope_1.default,{id:c,scopes:u}),this.values.token&&this.values.token.access_token?React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null," Access Token "),React.createElement(TokenHidden_1.TokenHidden,{field:"",disabled:!0,initialValue:this.values.token.access_token})):null),React.createElement(ButtonsWrapper,null,this.values.token&&this.values.token.access_token?React.createElement(form_1.FormButton,{onClick:function(){o.handleLogout()}},"Log out"):React.createElement(React.Fragment,null,n?React.createElement(React.Fragment,null,React.createElement(form_1.FormButton,{onClick:function(){o.handleCancel()}},"Cancel"),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement(form_1.FormButton,{disabled:(null===(r=null===(t=this.props)||void 0===t?void 0:t.formApi)||void 0===r?void 0:r.getTouched("auth."+c+".client_id"))&&!this.values.client_id,onClick:function(){o.handleAuthorize(s)}},"Authorize"))),React.createElement(form_1.FormTable,null,React.createElement(form_1.FormRow,null,n?React.createElement(form_1.FormWarning,null,"Please, finish your authorization flow or cancel authorization."):l?React.createElement(React.Fragment,null,React.createElement(OriginalErrorMessage,null,React.createElement(form_1.FormError,null,l))):this.values.token&&this.values.token.access_token?null:React.createElement(form_1.FormWarning,null," No Access Token. Please, Authorize. "))))}}),Object.defineProperty(t,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:redoc_lib_1.OptionsContext}),t}(React.Component);exports.OAuth2Implicit=OAuth2Implicit;var templateObject_1,templateObject_2,OriginalErrorMessage=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=tslib_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=redoc_lib_1.styled.div(templateObject_2||(templateObject_2=tslib_1.__makeTemplateObject(["\n margin-bottom: 15px;\n"],["\n margin-bottom: 15px;\n"])));
2
2
  //# sourceMappingURL=OAuth2Implicit.js.map
@@ -12,6 +12,7 @@ export interface OAuth2TokenInputProps {
12
12
  errors: any;
13
13
  };
14
14
  formApi: any;
15
+ clientId?: string;
15
16
  }
16
17
  interface OAuth2TokenInputState {
17
18
  error: string;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),PasswordInput_1=require("../common/PasswordInput"),form_1=require("../common/form"),utils_1=require("../../utils"),Scope_1=require("./Scope");function encodeParams(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}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",""),utils_1.toStorage("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 tslib_1.__awaiter(t,void 0,void 0,(function(){var e,t,r,o,n,a,s,i,l,c,u,m,p;return tslib_1.__generator(this,(function(d){switch(d.label){case 0:if(this.state.loading)return[2];if(e=this.props.flow.tokenUrl,this.errors.client_id||this.errors.client_secret)return console.log("Provide client_id and client_secret"),[2];if(t=this.props.id,r=this.values.client_id||utils_1.fromStorage("auth."+t+".client_id"),o=this.values.client_secret||utils_1.fromStorage("auth."+t+".client_secret"),n=(this.values.scopes||[]).join(" "),!r||!o)return console.log("Provide client_id and client_secret"),[2];this.setState({loading:!0}),d.label=1;case 1:return d.trys.push([1,10,11,12]),[4,fetch(e.startsWith("http")?e:this.props.server+e,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},body:encodeParams({client_id:r,client_secret:o,grant_type:"client_credentials",scope:n})})];case 2:return(a=d.sent()).ok?[4,a.json()]:[3,4];case 3:return s=d.sent(),this.props.formApi.setValue("auth."+t+".token",s),this.state.error&&this.setState({error:""}),[3,9];case 4:return this.clearToken(),i=this.setState,l={},(a.headers.get("Content-Type")||"").indexOf("json")>-1?(m=(u=JSON).stringify,[4,a.json()]):[3,6];case 5:return c=m.apply(u,[d.sent()]),[3,8];case 6:return[4,a.text()];case 7:c=d.sent(),d.label=8;case 8:i.apply(this,[(l.error=c,l)]),d.label=9;case 9:return[3,12];case 10:return p=d.sent(),this.clearToken(),this.setState({error:p.message}),[3,12];case 11:return this.setState({loading:!1}),[7];case 12:return[2]}}))}))}}),t}return tslib_1.__extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,r=e.error,o=e.tokenMasked,n=this.props.id,a=Object.keys(this.props.flow.scopes),s=utils_1.fromStorage("auth."+n+".token");return s=s?JSON.parse(s):"",React.createElement(React.Fragment,null,React.createElement(form_1.FormTable,null,React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null,"Client ID:"),React.createElement(form_1.FormControlWrap,null,React.createElement(form_1.FormText,{field:"auth."+n+".client_id",initialValue:utils_1.fromStorage("auth."+n+".client_id")}))),React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null,"Client Secret:"),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n+".client_secret",initialValue:utils_1.fromStorage("auth."+n+".client_secret")}))),React.createElement(form_1.FormText,{field:"auth."+n+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope_1.default,{id:n,scopes:a})),React.createElement(form_1.FormButton,{onClick:this.requestToken,loading:t},t?"Loading...":"Request Token"),React.createElement(form_1.FormHeader,null," Access Token "),r?React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,r)):this.values.token&&this.values.token.access_token?React.createElement(form_1.TokenField,null,React.createElement(form_1.TokenValue,{length:this.values.token.access_token.length,masked:o},this.values.token.access_token),React.createElement(form_1.TokenShowHide,{onClick:this.toggleTokenMask},o?"Show":"Hide"),React.createElement(form_1.TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);exports.OAuth2TokenInput=OAuth2TokenInput,exports.default=OAuth2TokenInput;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),PasswordInput_1=require("../common/PasswordInput"),form_1=require("../common/form"),utils_1=require("../../utils"),Scope_1=require("./Scope");function encodeParams(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}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",""),utils_1.toStorage("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 tslib_1.__awaiter(t,void 0,void 0,(function(){var e,t,r,o,n,a,s,i,l,c,u,m,p;return tslib_1.__generator(this,(function(d){switch(d.label){case 0:if(this.state.loading)return[2];if(e=this.props.flow.tokenUrl,this.errors.client_id||this.errors.client_secret)return console.log("Provide client_id and client_secret"),[2];if(t=this.props.id,r=this.values.client_id||utils_1.fromStorage("auth."+t+".client_id"),o=this.values.client_secret||utils_1.fromStorage("auth."+t+".client_secret"),n=(this.values.scopes||[]).join(" "),!r||!o)return console.log("Provide client_id and client_secret"),[2];this.setState({loading:!0}),d.label=1;case 1:return d.trys.push([1,10,11,12]),[4,fetch(e.startsWith("http")?e:this.props.server+e,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},body:encodeParams({client_id:r,client_secret:o,grant_type:"client_credentials",scope:n})})];case 2:return(a=d.sent()).ok?[4,a.json()]:[3,4];case 3:return s=d.sent(),this.props.formApi.setValue("auth."+t+".token",s),this.state.error&&this.setState({error:""}),[3,9];case 4:return this.clearToken(),i=this.setState,l={},(a.headers.get("Content-Type")||"").indexOf("json")>-1?(m=(u=JSON).stringify,[4,a.json()]):[3,6];case 5:return c=m.apply(u,[d.sent()]),[3,8];case 6:return[4,a.text()];case 7:c=d.sent(),d.label=8;case 8:i.apply(this,[(l.error=c,l)]),d.label=9;case 9:return[3,12];case 10:return p=d.sent(),this.clearToken(),this.setState({error:p.message}),[3,12];case 11:return this.setState({loading:!1}),[7];case 12:return[2]}}))}))}}),t}return tslib_1.__extends(t,e),Object.defineProperty(t.prototype,"values",{get:function(){return this.props.form.values&&this.props.form.values.auth&&this.props.form.values.auth[this.props.id]||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.props.form.errors&&this.props.form.errors.auth&&this.props.form.errors.auth[this.props.id]||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"render",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this.state,t=e.loading,r=e.error,o=e.tokenMasked,n=this.props.id,a=Object.keys(this.props.flow.scopes),s=utils_1.fromStorage("auth."+n+".token");return s=s?JSON.parse(s):"",React.createElement(React.Fragment,null,React.createElement(form_1.FormTable,null,React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null,"Client ID:"),React.createElement(form_1.FormControlWrap,null,React.createElement(form_1.FormText,{field:"auth."+n+".client_id",initialValue:utils_1.fromStorage("auth."+n+".client_id")||this.props.clientId}))),React.createElement(form_1.FormRow,null,React.createElement(form_1.FormLabel,null,"Client Secret:"),React.createElement(form_1.FormControlWrap,null,React.createElement(PasswordInput_1.PasswordInput,{field:"auth."+n+".client_secret",initialValue:utils_1.fromStorage("auth."+n+".client_secret")}))),React.createElement(form_1.FormText,{field:"auth."+n+".token",type:"hidden",initialValue:s,validate:validateToken}),React.createElement(Scope_1.default,{id:n,scopes:a})),React.createElement(form_1.FormButton,{onClick:this.requestToken,loading:t},t?"Loading...":"Request Token"),React.createElement(form_1.FormHeader,null," Access Token "),r?React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",React.createElement("pre",null,r)):this.values.token&&this.values.token.access_token?React.createElement(form_1.TokenField,null,React.createElement(form_1.TokenValue,{length:this.values.token.access_token.length,masked:o},this.values.token.access_token),React.createElement(form_1.TokenShowHide,{onClick:this.toggleTokenMask},o?"Show":"Hide"),React.createElement(form_1.TokenClear,{onClick:this.clearToken}," Clear ")):React.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"No token"))}}),t}(React.Component);exports.OAuth2TokenInput=OAuth2TokenInput,exports.default=OAuth2TokenInput;
2
2
  //# sourceMappingURL=OAuth2TokenInput.js.map
@@ -7,5 +7,6 @@ export interface OpenIDConnectProps {
7
7
  form: FormState;
8
8
  formApi: FormApi;
9
9
  scheme: SecurityScheme;
10
+ clientId?: string;
10
11
  }
11
12
  export declare function OpenIDConnect(props: OpenIDConnectProps): JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),redoc_lib_1=require("../../redoc-lib"),OpenIDConnect_1=require("../../services/OpenIDConnect"),OAuth2Implicit_1=require("./OAuth2Implicit"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form");function OpenIDConnect(e){var t,n=this,r=e.scheme,a=React.useState({}),c=a[0],o=a[1],i=React.useState(),l=i[0],s=i[1],u=React.useState(!1),m=u[0],p=u[1];React.useEffect((function(){_(r.openIdConnectUrl)}),[r.openIdConnectUrl]);var _=function(e){return tslib_1.__awaiter(n,void 0,void 0,(function(){var t,n;return tslib_1.__generator(this,(function(r){switch(r.label){case 0:p(!0),s(""),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,OpenIDConnect_1.discoverOpenIDConnect(e)];case 2:return t=r.sent(),o(t),[3,4];case 3:return n=r.sent(),s(n.message),[3,4];case 4:return p(!1),[2]}}))}))};return React.createElement("div",null,m?React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Conneсt metadata..."),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement("div",null,l?React.createElement(form_1.FormError,null,l):React.createElement(React.Fragment,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(OAuth2Implicit_1.OAuth2Implicit,{key:e.id,authorizationUrl:c.authorization_endpoint,scopes:c.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi})):React.createElement("div",null,"Unsupported flow"))))}exports.OpenIDConnect=OpenIDConnect;var templateObject_1,FlowName=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=tslib_1.__makeTemplateObject(["\n margin-top: 5px;\n margin-bottom: 10px;\n"],["\n margin-top: 5px;\n margin-bottom: 10px;\n"])));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),React=require("react"),redoc_lib_1=require("../../redoc-lib"),OpenIDConnect_1=require("../../services/OpenIDConnect"),OAuth2Implicit_1=require("./OAuth2Implicit"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form");function OpenIDConnect(e){var t,n=this,r=e.scheme,c=React.useState({}),a=c[0],i=c[1],o=React.useState(),l=o[0],s=o[1],u=React.useState(!1),m=u[0],p=u[1];React.useEffect((function(){d(r.openIdConnectUrl)}),[r.openIdConnectUrl]);var d=function(e){return tslib_1.__awaiter(n,void 0,void 0,(function(){var t,n;return tslib_1.__generator(this,(function(r){switch(r.label){case 0:p(!0),s(""),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,OpenIDConnect_1.discoverOpenIDConnect(e)];case 2:return t=r.sent(),i(t),[3,4];case 3:return n=r.sent(),s(n.message),[3,4];case 4:return p(!1),[2]}}))}))};return React.createElement("div",null,m?React.createElement("div",null,React.createElement("div",null,"Fetching OpenID Conneсt metadata..."),React.createElement(LinearProgress_1.LinearProgress,null)):React.createElement("div",null,l?React.createElement(form_1.FormError,null,l):React.createElement(React.Fragment,null,(null===(t=null==a?void 0:a.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(OAuth2Implicit_1.OAuth2Implicit,{key:e.id,authorizationUrl:a.authorization_endpoint,scopes:a.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId})):React.createElement("div",null,"Unsupported flow"))))}exports.OpenIDConnect=OpenIDConnect;var templateObject_1,FlowName=redoc_lib_1.styled.div(templateObject_1||(templateObject_1=tslib_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
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var SchemaType,tslib_1=require("tslib"),React=require("react"),redoc_lib_1=require("../../redoc-lib"),utils_1=require("../../utils"),form_1=require("../common/form");!function(e){e.ARRAY="array",e.OBJECT="object"}(SchemaType=exports.SchemaType||(exports.SchemaType={}));var placeholder=function(e){return"("+e.schema.type+")"+(e.example?" "+e.example:"")},Required=redoc_lib_1.styled.span(templateObject_1||(templateObject_1=tslib_1.__makeTemplateObject(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){return e.theme.colors.error.main}));function safePush(e,a,r){e[a]||(e[a]=[]),e[a].push(r)}function orderParams(e){var a={};return e.forEach((function(e){safePush(a,e.in,e)})),a}var templateObject_1,PARAM_PLACES=["path","query","cookie","header"];function createValidator(e){return function(a){if(e.required&&!a)return"Field is required";if(e.required&&e.schema.type===SchemaType.ARRAY&&Array.isArray(a)){if(a.length>(e.schema.rawSchema&&e.schema.rawSchema.maxItems||1/0))return"Too many items selected, maximum "+e.schema.rawSchema.maxItems;if(a.length<(e.schema.rawSchema&&e.schema.rawSchema.minItems||0)){var r=e.schema.rawSchema.minItems;return"You should select at least "+(1===r?r+" item":r+" items")}}}}function getInitialValue(e){if(e.schema.type===SchemaType.ARRAY){var a=e.schema.default||e.schema.example;if(!a&&e.schema.rawSchema.items){if(e.schema.rawSchema.items.default)return[e.schema.rawSchema.items.default];if(e.schema.rawSchema.items.example)return[e.schema.rawSchema.items.example]}return a||[]}return e.schema.default||e.schema.example||""}function OperationParameters(e){function a(r,t,n){var m,c=n?utils_1.dottedString(n,r.name):r.name,l=function(e){var a=e.oneOfType,r=e.type,t=e.items;return a||r===SchemaType.ARRAY&&(null==t?void 0:t.type)===SchemaType.OBJECT&&"Array of objects"}(r.schema);if(l&&console.warn('Unsupported parameter definition: "'+l+'"'),r.schema.type===SchemaType.OBJECT)return null===(m=r.schema.fields)||void 0===m?void 0:m.map((function(e){return a(e,t,c)}));var i=n?[t,n]:[r.in],o=utils_1.dottedString.apply(void 0,tslib_1.__spreadArrays(i,[r.name])),u=(e.errors[t]||{})[r.name];return React.createElement(form_1.FormRow,{key:o},React.createElement(form_1.FormLabel,null,c,r.required&&React.createElement(Required,null," * ")),l?React.createElement(form_1.FormWarning,null,"Unsupported field schema definition"):React.createElement(form_1.FormControlWrap,null,function(a,r){var t=React.useMemo((function(){return createValidator(r)}),[r]),n=e.values,m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,c=getInitialValue(r),l=r.schema.type===SchemaType.ARRAY;return m?React.createElement(form_1.FormSelect,{id:a,field:a,placeholder:placeholder(r),validate:t,initialValue:c||utils_1.get(n,a),validateOnBlur:!0,validateOnChange:!0,multiple:l,onChange:e.onChange},!c&&!r.required&&!l&&React.createElement(form_1.FromOption,{value:""},"--"),m.map((function(e,a){return React.createElement(form_1.FromOption,{key:a,value:e},e)}))):React.createElement(form_1.FormText,{id:a,field:a,placeholder:placeholder(r),validate:t,initialValue:c||utils_1.get(n,a,""),validateOnBlur:!0,validateOnChange:!0,onChange:e.onChange})}(o,r),u?React.createElement(form_1.FormError,null,u):""))}var r=orderParams(e.operation.parameters||[]);return React.createElement(form_1.Table,null,PARAM_PLACES.map((function(e){return function(e,r){return r&&r.length?React.createElement(React.Fragment,{key:e},React.createElement(form_1.FormRow,null,React.createElement(form_1.GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),r.map((function(r){return a(r,e)}))):null}(e,r[e])})))}exports.OperationParameters=OperationParameters;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var SchemaType,tslib_1=require("tslib"),React=require("react"),redoc_lib_1=require("../../redoc-lib"),utils_1=require("../../utils"),form_1=require("../common/form");!function(e){e.ARRAY="array",e.OBJECT="object"}(SchemaType=exports.SchemaType||(exports.SchemaType={}));var placeholder=function(e){return"("+e.schema.type+")"+(e.example?" "+e.example:"")},Required=redoc_lib_1.styled.span(templateObject_1||(templateObject_1=tslib_1.__makeTemplateObject(["\n color: ",";\n"],["\n color: ",";\n"])),(function(e){return e.theme.colors.error.main}));function safePush(e,a,r){e[a]||(e[a]=[]),e[a].push(r)}function orderParams(e){var a={};return e.forEach((function(e){safePush(a,e.in,e)})),a}var templateObject_1,PARAM_PLACES=["path","query","cookie","header"];function createValidator(e){return function(a){if(e.required&&!a)return"Field is required";if(e.required&&e.schema.type===SchemaType.ARRAY&&Array.isArray(a)){if(a.length>(e.schema.rawSchema&&e.schema.rawSchema.maxItems||1/0))return"Too many items selected, maximum "+e.schema.rawSchema.maxItems;if(a.length<(e.schema.rawSchema&&e.schema.rawSchema.minItems||0)){var r=e.schema.rawSchema.minItems;return"You should select at least "+(1===r?r+" item":r+" items")}}}}function getInitialValue(e){if(e.schema.type===SchemaType.ARRAY){var a=e.schema.default||e.schema.example;if(!a&&e.schema.rawSchema.items){if(e.schema.rawSchema.items.default)return[e.schema.rawSchema.items.default];if(e.schema.rawSchema.items.example)return[e.schema.rawSchema.items.example]}return a||[]}return e.schema.default||e.schema.example}function OperationParameters(e){function a(r,t,n){var m,c=n?utils_1.dottedString(n,r.name):r.name,l=function(e){var a=e.oneOfType,r=e.type,t=e.items;return a||r===SchemaType.ARRAY&&(null==t?void 0:t.type)===SchemaType.OBJECT&&"Array of objects"}(r.schema);if(l&&console.warn('Unsupported parameter definition: "'+l+'"'),r.schema.type===SchemaType.OBJECT)return null===(m=r.schema.fields)||void 0===m?void 0:m.map((function(e){return a(e,t,c)}));var i=n?[t,n]:[r.in],o=utils_1.dottedString.apply(void 0,tslib_1.__spreadArrays(i,[r.name])),u=(e.errors[t]||{})[r.name];return React.createElement(form_1.FormRow,{key:o},React.createElement(form_1.FormLabel,null,c,r.required&&React.createElement(Required,null," * ")),l?React.createElement(form_1.FormWarning,null,"Unsupported field schema definition"):React.createElement(form_1.FormControlWrap,null,function(a,r){var t=React.useMemo((function(){return createValidator(r)}),[r]),n=e.values,m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,c=getInitialValue(r),l=r.schema.type===SchemaType.ARRAY;return m?React.createElement(form_1.FormSelect,{id:a,field:a,placeholder:placeholder(r),validate:t,initialValue:c||utils_1.get(n,a),validateOnBlur:!0,validateOnChange:!0,multiple:l,onChange:e.onChange},!c&&!r.required&&!l&&React.createElement(form_1.FromOption,{value:""},"--"),m.map((function(e,a){return React.createElement(form_1.FromOption,{key:a,value:e},e)}))):React.createElement(form_1.FormText,{id:a,field:a,placeholder:placeholder(r),validate:t,initialValue:c||utils_1.get(n,a),validateOnBlur:!0,validateOnChange:!0,onChange:e.onChange})}(o,r),u?React.createElement(form_1.FormError,null,u):""))}var r=orderParams(e.operation.parameters||[]);return React.createElement(form_1.Table,null,PARAM_PLACES.map((function(e){return function(e,r){return r&&r.length?React.createElement(React.Fragment,{key:e},React.createElement(form_1.FormRow,null,React.createElement(form_1.GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),r.map((function(r){return a(r,e)}))):null}(e,r[e])})))}exports.OperationParameters=OperationParameters;
2
2
  //# sourceMappingURL=OperationParameters.js.map
@@ -32,6 +32,7 @@ export interface RedocRawOptions {
32
32
  hideDownloadButton?: boolean | string;
33
33
  disableSearch?: boolean | string;
34
34
  onlyRequiredInSamples?: boolean | string;
35
+ generatedPayloadSamplesMaxDepth?: number | string;
35
36
  showExtensions?: boolean | string | string[];
36
37
  hideSingleRequestSampleTab?: boolean | string;
37
38
  hideRequestPayloadSample?: boolean;
@@ -76,6 +77,7 @@ export declare class RedocNormalizedOptions {
76
77
  hideDownloadButton: boolean;
77
78
  disableSearch: boolean;
78
79
  onlyRequiredInSamples: boolean;
80
+ generatedPayloadSamplesMaxDepth: number;
79
81
  showExtensions: boolean | string[];
80
82
  hideSingleRequestSampleTab: boolean;
81
83
  hideRequestPayloadSample: boolean;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),theme_1=require("../theme"),dom_1=require("../utils/dom"),helpers_1=require("../utils/helpers"),Labels_1=require("./Labels");function argValueToBoolean(e,a){return void 0===e?a||!1:"string"==typeof e?"false"!==e:e}function argValueToNumber(e){return"string"==typeof e?parseInt(e,10):"number"==typeof e?e:void 0}function argValueToInt(e){return"string"==typeof e?parseInt(e,10):"number"==typeof e?Math.ceil(e):void 0}function argValueToExpandLevel(e,a){return void 0===a&&(a=0),"all"===e?1/0:argValueToInt(e)||a}var RedocNormalizedOptions=function(){function e(a,r){var i,t,o,l,n;void 0===r&&(r={}),Object.defineProperty(this,"theme",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"scrollYOffset",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideHostname",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideInfoDescription",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"expandResponses",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requiredPropsFirst",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sortPropsAlphabetically",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sortEnumValuesAlphabetically",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"noAutoAuth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nativeScrollbars",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathInMiddlePanel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"untrustedSpec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideDownloadButton",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disableSearch",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onlyRequiredInSamples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showExtensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideSingleRequestSampleTab",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideRequestPayloadSample",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"menuToggle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"jsonSampleExpandLevel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enumSkipQuotes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideSchemaTitles",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"simpleOneOfTypeLabel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"payloadSampleIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"expandSingleSchemaField",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schemaExpansionLevel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowedMdComponents",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"expandDefaultServerVariables",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxDisplayedEnumValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ignoreNamedSchemas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"unstable_ignoreMimeParameters",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"unstable_externalCodeSamples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hooks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideSchemaPattern",{enumerable:!0,configurable:!0,writable:!0,value:void 0});var s=(a=tslib_1.__assign(tslib_1.__assign({},r),a)).theme&&a.theme.extensionsHook;(null===(i=a.theme)||void 0===i?void 0:i.menu)&&!(null===(t=a.theme)||void 0===t?void 0:t.sidebar)&&(console.warn('Theme setting "menu" is deprecated. Rename to "sidebar"'),a.theme.sidebar=a.theme.menu),(null===(o=a.theme)||void 0===o?void 0:o.codeSample)&&!(null===(l=a.theme)||void 0===l?void 0:l.codeBlock)&&(console.warn('Theme setting "codeSample" is deprecated. Rename to "codeBlock"'),a.theme.codeBlock=a.theme.codeSample),this.theme=theme_1.resolveTheme(helpers_1.mergeObjects({},theme_1.default,tslib_1.__assign(tslib_1.__assign({},a.theme),{extensionsHook:void 0}))),this.theme.mediaQueries={print:"@media print"};for(var u=0,d=Object.entries(this.theme.breakpoints);u<d.length;u++){var b=d[u],m=b[0],c=b[1];this.theme.mediaQueries[m]="@media screen and (min-width: "+c+")"}this.theme.extensionsHook=s,Labels_1.setRedocLabels(a.labels),this.scrollYOffset=e.normalizeScrollYOffset(a.scrollYOffset),this.hideHostname=e.normalizeHideHostname(a.hideHostname),this.expandResponses=e.normalizeExpandResponses(a.expandResponses),this.requiredPropsFirst=argValueToBoolean(a.requiredPropsFirst),this.sortPropsAlphabetically=argValueToBoolean(a.sortPropsAlphabetically),this.sortEnumValuesAlphabetically=argValueToBoolean(a.sortEnumValuesAlphabetically),this.noAutoAuth=argValueToBoolean(a.noAutoAuth),this.nativeScrollbars=argValueToBoolean(a.nativeScrollbars),this.pathInMiddlePanel=argValueToBoolean(a.pathInMiddlePanel),this.untrustedSpec=argValueToBoolean(a.untrustedSpec),this.hideDownloadButton=argValueToBoolean(a.hideDownloadButton),this.hideInfoDescription=argValueToBoolean(a.hideInfoDescription),this.disableSearch=argValueToBoolean(a.disableSearch),this.onlyRequiredInSamples=argValueToBoolean(a.onlyRequiredInSamples),this.showExtensions=e.normalizeShowExtensions(a.showExtensions),this.hideSingleRequestSampleTab=argValueToBoolean(a.hideSingleRequestSampleTab),this.hideRequestPayloadSample=argValueToBoolean(a.hideRequestPayloadSample),this.menuToggle=argValueToBoolean(a.menuToggle,!0),this.jsonSampleExpandLevel=argValueToExpandLevel(a.jsonSampleExpandLevel,2),this.enumSkipQuotes=argValueToBoolean(a.enumSkipQuotes),this.hideSchemaTitles=argValueToBoolean(a.hideSchemaTitles),this.simpleOneOfTypeLabel=argValueToBoolean(a.simpleOneOfTypeLabel),this.payloadSampleIdx=e.normalizePayloadSampleIdx(a.payloadSampleIdx),this.expandSingleSchemaField=argValueToBoolean(a.expandSingleSchemaField),this.schemaExpansionLevel=argValueToExpandLevel(a.schemaExpansionLevel),this.unstable_ignoreMimeParameters=argValueToBoolean(a.unstable_ignoreMimeParameters),this.allowedMdComponents=a.allowedMdComponents||{},this.expandDefaultServerVariables=argValueToBoolean(a.expandDefaultServerVariables),this.maxDisplayedEnumValues=argValueToNumber(a.maxDisplayedEnumValues);var p=Array.isArray(a.ignoreNamedSchemas)?a.ignoreNamedSchemas:null===(n=a.ignoreNamedSchemas)||void 0===n?void 0:n.split(",").map((function(e){return e.trim()}));this.ignoreNamedSchemas=new Set(p),this.unstable_externalCodeSamples=a.unstable_externalCodeSamples||[],this.hooks=a.hooks||{},this.hideSchemaPattern=argValueToBoolean(a.hideSchemaPattern)}return Object.defineProperty(e,"normalizeExpandResponses",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if("all"===e)return"all";if("string"==typeof e){var a={};return e.split(",").forEach((function(e){a[e.trim()]=!0})),a}return void 0!==e&&console.warn('expandResponses must be a string but received value "'+e+'" of type '+typeof e),{}}}),Object.defineProperty(e,"normalizeHideHostname",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return!!e}}),Object.defineProperty(e,"normalizeScrollYOffset",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if("string"==typeof e&&!helpers_1.isNumeric(e)){var a=dom_1.querySelector(e);a||console.warn("scrollYOffset value is a selector to non-existing element. Using offset 0 by default");var r=a&&a.getBoundingClientRect().bottom||0;return function(){return r}}return"number"==typeof e||helpers_1.isNumeric(e)?function(){return"number"==typeof e?e:parseFloat(e)}:"function"==typeof e?function(){var a=e();return"number"!=typeof a&&console.warn('scrollYOffset should return number but returned value "'+a+'" of type '+typeof a),a}:(void 0!==e&&console.warn("Wrong value for scrollYOffset ReDoc option: should be string, number or function"),function(){return 0})}}),Object.defineProperty(e,"normalizeShowExtensions",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e)return!1;if(""===e)return!0;if("string"!=typeof e)return e;switch(e){case"true":return!0;case"false":return!1;default:return e.split(",").map((function(e){return e.trim()}))}}}),Object.defineProperty(e,"normalizePayloadSampleIdx",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return"number"==typeof e?Math.max(0,e):"string"==typeof e&&isFinite(e)?parseInt(e,10):0}}),e}();exports.RedocNormalizedOptions=RedocNormalizedOptions;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),theme_1=require("../theme"),dom_1=require("../utils/dom"),helpers_1=require("../utils/helpers"),Labels_1=require("./Labels");function argValueToBoolean(e,a){return void 0===e?a||!1:"string"==typeof e?"false"!==e:e}function argValueToNumber(e){return"string"==typeof e?parseInt(e,10):"number"==typeof e?e:void 0}function argValueToInt(e){return"string"==typeof e?parseInt(e,10):"number"==typeof e?Math.ceil(e):void 0}function argValueToExpandLevel(e,a){return void 0===a&&(a=0),"all"===e?1/0:argValueToInt(e)||a}var RedocNormalizedOptions=function(){function e(a,r){var t,i,l,o,n;void 0===r&&(r={}),Object.defineProperty(this,"theme",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"scrollYOffset",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideHostname",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideInfoDescription",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"expandResponses",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requiredPropsFirst",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sortPropsAlphabetically",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sortEnumValuesAlphabetically",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"noAutoAuth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nativeScrollbars",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathInMiddlePanel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"untrustedSpec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideDownloadButton",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disableSearch",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onlyRequiredInSamples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"generatedPayloadSamplesMaxDepth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showExtensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideSingleRequestSampleTab",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideRequestPayloadSample",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"menuToggle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"jsonSampleExpandLevel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enumSkipQuotes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideSchemaTitles",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"simpleOneOfTypeLabel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"payloadSampleIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"expandSingleSchemaField",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"schemaExpansionLevel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowedMdComponents",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"expandDefaultServerVariables",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxDisplayedEnumValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ignoreNamedSchemas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"unstable_ignoreMimeParameters",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"unstable_externalCodeSamples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hooks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideSchemaPattern",{enumerable:!0,configurable:!0,writable:!0,value:void 0});var s=(a=tslib_1.__assign(tslib_1.__assign({},r),a)).theme&&a.theme.extensionsHook;(null===(t=a.theme)||void 0===t?void 0:t.menu)&&!(null===(i=a.theme)||void 0===i?void 0:i.sidebar)&&(console.warn('Theme setting "menu" is deprecated. Rename to "sidebar"'),a.theme.sidebar=a.theme.menu),(null===(l=a.theme)||void 0===l?void 0:l.codeSample)&&!(null===(o=a.theme)||void 0===o?void 0:o.codeBlock)&&(console.warn('Theme setting "codeSample" is deprecated. Rename to "codeBlock"'),a.theme.codeBlock=a.theme.codeSample),this.theme=theme_1.resolveTheme(helpers_1.mergeObjects({},theme_1.default,tslib_1.__assign(tslib_1.__assign({},a.theme),{extensionsHook:void 0}))),this.theme.mediaQueries={print:"@media print"};for(var u=0,d=Object.entries(this.theme.breakpoints);u<d.length;u++){var b=d[u],m=b[0],c=b[1];this.theme.mediaQueries[m]="@media screen and (min-width: "+c+")"}this.theme.extensionsHook=s,Labels_1.setRedocLabels(a.labels),this.scrollYOffset=e.normalizeScrollYOffset(a.scrollYOffset),this.hideHostname=e.normalizeHideHostname(a.hideHostname),this.expandResponses=e.normalizeExpandResponses(a.expandResponses),this.requiredPropsFirst=argValueToBoolean(a.requiredPropsFirst),this.sortPropsAlphabetically=argValueToBoolean(a.sortPropsAlphabetically),this.sortEnumValuesAlphabetically=argValueToBoolean(a.sortEnumValuesAlphabetically),this.noAutoAuth=argValueToBoolean(a.noAutoAuth),this.nativeScrollbars=argValueToBoolean(a.nativeScrollbars),this.pathInMiddlePanel=argValueToBoolean(a.pathInMiddlePanel),this.untrustedSpec=argValueToBoolean(a.untrustedSpec),this.hideDownloadButton=argValueToBoolean(a.hideDownloadButton),this.hideInfoDescription=argValueToBoolean(a.hideInfoDescription),this.disableSearch=argValueToBoolean(a.disableSearch),this.onlyRequiredInSamples=argValueToBoolean(a.onlyRequiredInSamples),this.generatedPayloadSamplesMaxDepth=argValueToInt(a.generatedPayloadSamplesMaxDepth)||8,this.showExtensions=e.normalizeShowExtensions(a.showExtensions),this.hideSingleRequestSampleTab=argValueToBoolean(a.hideSingleRequestSampleTab),this.hideRequestPayloadSample=argValueToBoolean(a.hideRequestPayloadSample),this.menuToggle=argValueToBoolean(a.menuToggle,!0),this.jsonSampleExpandLevel=argValueToExpandLevel(a.jsonSampleExpandLevel,2),this.enumSkipQuotes=argValueToBoolean(a.enumSkipQuotes),this.hideSchemaTitles=argValueToBoolean(a.hideSchemaTitles),this.simpleOneOfTypeLabel=argValueToBoolean(a.simpleOneOfTypeLabel),this.payloadSampleIdx=e.normalizePayloadSampleIdx(a.payloadSampleIdx),this.expandSingleSchemaField=argValueToBoolean(a.expandSingleSchemaField),this.schemaExpansionLevel=argValueToExpandLevel(a.schemaExpansionLevel),this.unstable_ignoreMimeParameters=argValueToBoolean(a.unstable_ignoreMimeParameters),this.allowedMdComponents=a.allowedMdComponents||{},this.expandDefaultServerVariables=argValueToBoolean(a.expandDefaultServerVariables),this.maxDisplayedEnumValues=argValueToNumber(a.maxDisplayedEnumValues);var p=Array.isArray(a.ignoreNamedSchemas)?a.ignoreNamedSchemas:null===(n=a.ignoreNamedSchemas)||void 0===n?void 0:n.split(",").map((function(e){return e.trim()}));this.ignoreNamedSchemas=new Set(p),this.unstable_externalCodeSamples=a.unstable_externalCodeSamples||[],this.hooks=a.hooks||{},this.hideSchemaPattern=argValueToBoolean(a.hideSchemaPattern)}return Object.defineProperty(e,"normalizeExpandResponses",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if("all"===e)return"all";if("string"==typeof e){var a={};return e.split(",").forEach((function(e){a[e.trim()]=!0})),a}return void 0!==e&&console.warn('expandResponses must be a string but received value "'+e+'" of type '+typeof e),{}}}),Object.defineProperty(e,"normalizeHideHostname",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return!!e}}),Object.defineProperty(e,"normalizeScrollYOffset",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if("string"==typeof e&&!helpers_1.isNumeric(e)){var a=dom_1.querySelector(e);a||console.warn("scrollYOffset value is a selector to non-existing element. Using offset 0 by default");var r=a&&a.getBoundingClientRect().bottom||0;return function(){return r}}return"number"==typeof e||helpers_1.isNumeric(e)?function(){return"number"==typeof e?e:parseFloat(e)}:"function"==typeof e?function(){var a=e();return"number"!=typeof a&&console.warn('scrollYOffset should return number but returned value "'+a+'" of type '+typeof a),a}:(void 0!==e&&console.warn("Wrong value for scrollYOffset ReDoc option: should be string, number or function"),function(){return 0})}}),Object.defineProperty(e,"normalizeShowExtensions",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e)return!1;if(""===e)return!0;if("string"!=typeof e)return e;switch(e){case"true":return!0;case"false":return!1;default:return e.split(",").map((function(e){return e.trim()}))}}}),Object.defineProperty(e,"normalizePayloadSampleIdx",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return"number"==typeof e?Math.max(0,e):"string"==typeof e&&isFinite(e)?parseInt(e,10):0}}),e}();exports.RedocNormalizedOptions=RedocNormalizedOptions;
2
2
  //# sourceMappingURL=RedocNormalizedOptions.js.map
@@ -4,6 +4,7 @@ import { SchemaModel } from './Schema';
4
4
  import { OpenAPIParser } from '../OpenAPIParser';
5
5
  import { ExampleModel } from './Example';
6
6
  export declare class MediaTypeModel {
7
+ options: RedocNormalizedOptions;
7
8
  examples?: {
8
9
  [name: string]: ExampleModel;
9
10
  };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var Sampler=require("openapi-sampler"),Schema_1=require("./Schema"),utils_1=require("../../utils"),Example_1=require("./Example"),MediaTypeModel=function(){function e(e,a,i,l,s){Object.defineProperty(this,"examples",{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,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isRequestType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onlyRequiredInSamples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=a,this.isRequestType=i,this.schema=l.schema&&new Schema_1.SchemaModel(e,l.schema,"",s),this.onlyRequiredInSamples=s.onlyRequiredInSamples,void 0!==l.examples?this.examples=utils_1.mapValues(l.examples,(function(i){return new Example_1.ExampleModel(e,i,a,l.encoding)})):void 0!==l.example?this.examples={default:new Example_1.ExampleModel(e,{value:e.shallowDeref(l.example)},a,l.encoding)}:utils_1.isJsonLike(a)&&this.generateExample(e,l)}return Object.defineProperty(e.prototype,"generateExample",{enumerable:!1,configurable:!0,writable:!0,value:function(e,a){var i={skipReadOnly:this.isRequestType,skipNonRequired:this.isRequestType&&this.onlyRequiredInSamples,skipWriteOnly:!this.isRequestType,maxSampleDepth:8};if(this.schema&&this.schema.oneOf){this.examples={};for(var l=0,s=this.schema.oneOf;l<s.length;l++){var t=s[l],r=Sampler.sample(t.rawSchema,i,e.spec);this.schema.discriminatorProp&&"object"==typeof r&&r&&(r[this.schema.discriminatorProp]=t.title),this.examples[t.title]=new Example_1.ExampleModel(e,{value:r},this.name,a.encoding)}}else this.schema&&(this.examples={default:new Example_1.ExampleModel(e,{value:Sampler.sample(a.schema,i,e.spec)},this.name,a.encoding)})}}),e}();exports.MediaTypeModel=MediaTypeModel;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var Sampler=require("openapi-sampler"),Schema_1=require("./Schema"),utils_1=require("../../utils"),Example_1=require("./Example"),MediaTypeModel=function(){function e(e,a,i,l,t){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"examples",{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,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isRequestType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onlyRequiredInSamples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=a,this.isRequestType=i,this.schema=l.schema&&new Schema_1.SchemaModel(e,l.schema,"",t),this.onlyRequiredInSamples=t.onlyRequiredInSamples,void 0!==l.examples?this.examples=utils_1.mapValues(l.examples,(function(i){return new Example_1.ExampleModel(e,i,a,l.encoding)})):void 0!==l.example?this.examples={default:new Example_1.ExampleModel(e,{value:e.shallowDeref(l.example)},a,l.encoding)}:utils_1.isJsonLike(a)&&this.generateExample(e,l)}return Object.defineProperty(e.prototype,"generateExample",{enumerable:!1,configurable:!0,writable:!0,value:function(e,a){var i={skipReadOnly:this.isRequestType,skipNonRequired:this.isRequestType&&this.onlyRequiredInSamples,skipWriteOnly:!this.isRequestType,maxSampleDepth:this.options.generatedPayloadSamplesMaxDepth};if(this.schema&&this.schema.oneOf){this.examples={};for(var l=0,t=this.schema.oneOf;l<t.length;l++){var s=t[l],r=Sampler.sample(s.rawSchema,i,e.spec);this.schema.discriminatorProp&&"object"==typeof r&&r&&(r[this.schema.discriminatorProp]=s.title),this.examples[s.title]=new Example_1.ExampleModel(e,{value:r},this.name,a.encoding)}}else this.schema&&(this.examples={default:new Example_1.ExampleModel(e,{value:Sampler.sample(a.schema,i,e.spec)},this.name,a.encoding)})}}),e}();exports.MediaTypeModel=MediaTypeModel;
2
2
  //# sourceMappingURL=MediaType.js.map
@@ -4,6 +4,7 @@ export interface SecurityScheme extends OpenAPISecurityScheme {
4
4
  id: string;
5
5
  sectionId: string;
6
6
  scopes: string[];
7
+ 'x-defaultClientId'?: string;
7
8
  }
8
9
  export declare class SecurityRequirementModel {
9
10
  schemes: SecurityScheme[];
@@ -235,26 +235,31 @@ export interface OpenAPISecurityScheme {
235
235
  in?: 'query' | 'header' | 'cookie';
236
236
  scheme?: string;
237
237
  bearerFormat: string;
238
+ 'x-defaultClientId'?: string;
238
239
  flows: {
239
240
  implicit?: {
240
241
  refreshUrl?: string;
241
242
  scopes: Record<string, string>;
242
243
  authorizationUrl: string;
244
+ 'x-defaultClientId'?: string;
243
245
  };
244
246
  password?: {
245
247
  refreshUrl?: string;
246
248
  scopes: Record<string, string>;
247
249
  tokenUrl: string;
250
+ 'x-defaultClientId'?: string;
248
251
  };
249
252
  clientCredentials?: {
250
253
  refreshUrl?: string;
251
254
  scopes: Record<string, string>;
252
255
  tokenUrl: string;
256
+ 'x-defaultClientId'?: string;
253
257
  };
254
258
  authorizationCode?: {
255
259
  refreshUrl?: string;
256
260
  scopes: Record<string, string>;
257
261
  tokenUrl: string;
262
+ 'x-defaultClientId'?: string;
258
263
  };
259
264
  };
260
265
  openIdConnectUrl?: string;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),path_1=require("path"),URLtemplate=require("url-template"),dom_1=require("./dom"),helpers_1=require("./helpers");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||helpers_1.isNumeric(e)||isWildcardStatusCode(e)}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}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;var operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0};function isOperationName(e){return e in operationNames}function getOperationSummary(e){return e.summary||e.operationId||e.description&&e.description.substring(0,50)||"<no summary>"}exports.isOperationName=isOperationName,exports.getOperationSummary=getOperationSummary;var schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object"};function detectType(e){if(void 0!==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"}function isPrimitiveType(e,r){return void 0===r&&(r=e.type),void 0===e.oneOf&&void 0===e.anyOf&&("object"===r?void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties:"array"!==r||void 0===e.items)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return"application/x-www-form-urlencoded"===e}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 r+"["+t+"]="+e[t]})).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 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)}function serializeQueryParameter(e,r,t,i){switch(r){case"form":return serializeFormValue(e,t,i);case"spaceDelimited":return Array.isArray(i)?t?serializeFormValue(e,t,i):e+"="+i.join("%20"):(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(i)?t?serializeFormValue(e,t,i):e+"="+i.join("|"):(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(i)||"object"!=typeof i?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(i,e);default:return console.warn("Unexpected style for query: "+r),""}}function serializeHeaderParameter(e,r,t){var i;switch(e){case"simple":var n=r?"*":"",a="__redoc_param_name__",o=URLtemplate.parse("{"+a+n+"}");return decodeURIComponent(o.expand(((i={})[a]=t,i)));default:return console.warn("Unexpected style for header: "+e),""}}function serializeCookieParameter(e,r,t,i){switch(r){case"form":return serializeFormValue(e,t,i);default:return console.warn("Unexpected style for cookie: "+r),""}}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn("Parameter serialization as "+r+" is not supported"),"")}function serializeParameterValue(e,r){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),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}function isNamedDefinition(e){return/^#\/components\/schemas\/[^\/]+$/.test(e||"")}function getDefinitionName(e){if(e){var r=e.match(/^#\/components\/schemas\/([^\/]+)$/);return null===r?void 0:r[1]}}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}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,a=humanizeMultipleOfConstraint(e.multipleOf);return void 0!==a&&r.push(a),void 0!==e.minimum&&void 0!==e.maximum?(n=e.exclusiveMinimum?"( ":"[ ",n+=e.minimum,n+=" .. ",n+=e.maximum,n+=e.exclusiveMaximum?" )":" ]"):void 0!==e.maximum?(n=e.exclusiveMaximum?"< ":"<= ",n+=e.maximum):void 0!==e.minimum&&(n=e.exclusiveMinimum?"> ":">= ",n+=e.minimum),void 0!==n&&r.push(n),e.uniqueItems&&r.push("unique"),r}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)})),tslib_1.__spreadArrays(i,n,t)}function sortByField(e,r){return tslib_1.__spreadArrays(e).sort((function(e,t){return e[r].localeCompare(t[r])}))}function mergeParams(e,r,t){void 0===r&&(r=[]),void 0===t&&(t=[]);var i={};return t.forEach((function(r){r=e.shallowDeref(r),i[r.name+"_"+r.in]=!0})),(r=r.filter((function(r){return r=e.shallowDeref(r),!i[r.name+"_"+r.in]}))).concat(t)}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]=tslib_1.__assign(tslib_1.__assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(/(?:{)([\w-.]+)(?:})/g,(function(e,t){return r[t]&&r[t].default||e}))}function normalizeServers(e,r){var t=void 0===e?helpers_1.removeQueryString(function(){if(!dom_1.IS_BROWSER)return"";var e=window.location.href;return e.endsWith(".html")?path_1.dirname(e):e}()):path_1.dirname(e);return 0===r.length&&(r=[{url:"/"}]),r.map((function(e){return tslib_1.__assign(tslib_1.__assign({},e),{url:(r=e.url,helpers_1.resolveUrl(t,r)),description:e.description||""});var r}))}function setSecuritySchemePrefix(e){exports.SECURITY_SCHEMES_SECTION_PREFIX=e}function isRedocExtension(e){return e in{"x-circular-ref":!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}}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}),{})}function pluralizeType(e){return e.split(" or ").map((function(e){return e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2")})).join(" or ")}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime,exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers,exports.SECURITY_DEFINITIONS_COMPONENT_NAME="security-definitions",exports.SECURITY_DEFINITIONS_JSX_NAME="SecurityDefinitions",exports.SCHEMA_DEFINITION_JSX_NAME="SchemaDefinition",exports.SECURITY_SCHEMES_SECTION_PREFIX="section/Authentication/",exports.setSecuritySchemePrefix=setSecuritySchemePrefix,exports.shortenHTTPVerb=function(e){return{delete:"del",options:"opts"}[e]||e},exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),path_1=require("path"),URLtemplate=require("url-template"),dom_1=require("./dom"),helpers_1=require("./helpers");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||helpers_1.isNumeric(e)||isWildcardStatusCode(e)}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}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;var operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0};function isOperationName(e){return e in operationNames}function getOperationSummary(e){return e.summary||e.operationId||e.description&&e.description.substring(0,50)||"<no summary>"}exports.isOperationName=isOperationName,exports.getOperationSummary=getOperationSummary;var schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object"};function detectType(e){if(void 0!==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"}function isPrimitiveType(e,r){return void 0===r&&(r=e.type),void 0===e.oneOf&&void 0===e.anyOf&&("object"===r?void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties:"array"!==r||void 0===e.items)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return"application/x-www-form-urlencoded"===e}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 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)}function serializeQueryParameter(e,r,t,i){switch(r){case"form":return serializeFormValue(e,t,i);case"spaceDelimited":return Array.isArray(i)?t?serializeFormValue(e,t,i):e+"="+i.join("%20"):(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(i)?t?serializeFormValue(e,t,i):e+"="+i.join("|"):(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(i)||"object"!=typeof i?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(i,e);default:return console.warn("Unexpected style for query: "+r),""}}function serializeHeaderParameter(e,r,t){var i;switch(e){case"simple":var n=r?"*":"",a="__redoc_param_name__",o=URLtemplate.parse("{"+a+n+"}");return decodeURIComponent(o.expand(((i={})[a]=t,i)));default:return console.warn("Unexpected style for header: "+e),""}}function serializeCookieParameter(e,r,t,i){switch(r){case"form":return serializeFormValue(e,t,i);default:return console.warn("Unexpected style for cookie: "+r),""}}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn("Parameter serialization as "+r+" is not supported"),"")}function serializeParameterValue(e,r){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),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}function isNamedDefinition(e){return/^#\/components\/schemas\/[^\/]+$/.test(e||"")}function getDefinitionName(e){if(e){var r=e.match(/^#\/components\/schemas\/([^\/]+)$/);return null===r?void 0:r[1]}}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}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,a=humanizeMultipleOfConstraint(e.multipleOf);return void 0!==a&&r.push(a),void 0!==e.minimum&&void 0!==e.maximum?(n=e.exclusiveMinimum?"( ":"[ ",n+=e.minimum,n+=" .. ",n+=e.maximum,n+=e.exclusiveMaximum?" )":" ]"):void 0!==e.maximum?(n=e.exclusiveMaximum?"< ":"<= ",n+=e.maximum):void 0!==e.minimum&&(n=e.exclusiveMinimum?"> ":">= ",n+=e.minimum),void 0!==n&&r.push(n),e.uniqueItems&&r.push("unique"),r}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)})),tslib_1.__spreadArrays(i,n,t)}function sortByField(e,r){return tslib_1.__spreadArrays(e).sort((function(e,t){return e[r].localeCompare(t[r])}))}function mergeParams(e,r,t){void 0===r&&(r=[]),void 0===t&&(t=[]);var i={};return t.forEach((function(r){r=e.shallowDeref(r),i[r.name+"_"+r.in]=!0})),(r=r.filter((function(r){return r=e.shallowDeref(r),!i[r.name+"_"+r.in]}))).concat(t)}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]=tslib_1.__assign(tslib_1.__assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r){return void 0===r&&(r={}),e.replace(/(?:{)([\w-.]+)(?:})/g,(function(e,t){return r[t]&&r[t].default||e}))}function normalizeServers(e,r){var t=void 0===e?helpers_1.removeQueryString(function(){if(!dom_1.IS_BROWSER)return"";var e=window.location.href;return e.endsWith(".html")?path_1.dirname(e):e}()):path_1.dirname(e);return 0===r.length&&(r=[{url:"/"}]),r.map((function(e){return tslib_1.__assign(tslib_1.__assign({},e),{url:(r=e.url,helpers_1.resolveUrl(t,r)),description:e.description||""});var r}))}function setSecuritySchemePrefix(e){exports.SECURITY_SCHEMES_SECTION_PREFIX=e}function isRedocExtension(e){return e in{"x-circular-ref":!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}}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}),{})}function pluralizeType(e){return e.split(" or ").map((function(e){return e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2")})).join(" or ")}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime,exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers,exports.SECURITY_DEFINITIONS_COMPONENT_NAME="security-definitions",exports.SECURITY_DEFINITIONS_JSX_NAME="SecurityDefinitions",exports.SCHEMA_DEFINITION_JSX_NAME="SchemaDefinition",exports.SECURITY_SCHEMES_SECTION_PREFIX="section/Authentication/",exports.setSecuritySchemePrefix=setSecuritySchemePrefix,exports.shortenHTTPVerb=function(e){return{delete:"del",options:"opts"}[e]||e},exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType;
2
2
  //# sourceMappingURL=openapi.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),mobx_1=require("mobx"),openapi_core_1=require("@redocly/openapi-core"),loadAndBundleSpec_1=require("../redoc-lib/src/utils/loadAndBundleSpec"),redoc_lib_1=require("../redoc-lib"),TryItButton_1=require("../components/console/TryItButton"),PushStateHistoryService_1=require("./PushStateHistoryService"),ProMenu_1=require("./ProMenu"),SearchStore_1=require("./SearchStore"),extendTheme_1=require("./extendTheme"),RedocResponse_1=require("../components/pluggable/RedocResponse"),PullRight_1=require("../components/pluggable/PullRight"),MultipleSpecsStore_1=require("./MultipleSpecsStore"),VersionedSpecStore_1=require("./VersionedSpecStore"),check_1=require("./check"),slugify_1=require("slugify"),utils_1=require("./utils"),code_samples_1=require("./code-samples/"),utils_2=require("../utils"),global="undefined"==typeof window?{__REDOCLY_SEARCH_URL:void 0}:window;function getDefaultMdComponents(){var e=new redoc_lib_1.AppStore({openapi:"3.0.0",info:{version:"1",description:"test",title:"test"},paths:{}},void 0,{disableSearch:!0},!1);return e.dispose(),e.options.allowedMdComponents}var NestingGroup=function(){function e(e,t,i,o){var r=this;Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"linkable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"level",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),mobx_1.makeObservable(this),this.id="section/"+e,this.type="nesting-group",this.name=i||"",this.level=1,this.depth=1,this.description="",this.parent=void 0,this.expanded=!1,this.items=t,this.linkable=!!o,t.forEach((function(e){return e.parent=r})),increaseDepthDeep(t)}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!0,this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!1}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),tslib_1.__decorate([mobx_1.observable],e.prototype,"active",void 0),tslib_1.__decorate([mobx_1.observable],e.prototype,"expanded",void 0),tslib_1.__decorate([mobx_1.action],e.prototype,"activate",null),tslib_1.__decorate([mobx_1.action],e.prototype,"expand",null),tslib_1.__decorate([mobx_1.action],e.prototype,"collapse",null),tslib_1.__decorate([mobx_1.action],e.prototype,"deactivate",null),e}();function increaseDepthDeep(e){Array.isArray(e)&&e.forEach((function(e){e.depth++,e.parent&&"group"===e.parent.type&&(e.depth=e.parent.depth),increaseDepthDeep(e.items)}))}exports.NestingGroup=NestingGroup;var ProStore=function(){function e(e,t,i,o){var r=this;void 0===i&&(i={}),void 0===o&&(o=!0),Object.defineProperty(this,"rawOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"menu",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"marker",{enumerable:!0,configurable:!0,writable:!0,value:new redoc_lib_1.MarkerService}),Object.defineProperty(this,"scroll",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"search",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tryItOperation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showRightPanel",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"dereferencedRawSpec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"prevDerefKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"l",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),mobx_1.makeObservable(this),this.initProOptions(i),redoc_lib_1.IS_BROWSER&&(this.l=check_1.default(i.licenseKey),this.l.then((function(e){e.valid&&e.allowed&&!e.expired||e.local||(r.menu.items=[],r.menu.flatItems=r.menu.flatItems.slice(0,1),r.menu.renderItems=[])})));var n=Array.isArray(e),s=e&&Array.isArray(e.versions),a=this.options.disableSidebar?new PushStateHistoryService_1.FakeHistoryService(this.options):"browser"===this.options.routingStrategy?new PushStateHistoryService_1.PushStateHistoryService(this.options.routingBasePath,n||s,this.options.markdownItemsPagination,this.options.pagination):new PushStateHistoryService_1.ProHashHistoryService(this.options.routingBasePath,n||s);if(utils_1.ignoreTagGroupsWithXNesting(e),this.spec=n?new MultipleSpecsStore_1.MultipleSpecsStore(e,this.options):s?new VersionedSpecStore_1.VersionedSpecStore(e,this.options,a.currentId.split("/")[0]):new redoc_lib_1.SpecStore(e,t,this.options),this.spec.parser.spec["x-nesting"]){if(n)throw new Error("Both multiple definitions and x-nesting are not supported. Skipping x-nesting");this.groupSpecContentItems(this.spec),a instanceof PushStateHistoryService_1.PushStateHistoryService&&(a.hasNesting=!0),console.log("\nUsing nesting mode\n")}i.downloadSpecUrl&&(this.spec.info.downloadLink=i.downloadSpecUrl,this.spec.info.downloadFileName=""),this.scroll=new redoc_lib_1.ScrollService(this.options),this.options.disableSidebar||ProMenu_1.ProMenu.updateOnHistory(a.currentId,this.scroll),this.menu=new ProMenu_1.ProMenu(this.spec,this.scroll,this.options,a),this.options.disableSearch||this.options.disableSidebar||this.initSearch(this.options,o),this.disposer=mobx_1.observe(this.menu,"none"===this.options.pagination?"activeItemIdx":"activeRenderItemIdx",(function(e){setTimeout((function(){return r.updateMarkOnMenu(e.newValue)}))}))}return Object.defineProperty(e.prototype,"groupSpecContentItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.parser.spec["x-nesting"],i=t.length,o="browser"===this.options.routingStrategy;if(Array.isArray(t)){var r=e.contentItems,n={},s=function(e,t,i){Array.isArray(e)||(e=[e]);for(var o=[],r=0,n=e;r<n.length;r++)for(var s=n[r],a=0,l=t;a<l.length;a++){var p=l[a];p[s]||(p[s]=i?[]:{}),o.push(p[s])}return o},a=function(e){for(var i=0,o=e;i<o.length;i++){var r=o[i];if("operation"===r.type){var l=r.operationId||r.httpVerb+" "+r.path,p=r.operationSpec&&r.operationSpec["x-filters"];if(!p){console.warn('[warning] Operation "'+l+"\" doesn't define x-filters. Skipping");continue}for(var c=[n],u=0;u<t.length;u++){var h=t[u],d=p[h];if(!d){console.warn('[warning] Operation "'+l+'" doesn\'t define "'+h+'" in x-filters. Skipping...'),c=[];break}c=s(d,c,u===t.length-1)}for(var b=0,f=c;b<f.length;b++){var m=f[b],v=Object.assign(Object.create(Object.getPrototypeOf(r)),r);v.depth--,m.push(v)}}r.items&&a(r.items)}};a(r);var l=function(e,t,r){return void 0===t&&(t=""),void 0===r&&(r=0),Array.isArray(e)?e:Object.keys(e).map((function(n){var s=t+slugify_1.default(n),a=l(e[n],s+"/",r+1);return o&&a.forEach((function(e){e.id=e.id.replace(/^section\//,"group/"),e.id=e.id.replace(/tag\/(.*)\/(paths\/.*\/\w+)/,"group/"+s+"/$2"),e.id.startsWith("operation/")&&(e.id="group/"+s+"/"+e.id)})),new NestingGroup(s,a,n,r===i-1)}))},p=r.findIndex((function(e){return"section"!==e.type}));e.contentItems=r.slice(0,p).concat(l(n))}}}),Object.defineProperty(e.prototype,"initProOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,i,o,r,n,s,a=this,l=e.linkForId,p=e.generateCodeSamples||{languages:[]},c=e.hooks;if((e=deepClone(e)).linkForId=l,e.hooks=c,e.unstable_externalCodeSamples=null==p?void 0:p.languages.map((function(e){return{lang:e.lang,label:e.label,get:function(t){var i=t.operation,o=t.exampleName;return code_samples_1.getCodeSample({lang:e.lang,operation:i,exampleName:o,options:tslib_1.__assign(tslib_1.__assign({},e.options),{skipOptionalParameters:p.skipOptionalParameters,withOAuth2Call:p.withOAuth2Call,spec:a.spec.parser.spec})})}}})),this.rawOptions=extendTheme_1.extendTheme(e),DEFAULT_OPTIONS.allowedMdComponents=tslib_1.__assign(tslib_1.__assign({},getDefaultMdComponents()),DEFAULT_OPTIONS.allowedMdComponents),this.options=new redoc_lib_1.RedocNormalizedOptions(this.rawOptions,DEFAULT_OPTIONS),this.options.showConsole=null===(t=this.rawOptions.showConsole)||void 0===t||t,this.options.hideRightPanel=null!==(i=this.rawOptions.hideRightPanel)&&void 0!==i&&i,this.showRightPanel=!this.options.hideRightPanel,this.options.showRightPanelToggle=null!==(o=this.rawOptions.showRightPanelToggle)&&void 0!==o&&o,this.options.sideNavStyle=this.rawOptions.sideNavStyle||"summary-only",this.options.whiteLabel=!!this.rawOptions.whiteLabel,this.options.hideLogo=!!this.rawOptions.hideLogo,this.options.hideInfoSection=!!this.rawOptions.hideInfoSection,this.options.oAuth2RedirectURI=this.rawOptions.oAuth2RedirectURI||null,this.options.oAuth2RedirectURI=this.rawOptions.oAuth2RedirectURI||null,this.options.events=this.rawOptions.events||{},this.options.corsProxyUrl=this.rawOptions.corsProxyUrl?addTrailingSlash(this.rawOptions.corsProxyUrl):null,this.options.theme.scrollYOffset=this.options.scrollYOffset,this.options.linkForId=this.rawOptions.linkForId||null,this.options.layout=this.rawOptions.layout?tslib_1.__assign({},this.rawOptions.layout):{},this.options.pagination=this.rawOptions.pagination||"none",this.options.routingStrategy="none"===this.options.pagination?"hash":"browser",!(null===(r=this.rawOptions)||void 0===r?void 0:r.pagination)&&(null===(n=this.rawOptions.layout)||void 0===n?void 0:n.scope))switch(console.warn('"layout.scope" and "routingStrategy" settings are deprecated. Please, use "pagination" instead.'),null===(s=this.rawOptions.layout)||void 0===s?void 0:s.scope){case"all":this.options.pagination="none",this.options.routingStrategy="hash";break;case"section":this.options.pagination="section",this.options.routingStrategy="browser";break;case"item":this.options.pagination="item",this.options.routingStrategy="browser";break;default:this.options.pagination="none",this.options.routingStrategy="hash"}this.options.markdownItemsPagination="none",this.options.layout.showTag=!1,!1!==this.options.layout.showNextButton&&(this.options.layout.showNextButton=!0),this.options.disableSidebar=!!e.disableSidebar,this.options.disableSidebar&&(this.options.theme.sidebar.width="0px"),this.options.skipBundleAndConvert=!!e.skipBundleAndConvert,this.options.routingBasePath=e.routingBasePath&&utils_1.normalizePath(e.routingBasePath)||"",this.options.searchAutoExpand=!1!==e.searchAutoExpand,this.options.searchMode=e.searchMode||"default",this.options.ctrlFHijack=!!e.ctrlFHijack,this.options.showConsole&&(this.options.hooks={BeforeRequestSample:TryItButton_1.TryItButton})}}),Object.defineProperty(e.prototype,"initSearch",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this;global.__REDOCLY_SEARCH_URL?this.search=new SearchStore_1.RemoteSearch(global.__REDOCLY_SEARCH_URL):this.search=new SearchStore_1.DeepSearchStore(e),t&&setTimeout((function(){return i.search.indexItems(i.menu.items)}),50),this.spec instanceof VersionedSpecStore_1.VersionedSpecStore&&mobx_1.observe(this.spec,"activeVersionIdx",(function(t){var o,r,n=i.spec;null===(o=i.search)||void 0===o||o.dispose(),i.search=new SearchStore_1.DeepSearchStore(e);var s=n.versions[t.newValue]._searchIndexName;if(redoc_lib_1.IS_BROWSER&&s){var a=n.versions[t.newValue]._searchIndexName,l=new URL(window.location.href);l.pathname=joinURLs(i.options.routingBasePath,a),null===(r=i.search)||void 0===r||r.fromExternalJS(l.toString(),__redoc_state.searchIndexExport),i.observeAllAndRemark()}else setTimeout((function(){var e;null===(e=i.search)||void 0===e||e.indexItems(i.menu.items)}),0)})),redoc_lib_1.IS_BROWSER&&this.observeAllAndRemark()}}),Object.defineProperty(e.prototype,"onDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx),this.options.showRightPanelToggle){var e=utils_2.fromStorage("showRightPanelToggleState");e&&(this.showRightPanel="true"===e)}}}),Object.defineProperty(e.prototype,"toggleRightPanel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.showRightPanel=!this.showRightPanel,utils_2.toStorage("showRightPanelToggleState",JSON.stringify(this.showRightPanel))}}),Object.defineProperty(e.prototype,"tryItOut",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.tryItOperation=e}}),Object.defineProperty(e.prototype,"dereferenceSpecForTryIt",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i,o,r,n;return tslib_1.__awaiter(this,void 0,void 0,(function(){var s,a,l,p,c,u,h,d,b;return tslib_1.__generator(this,(function(f){switch(f.label){case 0:return(s=e+"/"+t.path+"/"+t.httpVerb)===this.prevDerefKey?[2,this.dereferencedRawSpec]:(this.dereferencedRawSpec=void 0,this.prevDerefKey=s,a=void 0!==e&&this.spec.specs?this.spec.specs[e].parser.spec:this.spec.parser.spec,l=JSON.parse(JSON.stringify(a)),p=tslib_1.__assign(tslib_1.__assign({},getSpecVersionObj(l)),{components:l.components,paths:(d={},d[t.path]=(b={},b[t.httpVerb]=null===(o=null===(i=l.paths)||void 0===i?void 0:i[t.path])||void 0===o?void 0:o[t.httpVerb],b.parameters=null===(n=null===(r=l.paths)||void 0===r?void 0:r[t.path])||void 0===n?void 0:n.parameters,b),d)}),c=new openapi_core_1.Config({}),u=loadAndBundleSpec_1.createParsedDocument(p),h={config:c,doc:u,dereference:!0},[4,openapi_core_1.bundle(h)]);case 1:return f.sent(),this.dereferencedRawSpec=l,[2,l]}}))}))}}),Object.defineProperty(e.prototype,"observeAllAndRemark",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=function(i,o){if(void 0===o&&(o=0),!(!i||i.isCircular||o>SearchStore_1.SEARCH_MAX_DEPTH))if(i.items)t(i.items,o+1);else for(var r=0,n=i.fields||[];r<n.length;r++){var s=n[r];(s.schema.fields||s.schema.items)&&(mobx_1.observe(s,"expanded",(function(t){return e.remark(t)})),t(s.schema,o+1))}},i=function(i){i&&i.active&&(mobx_1.observe(i,"activeMimeIdx",(function(t){return e.remark(t)})),t(i.active.schema))},o=function(t){for(var r=0,n=t;r<n.length;r++){var s=n[r];if("operation"===s.type){for(var a=0,l=s.responses;a<l.length;a++){var p=l[a];mobx_1.observe(p,"expanded",(function(t){return e.remark(t)})),i(p.content)}var c=s.requestBody;c&&i(c.content)}else"tag"===s.type&&o(s.items||[])}};o(this.menu.renderItems),this.options.layout&&"none"!==this.options.pagination&&mobx_1.observe(this.menu,"renderItems",(function(){return o(e.menu.renderItems)}))}}),Object.defineProperty(e.prototype,"remark",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e.newValue&&setTimeout((function(){return t.marker.mark()}),0)}}),Object.defineProperty(e,"fromJS",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var i=new e(t.spec.data,t.spec.url,t.options,!1);i.menu.activeItemIdx=void 0!==t.menu.activeItemIdx?t.menu.activeItemIdx:-1,i.spec instanceof VersionedSpecStore_1.VersionedSpecStore&&t.spec.activeVersionIdx&&(i.spec.activeVersionIdx=t.spec.activeVersionIdx||0);var o=i.menu.flatItems[i.menu.activeItemIdx];if(o&&i.menu.activate(o,!1),!i.options.disableSearch){var r=new URL(window.location.href);r.pathname=t.searchIndexPath&&t.searchIndexPath.startsWith("/")?t.searchIndexPath:r.pathname+(r.pathname.endsWith("/")?"":"/")+t.searchIndexPath,i.search.fromExternalJS(r.toString(),t.searchIndexExport)}return t.tryItOperationId&&(i.tryItOperation=i.menu.flatItems.find((function(e){return e.id===t.tryItOperationId}))),setTimeout((function(){return i.observeAllAndRemark()}),0),i}}),Object.defineProperty(e.prototype,"toJS",{enumerable:!1,configurable:!0,writable:!0,value:function(){return tslib_1.__awaiter(this,void 0,void 0,(function(){var e,t;return tslib_1.__generator(this,(function(i){switch(i.label){case 0:return e={menu:{activeItemIdx:this.menu.activeItemIdx},spec:this.spec instanceof MultipleSpecsStore_1.MultipleSpecsStore||this.spec instanceof VersionedSpecStore_1.VersionedSpecStore?{url:void 0,data:this.spec.toJS()}:{url:this.spec.parser.specUrl,data:this.spec.parser.spec}},this.search?[4,this.search.toJS()]:[3,2];case 1:return t=i.sent(),[3,3];case 2:t=void 0,i.label=3;case 3:return[2,(e.searchIndex=t,e.options=this.rawOptions,e.tryItOperationId=this.tryItOperation&&this.tryItOperation.id||void 0,e)]}}))}))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),this.disposer()}}),Object.defineProperty(e.prototype,"updateMarkOnMenu",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t=Math.max(0,e),i=Math.min(this.menu.flatItems.length,t+5),o=[],r=t;r<i;r++){var n;(n=this.menu.getElementAt(r))&&(n&&o.push(n))}this.options.layout&&"item"===this.options.pagination&&(this.menu.flatItems[e]&&this.menu.flatItems[e].parent&&(n=this.menu.getElementAt(this.menu.flatItems[e].parent.absoluteIdx))&&o.push(n));this.marker.addOnly(o),this.marker.mark()}}),tslib_1.__decorate([mobx_1.observable],e.prototype,"search",void 0),tslib_1.__decorate([mobx_1.observable],e.prototype,"tryItOperation",void 0),tslib_1.__decorate([mobx_1.observable],e.prototype,"showRightPanel",void 0),tslib_1.__decorate([mobx_1.action],e.prototype,"onDidMount",null),tslib_1.__decorate([mobx_1.action],e.prototype,"toggleRightPanel",null),tslib_1.__decorate([mobx_1.action],e.prototype,"tryItOut",null),e}();exports.ProStore=ProStore;var DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],allowedMdComponents:{"security-definitions":{component:redoc_lib_1.SecurityDefs,propsSelector:function(e){return{securitySchemes:e.spec.securitySchemes}}},RedocResponse:{component:RedocResponse_1.RedocResponse,propsSelector:function(e){return{store:e}}},PullRight:{component:PullRight_1.PullRight,propsSelector:function(){return{}}}}};function joinURLs(e,t){return e.endsWith("/")&&(e=e.slice(0,-1)),t.startsWith("/")&&(t=t.substring(1)),e+"/"+t}function addTrailingSlash(e){return e.endsWith("/")?e:e+"/"}function getSpecVersionObj(e){return e.openapi?{openapi:e.openapi}:e.swagger?{swagger:e.swagger}:void 0}function deepClone(e){var t,i,o;if("object"!=typeof e||null===e)return e;for(o in t=Array.isArray(e)?[]:{},e)i=e[o],t[o]=deepClone(i);return t}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),mobx_1=require("mobx"),openapi_core_1=require("@redocly/openapi-core"),loadAndBundleSpec_1=require("../redoc-lib/src/utils/loadAndBundleSpec"),redoc_lib_1=require("../redoc-lib"),TryItButton_1=require("../components/console/TryItButton"),PushStateHistoryService_1=require("./PushStateHistoryService"),ProMenu_1=require("./ProMenu"),SearchStore_1=require("./SearchStore"),extendTheme_1=require("./extendTheme"),RedocResponse_1=require("../components/pluggable/RedocResponse"),PullRight_1=require("../components/pluggable/PullRight"),MultipleSpecsStore_1=require("./MultipleSpecsStore"),VersionedSpecStore_1=require("./VersionedSpecStore"),check_1=require("./check"),slugify_1=require("slugify"),utils_1=require("./utils"),code_samples_1=require("./code-samples/"),utils_2=require("../utils"),global="undefined"==typeof window?{__REDOCLY_SEARCH_URL:void 0}:window;function getDefaultMdComponents(){var e=new redoc_lib_1.AppStore({openapi:"3.0.0",info:{version:"1",description:"test",title:"test"},paths:{}},void 0,{disableSearch:!0},!1);return e.dispose(),e.options.allowedMdComponents}var NestingGroup=function(){function e(e,t,i,o){var r=this;Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"linkable",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"level",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),mobx_1.makeObservable(this),this.id="section/"+e,this.type="nesting-group",this.name=i||"",this.level=1,this.depth=1,this.description="",this.parent=void 0,this.expanded=!1,this.items=t,this.linkable=!!o,t.forEach((function(e){return e.parent=r})),increaseDepthDeep(t)}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!0,this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!1}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),tslib_1.__decorate([mobx_1.observable],e.prototype,"active",void 0),tslib_1.__decorate([mobx_1.observable],e.prototype,"expanded",void 0),tslib_1.__decorate([mobx_1.action],e.prototype,"activate",null),tslib_1.__decorate([mobx_1.action],e.prototype,"expand",null),tslib_1.__decorate([mobx_1.action],e.prototype,"collapse",null),tslib_1.__decorate([mobx_1.action],e.prototype,"deactivate",null),e}();function increaseDepthDeep(e){Array.isArray(e)&&e.forEach((function(e){e.depth++,e.parent&&"group"===e.parent.type&&(e.depth=e.parent.depth),increaseDepthDeep(e.items)}))}exports.NestingGroup=NestingGroup;var ProStore=function(){function e(e,t,i,o){var r=this;void 0===i&&(i={}),void 0===o&&(o=!0),Object.defineProperty(this,"rawOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"menu",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"marker",{enumerable:!0,configurable:!0,writable:!0,value:new redoc_lib_1.MarkerService}),Object.defineProperty(this,"scroll",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"search",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tryItOperation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showRightPanel",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"dereferencedRawSpec",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"prevDerefKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"l",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),mobx_1.makeObservable(this),this.initProOptions(i),redoc_lib_1.IS_BROWSER&&(this.l=check_1.default(i.licenseKey),this.l.then((function(e){e.valid&&e.allowed&&!e.expired||e.local||(r.menu.items=[],r.menu.flatItems=r.menu.flatItems.slice(0,1),r.menu.renderItems=[])})));var n=Array.isArray(e),s=e&&Array.isArray(e.versions),a=this.options.disableSidebar?new PushStateHistoryService_1.FakeHistoryService(this.options):"browser"===this.options.routingStrategy?new PushStateHistoryService_1.PushStateHistoryService(this.options.routingBasePath,n||s,this.options.markdownItemsPagination,this.options.pagination):new PushStateHistoryService_1.ProHashHistoryService(this.options.routingBasePath,n||s);if(utils_1.ignoreTagGroupsWithXNesting(e),this.spec=n?new MultipleSpecsStore_1.MultipleSpecsStore(e,this.options):s?new VersionedSpecStore_1.VersionedSpecStore(e,this.options,a.currentId.split("/")[0]):new redoc_lib_1.SpecStore(e,t,this.options),this.spec.parser.spec["x-nesting"]){if(n)throw new Error("Both multiple definitions and x-nesting are not supported. Skipping x-nesting");this.groupSpecContentItems(this.spec),a instanceof PushStateHistoryService_1.PushStateHistoryService&&(a.hasNesting=!0),console.log("\nUsing nesting mode\n")}i.downloadSpecUrl&&(this.spec.info.downloadLink=i.downloadSpecUrl,this.spec.info.downloadFileName=""),this.scroll=new redoc_lib_1.ScrollService(this.options),this.options.disableSidebar||ProMenu_1.ProMenu.updateOnHistory(a.currentId,this.scroll),this.menu=new ProMenu_1.ProMenu(this.spec,this.scroll,this.options,a),this.options.disableSearch||this.options.disableSidebar||this.initSearch(this.options,o),this.disposer=mobx_1.observe(this.menu,"none"===this.options.pagination?"activeItemIdx":"activeRenderItemIdx",(function(e){setTimeout((function(){return r.updateMarkOnMenu(e.newValue)}))}))}return Object.defineProperty(e.prototype,"groupSpecContentItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.parser.spec["x-nesting"],i=t.length,o="browser"===this.options.routingStrategy;if(Array.isArray(t)){var r=e.contentItems,n={},s=function(e,t,i){Array.isArray(e)||(e=[e]);for(var o=[],r=0,n=e;r<n.length;r++)for(var s=n[r],a=0,l=t;a<l.length;a++){var p=l[a];p[s]||(p[s]=i?[]:{}),o.push(p[s])}return o},a=function(e){for(var i=0,o=e;i<o.length;i++){var r=o[i];if("operation"===r.type){var l=r.operationId||r.httpVerb+" "+r.path,p=r.operationSpec&&r.operationSpec["x-filters"];if(!p){console.warn('[warning] Operation "'+l+"\" doesn't define x-filters. Skipping");continue}for(var c=[n],u=0;u<t.length;u++){var h=t[u],d=p[h];if(!d){console.warn('[warning] Operation "'+l+'" doesn\'t define "'+h+'" in x-filters. Skipping...'),c=[];break}c=s(d,c,u===t.length-1)}for(var b=0,f=c;b<f.length;b++){var m=f[b],v=Object.assign(Object.create(Object.getPrototypeOf(r)),r);v.depth--,m.push(v)}}r.items&&a(r.items)}};a(r);var l=function(e,t,r){return void 0===t&&(t=""),void 0===r&&(r=0),Array.isArray(e)?e:Object.keys(e).map((function(n){var s=t+slugify_1.default(n),a=l(e[n],s+"/",r+1);return o&&a.forEach((function(e){e.id=e.id.replace(/^section\//,"group/"),e.id=e.id.replace(/tag\/(.*)\/(paths\/.*\/\w+)/,"group/"+s+"/$2"),e.id.startsWith("operation/")&&(e.id="group/"+s+"/"+e.id)})),new NestingGroup(s,a,n,r===i-1)}))},p=r.findIndex((function(e){return"section"!==e.type}));e.contentItems=r.slice(0,p).concat(l(n))}}}),Object.defineProperty(e.prototype,"initProOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,i,o,r,n,s,a=this,l=e.linkForId,p=e.generateCodeSamples||{languages:[]},c=e.hooks;if((e=deepClone(e)).linkForId=l,e.hooks=c,e.unstable_externalCodeSamples=null==p?void 0:p.languages.map((function(e){return{lang:e.lang,label:e.label,get:function(t){var i=t.operation,o=t.exampleName;return code_samples_1.getCodeSample({lang:e.lang,operation:i,exampleName:o,options:tslib_1.__assign(tslib_1.__assign({},e.options),{skipOptionalParameters:p.skipOptionalParameters,withOAuth2Call:p.withOAuth2Call,spec:a.spec.parser.spec,generatedPayloadSamplesMaxDepth:a.options.generatedPayloadSamplesMaxDepth})})}}})),this.rawOptions=extendTheme_1.extendTheme(e),DEFAULT_OPTIONS.allowedMdComponents=tslib_1.__assign(tslib_1.__assign({},getDefaultMdComponents()),DEFAULT_OPTIONS.allowedMdComponents),this.options=new redoc_lib_1.RedocNormalizedOptions(this.rawOptions,DEFAULT_OPTIONS),this.options.showConsole=null===(t=this.rawOptions.showConsole)||void 0===t||t,this.options.hideRightPanel=null!==(i=this.rawOptions.hideRightPanel)&&void 0!==i&&i,this.showRightPanel=!this.options.hideRightPanel,this.options.showRightPanelToggle=null!==(o=this.rawOptions.showRightPanelToggle)&&void 0!==o&&o,this.options.sideNavStyle=this.rawOptions.sideNavStyle||"summary-only",this.options.whiteLabel=!!this.rawOptions.whiteLabel,this.options.hideLogo=!!this.rawOptions.hideLogo,this.options.hideInfoSection=!!this.rawOptions.hideInfoSection,this.options.oAuth2RedirectURI=this.rawOptions.oAuth2RedirectURI||null,this.options.oAuth2RedirectURI=this.rawOptions.oAuth2RedirectURI||null,this.options.events=this.rawOptions.events||{},this.options.corsProxyUrl=this.rawOptions.corsProxyUrl?addTrailingSlash(this.rawOptions.corsProxyUrl):null,this.options.theme.scrollYOffset=this.options.scrollYOffset,this.options.linkForId=this.rawOptions.linkForId||null,this.options.layout=this.rawOptions.layout?tslib_1.__assign({},this.rawOptions.layout):{},this.options.pagination=this.rawOptions.pagination||"none",this.options.routingStrategy="none"===this.options.pagination?"hash":"browser",!(null===(r=this.rawOptions)||void 0===r?void 0:r.pagination)&&(null===(n=this.rawOptions.layout)||void 0===n?void 0:n.scope))switch(console.warn('"layout.scope" and "routingStrategy" settings are deprecated. Please, use "pagination" instead.'),null===(s=this.rawOptions.layout)||void 0===s?void 0:s.scope){case"all":this.options.pagination="none",this.options.routingStrategy="hash";break;case"section":this.options.pagination="section",this.options.routingStrategy="browser";break;case"item":this.options.pagination="item",this.options.routingStrategy="browser";break;default:this.options.pagination="none",this.options.routingStrategy="hash"}this.options.markdownItemsPagination="none",this.options.layout.showTag=!1,!1!==this.options.layout.showNextButton&&(this.options.layout.showNextButton=!0),this.options.disableSidebar=!!e.disableSidebar,this.options.disableSidebar&&(this.options.theme.sidebar.width="0px"),this.options.skipBundleAndConvert=!!e.skipBundleAndConvert,this.options.routingBasePath=e.routingBasePath&&utils_1.normalizePath(e.routingBasePath)||"",this.options.searchAutoExpand=!1!==e.searchAutoExpand,this.options.searchMode=e.searchMode||"default",this.options.ctrlFHijack=!!e.ctrlFHijack,this.options.showConsole&&(this.options.hooks={BeforeRequestSample:TryItButton_1.TryItButton})}}),Object.defineProperty(e.prototype,"initSearch",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this;global.__REDOCLY_SEARCH_URL?this.search=new SearchStore_1.RemoteSearch(global.__REDOCLY_SEARCH_URL):this.search=new SearchStore_1.DeepSearchStore(e),t&&setTimeout((function(){return i.search.indexItems(i.menu.items)}),50),this.spec instanceof VersionedSpecStore_1.VersionedSpecStore&&mobx_1.observe(this.spec,"activeVersionIdx",(function(t){var o,r,n=i.spec;null===(o=i.search)||void 0===o||o.dispose(),i.search=new SearchStore_1.DeepSearchStore(e);var s=n.versions[t.newValue]._searchIndexName;if(redoc_lib_1.IS_BROWSER&&s){var a=n.versions[t.newValue]._searchIndexName,l=new URL(window.location.href);l.pathname=joinURLs(i.options.routingBasePath,a),null===(r=i.search)||void 0===r||r.fromExternalJS(l.toString(),__redoc_state.searchIndexExport),i.observeAllAndRemark()}else setTimeout((function(){var e;null===(e=i.search)||void 0===e||e.indexItems(i.menu.items)}),0)})),redoc_lib_1.IS_BROWSER&&this.observeAllAndRemark()}}),Object.defineProperty(e.prototype,"onDidMount",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx),this.options.showRightPanelToggle){var e=utils_2.fromStorage("showRightPanelToggleState");e&&(this.showRightPanel="true"===e)}}}),Object.defineProperty(e.prototype,"toggleRightPanel",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.showRightPanel=!this.showRightPanel,utils_2.toStorage("showRightPanelToggleState",JSON.stringify(this.showRightPanel))}}),Object.defineProperty(e.prototype,"tryItOut",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.tryItOperation=e}}),Object.defineProperty(e.prototype,"dereferenceSpecForTryIt",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i,o,r,n;return tslib_1.__awaiter(this,void 0,void 0,(function(){var s,a,l,p,c,u,h,d,b;return tslib_1.__generator(this,(function(f){switch(f.label){case 0:return(s=e+"/"+t.path+"/"+t.httpVerb)===this.prevDerefKey?[2,this.dereferencedRawSpec]:(this.dereferencedRawSpec=void 0,this.prevDerefKey=s,a=void 0!==e&&this.spec.specs?this.spec.specs[e].parser.spec:this.spec.parser.spec,l=JSON.parse(JSON.stringify(a)),p=tslib_1.__assign(tslib_1.__assign({},getSpecVersionObj(l)),{components:l.components,paths:(d={},d[t.path]=(b={},b[t.httpVerb]=null===(o=null===(i=l.paths)||void 0===i?void 0:i[t.path])||void 0===o?void 0:o[t.httpVerb],b.parameters=null===(n=null===(r=l.paths)||void 0===r?void 0:r[t.path])||void 0===n?void 0:n.parameters,b),d)}),c=new openapi_core_1.Config({}),u=loadAndBundleSpec_1.createParsedDocument(p),h={config:c,doc:u,dereference:!0},[4,openapi_core_1.bundle(h)]);case 1:return f.sent(),this.dereferencedRawSpec=l,[2,l]}}))}))}}),Object.defineProperty(e.prototype,"observeAllAndRemark",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=function(i,o){if(void 0===o&&(o=0),!(!i||i.isCircular||o>SearchStore_1.SEARCH_MAX_DEPTH))if(i.items)t(i.items,o+1);else for(var r=0,n=i.fields||[];r<n.length;r++){var s=n[r];(s.schema.fields||s.schema.items)&&(mobx_1.observe(s,"expanded",(function(t){return e.remark(t)})),t(s.schema,o+1))}},i=function(i){i&&i.active&&(mobx_1.observe(i,"activeMimeIdx",(function(t){return e.remark(t)})),t(i.active.schema))},o=function(t){for(var r=0,n=t;r<n.length;r++){var s=n[r];if("operation"===s.type){for(var a=0,l=s.responses;a<l.length;a++){var p=l[a];mobx_1.observe(p,"expanded",(function(t){return e.remark(t)})),i(p.content)}var c=s.requestBody;c&&i(c.content)}else"tag"===s.type&&o(s.items||[])}};o(this.menu.renderItems),this.options.layout&&"none"!==this.options.pagination&&mobx_1.observe(this.menu,"renderItems",(function(){return o(e.menu.renderItems)}))}}),Object.defineProperty(e.prototype,"remark",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e.newValue&&setTimeout((function(){return t.marker.mark()}),0)}}),Object.defineProperty(e,"fromJS",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var i=new e(t.spec.data,t.spec.url,t.options,!1);i.menu.activeItemIdx=void 0!==t.menu.activeItemIdx?t.menu.activeItemIdx:-1,i.spec instanceof VersionedSpecStore_1.VersionedSpecStore&&t.spec.activeVersionIdx&&(i.spec.activeVersionIdx=t.spec.activeVersionIdx||0);var o=i.menu.flatItems[i.menu.activeItemIdx];if(o&&i.menu.activate(o,!1),!i.options.disableSearch){var r=new URL(window.location.href);r.pathname=t.searchIndexPath&&t.searchIndexPath.startsWith("/")?t.searchIndexPath:r.pathname+(r.pathname.endsWith("/")?"":"/")+t.searchIndexPath,i.search.fromExternalJS(r.toString(),t.searchIndexExport)}return t.tryItOperationId&&(i.tryItOperation=i.menu.flatItems.find((function(e){return e.id===t.tryItOperationId}))),setTimeout((function(){return i.observeAllAndRemark()}),0),i}}),Object.defineProperty(e.prototype,"toJS",{enumerable:!1,configurable:!0,writable:!0,value:function(){return tslib_1.__awaiter(this,void 0,void 0,(function(){var e,t;return tslib_1.__generator(this,(function(i){switch(i.label){case 0:return e={menu:{activeItemIdx:this.menu.activeItemIdx},spec:this.spec instanceof MultipleSpecsStore_1.MultipleSpecsStore||this.spec instanceof VersionedSpecStore_1.VersionedSpecStore?{url:void 0,data:this.spec.toJS()}:{url:this.spec.parser.specUrl,data:this.spec.parser.spec}},this.search?[4,this.search.toJS()]:[3,2];case 1:return t=i.sent(),[3,3];case 2:t=void 0,i.label=3;case 3:return[2,(e.searchIndex=t,e.options=this.rawOptions,e.tryItOperationId=this.tryItOperation&&this.tryItOperation.id||void 0,e)]}}))}))}}),Object.defineProperty(e.prototype,"dispose",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),this.disposer()}}),Object.defineProperty(e.prototype,"updateMarkOnMenu",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t=Math.max(0,e),i=Math.min(this.menu.flatItems.length,t+5),o=[],r=t;r<i;r++){var n;(n=this.menu.getElementAt(r))&&(n&&o.push(n))}this.options.layout&&"item"===this.options.pagination&&(this.menu.flatItems[e]&&this.menu.flatItems[e].parent&&(n=this.menu.getElementAt(this.menu.flatItems[e].parent.absoluteIdx))&&o.push(n));this.marker.addOnly(o),this.marker.mark()}}),tslib_1.__decorate([mobx_1.observable],e.prototype,"search",void 0),tslib_1.__decorate([mobx_1.observable],e.prototype,"tryItOperation",void 0),tslib_1.__decorate([mobx_1.observable],e.prototype,"showRightPanel",void 0),tslib_1.__decorate([mobx_1.action],e.prototype,"onDidMount",null),tslib_1.__decorate([mobx_1.action],e.prototype,"toggleRightPanel",null),tslib_1.__decorate([mobx_1.action],e.prototype,"tryItOut",null),e}();exports.ProStore=ProStore;var DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],allowedMdComponents:{"security-definitions":{component:redoc_lib_1.SecurityDefs,propsSelector:function(e){return{securitySchemes:e.spec.securitySchemes}}},RedocResponse:{component:RedocResponse_1.RedocResponse,propsSelector:function(e){return{store:e}}},PullRight:{component:PullRight_1.PullRight,propsSelector:function(){return{}}}}};function joinURLs(e,t){return e.endsWith("/")&&(e=e.slice(0,-1)),t.startsWith("/")&&(t=t.substring(1)),e+"/"+t}function addTrailingSlash(e){return e.endsWith("/")?e:e+"/"}function getSpecVersionObj(e){return e.openapi?{openapi:e.openapi}:e.swagger?{swagger:e.swagger}:void 0}function deepClone(e){var t,i,o;if("object"!=typeof e||null===e)return e;for(o in t=Array.isArray(e)?[]:{},e)i=e[o],t[o]=deepClone(i);return t}
2
2
  //# sourceMappingURL=ProStore.js.map
@@ -9,4 +9,5 @@ export declare type LicenseInfo = {
9
9
  local?: boolean;
10
10
  cryptoMissing?: boolean;
11
11
  };
12
+ export declare function isHostAllowed(hostname: string, hosts: string[] | boolean | undefined): boolean;
12
13
  export default function parse(key?: string): Promise<LicenseInfo>;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0;function promisifyIECryptoRes(e){return e.then?e:new Promise((function(t){e.oncomplete=function(e){t(e.target.result)}}))}function str2ab(e){for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0,o=e.length;n<o;n++)r[n]=e.charCodeAt(n);return t}var getKey=function(){var e=str2ab(atob("undefined"!=typeof REDOCLY_PUBLIC_KEY?REDOCLY_PUBLIC_KEY:"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMHjNir5fXx/ZXoaEeXQ5XyxbNJ4YJYczoCRdSkL6NLzw1FHnng5Vfcgk5+bvox9QRYRbuk84mA4f2NhywDbXKECAwEAAQ=="));return promisifyIECryptoRes(cryptoLib.subtle.importKey("spki",e,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!0,["verify"]))};function textEncode(e){if(window.TextEncoder)return(new TextEncoder).encode(e);for(var t=unescape(encodeURIComponent(e)),r=new Uint8Array(t.length),n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function verify(e,t){return tslib_1.__awaiter(this,void 0,void 0,(function(){var r,n,o,i;return tslib_1.__generator(this,(function(a){switch(a.label){case 0:return r=promisifyIECryptoRes,o=(n=cryptoLib.subtle).verify,i=[{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"}],[4,getKey()];case 1:return[2,r.apply(void 0,[o.apply(n,i.concat([a.sent(),str2ab(atob(t)),textEncode(e)]))])]}}))}))}function parse(e){return tslib_1.__awaiter(this,void 0,void 0,(function(){var t,r,n,o,i;return tslib_1.__generator(this,(function(a){switch(a.label){case 0:if("development"===process.env.NODE_ENV)return[2,{valid:!0,allowed:!0}];if(t=window.location.hostname,!e)return"localhost"===t||"127.0.0.1"===t||t.endsWith(".localhost")?[2,{local:!0}]:[2,{}];r=e.split("."),n=r[0],o=r[1],a.label=1;case 1:return a.trys.push([1,3,,4]),[4,verify(atob(n),o)];case 2:return a.sent()?(i=JSON.parse(atob(n)),[3,4]):[2,{valid:!1}];case 3:return a.sent(),[2,{valid:!1,cryptoMissing:!0}];case 4:return i.valid=!0,(!i.e||Date.now()/1e3>i.e)&&(i.expired=!0),!0===i.h&&(i.allowed=!0),Array.isArray(i.h)&&"undefined"!=typeof window&&("localhost"===t||"127.0.0.1"===t||t.endsWith(".localhost")||i.h.find((function(e){return e===t||t.endsWith("."+e)})))&&(i.allowed=!0),[2,i]}}))}))}exports.default=parse;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib_1=require("tslib"),cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0;function promisifyIECryptoRes(e){return e.then?e:new Promise((function(t){e.oncomplete=function(e){t(e.target.result)}}))}function str2ab(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),r=0,o=e.length;r<o;r++)n[r]=e.charCodeAt(r);return t}var getKey=function(){var e=str2ab(atob("undefined"!=typeof REDOCLY_PUBLIC_KEY?REDOCLY_PUBLIC_KEY:"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMHjNir5fXx/ZXoaEeXQ5XyxbNJ4YJYczoCRdSkL6NLzw1FHnng5Vfcgk5+bvox9QRYRbuk84mA4f2NhywDbXKECAwEAAQ=="));return promisifyIECryptoRes(cryptoLib.subtle.importKey("spki",e,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!0,["verify"]))};function textEncode(e){if(window.TextEncoder)return(new TextEncoder).encode(e);for(var t=unescape(encodeURIComponent(e)),n=new Uint8Array(t.length),r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}function verify(e,t){return tslib_1.__awaiter(this,void 0,void 0,(function(){var n,r,o,i;return tslib_1.__generator(this,(function(s){switch(s.label){case 0:return n=promisifyIECryptoRes,o=(r=cryptoLib.subtle).verify,i=[{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"}],[4,getKey()];case 1:return[2,n.apply(void 0,[o.apply(r,i.concat([s.sent(),str2ab(atob(t)),textEncode(e)]))])]}}))}))}function isHostAllowed(e,t){return!0===t||!(!Array.isArray(t)||"undefined"==typeof window)&&(!("localhost"!==e&&"127.0.0.1"!==e&&!e.endsWith(".localhost")&&!t.find((function(t){return t===e||e.endsWith("."+t)})))||!!t.find((function(t){if(t.indexOf("*")===t.lastIndexOf("*")){var n=t.split("*"),r=n[0],o=n[1];return o&&e.startsWith(r)&&e.endsWith(o)&&o.split(".").length>2}})))}function parse(e){return tslib_1.__awaiter(this,void 0,void 0,(function(){var t,n,r,o,i;return tslib_1.__generator(this,(function(s){switch(s.label){case 0:if("development"===process.env.NODE_ENV)return[2,{valid:!0,allowed:!0}];if(t=window.location.hostname,!e)return"localhost"===t||"127.0.0.1"===t||t.endsWith(".localhost")?[2,{local:!0}]:[2,{}];n=e.split("."),r=n[0],o=n[1],s.label=1;case 1:return s.trys.push([1,3,,4]),[4,verify(atob(r),o)];case 2:return s.sent()?(i=JSON.parse(atob(r)),[3,4]):[2,{valid:!1}];case 3:return s.sent(),[2,{valid:!1,cryptoMissing:!0}];case 4:return i.valid=!0,(!i.e||Date.now()/1e3>i.e)&&(i.expired=!0),i.allowed=isHostAllowed(t,i.h),[2,i]}}))}))}exports.isHostAllowed=isHostAllowed,exports.default=parse;
2
2
  //# sourceMappingURL=check.js.map