@redocly/reference-docs 2.12.4 → 2.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/bin/cli/commands/redocly-docs-cli.min.js +87 -82
  2. package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
  3. package/dist/console.redocly-reference-docs.min.js +122 -113
  4. package/dist/oauth2-redirect.js +1 -1
  5. package/dist/redocly-reference-docs.min.js +727 -720
  6. package/lib/components/Samples/ExampleSwitch.js +1 -1
  7. package/lib/components/Samples/SamplesTabs.js +1 -1
  8. package/lib/components/common/Checkbox.d.ts +3 -1
  9. package/lib/components/common/Checkbox.js +1 -1
  10. package/lib/components/common/CheckboxList.js +1 -1
  11. package/lib/components/console/OAuth2Flow.d.ts +4 -1
  12. package/lib/components/console/OAuth2Flow.js +1 -1
  13. package/lib/components/console/RequestBody.js +1 -1
  14. package/lib/components/console/RequestBodyForm.d.ts +5 -2
  15. package/lib/components/console/RequestBodyForm.js +1 -1
  16. package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
  17. package/lib/redoc-lib/src/services/MenuBuilder.js +1 -1
  18. package/lib/redoc-lib/src/services/models/Example.d.ts +1 -0
  19. package/lib/redoc-lib/src/services/models/Example.js +1 -1
  20. package/lib/redoc-lib/src/utils/helpers.d.ts +2 -0
  21. package/lib/redoc-lib/src/utils/helpers.js +1 -1
  22. package/lib/services/OAuth2.d.ts +0 -7
  23. package/lib/services/OAuth2.js +1 -1
  24. package/lib/services/code-samples/generator.js +1 -1
  25. package/lib/services/utils.d.ts +8 -1
  26. package/lib/services/utils.js +1 -1
  27. package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
  28. package/lib-esm/components/Samples/SamplesTabs.js +1 -1
  29. package/lib-esm/components/common/Checkbox.d.ts +3 -1
  30. package/lib-esm/components/common/Checkbox.js +1 -1
  31. package/lib-esm/components/common/CheckboxList.js +1 -1
  32. package/lib-esm/components/console/OAuth2Flow.d.ts +4 -1
  33. package/lib-esm/components/console/OAuth2Flow.js +1 -1
  34. package/lib-esm/components/console/RequestBody.js +1 -1
  35. package/lib-esm/components/console/RequestBodyForm.d.ts +5 -2
  36. package/lib-esm/components/console/RequestBodyForm.js +1 -1
  37. package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
  38. package/lib-esm/redoc-lib/src/services/MenuBuilder.js +1 -1
  39. package/lib-esm/redoc-lib/src/services/models/Example.d.ts +1 -0
  40. package/lib-esm/redoc-lib/src/services/models/Example.js +1 -1
  41. package/lib-esm/redoc-lib/src/utils/helpers.d.ts +2 -0
  42. package/lib-esm/redoc-lib/src/utils/helpers.js +1 -1
  43. package/lib-esm/services/OAuth2.d.ts +0 -7
  44. package/lib-esm/services/OAuth2.js +1 -1
  45. package/lib-esm/services/code-samples/generator.js +1 -1
  46. package/lib-esm/services/utils.d.ts +8 -1
  47. package/lib-esm/services/utils.js +1 -1
  48. package/package.json +2 -2
@@ -1,6 +1,9 @@
1
- import * as React from 'react';
2
- import type { MediaTypeModel } from '../../redoc-lib';
1
+ import React from 'react';
2
+ import { FormApi } from 'informed';
3
+ import type { FieldModel, MediaTypeModel } from '../../redoc-lib';
3
4
  export declare const RequestBodyForm: (props: {
4
5
  mediaType: MediaTypeModel;
5
6
  onChange: React.ChangeEventHandler<HTMLInputElement>;
7
+ formApi?: FormApi<import("informed").FormValues> | undefined;
6
8
  }) => JSX.Element | null;
9
+ export declare function getRequestBodyFormFields(mediaType: MediaTypeModel): FieldModel[];
@@ -1,2 +1,2 @@
1
- import{__makeTemplateObject}from"tslib";import*as React from"react";import{observer}from"mobx-react";import{isMultipartFileUploadProperty,isRootFileUpload,mimeTypeToAccept}from"../common/FileUpload/helper";import{FormControl,FormLabel}from"../common/form";import{styled}from"../../redoc-lib";import{FileUpload}from"../common/FileUpload";import{FormTextField,invertedInputStyles}from"../common/TextField";import{DefinitionTypes,MediaTypes}from"../../models";export var RequestBodyForm=observer((function(e){var t,o,n,l,a,m=e.mediaType,r=e.onChange,i=((null===(o=null===(t=m.schema)||void 0===t?void 0:t.oneOf)||void 0===o?void 0:o.length)?(null===(n=m.schema)||void 0===n?void 0:n.oneOf[null===(l=m.schema)||void 0===l?void 0:l.activeOneOf].fields)||[]:(null===(a=m.schema)||void 0===a?void 0:a.fields)||[]).filter((function(e){return!e.schema.readOnly})),p=m.schema||{};return isRootFileUpload(p,m.name)?React.createElement(FileFormControlWrapper,null,React.createElement(FormControl,null,React.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+m.name,name:"body."+m.name,accept:mimeTypeToAccept(m.name),schema:p,contentName:m.name,onChange:r}))):p.type===DefinitionTypes.OBJECT||i?React.createElement(FileFormControlWrapper,null,i.map((function(e){var t=e.schema||{},o=m.name===MediaTypes.MULTIPART&&isMultipartFileUploadProperty(t),n=t.contentMediaType||"",l=o?React.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+e.name,name:"body."+e.name,accept:mimeTypeToAccept(n),multiple:"array"===t.type,schema:t,contentName:e.name,onChange:r}):React.createElement(FormTextField,{fullWidth:!0,id:"body."+e.name,field:"body."+e.name,placeholder:t.description||e.name});return React.createElement(FormControl,{key:e.name},React.createElement(FormLabel,null,e.name,":"),l)}))):(console.warn('Invalid schema for request body and mime type: "'+m.name+'"',p),null)}));var templateObject_1,templateObject_2,FileFormControlWrapper=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n > div {\n margin-top: 10px;\n }\n"],["\n > div {\n margin-top: 10px;\n }\n"]))),StyledFileUpload=styled(FileUpload)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));
1
+ import{__makeTemplateObject}from"tslib";import React,{useEffect}from"react";import{observer}from"mobx-react";import{isMultipartFileUploadProperty,isRootFileUpload,mimeTypeToAccept}from"../common/FileUpload/helper";import{FormControl,FormLabel}from"../common/form";import{styled}from"../../redoc-lib";import{FileUpload}from"../common/FileUpload";import{FormTextField,invertedInputStyles}from"../common/TextField";import{DefinitionTypes,MediaTypes}from"../../models";import{useExampleKey}from"../Samples";export var RequestBodyForm=observer((function(e){var t,o=e.mediaType,l=e.onChange,n=e.formApi,a=o.examples||{},m=useExampleKey(o.operation,a).exampleKey,r=null===(t=a[m])||void 0===t?void 0:t.rawValue,i=getRequestBodyFormFields(o);useEffect((function(){return n&&i.forEach((function(e){var t,o,l=null==r?void 0:r[e.name],a=null!==(o=null!==(t=e.example)&&void 0!==t?t:null==l?void 0:l.example)&&void 0!==o?o:l;void 0!==a&&n.setValue("body."+e.name,""+a)}))}),[m]);var p=o.schema||{};return isRootFileUpload(p,o.name)?React.createElement(FileFormControlWrapper,null,React.createElement(FormControl,null,React.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+o.name,name:"body."+o.name,accept:mimeTypeToAccept(o.name),schema:p,contentName:o.name,onChange:l}))):p.type===DefinitionTypes.OBJECT||i?React.createElement(FileFormControlWrapper,null,i.map((function(e){var t=e.schema||{},n=o.name===MediaTypes.MULTIPART&&isMultipartFileUploadProperty(t),a=t.contentMediaType||"",m=n?React.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+e.name,name:"body."+e.name,accept:mimeTypeToAccept(a),multiple:"array"===t.type,schema:t,contentName:e.name,onChange:l}):React.createElement(FormTextField,{fullWidth:!0,id:"body."+e.name,field:"body."+e.name,placeholder:t.description||e.name});return React.createElement(FormControl,{key:e.name},React.createElement(FormLabel,null,e.name,":"),m)}))):(console.warn('Invalid schema for request body and mime type: "'+o.name+'"',p),null)}));export function getRequestBodyFormFields(e){var t,o,l,n,a;return((null===(o=null===(t=e.schema)||void 0===t?void 0:t.oneOf)||void 0===o?void 0:o.length)?(null===(l=e.schema)||void 0===l?void 0:l.oneOf[null===(n=e.schema)||void 0===n?void 0:n.activeOneOf].fields)||[]:(null===(a=e.schema)||void 0===a?void 0:a.fields)||[]).filter((function(e){return!e.schema.readOnly}))}var templateObject_1,templateObject_2,FileFormControlWrapper=styled.div(templateObject_1||(templateObject_1=__makeTemplateObject(["\n > div {\n margin-top: 10px;\n }\n"],["\n > div {\n margin-top: 10px;\n }\n"]))),StyledFileUpload=styled(FileUpload)(templateObject_2||(templateObject_2=__makeTemplateObject(["\n ","\n ",";\n ","\n"],["\n ","\n ",";\n ","\n"])),invertedInputStyles,(function(e){return"password"===e.inputType?"padding-right: 40px;":""}),(function(e){return e.fullWidth?"width: 100%;":""}));
2
2
  //# sourceMappingURL=RequestBodyForm.js.map
