{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/elc-logging/build/bundle.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/elc-universal-utils/src/UniversalUtils.ts","webpack:///./package.json","webpack:///./node_modules/elc-universal-utils/src/BrowserStorage.ts","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./src/renderers/LazyRenderer.ts","webpack:///./node_modules/elc-base-theme/src/Breakpoints.ts","webpack:///./src/utils/DOMCleanser.ts","webpack:///./src/utils/PerformanceMarker.ts","webpack:///./src/BrowserComponentRenderer.ts","webpack:///./src/renderers/ComponentRenderer.ts","webpack:///./src/utils/Debounce.ts","webpack:///./src/preloader/ViewDataPreloader.ts","webpack:///./src/index.ts","webpack:///external {\"root\":[\"ElcRuntime\",\"React\"],\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack:///external {\"root\":[\"ElcRuntime\",\"ReactDom\"],\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\"}"],"names":["root","factory","exports","module","require","define","amd","a","i","window","__WEBPACK_EXTERNAL_MODULE_react__","__WEBPACK_EXTERNAL_MODULE_react_dom__","installedModules","jsonpScriptSrc","original_jsonpScriptSrc","patchJsonpScriptSrc","replaceSrc","Error","newSrc","apply","this","arguments","e","console","error","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_arrayWithHoles","arr","Array","isArray","_arrayWithoutHoles","arr2","length","_assertThisInitialized","self","ReferenceError","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","configurable","writable","_createClass","protoProps","staticProps","_defineProperty","obj","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","constructor","_iterableToArray","iter","iterator","toString","from","_iterableToArrayLimit","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","err","_nonIterableRest","_nonIterableSpread","_typeof","assertThisInitialized","_possibleConstructorReturn","_setPrototypeOf","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_slicedToArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_typeof2","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","fn","arg","type","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","AsyncIterator","invoke","resolve","reject","record","result","Promise","__await","then","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","keys","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","default","u","setTimeout","clearTimeout","f","g","concat","run","C","fun","array","nextTick","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","process","__nwjs","navigator","userAgent","toLowerCase","match","document","documentElement","style","WebkitAppearance","firebug","table","parseInt","RegExp","$1","useColors","namespace","humanize","diff","color","splice","replace","storage","setItem","removeItem","getItem","BROWSER","NODE_ENV","DEBUG","localStorage","formatArgs","save","load","colors","log","debug","formatters","j","JSON","stringify","message","charCodeAt","Math","abs","enabled","Number","Date","curr","coerce","unshift","selectColor","destroy","extend","init","instances","indexOf","names","skips","split","substr","map","join","enable","test","substring","stack","disable","String","exec","parseFloat","round","isFinite","long","errorDebugger","enhanceLogData","infoDebugger","warning","warningDebugger","event","eventDebugger","query","queryDebugger","command","commandDebugger","assign","triggerSource","serviceName","date","toUTCString","beforeEventListenerRegister","triggerType","beforeEmit","payload","afterEmit","beforeQueryRegister","beforeQuery","afterQuery","MOBILE_VERSION_SELECTOR","DESKTOP_VERSION_SELECTOR","global","BrowserStorage","eraseCookie","cookie","setCookie","daysOrDate","expires","expirationDate","now","getCookie","nameEQ","ca","storageKey","storagePolling","callBack","storageValue","setInterval","latestValue","__rest","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","fulfilled","step","rejected","RenderStrategies","Breakpoints","desktop","largeScreen","extraLargeScreen","selector","querySelectorAll","wrapper","replaceWith","childNodes","removeAllNodesBySelector","node","remove","logger","runPerformanceMarker","markArgument","measureArguments","performance","measure","COMPONENT_SELECTOR","nodesToRenderList","Set","isRenderReady","isRenderReadyPromise","getNodeAttribute","getAttribute","isElement","nodeType","Node","ELEMENT_NODE","isServiceViewNode","element","matches","getServiceViewsFromNode","addNodeToRenderList","nodes","nodeToAdd","has","add","removeNodeFromRenderList","nodeToRemove","processMutationRecord","addedNodes","view","removedNodes","onHTMLChanged","records","reduce","renderReactNodes","createMutationObserver","callback","MutationObserver","render","component","isSSR","all","getComponentForNode","convertNodeToComponentNodeType","nodeToRender","Boolean","renderLazyNode","processMountPoints","allNodes","toRenderNodes","filter","shouldRenderNode","initLazyRenderer","onDOMContentLoaded","watchRenderOutput","cleanUpMarkup","matchMedia","isDocumentReady","includes","readyState","addEventListener","mutationObserverComponent","observe","body","subtree","childList","preloader","setDataPreloader","getDataPreloader","getServiceFromViewName","viewName","serviceNameKey","ServiceRegistry","find","getView","getElementProps","componentView","parsedConfig","config","parse","viewController","translations","configs","preload","getPreloadedTranslations","getPreloadedConfigs","fnProps","configKey","eventHandlers","eventHandler","args","CustomEvent","detail","cancelable","bubbles","dispatchEvent","getElementToRender","registeredComponent","setStateInController","controller","viewState","setSSRState","setControllerId","setId","handleController","warn","getViewFromService","service","componentName","componentModule","getViewFromCache","componentViewMethod","setViewInCache","saveViewsInCache","componentsName","parseState","parsedState","children","nodeState","serviceViewChildrenNames","ALLOWED_PIXELS","pendingNodes","updateViewHeight","viewHeight","max","clientHeight","innerHeight","isInViewport","getBoundingClientRect","bottom","top","isBottomLessThanViewport","isBottomInViewport","isBottomVisible","isTopVisible","isHigherThanViewHeight","getRenderMethodStrategy","isNodeInViewport","ondemand","onNodeDisplay","options","rootMargin","threshold","intersectionCallback","isIntersecting","intersectionObserver","unobserve","size","disconnect","IntersectionObserver","debounceAsync","ms","timer","_timer_","id","promise","_","translationsCache","translationsFieldsToPreload","configsCache","configFieldsToPreload","fields","getKeysFromObject","addTranslations","registerTranslationFieldsToPreload","addConfigs","registerConfigFieldsToPreload","GlobalServiceBus","trans","cfg","requestedObject","some","hasKeyInCache","packageJson","ComponentRenderer"],"mappings":"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","file":"bundle.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"react-dom\")) : factory(root[\"ElcRuntime\"][\"React\"], root[\"ElcRuntime\"][\"ReactDom\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function(__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n \t// WebpackRequireFrom - monkey-patching\n \tif (typeof jsonpScriptSrc === 'function') {\n \t var original_jsonpScriptSrc = jsonpScriptSrc;\n \t function patchJsonpScriptSrc () {\n \t try {\n \t if (typeof replaceSrc !== \"function\") {\n \t throw new Error(\"WebpackRequireFrom: 'replaceSrc' is not a function or not available at runtime. See https://github.com/agoldis/webpack-require-from#troubleshooting\");\n \t }\n \t var newSrc = replaceSrc(original_jsonpScriptSrc.apply(this, arguments));\n \t if (!newSrc || typeof newSrc !== 'string') {\n \t throw new Error(\"WebpackRequireFrom: 'replaceSrc' does not return string. See https://github.com/agoldis/webpack-require-from#troubleshooting\");\n \t }\n \t return newSrc;\n \t } catch (e) {\n \t if (!false) {\n \t console.error(e);\n \t }\n \t return original_jsonpScriptSrc.apply(this, arguments);\n \t }\n \t }\n \t jsonpScriptSrc = patchJsonpScriptSrc\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n \t// WebpackRequireFrom\n \tObject.defineProperty(__webpack_require__, \"p\", {\n \t get: function () {\n \treturn \"elc-component-renderer/\";\n \t }\n \t})\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","!function(e,n){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=n();else if(\"function\"==typeof define&&define.amd)define([],n);else{var t=n();for(var r in t)(\"object\"==typeof exports?exports:e)[r]=t[r]}}(window,(function(){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"elc-logging/\",t(t.s=\"./src/index.ts\")}({\"../../node_modules/process/browser.js\":function(e,n){var t,r,o=e.exports={};function s(){throw new Error(\"setTimeout has not been defined\")}function i(){throw new Error(\"clearTimeout has not been defined\")}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===s||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function c(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(n){try{return r.call(null,e)}catch(n){return r.call(this,e)}}}!function(){try{t=\"function\"==typeof setTimeout?setTimeout:s}catch(e){t=s}try{r=\"function\"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var a,f=[],l=!1,g=-1;function d(){l&&a&&(l=!1,a.length?f=a.concat(f):g=-1,f.length&&m())}function m(){if(!l){var e=u(d);l=!0;for(var n=f.length;n;){for(a=f,f=[];++g1)for(var t=1;t=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))}function s(n){if(n[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+n[0]+(this.useColors?\"%c \":\" \")+\"+\"+e.exports.humanize(this.diff),!this.useColors)return;const t=\"color: \"+this.color;n.splice(1,0,t,\"color: inherit\");let r=0,o=0;n[0].replace(/%[a-zA-Z%]/g,e=>{\"%%\"!==e&&(r++,\"%c\"===e&&(o=r))}),n.splice(o,0,t)}function i(e){try{e?n.storage.setItem(\"debug\",e):n.storage.removeItem(\"debug\")}catch(e){}}function u(){let e;try{e=n.storage.getItem(\"debug\")}catch(e){}return!e&&void 0!==r&&\"env\"in r&&(e=Object({BROWSER:!0,NODE_ENV:\"production\"}).DEBUG),e}function c(){try{return localStorage}catch(e){}}n.formatArgs=s,n.save=i,n.load=u,n.useColors=o,n.storage=c(),n.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],n.log=console.debug||console.log||(()=>{}),e.exports=t(\"./node_modules/debug/src/common.js\")(n);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return\"[UnexpectedJSONParseError]: \"+e.message}}}).call(this,t(\"../../node_modules/process/browser.js\"))},\"./node_modules/debug/src/common.js\":function(e,n,t){function r(e){function n(e){let n=0;for(let t=0;t{if(\"%%\"===n)return n;u++;const s=r.formatters[t];if(\"function\"==typeof s){const t=e[u];n=s.call(o,t),e.splice(u,1),u--}return n}),r.formatArgs.call(o,e);(o.log||r.log).apply(o,e)}return t.namespace=e,t.enabled=r.enabled(e),t.useColors=r.useColors(),t.color=r.selectColor(e),t.destroy=o,t.extend=s,\"function\"==typeof r.init&&r.init(t),r.instances.push(t),t}function o(){const e=r.instances.indexOf(this);return-1!==e&&(r.instances.splice(e,1),!0)}function s(e,n){const t=r(this.namespace+(void 0===n?\":\":n)+e);return t.log=this.log,t}function i(e){let n;r.save(e),r.names=[],r.skips=[];const t=(\"string\"==typeof e?e:\"\").split(/[\\s,]+/),o=t.length;for(n=0;n\"-\"+e)].join(\",\");return r.enable(\"\"),e}function c(e){if(\"*\"===e[e.length-1])return!0;let n,t;for(n=0,t=r.skips.length;n{r[n]=e[n]}),r.instances=[],r.names=[],r.skips=[],r.formatters={},r.selectColor=n,r.enable(r.load()),r}e.exports=r},\"./node_modules/ms/index.js\":function(e,n){var t=1e3,r=60*t,o=60*r,s=24*o,i=7*s,u=365.25*s;function c(e){if(!((e=String(e)).length>100)){var n=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(n){var c=parseFloat(n[1]);switch((n[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return c*u;case\"weeks\":case\"week\":case\"w\":return c*i;case\"days\":case\"day\":case\"d\":return c*s;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return c*o;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return c*r;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return c*t;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return c;default:return}}}}function a(e){var n=Math.abs(e);return n>=s?Math.round(e/s)+\"d\":n>=o?Math.round(e/o)+\"h\":n>=r?Math.round(e/r)+\"m\":n>=t?Math.round(e/t)+\"s\":e+\"ms\"}function f(e){var n=Math.abs(e);return n>=s?l(e,n,s,\"day\"):n>=o?l(e,n,o,\"hour\"):n>=r?l(e,n,r,\"minute\"):n>=t?l(e,n,t,\"second\"):e+\" ms\"}function l(e,n,t,r){var o=n>=1.5*t;return Math.round(e/t)+\" \"+r+(o?\"s\":\"\")}e.exports=function(e,n){n=n||{};var t=typeof e;if(\"string\"===t&&e.length>0)return c(e);if(\"number\"===t&&isFinite(e))return n.long?f(e):a(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))}},\"./src/index.ts\":function(e,n,t){\"use strict\";t.r(n);var r=t(\"./node_modules/debug/src/browser.js\");function o(e,n){if(!(e instanceof n))throw new TypeError(\"Cannot call a class as a function\")}var s=function e(n){var t=this;o(this,e),this.error=function(e){t.errorDebugger&&t.errorDebugger(t.enhanceLogData(e))},this.info=function(e){t.infoDebugger&&t.infoDebugger(t.enhanceLogData(e))},this.warning=function(e){t.warningDebugger&&t.warningDebugger(t.enhanceLogData(e))},this.event=function(e){t.eventDebugger&&t.eventDebugger(t.enhanceLogData(e))},this.query=function(e){t.queryDebugger&&t.queryDebugger(t.enhanceLogData(e))},this.command=function(e){t.commandDebugger&&t.commandDebugger(t.enhanceLogData(e))},this.enhanceLogData=function(e){return Object.assign(Object.assign({},e),{triggerSource:t.serviceName,date:(new Date).toUTCString()})};var s=Object(r.debug)(n);this.serviceName=n,s.enabled&&(this.errorDebugger=s.extend(\"error\"),this.infoDebugger=s.extend(\"info\"),this.warningDebugger=s.extend(\"warning\"),this.eventDebugger=s.extend(\"event\"),this.queryDebugger=s.extend(\"query\"),this.commandDebugger=s.extend(\"command\"))},i=new s(\"service-bus\"),u=function(e){return{beforeEventListenerRegister:function(e,n,t){i.event({triggerType:e,message:\"beforeEventListenerRegister\"}),t(e,n)},beforeEmit:function(e,n,t){i.event({triggerType:e,payload:n,message:\"beforeEmit\"}),t(e,n)},afterEmit:function(e,n){i.event({triggerType:e,payload:n,message:\"afterEmit\"})},beforeQueryRegister:function(e,n,t,r){i.query({triggerType:e,message:\"beforeQueryRegister\"}),r&&r(e,n,t)},beforeQuery:function(e,n,t){return i.query({triggerType:e,payload:n,message:\"beforeQuery\"}),t(e,n)},afterQuery:function(e,n){i.query({triggerType:e,payload:n,message:\"afterQuery\"})}}};t.d(n,\"ServiceBusLogHook\",(function(){return u})),t.d(n,\"ELCLogger\",(function(){return s}))}})}));\n//# sourceMappingURL=bundle.js.map","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ServiceBus } from 'elc-service-bus';\nimport { LoadableComponent } from '@loadable/component';\n\nexport const SERVICE_VIEW_CLASSNAME = 'elc-service-view-renderer';\nexport const SERVICE_VIEW_RENDERED_ATTRIBUTE = 'data-rendered-view';\nexport const MOBILE_VERSION_SELECTOR = 'js-mobile-version';\nexport const DESKTOP_VERSION_SELECTOR = 'js-desktop-version';\n\nexport type RegisteredComponent = () => Promise<{\n ['default']: React.ComponentType;\n}>;\n\nexport interface IComponent {\n componentName: string;\n component: LoadableComponent;\n viewController?(): IComponentViewController;\n}\n\nexport interface IComponentRegistry {\n [key: string]: IComponent;\n}\nexport interface ICachedComponentsRegistry {\n [key: string]: React.ComponentType;\n}\n\ninterface IObjectOfStrings {\n [key: string]: string;\n}\n\ninterface IServiceBusTopics {\n commands: IObjectOfStrings;\n events: IObjectOfStrings;\n queries: IObjectOfStrings;\n}\n\nexport interface IViewControllerData {\n [key: string]: any;\n}\n\nexport type ViewControllerLoadedMethod = (...args: any[]) => Promise;\n\nexport interface IComponentViewController {\n id?: string;\n loaded?: ViewControllerLoadedMethod;\n data?: IViewControllerData;\n dataState?: IViewControllerData;\n configMergeStrategy?: Function;\n initialize?(...args: any[]): void;\n handleState?(...args: any[]): void;\n setSSRState(data: IViewControllerData): void;\n setId(id: string): void;\n isLoading: boolean;\n}\n\nexport interface IServiceRegistryComponent {\n isLazy?: boolean;\n views?: string[];\n events?: string[];\n queries?: string[];\n name: string;\n version: string;\n isStarted: boolean;\n serviceBusController?: any;\n componentsRegistry: IComponentRegistry;\n cachedComponentsRegistry: ICachedComponentsRegistry;\n serviceInitializer: any;\n start(appConfig: any): Promise;\n register?(): void;\n getView(componentName: string): IComponent | undefined;\n setViewInCache(componentName: string, component: React.ComponentType): void;\n getViewFromCache(componentName: string): React.ComponentType;\n registerView(\n componentName: string,\n component: RegisteredComponent,\n viewController?: () => object\n ): void;\n}\n\ninterface IServiceRegistry {\n [key: string]: IServiceRegistryComponent;\n}\ninterface IPayload {\n url: string;\n body?: {};\n options?: {};\n headers?: {};\n}\n\ninterface IGetPayload {\n url: string;\n options?: {};\n headers?: {};\n params?: {};\n}\ninterface IRequestOptions {\n debounceInterval?: number;\n}\nexport type HeaderType = 'Business-Unit' | 'Authorization' | 'AuthorizationToken' | 'ClientId';\nexport type HeaderObject = { [key in HeaderType]?: string };\nexport type IHeaderSetter = () => Promise;\nexport interface IHttpTransport {\n getStaticGlobalHeaders(): HeaderObject;\n setBaseUrl(baseUrl: string): void;\n addGlobalHeaders(headers: HeaderObject): void;\n removeGlobalHeader(headerName: string): void;\n addGlobalHeaderSetter(setter: IHeaderSetter): void;\n removeGlobalHeaderSetter(setter: IHeaderSetter): void;\n delete(payload: string | IPayload): Promise;\n post(payload: IPayload): Promise;\n patch(payload: IPayload): Promise;\n put(payload: IPayload): Promise;\n get(payload: string | IGetPayload, IRequestOptions?: IRequestOptions): Promise;\n readonly isAuthFailureHandlingEnabled: boolean;\n setAuthFailureHandlingEnabled(enabled: boolean): void;\n}\n\nexport interface IUtagData {\n [key: string]: string | string[] | undefined | boolean | number | null | number[];\n}\nexport interface IUtagCfgOvrd {\n noview: boolean;\n dom_complete?: boolean;\n lowerqp?: boolean;\n noload?: boolean | number;\n nocookie?: boolean;\n readywait?: boolean | number;\n waittimer?: number;\n}\nexport interface IUtag {\n link(data: IUtagData, cb?: Function): void;\n view(data: IUtagData, cb?: Function): void;\n}\n\ninterface IDrupalSite {\n translations?: any;\n trackingDataLayer?: any;\n}\n\ninterface IComponentRenderer {\n init(initialMarkup?: string): void;\n}\n\ntype IObjectLike = { [key: string]: any } | null;\n\ndeclare global {\n // Augment Node.js `global`\n namespace NodeJS {\n interface Global {\n ServiceBusTopics: IServiceBusTopics;\n ServiceRegistry: IServiceRegistry;\n GlobalServiceBus: ServiceBus;\n HttpTransport: IHttpTransport;\n __translationsCache__: { [key: string]: string };\n __configsCache__: { [key: string]: any };\n getPreloadedConfigs(fields?: string[]): IObjectLike;\n addConfigs(configs: object): void;\n getPreloadedTranslations(fields?: string[]): IObjectLike;\n addTranslations(translations: object): void;\n replaceSrc(originalSrc: string): string;\n utag_data: IUtagData;\n utag_cfg_ovrd: IUtagCfgOvrd;\n utag: IUtag;\n site?: IDrupalSite;\n location: Location;\n ComponentRenderer: IComponentRenderer;\n registerTranslationFieldsToPreload: Function;\n registerConfigFieldsToPreload: Function;\n versions: IObjectOfStrings;\n getServiceVersions(): void;\n __ssr: boolean;\n }\n }\n\n // Augment Browser `window`\n interface Window {\n ServiceBusTopics: IServiceBusTopics;\n __translationsCache__: { [key: string]: string };\n __configsCache__: { [key: string]: any };\n getPreloadedConfigs(fields?: string[]): IObjectLike;\n addConfigs(configs: object): void;\n getPreloadedTranslations(fields?: string[]): IObjectLike;\n addTranslations(translations: object): void;\n ServiceRegistry: IServiceRegistry;\n GlobalServiceBus: ServiceBus;\n HttpTransport: IHttpTransport;\n replaceSrc(originalSrc: string): string;\n utag_data: any;\n utag_cfg_ovrd: IUtagCfgOvrd;\n utag: IUtag;\n location: Location;\n site?: IDrupalSite;\n addEventListener(a: string, b: Function): void;\n ComponentRenderer: IComponentRenderer;\n registerTranslationFieldsToPreload: Function;\n registerConfigFieldsToPreload: Function;\n versions: IObjectOfStrings;\n getServiceVersions(): void;\n __ssr: boolean;\n }\n\n // Augment Web Worker `self`\n interface WorkerGlobalScope {\n ServiceBusTopics: IServiceBusTopics;\n ServiceRegistry: IServiceRegistry;\n GlobalServiceBus: ServiceBus;\n HttpTransport: IHttpTransport;\n __translationsCache__: { [key: string]: string };\n __configsCache__: { [key: string]: any };\n getPreloadedConfigs(fields?: string[]): IObjectLike;\n addConfigs(configs: object): void;\n getPreloadedTranslations(fields?: string[]): IObjectLike;\n addTranslations(translations: object): void;\n replaceSrc(originalSrc: string): string;\n utag_data: IUtagData;\n utag_cfg_ovrd: IUtagCfgOvrd;\n utag: IUtag;\n location: Location;\n addEventListener(a: string, b: Function): void;\n ComponentRenderer: IComponentRenderer;\n registerTranslationFieldsToPreload: Function;\n registerConfigFieldsToPreload: Function;\n }\n}\n\nexport const isWebRendered = typeof self === 'object' && self.self === self;\n\nexport const root: NodeJS.Global | Window =\n (isWebRendered && self) ||\n (typeof global === 'object' && global.global === global && global) ||\n window;\n","module.exports = {\"name\":\"elc-component-renderer\",\"version\":\"2.6.0\",\"description\":\"elc-component-renderer component\",\"main\":\"./build/bundle.js\",\"types\":\"./typings/index.d.ts\",\"repository\":{\"type\":\"git\",\"url\":\"https://bitbucket.esteeonline.com/projects/STARDUST/repos/fe-elc-component-renderer.git\"},\"scripts\":{\"test\":\"scripts test\",\"test:ci\":\"scripts test:ci\",\"build\":\"scripts build\",\"build:prod\":\"scripts build:prod\",\"eslint\":\"scripts eslint\",\"eslint:ci\":\"scripts eslint:ci\",\"stylelint\":\"scripts stylelint\",\"stylelint:ci\":\"scripts stylelint:ci\",\"prettier\":\"scripts prettier\",\"bundler:analyzer\":\"scripts bundler:analyzer\",\"cz\":\"npm run prettyquick && git add -A && scripts cz\",\"release\":\"npm run build:prod\",\"version:snapshot\":\"scripts version:snapshot > versions.txt\",\"danger\":\"scripts danger\",\"danger:ci\":\"scripts danger:ci\",\"pr\":\"yarn run build:prod && yarn run test:ci && yarn run stylelint:ci && yarn run danger:ci && yarn run sonarqube\",\"prettyquick\":\"pretty-quick\",\"sonarqube\":\"scripts sonarqube\"},\"author\":\"Softvision\",\"license\":\"Commercial\",\"dependencies\":{\"elc-base-theme\":\"^2.0.1\",\"elc-logging\":\"^1.0.16\",\"elc-universal-utils\":\"^3.0.11\"},\"devDependencies\":{\"@loadable/component\":\"^5.13.1\",\"cross-env\":\"^5.0.1\",\"elc-scripts\":\"^1.23.0\",\"elc-service\":\"^5.0.21\",\"elc-service-bus\":\"^1.28.0\",\"mobx\":\"4.3.0\",\"mobx-react\":\"^5.1.2\",\"styled-components\":\"^3.3.2\",\"webpack\":\"4.23.1\"},\"config\":{\"cz-customizable\":{\"config\":\"node_modules/elc-scripts/config/commitizen/commitizen.config.js\"}},\"jestSonar\":{\"reportPath\":\"reports\",\"reportFile\":\"test-reporter.xml\",\"indent\":4},\"module\":\"./src/index.ts\"}","export type storageKeyType = 'localStorage' | 'sessionStorage';\nexport namespace BrowserStorage {\n export function eraseCookie(name: string) {\n document.cookie = `${name}=; Max-Age=-99999999;`;\n }\n\n export function setCookie(name: string, value: string, daysOrDate: number | Date) {\n let expires = '';\n if (daysOrDate) {\n const expirationDate =\n typeof daysOrDate === 'number'\n ? new Date(Date.now() + daysOrDate * 24 * 60 * 60 * 1000)\n : daysOrDate;\n expires = `; expires=${expirationDate.toUTCString()}`;\n }\n document.cookie = `${name}=${value || ''}${expires};path=/`;\n }\n\n export function getCookie(name: string) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) {\n return c.substring(nameEQ.length, c.length);\n }\n }\n\n return null;\n }\n\n export function getItem(key: string, storageKey: storageKeyType = 'localStorage') {\n try {\n if (window[storageKey].getItem(key) !== null) {\n return window[storageKey].getItem(key);\n }\n } catch (e) {\n console.error(e);\n\n return getCookie(key);\n }\n }\n\n export function setItem(\n key: string,\n value: string,\n storageKey: storageKeyType = 'localStorage'\n ) {\n try {\n window[storageKey].setItem(key, value);\n } catch (e) {\n console.error(e);\n setCookie(key, value, 20);\n }\n }\n\n export function removeItem(key: string, storageKey: storageKeyType = 'localStorage') {\n try {\n window[storageKey].removeItem(key);\n } catch (e) {\n console.error(e);\n eraseCookie(key);\n }\n }\n\n export function storagePolling(key: string, callBack: Function) {\n let storageValue = getItem(key);\n\n const checkForKeyChange = () => {\n const latestValue = getItem(key);\n\n if (storageValue !== latestValue) {\n storageValue = latestValue;\n callBack(latestValue);\n }\n };\n\n return setInterval(checkForKeyChange, 2000);\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","enum RenderStrategies {\n default = 'default',\n ondemand = 'ondemand',\n serverside = 'serverside'\n}\n\nexport type RenderStrategiesTypes = keyof typeof RenderStrategies;\n\nexport abstract class LazyRenderer {\n protected abstract getNodeAttribute(node: HTMLElement, name: string): string | null;\n private intersectionObserver: IntersectionObserver;\n private viewHeight: number;\n private ALLOWED_PIXELS = 200;\n private pendingNodes: Set = new Set([]);\n\n private updateViewHeight = () => {\n this.viewHeight = Math.max(document.documentElement.clientHeight, window.innerHeight);\n };\n\n private isInViewport = (node: HTMLElement): boolean => {\n const { bottom, top } = node.getBoundingClientRect();\n if (!this.viewHeight) {\n this.updateViewHeight();\n }\n // To load before get's into screen (scrolling down)\n const isBottomLessThanViewport = bottom < this.viewHeight + this.ALLOWED_PIXELS;\n // Check if its on viewport or close to it\n const isBottomInViewport = bottom > -this.ALLOWED_PIXELS;\n\n const isBottomVisible = isBottomLessThanViewport && isBottomInViewport;\n\n // In case it is scrolling up to start rendering\n const isTopVisible = top + this.ALLOWED_PIXELS > 0 && top < this.viewHeight;\n\n // In case node is higher than viewport\n const isHigherThanViewHeight = bottom < 0 && top > this.viewHeight;\n\n return isBottomVisible || isTopVisible || isHigherThanViewHeight;\n };\n\n private getRenderMethodStrategy = (node: HTMLElement) =>\n this.getNodeAttribute(node, 'data-render-method') ||\n RenderStrategies.default;\n\n private isNodeInViewport = (node: HTMLElement): boolean => {\n if (!this.isInViewport(node)) {\n this.pendingNodes.add(node);\n\n return false;\n }\n\n return true;\n };\n\n public shouldRenderNode = (node: HTMLElement): boolean => {\n const renderStrategy: RenderStrategiesTypes = this.getRenderMethodStrategy(node);\n\n if (renderStrategy === RenderStrategies.ondemand) {\n return this.isNodeInViewport(node);\n }\n\n return true;\n };\n\n public initLazyRenderer = (onNodeDisplay: (node: Element) => void) => {\n const options = {\n root: null,\n rootMargin: '0px',\n threshold: 0\n };\n\n const intersectionCallback = ([entry]: IntersectionObserverEntry[]) => {\n if (entry.isIntersecting) {\n const target = entry.target as HTMLElement;\n\n this.pendingNodes.delete(target);\n this.intersectionObserver.unobserve(target);\n // No more nodes to observe\n if (this.pendingNodes.size === 0) {\n this.intersectionObserver.disconnect();\n // Setting the property as an optional `null` in the interface would add more checks and that could end up in a bug\n // @ts-ignore\n this.intersectionObserver = null;\n }\n onNodeDisplay(target);\n }\n };\n\n this.intersectionObserver = new IntersectionObserver(intersectionCallback, options);\n this.pendingNodes.forEach(node => this.intersectionObserver.observe(node));\n };\n}\n","export interface IBreakpoints {\n [key: string]: number;\n}\n\nexport const layoutPageContentWidth: number = 1260;\n\nexport const Breakpoints: IBreakpoints = {\n desktop: 768,\n largeScreen: 1024,\n extraLargeScreen: 1200\n};\n\nexport const breakpoint = (brp: string) => (\n code: TemplateStringsArray,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...placeholders: any[]\n) => {\n // interleave the code with the placeholders\n let result = placeholders.reduce((acc, holder, idx) => `${acc}${code[idx]}${holder}`, '');\n\n // add the code literal\n result = `${result}${code[code.length - 1]}`;\n\n return `@media(min-width: ${Breakpoints[brp]}px) {${result}}`;\n};\n","export const cleanseDOM = (selector: string) => {\r\n const wrappers = document.querySelectorAll(selector);\r\n\r\n wrappers.forEach(wrapper => {\r\n wrapper.replaceWith(...wrapper.childNodes);\r\n });\r\n};\r\n\r\nexport const removeAllNodesBySelector = (selector: string) => {\r\n document.querySelectorAll(selector).forEach(node => node.remove());\r\n};\r\n","import { ELCLogger } from 'elc-logging';\n\nconst logger: ELCLogger = new ELCLogger('elc-component-renderer');\n\nexport const runPerformanceMarker = ({\n markArgument,\n measureArguments\n}: {\n markArgument: string;\n measureArguments?: string[];\n}) => {\n try {\n window.performance.mark(markArgument);\n\n if (measureArguments) {\n window.performance.measure.apply(null, measureArguments);\n }\n } catch (error) {\n logger.error({\n message: `[elc-component-renderer]: ${error}`,\n triggerType: 'error'\n });\n }\n};\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { MOBILE_VERSION_SELECTOR, DESKTOP_VERSION_SELECTOR } from 'elc-universal-utils';\nimport { Breakpoints } from 'elc-base-theme';\nimport { removeAllNodesBySelector, cleanseDOM } from './utils/DOMCleanser';\nimport { runPerformanceMarker } from './utils/PerformanceMarker';\nimport { ComponentRenderer, ComponentNodeType } from './renderers';\n\nconst COMPONENT_SELECTOR = '[data-component]';\n\ninterface IRenderParams {\n component: React.ReactElement;\n node: HTMLElement;\n isSSR: boolean;\n name: string;\n}\n\nexport class BrowserComponentRenderer extends ComponentRenderer {\n private nodesToRenderList: Set = new Set([]);\n private isRenderReadyPromise: Promise;\n public isRenderReady = () => this.isRenderReadyPromise;\n\n protected getNodeAttribute = (node: HTMLElement, name: string) => node.getAttribute(name);\n\n private isElement = (node: Node) => node.nodeType === Node.ELEMENT_NODE;\n\n private isServiceViewNode = (element: HTMLElement): boolean =>\n element.matches(COMPONENT_SELECTOR);\n\n private getServiceViewsFromNode = (node: HTMLElement) =>\n node.querySelectorAll(COMPONENT_SELECTOR);\n\n private addNodeToRenderList = (nodes: Set, nodeToAdd: HTMLElement) => {\n if (!this.nodesToRenderList.has(nodeToAdd)) {\n nodes.add(nodeToAdd);\n this.nodesToRenderList.add(nodeToAdd);\n }\n };\n\n private removeNodeFromRenderList = (nodeToRemove: HTMLElement) => {\n if (this.nodesToRenderList.has(nodeToRemove)) {\n this.nodesToRenderList.delete(nodeToRemove);\n }\n };\n\n private processMutationRecord = (nodes: Set, record: MutationRecord) => {\n record.addedNodes.forEach((node: HTMLElement) => {\n if (this.isElement(node)) {\n const serviceViews = this.isServiceViewNode(node)\n ? [node]\n : this.getServiceViewsFromNode(node);\n\n serviceViews.forEach((view: HTMLElement) => this.addNodeToRenderList(nodes, view));\n }\n });\n\n // If a ServiceView is removed from DOM we need to remove also the reference to it\n record.removedNodes.forEach(this.removeNodeFromRenderList);\n\n return nodes;\n };\n\n private onHTMLChanged = async (records: MutationRecord[]) => {\n const addedNodes = records.reduce(this.processMutationRecord, new Set());\n\n await this.renderReactNodes([...addedNodes]);\n };\n\n private createMutationObserver = (callback: MutationCallback) => {\n if (typeof MutationObserver !== 'undefined') {\n return new MutationObserver(callback);\n }\n\n return null;\n };\n\n private watchRenderOutput() {\n const mutationObserverComponent = this.createMutationObserver(this.onHTMLChanged);\n if (mutationObserverComponent) {\n mutationObserverComponent.observe(document.body, {\n subtree: true,\n childList: true\n });\n }\n }\n\n private render = ({ component, node, isSSR, name }: IRenderParams) => {\n if (isSSR) {\n ReactDOM.hydrate(component, node, () => {\n runPerformanceMarker({\n markArgument: `get_view_ssr_end_${name}`,\n measureArguments: [\n `hydrate_time_${name}`,\n `get_view_${name}`,\n `get_view_ssr_end_${name}`\n ]\n });\n });\n } else {\n ReactDOM.render(component, node, () => {\n runPerformanceMarker({\n markArgument: `get_view_end_${name}`,\n measureArguments: [\n `render_time_${name}`,\n `get_view_${name}`,\n `get_view_end_${name}`\n ]\n });\n });\n }\n };\n\n private renderReactNodes = async (nodes: HTMLElement[]) => {\n await Promise.all(\n nodes.map(async (node: HTMLElement) => {\n const nodeToRender: ComponentNodeType | null = await this.getComponentForNode(\n this.convertNodeToComponentNodeType(node)\n );\n\n if (nodeToRender && nodeToRender.component) {\n const { component, state, name } = nodeToRender;\n this.render({\n component,\n node: nodeToRender.node,\n isSSR: Boolean(state),\n name\n });\n }\n\n return Promise.resolve();\n })\n );\n\n return Promise.resolve();\n };\n\n private renderLazyNode = (node: HTMLElement) => {\n if (!this.nodesToRenderList.has(node)) {\n this.nodesToRenderList.add(node);\n this.renderReactNodes([node]);\n }\n };\n\n private processMountPoints = async () => {\n const allNodes: NodeListOf = document.querySelectorAll(COMPONENT_SELECTOR);\n\n const toRenderNodes = [...allNodes].filter(this.shouldRenderNode);\n this.nodesToRenderList = new Set(toRenderNodes);\n\n await this.renderReactNodes(toRenderNodes);\n\n if (toRenderNodes.length < allNodes.length) {\n this.initLazyRenderer(this.renderLazyNode);\n }\n };\n\n private onDOMContentLoaded = () => {\n this.isRenderReadyPromise = this.processMountPoints();\n // ServiceViews up from 5.x doesn't depend on the Component Renderer anymore\n // We could remove the MutationObserver if we could upgrade all brands to use this newer version\n this.watchRenderOutput();\n };\n\n private cleanUpMarkup = () => {\n const isDesktop = window.matchMedia(`(min-width: ${Breakpoints.desktop}px)`).matches;\n if (isDesktop) {\n removeAllNodesBySelector(`.${MOBILE_VERSION_SELECTOR}`);\n cleanseDOM(`.${DESKTOP_VERSION_SELECTOR}`);\n } else {\n removeAllNodesBySelector(`.${DESKTOP_VERSION_SELECTOR}`);\n cleanseDOM(`.${MOBILE_VERSION_SELECTOR}`);\n }\n };\n\n public init = () => {\n const isDocumentReady = ['complete', 'interactive'].includes(document.readyState);\n this.cleanUpMarkup();\n\n if (isDocumentReady) {\n this.onDOMContentLoaded();\n } else {\n document.addEventListener('DOMContentLoaded', this.onDOMContentLoaded);\n }\n };\n}\n","import * as React from 'react';\nimport {\n root,\n IComponent,\n IComponentViewController,\n IServiceRegistryComponent\n} from 'elc-universal-utils';\nimport { LazyRenderer } from './LazyRenderer';\nimport {\n ViewDataPreloader,\n IConfigsCollection,\n ITranslationsCollection\n} from '../preloader/ViewDataPreloader';\nimport { runPerformanceMarker } from '../utils/PerformanceMarker';\n\nexport type ComponentNodeType = {\n name: string;\n config: string | null;\n component: React.ReactElement | null;\n node: HTMLElement;\n state: string | null;\n};\n\ninterface IComponentPropsFunctions {\n [key: string]: Function | object | null;\n}\n\ninterface IComponentProps extends IComponentPropsFunctions {\n config: object;\n viewController: IComponentViewController | null;\n translations: ITranslationsCollection | null;\n}\n\ninterface IComponentDataState {\n [key: string]: object | number | string;\n}\n\ninterface IComponentState extends IComponentDataState {\n children: string[];\n}\n\ninterface IComponentModule {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: React.ComponentType;\n}\ntype ComponentLoader = () => Promise;\n\nexport abstract class ComponentRenderer extends LazyRenderer {\n protected preloader: ViewDataPreloader | null = null;\n\n public abstract init(initialMarkup?: string): void;\n\n public setDataPreloader = (preloader: ViewDataPreloader) => {\n this.preloader = preloader;\n };\n\n public getDataPreloader = () => {\n return this.preloader;\n };\n\n private getServiceFromViewName = (viewName: string) => {\n const serviceNameKey = Object.keys(root.ServiceRegistry).find(serviceName =>\n root.ServiceRegistry[serviceName].getView(viewName)\n );\n\n return serviceNameKey && root.ServiceRegistry[serviceNameKey];\n };\n\n private getElementProps = async (\n node: ComponentNodeType,\n componentView: IComponent\n ): Promise => {\n const parsedConfig = node.config ? JSON.parse(node.config) : {};\n const viewController: IComponentViewController | null = componentView.viewController\n ? componentView.viewController()\n : null;\n\n let translations: ITranslationsCollection | null = null;\n let configs: IConfigsCollection | null = null;\n // Don't overload components for non exported views otherwise will crash\n if (this.getNodeAttribute(node.node, 'data-version')) {\n if (this.preloader) {\n await this.preloader.preload();\n\n translations = this.preloader.getPreloadedTranslations() || {};\n translations = Object.keys(translations).length === 0 ? null : translations;\n\n configs = this.preloader.getPreloadedConfigs();\n }\n }\n const fnProps = Object.keys(parsedConfig)\n .filter(configKey => parsedConfig[configKey] === '__event__')\n .reduce((eventHandlers, configKey) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eventHandler = function(...args: any[]) {\n const event = new CustomEvent(configKey, {\n detail: args,\n cancelable: true,\n bubbles: false\n });\n node.node.dispatchEvent(event);\n };\n\n return { ...eventHandlers, [configKey]: eventHandler };\n }, {});\n\n return {\n ...fnProps,\n config: { ...configs, ...parsedConfig },\n translations,\n viewController\n };\n };\n\n private getElementToRender = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registeredComponent: React.ComponentType,\n props: IComponentProps\n ) => {\n return React.createElement(registeredComponent, props);\n };\n\n private setStateInController = (state: object, controller: IComponentViewController) => {\n const viewState = Object.values(state)[0]; // { [VIEW_NAME]: { ...state } }\n if (viewState && controller.setSSRState) {\n controller.setSSRState(viewState);\n }\n };\n\n private setControllerId = (config: string | null, controller: IComponentViewController) => {\n if (config && controller.setId) {\n controller.setId(config);\n }\n };\n\n private handleController = (\n viewController: IComponentViewController | null,\n state: IComponentDataState,\n config: string | null\n ) => {\n try {\n if (viewController) {\n this.setStateInController(state, viewController);\n this.setControllerId(config, viewController);\n }\n } catch (error) {\n console.warn(error);\n }\n };\n\n private getViewFromService = async (\n service: IServiceRegistryComponent,\n componentName: string,\n componentView?: IComponent\n ) => {\n let componentModule = service.getViewFromCache && service.getViewFromCache(componentName);\n try {\n if (!componentModule && componentView) {\n const componentViewMethod = (componentView.component.load ||\n componentView.component) as unknown;\n const module = await (componentViewMethod as ComponentLoader)();\n componentModule = module.default;\n }\n } catch (error) {\n console.warn(`Module couldn\\'t be loaded: (${componentName})`, error);\n }\n\n return componentModule;\n };\n\n private setViewInCache = (\n componentName: string,\n service: IServiceRegistryComponent,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n componentModule?: React.ComponentType\n ) => {\n if (componentModule && service.setViewInCache) {\n service.setViewInCache(componentName, componentModule);\n }\n };\n\n private saveViewsInCache = async (componentsName: string[]) => {\n await Promise.all(\n componentsName.map(async componentName => {\n try {\n const service = this.getServiceFromViewName(componentName);\n if (service) {\n const componentView = service.getView(componentName);\n const componentModule = await this.getViewFromService(\n service,\n componentName,\n componentView\n );\n this.setViewInCache(componentName, service, componentModule);\n }\n } catch (error) {\n console.warn(`Error saving module: (${componentName})`, error);\n }\n\n return Promise.resolve();\n })\n );\n\n return Promise.resolve();\n };\n\n private parseState = (state: string | null) => {\n let parsedState: IComponentState | undefined;\n try {\n if (state) {\n parsedState = JSON.parse(state);\n }\n } finally {\n parsedState = parsedState ? parsedState : { children: [] };\n }\n\n return parsedState;\n };\n\n protected getComponentForNode = async (node: ComponentNodeType) => {\n const { state: nodeState, name, config } = node;\n runPerformanceMarker({ markArgument: `get_view_${name}` });\n const service = name ? this.getServiceFromViewName(name) : null;\n if (service) {\n const componentView = service.getView(name);\n const componentModule = await this.getViewFromService(service, name, componentView);\n this.setViewInCache(name, service, componentModule);\n\n if (componentModule && componentView) {\n const { children: serviceViewChildrenNames, ...state } = this.parseState(nodeState);\n await this.saveViewsInCache(serviceViewChildrenNames);\n\n const props = await this.getElementProps(node, componentView);\n this.handleController(props.viewController, state, config);\n node.component = this.getElementToRender(componentModule, props);\n\n return Promise.resolve(node);\n }\n }\n\n return Promise.resolve(null);\n };\n\n protected convertNodeToComponentNodeType = (node: HTMLElement) => ({\n component: null,\n config: this.getNodeAttribute(node, 'data-config'),\n name: this.getNodeAttribute(node, 'data-component') || '',\n node,\n state: this.getNodeAttribute(node, 'data-state')\n });\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\ntype AnyFn = (...rest: any[]) => Promise;\n\nexport const debounceAsync = (fn: AnyFn, ms: number) => (...args: any[]) => {\n let timer: any = null;\n\n if ('_timer_' in fn) {\n timer = (fn as any)._timer_;\n clearTimeout(timer.id);\n timer.id = setTimeout(timer.resolve, ms);\n\n return timer.promise;\n }\n\n timer = {\n promise: Promise.resolve(),\n resolve: () => {},\n id: null\n };\n timer.promise = new Promise((resolve, _) => {\n timer.resolve = () => {\n delete (fn as any)._timer_;\n resolve(fn(...args));\n };\n (timer as any).id = setTimeout(timer.resolve, ms);\n });\n (fn as any)._timer_ = timer;\n\n return timer.promise;\n};\n","import { root } from 'elc-universal-utils';\nimport { debounceAsync } from '../utils/Debounce';\n\nexport interface ITranslationsCollection {\n [key: string]: string;\n}\n\nexport interface IConfigsCollection {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport class ViewDataPreloader {\n private translationsCache: ITranslationsCollection = {};\n private translationsFieldsToPreload: string[] = [];\n\n private configsCache: IConfigsCollection = {};\n private configFieldsToPreload: string[] = [];\n\n private getKeysFromObject(keys: string[], obj: IConfigsCollection | ITranslationsCollection) {\n const requestedObject: IConfigsCollection | ITranslationsCollection = {};\n\n const isKeyMissing: boolean = keys.some(key => {\n const hasKeyInCache: boolean = obj.hasOwnProperty(key);\n if (hasKeyInCache) {\n requestedObject[key] = obj[key];\n }\n\n return !hasKeyInCache;\n });\n\n return !isKeyMissing ? requestedObject : null;\n }\n\n public getPreloadedConfigs = (fields: string[] = []) => {\n if (fields.length === 0) {\n return this.configsCache;\n }\n\n return this.getKeysFromObject(fields, this.configsCache);\n };\n\n public getPreloadedTranslations = (fields: string[] = []) => {\n if (fields.length === 0) {\n return this.translationsCache;\n }\n\n return this.getKeysFromObject(fields, this.translationsCache);\n };\n\n public addTranslations = (translations: ITranslationsCollection) => {\n this.translationsCache = {\n ...(this.translationsCache || {}),\n ...(translations || {})\n };\n };\n\n public registerTranslationFieldsToPreload = (fields: string[] = []) => {\n this.translationsFieldsToPreload = [\n ...new Set(this.translationsFieldsToPreload.concat(fields))\n ];\n this.preload();\n };\n\n public addConfigs = (configs: object) => {\n this.configsCache = {\n ...(this.configsCache || {}),\n ...(configs || {})\n };\n };\n\n public registerConfigFieldsToPreload = (fields: string[] = []) => {\n this.configFieldsToPreload = [...new Set(this.configFieldsToPreload.concat(fields))];\n this.preload();\n };\n\n public preload = debounceAsync(async () => {\n if (!this.getPreloadedTranslations(this.translationsFieldsToPreload)) {\n const trans = await root.GlobalServiceBus.query(\n 'get.translations',\n this.translationsFieldsToPreload\n );\n this.addTranslations(trans);\n }\n if (!this.getPreloadedConfigs(this.configFieldsToPreload)) {\n const cfg = await root.GlobalServiceBus.query('get.config', this.configFieldsToPreload);\n this.addConfigs(cfg);\n }\n this.translationsFieldsToPreload = [];\n this.configFieldsToPreload = [];\n }, 100);\n}\n","import { root } from 'elc-universal-utils';\nimport { BrowserComponentRenderer } from './BrowserComponentRenderer';\nimport { ViewDataPreloader } from './preloader/ViewDataPreloader';\nconst packageJson = require('../package.json');\n\nroot.versions = root.versions || {};\nroot.versions[packageJson.name] = packageJson.version;\n\nif (root && !root.ComponentRenderer) {\n root.ComponentRenderer = new BrowserComponentRenderer();\n const preloader = new ViewDataPreloader();\n root.registerConfigFieldsToPreload =\n root.registerConfigFieldsToPreload || preloader.registerConfigFieldsToPreload;\n root.getPreloadedConfigs = root.getPreloadedConfigs || preloader.getPreloadedConfigs;\n root.registerTranslationFieldsToPreload =\n root.registerTranslationFieldsToPreload || preloader.registerTranslationFieldsToPreload;\n root.getPreloadedTranslations =\n root.getPreloadedTranslations || preloader.getPreloadedTranslations;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (root.ComponentRenderer as any).setDataPreloader(preloader);\n}\n\nexport { BrowserComponentRenderer };\n","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","module.exports = __WEBPACK_EXTERNAL_MODULE_react_dom__;"],"sourceRoot":""}