UNPKG

apiconnect-explorer

Version:

- [Getting Started](#getting-started) - [Configuration](#configuration) * [Required](#required) * [Optional](#optional) - [Usage in React](#usage-in-react) - [Usage outside of React](#usage-outside-of-react) - [Detailed description of options](#detail

1 lines 14.7 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var a=s(require("react")),b=require("react-i18next"),c=require("@carbon/react"),d=require("json-decycle"),e=require("lodash"),f=require("contexts/ApiHandler"),g=require("../contexts/config"),h=q(require("../utils/generator")),i=q(require("./ViewableJSONDisplay.tsx")),j=q(require("./ExpandableDisplay.tsx")),k=require("../utils/common"),l=q(require("./Markdown.tsx")),m=require("../utils/translate"),n=q(require("./ExternalLinkDecorator.tsx")),o=q(require("./CodeViewer.tsx")),p=q(require("./Copier.tsx"));function q(a){return a&&a.__esModule?a:{default:a}}function s(a,b){if("function"==typeof WeakMap)var c=new WeakMap,d=new WeakMap;return(s=function(a,b){if(!b&&a&&a.__esModule)return a;var e,g,h={__proto__:null,default:a};if(null===a||"object"!=u(a)&&"function"!=typeof a)return h;if(e=b?d:c){if(e.has(a))return e.get(a);e.set(a,h)}for(var f in a)"default"!=f&&{}.hasOwnProperty.call(a,f)&&((g=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,f))&&(g.get||g.set)?e(h,f,g):h[f]=a[f]);return h})(a,b)}function u(a){"@babel/helpers - typeof";return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},u(a)}function v(a,b){return A(a)||z(a,b)||x(a,b)||w()}function w(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(b,c){if(b){if("string"==typeof b)return y(b,c);var a={}.toString.call(b).slice(8,-1);return"Object"===a&&b.constructor&&(a=b.constructor.name),"Map"===a||"Set"===a?Array.from(b):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?y(b,c):void 0}}function y(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}function z(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d["return"]&&(k=d["return"](),Object(k)!==k))return}finally{if(m)throw h}}return l}}function A(a){if(Array.isArray(a))return a}function B(){function b(a,b,f,g){var h=b&&b.prototype instanceof d?b:d,c=Object.create(h.prototype);return C(c,"_invoke",function(a,b,g){function h(a,b){for(q=a,s=b,e=0;!w&&t&&!c&&e<v.length;e++){var c,f=v[e],g=p.p,h=f[2];3<a?(c=h===b)&&(s=f[(q=f[4])?5:(q=3,3)],f[4]=f[5]=j):f[0]<=g&&((c=2>a&&g<f[1])?(q=0,p.v=b,p.n=f[1]):g<h&&(c=3>a||f[0]>b||b>h)&&(f[4]=a,f[5]=b,p.n=h,q=0))}if(c||1<a)return m;throw w=!0,b}var k,q,s,t=0,v=g||[],w=!1,p={p:0,n:0,v:j,a:h,f:h.bind(j,4),d:function c(a,b){return k=a,q=0,s=j,p.n=b,m}};return function(c,d,f){if(1<t)throw TypeError("Generator is already running");for(w&&1===d&&h(d,f),q=d,s=f;(e=2>q?j:s)||!w;){k||(q?3>q?(1<q&&(p.n=-1),h(q,s)):p.n=s:p.v=s);try{if(t=2,k){if(q||(c="next"),e=k[c]){if(!(e=e.call(k,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,2>q&&(q=0)}else 1===q&&(e=k["return"])&&e.call(k),2>q&&(s=TypeError("The iterator does not provide a '"+c+"' method"),q=1);k=j}else if((e=(w=0>p.n)?s:a.call(b,p))!==m)break}catch(a){k=j,q=1,s=a}finally{t=1}}return{value:e,done:w}}}(a,f,g),!0),c}function d(){}function g(){}function h(){}function i(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,h):(a.__proto__=h,C(a,l,"GeneratorFunction")),a.prototype=Object.create(c),a}var j,e,f="function"==typeof Symbol?Symbol:{},k=f.iterator||"@@iterator",l=f.toStringTag||"@@toStringTag",m={};e=Object.getPrototypeOf;var a=[][k]?e(e([][k]())):(C(e={},k,function(){return this}),e),c=h.prototype=d.prototype=Object.create(a);return g.prototype=h,C(c,"constructor",h),C(h,"constructor",g),g.displayName="GeneratorFunction",C(h,l,"GeneratorFunction"),C(c),C(c,l,"Generator"),C(c,k,function(){return this}),C(c,"toString",function(){return"[object Generator]"}),(B=function a(){return{w:b,m:i}})()}function C(a,b,c,d){var f=Object.defineProperty;try{f({},"",{})}catch(a){f=0}C=function e(a,b,c,d){function g(b,c){C(a,b,function(a){return this._invoke(b,c,a)})}b?f?f(a,b,{value:c,enumerable:!d,configurable:!d,writable:!d}):a[b]=c:(g("next",0),g("throw",1),g("return",2))},C(a,b,c,d)}function D(b,d,f,e,g,h,a){try{var c=b[h](a),i=c.value}catch(a){return void f(a)}c.done?d(i):Promise.resolve(i).then(e,g)}function E(b){return function(){var c=this,d=arguments;return new Promise(function(e,f){function g(a){D(i,e,f,g,h,"next",a)}function h(a){D(i,e,f,g,h,"throw",a)}var i=b.apply(c,d);g(void 0)})}}var F=["object","array"],G=["record","enum","map","fixed"],H="json",I=["json","xml","yaml"],J=function(){var a=E(B().m(function f(a,b,c,d){var g,i,j;return B().w(function(f){for(;1;)switch(f.n){case 0:if(i=b.getSchemasFullPath(a),j=c,j&&j.schema?(j=j.schema,(0,e.get)(c,"content[".concat(d,"].schema"))):(0,e.get)(c,"content[".concat(d,"].schema"))&&(j=j.content[d].schema),j&&j.$ref&&(j=b.getLocalReference(j.$ref,a)),!j||!j.type||F.includes(j.type)||G.includes(j.type)){f.n=1;break}g={schema:j,isPrimitive:!0},f.n=4;break;case 1:if(!(j&&i&&0<Object.keys(i).length)){f.n=3;break}return j=JSON.parse(JSON.stringify(j)),(0,m.replaceDescriptionWithLanguage)(j,(0,m.getLanguageCodes)()[0]),i.schema=j,f.n=2,h["default"].generateFlattenedSchema(i);case 2:j=f.v;case 3:g={schema:j,isPrimitive:!1};case 4:return f.a(2,g)}},f)}));return function f(b,c,d,e){return a.apply(this,arguments)}}();function K(q){var r=q.object,s=q.pathName,w=q.method,x=q.mode,y=void 0===x?"both":x,z=q.type,A=void 0===z?"operation":z,B=q.contentType,C=void 0===B?"application/json":B,D=q.maxDepth,E=q.objectIdentifier,F=q.schemaName,G=void 0===F?null:F,K=q.options,L=void 0===K?{}:K,M=q.viewMode,N=(0,b.useTranslation)(),O=N.t,t=(0,a.useState)(null),P=v(t,2),Q=P[0],R=P[1],S=(0,a.useState)(null),T=v(S,2),U=T[0],V=T[1],W=(0,a.useState)(void 0),X=v(W,2),Y=X[0],Z=X[1],$=(0,a.useState)(null),_=v($,2),aa=_[0],ba=_[1],ca=(0,a.useState)(null),da=v(ca,2),ea=da[0],fa=da[1],ga=(0,a.useState)(null),ha=v(ga,2),ia=ha[0],ja=ha[1],ka=(0,a.useState)(null),la=v(ka,2),ma=la[0],na=la[1],oa=(0,a.useState)(null),pa=v(oa,2),qa=pa[0],ra=pa[1],sa=(0,a.useState)(!1),ta=v(sa,2),ua=ta[0],va=ta[1],wa=(0,a.useState)(0),xa=v(wa,2),ya=xa[0],za=xa[1],Aa=(0,a.useState)(null),Ba=v(Aa,2),Ca=Ba[0],Da=Ba[1],Ea=(0,a.useState)(null),Fa=v(Ea,2),Ga=Fa[0],Ha=Fa[1],Ia=(0,a.useState)(null),Ja=v(Ia,2),Ka=Ja[0],La=Ja[1],Ma=(0,a.useState)(H),Na=v(Ma,2),Oa=Na[0],Pa=Na[1],Qa=(0,a.useState)(!1),Ra=v(Qa,2),Sa=Ra[0],Ta=Ra[1],Ua=(0,a.useState)([]),Va=v(Ua,2),Wa=Va[0],Xa=Va[1],Ya=(0,g.useConfig)(),Za=(0,f.useApi)(),$a=Za.api,_a=Za.apiHandler,ab=(0,a.useRef)(!1);(0,a.useEffect)(function(){return ab.current=!0,function(){ab.current=!1}},[]),(0,a.useEffect)(function(){V(!1),fa(null),r&&r.collectionFormat&&(r.collectionFormat=null);var a=!1,b=[];"response"===A&&r&&(b=r.content&&1<Object.keys(r.content).length?Object.keys(r.content):[],1<b.length&&(a=!0));var c=C;Xa(b),Ta(a),a&&(c=Ga&&b.includes(Ga)?Ga:b[0]),La(c),"operation"===A&&$a&&s&&w&&("both"===y||"example"===y)?h["default"].generateExampleParameter({api:L.isCallback&&L.operation?L.operation:$a,pathName:s,verb:w,parameter:r,contentTypeHeader:c,acceptHeader:c,skipBeautify:!1,maxDepth:D,references:null,numItems:(0,e.get)(Ya,"options.exampleArrayItems")}).then(function(a){var b;if(!a.hasMultipleExamples)ba(null),b=a.example||!1===a.example?a.example:a,"object"===u(b)&&"value"in b?b=JSON.stringify(b.value,(0,d.decycle)(),2):(Array.isArray(b)||"object"===u(b))&&(b=JSON.stringify(b,(0,d.decycle)(),2));else if(ba(a.example),Y&&a.example[Y])b=a.example[Y];else{var e=Object.values(a.example),f=v(e,1);b=f[0],Z(Object.keys(a.example)[0])}cb(b,c)},function(a){bb(a),console.error(a)}):"response"===A&&h["default"].generateExampleResponse({api:L.isCallback&&L.operation?L.operation:$a,path:s,verb:w,response:$a.openapi?r:E,contentType:c,skipBeautify:!1,maxDepth:D,references:null,config:{accepts:c},numItems:(0,e.get)(Ya,"options.exampleArrayItems")}).then(function(a){var b;if(!a.hasMultipleExamples)ba(null),b=a.example||!1===a.example?a.example:a,"object"===u(b)&&"value"in b?b=JSON.stringify(b.value,(0,d.decycle)(),2):(Array.isArray(b)||"object"===u(b))&&(b=JSON.stringify(b,(0,d.decycle)(),2));else if(ba(a.example),Y&&a.example[Y])b=a.example[Y];else{var e=Object.values(a.example),f=v(e,1);b=f[0],Z(Object.keys(a.example)[0])}cb(b,c)},function(a){bb(a),console.error(a)}),r&&(null!==r&&void 0!==r&&r.schema||null!==r&&void 0!==r&&r["enum"]||null!==r&&void 0!==r&&r.content&&Object.values(r.content).some(function(a){return a.schema}))&&("both"===y||"schema"===y)&&J($a,_a,r,c).then(function(a){var b=a,c=b.isPrimitive;a&&a.schema&&(a=a.schema),db(a,c),ra(c)},function(a){return bb(a)})},[$a,_a,A,r,s,w,C,Ga,y,D,E,L.isCallback,L.operation]),(0,a.useEffect)(function(){var a=H;I.forEach(function(b){!Ka&&_a.isSOAP($a)?a="xml":Ka&&0<=Ka.indexOf(b)&&(a=b)}),Pa(a)},[Ka,_a,$a]);var bb=function b(a){ab.current&&(V(a),ja(!1),na(!1))},cb=function c(a,b){if(ab.current){var d=a;if("null"!==a&&(!b||"application/json"===b))try{d=JSON.parse(a)}catch(a){}va("object"!==u(d)),fa(d),ja(!1),na(!1)}},db=function c(a,b){if(a&&a.schema&&(a=a.schema),ab.current&&(!b||a&&a["enum"])){var e=JSON.stringify(a,(0,d.decycle)(),2);try{R(a)}catch(a){console.error(a)}Da(e),ja(!1),na(!1)}},eb=function a(){ja(!ia),za(0)},fb=function a(){na(!ma),za(1)},gb="null"===ea;if(gb&&!Q)return null;var hb="json"!==Oa||ua?null:JSON.stringify(ea,null,2),ib=_a.getMarkupType(),jb=r&&r.name?"definition-display-tab-".concat((0,k.cleanUpKey)(r.name)):"definition-display-tab",kb=a["default"].createElement(a["default"].Fragment,null,r&&r.schema&&r.schema.externalDocs&&a["default"].createElement("div",{className:"schemaDocs"},r.schema.externalDocs.description&&a["default"].createElement(l["default"],{className:"externalLinkDescription",data:(0,m.getTranslatedExtensions)(r.schema.externalDocs,"description"),markupType:ib}),a["default"].createElement(c.Link,{href:r.schema.externalDocs.url,target:"_blank",rel:"noopener noreferrer"},r.schema.externalDocs.url,a["default"].createElement(n["default"],null)))),lb=function e(b,c,d){return"json"!==c||ua?a["default"].createElement(o["default"],{"data-testid":"".concat(d,"-example-generated"),codeLanguage:c},b+""):a["default"].createElement(i["default"],{content:b})},mb=function b(a){var c=aa[a.target.value];Z(a.target.value),"object"===u(c)&&"value"in c?c=JSON.stringify(c,(0,d.decycle)(),2):(Array.isArray(c)||"object"===("undefined"==typeof data?"undefined":u(data)))&&(c=JSON.stringify(c,(0,d.decycle)(),2)),cb(c,C)},nb="response"===A?"response":"".concat(null===r||void 0===r?void 0:r.name,"-").concat(null===r||void 0===r?void 0:r["in"]);return a["default"].createElement(a["default"].Fragment,null,a["default"].createElement("div",{className:"definition-selectors"},Sa&&a["default"].createElement("div",null,a["default"].createElement("p",{className:"media-type-selector-header"},"Media Type"),a["default"].createElement(c.Select,{onChange:function b(a){Ha(a.target.value)},"data-testid":"media-type-selector",hideLabel:!0,className:"media-type-selector",id:"".concat(nb,"-media-type-selector")},Wa.map(function(b){return a["default"].createElement(c.SelectItem,{text:b,key:b,value:b})}))),aa&&a["default"].createElement("div",null,a["default"].createElement("p",{className:"examples-selector-header"},O("Examples")),a["default"].createElement(c.Select,{"data-testid":"example-selector",hideLabel:!0,className:"example-selector",onChange:mb,value:Y,id:"".concat(nb,"-example-selector")},Object.keys(aa).map(function(b){return a["default"].createElement(c.SelectItem,{key:b,text:b,value:b})})))),a["default"].createElement("div",{className:"definitionDisplay"},a["default"].createElement(c.Tabs,{className:"definition--tabs",selected:ya,tabContentClassName:"tab-content","aria-label":jb},a["default"].createElement(c.TabList,{"aria-label":"definition tabs"},[("operation"===A||"response"===A)&&$a&&s&&w&&!gb&&!U&&a["default"].createElement(c.Tab,{key:"example",id:"response"===A?"response_example":"".concat(null===r||void 0===r?void 0:r["in"],"_").concat(null===r||void 0===r?void 0:r.name,"_example"),title:O("example"),"data-testid":"example-tab"},O("example")),U&&a["default"].createElement(c.Tab,{key:"error",id:"response"===A?"response_error":"".concat(null===r||void 0===r?void 0:r["in"],"_").concat(null===r||void 0===r?void 0:r.name,"_error"),title:O("error"),"data-testid":"error-tab"},O("error")),Q&&!qa&&a["default"].createElement(c.Tab,{key:"schema",id:"response"===A?"response_schema":"".concat(null===r||void 0===r?void 0:r["in"],"_").concat(null===r||void 0===r?void 0:r.name,"_schema"),title:O("schema"),"data-testid":"schema-tab"},O("schema"))].filter(Boolean)),r&&"path"===r["in"]?a["default"].createElement("div",{className:"path-parameter-input"},a["default"].createElement(c.TabPanels,null,a["default"].createElement(c.TabPanel,{key:"example"}),a["default"].createElement(c.TabPanel,{key:"error"}),a["default"].createElement(c.TabPanel,{key:"schema"})),a["default"].createElement("div",{className:"path-parameter-container"},a["default"].createElement("span",{id:"path-param-".concat(r.name),"aria-hidden":"true",className:"hidden-path-param"},ea||r.example||r.name),a["default"].createElement(c.TextInput,{labelText:"",value:ea||r.example||r.name,readOnly:!0,id:"path-param-".concat(r.name),"aria-label":"example-input"}),a["default"].createElement("div",{className:"path-parameter-copy"},a["default"].createElement(p["default"],{element:"#path-param-".concat(r.name)})))):a["default"].createElement(c.TabPanels,null,[("operation"===A||"response"===A)&&$a&&s&&w&&!gb&&!U&&a["default"].createElement(c.TabPanel,{key:"operation"},a["default"].createElement(j["default"],{expanded:ia,copyableContent:hb,onExpand:eb},null===ea&&a["default"].createElement(c.Loading,{small:!0,withOverlay:!1,"data-testid":"loading-example"}),null!==ea&&lb(ea,Oa,A))),U&&a["default"].createElement(c.TabPanel,{key:"error"}," ",a["default"].createElement("div",{"data-testid":"generator-error"},O("generator_error",{error:U}))),Q&&!qa&&a["default"].createElement(c.TabPanel,{key:"schema"},a["default"].createElement(j["default"],{copyableContent:Ca,expanded:ma,onExpand:fb},"schema"===M&&a["default"].createElement(i["default"],{content:Q,jsonName:G}),"schema"!==M&&a["default"].createElement(i["default"],{content:Q,jsonName:G}),kb))].filter(Boolean)))))}var L=exports["default"]=K;