@@ -1,2 +1,2 @@
1
- import*as React from"react";import merge from"deepmerge";import{observer}from"mobx-react";import{NoSampleLabel}from"../../../../components/shared";import{ExampleSwitch,useExampleKey}from"../../../../components/Samples";import{arrayMerge}from"../../../../services/utils";import{Markdown}from"../Markdown/Markdown";import{Example}from"./Example";import{ExampleWrapper}from"./styled.elements";export var MediaTypeSamples=observer((function(e){var a=e.mediaType,r=e.onlyDefaultSample,t=e.properties,m=a.examples||{},l=a.name,p=Object.keys(m);if(!p.length)return React.createElement(NoSampleLabel,null,"No sample");if(1===p.length){var n=Object.values(m)[0];return t&&(n.value=merge(n.value,t,{arrayMerge:arrayMerge})),React.createElement(React.Fragment,null,n.description&&React.createElement(Markdown,{source:n.description}),React.createElement(Example,{example:n,mimeType:l}))}var o=useExampleKey(a.operation,m),c=o.exampleKey,i=o.defaultExampleName,s=m[c],u=s.description;if(t&&(s.value=merge(s.value,t,{arrayMerge:arrayMerge})),i&&r)return React.createElement(React.Fragment,null,s.description&&React.createElement(Markdown,{source:s.description}),React.createElement(Example,{example:s,mimeType:l}));return React.createElement(React.Fragment,null,React.createElement(ExampleSwitch,{examples:m,exampleKey:c,onChange:function(e){var r;return null===(r=a.operation)||void 0===r?void 0:r.activateExampleName(e)}}),React.createElement(ExampleWrapper,null,u&&React.createElement(Markdown,{source:u}),React.createElement(Example,{example:s,mimeType:l})))}));
1
+ import{__assign}from"tslib";import*as React from"react";import merge from"deepmerge";import{observer}from"mobx-react";import{NoSampleLabel}from"../../../../components/shared";import{ExampleSwitch,useExampleKey}from"../../../../components/Samples";import{arrayMergeStrategy}from"../../../../services/utils";import{Markdown}from"../Markdown/Markdown";import{Example}from"./Example";import{ExampleWrapper}from"./styled.elements";export var MediaTypeSamples=observer((function(e){var a=e.mediaType,r=e.onlyDefaultSample,t=e.properties,m=a.examples||{},l=a.name,p=Object.keys(m),o=useExampleKey(a.operation,m),n=o.exampleKey,c=o.defaultExampleName,i=1===p.length?Object.values(m)[0]:m[n];if(!p.length)return React.createElement(NoSampleLabel,null,"No sample");var s=t?__assign(__assign({},i),{value:merge(i.value,t,{arrayMerge:arrayMergeStrategy})}):i,u=s.description;if(c&&r)return React.createElement(React.Fragment,null,s.description&&React.createElement(Markdown,{source:s.description}),React.createElement(Example,{example:s,mimeType:l}));return React.createElement(React.Fragment,null,React.createElement(ExampleSwitch,{examples:m,exampleKey:n,onChange:function(e){var r;return null===(r=a.operation)||void 0===r?void 0:r.activateExampleName(e)}}),React.createElement(ExampleWrapper,null,u&&React.createElement(Markdown,{source:u}),React.createElement(Example,{example:s,mimeType:l})))}));
2
2
  //# sourceMappingURL=MediaTypeSamples.js.map
