@redocly/openapi-docs 3.0.0-alpha.79 → 3.0.0-alpha.81
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/dist/console.redocly-openapi-docs.min.js +109 -108
- package/dist/oauth2-redirect.js +5 -5
- package/dist/redocly-openapi-docs.min.js +1188 -1181
- package/lib/components/DropdownOrLabel/DropdownOrLabel.d.ts +1 -1
- package/lib/components/Endpoint/ServerList.js +1 -1
- package/lib/components/Fields/FieldDetails.js +1 -1
- package/lib/components/SeeMore/SeeMore.js +1 -1
- package/lib/components/Tabs/CollapsingTabs/CollapsingTab.d.ts +2 -1
- package/lib/components/Tabs/CollapsingTabs/CollapsingTabList.d.ts +2 -1
- package/lib/components/Tabs/Tab.d.ts +2 -2
- package/lib/components/Tabs/TabList.d.ts +2 -2
- package/lib/components/Tabs/TabPanel.d.ts +2 -2
- package/lib/components/common/CheckboxList.js +1 -1
- package/lib/components/common/TextField.js +1 -1
- package/lib/components/common/perfect-scrollbar.d.ts +1 -1
- package/lib/components/rightPanel/Console/Console.js +1 -1
- package/lib/components/rightPanel/RequestBody/Body.js +1 -1
- package/lib/hooks/useRouter.d.ts +3 -1
- package/lib/services/code-samples/generator.js +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/code-builder.js +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/constants.d.ts +1 -0
- package/lib/services/code-samples/httpsnippet/helpers/constants.js +1 -1
- package/lib/services/code-samples/httpsnippet/helpers/mocks/code-helpers-mock.d.ts +2 -0
- package/lib/services/code-samples/httpsnippet/helpers/mocks/code-helpers-mock.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/csharp/httpclient.js +1 -1
- package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/httpclient.d.ts +10 -0
- package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/httpclient.js +2 -0
- package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/index.d.ts +10 -0
- package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/index.js +2 -0
- package/lib/services/code-samples/httpsnippet/targets/index.d.ts +9 -0
- package/lib/services/code-samples/httpsnippet/targets/index.js +1 -1
- package/lib/services/code-samples/types.d.ts +5 -2
- package/lib/setupTests.d.ts +1 -2
- package/lib/setupTests.js +1 -1
- package/lib/standalone.d.ts +1 -1
- package/lib/standalone.js +1 -1
- package/lib/utils/helpers.d.ts +2 -0
- package/lib/utils/helpers.js +1 -1
- package/lib/utils/typeGuards.d.ts +1 -0
- package/lib/utils/typeGuards.js +1 -1
- package/lib-esm/components/DropdownOrLabel/DropdownOrLabel.d.ts +1 -1
- package/lib-esm/components/Endpoint/ServerList.js +1 -1
- package/lib-esm/components/Fields/FieldDetails.js +1 -1
- package/lib-esm/components/SeeMore/SeeMore.js +1 -1
- package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTab.d.ts +2 -1
- package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabList.d.ts +2 -1
- package/lib-esm/components/Tabs/Tab.d.ts +2 -2
- package/lib-esm/components/Tabs/TabList.d.ts +2 -2
- package/lib-esm/components/Tabs/TabPanel.d.ts +2 -2
- package/lib-esm/components/common/CheckboxList.js +1 -1
- package/lib-esm/components/common/TextField.js +1 -1
- package/lib-esm/components/common/perfect-scrollbar.d.ts +1 -1
- package/lib-esm/components/rightPanel/Console/Console.js +1 -1
- package/lib-esm/components/rightPanel/RequestBody/Body.js +1 -1
- package/lib-esm/hooks/useRouter.d.ts +3 -1
- package/lib-esm/services/code-samples/generator.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/helpers/code-builder.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/helpers/constants.d.ts +1 -0
- package/lib-esm/services/code-samples/httpsnippet/helpers/constants.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/helpers/mocks/code-helpers-mock.d.ts +2 -0
- package/lib-esm/services/code-samples/httpsnippet/helpers/mocks/code-helpers-mock.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/csharp/httpclient.js +1 -1
- package/lib-esm/services/code-samples/httpsnippet/targets/csharpNewtonsoft/httpclient.d.ts +10 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/csharpNewtonsoft/httpclient.js +2 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/csharpNewtonsoft/index.d.ts +10 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/csharpNewtonsoft/index.js +2 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/index.d.ts +9 -0
- package/lib-esm/services/code-samples/httpsnippet/targets/index.js +1 -1
- package/lib-esm/services/code-samples/types.d.ts +5 -2
- package/lib-esm/setupTests.d.ts +1 -2
- package/lib-esm/setupTests.js +1 -1
- package/lib-esm/standalone.d.ts +1 -1
- package/lib-esm/standalone.js +1 -1
- package/lib-esm/utils/helpers.d.ts +2 -0
- package/lib-esm/utils/helpers.js +1 -1
- package/lib-esm/utils/typeGuards.d.ts +1 -0
- package/lib-esm/utils/typeGuards.js +1 -1
- package/package.json +18 -22
package/lib/standalone.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.revision=exports.version=exports.setPublicPath=exports.init=exports.hydrate=exports.toggleRightPanel=exports.toggleLayout=exports.setSecurityDetailsVariants=exports.setParameterValue=exports.setSecurityDetails=void 0,require("core-js/es/array/find-index"),require("core-js/es/array/find"),require("core-js/es/array/includes"),require("core-js/es/map"),require("core-js/es/number/is-integer"),require("core-js/es/object/assign"),require("core-js/es/object/entries"),require("core-js/es/object/is"),require("core-js/es/object/values"),require("core-js/es/promise"),require("core-js/es/string/ends-with"),require("core-js/es/string/starts-with"),require("core-js/es/symbol"),require("unfetch/polyfill/index"),require("url-polyfill");const path_1=require("path"),react_1=__importDefault(require("react")),
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.revision=exports.version=exports.setPublicPath=exports.init=exports.hydrate=exports.toggleRightPanel=exports.toggleLayout=exports.setSecurityDetailsVariants=exports.setParameterValue=exports.setSecurityDetails=void 0,require("core-js/es/array/find-index"),require("core-js/es/array/find"),require("core-js/es/array/includes"),require("core-js/es/map"),require("core-js/es/number/is-integer"),require("core-js/es/object/assign"),require("core-js/es/object/entries"),require("core-js/es/object/is"),require("core-js/es/object/values"),require("core-js/es/promise"),require("core-js/es/string/ends-with"),require("core-js/es/string/starts-with"),require("core-js/es/symbol"),require("unfetch/polyfill/index"),require("url-polyfill");const path_1=require("path"),react_1=__importDefault(require("react")),client_1=require("react-dom/client"),theme_1=require("@redocly/theme"),nexus_1=require("./jotai/nexus"),utils_1=require("./utils"),components_1=require("./components"),RedoclyOpenAPIDocsMultiStandalone_1=require("./components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocsMultiStandalone"),app_1=require("./jotai/app");var utils_2=require("./utils");function toggleLayout(e=theme_1.LayoutVariant.THREE_PANEL){const t=(0,nexus_1.readAtom)(app_1.appLocalStore);(0,nexus_1.writeAtom)(app_1.appLocalStore,Object.assign(Object.assign({},t),{layout:e}))}function toggleRightPanel(e){const t=(0,nexus_1.readAtom)(app_1.appSessionStore);(0,nexus_1.writeAtom)(app_1.appSessionStore,Object.assign(Object.assign({},t),{showRightPanelToggle:Boolean(e)}))}Object.defineProperty(exports,"setSecurityDetails",{enumerable:!0,get:function(){return utils_2.setSecurityDetails}}),Object.defineProperty(exports,"setParameterValue",{enumerable:!0,get:function(){return utils_2.setParameterValue}}),Object.defineProperty(exports,"setSecurityDetailsVariants",{enumerable:!0,get:function(){return utils_2.setSecurityDetailsVariants}}),exports.toggleLayout=toggleLayout,exports.toggleRightPanel=toggleRightPanel;const url=(0,utils_1.getJsUrl)(),__dirname=url?(0,path_1.dirname)(url)+"/":"";function attributesMap(e){const t={},r=e.attributes;for(let e=0;e<r.length;e++){const o=r[e];t[o.name]=o.value}return t}function parseOptionsFromElement(e){const t=attributesMap(e),r={};for(const e in t){r[e.replace(/-(.)/g,((e,t)=>t.toUpperCase()))]=t[e]}return r}function hydrate(e,t=document.querySelector("redoc")){(0,client_1.hydrateRoot)(t,react_1.default.createElement(components_1.RedoclyOpenAPIDocs,{store:e}))}function init(e,t={},r=(0,utils_1.querySelector)("redoc")){if(null===r)throw new Error('"element" argument is not provided and <redoc> tag is not found on the page');let o,i;if("object"==typeof e&&"versions"in e){return void(0,client_1.createRoot)(r).render(react_1.default.createElement(RedoclyOpenAPIDocsMultiStandalone_1.RedoclyOpenAPIDocsMultiStandalone,{definitions:e,options:Object.assign(Object.assign({},t),parseOptionsFromElement(r))},["Loading..."]))}"string"==typeof e?o=e:"object"==typeof e&&(i=e);(0,client_1.createRoot)(r).render(react_1.default.createElement(components_1.RedoclyOpenAPIDocsStandalone,{definition:i,definitionUrl:o,options:Object.assign(Object.assign({},t),parseOptionsFromElement(r))},["Loading..."]))}function setPublicPath(e){__webpack_public_path__=e}function autoInit(){const e=(0,utils_1.querySelector)("redoc");if(!e)return;const t=e.getAttribute("spec-url");t&&init(t,{},e)}exports.hydrate=hydrate,exports.init=init,exports.setPublicPath=setPublicPath,exports.version=__REDOCLY_API_REFERENCE_VERSION__,exports.revision=__REDOCLY_API_REFERENCE_REVISION__,utils_1.IS_BROWSER&&setPublicPath(__dirname),autoInit();
|
|
2
2
|
//# sourceMappingURL=standalone.js.map
|
package/lib/utils/helpers.d.ts
CHANGED
|
@@ -45,3 +45,5 @@ export declare function getWindowReferenceOptions<T>(option: string): T | null;
|
|
|
45
45
|
export declare function getJsUrl(): string;
|
|
46
46
|
export declare const normalizeText: (text?: string | GenericObject) => string;
|
|
47
47
|
export declare const getValueFromMdParsedExtension: (item: GenericObject, key: 'description' | 'summary' | 'x-summary' | 'x-enumDescriptions') => any;
|
|
48
|
+
export declare function isLastInArray(arr: Array<unknown>, index: number): boolean;
|
|
49
|
+
export declare function isLastProperty(obj: Object, key: string): boolean;
|
package/lib/utils/helpers.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getValueFromMdParsedExtension=exports.normalizeText=exports.getJsUrl=exports.getWindowReferenceOptions=exports.dottedString=exports.joinStringFactory=exports.get=exports.useSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.escapeHTMLAttrChars=exports.removeQueryStringAndHash=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.isMergeableObject=exports.deleteEmptyArrayItem=exports.isArrayOfObjects=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;const url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=require("./JsonPointer"),dom_1=require("./dom"),typeGuards_1=require("./typeGuards");function mapWithLast(e,t){const r=[];for(let s=0;s<e.length-1;s++)r.push(t(e[s],!1));return 0!==e.length&&r.push(t(e[e.length-1],!0)),r}function mapValues(e,t){const r={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=t(e[s],s,e));return r}function flattenByProp(e,t){const r=[],s=e=>{for(const n of e)r.push(n),n[t]&&s(n[t])};return s(e),r}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,t,r){const s=new RegExp(`(^|\\n)#\\s?${t}\\s*\\n`,"i"),n=new RegExp(`((\\n|^)#\\s*${t}\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)`,"i");if(s.test(e))return e.replace(n,`$1\n\n${r}\n$4`);{const s=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return`${e}${s}# ${t}\n\n${r}`}}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;const mergeObjects=(e,...t)=>{if(!t.length)return e;const r=t.shift();return void 0===r?e:((0,exports.isMergeableObject)(e)&&(0,exports.isMergeableObject)(r)&&Object.keys(r).forEach((t=>{(0,exports.isMergeableObject)(r[t])?(e[t]||(e[t]={}),["string","number"].includes(typeof e[t])&&(r[t][media_css_1.ZERO_BREAKPOINT]||0===r[t][media_css_1.ZERO_BREAKPOINT]||console.warn(`Theme resolver: using default value of "${e[t]}" for "${t}". This is not recommended. Prefer adding default value by providing "${media_css_1.ZERO_BREAKPOINT}" property to ${JSON.stringify(r[t])}.`),e[t]={[media_css_1.ZERO_BREAKPOINT]:e[t]}),(0,exports.mergeObjects)(e[t],r[t])):e[t]=r[t]})),(0,exports.mergeObjects)(e,...t))};exports.mergeObjects=mergeObjects;const isObject=e=>null!==e&&"object"==typeof e;exports.isObject=isObject;const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>(0,exports.isObject)(e)));exports.isArrayOfObjects=isArrayOfObjects;const deleteEmptyArrayItem=e=>e.filter((e=>!!e));exports.deleteEmptyArrayItem=deleteEmptyArrayItem;const isMergeableObject=e=>(0,exports.isObject)(e)&&!Array.isArray(e);function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,t){let r;if(t.startsWith("//")){const{protocol:s}=(0,url_1.parse)(e);r=`${s||"https:"}${t}`}else if(isAbsoluteUrl(t))r=t;else if(t.startsWith("/")){const s=(0,url_1.parse)(e);r=(0,url_1.format)(Object.assign(Object.assign({},s),{pathname:t}))}else r=stripTrailingSlash(e)+"/"+t;return stripTrailingSlash(r)}function getBasePath(e){try{return parseURL(e).pathname}catch(t){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function removeQueryStringAndHash(e){try{const t=parseURL(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&/g,"&").replace(/"/g,'"')}function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}function useSchemaTitle(e,t){return t||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.JsonPointer.baseName(e)||""}function get(e={},t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce(((e,t)=>e&&e[t]?e[t]:r),e)}function joinStringFactory(e){return(...t)=>t.filter(Boolean).join(e)}function getWindowReferenceOptions(e){var t;return dom_1.IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}function getJsUrl(){var e;if(!dom_1.IS_BROWSER)return"";const t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write(`<script id="dummy${t}"><\/script>`),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}exports.isMergeableObject=isMergeableObject,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryStringAndHash=removeQueryStringAndHash,exports.escapeHTMLAttrChars=escapeHTMLAttrChars,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.useSchemaTitle=useSchemaTitle,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory("."),exports.getWindowReferenceOptions=getWindowReferenceOptions,exports.getJsUrl=getJsUrl;const normalizeText=e=>(0,typeGuards_1.isString)(e)?e:null==e?void 0:e.raw;exports.normalizeText=normalizeText;const getValueFromMdParsedExtension=(e,t)=>{const r=e[`x-parsed-md-${t}`]||e[t];if("x-enumDescriptions"!==t)return r;let s={};for(const e in r)e.startsWith("x-parsed-md")||(s[e]=r[`x-parsed-md-${e}`]||r[e]);return Object.keys(s).length?s:r};exports.getValueFromMdParsedExtension=getValueFromMdParsedExtension;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isLastProperty=exports.isLastInArray=exports.getValueFromMdParsedExtension=exports.normalizeText=exports.getJsUrl=exports.getWindowReferenceOptions=exports.dottedString=exports.joinStringFactory=exports.get=exports.useSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.escapeHTMLAttrChars=exports.removeQueryStringAndHash=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.isMergeableObject=exports.deleteEmptyArrayItem=exports.isArrayOfObjects=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;const url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=require("./JsonPointer"),dom_1=require("./dom"),typeGuards_1=require("./typeGuards");function mapWithLast(e,t){const r=[];for(let s=0;s<e.length-1;s++)r.push(t(e[s],!1));return 0!==e.length&&r.push(t(e[e.length-1],!0)),r}function mapValues(e,t){const r={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=t(e[s],s,e));return r}function flattenByProp(e,t){const r=[],s=e=>{for(const n of e)r.push(n),n[t]&&s(n[t])};return s(e),r}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,t,r){const s=new RegExp(`(^|\\n)#\\s?${t}\\s*\\n`,"i"),n=new RegExp(`((\\n|^)#\\s*${t}\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)`,"i");if(s.test(e))return e.replace(n,`$1\n\n${r}\n$4`);{const s=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return`${e}${s}# ${t}\n\n${r}`}}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;const mergeObjects=(e,...t)=>{if(!t.length)return e;const r=t.shift();return void 0===r?e:((0,exports.isMergeableObject)(e)&&(0,exports.isMergeableObject)(r)&&Object.keys(r).forEach((t=>{(0,exports.isMergeableObject)(r[t])?(e[t]||(e[t]={}),["string","number"].includes(typeof e[t])&&(r[t][media_css_1.ZERO_BREAKPOINT]||0===r[t][media_css_1.ZERO_BREAKPOINT]||console.warn(`Theme resolver: using default value of "${e[t]}" for "${t}". This is not recommended. Prefer adding default value by providing "${media_css_1.ZERO_BREAKPOINT}" property to ${JSON.stringify(r[t])}.`),e[t]={[media_css_1.ZERO_BREAKPOINT]:e[t]}),(0,exports.mergeObjects)(e[t],r[t])):e[t]=r[t]})),(0,exports.mergeObjects)(e,...t))};exports.mergeObjects=mergeObjects;const isObject=e=>null!==e&&"object"==typeof e;exports.isObject=isObject;const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>(0,exports.isObject)(e)));exports.isArrayOfObjects=isArrayOfObjects;const deleteEmptyArrayItem=e=>e.filter((e=>!!e));exports.deleteEmptyArrayItem=deleteEmptyArrayItem;const isMergeableObject=e=>(0,exports.isObject)(e)&&!Array.isArray(e);function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,t){let r;if(t.startsWith("//")){const{protocol:s}=(0,url_1.parse)(e);r=`${s||"https:"}${t}`}else if(isAbsoluteUrl(t))r=t;else if(t.startsWith("/")){const s=(0,url_1.parse)(e);r=(0,url_1.format)(Object.assign(Object.assign({},s),{pathname:t}))}else r=stripTrailingSlash(e)+"/"+t;return stripTrailingSlash(r)}function getBasePath(e){try{return parseURL(e).pathname}catch(t){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function removeQueryStringAndHash(e){try{const t=parseURL(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&/g,"&").replace(/"/g,'"')}function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}function useSchemaTitle(e,t){return t||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.JsonPointer.baseName(e)||""}function get(e={},t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce(((e,t)=>e&&e[t]?e[t]:r),e)}function joinStringFactory(e){return(...t)=>t.filter(Boolean).join(e)}function getWindowReferenceOptions(e){var t;return dom_1.IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}function getJsUrl(){var e;if(!dom_1.IS_BROWSER)return"";const t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write(`<script id="dummy${t}"><\/script>`),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}exports.isMergeableObject=isMergeableObject,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryStringAndHash=removeQueryStringAndHash,exports.escapeHTMLAttrChars=escapeHTMLAttrChars,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.useSchemaTitle=useSchemaTitle,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory("."),exports.getWindowReferenceOptions=getWindowReferenceOptions,exports.getJsUrl=getJsUrl;const normalizeText=e=>(0,typeGuards_1.isString)(e)?e:null==e?void 0:e.raw;exports.normalizeText=normalizeText;const getValueFromMdParsedExtension=(e,t)=>{const r=e[`x-parsed-md-${t}`]||e[t];if("x-enumDescriptions"!==t)return r;let s={};for(const e in r)e.startsWith("x-parsed-md")||(s[e]=r[`x-parsed-md-${e}`]||r[e]);return Object.keys(s).length?s:r};function isLastInArray(e,t){return t===e.length-1}function isLastProperty(e,t){const r=Object.keys(e);return r.indexOf(t)===r.length-1}exports.getValueFromMdParsedExtension=getValueFromMdParsedExtension,exports.isLastInArray=isLastInArray,exports.isLastProperty=isLastProperty;
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -2,3 +2,4 @@ export declare function isUndefined<T>(value: T | undefined): value is undefined
|
|
|
2
2
|
export declare function isNull<T>(value: T | null): value is null;
|
|
3
3
|
export declare function isString<T>(value: T | string): value is string;
|
|
4
4
|
export declare function isNotNull<T>(value: T): value is NonNullable<T>;
|
|
5
|
+
export declare function checkIfIsObject(item: unknown): item is Object;
|
package/lib/utils/typeGuards.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function isUndefined(
|
|
1
|
+
"use strict";function isUndefined(e){return void 0===e}function isNull(e){return null===e}function isString(e){return"string"==typeof e}function isNotNull(e){return!isNull(e)}function checkIfIsObject(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkIfIsObject=exports.isNotNull=exports.isString=exports.isNull=exports.isUndefined=void 0,exports.isUndefined=isUndefined,exports.isNull=isNull,exports.isString=isString,exports.isNotNull=isNotNull,exports.checkIfIsObject=checkIfIsObject;
|
|
2
2
|
//# sourceMappingURL=typeGuards.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { DropdownProps } from '../common/Dropdown';
|
|
3
3
|
export interface DropdownOrLabelProps extends DropdownProps {
|
|
4
|
-
Label?: React.FC
|
|
4
|
+
Label?: React.FC<React.PropsWithChildren>;
|
|
5
5
|
Dropdown?: React.FC<DropdownProps>;
|
|
6
6
|
}
|
|
7
7
|
export declare function DropdownOrLabel({ Label, Dropdown, ...dropdownProps }: DropdownOrLabelProps): JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{Fragment}from"react";import{CodeBlockControls}from"@redocly/theme";import{expandDefaultServerVariables,getBasePath}from"../../utils";import{Markdown}from"../Markdown";import{ServerItem,ServerUrl}from"./styled";export const ServerList=({servers:e,path:r,expandVariables:t,hideHostname:a})=>React.createElement(React.Fragment,null,e.map((e=>{const
|
|
1
|
+
import React,{Fragment}from"react";import{CodeBlockControls}from"@redocly/theme";import{expandDefaultServerVariables,getBasePath}from"../../utils";import{Markdown}from"../Markdown";import{ServerItem,ServerUrl}from"./styled";export const ServerList=({servers:e,path:r,expandVariables:t,hideHostname:a})=>React.createElement(React.Fragment,null,e.map((e=>{const o=t?expandDefaultServerVariables(e.url,e.variables):e.url,l=getBasePath(o),n=(a?"/"===l?"":l:o)+r;return React.createElement(Fragment,{key:o},React.createElement(ServerItem,null,React.createElement(CodeBlockControls,{controls:{copy:{data:n}},title:React.createElement(Markdown,{source:e.description||""})}),React.createElement(ServerUrl,{suppressHydrationWarning:!0},n)))})));
|
|
2
2
|
//# sourceMappingURL=ServerList.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{PatternLabel,RecursiveLabel,TypeFormat,TypeName,TypePrefix,TypeTitle,ToggleButton,DeprecatedLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{l}from"../../services";import{FieldDetail}from"./FieldDetail";import{ConstraintsView}from"./ConstraintsView";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{TypeWrapper,FieldDescriptionWrapper}from"./styled";import{globalOptionsAtom}from"../../jotai/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:o,hideSchemaTitles:i,hideSchemaPattern:c}=useAtomValue(globalOptionsAtom),{schema:m,description:s,example:p,deprecated:u,examples:
|
|
1
|
+
import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{PatternLabel,RecursiveLabel,TypeFormat,TypeName,TypePrefix,TypeTitle,ToggleButton,DeprecatedLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{l}from"../../services";import{FieldDetail}from"./FieldDetail";import{ConstraintsView}from"./ConstraintsView";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{TypeWrapper,FieldDescriptionWrapper}from"./styled";import{globalOptionsAtom}from"../../jotai/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:o,hideSchemaTitles:i,hideSchemaPattern:c}=useAtomValue(globalOptionsAtom),{schema:m,description:s,example:p,deprecated:u,examples:E}=t,d=Boolean(o)||"header"===t.in;let R=null;if(e&&(void 0!==p||void 0!==E))if(void 0!==E)R=React.createElement(Examples,{field:t});else{const e=!!t.in;R=React.createElement(FieldDetail,{label:"example",value:getSerializedValue(t,t.example),raw:e})}return React.createElement("div",null,React.createElement(TypeWrapper,null,React.createElement(TypePrefix,null,m.typePrefix),React.createElement(TypeName,null,m.displayType),m.displayFormat&&React.createElement(TypeFormat,null," ","<",m.displayFormat,">"," "),m.contentEncoding&&React.createElement(TypeFormat,null," ","<",m.contentEncoding,">"," "),m.contentMediaType&&React.createElement(TypeFormat,null," ","<",m.contentMediaType,">"," "),m.title&&!i&&React.createElement(TypeTitle,null," (",m.title,") "),React.createElement(ConstraintsView,{constraints:m.constraints}),m.pattern&&!c&&React.createElement(React.Fragment,null,React.createElement(PatternLabel,null,n||m.pattern.length<MAX_PATTERN_LENGTH?m.pattern:`${m.pattern.substr(0,MAX_PATTERN_LENGTH)}...`),m.pattern.length>MAX_PATTERN_LENGTH&&React.createElement(ToggleButton,{onClick:()=>{r(!n)}},n?"Hide pattern":"Show pattern"))," ",m.isCircular&&React.createElement(RecursiveLabel,null,l("recursive"))),u&&React.createElement("div",null,React.createElement(DeprecatedLabel,null,l("deprecated"))),React.createElement(FieldDetail,{raw:d,label:"default",value:m.default}),React.createElement(FieldDescriptionWrapper,null,React.createElement(Markdown,{source:s})),!a&&React.createElement(EnumValues,{type:m.type,values:m["x-enumDescriptions"]||m.enum})," ",R,React.createElement(Extensions,{extensions:Object.assign(Object.assign({},t.extensions),m.extensions)}),m.externalDocs&&React.createElement(ExternalDocumentation,{externalDocs:m.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&React.createElement(FieldDetail,{label:"const",value:t.const})||null)}export const FieldDetails=memo(FieldDetailsComponent);
|
|
2
2
|
//# sourceMappingURL=FieldDetails.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import styled from"styled-components";import React,{createRef,useLayoutEffect,useState}from"react";const TOLERANCE_PX=20;export function SeeMore({children:e,height:t}){const n=createRef(),[r,o]=React.useState(!1),[a,c]=useState(!1);useLayoutEffect((()=>{n.current&&n.current.clientHeight+
|
|
1
|
+
import styled from"styled-components";import React,{createRef,useLayoutEffect,useState}from"react";const TOLERANCE_PX=20;export function SeeMore({children:e,height:t}){const n=createRef(),[r,o]=React.useState(!1),[a,c]=useState(!1);useLayoutEffect((()=>{n.current&&n.current.clientHeight+TOLERANCE_PX<n.current.scrollHeight&&c(!0)}),[n]);return React.createElement(React.Fragment,null,React.createElement(Container,{ref:n,className:r?"":"container",style:{height:r?"auto":t}},e),React.createElement(ButtonContainer,{dimmed:!r},a&&React.createElement(ButtonLinkStyled,{onClick:()=>{o(!r)}},r?"See less":"See more")))}const Container=styled.div`
|
|
2
2
|
overflow-y: hidden;
|
|
3
3
|
`,ButtonContainer=styled.div`
|
|
4
4
|
text-align: center;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const CollapsingTab: import("styled-components").StyledComponent<import("react").FunctionComponent<import("react-tabs").TabProps>, any, {}, never>;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const CollapsingTabList: import("styled-components").StyledComponent<import("react").FunctionComponent<import("react-tabs").TabListProps>, any, {}, never>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Tab: import("styled-components").StyledComponent<
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Tab: import("styled-components").StyledComponent<import("react").FunctionComponent<import("react-tabs").TabProps>, any, {}, never>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const TabList: import("styled-components").StyledComponent<
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const TabList: import("styled-components").StyledComponent<import("react").FunctionComponent<import("react-tabs").TabListProps>, any, {}, never>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const TabPanel: import("styled-components").StyledComponent<
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const TabPanel: import("styled-components").StyledComponent<import("react").FunctionComponent<import("react-tabs").TabPanelProps>, any, {}, never>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{CodeBlockControls,CodeBlockControlButton}from"@redocly/theme";import React,{useState,memo}from"react";import styled from"styled-components";import{Controller,useFormContext}from"react-hook-form";import{FormError}from"./form";import{Checkbox}from"./Checkbox";const DEFAULT_MAX_ITEMS=11;export const CheckboxListComponent=({fieldName:e,defaultValue:t,items:o,validateOnChange:l,maxDisplayedItems:r,showControls:a,trimItemsLength:c})=>{var n;const{control:
|
|
1
|
+
import{CodeBlockControls,CodeBlockControlButton}from"@redocly/theme";import React,{useState,memo}from"react";import styled from"styled-components";import{Controller,useFormContext}from"react-hook-form";import{FormError}from"./form";import{Checkbox}from"./Checkbox";const DEFAULT_MAX_ITEMS=11;export const CheckboxListComponent=({fieldName:e,defaultValue:t,items:o,validateOnChange:l,maxDisplayedItems:r,showControls:a,trimItemsLength:c})=>{var n,s;const{control:m,setValue:i,getValues:d,formState:u,trigger:C}=useFormContext(),[p,g]=useState(!0),h=t=>d(e).includes(t),k=null===(s=null===(n=u.errors[e])||void 0===n?void 0:n.message)||void 0===s?void 0:s.toString(),x=r||11,b=c&&p?o.slice(0,x):o;return React.createElement("div",null,a?React.createElement(CodeBlockControls,{controls:{select:{onClick:()=>{i(e,o)},label:"Select all",tooltipText:"Select all checkboxes"},deselect:{onClick:()=>{i(e,[])},label:"Deselect all",tooltipText:"Deselect all checkboxes"}}}):null,React.createElement(ListWrapper,null,React.createElement(Controller,{control:m,name:e,defaultValue:t,render:()=>React.createElement(React.Fragment,null,b.map((t=>React.createElement(Checkbox,{fullWidth:!0,id:t,value:t,checked:h(t),label:t,key:t,onChange:t=>{(t=>{const o=t.target.value,l=t.target.checked,r=d(e)||[];let a;if(l)a=[...r,o];else{const e=r.indexOf(o);a=[...r.slice(0,e),...r.slice(e+1)]}i(e,a)})(t),l&&C(e)}}))))}),o.length>x&&c?React.createElement(ToggleButton,{onClick:()=>{g((e=>!e))}},p?"Show all":"Collapse"):null),k?React.createElement(FormError,null,k):"")};export const CheckboxList=memo(CheckboxListComponent);const ListWrapper=styled.div`
|
|
2
2
|
padding: 10px;
|
|
3
3
|
border: 1px solid var(--border-primary);
|
|
4
4
|
border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg);
|
|
@@ -75,5 +75,5 @@ var __rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.proto
|
|
|
75
75
|
cursor: pointer;
|
|
76
76
|
text-align: center;
|
|
77
77
|
color: var(--panel-samples-text-color);
|
|
78
|
-
`;function TextFieldComponent(e,t){var{fullWidth:r,errorMessage:o,type:n,inputActionButton:l,panel:a="samples"}=e,i=__rest(e,["fullWidth","errorMessage","type","inputActionButton","panel"]);const[u,p]=useState("password"===n);return React.createElement(TextFieldWrapper,{fullWidth:r,type:n},React.createElement(InputWrap,null,React.createElement(StyledInput,Object.assign({fullWidth:r,inputActionButton:l,type:u?"password":"text",inputType:n,ref:t,panel:a},i)),l?React.createElement(InputActionButton,{onClick:l.onClick},l.label):"password"===n?React.createElement(InputActionButton,{onClick:()=>{p(!u)}},u?"show":"hide"):null),o?React.createElement(FormError,null,o):null)}export const TextField=forwardRef(TextFieldComponent);export function FormTextField(e){var{id:t,fieldName:r,defaultValue:o="",rules:n,validateOnBlur:l,validateOnChange:a}=e,i=__rest(e,["id","fieldName","defaultValue","rules","validateOnBlur","validateOnChange"]);const{setValue:u,getFieldState:p,control:c,trigger:d}=useFormContext(),s=e=>{u(r,e.target.value),a&&d(r)},
|
|
78
|
+
`;function TextFieldComponent(e,t){var{fullWidth:r,errorMessage:o,type:n,inputActionButton:l,panel:a="samples"}=e,i=__rest(e,["fullWidth","errorMessage","type","inputActionButton","panel"]);const[u,p]=useState("password"===n);return React.createElement(TextFieldWrapper,{fullWidth:r,type:n},React.createElement(InputWrap,null,React.createElement(StyledInput,Object.assign({fullWidth:r,inputActionButton:l,type:u?"password":"text",inputType:n,ref:t,panel:a},i)),l?React.createElement(InputActionButton,{onClick:l.onClick},l.label):"password"===n?React.createElement(InputActionButton,{onClick:()=>{p(!u)}},u?"show":"hide"):null),o?React.createElement(FormError,null,o):null)}export const TextField=forwardRef(TextFieldComponent);export function FormTextField(e){var{id:t,fieldName:r,defaultValue:o="",rules:n,validateOnBlur:l,validateOnChange:a}=e,i=__rest(e,["id","fieldName","defaultValue","rules","validateOnBlur","validateOnChange"]);const{setValue:u,getFieldState:p,control:c,trigger:d}=useFormContext(),s=e=>{u(r,e.target.value),a&&d(r)},m=()=>{l&&d(r)},{error:v}=p(r);return React.createElement(Controller,{control:c,name:r,defaultValue:o,rules:n,render:({field:{value:e=""}})=>React.createElement(TextField,Object.assign({},i,{id:t||r,name:r,value:isNull(e)?"":e,onChange:s,onBlur:m,errorMessage:null==v?void 0:v.message}))})}const FormDropdownComponent=({fieldName:e,options:t,defaultValue:r,rules:o,validateOnChange:n})=>{const{setValue:l,getFieldState:a,control:i,trigger:u}=useFormContext(),p=t.map(((e,t)=>({value:e.title||e.value,idx:t,origValue:e.value}))),c=useCallback((t=>{l(e,p[t.idx].origValue),n&&u(e)}),[e,p,l,u,n]),{error:d}=a(e);return React.createElement(TextFieldWrapper,{fullWidth:!0},React.createElement(Controller,{control:i,name:e,defaultValue:r,rules:o,render:({field:{value:e}})=>{var t;const r=null===(t=p.find((t=>t.origValue===e)))||void 0===t?void 0:t.value;return React.createElement(Dropdown,{fullWidth:!0,variant:"dark",value:r,options:p,onChange:c})}}),d?React.createElement(FormError,null,d.message):null)};export const FormDropdown=memo(FormDropdownComponent);
|
|
79
79
|
//# sourceMappingURL=TextField.js.map
|
|
@@ -6,7 +6,7 @@ export interface PerfectScrollbarProps {
|
|
|
6
6
|
className?: string;
|
|
7
7
|
updateFn?: (fn: any) => void;
|
|
8
8
|
}
|
|
9
|
-
export declare class PerfectScrollbar extends Component<PerfectScrollbarProps
|
|
9
|
+
export declare class PerfectScrollbar extends Component<PropsWithChildren<PerfectScrollbarProps>> {
|
|
10
10
|
private _container;
|
|
11
11
|
private inst;
|
|
12
12
|
componentDidMount(): void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))};import{execute}from"swagger-client/es/execute/index";import React,{useEffect,useState,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useAtomValue,useAtom}from"jotai";import{useForm,FormProvider}from"react-hook-form";import{dereferenceDefinitionForTryIt}from"./shallowCopyForTryIt";import{unescapeFormId}from"../../../utils/string";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreAtom}from"../../../jotai/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../jotai/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){const l=useForm({defaultValues:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[{activeServer:c},u]=useAtom(operationStore(e.pointer)),[p,m]=useState(0),[d,v]=useState(!1),[y,h]=useState(!1),[f,g]=useState(),[b,S]=useState(),[O,j]=useState(),[C,P]=useState(),R=usePrevious(e),{parser:I,options:T}=useAtomValue(globalStoreAtom);useEffect((()=>{const{unsubscribe:e}=l.watch(((e={})=>{u((t=>Object.assign(Object.assign({},t),{requestValues:JSON.parse(JSON.stringify(e))}))),updateStorage(Object.assign(Object.assign({},e),{query:unescapeQueryParams(e.query||{})}))}));return()=>e()}),[l,u]);const E=useCallback((e=>{m(e)}),[]),A=useCallback((e=>{u((t=>Object.assign(Object.assign({},t),{activeServer:e}))),l.setValue("server",e)}),[u,l]),q=l.handleSubmit((o=>__awaiter(this,void 0,void 0,(function*(){var r,s,n,a,i,l,u,p,d,y,h,g,b;const{servers:O,requestBody:C}=e,R=C&&C.content&&(null===(r=getActiveMediaType(C.content))||void 0===r?void 0:r.name)||"";let I=o.body;if(/json/.test(R))try{I=JSON.parse(I)}catch(e){console.error(e)}v(!0);const E=f,A=(e.httpVerb||"").toLowerCase();if(!O)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const q=O.find((e=>null==c?void 0:c.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),w=Date.now();let F,V=o.auth;if(V){const e=Object.keys(V)[0],t=unescapeFormId(e);F=Object.assign(Object.assign({},E),{components:Object.assign(Object.assign({},null==E?void 0:E.components),{securitySchemes:Object.assign(Object.assign({},null===(s=null==E?void 0:E.components)||void 0===s?void 0:s.securitySchemes),{[t]:Object.assign(Object.assign({},null===(a=null===(n=null==E?void 0:E.components)||void 0===n?void 0:n.securitySchemes)||void 0===a?void 0:a[t]),{type:"openIdConnect"===(null===(u=null===(l=null===(i=null==E?void 0:E.components)||void 0===i?void 0:i.securitySchemes)||void 0===l?void 0:l[t])||void 0===u?void 0:u.type)?"oauth2":(null===(d=null===(p=null==E?void 0:E.components)||void 0===p?void 0:p.securitySchemes)||void 0===d?void 0:d[t]).type})})})}),V=Object.assign(Object.assign({},V),{[t]:V[e]})}else F=Object.assign({},E);F.servers=O;const k=T.corsProxyUrl;k&&O.length&&(F.servers=O.map((e=>Object.assign(Object.assign({},e),{url:k+normalizeUrlProtocol(e.url)}))),F.paths=Object.assign(Object.assign({},F.paths),{[e.path]:Object.assign(Object.assign({},F.paths[e.path]),{[A]:Object.assign(Object.assign({},F.paths[e.path][A]),{servers:void 0}),servers:void 0})}));const x=(null==C?void 0:C.content)&&(null===(y=getActiveMediaType(C.content))||void 0===y?void 0:y.name)||null;if(x&&I&&isFileUploadMime(x)){const e=Object.values(I);I=e.length>1?e:e[0]}const B=unescapeQueryParams(o.query||{}),_={server:k?k+normalizeUrlProtocol(q.url):q.url,serverVariables:getDefaultOrStoredVariables(q),spec:F,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},o.path),B),o.header),o.cookie),securities:{authorized:V},requestBody:I,requestContentType:x,responseContentType:(null===(h=o.header)||void 0===h?void 0:h.Accept)||null,requestInterceptor:makeRequestInterceptor(T,e,null==V?void 0:V.Authorization)};try{const
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))};import{execute}from"swagger-client/es/execute/index";import React,{useEffect,useState,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useAtomValue,useAtom}from"jotai";import{useForm,FormProvider}from"react-hook-form";import{dereferenceDefinitionForTryIt}from"./shallowCopyForTryIt";import{unescapeFormId}from"../../../utils/string";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreAtom}from"../../../jotai/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../jotai/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,mergeExampleBody:n,securityDefaults:a,onClose:i}){const l=useForm({defaultValues:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[{activeServer:c},u]=useAtom(operationStore(e.pointer)),[p,m]=useState(0),[d,v]=useState(!1),[y,h]=useState(!1),[f,g]=useState(),[b,S]=useState(),[O,j]=useState(),[C,P]=useState(),R=usePrevious(e),{parser:I,options:T}=useAtomValue(globalStoreAtom);useEffect((()=>{const{unsubscribe:e}=l.watch(((e={})=>{u((t=>Object.assign(Object.assign({},t),{requestValues:JSON.parse(JSON.stringify(e))}))),updateStorage(Object.assign(Object.assign({},e),{query:unescapeQueryParams(e.query||{})}))}));return()=>e()}),[l,u]);const E=useCallback((e=>{m(e)}),[]),A=useCallback((e=>{u((t=>Object.assign(Object.assign({},t),{activeServer:e}))),l.setValue("server",e)}),[u,l]),q=l.handleSubmit((o=>__awaiter(this,void 0,void 0,(function*(){var r,s,n,a,i,l,u,p,d,y,h,g,b;const{servers:O,requestBody:C}=e,R=C&&C.content&&(null===(r=getActiveMediaType(C.content))||void 0===r?void 0:r.name)||"";let I=o.body;if(/json/.test(R))try{I=JSON.parse(I)}catch(e){console.error(e)}v(!0);const E=f,A=(e.httpVerb||"").toLowerCase();if(!O)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const q=O.find((e=>null==c?void 0:c.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),w=Date.now();let F,V=o.auth;if(V){const e=Object.keys(V)[0],t=unescapeFormId(e);F=Object.assign(Object.assign({},E),{components:Object.assign(Object.assign({},null==E?void 0:E.components),{securitySchemes:Object.assign(Object.assign({},null===(s=null==E?void 0:E.components)||void 0===s?void 0:s.securitySchemes),{[t]:Object.assign(Object.assign({},null===(a=null===(n=null==E?void 0:E.components)||void 0===n?void 0:n.securitySchemes)||void 0===a?void 0:a[t]),{type:"openIdConnect"===(null===(u=null===(l=null===(i=null==E?void 0:E.components)||void 0===i?void 0:i.securitySchemes)||void 0===l?void 0:l[t])||void 0===u?void 0:u.type)?"oauth2":(null===(d=null===(p=null==E?void 0:E.components)||void 0===p?void 0:p.securitySchemes)||void 0===d?void 0:d[t]).type})})})}),V=Object.assign(Object.assign({},V),{[t]:V[e]})}else F=Object.assign({},E);F.servers=O;const k=T.corsProxyUrl;k&&O.length&&(F.servers=O.map((e=>Object.assign(Object.assign({},e),{url:k+normalizeUrlProtocol(e.url)}))),F.paths=Object.assign(Object.assign({},F.paths),{[e.path]:Object.assign(Object.assign({},F.paths[e.path]),{[A]:Object.assign(Object.assign({},F.paths[e.path][A]),{servers:void 0}),servers:void 0})}));const x=(null==C?void 0:C.content)&&(null===(y=getActiveMediaType(C.content))||void 0===y?void 0:y.name)||null;if(x&&I&&isFileUploadMime(x)){const e=Object.values(I);I=e.length>1?e:e[0]}const B=unescapeQueryParams(o.query||{}),_={server:k?k+normalizeUrlProtocol(q.url):q.url,serverVariables:getDefaultOrStoredVariables(q),spec:F,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},o.path),B),o.header),o.cookie),securities:{authorized:V},requestBody:I,requestContentType:x,responseContentType:(null===(h=o.header)||void 0===h?void 0:h.Accept)||null,requestInterceptor:makeRequestInterceptor(T,e,null==V?void 0:V.Authorization)};try{const o=yield execute(_),r=null==o?void 0:o.data;r instanceof Blob&&(isFileUploadMime(r.type)&&(o.fileInfo={rawData:r,fileName:getFileNameFromHeaders(o.headers)}),o.data=yield r.text()),null==t||t({request:_,response:o}),P(o),j(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:_,response:e.response})),P(void 0),j(e)}finally{v(!1),m(1),S(Date.now()-w),null===(b=null===(g=T.events)||void 0===g?void 0:g.tryItSent)||void 0===b||b.call(g,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),(()=>{var t,o;h(!0),setTimeout((()=>h(!1)),1e3),null===(o=null===(t=T.events)||void 0===t?void 0:t.tryItSent)||void 0===o||o.call(t,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}));useMount((()=>__awaiter(this,void 0,void 0,(function*(){const t=yield dereferenceDefinitionForTryIt(e,I.definition);g(t),e.activeServer&&!c&&u((t=>Object.assign(Object.assign({},t),{activeServer:e.activeServer})))})))),useEffect((()=>{R&&R!==e&&(P(void 0),j(void 0),m(0))}),[e,R]);const w=!(!C&&!O),F=l.getValues();return React.createElement(FormProvider,Object.assign({},l),React.createElement(ConsoleWrapper,{shaking:y,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:p,hasResponse:w,onChange:E}),i&&React.createElement(CloseButton,{onClick:i}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==p,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,mergeExampleBody:n,securityDefaults:a,resolvedRawSpec:f,server:c||e.activeServer,onServerChange:A})),React.createElement(ConsoleBody,{hidden:1!==p,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:C,error:O,time:b})),React.createElement(ActionPanel,{hasResponse:w,params:F,operation:e,loading:d,onSubmit:q})))}export const Console=memo(ConsoleComponent);
|
|
2
2
|
//# sourceMappingURL=Console.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useCallback,useMemo}from"react";import{useFormContext}from"react-hook-form";import{isRootFileUpload}from"../../common/FileUpload/helper";import{MediaTypes}from"../../../constants";import{ExampleSwitch,useExampleKey}from"../../Samples";import{fromSessionStorage,toSessionStorage}from"../../../utils";import{encodeSample,getStorageExampleKey}from"../utils";import{RequestBodyForm}from"../RequestBodyForm";import{CodemirrorInput}from"../CodemirrorInput";import{useActivateExample}from"../../../hooks";function BodyComponent({mediaType:e,mediaContent:o,properties:t,id:a,resolvedBody:m,getActiveSample:r,validate:l}){const{setValue:n}=useFormContext(),i=useActivateExample(o),p=e.examples||{},s=Object.keys(p),d=e.schema,c=isRootFileUpload(d||{},e.name)||e.name===MediaTypes.MULTIPART||e.name===MediaTypes.URL_ENCODED,{exampleKey:u}=useExampleKey(e.operation,p),y=fromSessionStorage(getStorageExampleKey(a,e.name,u,p))||encodeSample(p[u],t),g=useCallback(((e="",o="",t
|
|
1
|
+
import React,{memo,useCallback,useMemo}from"react";import{useFormContext}from"react-hook-form";import{isRootFileUpload}from"../../common/FileUpload/helper";import{MediaTypes}from"../../../constants";import{ExampleSwitch,useExampleKey}from"../../Samples";import{fromSessionStorage,toSessionStorage}from"../../../utils";import{encodeSample,getStorageExampleKey}from"../utils";import{RequestBodyForm}from"../RequestBodyForm";import{CodemirrorInput}from"../CodemirrorInput";import{useActivateExample}from"../../../hooks";function BodyComponent({mediaType:e,mediaContent:o,properties:t,id:a,resolvedBody:m,getActiveSample:r,validate:l}){const{setValue:n}=useFormContext(),i=useActivateExample(o),p=e.examples||{},s=Object.keys(p),d=e.schema,c=isRootFileUpload(d||{},e.name)||e.name===MediaTypes.MULTIPART||e.name===MediaTypes.URL_ENCODED,{exampleKey:u}=useExampleKey(e.operation,p),y=fromSessionStorage(getStorageExampleKey(a,e.name,u,p))||encodeSample(p[u],t),g=useCallback(((e="",o="",t)=>m=>{toSessionStorage(getStorageExampleKey(a,e,o,t),m)}),[a]),S=useCallback((e=>{null==i||i(e),n("body",r(e))}),[n,r,i]),f=useCallback(((e,o)=>{n(`body.${e}`,o)}),[n]),x=useMemo((()=>((null==m?void 0:m.content[e.name])||{}).schema),[e.name,null==m?void 0:m.content]);return React.createElement(React.Fragment,null,s.length&&1!==s.length&&React.createElement(ExampleSwitch,{examples:p,onChange:S,exampleKey:u,panel:"try-it"})||null,c?React.createElement(RequestBodyForm,{mediaType:e,onChange:f}):React.createElement(CodemirrorInput,{id:"body"+a,fieldName:"body",defaultValue:y,schema:x,mode:e.name,validate:l,onChange:g(e.name,u,p)}))}export const Body=memo(BodyComponent);
|
|
2
2
|
//# sourceMappingURL=Body.js.map
|
|
@@ -5,7 +5,9 @@ interface RouterProps {
|
|
|
5
5
|
location?: string;
|
|
6
6
|
}
|
|
7
7
|
export declare const useRouter: (router: RouterType, basePath: string) => {
|
|
8
|
-
Router: React.ComponentType<{
|
|
8
|
+
Router: React.ComponentType<{
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}>;
|
|
9
11
|
routerProps: RouterProps;
|
|
10
12
|
};
|
|
11
13
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{deleteEmptyArrayItem,isArrayOfObjects,serializeParameterValue,getSecurityDetails,getParameterValue,queryString}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{l}from"../labels";import{HTTPSnippet}from"./httpsnippet";import StringUtility from"./httpsnippet/helpers/string-utility";import{getActiveMediaType}from"../../models/mediaContent";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:o={}},{activeServer:l,requestValues:u}){var p,c,d,m;const{securityHeaders:h,securityCookies:y,securityQueries:
|
|
1
|
+
import*as Sampler from"openapi-sampler";import merge from"deepmerge";import{deleteEmptyArrayItem,isArrayOfObjects,serializeParameterValue,getSecurityDetails,getParameterValue,queryString}from"../../utils";import{normalizeMimeType,arrayMergeStrategy}from"../utils";import{MediaTypes}from"../../constants";import{l}from"../labels";import{HTTPSnippet}from"./httpsnippet";import StringUtility from"./httpsnippet/helpers/string-utility";import{getActiveMediaType}from"../../models/mediaContent";function mapOperationToHAR(e,{exampleName:t="",skipOptionalParameters:a=!1,withOAuth2Call:r=!1,spec:i,generatedPayloadSamplesMaxDepth:s=8,pathParams:n={},properties:o={}},{activeServer:l,requestValues:u}){var p,c,d,m;const{securityHeaders:h,securityCookies:y,securityQueries:f,securityOAuth2ExtraCalls:v,basicAuth:g}=getSecurityData(null===(p=e.security)||void 0===p?void 0:p[0],r),O=(null===(c=null==e?void 0:e.requestBody)||void 0===c?void 0:c.content)&&getActiveMediaType(e.requestBody.content),T={skipNonRequired:a,skipReadOnly:!0,maxSampleDepth:s},S={path:null==u?void 0:u.path,cookie:null==u?void 0:u.cookie,header:null==u?void 0:u.header,query:null==u?void 0:u.query,body:null==u?void 0:u.body};let C=!1;const b=e.parameters.filter((e=>"header"===e.in)).filter((e=>!(a&&!e.required))).map((e=>{var t;return{name:e.name,value:(null===(t=S.header)||void 0===t?void 0:t[e.name])||getParameterValue("header",e.name)||serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))}})).map((e=>((null==O?void 0:O.name)&&"content-type"===e.name.toLowerCase()&&(C=!0,e.value=O.name),e))).concat(h);!C&&(null==O?void 0:O.name)&&b.unshift({name:"Content-Type",value:null==O?void 0:O.name});const E=e.parameters.filter((e=>"cookie"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))))).reduce(((e,t)=>{var a;for(const[r,i]of Object.entries(t))e.push({name:r,value:String((null===(a=S.cookie)||void 0===a?void 0:a[r])||i)});return e}),[]).concat(y),A=e.parameters.filter((e=>"query"===e.in)).filter((e=>!(a&&!e.required))).map((e=>queryString.parse(serializeParameterValue(e,Sampler.sample(e.schema.rawSchema,T,i))))).reduce(((e,t)=>{var a,r,i;for(const[s,n]of Object.entries(t))e.push({name:s,value:isArrayOfObjects(null===(a=S.query)||void 0===a?void 0:a[s])&&JSON.stringify(deleteEmptyArrayItem(null===(r=S.query)||void 0===r?void 0:r[s]))||String((null===(i=S.query)||void 0===i?void 0:i[s])||n)});return e}),[]).concat(f),_=`${null===(d=l||e.activeServer)||void 0===d?void 0:d.url.replace(/\/$/,"")}/${e.path.replace(/^\//,"")}`,P=e.parameters.filter((e=>"path"===e.in)).reduce(((e,t)=>{var a;const{in:r,name:i}=t;return e[i]=(null===(a=S.path)||void 0===a?void 0:a[i])||n[i]||getParameterValue(r,i),e}),{}),w=null===(m=null==O?void 0:O.examples)||void 0===m?void 0:m[t],R=(null==O?void 0:O.examples)||{},[j]=Object.values(R),D=S.body||(null==w?void 0:w.value)||(null==j?void 0:j.value)||(null==O?void 0:O.schema)&&Sampler.sample(null==O?void 0:O.schema.rawSchema,T,i),k=null==O?void 0:O.name.toLowerCase();let q="",M=[];switch(normalizeMimeType(k)){case MediaTypes.JSON:q=JSON.stringify(getDataRequest(D,o));break;case MediaTypes.URL_ENCODED:case MediaTypes.MULTIPART:q=queryString.stringify(getDataRequest(D,o)),M=objectToHarParams(getDataRequest(D,o));break;default:q=String(D||"")}const N=q?{mimeType:(null==O?void 0:O.name)||MediaTypes.OCTET_STREAM,text:q,params:M}:void 0,H=e.responses.map((e=>e.code));return{method:e.httpVerb,url:_,httpVersion:"HTTP/1.1",cookies:E,headers:b,queryString:A,postData:N,headersSize:-1,bodySize:-1,securityOAuth2ExtraCalls:v,basicAuth:g,pathParameters:P,serverVariables:(null==l?void 0:l.variables)||e.activeServer.variables,allResponseCodes:H}}const defaultOptions={withImports:!0,withComments:!1},langToSnippetConfig={curl:{code:"shell",defaultTarget:"curl",defaultOptions:Object.assign(Object.assign({},defaultOptions),{short:!0})},JavaScript:{code:"javascript",defaultTarget:"fetch",defaultOptions:Object.assign(Object.assign({},defaultOptions),{withImports:!1})},"Node.js":{code:"node",defaultTarget:"fetch",defaultOptions:Object.assign({},defaultOptions)},Python:{code:"python",defaultTarget:"requests",defaultOptions:Object.assign({},defaultOptions)},"Java8+Apache":{code:"java8",defaultTarget:"apachehttp",defaultOptions:Object.assign({},defaultOptions)},Java:{code:"java",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#":{code:"csharp",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},"C#+Newtonsoft":{code:"csharpNewtonsoft",defaultTarget:"httpclient",defaultOptions:Object.assign({},defaultOptions)},Go:{code:"go",defaultTarget:"http.DefaultClient",defaultOptions:Object.assign({},defaultOptions)},PHP:{code:"php",defaultTarget:"curl",defaultOptions:Object.assign({},defaultOptions)},Ruby:{code:"ruby",defaultTarget:"net::http",defaultOptions:Object.assign({},defaultOptions)},R:{code:"r",defaultTarget:"httr",defaultOptions:Object.assign({},defaultOptions)}};export function getCodeSample({lang:e,operation:t,exampleName:a,pathParams:r,properties:i,options:s={}}){try{const{skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u,store:p}=s,c=mapOperationToHAR(t,{exampleName:a,pathParams:r,properties:i,skipOptionalParameters:n,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:u},p),d=new HTTPSnippet(c);return langToSnippetConfig[e]?d.convert(langToSnippetConfig[e].code,langToSnippetConfig[e].defaultTarget,Object.assign(Object.assign({},langToSnippetConfig[e].defaultOptions),s)):"Language is not supported."}catch(e){return console.error(e),"Failed to generate code sample."}}function getSecurityData(e,t){var a,r,i,s;const n={securityHeaders:[],securityCookies:[],securityQueries:[],securityOAuth2ExtraCalls:[],basicAuth:void 0};for(const o of(null==e?void 0:e.schemes)||[]){const e=getSecurityDetails(o.id);switch(o.type){case"openIdConnect":null===(a=n.securityHeaders)||void 0===a||a.push({name:"Authorization",value:"Bearer <YOUR_TOKEN_HERE>"});break;case"oauth2":{const a=e.token?`${e.token.token_type||"Bearer"} ${e.token.access_token}`:"Bearer <YOUR_TOKEN_HERE>";o.flows.clientCredentials&&t?n.securityOAuth2ExtraCalls.push(getOAuth2ClientCredsCallHar(o.flows.clientCredentials,o.scopes,e)):o.flows.password&&t&&n.securityOAuth2ExtraCalls.push(getOAuth2PasswordCallHar(o.flows.password,o.scopes,e)),null===(r=n.securityHeaders)||void 0===r||r.push({name:"Authorization",value:a});break}case"apiKey":{const t=e.raw||"YOUR_API_KEY_HERE";"header"===o.in&&(null===(i=n.securityHeaders)||void 0===i||i.push({name:o.name,value:t})),"cookie"===o.in&&n.securityCookies.push({name:o.name,value:t}),"query"===o.in&&n.securityQueries.push({name:o.name,value:t});break}case"http":"basic"===o.scheme?n.basicAuth={username:e.username||`<${StringUtility.toSnakeCase(l("tryItAuthBasicUsername"))}>`,password:e.password||`<${StringUtility.toSnakeCase(l("tryItAuthBasicPassword"))}>`}:null===(s=n.securityHeaders)||void 0===s||s.push({name:"Authorization",value:`${capitalizeFirst(o.scheme||"bearer")} <YOUR_${o.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:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,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:MediaTypes.URL_ENCODED},{name:"Accept",value:MediaTypes.JSON}],queryString:[],postData:{mimeType:MediaTypes.URL_ENCODED,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 getDataRequest(e,t){if(e){if("object"==typeof e)return merge(e,t,{arrayMerge:arrayMergeStrategy});try{return merge(JSON.parse(e),t,{arrayMerge:arrayMergeStrategy})}catch(e){return!1}}return!1}function objectToHarParams(e){const t=[];for(const[a,r]of Object.entries(e))t.push({name:a,value:String(r)});return t}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
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as util from"util";import{Lang,NamingVariableConventions,VariableType}from"./constants";import StringUtility from"./string-utility";const langToVarNameConvention={[Lang.NODEJS]:NamingVariableConventions.CAMEL_CASE,[Lang.JAVASCRIPT]:NamingVariableConventions.CAMEL_CASE,[Lang.PYTHON]:NamingVariableConventions.UNDER_SCORES,[Lang.JAVA8]:NamingVariableConventions.CAMEL_CASE,[Lang.JAVA]:NamingVariableConventions.CAMEL_CASE,[Lang.CSHARP]:NamingVariableConventions.PASCAL_CASE,[Lang.CURL]:NamingVariableConventions.CAMEL_CASE,[Lang.GO]:NamingVariableConventions.CAMEL_CASE,[Lang.PHP]:NamingVariableConventions.CAMEL_CASE,[Lang.RUBY]:NamingVariableConventions.UNDER_SCORES,[Lang.R]:NamingVariableConventions.UNDER_SCORES},langOptions={default:{joinSymbol:"",variableWrapperFn:a=>a,stringLiteral:a=>a,variableDeclaration:a=>a,urlFieldName:"url"},[Lang.CSHARP]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`var ${a} = "%s";`,urlFieldName:"fullUrl"},[Lang.GO]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`${a} := "%s";`},[Lang.JAVA]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`var ${a} = "%s";`,urlFieldName:"pathname"},[Lang.JAVA8]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`String ${a} = "%s";`,urlFieldName:"fullUrl"},[Lang.JAVASCRIPT]:{variableWrapperFn:a=>"${"+a+"}",variableDeclaration:a=>`const ${a} = '%s';`},[Lang.NODEJS]:{variableWrapperFn:a=>"${"+a+"}",variableDeclaration:a=>`const ${a} = '%s';`},[Lang.PHP]:{joinSymbol:" . ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`const ${a} = "%s";`},[Lang.PYTHON]:{stringLiteral:a=>`"${a}"`,joinSymbol:" + ",variableDeclaration:a=>`${a} = "%s"`},[Lang.RUBY]:{joinSymbol:" + ",stringLiteral:a=>`'${a}'`,variableDeclaration:a=>`${a} = '%s'`},[Lang.CURL]:{variableWrapperFn:(a,i)=>i||`{${a}}`,urlFieldName:"fullUrl",rawName:!0},[Lang.R]:{joinSymbol:" %&% ",variableDeclaration:a=>`${a} = "%s"`,urlFieldName:"fullUrl",stringLiteral:a=>`"${a}"`,variableWrapperFn:a=>`${a}`}},reservedVariableNames=["response","request","requests","data","url","payload","main","accessToken","resp","Program","client","postData","App","httpClient","params","pathname","host","body","fetch","query"];export class CodeBuilder{constructor({indentation:a,lineJoin:i="\n",variablesPrefix:e="",capitalize:n=!1,lang:
|
|
1
|
+
import*as util from"util";import{Lang,NamingVariableConventions,VariableType}from"./constants";import StringUtility from"./string-utility";const langToVarNameConvention={[Lang.NODEJS]:NamingVariableConventions.CAMEL_CASE,[Lang.JAVASCRIPT]:NamingVariableConventions.CAMEL_CASE,[Lang.PYTHON]:NamingVariableConventions.UNDER_SCORES,[Lang.JAVA8]:NamingVariableConventions.CAMEL_CASE,[Lang.JAVA]:NamingVariableConventions.CAMEL_CASE,[Lang.CSHARP]:NamingVariableConventions.PASCAL_CASE,[Lang.CSHARPNEWTONSOFT]:NamingVariableConventions.PASCAL_CASE,[Lang.CURL]:NamingVariableConventions.CAMEL_CASE,[Lang.GO]:NamingVariableConventions.CAMEL_CASE,[Lang.PHP]:NamingVariableConventions.CAMEL_CASE,[Lang.RUBY]:NamingVariableConventions.UNDER_SCORES,[Lang.R]:NamingVariableConventions.UNDER_SCORES},langOptions={default:{joinSymbol:"",variableWrapperFn:a=>a,stringLiteral:a=>a,variableDeclaration:a=>a,urlFieldName:"url"},[Lang.CSHARP]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`var ${a} = "%s";`,urlFieldName:"fullUrl"},[Lang.CSHARPNEWTONSOFT]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`var ${a} = "%s";`,urlFieldName:"fullUrl"},[Lang.GO]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`${a} := "%s";`},[Lang.JAVA]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`var ${a} = "%s";`,urlFieldName:"pathname"},[Lang.JAVA8]:{joinSymbol:" + ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`String ${a} = "%s";`,urlFieldName:"fullUrl"},[Lang.JAVASCRIPT]:{variableWrapperFn:a=>"${"+a+"}",variableDeclaration:a=>`const ${a} = '%s';`},[Lang.NODEJS]:{variableWrapperFn:a=>"${"+a+"}",variableDeclaration:a=>`const ${a} = '%s';`},[Lang.PHP]:{joinSymbol:" . ",stringLiteral:a=>`"${a}"`,variableDeclaration:a=>`const ${a} = "%s";`},[Lang.PYTHON]:{stringLiteral:a=>`"${a}"`,joinSymbol:" + ",variableDeclaration:a=>`${a} = "%s"`},[Lang.RUBY]:{joinSymbol:" + ",stringLiteral:a=>`'${a}'`,variableDeclaration:a=>`${a} = '%s'`},[Lang.CURL]:{variableWrapperFn:(a,i)=>i||`{${a}}`,urlFieldName:"fullUrl",rawName:!0},[Lang.R]:{joinSymbol:" %&% ",variableDeclaration:a=>`${a} = "%s"`,urlFieldName:"fullUrl",stringLiteral:a=>`"${a}"`,variableWrapperFn:a=>`${a}`}},reservedVariableNames=["response","request","requests","data","url","payload","main","accessToken","resp","Program","client","postData","App","httpClient","params","pathname","host","body","fetch","query"];export class CodeBuilder{constructor({indentation:a,lineJoin:i="\n",variablesPrefix:e="",capitalize:n=!1,lang:r=Lang.CURL}){Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"indentation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"variablesPrefix",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lineJoin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"capitalize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lang",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"langOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=[],this.indentation=a,this.variablesPrefix=e,this.lineJoin=i||"\n",this.capitalize=n,this.lang=r,this.langOptions=Object.assign(Object.assign({},langOptions.default),langOptions[r])}buildLine(a,i){let e="",n=2;if("string"==typeof a)n=1,i=a,a=0;else if(null===a)return null;for(;a;)e+=this.indentation,a--;const r=Array.prototype.slice.call(arguments,n,arguments.length);return r.unshift(e+i),util.format.apply(this,r)}unshift(...a){return this.code.unshift(this.buildLine.apply(this,a)),this}push(...a){return this.code.push(this.buildLine.apply(this,a)),this}blank(){return this.code.push(null),this}join(){return this.code.join(this.lineJoin)}clean(){this.code.splice(1)}var(a,i=VariableType.CUSTOM){if(i===VariableType.PATH){let i=this.variablesPrefix+a;switch(reservedVariableNames.includes(i)&&(i=`${i}_path`),langToVarNameConvention[this.lang]){case NamingVariableConventions.UNDER_SCORES:i=StringUtility.toSnakeCase(i);break;case NamingVariableConventions.PASCAL_CASE:i=StringUtility.toPascalCase(i);break;case NamingVariableConventions.CAMEL_CASE:default:i=StringUtility.toCamelCase(i)}return i}return this.variablesPrefix?this.variablesPrefix+(this.capitalize?StringUtility.toPascalCase(a):a):a}}
|
|
2
2
|
//# sourceMappingURL=code-builder.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var Lang;!function(a){a.NODEJS="Node.js",a.JAVASCRIPT="javascript",a.PYTHON="Python",a.JAVA8="Java8+Apache",a.JAVA="Java",a.CSHARP="C#",a.CURL="curl",a.GO="Go",a.PHP="PHP",a.RUBY="Ruby",a.R="R"}(Lang||(Lang={}));export var NamingVariableConventions;!function(a){a.UNDER_SCORES="under_scores",a.CAMEL_CASE="camelCase",a.PASCAL_CASE="PascalCase"}(NamingVariableConventions||(NamingVariableConventions={}));export var VariableType;!function(a){a.IMPORT="import",a.CUSTOM="custom",a.PATH="path"}(VariableType||(VariableType={}));
|
|
1
|
+
export var Lang;!function(a){a.NODEJS="Node.js",a.JAVASCRIPT="javascript",a.PYTHON="Python",a.JAVA8="Java8+Apache",a.JAVA="Java",a.CSHARP="C#",a.CSHARPNEWTONSOFT="C#+Newtonsoft",a.CURL="curl",a.GO="Go",a.PHP="PHP",a.RUBY="Ruby",a.R="R"}(Lang||(Lang={}));export var NamingVariableConventions;!function(a){a.UNDER_SCORES="under_scores",a.CAMEL_CASE="camelCase",a.PASCAL_CASE="PascalCase"}(NamingVariableConventions||(NamingVariableConventions={}));export var VariableType;!function(a){a.IMPORT="import",a.CUSTOM="custom",a.PATH="path"}(VariableType||(VariableType={}));
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -6,6 +6,7 @@ export declare const printUrlVariablesDeclarationsOutput: {
|
|
|
6
6
|
'Java8+Apache': string;
|
|
7
7
|
Java: string;
|
|
8
8
|
'C#': string;
|
|
9
|
+
'C#+Newtonsoft': string;
|
|
9
10
|
curl: string;
|
|
10
11
|
Go: string;
|
|
11
12
|
PHP: string;
|
|
@@ -20,6 +21,7 @@ export declare const buildUrlExpressionData: {
|
|
|
20
21
|
'Java8+Apache': string;
|
|
21
22
|
Java: string;
|
|
22
23
|
'C#': string;
|
|
24
|
+
'C#+Newtonsoft': string;
|
|
23
25
|
curl: string;
|
|
24
26
|
Go: string;
|
|
25
27
|
PHP: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const commonVariablesInput={pathParameters:{pathParam1:"pathParam1Value",pathParam2:"pathParam2Value"},serverVariables:{serverVariable1:"serverVariable1Value",serverVariable2:"serverVariable2Value"}};export const printUrlVariablesDeclarationsOutput={"Node.js":"const variablesPrefixpathParam1 = 'pathParam1Value';\nconst variablesPrefixpathParam2 = 'pathParam2Value';\nconst variablesPrefixserverVariable1 = 'serverVariable1Value';\nconst variablesPrefixserverVariable2 = 'serverVariable2Value';",javascript:"const variablesPrefixpathParam1 = 'pathParam1Value';\nconst variablesPrefixpathParam2 = 'pathParam2Value';\nconst variablesPrefixserverVariable1 = 'serverVariable1Value';\nconst variablesPrefixserverVariable2 = 'serverVariable2Value';",Python:'variables_prefixpath_param_1 = "pathParam1Value"\nvariables_prefixpath_param_2 = "pathParam2Value"\nvariables_prefixserver_variable_1 = "serverVariable1Value"\nvariables_prefixserver_variable_2 = "serverVariable2Value"',"Java8+Apache":'String variablesPrefixpathParam1 = "pathParam1Value";\nString variablesPrefixpathParam2 = "pathParam2Value";\nString variablesPrefixserverVariable1 = "serverVariable1Value";\nString variablesPrefixserverVariable2 = "serverVariable2Value";',Java:'var variablesPrefixpathParam1 = "pathParam1Value";\nvar variablesPrefixpathParam2 = "pathParam2Value";\nvar variablesPrefixserverVariable1 = "serverVariable1Value";\nvar variablesPrefixserverVariable2 = "serverVariable2Value";',"C#":'var VariablesPrefixpathParam1 = "pathParam1Value";\nvar VariablesPrefixpathParam2 = "pathParam2Value";\nvar VariablesPrefixserverVariable1 = "serverVariable1Value";\nvar VariablesPrefixserverVariable2 = "serverVariable2Value";',curl:"variablesPrefixpathParam1 pathParam1Value\nvariablesPrefixpathParam2 pathParam2Value\nvariablesPrefixserverVariable1 serverVariable1Value\nvariablesPrefixserverVariable2 serverVariable2Value",Go:'variablesPrefixpathParam1 := "pathParam1Value";\nvariablesPrefixpathParam2 := "pathParam2Value";\nvariablesPrefixserverVariable1 := "serverVariable1Value";\nvariablesPrefixserverVariable2 := "serverVariable2Value";',PHP:'const variablesPrefixpathParam1 = "pathParam1Value";\nconst variablesPrefixpathParam2 = "pathParam2Value";\nconst variablesPrefixserverVariable1 = "serverVariable1Value";\nconst variablesPrefixserverVariable2 = "serverVariable2Value";',Ruby:"variables_prefixpath_param_1 = 'pathParam1Value'\nvariables_prefixpath_param_2 = 'pathParam2Value'\nvariables_prefixserver_variable_1 = 'serverVariable1Value'\nvariables_prefixserver_variable_2 = 'serverVariable2Value'",R:'variables_prefixpath_param_1 = "pathParam1Value"\nvariables_prefixpath_param_2 = "pathParam2Value"\nvariables_prefixserver_variable_1 = "serverVariable1Value"\nvariables_prefixserver_variable_2 = "serverVariable2Value"'};export const buildUrlExpressionCases={};export const buildUrlExpressionData={"Node.js":"http://acme.com/${variablesPrefixpathParam1}/${variablesPrefixpathParam2}/${variablesPrefixserverVariable1}/${variablesPrefixserverVariable2}",javascript:"http://acme.com/${variablesPrefixpathParam1}/${variablesPrefixpathParam2}/${variablesPrefixserverVariable1}/${variablesPrefixserverVariable2}",Python:'"http://acme.com/" + variables_prefixpath_param_1 + "/" + variables_prefixpath_param_2 + "/" + variables_prefixserver_variable_1 + "/" + variables_prefixserver_variable_2',"Java8+Apache":'"http://acme.com/" + variablesPrefixpathParam1 + "/" + variablesPrefixpathParam2 + "/" + variablesPrefixserverVariable1 + "/" + variablesPrefixserverVariable2',Java:'"http://acme.com/" + variablesPrefixpathParam1 + "/" + variablesPrefixpathParam2 + "/" + variablesPrefixserverVariable1 + "/" + variablesPrefixserverVariable2',"C#":'"http://acme.com/" + VariablesPrefixpathParam1 + "/" + VariablesPrefixpathParam2 + "/" + VariablesPrefixserverVariable1 + "/" + VariablesPrefixserverVariable2',curl:"http://acme.com/pathParam1Value/pathParam2Value/serverVariable1Value/serverVariable2Value",Go:'"http://acme.com/" + variablesPrefixpathParam1 + "/" + variablesPrefixpathParam2 + "/" + variablesPrefixserverVariable1 + "/" + variablesPrefixserverVariable2',PHP:'"http://acme.com/" . variablesPrefixpathParam1 . "/" . variablesPrefixpathParam2 . "/" . variablesPrefixserverVariable1 . "/" . variablesPrefixserverVariable2',Ruby:"'http://acme.com/' + variables_prefixpath_param_1 + '/' + variables_prefixpath_param_2 + '/' + variables_prefixserver_variable_1 + '/' + variables_prefixserver_variable_2",R:'"http://acme.com/" %&% variables_prefixpath_param_1 %&% "/" %&% variables_prefixpath_param_2 %&% "/" %&% variables_prefixserver_variable_1 %&% "/" %&% variables_prefixserver_variable_2'};
|
|
1
|
+
export const commonVariablesInput={pathParameters:{pathParam1:"pathParam1Value",pathParam2:"pathParam2Value"},serverVariables:{serverVariable1:"serverVariable1Value",serverVariable2:"serverVariable2Value"}};export const printUrlVariablesDeclarationsOutput={"Node.js":"const variablesPrefixpathParam1 = 'pathParam1Value';\nconst variablesPrefixpathParam2 = 'pathParam2Value';\nconst variablesPrefixserverVariable1 = 'serverVariable1Value';\nconst variablesPrefixserverVariable2 = 'serverVariable2Value';",javascript:"const variablesPrefixpathParam1 = 'pathParam1Value';\nconst variablesPrefixpathParam2 = 'pathParam2Value';\nconst variablesPrefixserverVariable1 = 'serverVariable1Value';\nconst variablesPrefixserverVariable2 = 'serverVariable2Value';",Python:'variables_prefixpath_param_1 = "pathParam1Value"\nvariables_prefixpath_param_2 = "pathParam2Value"\nvariables_prefixserver_variable_1 = "serverVariable1Value"\nvariables_prefixserver_variable_2 = "serverVariable2Value"',"Java8+Apache":'String variablesPrefixpathParam1 = "pathParam1Value";\nString variablesPrefixpathParam2 = "pathParam2Value";\nString variablesPrefixserverVariable1 = "serverVariable1Value";\nString variablesPrefixserverVariable2 = "serverVariable2Value";',Java:'var variablesPrefixpathParam1 = "pathParam1Value";\nvar variablesPrefixpathParam2 = "pathParam2Value";\nvar variablesPrefixserverVariable1 = "serverVariable1Value";\nvar variablesPrefixserverVariable2 = "serverVariable2Value";',"C#":'var VariablesPrefixpathParam1 = "pathParam1Value";\nvar VariablesPrefixpathParam2 = "pathParam2Value";\nvar VariablesPrefixserverVariable1 = "serverVariable1Value";\nvar VariablesPrefixserverVariable2 = "serverVariable2Value";',"C#+Newtonsoft":'var VariablesPrefixpathParam1 = "pathParam1Value";\nvar VariablesPrefixpathParam2 = "pathParam2Value";\nvar VariablesPrefixserverVariable1 = "serverVariable1Value";\nvar VariablesPrefixserverVariable2 = "serverVariable2Value";',curl:"variablesPrefixpathParam1 pathParam1Value\nvariablesPrefixpathParam2 pathParam2Value\nvariablesPrefixserverVariable1 serverVariable1Value\nvariablesPrefixserverVariable2 serverVariable2Value",Go:'variablesPrefixpathParam1 := "pathParam1Value";\nvariablesPrefixpathParam2 := "pathParam2Value";\nvariablesPrefixserverVariable1 := "serverVariable1Value";\nvariablesPrefixserverVariable2 := "serverVariable2Value";',PHP:'const variablesPrefixpathParam1 = "pathParam1Value";\nconst variablesPrefixpathParam2 = "pathParam2Value";\nconst variablesPrefixserverVariable1 = "serverVariable1Value";\nconst variablesPrefixserverVariable2 = "serverVariable2Value";',Ruby:"variables_prefixpath_param_1 = 'pathParam1Value'\nvariables_prefixpath_param_2 = 'pathParam2Value'\nvariables_prefixserver_variable_1 = 'serverVariable1Value'\nvariables_prefixserver_variable_2 = 'serverVariable2Value'",R:'variables_prefixpath_param_1 = "pathParam1Value"\nvariables_prefixpath_param_2 = "pathParam2Value"\nvariables_prefixserver_variable_1 = "serverVariable1Value"\nvariables_prefixserver_variable_2 = "serverVariable2Value"'};export const buildUrlExpressionCases={};export const buildUrlExpressionData={"Node.js":"http://acme.com/${variablesPrefixpathParam1}/${variablesPrefixpathParam2}/${variablesPrefixserverVariable1}/${variablesPrefixserverVariable2}",javascript:"http://acme.com/${variablesPrefixpathParam1}/${variablesPrefixpathParam2}/${variablesPrefixserverVariable1}/${variablesPrefixserverVariable2}",Python:'"http://acme.com/" + variables_prefixpath_param_1 + "/" + variables_prefixpath_param_2 + "/" + variables_prefixserver_variable_1 + "/" + variables_prefixserver_variable_2',"Java8+Apache":'"http://acme.com/" + variablesPrefixpathParam1 + "/" + variablesPrefixpathParam2 + "/" + variablesPrefixserverVariable1 + "/" + variablesPrefixserverVariable2',Java:'"http://acme.com/" + variablesPrefixpathParam1 + "/" + variablesPrefixpathParam2 + "/" + variablesPrefixserverVariable1 + "/" + variablesPrefixserverVariable2',"C#":'"http://acme.com/" + VariablesPrefixpathParam1 + "/" + VariablesPrefixpathParam2 + "/" + VariablesPrefixserverVariable1 + "/" + VariablesPrefixserverVariable2',"C#+Newtonsoft":'"http://acme.com/" + VariablesPrefixpathParam1 + "/" + VariablesPrefixpathParam2 + "/" + VariablesPrefixserverVariable1 + "/" + VariablesPrefixserverVariable2',curl:"http://acme.com/pathParam1Value/pathParam2Value/serverVariable1Value/serverVariable2Value",Go:'"http://acme.com/" + variablesPrefixpathParam1 + "/" + variablesPrefixpathParam2 + "/" + variablesPrefixserverVariable1 + "/" + variablesPrefixserverVariable2',PHP:'"http://acme.com/" . variablesPrefixpathParam1 . "/" . variablesPrefixpathParam2 . "/" . variablesPrefixserverVariable1 . "/" . variablesPrefixserverVariable2',Ruby:"'http://acme.com/' + variables_prefixpath_param_1 + '/' + variables_prefixpath_param_2 + '/' + variables_prefixserver_variable_1 + '/' + variables_prefixserver_variable_2",R:'"http://acme.com/" %&% variables_prefixpath_param_1 %&% "/" %&% variables_prefixpath_param_2 %&% "/" %&% variables_prefixserver_variable_1 %&% "/" %&% variables_prefixserver_variable_2'};
|
|
2
2
|
//# sourceMappingURL=code-helpers-mock.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{CodeBuilder}from"../../helpers/code-builder";import{HTTPSnippet}from"../..";import{buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{isEmptyObject,normalizeMimeType}from"../../../../utils";import{capitalizeFirst}from"../../../generator";import{Lang}from"../../helpers/constants";import{MediaTypes}from"../../../../../constants";import{checkIfIsObject,isLastInArray,isLastProperty}from"../../../../../utils";const handler=function(t,e,{target:s,client:a}){var n,i,r,o;const p=Object.assign({indent:" ",withWrapper:!0},e),u=new CodeBuilder({indentation:p.indent,variablesPrefix:p.variablesPrefix,capitalize:!0,lang:Lang.CSHARP}),l=formatHttpMethod(t.method);if(p.withComments&&addComments(u),p.withWrapper&&(u.push("using System;"),u.push("using System.Net.Http;"),u.push("using System.Threading.Tasks;"),(h(MediaTypes.JSON)||h(MediaTypes.XML)||t.basicAuth)&&u.push("using System.Text;"),(h(MediaTypes.URL_ENCODED)||(null===(n=t.securityOAuth2ExtraCalls)||void 0===n?void 0:n.length))&&u.push("using System.Collections.Generic;"),(h(MediaTypes.JSON)||(null===(i=t.securityOAuth2ExtraCalls)||void 0===i?void 0:i.length))&&u.push("using System.Text.Json;"),m()&&u.push("using System.IO;"),(m()||t.basicAuth)&&u.push("using System.Net.Http.Headers;"),u.blank(),u.push("public class Program"),u.push("{"),u.push(1,"public static async Task Main()"),u.push(1,"{")),null===(r=t.securityOAuth2ExtraCalls)||void 0===r?void 0:r.length){const e=new HTTPSnippet(null===(o=t.securityOAuth2ExtraCalls)||void 0===o?void 0:o[0]).convert(s,a,Object.assign(Object.assign({},p),{withImports:!1,withWrapper:!1,withComments:!1,variablesPrefix:"oauth2"}));u.push(e),u.push(2,"var oauth2Response = await oauth2Request.Content.ReadAsStringAsync();"),u.push(2,"JObject inputJObject = JObject.Parse(oauth2Response);"),u.push(2,'var accessToken = inputJObject["access_token"].ToString();'),u.blank()}const c=Object.keys(t.allHeaders).filter((t=>{switch(t.toLowerCase()){case"content-type":case"content-length":case"accept-encoding":return!1;default:return!0}}));if(c.length?(u.push(2,"System.Net.Http.HttpClient client = new()"),u.push(2,"{"),u.push(3,"DefaultRequestHeaders ="),u.push(3,"{"),c.forEach((e=>{var s;u.push(4,'{"%s", %s},',e,(null===(s=t.securityOAuth2ExtraCalls)||void 0===s?void 0:s.length)?'"Bearer " + accessToken':`"${t.allHeaders[e]}"`)})),u.push(3,"}"),u.push(2,"};")):u.push(2,"System.Net.Http.HttpClient client = new();"),u.blank(),t.basicAuth){const{username:e,password:s}=t.basicAuth;u.push(2,`string base64String = Convert.ToBase64String(Encoding.ASCII.GetBytes("${e}:${s}"));`),u.push(2,'client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(@"Basic", base64String);'),u.blank()}if(t.postData)switch(normalizeMimeType(t.postData.mimeType)){case MediaTypes.URL_ENCODED:t.postData.params&&(u.blank(),u.push(2,"List<KeyValuePair<string, string>> postData = new List<KeyValuePair<string, string>>();"),t.postData.params.forEach((t=>{u.push(2,'postData.Add(new KeyValuePair<string, string>("%s", "%s"));',t.name,t.value)})),u.blank());break;case MediaTypes.MULTIPART:t.postData.params&&(u.blank(),u.push(2,"MultipartFormDataContent postData = new MultipartFormDataContent();"),t.postData.params.forEach((t=>{u.push(2,'postData.Add(new StringContent("%s"), "%s");',t.value,t.name)})));break;case MediaTypes.JSON:t.postData.jsonObj&&(u.push(2,"string json = JsonSerializer.Serialize(new"),u.push(2,"{"),y(t.postData.jsonObj,3),u.push(2,"});"),u.blank(),u.push(2,'using StringContent postData = new(json, Encoding.UTF8, "%s");',t.postData.mimeType));break;case MediaTypes.XML:t.postData.text&&(t.postData.text.trim().split("\n").forEach(((t,e)=>{const s=(0===e?'string xml = @"':"")+t.replace(/"/g,'""');u.push(0===e?2:3,s)})),u.push(2,'";'),u.push(2,'using StringContent postData = new StringContent(xml, Encoding.UTF8, "%s");',t.postData.mimeType))}else m()&&(u.push(2,"var ms = new MemoryStream();"),u.push(2,"var postData = new StreamContent(ms);"),u.push(2,'postData.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");'));return printUrlVariablesDeclarations(t,u,3),u.push(2,"using HttpResponseMessage %s = await client.%sAsync(%s%s);",u.var("request"),l,buildUrlExpression(t,u),p.withImports?isDataMethod(t.method)?normalizeMimeType(t.postData&&t.postData.mimeType)===MediaTypes.URL_ENCODED?", new FormUrlEncodedContent(postData)":"delete"===t.method?"":t.postData&&t.postData.params||m()?", postData":", null":"":", new FormUrlEncodedContent(postData)"),p.withWrapper&&(u.push(2,"string response = await request.Content.ReadAsStringAsync();"),u.blank(),u.push(2,"Console.WriteLine(response);"),u.push(1,"}"),u.push("}")),u.join();function h(e){return t.postData&&normalizeMimeType(t.postData.mimeType)===e}function m(){return t.headersObj&&t.headersObj["Content-Type"]===MediaTypes.OCTET_STREAM}function d(t,e){t.forEach(((s,a)=>{const n=!isLastInArray(t,a);Array.isArray(s)?d(s,e+1):checkIfIsObject(s)?(u.push(e+1,"new {"),y(s,e+2),u.push(e+1,"}%s",n?",":"")):u.push(e+1,'"%s"%s',s,n?",":"")})),u.push(e,"},")}function y(t,e){for(const[s,a]of Object.entries(t)){const n=!isLastProperty(t,s);if(Array.isArray(a))u.push(e,"%s = new[] {",s),d(a,e);else if(checkIfIsObject(a)){const t=isEmptyObject(a);u.push(e,"%s = new %s",s,t?"{},":"{"),t||(y(a,e+1),u.push(e,"}%s",n?",":""))}else u.push(e,'%s = "%s"%s',s,a,n?",":"")}}};export const info={key:"httpclient",title:"HttpClient",link:"https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient",description:".NET Standard HTTP Client"};export default handler;function addComments(t){t.push("// Requires >= .NET 5"),t.blank()}function formatHttpMethod(t){return capitalizeFirst(t.toLowerCase())}function isDataMethod(t){return t&&["POST","PUT","DELETE","PATCH"].includes(t.toUpperCase())}
|
|
2
2
|
//# sourceMappingURL=httpclient.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LanguageHandler } from '../..';
|
|
2
|
+
import type { CSharpNewtonsoftCodeSampleConfig } from '../../../types';
|
|
3
|
+
declare const handler: LanguageHandler<CSharpNewtonsoftCodeSampleConfig['options']>;
|
|
4
|
+
export declare const info: {
|
|
5
|
+
key: string;
|
|
6
|
+
title: string;
|
|
7
|
+
link: string;
|
|
8
|
+
description: string;
|
|
9
|
+
};
|
|
10
|
+
export default handler;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import stringifyObject from"stringify-object";import{CodeBuilder}from"../../helpers/code-builder";import{HTTPSnippet}from"../..";import{addIndentation,buildUrlExpression,printUrlVariablesDeclarations}from"../../helpers/code-helpers";import{normalizeMimeType}from"../../../../utils";import{capitalizeFirst}from"../../../generator";import{Lang}from"../../helpers/constants";import{MediaTypes}from"../../../../../constants";const handler=function(t,e,{target:s,client:a}){var n,i,r,o;const p=Object.assign({indent:" ",withWrapper:!0},e),u=new CodeBuilder({indentation:p.indent,variablesPrefix:p.variablesPrefix,capitalize:!0,lang:Lang.CSHARPNEWTONSOFT}),l=formatHttpMethod(t.method);if(p.withComments&&addComments(u),p.withWrapper&&(u.push("using System;"),u.push("using System.Net.Http;"),u.push("using System.Threading.Tasks;"),(h(MediaTypes.JSON)||h(MediaTypes.XML)||t.basicAuth)&&u.push("using System.Text;"),(h(MediaTypes.URL_ENCODED)||(null===(n=t.securityOAuth2ExtraCalls)||void 0===n?void 0:n.length))&&u.push("using System.Collections.Generic;"),(h(MediaTypes.JSON)||(null===(i=t.securityOAuth2ExtraCalls)||void 0===i?void 0:i.length))&&u.push("using Newtonsoft.Json.Linq;"),d()&&u.push("using System.IO;"),(d()||t.basicAuth)&&u.push("using System.Net.Http.Headers;"),u.blank(),u.push("public class Program"),u.push("{"),u.push(1,"private readonly IHttpClientFactory _httpClientFactory;"),u.push(1,"public static async Task Main(string[] args)"),u.push(1,"{"),u.push(2,"var client = _httpClientFactory.CreateClient();")),null===(r=t.securityOAuth2ExtraCalls)||void 0===r?void 0:r.length){const e=new HTTPSnippet(null===(o=t.securityOAuth2ExtraCalls)||void 0===o?void 0:o[0]).convert(s,a,Object.assign(Object.assign({},p),{withImports:!1,withWrapper:!1,withComments:!1,variablesPrefix:"oauth2"}));u.push(e),u.push(2,"var oauth2Response = await oauth2Request.Content.ReadAsStringAsync();"),u.push(2,"JObject inputJObject = JObject.Parse(oauth2Response);"),u.push(2,'var accessToken = inputJObject["access_token"].ToString();'),u.blank()}const c=Object.keys(t.allHeaders).filter((t=>{switch(t.toLowerCase()){case"content-type":case"content-length":case"accept-encoding":return!1;default:return!0}}));if(c.length&&c.forEach((e=>{var s;u.push(2,'client.DefaultRequestHeaders.Add("%s", %s);',e,(null===(s=t.securityOAuth2ExtraCalls)||void 0===s?void 0:s.length)?'"Bearer " + accessToken':`"${t.allHeaders[e]}"`)})),t.basicAuth){const{username:e,password:s}=t.basicAuth;u.push(2,`var base64String = Convert.ToBase64String(Encoding.ASCII.GetBytes("${e}:${s}"));`),u.push(2,'client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(@"Basic", base64String);')}if(t.postData)switch(normalizeMimeType(t.postData.mimeType)){case MediaTypes.URL_ENCODED:t.postData.params&&(u.blank(),u.push(2,"List<KeyValuePair<string, string>> postData = new List<KeyValuePair<string, string>>();"),t.postData.params.forEach((t=>{u.push(2,'postData.Add(new KeyValuePair<string, string>("%s", "%s"));',t.name,t.value)})),u.blank());break;case MediaTypes.MULTIPART:t.postData.params&&(u.blank(),u.push(2,"MultipartFormDataContent postData = new MultipartFormDataContent();"),t.postData.params.forEach((t=>{u.push(2,'postData.Add(new StringContent("%s"), "%s");',t.value,t.name)})));break;case MediaTypes.JSON:t.postData.jsonObj&&(u.push(2,`JObject json = JObject.Parse(@"${addIndentation(stringifyObject(t.postData.jsonObj,{indent:p.indent,inlineCharacterLimit:25}).replace(/"/g,'""'),{level:3,firstLine:!1})}");`),u.push(2,'var postData = new StringContent(json.ToString(), Encoding.UTF8, "%s");',t.postData.mimeType));break;case MediaTypes.XML:t.postData.text&&(t.postData.text.trim().split("\n").forEach(((t,e)=>{const s=(0===e?'string xml = @"':"")+t.replace(/"/g,'""');u.push(0===e?3:4,s)})),u.push(2,'";'),u.push(2,'var postData = new StringContent(xml, Encoding.UTF8, "%s");',t.postData.mimeType))}else d()&&(u.push(2,"var ms = new MemoryStream();"),u.push(2,"var postData = new StreamContent(ms);"),u.push(2,'postData.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");'));return printUrlVariablesDeclarations(t,u,3),u.push(2,"var %s = await client.%sAsync(%s%s);",u.var("request"),l,buildUrlExpression(t,u),p.withImports?isDataMethod(t.method)?normalizeMimeType(t.postData&&t.postData.mimeType)===MediaTypes.URL_ENCODED?", new FormUrlEncodedContent(postData)":"delete"===t.method?"":t.postData&&t.postData.params||d()?", postData":", null":"":", new FormUrlEncodedContent(postData)"),p.withWrapper&&(u.push(2,"var response = await request.Content.ReadAsStringAsync();"),u.blank(),u.push(2,"Console.WriteLine(response);"),u.push(1,"}"),u.push("}")),u.join();function h(e){return t.postData&&normalizeMimeType(t.postData.mimeType)===e}function d(){return t.headersObj&&t.headersObj["Content-Type"]===MediaTypes.OCTET_STREAM}};export const info={key:"httpclient",title:"HttpClient",link:"https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient",description:".NET Standard HTTP Client"};export default handler;function addComments(t){t.push("/*"),t.push(" * Requires >= .NET 5"),t.push(" *"),t.push(' * Requires package "Newtonsoft.Json" >= 9.01'),t.push(" * See here for installation details:"),t.push(" * https://www.newtonsoft.com/json"),t.push(" */"),t.blank()}function formatHttpMethod(t){return capitalizeFirst(t.toLowerCase())}function isDataMethod(t){return t&&["POST","PUT","DELETE","PATCH"].includes(t.toUpperCase())}
|
|
2
|
+
//# sourceMappingURL=httpclient.js.map
|
|
@@ -66,6 +66,15 @@ declare const targets: {
|
|
|
66
66
|
};
|
|
67
67
|
httpclient: import("..").LanguageHandler<import("../..").BasicLanguageOptions | undefined>;
|
|
68
68
|
};
|
|
69
|
+
csharpNewtonsoft: {
|
|
70
|
+
info: {
|
|
71
|
+
key: string;
|
|
72
|
+
title: string;
|
|
73
|
+
extname: string;
|
|
74
|
+
default: string;
|
|
75
|
+
};
|
|
76
|
+
httpclient: import("..").LanguageHandler<import("../..").BasicLanguageOptions | undefined>;
|
|
77
|
+
};
|
|
69
78
|
go: {
|
|
70
79
|
info: {
|
|
71
80
|
key: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import javascript from"./javascript";import node from"./node";import python from"./python";import shell from"./shell";import java8 from"./java8";import java from"./java";import csharp from"./csharp";import go from"./go";import php from"./php";import ruby from"./ruby";import r from"./r";const targets={javascript:javascript,node:node,python:python,shell:shell,java8:java8,java:java,csharp:csharp,go:go,php:php,ruby:ruby,r:r};export default targets;
|
|
1
|
+
import javascript from"./javascript";import node from"./node";import python from"./python";import shell from"./shell";import java8 from"./java8";import java from"./java";import csharp from"./csharp";import csharpNewtonsoft from"./csharpNewtonsoft";import go from"./go";import php from"./php";import ruby from"./ruby";import r from"./r";const targets={javascript:javascript,node:node,python:python,shell:shell,java8:java8,java:java,csharp:csharp,csharpNewtonsoft:csharpNewtonsoft,go:go,php:php,ruby:ruby,r:r};export default targets;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Languages = 'JavaScript' | 'Node.js' | 'curl' | 'Java8+Apache' | 'Java' | 'Python' | 'Go' | 'PHP' | 'C#' | 'Ruby' | 'R';
|
|
1
|
+
export type Languages = 'JavaScript' | 'Node.js' | 'curl' | 'Java8+Apache' | 'Java' | 'Python' | 'Go' | 'PHP' | 'C#' | 'C#+Newtonsoft' | 'Ruby' | 'R';
|
|
2
2
|
export interface BasicLanguageOptions {
|
|
3
3
|
indent?: string;
|
|
4
4
|
withImports?: boolean;
|
|
@@ -39,6 +39,9 @@ export interface JavaCodeSampleConfig extends CodeSampleBasicConfig {
|
|
|
39
39
|
export interface CSharpCodeSampleConfig extends CodeSampleBasicConfig {
|
|
40
40
|
lang: 'C#';
|
|
41
41
|
}
|
|
42
|
+
export interface CSharpNewtonsoftCodeSampleConfig extends CodeSampleBasicConfig {
|
|
43
|
+
lang: 'C#+Newtonsoft';
|
|
44
|
+
}
|
|
42
45
|
export interface PHPCodeSampleConfig extends CodeSampleBasicConfig {
|
|
43
46
|
lang: 'PHP';
|
|
44
47
|
}
|
|
@@ -48,7 +51,7 @@ export interface RubyCodeSampleConfig extends CodeSampleBasicConfig {
|
|
|
48
51
|
export interface RCodeSampleConfig extends CodeSampleBasicConfig {
|
|
49
52
|
lang: 'R';
|
|
50
53
|
}
|
|
51
|
-
export type CodeSampleConfig = CurlCodeSampleConfig | JavaScriptCodeSampleConfig | NodeJsCodeSampleConfig | PythonCodeSampleConfig | Java8CodeSampleConfig | JavaCodeSampleConfig | CSharpCodeSampleConfig | PHPCodeSampleConfig | GoCodeSampleConfig | RubyCodeSampleConfig | RCodeSampleConfig;
|
|
54
|
+
export type CodeSampleConfig = CurlCodeSampleConfig | JavaScriptCodeSampleConfig | NodeJsCodeSampleConfig | PythonCodeSampleConfig | Java8CodeSampleConfig | JavaCodeSampleConfig | CSharpCodeSampleConfig | CSharpNewtonsoftCodeSampleConfig | PHPCodeSampleConfig | GoCodeSampleConfig | RubyCodeSampleConfig | RCodeSampleConfig;
|
|
52
55
|
/**
|
|
53
56
|
* Code Samples Generator rules
|
|
54
57
|
* - Reference docs always displays all user custom x-code-samples
|
package/lib-esm/setupTests.d.ts
CHANGED
package/lib-esm/setupTests.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as Enzyme from"enzyme";import Adapter from"@
|
|
1
|
+
import*as Enzyme from"enzyme";import Adapter from"@cfaester/enzyme-adapter-react-18";import"raf/polyfill";import"@testing-library/jest-dom";import"jest-styled-components";import{configure}from"@testing-library/react";Enzyme.configure({adapter:new Adapter}),configure({testIdAttribute:"data-cy"});
|
|
2
2
|
//# sourceMappingURL=setupTests.js.map
|
package/lib-esm/standalone.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export { setSecurityDetails, setParameterValue, setSecurityDetailsVariants } fro
|
|
|
22
22
|
export declare function toggleLayout(layout?: LayoutVariant): void;
|
|
23
23
|
export declare function toggleRightPanel(showRightPanelToggle?: boolean): void;
|
|
24
24
|
export declare function hydrate(store: StoreProviderProps, element?: Element | null): void;
|
|
25
|
-
export declare function init(definitionOrDefinitionUrl: string | OpenAPIDefinition | SpecVersions, options?: RawOptions, element?: Element | null
|
|
25
|
+
export declare function init(definitionOrDefinitionUrl: string | OpenAPIDefinition | SpecVersions, options?: RawOptions, element?: Element | null): void;
|
|
26
26
|
export declare function setPublicPath(path: string): void;
|
|
27
27
|
export declare const version: string;
|
|
28
28
|
export declare const revision: string;
|