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 • 2.35 kB
JavaScript
function a(a,d){return g(a)||f(a,d)||c(a,d)||b()}function b(){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 c(b,c){if(b){if("string"==typeof b)return d(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)?d(b,c):void 0}}function d(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}import h,{useState as i,useEffect as j,useContext as k}from"react";import l from"./defaultOptions";import{b64DecodeUnicode as m}from"../../utils/common";import{has as n}from"lodash";var o=h.createContext({}),p=function(a){return a.encodedApis?a.encodedApis.map(function(a){return JSON.parse(m(a))}):a.apis},q=function(a,b,c,d,e){var f="undefined"!=typeof window&&window.apiConnectExplorer||{};return"undefined"!=typeof window&&(n(window,"drupalSettings.api.explorer")?f=window.drupalSettings.api.explorer:n(window,"Drupal.settings.api.explorer")&&(f=window.Drupal.settings.api.explorer)),f.options=a?a:f.options,f.apps=b?b:f.apps,f.apis=c||d?p({apis:c,encodedApis:d}):p(f),f.docs=e?e:f.docs,f.constants={HASH_ROUTER:"hash",MEMORY_ROUTER:"memory"},f.options=Object.assign({},l,f.options),f},r=function(b){var c=b.options,d=b.apps,e=b.apis,f=b.encodedApis,g=b.docs,k=b.children,l=i(function(){return q(c,d,e,f,g)}),m=a(l,2),n=m[0],p=m[1],r=function(){p(Object.assign({},q(c,d,e,f,g)))};return j(function(){p(q(c,d,e,f,g))},[c,d,e,f,g]),j(function(){return window.addEventListener("apiConnectExplorerUpdate",r),function(){window.removeEventListener("apiConnectExplorerUpdate",r)}},[]),h.createElement(o.Provider,{value:n},k)},s=function(){return k(o)};export default r;export{s as useConfig,o as ConfigContext};