@@ -1,2 +1,2 @@
1
- import{__assign,__spreadArray}from"tslib";import{isOperationName,SECURITY_DEFINITIONS_COMPONENT_NAME,setSecuritySchemePrefix,JsonPointer,alphabeticallyByProp}from"../utils";import{MarkdownRenderer}from"./MarkdownRenderer";import{GroupModel,OperationModel}from"./models";export var GROUP_DEPTH=0;var MenuBuilder=function(){function e(){}return Object.defineProperty(e,"buildStructure",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){var a=r.definition,n=[],o=e.getTagsWithOperations(r);return n.push.apply(n,e.addMarkdownItems(a.info.description||"",void 0,1,t)),a["x-tagGroups"]&&a["x-tagGroups"].length>0?n.push.apply(n,e.getTagGroupsItems(r,void 0,a["x-tagGroups"],o,t)):n.push.apply(n,e.getTagsItems(r,o,void 0,void 0,t)),n}}),Object.defineProperty(e,"addMarkdownItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,t,a){var n=new MarkdownRenderer(a).extractHeadings(e||"");n.length&&r&&r.description&&(r.description=MarkdownRenderer.getTextBeforeHading(r.description,n[0].name));var o=function(e,r,t){return void 0===t&&(t=1),r.map((function(r){var a=new GroupModel("section",r,e);return a.depth=t,r.items&&(a.items=o(a,r.items,t+1)),MarkdownRenderer.containsComponent(a.description||"",SECURITY_DEFINITIONS_COMPONENT_NAME)&&setSecuritySchemePrefix(a.id+"/"),a}))};return o(r,n,t)}}),Object.defineProperty(e,"getTagGroupsItems",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t,a,n,o){for(var i=[],s=0,p=a;s<p.length;s++){var d=p[s],l=new GroupModel("group",d,t);l.depth=GROUP_DEPTH,l.items=e.getTagsItems(r,n,l,d,o),i.push(l)}return i}}),Object.defineProperty(e,"getTagsItems",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t,a,n,o){for(var i=[],s=0,p=(void 0===n?Object.keys(t):n.tags).map((function(e){return t[e]?(t[e].used=!0,t[e]):(console.warn('Non-existing tag "'+e+'" is added to the group "'+(null==n?void 0:n.name)+'"'),null)}));s<p.length;s++){var d=p[s];if(d){var l=new GroupModel("tag",d,a);if(l.depth=GROUP_DEPTH+1,""!==d.name)l.items=__spreadArray(__spreadArray([],e.addMarkdownItems(d.description||"",l,l.depth+1,o),!0),this.getOperationsItems(r,l,d,l.depth+1,o),!0),i.push(l);else{var u=__spreadArray(__spreadArray([],e.addMarkdownItems(d.description||"",l,l.depth+1,o),!0),this.getOperationsItems(r,void 0,d,l.depth+1,o),!0);i.push.apply(i,u)}}}return o.sortTagsAlphabetically&&i.sort(alphabeticallyByProp("name")),i}}),Object.defineProperty(e,"getOperationsItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,t,a,n){if(0===t.operations.length)return[];for(var o=[],i=0,s=t.operations;i<s.length;i++){var p=s[i],d=new OperationModel(e,p,r,n);d.depth=a,o.push(d)}return n.sortOperationsAlphabetically&&o.sort(alphabeticallyByProp("name")),o}}),Object.defineProperty(e,"getTagsWithOperations",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var r={},t=e.definition,a=t["x-webhooks"]||t.webhooks,n=0,o=t.tags||[];n<o.length;n++){var i=o[n];r[i.name]=__assign(__assign({},i),{operations:[]})}function s(e,t,a){for(var n,o=0,i=Object.keys(t||{});o<i.length;o++)for(var p=i[o],d=t[p],l=0,u=Object.keys(d).filter(isOperationName);l<u.length;l++){var g=u[l],m=d[g];if(d.$ref){var c=e.deref(d);s(e,((n={})[p]=c,n),a)}else{var h=null==m?void 0:m.tags;h&&h.length||(h=[""]);for(var f=0,v=h;f<v.length;f++){var b=v[f],_=r[b];void 0===_&&(_={name:b,operations:[]},r[b]=_),_["x-traitTag"]||_.operations.push(__assign(__assign({},m),{pathName:p,pointer:JsonPointer.compile(["paths",p,g]),httpVerb:g,pathParameters:d.parameters||[],pathServers:d.servers,isWebhook:!!a}))}}}}return t.paths&&s(e,t.paths),a&&s(e,a,!0),r}}),e}();export{MenuBuilder};
1
+ import{__assign,__spreadArray}from"tslib";import{isOperationName,SECURITY_DEFINITIONS_COMPONENT_NAME,setSecuritySchemePrefix,JsonPointer,alphabeticallyByProp}from"../utils";import{MarkdownRenderer}from"./MarkdownRenderer";import{GroupModel,OperationModel}from"./models";export var GROUP_DEPTH=0;var MenuBuilder=function(){function e(){}return Object.defineProperty(e,"buildStructure",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){var a=r.definition,n=[],o=e.getTagsWithOperations(r);return n.push.apply(n,e.addMarkdownItems(a.info.description||"",void 0,1,t)),a["x-tagGroups"]&&a["x-tagGroups"].length>0?n.push.apply(n,e.getTagGroupsItems(r,void 0,a["x-tagGroups"],o,t)):n.push.apply(n,e.getTagsItems(r,o,void 0,void 0,t)),n}}),Object.defineProperty(e,"addMarkdownItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,t,a){var n=new MarkdownRenderer(a).extractHeadings(e||"");n.length&&r&&r.description&&(r.description=MarkdownRenderer.getTextBeforeHading(r.description,n[0].name));var o=function(e,r,t){return void 0===t&&(t=1),r.map((function(r){var a=new GroupModel("section",r,e);return a.depth=t,r.items&&(a.items=o(a,r.items,t+1)),MarkdownRenderer.containsComponent(a.description||"",SECURITY_DEFINITIONS_COMPONENT_NAME)&&setSecuritySchemePrefix(a.id+"/"),a}))};return o(r,n,t)}}),Object.defineProperty(e,"getTagGroupsItems",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t,a,n,o){for(var i=[],s=0,p=a;s<p.length;s++){var d=p[s],l=new GroupModel("group",d,t);l.depth=GROUP_DEPTH,l.items=e.getTagsItems(r,n,l,d,o),i.push(l)}return i}}),Object.defineProperty(e,"getTagsItems",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t,a,n,o){var i;if(i=void 0===n?Object.keys(t):n.tags,!Array.isArray(i))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];for(var s=[],p=0,d=i.map((function(e){return t[e]?(t[e].used=!0,t[e]):(console.warn('Non-existing tag "'+e+'" is added to the group "'+(null==n?void 0:n.name)+'"'),null)}));p<d.length;p++){var l=d[p];if(l){var u=new GroupModel("tag",l,a);if(u.depth=GROUP_DEPTH+1,""!==l.name)u.items=__spreadArray(__spreadArray([],e.addMarkdownItems(l.description||"",u,u.depth+1,o),!0),this.getOperationsItems(r,u,l,u.depth+1,o),!0),s.push(u);else{var g=__spreadArray(__spreadArray([],e.addMarkdownItems(l.description||"",u,u.depth+1,o),!0),this.getOperationsItems(r,void 0,l,u.depth+1,o),!0);s.push.apply(s,g)}}}return o.sortTagsAlphabetically&&s.sort(alphabeticallyByProp("name")),s}}),Object.defineProperty(e,"getOperationsItems",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,t,a,n){if(0===t.operations.length)return[];for(var o=[],i=0,s=t.operations;i<s.length;i++){var p=s[i],d=new OperationModel(e,p,r,n);d.depth=a,o.push(d)}return n.sortOperationsAlphabetically&&o.sort(alphabeticallyByProp("name")),o}}),Object.defineProperty(e,"getTagsWithOperations",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var r={},t=e.definition,a=t["x-webhooks"]||t.webhooks,n=0,o=t.tags||[];n<o.length;n++){var i=o[n];r[i.name]=__assign(__assign({},i),{operations:[]})}function s(e,t,a){for(var n,o=0,i=Object.keys(t||{});o<i.length;o++)for(var p=i[o],d=t[p],l=0,u=Object.keys(d).filter(isOperationName);l<u.length;l++){var g=u[l],c=d[g];if(d.$ref){var f=e.deref(d);s(e,((n={})[p]=f,n),a)}else{var h=null==c?void 0:c.tags;h&&h.length||(h=[""]);for(var m=0,v=h;m<v.length;m++){var b=v[m],y=r[b];void 0===y&&(y={name:b,operations:[]},r[b]=y),y["x-traitTag"]||y.operations.push(__assign(__assign({},c),{pathName:p,pointer:JsonPointer.compile(["paths",p,g]),httpVerb:g,pathParameters:d.parameters||[],pathServers:d.servers,isWebhook:!!a}))}}}}return t.paths&&s(e,t.paths),a&&s(e,a,!0),r}}),e}();export{MenuBuilder};
2
2
  //# sourceMappingURL=MenuBuilder.js.map
@@ -3,6 +3,7 @@ import { OpenAPIParser } from '../OpenAPIParser';
3
3
  export declare class ExampleModel {
4
4
  mime: string;
5
5
  value: any;
6
+ rawValue: any;
6
7
  summary?: string;
7
8
  description?: string;
8
9
  externalValueUrl?: string;
@@ -1,2 +1,2 @@
1
- import{resolve as urlResolve}from"url";import{isFormUrlEncoded,isJsonLike,urlFormEncodePayload}from"../../utils";var externalExamplesCache={},ExampleModel=function(){function e(e,r,l,t){Object.defineProperty(this,"mime",{enumerable:!0,configurable:!0,writable:!0,value:l}),Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"summary",{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,"externalValueUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0});var a=e.deref(r);this.value=a.value,this.summary=a.summary,this.description=a.description,a.externalValue&&(this.externalValueUrl=urlResolve(e.definitionUrl||"",a.externalValue)),e.exitRef(r),isFormUrlEncoded(l)&&this.value&&"object"==typeof this.value&&(this.value=urlFormEncodePayload(this.value,t))}return Object.defineProperty(e.prototype,"getExternalValue",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.externalValueUrl?(this.externalValueUrl in externalExamplesCache||(externalExamplesCache[this.externalValueUrl]=fetch(this.externalValueUrl).then((function(r){return r.text().then((function(l){if(!r.ok)return Promise.reject(new Error(l));if(!isJsonLike(e))return l;try{return JSON.parse(l)}catch(e){return l}}))}))),externalExamplesCache[this.externalValueUrl]):Promise.resolve(void 0)}}),e}();export{ExampleModel};
1
+ import{resolve as urlResolve}from"url";import{isFormUrlEncoded,isJsonLike,urlFormEncodePayload}from"../../utils";var externalExamplesCache={},ExampleModel=function(){function e(e,r,l,t){Object.defineProperty(this,"mime",{enumerable:!0,configurable:!0,writable:!0,value:l}),Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"rawValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"summary",{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,"externalValueUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0});var a=e.deref(r);this.rawValue=a.value,this.value=a.value,this.summary=a.summary,this.description=a.description,a.externalValue&&(this.externalValueUrl=urlResolve(e.definitionUrl||"",a.externalValue)),e.exitRef(r),isFormUrlEncoded(l)&&this.value&&"object"==typeof this.value&&(this.value=urlFormEncodePayload(this.value,t))}return Object.defineProperty(e.prototype,"getExternalValue",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.externalValueUrl?(this.externalValueUrl in externalExamplesCache||(externalExamplesCache[this.externalValueUrl]=fetch(this.externalValueUrl).then((function(r){return r.text().then((function(l){if(!r.ok)return Promise.reject(new Error(l));if(!isJsonLike(e))return l;try{return JSON.parse(l)}catch(e){return l}}))}))),externalExamplesCache[this.externalValueUrl]):Promise.resolve(void 0)}}),e}();export{ExampleModel};
2
2
  //# sourceMappingURL=Example.js.map
@@ -21,6 +21,8 @@ export declare function stripTrailingSlash(path: string): string;
21
21
  export declare function isNumeric(value: unknown): value is number;
22
22
  export declare function appendToMdHeading(md: string, heading: string, content: string): string;
23
23
  export declare const mergeObjects: (target: GenericObject, ...sources: GenericObject[]) => any;
24
+ export declare const isObject: (item: any) => boolean;
25
+ export declare const isMergebleObject: (item: any) => boolean;
24
26
  /**
25
27
  * slugify() returns empty string when failed to slugify.
26
28
  * so try to return minimum slugified-string with failed one which keeps original value
@@ -1,2 +1,2 @@
1
- import{__assign,__spreadArray}from"tslib";import slugify from"slugify";import{format,parse}from"url";import{ZERO_BREAKPOINT}from"./media-css";import{isNamedDefinition}from"./openapi";import JsonPointer from"./JsonPointer";export function mapWithLast(e,r){for(var t=[],n=0;n<e.length-1;n++)t.push(r(e[n],!1));return 0!==e.length&&t.push(r(e[e.length-1],!0)),t}export function mapValues(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=r(e[n],n,e));return t}export function flattenByProp(e,r){var t=[],n=function(e){for(var i=0,o=e;i<o.length;i++){var a=o[i];t.push(a),a[r]&&n(a[r])}};return n(e),t}export function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}export function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}export function appendToMdHeading(e,r,t){var n=new RegExp("(^|\\n)#\\s?"+r+"\\s*\\n","i"),i=new RegExp("((\\n|^)#\\s*"+r+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(n.test(e))return e.replace(i,"$1\n\n"+t+"\n$4");var o=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+o+"# "+r+"\n\n"+t}export var mergeObjects=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];if(!r.length)return e;var n=r.shift();return void 0===n?e:(isMergebleObject(e)&&isMergebleObject(n)&&Object.keys(n).forEach((function(r){var t;isMergebleObject(n[r])?(e[r]||(e[r]={}),["string","number"].includes(typeof e[r])&&(n[r][ZERO_BREAKPOINT]||0===n[r][ZERO_BREAKPOINT]||console.warn('Theme resolver: using default value of "'+e[r]+'" for "'+r+'". This is not recommended. Prefer adding default value by providing "'+ZERO_BREAKPOINT+'" property to '+JSON.stringify(n[r])+"."),e[r]=((t={})[ZERO_BREAKPOINT]=e[r],t)),mergeObjects(e[r],n[r])):e[r]=n[r]})),mergeObjects.apply(void 0,__spreadArray([e],r,!1)))};var isObject=function(e){return null!==e&&"object"==typeof e},isMergebleObject=function(e){return isObject(e)&&!Array.isArray(e)};export function safeSlugify(e){return slugify(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}export function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}export function resolveUrl(e,r){var t;if(r.startsWith("//"))t=""+(parse(e).protocol||"https:")+r;else if(isAbsoluteUrl(r))t=r;else if(r.startsWith("/")){var n=parse(e);t=format(__assign(__assign({},n),{pathname:r}))}else t=stripTrailingSlash(e)+"/"+r;return stripTrailingSlash(t)}export function getBasePath(e){try{return parseURL(e).pathname}catch(r){return e}}export function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}export function removeQueryString(e){try{var r=parseURL(e);return r.search="",r.toString()}catch(r){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}export function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,(function(e,r){return String.fromCharCode(parseInt(r,10))})).replace(/&amp;/g,"&")}export function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}export function getSchemaTitle(e,r){return r||isNamedDefinition(e)&&JsonPointer.baseName(e)||""}
1
+ import{__assign,__spreadArray}from"tslib";import slugify from"slugify";import{format,parse}from"url";import{ZERO_BREAKPOINT}from"./media-css";import{isNamedDefinition}from"./openapi";import JsonPointer from"./JsonPointer";export function mapWithLast(e,r){for(var t=[],n=0;n<e.length-1;n++)t.push(r(e[n],!1));return 0!==e.length&&t.push(r(e[e.length-1],!0)),t}export function mapValues(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=r(e[n],n,e));return t}export function flattenByProp(e,r){var t=[],n=function(e){for(var i=0,o=e;i<o.length;i++){var a=o[i];t.push(a),a[r]&&n(a[r])}};return n(e),t}export function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}export function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}export function appendToMdHeading(e,r,t){var n=new RegExp("(^|\\n)#\\s?"+r+"\\s*\\n","i"),i=new RegExp("((\\n|^)#\\s*"+r+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(n.test(e))return e.replace(i,"$1\n\n"+t+"\n$4");var o=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+o+"# "+r+"\n\n"+t}export var mergeObjects=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];if(!r.length)return e;var n=r.shift();return void 0===n?e:(isMergebleObject(e)&&isMergebleObject(n)&&Object.keys(n).forEach((function(r){var t;isMergebleObject(n[r])?(e[r]||(e[r]={}),["string","number"].includes(typeof e[r])&&(n[r][ZERO_BREAKPOINT]||0===n[r][ZERO_BREAKPOINT]||console.warn('Theme resolver: using default value of "'+e[r]+'" for "'+r+'". This is not recommended. Prefer adding default value by providing "'+ZERO_BREAKPOINT+'" property to '+JSON.stringify(n[r])+"."),e[r]=((t={})[ZERO_BREAKPOINT]=e[r],t)),mergeObjects(e[r],n[r])):e[r]=n[r]})),mergeObjects.apply(void 0,__spreadArray([e],r,!1)))};export var isObject=function(e){return null!==e&&"object"==typeof e};export var isMergebleObject=function(e){return isObject(e)&&!Array.isArray(e)};export function safeSlugify(e){return slugify(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}export function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}export function resolveUrl(e,r){var t;if(r.startsWith("//"))t=""+(parse(e).protocol||"https:")+r;else if(isAbsoluteUrl(r))t=r;else if(r.startsWith("/")){var n=parse(e);t=format(__assign(__assign({},n),{pathname:r}))}else t=stripTrailingSlash(e)+"/"+r;return stripTrailingSlash(t)}export function getBasePath(e){try{return parseURL(e).pathname}catch(r){return e}}export function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}export function removeQueryString(e){try{var r=parseURL(e);return r.search="",r.toString()}catch(r){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}export function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,(function(e,r){return String.fromCharCode(parseInt(r,10))})).replace(/&amp;/g,"&")}export function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}export function getSchemaTitle(e,r){return r||isNamedDefinition(e)&&JsonPointer.baseName(e)||""}
2
2
  //# sourceMappingURL=helpers.js.map
@@ -38,11 +38,4 @@ export declare const oauth2Instance: OAuth2;
38
38
  export interface OAuthState {
39
39
  randomStr: string;
40
40
  }
41
- export declare function randString(len?: number): string;
42
- /**
43
- * Returns base-64 encoded ASCII string from a stringified JSON object
44
- */
45
- export declare function encodeState<T extends GenericObject = GenericObject>(params: T): string;
46
- export declare function sha256(str: string): Promise<ArrayBuffer | undefined>;
47
- export declare function base64UrlEncode(arrayBuff?: ArrayBuffer): string | undefined;
48
41
  export declare function deriveCodeChallenge(codeVerifier: string): Promise<string | undefined>;
@@ -1,2 +1,2 @@
1
- import{__assign,__awaiter,__generator}from"tslib";import*as qs from"querystring";import{cryptoLib}from"./utils";var DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html",OAuth2=function(){function e(){}return Object.defineProperty(e,"authorizeImplicit",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=r.authorizationUrl,a=r.clientId,n=r.scopes,i=r.extraParams,o=void 0===i?{}:i,s=r.routingBasePath,c=r.redirectUri,l=r.successCallback,u=r.errorCallback,d=encodeState({date:(new Date).toString()}),h=new URL(t),_="/"===s?"":s,p=""+window.location.origin+_+DEFAULT_OAUTH2_REDIRECT_PAGE;for(var f in h.searchParams.set("client_id",a),h.searchParams.set("redirect_uri",c||p),h.searchParams.set("response_type","token"),h.searchParams.set("state",d),Array.isArray(n)&&h.searchParams.set("scope",n.join(" ")),o)h.searchParams.set(f,o[f]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:t,clientId:a,scopes:n},state:d,successCallback:function(r){l(r),e.clearRedirectData("implicit")},errorCallback:function(r){u(r),e.clearRedirectData("implicit")}},window.open(h.toString())}}),Object.defineProperty(e,"authorizeAuthorizationCode",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this,a=r.authorizationUrl,n=r.tokenUrl,i=r.clientId,o=r.clientSecret,s=r.codeVerifier,c=r.codeChallenge,l=r.scopes,u=r.extraParams,d=void 0===u?{}:u,h=r.routingBasePath,_=r.redirectUri,p=r.successCallback,f=r.errorCallback,b=new URL(a),g="/"===h?"":h,w=""+window.location.origin+g+DEFAULT_OAUTH2_REDIRECT_PAGE,v=encodeState({date:(new Date).toString()});for(var m in b.searchParams.set("client_id",i),b.searchParams.set("redirect_uri",_||w),b.searchParams.set("response_type","code"),b.searchParams.set("state",v),Array.isArray(l)&&b.searchParams.set("scope",l.join(" ")),c&&(b.searchParams.set("code_challenge",c),b.searchParams.set("code_challenge_method","S256")),d)b.searchParams.set(m,d[m]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:a,clientId:i,scopes:l},state:v,successCallback:function(r){var a=r.auth_code;return __awaiter(t,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},body:qs.stringify(__assign(__assign(__assign({client_id:i,client_secret:o},s&&{code_verifier:s}),{code:a,grant_type:"authorization_code",redirect_uri:_||w}),d))})];case 1:return[4,handleResponseCallback(t.sent(),p,f)];case 2:return t.sent(),[3,4];case 3:return r=t.sent(),f(r),[3,4];case 4:return e.clearRedirectData("authorizationCode"),[2]}}))}))},errorCallback:function(r){f(r),e.clearRedirectData("authorizationCode")}},window.open(b.toString())}}),Object.defineProperty(e,"clearRedirectData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:function(){},errorCallback:function(){}}}}),Object.defineProperty(e,"authorizeClientCredentials",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.tokenUrl,t=e.clientId,a=e.clientSecret,n=e.scopes,i=void 0===n?[]:n,o=e.extraParams,s=void 0===o?{}:o,c=e.successCallback,l=e.errorCallback;return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,fetch(r,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},body:qs.stringify(__assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(i)?i.join(" "):void 0},s))})];case 1:return[4,handleResponseCallback(n.sent(),c,l)];case 2:return n.sent(),[3,4];case 3:return e=n.sent(),l(e),[3,4];case 4:return[2]}}))}))}}),e}();export{OAuth2};export var oauth2Instance=new OAuth2;function handleResponseCallback(e,r,t){return __awaiter(this,void 0,void 0,(function(){var a,n,i,o,s,c;return __generator(this,(function(l){switch(l.label){case 0:return e.ok?[4,e.json()]:[3,2];case 1:return a=l.sent(),r(a),[3,7];case 2:return n=t,i=Error.bind,(e.headers.get("Content-Type")||"").indexOf("json")>-1?(c=(s=JSON).stringify,[4,e.json()]):[3,4];case 3:return o=c.apply(s,[l.sent()]),[3,6];case 4:return[4,e.text()];case 5:o=l.sent(),l.label=6;case 6:n.apply(void 0,[new(i.apply(Error,[void 0,o]))]),l.label=7;case 7:return[2]}}))}))}export function randString(e){void 0===e&&(e=32);for(var r="";r.length<e;)r+=Math.random().toString(32).substring(2);return r.substring(0,e)}export function encodeState(e){var r=__assign({randomStr:randString()},e);return btoa(JSON.stringify(r))}export function sha256(e){return __awaiter(this,void 0,void 0,(function(){var r;return __generator(this,(function(t){return r=(new TextEncoder).encode(e),[2,null==cryptoLib?void 0:cryptoLib.subtle.digest("SHA-256",r)]}))}))}export function base64UrlEncode(e){if(e)return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return r=base64UrlEncode,[4,sha256(e)];case 1:return[2,r.apply(void 0,[t.sent()])]}}))}))}
1
+ import{__assign,__awaiter,__generator}from"tslib";import*as qs from"querystring";import{base64UrlEncode,encodeState,sha256}from"./utils";var DEFAULT_OAUTH2_REDIRECT_PAGE="/oauth2-redirect.html",OAuth2=function(){function e(){}return Object.defineProperty(e,"authorizeImplicit",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=r.authorizationUrl,a=r.clientId,n=r.scopes,i=r.extraParams,s=void 0===i?{}:i,o=r.routingBasePath,c=r.redirectUri,l=r.successCallback,u=r.errorCallback,d=encodeState({date:(new Date).toString()}),h=new URL(t),_="/"===o?"":o,p=""+window.location.origin+_+DEFAULT_OAUTH2_REDIRECT_PAGE;for(var f in h.searchParams.set("client_id",a),h.searchParams.set("redirect_uri",c||p),h.searchParams.set("response_type","token"),h.searchParams.set("state",d),Array.isArray(n)&&h.searchParams.set("scope",n.join(" ")),s)h.searchParams.set(f,s[f]);window.redirectOAuth2={flow:"implicit",data:{authorizationUrl:t,clientId:a,scopes:n},state:d,successCallback:function(r){l(r),e.clearRedirectData("implicit")},errorCallback:function(r){u(r),e.clearRedirectData("implicit")}},window.open(h.toString())}}),Object.defineProperty(e,"authorizeAuthorizationCode",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this,a=r.authorizationUrl,n=r.tokenUrl,i=r.clientId,s=r.clientSecret,o=r.codeVerifier,c=r.codeChallenge,l=r.scopes,u=r.extraParams,d=void 0===u?{}:u,h=r.routingBasePath,_=r.redirectUri,p=r.successCallback,f=r.errorCallback,b=new URL(a),w="/"===h?"":h,m=""+window.location.origin+w+DEFAULT_OAUTH2_REDIRECT_PAGE,v=encodeState({date:(new Date).toString()});for(var g in b.searchParams.set("client_id",i),b.searchParams.set("redirect_uri",_||m),b.searchParams.set("response_type","code"),b.searchParams.set("state",v),Array.isArray(l)&&b.searchParams.set("scope",l.join(" ")),c&&(b.searchParams.set("code_challenge",c),b.searchParams.set("code_challenge_method","S256")),d)b.searchParams.set(g,d[g]);window.redirectOAuth2={flow:"authorizationCode",data:{authorizationUrl:a,clientId:i,scopes:l},state:v,successCallback:function(r){var a=r.auth_code;return __awaiter(t,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},body:qs.stringify(__assign(__assign(__assign({client_id:i,client_secret:s},o&&{code_verifier:o}),{code:a,grant_type:"authorization_code",redirect_uri:_||m}),d))})];case 1:return[4,handleResponseCallback(t.sent(),p,f)];case 2:return t.sent(),[3,4];case 3:return r=t.sent(),f(r),[3,4];case 4:return e.clearRedirectData("authorizationCode"),[2]}}))}))},errorCallback:function(r){f(r),e.clearRedirectData("authorizationCode")}},window.open(b.toString())}}),Object.defineProperty(e,"clearRedirectData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){window.redirectOAuth2={flow:e,data:{authorizationUrl:"",clientId:"",scopes:[]},state:"",successCallback:function(){},errorCallback:function(){}}}}),Object.defineProperty(e,"authorizeClientCredentials",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=e.tokenUrl,t=e.clientId,a=e.clientSecret,n=e.scopes,i=void 0===n?[]:n,s=e.extraParams,o=void 0===s?{}:s,c=e.successCallback,l=e.errorCallback;return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,fetch(r,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"},body:qs.stringify(__assign({client_id:t,client_secret:a,grant_type:"client_credentials",scope:Array.isArray(i)?i.join(" "):void 0},o))})];case 1:return[4,handleResponseCallback(n.sent(),c,l)];case 2:return n.sent(),[3,4];case 3:return e=n.sent(),l(e),[3,4];case 4:return[2]}}))}))}}),e}();export{OAuth2};export var oauth2Instance=new OAuth2;function handleResponseCallback(e,r,t){return __awaiter(this,void 0,void 0,(function(){var a,n,i,s,o,c;return __generator(this,(function(l){switch(l.label){case 0:return e.ok?[4,e.json()]:[3,2];case 1:return a=l.sent(),r(a),[3,7];case 2:return n=t,i=Error.bind,(e.headers.get("Content-Type")||"").indexOf("json")>-1?(c=(o=JSON).stringify,[4,e.json()]):[3,4];case 3:return s=c.apply(o,[l.sent()]),[3,6];case 4:return[4,e.text()];case 5:s=l.sent(),l.label=6;case 6:n.apply(void 0,[new(i.apply(Error,[void 0,s]))]),l.label=7;case 7:return[2]}}))}))}export function deriveCodeChallenge(e){return __awaiter(this,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:return r=base64UrlEncode,[4,sha256(e)];case 1:return[2,r.apply(void 0,[t.sent()])]}}))}))}
2
2
  //# sourceMappingURL=OAuth2.js.map
