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