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 • 5.83 kB
JavaScript
;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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var b=p(require("react")),c=require("utils/APITypes"),d=o(require("contexts/ApiHandler")),e=require("./hooks/createApiHandler.js"),f=require("react-router-dom"),g=o(require("./components/Routing.js")),h=o(require("components/ExplorerBody")),i=require("./utils/navigation.js"),j=require("./contexts/config/index.js"),k=require("@carbon/react"),l=require("react-i18next"),m=require("json-decycle"),n=require("./utils/common.js");function o(a){return a&&a.__esModule?a:{default:a}}function p(b,c){if("function"==typeof WeakMap)var d=new WeakMap,g=new WeakMap;return(p=function(b,c){if(!c&&b&&b.__esModule)return b;var e,h,j={__proto__:null,default:b};if(null===b||"object"!=a(b)&&"function"!=typeof b)return j;if(e=c?g:d){if(e.has(b))return e.get(b);e.set(b,j)}for(var f in b)"default"!=f&&{}.hasOwnProperty.call(b,f)&&((h=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(b,f))&&(h.get||h.set)?e(j,f,h):j[f]=b[f]);return j})(b,c)}function q(a,b){return w(a)||v(a,b)||t(a,b)||s()}function s(){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 t(b,c){if(b){if("string"==typeof b)return u(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)?u(b,c):void 0}}function u(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 v(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 w(a){if(Array.isArray(a))return a}var x=function(a,b,c,d){var e=null;if(b&&c&&d&&d[a]){var f=c.indexOf(b);e=d[a][f]||null}return e},y={name:"channelA",asyncapi:!0,info:{title:"Channel A API"}},z=function(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],d=2<arguments.length&&void 0!==arguments[2]?arguments[2]:b[0],e=3<arguments.length&&void 0!==arguments[3]?arguments[3]:y;return d||(console.warn("Falling back to default API:",e.name),d=e),{currentApi:JSON.parse(JSON.stringify(d,(0,m.decycle)())),apiType:(0,c.getAPIType)(d),infoSectionEntries:x("infoSectionEntries",d,b,a),documentationEntries:x("documentationEntries",d,b,a)}},A=function(a,b){if(a&&"external_ref"===a.type){if("title"===b)return"external_ref_error";if("subtitle"===b)return"external_ref_error_description"}else{if("title"===b)return"async_parse_errors";if("subtitle"===b)return"async_parse_errors_description"}};function B(){var a=(0,f.useLocation)(),c=(0,f.useParams)(),m=(0,b.useMemo)(function(){return c.entity&&"documentation"!==c.entity},[c]),o=(0,j.useConfig)(),p=o.apis,r=o.options,s=(0,b.useState)(function(){return z(r,p,m?(0,i.getApi)(p,c.entity):p[0],y)}),u=q(s,2),v=u[0],w=u[1],x=(0,e.useCreateApiHandler)(v.currentApi),B=x.originalApi,C=x.apiHandler,D=x.loading,E=x.error,F=(0,l.useTranslation)(),G=F.t;(0,b.useEffect)(function(){w(z(r,p,m?(0,i.getApi)(p,c.entity):p[0],y))},[p,r,m,c.entity]),(0,b.useEffect)(function(){try{var a=r.onReady;"string"==typeof a?window[a]():"function"==typeof a&&a()}catch(a){console.error("onReady callback failed:",a)}},[r.onReady]),(0,b.useEffect)(function(){if(m){var a=(0,i.getApi)(p,c.entity);(0,i.apiPath)(v.currentApi)!==(0,i.apiPath)(a)&&w(z(r,p,a))}},[c,p,c.entity,v.currentApi,m,r]);var t=D?b["default"].createElement(k.InlineLoading,null):E&&("external_ref"===E.type||!a.pathname.includes("parseerror"))?b["default"].createElement(k.ToastNotification,{kind:"error",role:"alert",title:G(A(E,"title")),subtitle:G(A(E,"subtitle")),className:"errorFrame",hideCloseButton:!0},b["default"].createElement("pre",{className:"validationErrorText"},b["default"].createElement("code",null,E.errorString))):b["default"].createElement(g["default"],{apiState:v});var H="GraphQL"!==v.apiType,I=new URL("".concat(a.pathname).concat(a.search,"#main-explorer-content"),window.location.origin).href;return b["default"].createElement(d["default"],{api:B,handler:C,loading:D,error:null===E||void 0===E?void 0:E.errorString},b["default"].createElement(k.SkipToContent,{href:I,onClick:function(a){var b,c;a.preventDefault(),a.stopPropagation(),null===(b=a.nativeEvent)||void 0===b||b.stopImmediatePropagation(),null===(c=document)||void 0===c||null===(c=c.getElementById("main-explorer-content"))||void 0===c||c.focus()},onKeyDown:(0,n.handleKeyDown)(function(){var a;return null===(a=document)||void 0===a||null===(a=a.getElementById("main-explorer-content"))||void 0===a?void 0:a.focus()})}),b["default"].createElement(h["default"],{splitView:H},t))}function C(){var a=(0,j.useConfig)(),c=a.apis,d=a.docs,e=Array.isArray(d)&&0<d.length,g=e?"documentation/".concat(d[0].name):"".concat((0,i.apiPath)(c[0]),"/overview");return b["default"].createElement(f.Routes,null,b["default"].createElement(f.Route,{path:"documentation/*",element:b["default"].createElement(B,null)}),b["default"].createElement(f.Route,{path:":entity/*",element:b["default"].createElement(B,null)}),b["default"].createElement(f.Route,{index:!0,element:b["default"].createElement(f.Navigate,{to:g,replace:!0})}))}var D=exports["default"]=C;