@@ -1,2 +1,2 @@
1
- import{__assign}from"tslib";import{parse as parseQueryString,stringify as stringifyQueryString}from"query-string";import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{serializeParameterValue}from"../../redoc-lib";import{getSecurityDetails,getParameterValue}from"../../utils";import{normalizeMimeType,arrayMerge}from"../utils";import{HTTPSnippet}from"./httpsnippet";function mapOperationToHAR(e,a){var t,r,i,n,s,o=a.exampleName,l=void 0===o?"":o,u=a.skipOptionalParameters,p=void 0!==u&&u,c=a.withOAuth2Call,d=void 0!==c&&c,m=a.spec,f=a.generatedPayloadSamplesMaxDepth,h=void 0===f?8:f,v=a.pathParams,g=void 0===v?{}:v,y=a.properties,O=void 0===y?{}:y,_=getSecurityData(null===(t=e.security)||void 0===t?void 0:t[0],d),S=_.securityHeaders,T=_.securityCookies,w=_.securityQueries,C=_.securityOAuth2ExtraCalls,P=_.basicAuth,b=null===(i=null===(r=e.requestBody)||void 0===r?void 0:r.content)||void 0===i?void 0:i.active,A={skipNonRequired:p,skipReadOnly:!0,maxSampleDepth:h},x=!1,E=e.parameters.filter((function(e){return"header"===e.in})).filter((function(e){return!(p&&!e.required)})).map((function(e){return{name:e.name,value:getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,A,m))}})).map((function(e){return(null==b?void 0:b.name)&&"content-type"===e.name.toLowerCase()&&(x=!0,e.value=b.name),e})).concat(S);!x&&(null==b?void 0:b.name)&&E.unshift({name:"Content-Type",value:null==b?void 0:b.name});var k=e.parameters.filter((function(e){return"cookie"===e.in})).filter((function(e){return!(p&&!e.required)})).map((function(e){return parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,A,m)))})).reduce((function(e,a){for(var t=0,r=Object.entries(a);t<r.length;t++){var i=r[t],n=i[0],s=i[1];e.push({name:n,value:String(s)})}return e}),[]).concat(T),H=e.parameters.filter((function(e){return"query"===e.in})).filter((function(e){return!(p&&!e.required)})).map((function(e){return parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,A,m)))})).reduce((function(e,a){for(var t=0,r=Object.entries(a);t<r.length;t++){var i=r[t],n=i[0],s=i[1];e.push({name:n,value:String(s)})}return e}),[]).concat(w),R=(null===(n=e.activeServer)||void 0===n?void 0:n.url.replace(/\/$/,""))+"/"+e.path.replace(/^\//,""),z=e.parameters.filter((function(e){return"path"===e.in})).reduce((function(e,a){var t=a.in,r=a.name;return e[r]=g[r]||getParameterValue(t,r),e}),{}),D=null===(s=null==b?void 0:b.examples)||void 0===s?void 0:s[l],j=(null==b?void 0:b.examples)||{},N=Object.values(j)[0],q=(null==D?void 0:D.value)||(null==N?void 0:N.value)||(null==b?void 0:b.schema)&&Sampler.sample(null==b?void 0:b.schema.rawSchema,A,m),V=q&&"object"==typeof q&&merge(q,O,{arrayMerge:arrayMerge}),U=null==b?void 0:b.name.toLowerCase(),I="",Y=[];switch(normalizeMimeType(U)){case"application/json":I=JSON.stringify(V);break;case"application/x-www-form-urlencoded":case"multipart/form-data":I=stringifyQueryString(V),Y=objectToHarParams(V);break;default:I=String(q||"")}var M=I?{mimeType:(null==b?void 0:b.name)||"application/octet-stream",text:I,params:Y}:void 0;return{method:e.httpVerb,url:R,httpVersion:"HTTP/1.1",cookies:k,headers:E,queryString:H,postData:M,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:C,basicAuth:P,pathParameters:z,serverVariables:e.activeServer.variables}}var defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:__assign(__assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:__assign(__assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:__assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:__assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:__assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:__assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:__assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:__assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:__assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:__assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:__assign({},defaultOptions)}};export function getCodeSample(e){var a=e.lang,t=e.operation,r=e.exampleName,i=e.pathParams,n=e.properties,s=e.options,o=void 0===s?{}:s;try{var l=mapOperationToHAR(t,{exampleName:r,pathParams:i,properties:n,skipOptionalParameters:o.skipOptionalParameters,withOAuth2Call:o.withOAuth2Call,spec:o.spec,generatedPayloadSamplesMaxDepth:o.generatedPayloadSamplesMaxDepth}),u=new HTTPSnippet(l);return langToSnippetConfig[a]?u.convert(langToSnippetConfig[a].code,langToSnippetConfig[a].defaultTarget,__assign(__assign({},langToSnippetConfig[a].defaultOptions),o)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,a){for(var t,r,i,n,s={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0},o=0,l=(null==e?void 0:e.schemes)||[];o<l.length;o++){var u=l[o],p=getSecurityDetails(u.id);switch(u.type){case"openIdConnect":null===(t=s.securityHeaders)||void 0===t||t.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":var c=p.token?(p.token.token_type||"Bearer")+" "+p.token.access_token:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&a?s.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,p)):u.flows.password&&a&&s.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,p)),null===(r=s.securityHeaders)||void 0===r||r.push({name:"Authorization",value:c});break;case"apiKey":var d=p.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(i=s.securityHeaders)||void 0===i||i.push({name:u.name,value:d})),"cookie"===u.in&&s.securityCookies.push({name:u.name,value:d}),"query"===u.in&&s.securityQueries.push({name:u.name,value:d});break;case"http":"basic"===u.scheme?s.basicAuth={username:p.username||"<username>",password:p.password||"<password>"}:null===(n=s.securityHeaders)||void 0===n||n.push({name:"Authorization",value:capitalizeFirst(u.scheme||"bearer")+" <YOUR_"+(u.bearerFormat||"TOKEN")+"_HERE>"})}}return s}function getOAuth2PasswordCallHar(e,a,t){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:"application/x-www-form-urlencoded"},{name:"Accept",value:"application/json"}],queryString:[],postData:{mimeType:"application/x-www-form-urlencoded",text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:t.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:t.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:t.username||"<username>"},{name:"password",value:t.password||"<password>"},a.length?{name:"scope",value:a.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,a,t){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:"application/x-www-form-urlencoded"},{name:"Accept",value:"application/json"}],queryString:[],postData:{mimeType:"application/x-www-form-urlencoded",text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:t.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:t.client_secret||"YOUR_CLIENT_SECRET"},a.length?{name:"scope",value:a.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function objectToHarParams(e){for(var a=[],t=0,r=Object.entries(e);t<r.length;t++){var i=r[t],n=i[0],s=i[1];a.push({name:n,value:String(s)})}return a}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
1
+ import{__assign}from"tslib";import{parse as parseQueryString,stringify as stringifyQueryString}from"query-string";import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{serializeParameterValue}from"../../redoc-lib";import{getSecurityDetails,getParameterValue}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{HTTPSnippet}from"./httpsnippet";function mapOperationToHAR(e,a){var t,r,i,n,s,o=a.exampleName,l=void 0===o?"":o,u=a.skipOptionalParameters,p=void 0!==u&&u,c=a.withOAuth2Call,d=void 0!==c&&c,m=a.spec,f=a.generatedPayloadSamplesMaxDepth,h=void 0===f?8:f,v=a.pathParams,g=void 0===v?{}:v,y=a.properties,O=void 0===y?{}:y,_=getSecurityData(null===(t=e.security)||void 0===t?void 0:t[0],d),S=_.securityHeaders,T=_.securityCookies,w=_.securityQueries,C=_.securityOAuth2ExtraCalls,P=_.basicAuth,b=null===(i=null===(r=e.requestBody)||void 0===r?void 0:r.content)||void 0===i?void 0:i.active,A={skipNonRequired:p,skipReadOnly:!0,maxSampleDepth:h},x=!1,E=e.parameters.filter((function(e){return"header"===e.in})).filter((function(e){return!(p&&!e.required)})).map((function(e){return{name:e.name,value:getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,A,m))}})).map((function(e){return(null==b?void 0:b.name)&&"content-type"===e.name.toLowerCase()&&(x=!0,e.value=b.name),e})).concat(S);!x&&(null==b?void 0:b.name)&&E.unshift({name:"Content-Type",value:null==b?void 0:b.name});var k=e.parameters.filter((function(e){return"cookie"===e.in})).filter((function(e){return!(p&&!e.required)})).map((function(e){return parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,A,m)))})).reduce((function(e,a){for(var t=0,r=Object.entries(a);t<r.length;t++){var i=r[t],n=i[0],s=i[1];e.push({name:n,value:String(s)})}return e}),[]).concat(T),H=e.parameters.filter((function(e){return"query"===e.in})).filter((function(e){return!(p&&!e.required)})).map((function(e){return parseQueryString(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,A,m)))})).reduce((function(e,a){for(var t=0,r=Object.entries(a);t<r.length;t++){var i=r[t],n=i[0],s=i[1];e.push({name:n,value:String(s)})}return e}),[]).concat(w),R=(null===(n=e.activeServer)||void 0===n?void 0:n.url.replace(/\/$/,""))+"/"+e.path.replace(/^\//,""),z=e.parameters.filter((function(e){return"path"===e.in})).reduce((function(e,a){var t=a.in,r=a.name;return e[r]=g[r]||getParameterValue(t,r),e}),{}),D=null===(s=null==b?void 0:b.examples)||void 0===s?void 0:s[l],j=(null==b?void 0:b.examples)||{},N=Object.values(j)[0],q=(null==D?void 0:D.value)||(null==N?void 0:N.value)||(null==b?void 0:b.schema)&&Sampler.sample(null==b?void 0:b.schema.rawSchema,A,m),V=q&&"object"==typeof q&&merge(q,O,{arrayMerge:arrayMergeStrategy}),U=null==b?void 0:b.name.toLowerCase(),I="",Y=[];switch(normalizeMimeType(U)){case"application/json":I=JSON.stringify(V);break;case"application/x-www-form-urlencoded":case"multipart/form-data":I=stringifyQueryString(V),Y=objectToHarParams(V);break;default:I=String(q||"")}var M=I?{mimeType:(null==b?void 0:b.name)||"application/octet-stream",text:I,params:Y}:void 0;return{method:e.httpVerb,url:R,httpVersion:"HTTP/1.1",cookies:k,headers:E,queryString:H,postData:M,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:C,basicAuth:P,pathParameters:z,serverVariables:e.activeServer.variables}}var defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:__assign(__assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:__assign(__assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:__assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:__assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:__assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:__assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:__assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:__assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:__assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:__assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:__assign({},defaultOptions)}};export function getCodeSample(e){var a=e.lang,t=e.operation,r=e.exampleName,i=e.pathParams,n=e.properties,s=e.options,o=void 0===s?{}:s;try{var l=mapOperationToHAR(t,{exampleName:r,pathParams:i,properties:n,skipOptionalParameters:o.skipOptionalParameters,withOAuth2Call:o.withOAuth2Call,spec:o.spec,generatedPayloadSamplesMaxDepth:o.generatedPayloadSamplesMaxDepth}),u=new HTTPSnippet(l);return langToSnippetConfig[a]?u.convert(langToSnippetConfig[a].code,langToSnippetConfig[a].defaultTarget,__assign(__assign({},langToSnippetConfig[a].defaultOptions),o)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,a){for(var t,r,i,n,s={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0},o=0,l=(null==e?void 0:e.schemes)||[];o<l.length;o++){var u=l[o],p=getSecurityDetails(u.id);switch(u.type){case"openIdConnect":null===(t=s.securityHeaders)||void 0===t||t.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":var c=p.token?(p.token.token_type||"Bearer")+" "+p.token.access_token:"Bearer <YOUR_TOKEN_HERE>";u.flows.clientCredentials&&a?s.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,p)):u.flows.password&&a&&s.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,p)),null===(r=s.securityHeaders)||void 0===r||r.push({name:"Authorization",value:c});break;case"apiKey":var d=p.raw||"YOUR_API_KEY_HERE";"header"===u.in&&(null===(i=s.securityHeaders)||void 0===i||i.push({name:u.name,value:d})),"cookie"===u.in&&s.securityCookies.push({name:u.name,value:d}),"query"===u.in&&s.securityQueries.push({name:u.name,value:d});break;case"http":"basic"===u.scheme?s.basicAuth={username:p.username||"<username>",password:p.password||"<password>"}:null===(n=s.securityHeaders)||void 0===n||n.push({name:"Authorization",value:capitalizeFirst(u.scheme||"bearer")+" <YOUR_"+(u.bearerFormat||"TOKEN")+"_HERE>"})}}return s}function getOAuth2PasswordCallHar(e,a,t){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:"application/x-www-form-urlencoded"},{name:"Accept",value:"application/json"}],queryString:[],postData:{mimeType:"application/x-www-form-urlencoded",text:"",params:[{name:"grant_type",value:"password"},{name:"client_id",value:t.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:t.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:t.username||"<username>"},{name:"password",value:t.password||"<password>"},a.length?{name:"scope",value:a.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,a,t){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:"application/x-www-form-urlencoded"},{name:"Accept",value:"application/json"}],queryString:[],postData:{mimeType:"application/x-www-form-urlencoded",text:"",params:[{name:"grant_type",value:"client_credentials"},{name:"client_id",value:t.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:t.client_secret||"YOUR_CLIENT_SECRET"},a.length?{name:"scope",value:a.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function objectToHarParams(e){for(var a=[],t=0,r=Object.entries(e);t<r.length;t++){var i=r[t],n=i[0],s=i[1];a.push({name:n,value:String(s)})}return a}export function isDefined(e){return void 0!==e}export function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}
2
2
  //# sourceMappingURL=generator.js.map
@@ -11,6 +11,13 @@ export declare function isSameMime(a?: string, b?: string): boolean;
11
11
  */
12
12
  export declare function normalizeMimeType(mimeType?: string): string | undefined;
13
13
  export declare function unescapeServerVariables(str: string): string;
14
- export declare function arrayMerge<T>(target: T[], source: T[]): T[];
14
+ export declare function arrayMergeStrategy<T>(target: T[], source: T[]): T[];
15
15
  export declare function isEmptyObject(obj: GenericObject): boolean;
16
16
  export declare const cryptoLib: Crypto | undefined;
17
+ export declare function randString(len?: number): string;
18
+ /**
19
+ * Returns base-64 encoded ASCII string from a stringified JSON object
20
+ */
21
+ export declare function encodeState<T extends GenericObject = GenericObject>(params: T): string;
22
+ export declare function sha256(str: string): Promise<ArrayBuffer | undefined>;
23
+ export declare function base64UrlEncode(arrayBuff?: ArrayBuffer): string | undefined;
@@ -1,2 +1,2 @@
1
- import merge from"deepmerge";export function normalizePath(e){return e.startsWith("/")||(e="/"+e),e.endsWith("/")&&(e=e.slice(0,-1)),e}export function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}export function normalizeMimeType(e){if(e)return e.split(";")[0].toLowerCase()}export function unescapeServerVariables(e){var r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//")}export function arrayMerge(e,r){if(e.length){var t=e.map((function(e,t){return merge(e,r[t]||{})}));return r.length>e.length?t.concat(r.slice(e.length)):t}return r}export function isEmptyObject(e){return!!e&&0===Object.keys(e).length}export var cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0;
1
+ import{__assign,__awaiter,__generator}from"tslib";import merge from"deepmerge";import{isMergebleObject,isObject}from"../redoc-lib/src/utils/helpers";export function normalizePath(e){return e.startsWith("/")||(e="/"+e),e.endsWith("/")&&(e=e.slice(0,-1)),e}export function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}export function normalizeMimeType(e){if(e)return e.split(";")[0].toLowerCase()}export function unescapeServerVariables(e){var r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//")}export function arrayMergeStrategy(e,r){if(!e.length||!hasObjectOrArray(e))return r;var t=e.filter((function(e){return Object.keys(e).length>0}));return r.forEach((function(r,n){isMergebleObject(r)?t[n]=merge(e[n],r,{arrayMerge:arrayMergeStrategy}):Array.isArray(r)?t.push(r):t[n]=r})),t}var hasObjectOrArray=function(e){return e.some((function(e){return isObject(e)&&Object.keys(e).length>0}))};export function isEmptyObject(e){return!!e&&0===Object.keys(e).length}export var cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0;export function randString(e){void 0===e&&(e=32);for(var r="";r.length<e;)r+=Math.random().toString(32).substring(2);return r.substring(0,e)}export function encodeState(e){var r=__assign({randomStr:randString()},e);return btoa(JSON.stringify(r))}export function sha256(e){return __awaiter(this,void 0,void 0,(function(){var r;return __generator(this,(function(t){return r=(new TextEncoder).encode(e),[2,null==cryptoLib?void 0:cryptoLib.subtle.digest("SHA-256",r)]}))}))}export function base64UrlEncode(e){if(e)return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}
2
2
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/reference-docs",
3
- "version": "2.12.4",
3
+ "version": "2.13.1",
4
4
  "description": "Redocly Reference Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -15,7 +15,7 @@
15
15
  "reference-docs": "bin/cli/commands/redocly-docs-cli.min.js"
16
16
  },
17
17
  "dependencies": {
18
- "@redocly/openapi-core": "^1.0.0-beta.82",
18
+ "@redocly/openapi-core": "1.0.0-beta.88",
19
19
  "@redocly/vscode-json-languageservice": "3.4.9",
20
20
  "@wojtekmaj/enzyme-adapter-react-17": "^0.6.2",
21
21
  "classnames": "^2.2.6",