@redocly/reference-docs 2.13.0 → 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.
- package/bin/cli/commands/redocly-docs-cli.min.js +59 -59
- package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
- package/dist/console.redocly-reference-docs.min.js +2 -2
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-reference-docs.min.js +663 -663
- package/lib/components/Samples/ExampleSwitch.js +1 -1
- package/lib/components/console/RequestBody.js +1 -1
- package/lib/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib/redoc-lib/src/utils/helpers.d.ts +2 -0
- package/lib/redoc-lib/src/utils/helpers.js +1 -1
- package/lib/services/code-samples/generator.js +1 -1
- package/lib/services/utils.d.ts +1 -1
- package/lib/services/utils.js +1 -1
- package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
- package/lib-esm/components/console/RequestBody.js +1 -1
- package/lib-esm/redoc-lib/src/components/PayloadSamples/MediaTypeSamples.js +1 -1
- package/lib-esm/redoc-lib/src/utils/helpers.d.ts +2 -0
- package/lib-esm/redoc-lib/src/utils/helpers.js +1 -1
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/lib-esm/services/utils.d.ts +1 -1
- package/lib-esm/services/utils.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExampleSwitch=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),react_1=require("react"),shared_1=require("../shared"),form_1=require("../common/form"),Dropdown_1=require("../common/Dropdown"),ExampleSwitch=function(e){var r=e.exampleKey,t=e.examples,a=e.onChange,n=Object.keys(t),o=r?n.indexOf(r):0,c=(0,react_1.useState)(o>-1?o:0),i=c[0],l=c[1];(0,react_1.useEffect)((function(){return l(o>-1?o:0)}),[r,o]);var u=n.map((function(e,r){return{value:t[e].summary||e,idx:r}}));return React.createElement(React.Fragment,null,React.createElement(form_1.FormControl,{"data-cy":"example-switch"},React.createElement(Dropdown_1.Dropdown,{variant:"dark",fullWidth:!0,options:u,value:u[i].value,onChange:function(e){var r=e.idx;l(r),a(n[r])}})),r&&-1===o&&React.createElement(shared_1.WarnMessage,null,"Provided sample not found"))};exports.ExampleSwitch=ExampleSwitch;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExampleSwitch=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),react_1=require("react"),shared_1=require("../shared"),form_1=require("../common/form"),Dropdown_1=require("../common/Dropdown"),ExampleSwitch=function(e){var r=e.exampleKey,t=e.examples,a=e.onChange,n=Object.keys(t),o=r?n.indexOf(r):0,c=(0,react_1.useState)(o>-1?o:0),i=c[0],l=c[1];(0,react_1.useEffect)((function(){return l(o>-1?o:0)}),[r,o]);var u=n.map((function(e,r){return{value:t[e].summary||e,idx:r}}));return React.createElement(React.Fragment,null,"default"!==u[i].value&&React.createElement(form_1.FormControl,{"data-cy":"example-switch"},React.createElement(Dropdown_1.Dropdown,{variant:"dark",fullWidth:!0,options:u,value:u[i].value,onChange:function(e){var r=e.idx;l(r),a(n[r])}})),r&&-1===o&&React.createElement(shared_1.WarnMessage,null,"Provided sample not found"))};exports.ExampleSwitch=ExampleSwitch;
|
|
2
2
|
//# sourceMappingURL=ExampleSwitch.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var _this=this;Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBody=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),react_1=require("react"),mobx_react_1=require("mobx-react"),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),redoc_lib_1=require("../../redoc-lib"),CodemirrorInput_1=(0,tslib_1.__importDefault)(require("./CodemirrorInput")),RequestMimeLabel_1=require("./RequestMimeLabel"),Samples_1=require("../Samples"),utils_1=require("../../services/utils"),RequestBodyForm_1=require("./RequestBodyForm"),helper_1=require("../common/FileUpload/helper"),models_1=require("../../models"),Dropdown_1=require("../common/Dropdown");exports.RequestBody=(0,mobx_react_1.observer)((function(e){var r,t=e.properties,
|
|
1
|
+
"use strict";var _this=this;Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBody=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),react_1=require("react"),mobx_react_1=require("mobx-react"),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),redoc_lib_1=require("../../redoc-lib"),CodemirrorInput_1=(0,tslib_1.__importDefault)(require("./CodemirrorInput")),RequestMimeLabel_1=require("./RequestMimeLabel"),Samples_1=require("../Samples"),utils_1=require("../../services/utils"),RequestBodyForm_1=require("./RequestBodyForm"),helper_1=require("../common/FileUpload/helper"),models_1=require("../../models"),Dropdown_1=require("../common/Dropdown");exports.RequestBody=(0,mobx_react_1.observer)((function(e){var r,t=e.properties,a=void 0===t?{}:t,i=(0,tslib_1.__rest)(e,["properties"]),o=i.body.content,l=i.console.formApi,n=function(e){var r;if(!o||!o.hasSample)return"";var t=null===(r=o.active)||void 0===r?void 0:r.examples;if(!(null==t?void 0:t[e]))return"";var i=(0,deepmerge_1.default)(null==t?void 0:t[e].value,a,{arrayMerge:utils_1.arrayMergeStrategy});return JSON.stringify(i,null,2)},u=null===(r=null==o?void 0:o.operation)||void 0===r?void 0:r.activeExampleName,d=function(e){var r;null===(r=null==o?void 0:o.operation)||void 0===r||r.activateExampleName(e),l.setValue("body",n(e))},s=function(e){if(!e)return"";if("application/x-www-form-urlencoded"===e.mime)return e.value;var r=(0,deepmerge_1.default)(e.value,a,{arrayMerge:utils_1.arrayMergeStrategy});return JSON.stringify(r,null,2)},m=function(e,r){return(0,tslib_1.__awaiter)(void 0,void 0,void 0,(function(){return(0,tslib_1.__generator)(this,(function(t){return(0,l.setValue)("body."+e,r),[2]}))}))};(0,react_1.useEffect)((function(){!1!==u?u&&l.setValue("body",n(u)):l.setValue("body",JSON.stringify(a,null,2))}),[u]);var _=i.validate,c=i.body;return React.createElement(React.Fragment,null,React.createElement(redoc_lib_1.MediaTypesSwitch,{content:c.content,renderDropdown:function(e){return React.createElement(redoc_lib_1.DropdownOrLabel,(0,tslib_1.__assign)({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel_1.RequestMimeLabel,Dropdown:Dropdown_1.Dropdown}))}},(function(e){var r,t=e.examples||{},a=Object.keys(t),o=e.schema,n=(0,helper_1.isRootFileUpload)(o||{},e.name)||e.name===models_1.MediaTypes.MULTIPART||e.name===models_1.MediaTypes.URL_ENCODED,u=(0,Samples_1.useExampleKey)(e.operation,t).exampleKey,c=t[u];return React.createElement(React.Fragment,null,a.length&&1!==a.length&&React.createElement(Samples_1.ExampleSwitch,{examples:t,onChange:d,exampleKey:u})||null,n?React.createElement(RequestBodyForm_1.RequestBodyForm,{mediaType:e,formApi:l,onChange:m.bind(_this)}):React.createElement(CodemirrorInput_1.default,{id:"body"+i.id,field:"body",initialValue:s(c),schema:((null===(r=null==i?void 0:i.resolvedBody)||void 0===r?void 0:r.content[e.name])||{}).schema,mode:e.name,validate:_}))})))}));
|
|
2
2
|
//# sourceMappingURL=RequestBody.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaTypeSamples=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),mobx_react_1=require("mobx-react"),shared_1=require("../../../../components/shared"),Samples_1=require("../../../../components/Samples"),utils_1=require("../../../../services/utils"),Markdown_1=require("../Markdown/Markdown"),Example_1=require("./Example"),styled_elements_1=require("./styled.elements");exports.MediaTypeSamples=(0,mobx_react_1.observer)((function(e){var a=e.mediaType,r=e.onlyDefaultSample,t=e.properties,l=a.examples||{},m=a.name,n=Object.keys(l)
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaTypeSamples=void 0;var tslib_1=require("tslib"),React=(0,tslib_1.__importStar)(require("react")),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),mobx_react_1=require("mobx-react"),shared_1=require("../../../../components/shared"),Samples_1=require("../../../../components/Samples"),utils_1=require("../../../../services/utils"),Markdown_1=require("../Markdown/Markdown"),Example_1=require("./Example"),styled_elements_1=require("./styled.elements");exports.MediaTypeSamples=(0,mobx_react_1.observer)((function(e){var a=e.mediaType,r=e.onlyDefaultSample,t=e.properties,l=a.examples||{},m=a.name,n=Object.keys(l),p=(0,Samples_1.useExampleKey)(a.operation,l),s=p.exampleKey,i=p.defaultExampleName,c=1===n.length?Object.values(l)[0]:l[s];if(!n.length)return React.createElement(shared_1.NoSampleLabel,null,"No sample");var o=t?(0,tslib_1.__assign)((0,tslib_1.__assign)({},c),{value:(0,deepmerge_1.default)(c.value,t,{arrayMerge:utils_1.arrayMergeStrategy})}):c,_=o.description;if(i&&r)return React.createElement(React.Fragment,null,o.description&&React.createElement(Markdown_1.Markdown,{source:o.description}),React.createElement(Example_1.Example,{example:o,mimeType:m}));return React.createElement(React.Fragment,null,React.createElement(Samples_1.ExampleSwitch,{examples:l,exampleKey:s,onChange:function(e){var r;return null===(r=a.operation)||void 0===r?void 0:r.activateExampleName(e)}}),React.createElement(styled_elements_1.ExampleWrapper,null,_&&React.createElement(Markdown_1.Markdown,{source:_}),React.createElement(Example_1.Example,{example:o,mimeType:m})))}));
|
|
2
2
|
//# sourceMappingURL=MediaTypeSamples.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
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.removeQueryString=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.safeSlugify=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;var tslib_1=require("tslib"),slugify_1=(0,tslib_1.__importDefault)(require("slugify")),url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=(0,tslib_1.__importDefault)(require("./JsonPointer"));function mapWithLast(e,r){for(var t=[],s=0;s<e.length-1;s++)t.push(r(e[s],!1));return 0!==e.length&&t.push(r(e[e.length-1],!0)),t}function mapValues(e,r){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=r(e[s],s,e));return t}function flattenByProp(e,r){var t=[],s=function(e){for(var i=0,n=e;i<n.length;i++){var a=n[i];t.push(a),a[r]&&s(a[r])}};return s(e),t}function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function appendToMdHeading(e,r,t){var s=new RegExp("(^|\\n)#\\s?"+r+"\\s*\\n","i"),i=new RegExp("((\\n|^)#\\s*"+r+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(s.test(e))return e.replace(i,"$1\n\n"+t+"\n$4");var n=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+n+"# "+r+"\n\n"+t}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;var mergeObjects=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];if(!r.length)return e;var s=r.shift();return void 0===s?e:(isMergebleObject(e)&&isMergebleObject(s)&&Object.keys(s).forEach((function(r){var t;isMergebleObject(s[r])?(e[r]||(e[r]={}),["string","number"].includes(typeof e[r])&&(s[r][media_css_1.ZERO_BREAKPOINT]||0===s[r][media_css_1.ZERO_BREAKPOINT]||console.warn('Theme resolver: using default value of "'+e[r]+'" for "'+r+'". This is not recommended. Prefer adding default value by providing "'+media_css_1.ZERO_BREAKPOINT+'" property to '+JSON.stringify(s[r])+"."),e[r]=((t={})[media_css_1.ZERO_BREAKPOINT]=e[r],t)),(0,exports.mergeObjects)(e[r],s[r])):e[r]=s[r]})),exports.mergeObjects.apply(void 0,(0,tslib_1.__spreadArray)([e],r,!1)))};exports.mergeObjects=mergeObjects;var isObject=function(e){return null!==e&&"object"==typeof e}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.removeQueryString=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.safeSlugify=exports.isMergebleObject=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;var tslib_1=require("tslib"),slugify_1=(0,tslib_1.__importDefault)(require("slugify")),url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=(0,tslib_1.__importDefault)(require("./JsonPointer"));function mapWithLast(e,r){for(var t=[],s=0;s<e.length-1;s++)t.push(r(e[s],!1));return 0!==e.length&&t.push(r(e[e.length-1],!0)),t}function mapValues(e,r){var t={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=r(e[s],s,e));return t}function flattenByProp(e,r){var t=[],s=function(e){for(var i=0,n=e;i<n.length;i++){var a=n[i];t.push(a),a[r]&&s(a[r])}};return s(e),t}function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function appendToMdHeading(e,r,t){var s=new RegExp("(^|\\n)#\\s?"+r+"\\s*\\n","i"),i=new RegExp("((\\n|^)#\\s*"+r+"\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)","i");if(s.test(e))return e.replace(i,"$1\n\n"+t+"\n$4");var n=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return""+e+n+"# "+r+"\n\n"+t}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;var mergeObjects=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];if(!r.length)return e;var s=r.shift();return void 0===s?e:((0,exports.isMergebleObject)(e)&&(0,exports.isMergebleObject)(s)&&Object.keys(s).forEach((function(r){var t;(0,exports.isMergebleObject)(s[r])?(e[r]||(e[r]={}),["string","number"].includes(typeof e[r])&&(s[r][media_css_1.ZERO_BREAKPOINT]||0===s[r][media_css_1.ZERO_BREAKPOINT]||console.warn('Theme resolver: using default value of "'+e[r]+'" for "'+r+'". This is not recommended. Prefer adding default value by providing "'+media_css_1.ZERO_BREAKPOINT+'" property to '+JSON.stringify(s[r])+"."),e[r]=((t={})[media_css_1.ZERO_BREAKPOINT]=e[r],t)),(0,exports.mergeObjects)(e[r],s[r])):e[r]=s[r]})),exports.mergeObjects.apply(void 0,(0,tslib_1.__spreadArray)([e],r,!1)))};exports.mergeObjects=mergeObjects;var isObject=function(e){return null!==e&&"object"==typeof e};exports.isObject=isObject;var isMergebleObject=function(e){return(0,exports.isObject)(e)&&!Array.isArray(e)};function safeSlugify(e){return(0,slugify_1.default)(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,r){var t;if(r.startsWith("//"))t=""+((0,url_1.parse)(e).protocol||"https:")+r;else if(isAbsoluteUrl(r))t=r;else if(r.startsWith("/")){var s=(0,url_1.parse)(e);t=(0,url_1.format)((0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{pathname:r}))}else t=stripTrailingSlash(e)+"/"+r;return stripTrailingSlash(t)}function getBasePath(e){try{return parseURL(e).pathname}catch(r){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}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)}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,(function(e,r){return String.fromCharCode(parseInt(r,10))})).replace(/&/g,"&")}function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}function getSchemaTitle(e,r){return r||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.default.baseName(e)||""}exports.isMergebleObject=isMergebleObject,exports.safeSlugify=safeSlugify,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryString=removeQueryString,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.getSchemaTitle=getSchemaTitle;
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.capitalizeFirst=exports.isDefined=exports.getCodeSample=void 0;var tslib_1=require("tslib"),query_string_1=require("query-string"),Sampler=(0,tslib_1.__importStar)(require("openapi-sampler")),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),redoc_lib_1=require("../../redoc-lib"),utils_1=require("../../utils"),utils_2=require("../utils"),httpsnippet_1=require("./httpsnippet");function mapOperationToHAR(e,t){var a,r,i,s,n,l=t.exampleName,o=void 0===l?"":l,u=t.skipOptionalParameters,p=void 0!==u&&u,c=t.withOAuth2Call,d=void 0!==c&&c,m=t.spec,_=t.generatedPayloadSamplesMaxDepth,h=void 0===_?8:_,f=t.pathParams,v=void 0===f?{}:f,g=t.properties,y=void 0===g?{}:g,O=getSecurityData(null===(a=e.security)||void 0===a?void 0:a[0],d),b=O.securityHeaders,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.capitalizeFirst=exports.isDefined=exports.getCodeSample=void 0;var tslib_1=require("tslib"),query_string_1=require("query-string"),Sampler=(0,tslib_1.__importStar)(require("openapi-sampler")),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),redoc_lib_1=require("../../redoc-lib"),utils_1=require("../../utils"),utils_2=require("../utils"),httpsnippet_1=require("./httpsnippet");function mapOperationToHAR(e,t){var a,r,i,s,n,l=t.exampleName,o=void 0===l?"":l,u=t.skipOptionalParameters,p=void 0!==u&&u,c=t.withOAuth2Call,d=void 0!==c&&c,m=t.spec,_=t.generatedPayloadSamplesMaxDepth,h=void 0===_?8:_,f=t.pathParams,v=void 0===f?{}:f,g=t.properties,y=void 0===g?{}:g,O=getSecurityData(null===(a=e.security)||void 0===a?void 0:a[0],d),b=O.securityHeaders,S=O.securityCookies,C=O.securityQueries,T=O.securityOAuth2ExtraCalls,w=O.basicAuth,x=null===(i=null===(r=e.requestBody)||void 0===r?void 0:r.content)||void 0===i?void 0:i.active,P={skipNonRequired:p,skipReadOnly:!0,maxSampleDepth:h},A=!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:(0,utils_1.getParameterValue)("header",e.name)||(0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,P,m))}})).map((function(e){return(null==x?void 0:x.name)&&"content-type"===e.name.toLowerCase()&&(A=!0,e.value=x.name),e})).concat(b);!A&&(null==x?void 0:x.name)&&E.unshift({name:"Content-Type",value:null==x?void 0:x.name});var k=e.parameters.filter((function(e){return"cookie"===e.in})).filter((function(e){return!(p&&!e.required)})).map((function(e){return(0,query_string_1.parse)((0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,P,m)))})).reduce((function(e,t){for(var a=0,r=Object.entries(t);a<r.length;a++){var i=r[a],s=i[0],n=i[1];e.push({name:s,value:String(n)})}return e}),[]).concat(S),q=e.parameters.filter((function(e){return"query"===e.in})).filter((function(e){return!(p&&!e.required)})).map((function(e){return(0,query_string_1.parse)((0,redoc_lib_1.serializeParameterValue)(e,Sampler.sample(e.schema.rawSchema,P,m)))})).reduce((function(e,t){for(var a=0,r=Object.entries(t);a<r.length;a++){var i=r[a],s=i[0],n=i[1];e.push({name:s,value:String(n)})}return e}),[]).concat(C),H=(null===(s=e.activeServer)||void 0===s?void 0:s.url.replace(/\/$/,""))+"/"+e.path.replace(/^\//,""),D=e.parameters.filter((function(e){return"path"===e.in})).reduce((function(e,t){var a=t.in,r=t.name;return e[r]=v[r]||(0,utils_1.getParameterValue)(a,r),e}),{}),R=null===(n=null==x?void 0:x.examples)||void 0===n?void 0:n[o],z=(null==x?void 0:x.examples)||{},j=Object.values(z)[0],N=(null==R?void 0:R.value)||(null==j?void 0:j.value)||(null==x?void 0:x.schema)&&Sampler.sample(null==x?void 0:x.schema.rawSchema,P,m),U=N&&"object"==typeof N&&(0,deepmerge_1.default)(N,y,{arrayMerge:utils_2.arrayMergeStrategy}),I=null==x?void 0:x.name.toLowerCase(),V="",Y=[];switch((0,utils_2.normalizeMimeType)(I)){case"application/json":V=JSON.stringify(U);break;case"application/x-www-form-urlencoded":case"multipart/form-data":V=(0,query_string_1.stringify)(U),Y=objectToHarParams(U);break;default:V=String(N||"")}var F=V?{mimeType:(null==x?void 0:x.name)||"application/octet-stream",text:V,params:Y}:void 0;return{method:e.httpVerb,url:H,httpVersion:"HTTP/1.1",cookies:k,headers:E,queryString:q,postData:F,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:T,basicAuth:w,pathParameters:D,serverVariables:e.activeServer.variables}}var defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:(0,tslib_1.__assign)((0,tslib_1.__assign)({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:(0,tslib_1.__assign)((0,tslib_1.__assign)({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:(0,tslib_1.__assign)({},defaultOptions)}};function getCodeSample(e){var t=e.lang,a=e.operation,r=e.exampleName,i=e.pathParams,s=e.properties,n=e.options,l=void 0===n?{}:n;try{var o=mapOperationToHAR(a,{exampleName:r,pathParams:i,properties:s,skipOptionalParameters:l.skipOptionalParameters,withOAuth2Call:l.withOAuth2Call,spec:l.spec,generatedPayloadSamplesMaxDepth:l.generatedPayloadSamplesMaxDepth}),u=new httpsnippet_1.HTTPSnippet(o);return langToSnippetConfig[t]?u.convert(langToSnippetConfig[t].code,langToSnippetConfig[t].defaultTarget,(0,tslib_1.__assign)((0,tslib_1.__assign)({},langToSnippetConfig[t].defaultOptions),l)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){for(var a,r,i,s,n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0},l=0,o=(null==e?void 0:e.schemes)||[];l<o.length;l++){var u=o[l],p=(0,utils_1.getSecurityDetails)(u.id);switch(u.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.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&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(u.flows.clientCredentials,u.scopes,p)):u.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(u.flows.password,u.scopes,p)),null===(r=n.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=n.securityHeaders)||void 0===i||i.push({name:u.name,value:d})),"cookie"===u.in&&n.securityCookies.push({name:u.name,value:d}),"query"===u.in&&n.securityQueries.push({name:u.name,value:d});break;case"http":"basic"===u.scheme?n.basicAuth={username:p.username||"<username>",password:p.password||"<password>"}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:capitalizeFirst(u.scheme||"bearer")+" <YOUR_"+(u.bearerFormat||"TOKEN")+"_HERE>"})}}return n}function getOAuth2PasswordCallHar(e,t,a){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:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},{name:"username",value:a.username||"<username>"},{name:"password",value:a.password||"<password>"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function getOAuth2ClientCredsCallHar(e,t,a){return{method:"POST",url:e.tokenUrl,httpVersion:"HTTP/1.1",headers:[{name:"Content-Type",value:"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:a.client_id||"YOUR_CLIENT_ID"},{name:"client_secret",value:a.client_secret||"YOUR_CLIENT_SECRET"},t.length?{name:"scope",value:t.join(" ")}:void 0].filter(isDefined)},cookies:[],headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:[]}}function objectToHarParams(e){for(var t=[],a=0,r=Object.entries(e);a<r.length;a++){var i=r[a],s=i[0],n=i[1];t.push({name:s,value:String(n)})}return t}function isDefined(e){return void 0!==e}function capitalizeFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}exports.getCodeSample=getCodeSample,exports.isDefined=isDefined,exports.capitalizeFirst=capitalizeFirst;
|
|
2
2
|
//# sourceMappingURL=generator.js.map
|
package/lib/services/utils.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ 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
|
|
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
17
|
export declare function randString(len?: number): string;
|
package/lib/services/utils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.base64UrlEncode=exports.sha256=exports.encodeState=exports.randString=exports.cryptoLib=exports.isEmptyObject=exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.base64UrlEncode=exports.sha256=exports.encodeState=exports.randString=exports.cryptoLib=exports.isEmptyObject=exports.arrayMergeStrategy=exports.unescapeServerVariables=exports.normalizeMimeType=exports.isSameMime=exports.normalizePath=void 0;var tslib_1=require("tslib"),deepmerge_1=(0,tslib_1.__importDefault)(require("deepmerge")),helpers_1=require("../redoc-lib/src/utils/helpers");function normalizePath(e){return e.startsWith("/")||(e="/"+e),e.endsWith("/")&&(e=e.slice(0,-1)),e}function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}function normalizeMimeType(e){if(e)return e.split(";")[0].toLowerCase()}function unescapeServerVariables(e){var r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//")}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){(0,helpers_1.isMergebleObject)(r)?t[n]=(0,deepmerge_1.default)(e[n],r,{arrayMerge:arrayMergeStrategy}):Array.isArray(r)?t.push(r):t[n]=r})),t}exports.normalizePath=normalizePath,exports.isSameMime=isSameMime,exports.normalizeMimeType=normalizeMimeType,exports.unescapeServerVariables=unescapeServerVariables,exports.arrayMergeStrategy=arrayMergeStrategy;var hasObjectOrArray=function(e){return e.some((function(e){return(0,helpers_1.isObject)(e)&&Object.keys(e).length>0}))};function isEmptyObject(e){return!!e&&0===Object.keys(e).length}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)}function encodeState(e){var r=(0,tslib_1.__assign)({randomStr:randString()},e);return btoa(JSON.stringify(r))}function sha256(e){return(0,tslib_1.__awaiter)(this,void 0,void 0,(function(){var r;return(0,tslib_1.__generator)(this,(function(t){return r=(new TextEncoder).encode(e),[2,null===exports.cryptoLib||void 0===exports.cryptoLib?void 0:exports.cryptoLib.subtle.digest("SHA-256",r)]}))}))}function base64UrlEncode(e){if(e)return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}exports.isEmptyObject=isEmptyObject,exports.cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0,exports.randString=randString,exports.encodeState=encodeState,exports.sha256=sha256,exports.base64UrlEncode=base64UrlEncode;
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as React from"react";import{useState,useEffect}from"react";import{WarnMessage}from"../shared";import{FormControl}from"../common/form";import{Dropdown}from"../common/Dropdown";export var ExampleSwitch=function(e){var t=e.exampleKey,
|
|
1
|
+
import*as React from"react";import{useState,useEffect}from"react";import{WarnMessage}from"../shared";import{FormControl}from"../common/form";import{Dropdown}from"../common/Dropdown";export var ExampleSwitch=function(e){var t=e.exampleKey,a=e.examples,r=e.onChange,o=Object.keys(a),n=t?o.indexOf(t):0,m=useState(n>-1?n:0),c=m[0],l=m[1];useEffect((function(){return l(n>-1?n:0)}),[t,n]);var u=o.map((function(e,t){return{value:a[e].summary||e,idx:t}}));return React.createElement(React.Fragment,null,"default"!==u[c].value&&React.createElement(FormControl,{"data-cy":"example-switch"},React.createElement(Dropdown,{variant:"dark",fullWidth:!0,options:u,value:u[c].value,onChange:function(e){var t=e.idx;l(t),r(o[t])}})),t&&-1===n&&React.createElement(WarnMessage,null,"Provided sample not found"))};
|
|
2
2
|
//# sourceMappingURL=ExampleSwitch.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _this=this;import{__assign,__awaiter,__generator,__rest}from"tslib";import*as React from"react";import{useEffect}from"react";import{observer}from"mobx-react";import merge from"deepmerge";import{DropdownOrLabel,MediaTypesSwitch}from"../../redoc-lib";import CodemirrorInput from"./CodemirrorInput";import{RequestMimeLabel}from"./RequestMimeLabel";import{ExampleSwitch,useExampleKey}from"../Samples";import{
|
|
1
|
+
var _this=this;import{__assign,__awaiter,__generator,__rest}from"tslib";import*as React from"react";import{useEffect}from"react";import{observer}from"mobx-react";import merge from"deepmerge";import{DropdownOrLabel,MediaTypesSwitch}from"../../redoc-lib";import CodemirrorInput from"./CodemirrorInput";import{RequestMimeLabel}from"./RequestMimeLabel";import{ExampleSwitch,useExampleKey}from"../Samples";import{arrayMergeStrategy}from"../../services/utils";import{RequestBodyForm}from"./RequestBodyForm";import{isRootFileUpload}from"../common/FileUpload/helper";import{MediaTypes}from"../../models";import{Dropdown}from"../common/Dropdown";export var RequestBody=observer((function(e){var r,t=e.properties,o=void 0===t?{}:t,a=__rest(e,["properties"]),i=a.body.content,n=a.console.formApi,l=function(e){var r;if(!i||!i.hasSample)return"";var t=null===(r=i.active)||void 0===r?void 0:r.examples;if(!(null==t?void 0:t[e]))return"";var a=merge(null==t?void 0:t[e].value,o,{arrayMerge:arrayMergeStrategy});return JSON.stringify(a,null,2)},m=null===(r=null==i?void 0:i.operation)||void 0===r?void 0:r.activeExampleName,d=function(e){var r;null===(r=null==i?void 0:i.operation)||void 0===r||r.activateExampleName(e),n.setValue("body",l(e))},u=function(e){if(!e)return"";if("application/x-www-form-urlencoded"===e.mime)return e.value;var r=merge(e.value,o,{arrayMerge:arrayMergeStrategy});return JSON.stringify(r,null,2)},p=function(e,r){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(t){return(0,n.setValue)("body."+e,r),[2]}))}))};useEffect((function(){!1!==m?m&&n.setValue("body",l(m)):n.setValue("body",JSON.stringify(o,null,2))}),[m]);var s=a.validate,c=a.body;return React.createElement(React.Fragment,null,React.createElement(MediaTypesSwitch,{content:c.content,renderDropdown:function(e){return React.createElement(DropdownOrLabel,__assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel,Dropdown:Dropdown}))}},(function(e){var r,t=e.examples||{},o=Object.keys(t),i=e.schema,l=isRootFileUpload(i||{},e.name)||e.name===MediaTypes.MULTIPART||e.name===MediaTypes.URL_ENCODED,m=useExampleKey(e.operation,t).exampleKey,c=t[m];return React.createElement(React.Fragment,null,o.length&&1!==o.length&&React.createElement(ExampleSwitch,{examples:t,onChange:d,exampleKey:m})||null,l?React.createElement(RequestBodyForm,{mediaType:e,formApi:n,onChange:p.bind(_this)}):React.createElement(CodemirrorInput,{id:"body"+a.id,field:"body",initialValue:u(c),schema:((null===(r=null==a?void 0:a.resolvedBody)||void 0===r?void 0:r.content[e.name])||{}).schema,mode:e.name,validate:s}))})))}));
|
|
2
2
|
//# sourceMappingURL=RequestBody.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{
|
|
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
|
|
@@ -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}
|
|
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(/&/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
|
|
@@ -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,
|
|
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,7 +11,7 @@ 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
|
|
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
17
|
export declare function randString(len?: number): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign,__awaiter,__generator}from"tslib";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
|
|
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
|