12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959 |
- /******/ (() => { // webpackBootstrap
- /******/ "use strict";
- /******/ var __webpack_modules__ = ({
- /***/ "../app-backend-core/lib/hook.js":
- /*!***************************************!*\
- !*** ../app-backend-core/lib/hook.js ***!
- \***************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- // this script is injected into every page.
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.installHook = void 0;
- /**
- * Install the hook on window, which is an event emitter.
- * Note because Chrome content scripts cannot directly modify the window object,
- * we are evaling this function by inserting a script tag. That's why we have
- * to inline the whole event emitter implementation here.
- *
- * @param {Window|global} target
- */
- function installHook(target, isIframe = false) {
- const devtoolsVersion = '6.0';
- let listeners = {};
- function injectIframeHook(iframe) {
- if (iframe.__vdevtools__injected) return;
- try {
- iframe.__vdevtools__injected = true;
- const inject = () => {
- try {
- iframe.contentWindow.__VUE_DEVTOOLS_IFRAME__ = iframe;
- const script = iframe.contentDocument.createElement('script');
- script.textContent = ';(' + installHook.toString() + ')(window, true)';
- iframe.contentDocument.documentElement.appendChild(script);
- script.parentNode.removeChild(script);
- } catch (e) {// Ignore
- }
- };
- inject();
- iframe.addEventListener('load', () => inject());
- } catch (e) {// Ignore
- }
- }
- let iframeChecks = 0;
- function injectToIframes() {
- if (typeof window === 'undefined') return;
- const iframes = document.querySelectorAll('iframe:not([data-vue-devtools-ignore])');
- for (const iframe of iframes) {
- injectIframeHook(iframe);
- }
- }
- injectToIframes();
- const iframeTimer = setInterval(() => {
- injectToIframes();
- iframeChecks++;
- if (iframeChecks >= 5) {
- clearInterval(iframeTimer);
- }
- }, 1000);
- if (Object.prototype.hasOwnProperty.call(target, '__VUE_DEVTOOLS_GLOBAL_HOOK__')) {
- if (target.__VUE_DEVTOOLS_GLOBAL_HOOK__.devtoolsVersion !== devtoolsVersion) {
- console.error(`Another version of Vue Devtools seems to be installed. Please enable only one version at a time.`);
- }
- return;
- }
- let hook;
- if (isIframe) {
- const sendToParent = cb => {
- try {
- const hook = window.parent.__VUE_DEVTOOLS_GLOBAL_HOOK__;
- if (hook) {
- return cb(hook);
- } else {
- console.warn('[Vue Devtools] No hook in parent window');
- }
- } catch (e) {
- console.warn('[Vue Devtools] Failed to send message to parent window', e);
- }
- };
- hook = {
- devtoolsVersion,
- // eslint-disable-next-line accessor-pairs
- set Vue(value) {
- sendToParent(hook => {
- hook.Vue = value;
- });
- },
- // eslint-disable-next-line accessor-pairs
- set enabled(value) {
- sendToParent(hook => {
- hook.enabled = value;
- });
- },
- on(event, fn) {
- sendToParent(hook => hook.on(event, fn));
- },
- once(event, fn) {
- sendToParent(hook => hook.once(event, fn));
- },
- off(event, fn) {
- sendToParent(hook => hook.off(event, fn));
- },
- emit(event, ...args) {
- sendToParent(hook => hook.emit(event, ...args));
- },
- cleanupBuffer(matchArg) {
- var _a;
- return (_a = sendToParent(hook => hook.cleanupBuffer(matchArg))) !== null && _a !== void 0 ? _a : false;
- }
- };
- } else {
- hook = {
- devtoolsVersion,
- Vue: null,
- enabled: undefined,
- _buffer: [],
- store: null,
- initialState: null,
- storeModules: null,
- flushStoreModules: null,
- apps: [],
- _replayBuffer(event) {
- const buffer = this._buffer;
- this._buffer = [];
- for (let i = 0, l = buffer.length; i < l; i++) {
- const allArgs = buffer[i];
- allArgs[0] === event // eslint-disable-next-line prefer-spread
- ? this.emit.apply(this, allArgs) : this._buffer.push(allArgs);
- }
- },
- on(event, fn) {
- const $event = '$' + event;
- if (listeners[$event]) {
- listeners[$event].push(fn);
- } else {
- listeners[$event] = [fn];
- this._replayBuffer(event);
- }
- },
- once(event, fn) {
- const on = (...args) => {
- this.off(event, on);
- return fn.apply(this, args);
- };
- this.on(event, on);
- },
- off(event, fn) {
- event = '$' + event;
- if (!arguments.length) {
- listeners = {};
- } else {
- const cbs = listeners[event];
- if (cbs) {
- if (!fn) {
- listeners[event] = null;
- } else {
- for (let i = 0, l = cbs.length; i < l; i++) {
- const cb = cbs[i];
- if (cb === fn || cb.fn === fn) {
- cbs.splice(i, 1);
- break;
- }
- }
- }
- }
- }
- },
- emit(event, ...args) {
- const $event = '$' + event;
- let cbs = listeners[$event];
- if (cbs) {
- cbs = cbs.slice();
- for (let i = 0, l = cbs.length; i < l; i++) {
- try {
- const result = cbs[i].apply(this, args);
- if (typeof (result === null || result === void 0 ? void 0 : result.catch) === 'function') {
- result.catch(e => {
- console.error(`[Hook] Error in async event handler for ${event} with args:`, args);
- console.error(e);
- });
- }
- } catch (e) {
- console.error(`[Hook] Error in event handler for ${event} with args:`, args);
- console.error(e);
- }
- }
- } else {
- this._buffer.push([event, ...args]);
- }
- },
- /**
- * Remove buffered events with any argument that is equal to the given value.
- * @param matchArg Given value to match.
- */
- cleanupBuffer(matchArg) {
- let wasBuffered = false;
- this._buffer = this._buffer.filter(item => {
- if (item.some(arg => arg === matchArg)) {
- wasBuffered = true;
- return false;
- }
- return true;
- });
- return wasBuffered;
- }
- };
- hook.once('init', Vue => {
- hook.Vue = Vue;
- if (Vue) {
- Vue.prototype.$inspect = function () {
- const fn = target.__VUE_DEVTOOLS_INSPECT__;
- fn && fn(this);
- };
- }
- });
- hook.on('app:init', (app, version, types) => {
- const appRecord = {
- app,
- version,
- types
- };
- hook.apps.push(appRecord);
- hook.emit('app:add', appRecord);
- });
- hook.once('vuex:init', store => {
- hook.store = store;
- hook.initialState = clone(store.state);
- const origReplaceState = store.replaceState.bind(store);
- store.replaceState = state => {
- hook.initialState = clone(state);
- origReplaceState(state);
- }; // Dynamic modules
- let origRegister, origUnregister;
- if (store.registerModule) {
- hook.storeModules = [];
- origRegister = store.registerModule.bind(store);
- store.registerModule = (path, module, options) => {
- if (typeof path === 'string') path = [path];
- hook.storeModules.push({
- path,
- module,
- options
- });
- origRegister(path, module, options);
- if (true) {
- // eslint-disable-next-line no-console
- console.log('early register module', path, module, options);
- }
- };
- origUnregister = store.unregisterModule.bind(store);
- store.unregisterModule = path => {
- if (typeof path === 'string') path = [path];
- const key = path.join('/');
- const index = hook.storeModules.findIndex(m => m.path.join('/') === key);
- if (index !== -1) hook.storeModules.splice(index, 1);
- origUnregister(path);
- if (true) {
- // eslint-disable-next-line no-console
- console.log('early unregister module', path);
- }
- };
- }
- hook.flushStoreModules = () => {
- store.replaceState = origReplaceState;
- if (store.registerModule) {
- store.registerModule = origRegister;
- store.unregisterModule = origUnregister;
- }
- return hook.storeModules || [];
- };
- });
- }
- if (false) {}
- Object.defineProperty(target, '__VUE_DEVTOOLS_GLOBAL_HOOK__', {
- get() {
- return hook;
- }
- }); // Handle apps initialized before hook injection
- if (target.__VUE_DEVTOOLS_HOOK_REPLAY__) {
- try {
- target.__VUE_DEVTOOLS_HOOK_REPLAY__.forEach(cb => cb(hook));
- target.__VUE_DEVTOOLS_HOOK_REPLAY__ = [];
- } catch (e) {
- console.error('[vue-devtools] Error during hook replay', e);
- }
- } // Clone deep utility for cloning initial state of the store
- // Forked from https://github.com/planttheidea/fast-copy
- // Last update: 2019-10-30
- // ⚠️ Don't forget to update `./hook.js`
- // utils
- const {
- toString: toStringFunction
- } = Function.prototype;
- const {
- create,
- defineProperty,
- getOwnPropertyDescriptor,
- getOwnPropertyNames,
- getOwnPropertySymbols,
- getPrototypeOf
- } = Object;
- const {
- hasOwnProperty,
- propertyIsEnumerable
- } = Object.prototype;
- /**
- * @enum
- *
- * @const {Object} SUPPORTS
- *
- * @property {boolean} SYMBOL_PROPERTIES are symbol properties supported
- * @property {boolean} WEAKSET is WeakSet supported
- */
- const SUPPORTS = {
- SYMBOL_PROPERTIES: typeof getOwnPropertySymbols === 'function',
- WEAKSET: typeof WeakSet === 'function'
- };
- /**
- * @function createCache
- *
- * @description
- * get a new cache object to prevent circular references
- *
- * @returns the new cache object
- */
- const createCache = () => {
- if (SUPPORTS.WEAKSET) {
- return new WeakSet();
- }
- const object = create({
- add: value => object._values.push(value),
- has: value => !!~object._values.indexOf(value)
- });
- object._values = [];
- return object;
- };
- /**
- * @function getCleanClone
- *
- * @description
- * get an empty version of the object with the same prototype it has
- *
- * @param object the object to build a clean clone from
- * @param realm the realm the object resides in
- * @returns the empty cloned object
- */
- const getCleanClone = (object, realm) => {
- if (!object.constructor) {
- return create(null);
- } // eslint-disable-next-line no-proto
- const prototype = object.__proto__ || getPrototypeOf(object);
- if (object.constructor === realm.Object) {
- return prototype === realm.Object.prototype ? {} : create(prototype);
- }
- if (~toStringFunction.call(object.constructor).indexOf('[native code]')) {
- try {
- return new object.constructor();
- } catch (e) {// Error
- }
- }
- return create(prototype);
- };
- /**
- * @function getObjectCloneLoose
- *
- * @description
- * get a copy of the object based on loose rules, meaning all enumerable keys
- * and symbols are copied, but property descriptors are not considered
- *
- * @param object the object to clone
- * @param realm the realm the object resides in
- * @param handleCopy the function that handles copying the object
- * @returns the copied object
- */
- const getObjectCloneLoose = (object, realm, handleCopy, cache) => {
- const clone = getCleanClone(object, realm);
- for (const key in object) {
- if (hasOwnProperty.call(object, key)) {
- clone[key] = handleCopy(object[key], cache);
- }
- }
- if (SUPPORTS.SYMBOL_PROPERTIES) {
- const symbols = getOwnPropertySymbols(object);
- if (symbols.length) {
- for (let index = 0, symbol; index < symbols.length; index++) {
- symbol = symbols[index];
- if (propertyIsEnumerable.call(object, symbol)) {
- clone[symbol] = handleCopy(object[symbol], cache);
- }
- }
- }
- }
- return clone;
- };
- /**
- * @function getObjectCloneStrict
- *
- * @description
- * get a copy of the object based on strict rules, meaning all keys and symbols
- * are copied based on the original property descriptors
- *
- * @param object the object to clone
- * @param realm the realm the object resides in
- * @param handleCopy the function that handles copying the object
- * @returns the copied object
- */
- const getObjectCloneStrict = (object, realm, handleCopy, cache) => {
- const clone = getCleanClone(object, realm);
- const properties = SUPPORTS.SYMBOL_PROPERTIES ? [].concat(getOwnPropertyNames(object), getOwnPropertySymbols(object)) : getOwnPropertyNames(object);
- if (properties.length) {
- for (let index = 0, property, descriptor; index < properties.length; index++) {
- property = properties[index];
- if (property !== 'callee' && property !== 'caller') {
- descriptor = getOwnPropertyDescriptor(object, property);
- descriptor.value = handleCopy(object[property], cache);
- defineProperty(clone, property, descriptor);
- }
- }
- }
- return clone;
- };
- /**
- * @function getRegExpFlags
- *
- * @description
- * get the flags to apply to the copied regexp
- *
- * @param regExp the regexp to get the flags of
- * @returns the flags for the regexp
- */
- const getRegExpFlags = regExp => {
- let flags = '';
- if (regExp.global) {
- flags += 'g';
- }
- if (regExp.ignoreCase) {
- flags += 'i';
- }
- if (regExp.multiline) {
- flags += 'm';
- }
- if (regExp.unicode) {
- flags += 'u';
- }
- if (regExp.sticky) {
- flags += 'y';
- }
- return flags;
- };
- const {
- isArray
- } = Array;
- const GLOBAL_THIS = (() => {
- if (typeof self !== 'undefined') {
- return self;
- }
- if (typeof window !== 'undefined') {
- return window;
- }
- if (typeof __webpack_require__.g !== 'undefined') {
- return __webpack_require__.g;
- }
- if (console && console.error) {
- console.error('Unable to locate global object, returning "this".');
- }
- })();
- /**
- * @function clone
- *
- * @description
- * copy an object deeply as much as possible
- *
- * If `strict` is applied, then all properties (including non-enumerable ones)
- * are copied with their original property descriptors on both objects and arrays.
- *
- * The object is compared to the global constructors in the `realm` provided,
- * and the native constructor is always used to ensure that extensions of native
- * objects (allows in ES2015+) are maintained.
- *
- * @param object the object to copy
- * @param [options] the options for copying with
- * @param [options.isStrict] should the copy be strict
- * @param [options.realm] the realm (this) object the object is copied from
- * @returns the copied object
- */
- function clone(object, options = null) {
- // manually coalesced instead of default parameters for performance
- const isStrict = !!(options && options.isStrict);
- const realm = options && options.realm || GLOBAL_THIS;
- const getObjectClone = isStrict ? getObjectCloneStrict : getObjectCloneLoose;
- /**
- * @function handleCopy
- *
- * @description
- * copy the object recursively based on its type
- *
- * @param object the object to copy
- * @returns the copied object
- */
- const handleCopy = (object, cache) => {
- if (!object || typeof object !== 'object' || cache.has(object)) {
- return object;
- } // DOM objects
- if (typeof HTMLElement !== 'undefined' && object instanceof HTMLElement) {
- return object.cloneNode(false);
- }
- const Constructor = object.constructor; // plain objects
- if (Constructor === realm.Object) {
- cache.add(object);
- return getObjectClone(object, realm, handleCopy, cache);
- }
- let clone; // arrays
- if (isArray(object)) {
- cache.add(object); // if strict, include non-standard properties
- if (isStrict) {
- return getObjectCloneStrict(object, realm, handleCopy, cache);
- }
- clone = new Constructor();
- for (let index = 0; index < object.length; index++) {
- clone[index] = handleCopy(object[index], cache);
- }
- return clone;
- } // dates
- if (object instanceof realm.Date) {
- return new Constructor(object.getTime());
- } // regexps
- if (object instanceof realm.RegExp) {
- clone = new Constructor(object.source, object.flags || getRegExpFlags(object));
- clone.lastIndex = object.lastIndex;
- return clone;
- } // maps
- if (realm.Map && object instanceof realm.Map) {
- cache.add(object);
- clone = new Constructor();
- object.forEach((value, key) => {
- clone.set(key, handleCopy(value, cache));
- });
- return clone;
- } // sets
- if (realm.Set && object instanceof realm.Set) {
- cache.add(object);
- clone = new Constructor();
- object.forEach(value => {
- clone.add(handleCopy(value, cache));
- });
- return clone;
- } // buffers (node-only)
- if (realm.Buffer && realm.Buffer.isBuffer(object)) {
- clone = realm.Buffer.allocUnsafe ? realm.Buffer.allocUnsafe(object.length) : new Constructor(object.length);
- object.copy(clone);
- return clone;
- } // arraybuffers / dataviews
- if (realm.ArrayBuffer) {
- // dataviews
- if (realm.ArrayBuffer.isView(object)) {
- return new Constructor(object.buffer.slice(0));
- } // arraybuffers
- if (object instanceof realm.ArrayBuffer) {
- return object.slice(0);
- }
- } // if the object cannot / should not be cloned, don't
- if ( // promise-like
- hasOwnProperty.call(object, 'then') && typeof object.then === 'function' || // errors
- object instanceof Error || // weakmaps
- realm.WeakMap && object instanceof realm.WeakMap || // weaksets
- realm.WeakSet && object instanceof realm.WeakSet) {
- return object;
- }
- cache.add(object); // assume anything left is a custom constructor
- return getObjectClone(object, realm, handleCopy, cache);
- };
- return handleCopy(object, createCache());
- }
- }
- exports.installHook = installHook;
- /***/ }),
- /***/ "../shared-utils/lib/backend.js":
- /*!**************************************!*\
- !*** ../shared-utils/lib/backend.js ***!
- \**************************************/
- /***/ ((__unused_webpack_module, exports) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.getCatchedGetters = exports.getCustomStoreDetails = exports.getCustomRouterDetails = exports.isVueInstance = exports.getCustomObjectDetails = exports.getCustomInstanceDetails = exports.getInstanceMap = exports.backendInjections = void 0;
- exports.backendInjections = {
- instanceMap: new Map(),
- isVueInstance: () => false,
- getCustomInstanceDetails: () => ({}),
- getCustomObjectDetails: () => undefined
- };
- function getInstanceMap() {
- return exports.backendInjections.instanceMap;
- }
- exports.getInstanceMap = getInstanceMap;
- function getCustomInstanceDetails(instance) {
- return exports.backendInjections.getCustomInstanceDetails(instance);
- }
- exports.getCustomInstanceDetails = getCustomInstanceDetails;
- function getCustomObjectDetails(value, proto) {
- return exports.backendInjections.getCustomObjectDetails(value, proto);
- }
- exports.getCustomObjectDetails = getCustomObjectDetails;
- function isVueInstance(value) {
- return exports.backendInjections.isVueInstance(value);
- }
- exports.isVueInstance = isVueInstance; // @TODO refactor
- function getCustomRouterDetails(router) {
- return {
- _custom: {
- type: 'router',
- display: 'VueRouter',
- value: {
- options: router.options,
- currentRoute: router.currentRoute
- },
- fields: {
- abstract: true
- }
- }
- };
- }
- exports.getCustomRouterDetails = getCustomRouterDetails; // @TODO refactor
- function getCustomStoreDetails(store) {
- return {
- _custom: {
- type: 'store',
- display: 'Store',
- value: {
- state: store.state,
- getters: getCatchedGetters(store)
- },
- fields: {
- abstract: true
- }
- }
- };
- }
- exports.getCustomStoreDetails = getCustomStoreDetails; // @TODO refactor
- function getCatchedGetters(store) {
- const getters = {};
- const origGetters = store.getters || {};
- const keys = Object.keys(origGetters);
- for (let i = 0; i < keys.length; i++) {
- const key = keys[i];
- Object.defineProperty(getters, key, {
- enumerable: true,
- get: () => {
- try {
- return origGetters[key];
- } catch (e) {
- return e;
- }
- }
- });
- }
- return getters;
- }
- exports.getCatchedGetters = getCatchedGetters;
- /***/ }),
- /***/ "../shared-utils/lib/bridge.js":
- /*!*************************************!*\
- !*** ../shared-utils/lib/bridge.js ***!
- \*************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.Bridge = void 0;
- const events_1 = __webpack_require__(/*! events */ "../../node_modules/events/events.js");
- const raf_1 = __webpack_require__(/*! ./raf */ "../shared-utils/lib/raf.js");
- const BATCH_DURATION = 100;
- class Bridge extends events_1.EventEmitter {
- constructor(wall) {
- super();
- this.setMaxListeners(Infinity);
- this.wall = wall;
- wall.listen(messages => {
- if (Array.isArray(messages)) {
- messages.forEach(message => this._emit(message));
- } else {
- this._emit(messages);
- }
- });
- this._batchingQueue = [];
- this._sendingQueue = [];
- this._receivingQueue = [];
- this._sending = false;
- }
- on(event, listener) {
- const wrappedListener = async (...args) => {
- try {
- await listener(...args);
- } catch (e) {
- console.error(`[Bridge] Error in listener for event ${event.toString()} with args:`, args);
- console.error(e);
- }
- };
- return super.on(event, wrappedListener);
- }
- send(event, payload) {
- this._batchingQueue.push({
- event,
- payload
- });
- if (this._timer == null) {
- this._timer = setTimeout(() => this._flush(), BATCH_DURATION);
- }
- }
- /**
- * Log a message to the devtools background page.
- */
- log(message) {
- this.send('log', message);
- }
- _flush() {
- if (this._batchingQueue.length) this._send(this._batchingQueue);
- clearTimeout(this._timer);
- this._timer = null;
- this._batchingQueue = [];
- } // @TODO types
- _emit(message) {
- if (typeof message === 'string') {
- this.emit(message);
- } else if (message._chunk) {
- this._receivingQueue.push(message._chunk);
- if (message.last) {
- this.emit(message.event, this._receivingQueue);
- this._receivingQueue = [];
- }
- } else if (message.event) {
- this.emit(message.event, message.payload);
- }
- } // @TODO types
- _send(messages) {
- this._sendingQueue.push(messages);
- this._nextSend();
- }
- _nextSend() {
- if (!this._sendingQueue.length || this._sending) return;
- this._sending = true;
- const messages = this._sendingQueue.shift();
- try {
- this.wall.send(messages);
- } catch (err) {
- if (err.message === 'Message length exceeded maximum allowed length.') {
- this._sendingQueue.splice(0, 0, messages.map(message => [message]));
- }
- }
- this._sending = false;
- (0, raf_1.raf)(() => this._nextSend());
- }
- }
- exports.Bridge = Bridge;
- /***/ }),
- /***/ "../shared-utils/lib/consts.js":
- /*!*************************************!*\
- !*** ../shared-utils/lib/consts.js ***!
- \*************************************/
- /***/ ((__unused_webpack_module, exports) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.HookEvents = exports.BridgeSubscriptions = exports.BridgeEvents = exports.BuiltinTabs = void 0;
- var BuiltinTabs;
- (function (BuiltinTabs) {
- BuiltinTabs["COMPONENTS"] = "components";
- BuiltinTabs["TIMELINE"] = "timeline";
- BuiltinTabs["PLUGINS"] = "plugins";
- BuiltinTabs["SETTINGS"] = "settings";
- })(BuiltinTabs = exports.BuiltinTabs || (exports.BuiltinTabs = {}));
- var BridgeEvents;
- (function (BridgeEvents) {
- // Misc
- BridgeEvents["TO_BACK_SUBSCRIBE"] = "b:subscribe";
- BridgeEvents["TO_BACK_UNSUBSCRIBE"] = "b:unsubscribe";
- /** Backend is ready */
- BridgeEvents["TO_FRONT_READY"] = "f:ready";
- /** Displays the "detected Vue" console log */
- BridgeEvents["TO_BACK_LOG_DETECTED_VUE"] = "b:log-detected-vue";
- /** Force refresh */
- BridgeEvents["TO_BACK_REFRESH"] = "b:refresh";
- /** Tab was switched */
- BridgeEvents["TO_BACK_TAB_SWITCH"] = "b:tab:switch";
- BridgeEvents["TO_BACK_LOG"] = "b:log";
- /** Reconnected after background script is terminated (idle) */
- BridgeEvents["TO_FRONT_RECONNECTED"] = "f:reconnected";
- /** Change app title (electron) */
- BridgeEvents["TO_FRONT_TITLE"] = "f:title"; // Apps
- /** App was registered */
- BridgeEvents["TO_FRONT_APP_ADD"] = "f:app:add";
- /** Get app list */
- BridgeEvents["TO_BACK_APP_LIST"] = "b:app:list";
- BridgeEvents["TO_FRONT_APP_LIST"] = "f:app:list";
- BridgeEvents["TO_FRONT_APP_REMOVE"] = "f:app:remove";
- BridgeEvents["TO_BACK_APP_SELECT"] = "b:app:select";
- BridgeEvents["TO_FRONT_APP_SELECTED"] = "f:app:selected";
- BridgeEvents["TO_BACK_SCAN_LEGACY_APPS"] = "b:app:scan-legacy"; // Components
- BridgeEvents["TO_BACK_COMPONENT_TREE"] = "b:component:tree";
- BridgeEvents["TO_FRONT_COMPONENT_TREE"] = "f:component:tree";
- BridgeEvents["TO_BACK_COMPONENT_SELECTED_DATA"] = "b:component:selected-data";
- BridgeEvents["TO_FRONT_COMPONENT_SELECTED_DATA"] = "f:component:selected-data";
- BridgeEvents["TO_BACK_COMPONENT_EXPAND"] = "b:component:expand";
- BridgeEvents["TO_FRONT_COMPONENT_EXPAND"] = "f:component:expand";
- BridgeEvents["TO_BACK_COMPONENT_SCROLL_TO"] = "b:component:scroll-to";
- BridgeEvents["TO_BACK_COMPONENT_FILTER"] = "b:component:filter";
- BridgeEvents["TO_BACK_COMPONENT_MOUSE_OVER"] = "b:component:mouse-over";
- BridgeEvents["TO_BACK_COMPONENT_MOUSE_OUT"] = "b:component:mouse-out";
- BridgeEvents["TO_BACK_COMPONENT_CONTEXT_MENU_TARGET"] = "b:component:context-menu-target";
- BridgeEvents["TO_BACK_COMPONENT_EDIT_STATE"] = "b:component:edit-state";
- BridgeEvents["TO_BACK_COMPONENT_PICK"] = "b:component:pick";
- BridgeEvents["TO_FRONT_COMPONENT_PICK"] = "f:component:pick";
- BridgeEvents["TO_BACK_COMPONENT_PICK_CANCELED"] = "b:component:pick-canceled";
- BridgeEvents["TO_FRONT_COMPONENT_PICK_CANCELED"] = "f:component:pick-canceled";
- BridgeEvents["TO_BACK_COMPONENT_INSPECT_DOM"] = "b:component:inspect-dom";
- BridgeEvents["TO_FRONT_COMPONENT_INSPECT_DOM"] = "f:component:inspect-dom";
- BridgeEvents["TO_BACK_COMPONENT_RENDER_CODE"] = "b:component:render-code";
- BridgeEvents["TO_FRONT_COMPONENT_RENDER_CODE"] = "f:component:render-code";
- BridgeEvents["TO_FRONT_COMPONENT_UPDATED"] = "f:component:updated"; // Timeline
- BridgeEvents["TO_FRONT_TIMELINE_EVENT"] = "f:timeline:event";
- BridgeEvents["TO_BACK_TIMELINE_LAYER_LIST"] = "b:timeline:layer-list";
- BridgeEvents["TO_FRONT_TIMELINE_LAYER_LIST"] = "f:timeline:layer-list";
- BridgeEvents["TO_FRONT_TIMELINE_LAYER_ADD"] = "f:timeline:layer-add";
- BridgeEvents["TO_BACK_TIMELINE_SHOW_SCREENSHOT"] = "b:timeline:show-screenshot";
- BridgeEvents["TO_BACK_TIMELINE_CLEAR"] = "b:timeline:clear";
- BridgeEvents["TO_BACK_TIMELINE_EVENT_DATA"] = "b:timeline:event-data";
- BridgeEvents["TO_FRONT_TIMELINE_EVENT_DATA"] = "f:timeline:event-data";
- BridgeEvents["TO_BACK_TIMELINE_LAYER_LOAD_EVENTS"] = "b:timeline:layer-load-events";
- BridgeEvents["TO_FRONT_TIMELINE_LAYER_LOAD_EVENTS"] = "f:timeline:layer-load-events";
- BridgeEvents["TO_BACK_TIMELINE_LOAD_MARKERS"] = "b:timeline:load-markers";
- BridgeEvents["TO_FRONT_TIMELINE_LOAD_MARKERS"] = "f:timeline:load-markers";
- BridgeEvents["TO_FRONT_TIMELINE_MARKER"] = "f:timeline:marker"; // Plugins
- BridgeEvents["TO_BACK_DEVTOOLS_PLUGIN_LIST"] = "b:devtools-plugin:list";
- BridgeEvents["TO_FRONT_DEVTOOLS_PLUGIN_LIST"] = "f:devtools-plugin:list";
- BridgeEvents["TO_FRONT_DEVTOOLS_PLUGIN_ADD"] = "f:devtools-plugin:add";
- BridgeEvents["TO_BACK_DEVTOOLS_PLUGIN_SETTING_UPDATED"] = "b:devtools-plugin:setting-updated"; // Custom inspectors
- BridgeEvents["TO_BACK_CUSTOM_INSPECTOR_LIST"] = "b:custom-inspector:list";
- BridgeEvents["TO_FRONT_CUSTOM_INSPECTOR_LIST"] = "f:custom-inspector:list";
- BridgeEvents["TO_FRONT_CUSTOM_INSPECTOR_ADD"] = "f:custom-inspector:add";
- BridgeEvents["TO_BACK_CUSTOM_INSPECTOR_TREE"] = "b:custom-inspector:tree";
- BridgeEvents["TO_FRONT_CUSTOM_INSPECTOR_TREE"] = "f:custom-inspector:tree";
- BridgeEvents["TO_BACK_CUSTOM_INSPECTOR_STATE"] = "b:custom-inspector:state";
- BridgeEvents["TO_FRONT_CUSTOM_INSPECTOR_STATE"] = "f:custom-inspector:state";
- BridgeEvents["TO_BACK_CUSTOM_INSPECTOR_EDIT_STATE"] = "b:custom-inspector:edit-state";
- BridgeEvents["TO_BACK_CUSTOM_INSPECTOR_ACTION"] = "b:custom-inspector:action";
- BridgeEvents["TO_BACK_CUSTOM_INSPECTOR_NODE_ACTION"] = "b:custom-inspector:node-action";
- BridgeEvents["TO_FRONT_CUSTOM_INSPECTOR_SELECT_NODE"] = "f:custom-inspector:select-node"; // Custom state
- BridgeEvents["TO_BACK_CUSTOM_STATE_ACTION"] = "b:custom-state:action";
- })(BridgeEvents = exports.BridgeEvents || (exports.BridgeEvents = {}));
- var BridgeSubscriptions;
- (function (BridgeSubscriptions) {
- BridgeSubscriptions["SELECTED_COMPONENT_DATA"] = "component:selected-data";
- BridgeSubscriptions["COMPONENT_TREE"] = "component:tree";
- })(BridgeSubscriptions = exports.BridgeSubscriptions || (exports.BridgeSubscriptions = {}));
- var HookEvents;
- (function (HookEvents) {
- HookEvents["INIT"] = "init";
- HookEvents["APP_INIT"] = "app:init";
- HookEvents["APP_ADD"] = "app:add";
- HookEvents["APP_UNMOUNT"] = "app:unmount";
- HookEvents["COMPONENT_UPDATED"] = "component:updated";
- HookEvents["COMPONENT_ADDED"] = "component:added";
- HookEvents["COMPONENT_REMOVED"] = "component:removed";
- HookEvents["COMPONENT_EMIT"] = "component:emit";
- HookEvents["COMPONENT_HIGHLIGHT"] = "component:highlight";
- HookEvents["COMPONENT_UNHIGHLIGHT"] = "component:unhighlight";
- HookEvents["SETUP_DEVTOOLS_PLUGIN"] = "devtools-plugin:setup";
- HookEvents["TIMELINE_LAYER_ADDED"] = "timeline:layer-added";
- HookEvents["TIMELINE_EVENT_ADDED"] = "timeline:event-added";
- HookEvents["CUSTOM_INSPECTOR_ADD"] = "custom-inspector:add";
- HookEvents["CUSTOM_INSPECTOR_SEND_TREE"] = "custom-inspector:send-tree";
- HookEvents["CUSTOM_INSPECTOR_SEND_STATE"] = "custom-inspector:send-state";
- HookEvents["CUSTOM_INSPECTOR_SELECT_NODE"] = "custom-inspector:select-node";
- HookEvents["PERFORMANCE_START"] = "perf:start";
- HookEvents["PERFORMANCE_END"] = "perf:end";
- HookEvents["PLUGIN_SETTINGS_SET"] = "plugin:settings:set";
- /**
- * @deprecated
- */
- HookEvents["FLUSH"] = "flush";
- /**
- * @deprecated
- */
- HookEvents["TRACK_UPDATE"] = "_track-update";
- /**
- * @deprecated
- */
- HookEvents["FLASH_UPDATE"] = "_flash-update";
- })(HookEvents = exports.HookEvents || (exports.HookEvents = {}));
- /***/ }),
- /***/ "../shared-utils/lib/edit.js":
- /*!***********************************!*\
- !*** ../shared-utils/lib/edit.js ***!
- \***********************************/
- /***/ ((__unused_webpack_module, exports) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.StateEditor = void 0;
- class StateEditor {
- set(object, path, value, cb = null) {
- const sections = Array.isArray(path) ? path : path.split('.');
- while (sections.length > 1) {
- object = object[sections.shift()];
- if (this.isRef(object)) {
- object = this.getRefValue(object);
- }
- }
- const field = sections[0];
- if (cb) {
- cb(object, field, value);
- } else if (this.isRef(object[field])) {
- this.setRefValue(object[field], value);
- } else {
- object[field] = value;
- }
- }
- get(object, path) {
- const sections = Array.isArray(path) ? path : path.split('.');
- for (let i = 0; i < sections.length; i++) {
- object = object[sections[i]];
- if (this.isRef(object)) {
- object = this.getRefValue(object);
- }
- if (!object) {
- return undefined;
- }
- }
- return object;
- }
- has(object, path, parent = false) {
- if (typeof object === 'undefined') {
- return false;
- }
- const sections = Array.isArray(path) ? path.slice() : path.split('.');
- const size = !parent ? 1 : 2;
- while (object && sections.length > size) {
- object = object[sections.shift()];
- if (this.isRef(object)) {
- object = this.getRefValue(object);
- }
- }
- return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);
- }
- createDefaultSetCallback(state) {
- return (obj, field, value) => {
- if (state.remove || state.newKey) {
- if (Array.isArray(obj)) {
- obj.splice(field, 1);
- } else {
- delete obj[field];
- }
- }
- if (!state.remove) {
- const target = obj[state.newKey || field];
- if (this.isRef(target)) {
- this.setRefValue(target, value);
- } else {
- obj[state.newKey || field] = value;
- }
- }
- };
- }
- isRef(ref) {
- // To implement in subclass
- return false;
- }
- setRefValue(ref, value) {// To implement in subclass
- }
- getRefValue(ref) {
- // To implement in subclass
- return ref;
- }
- }
- exports.StateEditor = StateEditor;
- /***/ }),
- /***/ "../shared-utils/lib/env.js":
- /*!**********************************!*\
- !*** ../shared-utils/lib/env.js ***!
- \**********************************/
- /***/ ((__unused_webpack_module, exports) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.initEnv = exports.keys = exports.isLinux = exports.isMac = exports.isWindows = exports.isFirefox = exports.isChrome = exports.target = exports.isBrowser = void 0;
- exports.isBrowser = typeof navigator !== 'undefined' && typeof window !== 'undefined';
- exports.target = exports.isBrowser ? window : typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : typeof my !== 'undefined' ? my : {};
- exports.isChrome = typeof exports.target.chrome !== 'undefined' && !!exports.target.chrome.devtools;
- exports.isFirefox = exports.isBrowser && navigator.userAgent && navigator.userAgent.indexOf('Firefox') > -1;
- exports.isWindows = exports.isBrowser && navigator.platform.indexOf('Win') === 0;
- exports.isMac = exports.isBrowser && navigator.platform === 'MacIntel';
- exports.isLinux = exports.isBrowser && navigator.platform.indexOf('Linux') === 0;
- exports.keys = {
- ctrl: exports.isMac ? '⌘' : 'Ctrl',
- shift: 'Shift',
- alt: exports.isMac ? '⌥' : 'Alt',
- del: 'Del',
- enter: 'Enter',
- esc: 'Esc'
- };
- function initEnv(Vue) {
- if (Vue.prototype.hasOwnProperty('$isChrome')) return;
- Object.defineProperties(Vue.prototype, {
- $isChrome: {
- get: () => exports.isChrome
- },
- $isFirefox: {
- get: () => exports.isFirefox
- },
- $isWindows: {
- get: () => exports.isWindows
- },
- $isMac: {
- get: () => exports.isMac
- },
- $isLinux: {
- get: () => exports.isLinux
- },
- $keys: {
- get: () => exports.keys
- }
- });
- if (exports.isWindows) document.body.classList.add('platform-windows');
- if (exports.isMac) document.body.classList.add('platform-mac');
- if (exports.isLinux) document.body.classList.add('platform-linux');
- }
- exports.initEnv = initEnv;
- /***/ }),
- /***/ "../shared-utils/lib/index.js":
- /*!************************************!*\
- !*** ../shared-utils/lib/index.js ***!
- \************************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- var desc = Object.getOwnPropertyDescriptor(m, k);
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
- desc = {
- enumerable: true,
- get: function () {
- return m[k];
- }
- };
- }
- Object.defineProperty(o, k2, desc);
- } : function (o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
- });
- var __exportStar = this && this.__exportStar || function (m, exports) {
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
- };
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- __exportStar(__webpack_require__(/*! ./backend */ "../shared-utils/lib/backend.js"), exports);
- __exportStar(__webpack_require__(/*! ./bridge */ "../shared-utils/lib/bridge.js"), exports);
- __exportStar(__webpack_require__(/*! ./consts */ "../shared-utils/lib/consts.js"), exports);
- __exportStar(__webpack_require__(/*! ./edit */ "../shared-utils/lib/edit.js"), exports);
- __exportStar(__webpack_require__(/*! ./env */ "../shared-utils/lib/env.js"), exports);
- __exportStar(__webpack_require__(/*! ./plugin-permissions */ "../shared-utils/lib/plugin-permissions.js"), exports);
- __exportStar(__webpack_require__(/*! ./plugin-settings */ "../shared-utils/lib/plugin-settings.js"), exports);
- __exportStar(__webpack_require__(/*! ./shared-data */ "../shared-utils/lib/shared-data.js"), exports);
- __exportStar(__webpack_require__(/*! ./shell */ "../shared-utils/lib/shell.js"), exports);
- __exportStar(__webpack_require__(/*! ./storage */ "../shared-utils/lib/storage.js"), exports);
- __exportStar(__webpack_require__(/*! ./transfer */ "../shared-utils/lib/transfer.js"), exports);
- __exportStar(__webpack_require__(/*! ./util */ "../shared-utils/lib/util.js"), exports);
- __exportStar(__webpack_require__(/*! ./raf */ "../shared-utils/lib/raf.js"), exports);
- /***/ }),
- /***/ "../shared-utils/lib/plugin-permissions.js":
- /*!*************************************************!*\
- !*** ../shared-utils/lib/plugin-permissions.js ***!
- \*************************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.setPluginPermission = exports.hasPluginPermission = exports.PluginPermission = void 0;
- const shared_data_1 = __webpack_require__(/*! ./shared-data */ "../shared-utils/lib/shared-data.js");
- var PluginPermission;
- (function (PluginPermission) {
- PluginPermission["ENABLED"] = "enabled";
- PluginPermission["COMPONENTS"] = "components";
- PluginPermission["CUSTOM_INSPECTOR"] = "custom-inspector";
- PluginPermission["TIMELINE"] = "timeline";
- })(PluginPermission = exports.PluginPermission || (exports.PluginPermission = {}));
- function hasPluginPermission(pluginId, permission) {
- const result = shared_data_1.SharedData.pluginPermissions[`${pluginId}:${permission}`];
- if (result == null) return true;
- return !!result;
- }
- exports.hasPluginPermission = hasPluginPermission;
- function setPluginPermission(pluginId, permission, active) {
- shared_data_1.SharedData.pluginPermissions = { ...shared_data_1.SharedData.pluginPermissions,
- [`${pluginId}:${permission}`]: active
- };
- }
- exports.setPluginPermission = setPluginPermission;
- /***/ }),
- /***/ "../shared-utils/lib/plugin-settings.js":
- /*!**********************************************!*\
- !*** ../shared-utils/lib/plugin-settings.js ***!
- \**********************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.getPluginDefaultSettings = exports.setPluginSettings = exports.getPluginSettings = void 0;
- const shared_data_1 = __webpack_require__(/*! ./shared-data */ "../shared-utils/lib/shared-data.js");
- function getPluginSettings(pluginId, defaultSettings) {
- var _a;
- return { ...(defaultSettings !== null && defaultSettings !== void 0 ? defaultSettings : {}),
- ...((_a = shared_data_1.SharedData.pluginSettings[pluginId]) !== null && _a !== void 0 ? _a : {})
- };
- }
- exports.getPluginSettings = getPluginSettings;
- function setPluginSettings(pluginId, settings) {
- shared_data_1.SharedData.pluginSettings = { ...shared_data_1.SharedData.pluginSettings,
- [pluginId]: settings
- };
- }
- exports.setPluginSettings = setPluginSettings;
- function getPluginDefaultSettings(schema) {
- const result = {};
- if (schema) {
- for (const id in schema) {
- const item = schema[id];
- result[id] = item.defaultValue;
- }
- }
- return result;
- }
- exports.getPluginDefaultSettings = getPluginDefaultSettings;
- /***/ }),
- /***/ "../shared-utils/lib/raf.js":
- /*!**********************************!*\
- !*** ../shared-utils/lib/raf.js ***!
- \**********************************/
- /***/ ((__unused_webpack_module, exports) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.raf = void 0;
- let pendingCallbacks = [];
- /**
- * requestAnimationFrame that also works on non-browser environments like Node.
- */
- exports.raf = typeof requestAnimationFrame === 'function' ? requestAnimationFrame : typeof setImmediate === 'function' ? fn => {
- if (!pendingCallbacks.length) {
- setImmediate(() => {
- const now = performance.now();
- const cbs = pendingCallbacks; // in case cbs add new callbacks
- pendingCallbacks = [];
- cbs.forEach(cb => cb(now));
- });
- }
- pendingCallbacks.push(fn);
- } : function (callback) {
- return setTimeout(function () {
- callback(Date.now());
- }, 1000 / 60);
- };
- /***/ }),
- /***/ "../shared-utils/lib/shared-data.js":
- /*!******************************************!*\
- !*** ../shared-utils/lib/shared-data.js ***!
- \******************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.SharedData = exports.watchSharedData = exports.destroySharedData = exports.onSharedDataInit = exports.initSharedData = void 0;
- const storage_1 = __webpack_require__(/*! ./storage */ "../shared-utils/lib/storage.js");
- const env_1 = __webpack_require__(/*! ./env */ "../shared-utils/lib/env.js"); // Initial state
- const internalSharedData = {
- openInEditorHost: '/',
- componentNameStyle: 'class',
- theme: 'auto',
- displayDensity: 'low',
- timeFormat: 'default',
- recordVuex: true,
- cacheVuexSnapshotsEvery: 50,
- cacheVuexSnapshotsLimit: 10,
- snapshotLoading: false,
- componentEventsEnabled: true,
- performanceMonitoringEnabled: true,
- editableProps: false,
- logDetected: true,
- vuexNewBackend: false,
- vuexAutoload: false,
- vuexGroupGettersByModule: true,
- showMenuScrollTip: true,
- timelineTimeGrid: true,
- timelineScreenshots: true,
- menuStepScrolling: env_1.isMac,
- pluginPermissions: {},
- pluginSettings: {},
- pageConfig: {},
- legacyApps: false,
- trackUpdates: true,
- flashUpdates: false,
- debugInfo: false,
- isBrowser: env_1.isBrowser
- };
- const persisted = ['componentNameStyle', 'theme', 'displayDensity', 'recordVuex', 'editableProps', 'logDetected', 'vuexNewBackend', 'vuexAutoload', 'vuexGroupGettersByModule', 'timeFormat', 'showMenuScrollTip', 'timelineTimeGrid', 'timelineScreenshots', 'menuStepScrolling', 'pluginPermissions', 'pluginSettings', 'performanceMonitoringEnabled', 'componentEventsEnabled', 'trackUpdates', 'flashUpdates', 'debugInfo'];
- const storageVersion = '6.0.0-alpha.1'; // ---- INTERNALS ---- //
- let bridge; // List of fields to persist to storage (disabled if 'false')
- // This should be unique to each shared data client to prevent conflicts
- let persist = false;
- let data;
- let initRetryInterval;
- let initRetryCount = 0;
- const initCbs = [];
- function initSharedData(params) {
- return new Promise(resolve => {
- // Mandatory params
- bridge = params.bridge;
- persist = !!params.persist;
- if (persist) {
- if (true) {
- // eslint-disable-next-line no-console
- console.log('[shared data] Master init in progress...');
- } // Load persisted fields
- persisted.forEach(key => {
- const value = (0, storage_1.getStorage)(`vue-devtools-${storageVersion}:shared-data:${key}`);
- if (value !== null) {
- internalSharedData[key] = value;
- }
- });
- bridge.on('shared-data:load', () => {
- // Send all fields
- Object.keys(internalSharedData).forEach(key => {
- sendValue(key, internalSharedData[key]);
- });
- bridge.send('shared-data:load-complete');
- });
- bridge.on('shared-data:init-complete', () => {
- if (true) {
- // eslint-disable-next-line no-console
- console.log('[shared data] Master init complete');
- }
- clearInterval(initRetryInterval);
- resolve();
- });
- bridge.send('shared-data:master-init-waiting'); // In case backend init is executed after frontend
- bridge.on('shared-data:minion-init-waiting', () => {
- bridge.send('shared-data:master-init-waiting');
- });
- initRetryCount = 0;
- clearInterval(initRetryInterval);
- initRetryInterval = setInterval(() => {
- if (true) {
- // eslint-disable-next-line no-console
- console.log('[shared data] Master init retrying...');
- }
- bridge.send('shared-data:master-init-waiting');
- initRetryCount++;
- if (initRetryCount > 30) {
- clearInterval(initRetryInterval);
- console.error('[shared data] Master init failed');
- }
- }, 2000);
- } else {
- if (true) {// eslint-disable-next-line no-console
- // console.log('[shared data] Minion init in progress...')
- }
- bridge.on('shared-data:master-init-waiting', () => {
- if (true) {// eslint-disable-next-line no-console
- // console.log('[shared data] Minion loading data...')
- } // Load all persisted shared data
- bridge.send('shared-data:load');
- bridge.once('shared-data:load-complete', () => {
- if (true) {// eslint-disable-next-line no-console
- // console.log('[shared data] Minion init complete')
- }
- bridge.send('shared-data:init-complete');
- resolve();
- });
- });
- bridge.send('shared-data:minion-init-waiting');
- }
- data = { ...internalSharedData
- };
- if (params.Vue) {
- data = params.Vue.observable(data);
- } // Update value from other shared data clients
- bridge.on('shared-data:set', ({
- key,
- value
- }) => {
- setValue(key, value);
- });
- initCbs.forEach(cb => cb());
- });
- }
- exports.initSharedData = initSharedData;
- function onSharedDataInit(cb) {
- initCbs.push(cb);
- return () => {
- const index = initCbs.indexOf(cb);
- if (index !== -1) initCbs.splice(index, 1);
- };
- }
- exports.onSharedDataInit = onSharedDataInit;
- function destroySharedData() {
- bridge.removeAllListeners('shared-data:set');
- watchers = {};
- }
- exports.destroySharedData = destroySharedData;
- let watchers = {};
- function setValue(key, value) {
- // Storage
- if (persist && persisted.includes(key)) {
- (0, storage_1.setStorage)(`vue-devtools-${storageVersion}:shared-data:${key}`, value);
- }
- const oldValue = data[key];
- data[key] = value;
- const handlers = watchers[key];
- if (handlers) {
- handlers.forEach(h => h(value, oldValue));
- } // Validate Proxy set trap
- return true;
- }
- function sendValue(key, value) {
- bridge && bridge.send('shared-data:set', {
- key,
- value
- });
- }
- function watchSharedData(prop, handler) {
- const list = watchers[prop] || (watchers[prop] = []);
- list.push(handler);
- return () => {
- const index = list.indexOf(handler);
- if (index !== -1) list.splice(index, 1);
- };
- }
- exports.watchSharedData = watchSharedData;
- const proxy = {};
- Object.keys(internalSharedData).forEach(key => {
- Object.defineProperty(proxy, key, {
- configurable: false,
- get: () => data[key],
- set: value => {
- sendValue(key, value);
- setValue(key, value);
- }
- });
- });
- exports.SharedData = proxy;
- /***/ }),
- /***/ "../shared-utils/lib/shell.js":
- /*!************************************!*\
- !*** ../shared-utils/lib/shell.js ***!
- \************************************/
- /***/ ((__unused_webpack_module, exports) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- /***/ }),
- /***/ "../shared-utils/lib/storage.js":
- /*!**************************************!*\
- !*** ../shared-utils/lib/storage.js ***!
- \**************************************/
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.clearStorage = exports.removeStorage = exports.setStorage = exports.getStorage = exports.initStorage = void 0;
- const env_1 = __webpack_require__(/*! ./env */ "../shared-utils/lib/env.js"); // If we can, we use the browser extension API to store data
- // it's async though, so we synchronize changes from an intermediate
- // storageData object
- const useStorage = typeof env_1.target.chrome !== 'undefined' && typeof env_1.target.chrome.storage !== 'undefined';
- let storageData = null;
- function initStorage() {
- return new Promise(resolve => {
- if (useStorage) {
- env_1.target.chrome.storage.local.get(null, result => {
- storageData = result;
- resolve();
- });
- } else {
- storageData = {};
- resolve();
- }
- });
- }
- exports.initStorage = initStorage;
- function getStorage(key, defaultValue = null) {
- checkStorage();
- if (useStorage) {
- return getDefaultValue(storageData[key], defaultValue);
- } else {
- try {
- return getDefaultValue(JSON.parse(localStorage.getItem(key)), defaultValue);
- } catch (e) {}
- }
- }
- exports.getStorage = getStorage;
- function setStorage(key, val) {
- checkStorage();
- if (useStorage) {
- storageData[key] = val;
- env_1.target.chrome.storage.local.set({
- [key]: val
- });
- } else {
- try {
- localStorage.setItem(key, JSON.stringify(val));
- } catch (e) {}
- }
- }
- exports.setStorage = setStorage;
- function removeStorage(key) {
- checkStorage();
- if (useStorage) {
- delete storageData[key];
- env_1.target.chrome.storage.local.remove([key]);
- } else {
- try {
- localStorage.removeItem(key);
- } catch (e) {}
- }
- }
- exports.removeStorage = removeStorage;
- function clearStorage() {
- checkStorage();
- if (useStorage) {
- storageData = {};
- env_1.target.chrome.storage.local.clear();
- } else {
- try {
- localStorage.clear();
- } catch (e) {}
- }
- }
- exports.clearStorage = clearStorage;
- function checkStorage() {
- if (!storageData) {
- throw new Error('Storage wasn\'t initialized with \'init()\'');
- }
- }
- function getDefaultValue(value, defaultValue) {
- if (value == null) {
- return defaultValue;
- }
- return value;
- }
- /***/ }),
- /***/ "../shared-utils/lib/transfer.js":
- /*!***************************************!*\
- !*** ../shared-utils/lib/transfer.js ***!
- \***************************************/
- /***/ ((__unused_webpack_module, exports) => {
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.stringifyStrictCircularAutoChunks = exports.parseCircularAutoChunks = exports.stringifyCircularAutoChunks = void 0;
- const MAX_SERIALIZED_SIZE = 512 * 1024; // 1MB
- function encode(data, replacer, list, seen) {
- let stored, key, value, i, l;
- const seenIndex = seen.get(data);
- if (seenIndex != null) {
- return seenIndex;
- }
- const index = list.length;
- const proto = Object.prototype.toString.call(data);
- if (proto === '[object Object]') {
- stored = {};
- seen.set(data, index);
- list.push(stored);
- const keys = Object.keys(data);
- for (i = 0, l = keys.length; i < l; i++) {
- key = keys[i];
- try {
- value = data[key];
- if (replacer) value = replacer.call(data, key, value);
- } catch (e) {
- value = e;
- }
- stored[key] = encode(value, replacer, list, seen);
- }
- } else if (proto === '[object Array]') {
- stored = [];
- seen.set(data, index);
- list.push(stored);
- for (i = 0, l = data.length; i < l; i++) {
- try {
- value = data[i];
- if (replacer) value = replacer.call(data, i, value);
- } catch (e) {
- value = e;
- }
- stored[i] = encode(value, replacer, list, seen);
- }
- } else {
- list.push(data);
- }
- return index;
- }
- function decode(list, reviver) {
- let i = list.length;
- let j, k, data, key, value, proto;
- while (i--) {
- data = list[i];
- proto = Object.prototype.toString.call(data);
- if (proto === '[object Object]') {
- const keys = Object.keys(data);
- for (j = 0, k = keys.length; j < k; j++) {
- key = keys[j];
- value = list[data[key]];
- if (reviver) value = reviver.call(data, key, value);
- data[key] = value;
- }
- } else if (proto === '[object Array]') {
- for (j = 0, k = data.length; j < k; j++) {
- value = list[data[j]];
- if (reviver) value = reviver.call(data, j, value);
- data[j] = value;
- }
- }
- }
- }
- function stringifyCircularAutoChunks(data, replacer = null, space = null) {
- let result;
- try {
- result = arguments.length === 1 ? JSON.stringify(data) // @ts-ignore
- : JSON.stringify(data, replacer, space);
- } catch (e) {
- result = stringifyStrictCircularAutoChunks(data, replacer, space);
- }
- if (result.length > MAX_SERIALIZED_SIZE) {
- const chunkCount = Math.ceil(result.length / MAX_SERIALIZED_SIZE);
- const chunks = [];
- for (let i = 0; i < chunkCount; i++) {
- chunks.push(result.slice(i * MAX_SERIALIZED_SIZE, (i + 1) * MAX_SERIALIZED_SIZE));
- }
- return chunks;
- }
- return result;
- }
- exports.stringifyCircularAutoChunks = stringifyCircularAutoChunks;
- function parseCircularAutoChunks(data, reviver = null) {
- if (Array.isArray(data)) {
- data = data.join('');
- }
- const hasCircular = /^\s/.test(data);
- if (!hasCircular) {
- return arguments.length === 1 ? JSON.parse(data) // @ts-ignore
- : JSON.parse(data, reviver);
- } else {
- const list = JSON.parse(data);
- decode(list, reviver);
- return list[0];
- }
- }
- exports.parseCircularAutoChunks = parseCircularAutoChunks;
- function stringifyStrictCircularAutoChunks(data, replacer = null, space = null) {
- const list = [];
- encode(data, replacer, list, new Map());
- return space ? ' ' + JSON.stringify(list, null, space) : ' ' + JSON.stringify(list);
- }
- exports.stringifyStrictCircularAutoChunks = stringifyStrictCircularAutoChunks;
- /***/ }),
- /***/ "../shared-utils/lib/util.js":
- /*!***********************************!*\
- !*** ../shared-utils/lib/util.js ***!
- \***********************************/
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
- var __importDefault = this && this.__importDefault || function (mod) {
- return mod && mod.__esModule ? mod : {
- "default": mod
- };
- };
- Object.defineProperty(exports, "__esModule", ({
- value: true
- }));
- exports.isEmptyObject = exports.copyToClipboard = exports.escape = exports.openInEditor = exports.focusInput = exports.simpleGet = exports.sortByKey = exports.searchDeepInObject = exports.isPlainObject = exports.revive = exports.parse = exports.getCustomRefDetails = exports.getCustomHTMLElementDetails = exports.getCustomFunctionDetails = exports.getCustomComponentDefinitionDetails = exports.getComponentName = exports.reviveSet = exports.getCustomSetDetails = exports.reviveMap = exports.getCustomMapDetails = exports.stringify = exports.specialTokenToString = exports.MAX_ARRAY_SIZE = exports.MAX_STRING_SIZE = exports.SPECIAL_TOKENS = exports.NAN = exports.NEGATIVE_INFINITY = exports.INFINITY = exports.UNDEFINED = exports.inDoc = exports.getComponentDisplayName = exports.kebabize = exports.camelize = exports.classify = void 0;
- const path_1 = __importDefault(__webpack_require__(/*! path */ "../../node_modules/path-browserify/index.js"));
- const transfer_1 = __webpack_require__(/*! ./transfer */ "../shared-utils/lib/transfer.js");
- const backend_1 = __webpack_require__(/*! ./backend */ "../shared-utils/lib/backend.js");
- const shared_data_1 = __webpack_require__(/*! ./shared-data */ "../shared-utils/lib/shared-data.js");
- const env_1 = __webpack_require__(/*! ./env */ "../shared-utils/lib/env.js");
- function cached(fn) {
- const cache = Object.create(null);
- return function cachedFn(str) {
- const hit = cache[str];
- return hit || (cache[str] = fn(str));
- };
- }
- const classifyRE = /(?:^|[-_/])(\w)/g;
- exports.classify = cached(str => {
- // fix: str.replace may causes '"replace" is not a function' exception.
- // This bug may causes the UI 'Component Filter' to not work properly
- // e.g. The type of 'str' is Number.
- // So need cover 'str' to String.
- return str && ('' + str).replace(classifyRE, toUpper);
- });
- const camelizeRE = /-(\w)/g;
- exports.camelize = cached(str => {
- return str && str.replace(camelizeRE, toUpper);
- });
- const kebabizeRE = /([a-z0-9])([A-Z])/g;
- exports.kebabize = cached(str => {
- return str && str.replace(kebabizeRE, (_, lowerCaseCharacter, upperCaseLetter) => {
- return `${lowerCaseCharacter}-${upperCaseLetter}`;
- }).toLowerCase();
- });
- function toUpper(_, c) {
- return c ? c.toUpperCase() : '';
- }
- function getComponentDisplayName(originalName, style = 'class') {
- switch (style) {
- case 'class':
- return (0, exports.classify)(originalName);
- case 'kebab':
- return (0, exports.kebabize)(originalName);
- case 'original':
- default:
- return originalName;
- }
- }
- exports.getComponentDisplayName = getComponentDisplayName;
- function inDoc(node) {
- if (!node) return false;
- const doc = node.ownerDocument.documentElement;
- const parent = node.parentNode;
- return doc === node || doc === parent || !!(parent && parent.nodeType === 1 && doc.contains(parent));
- }
- exports.inDoc = inDoc;
- /**
- * Stringify/parse data using CircularJSON.
- */
- exports.UNDEFINED = '__vue_devtool_undefined__';
- exports.INFINITY = '__vue_devtool_infinity__';
- exports.NEGATIVE_INFINITY = '__vue_devtool_negative_infinity__';
- exports.NAN = '__vue_devtool_nan__';
- exports.SPECIAL_TOKENS = {
- true: true,
- false: false,
- undefined: exports.UNDEFINED,
- null: null,
- '-Infinity': exports.NEGATIVE_INFINITY,
- Infinity: exports.INFINITY,
- NaN: exports.NAN
- };
- exports.MAX_STRING_SIZE = 10000;
- exports.MAX_ARRAY_SIZE = 5000;
- function specialTokenToString(value) {
- if (value === null) {
- return 'null';
- } else if (value === exports.UNDEFINED) {
- return 'undefined';
- } else if (value === exports.NAN) {
- return 'NaN';
- } else if (value === exports.INFINITY) {
- return 'Infinity';
- } else if (value === exports.NEGATIVE_INFINITY) {
- return '-Infinity';
- }
- return false;
- }
- exports.specialTokenToString = specialTokenToString;
- /**
- * Needed to prevent stack overflow
- * while replacing complex objects
- * like components because we create
- * new objects with the CustomValue API
- * (.i.e `{ _custom: { ... } }`)
- */
- class EncodeCache {
- constructor() {
- this.map = new Map();
- }
- /**
- * Returns a result unique to each input data
- * @param {*} data Input data
- * @param {*} factory Function used to create the unique result
- */
- cache(data, factory) {
- const cached = this.map.get(data);
- if (cached) {
- return cached;
- } else {
- const result = factory(data);
- this.map.set(data, result);
- return result;
- }
- }
- clear() {
- this.map.clear();
- }
- }
- const encodeCache = new EncodeCache();
- class ReviveCache {
- constructor(maxSize) {
- this.maxSize = maxSize;
- this.map = new Map();
- this.index = 0;
- this.size = 0;
- }
- cache(value) {
- const currentIndex = this.index;
- this.map.set(currentIndex, value);
- this.size++;
- if (this.size > this.maxSize) {
- this.map.delete(currentIndex - this.size);
- this.size--;
- }
- this.index++;
- return currentIndex;
- }
- read(id) {
- return this.map.get(id);
- }
- }
- const reviveCache = new ReviveCache(1000);
- const replacers = {
- internal: replacerForInternal,
- user: replaceForUser
- };
- function stringify(data, target = 'internal') {
- // Create a fresh cache for each serialization
- encodeCache.clear();
- return (0, transfer_1.stringifyCircularAutoChunks)(data, replacers[target]);
- }
- exports.stringify = stringify;
- function replacerForInternal(key) {
- var _a; // @ts-ignore
- const val = this[key];
- const type = typeof val;
- if (Array.isArray(val)) {
- const l = val.length;
- if (l > exports.MAX_ARRAY_SIZE) {
- return {
- _isArray: true,
- length: l,
- items: val.slice(0, exports.MAX_ARRAY_SIZE)
- };
- }
- return val;
- } else if (typeof val === 'string') {
- if (val.length > exports.MAX_STRING_SIZE) {
- return val.substring(0, exports.MAX_STRING_SIZE) + `... (${val.length} total length)`;
- } else {
- return val;
- }
- } else if (type === 'undefined') {
- return exports.UNDEFINED;
- } else if (val === Infinity) {
- return exports.INFINITY;
- } else if (val === -Infinity) {
- return exports.NEGATIVE_INFINITY;
- } else if (type === 'function') {
- return getCustomFunctionDetails(val);
- } else if (type === 'symbol') {
- return `[native Symbol ${Symbol.prototype.toString.call(val)}]`;
- } else if (val !== null && type === 'object') {
- const proto = Object.prototype.toString.call(val);
- if (proto === '[object Map]') {
- return encodeCache.cache(val, () => getCustomMapDetails(val));
- } else if (proto === '[object Set]') {
- return encodeCache.cache(val, () => getCustomSetDetails(val));
- } else if (proto === '[object RegExp]') {
- // special handling of native type
- return `[native RegExp ${RegExp.prototype.toString.call(val)}]`;
- } else if (proto === '[object Date]') {
- return `[native Date ${Date.prototype.toString.call(val)}]`;
- } else if (proto === '[object Error]') {
- return `[native Error ${val.message}<>${val.stack}]`;
- } else if (val.state && val._vm) {
- return encodeCache.cache(val, () => (0, backend_1.getCustomStoreDetails)(val));
- } else if (val.constructor && val.constructor.name === 'VueRouter') {
- return encodeCache.cache(val, () => (0, backend_1.getCustomRouterDetails)(val));
- } else if ((0, backend_1.isVueInstance)(val)) {
- return encodeCache.cache(val, () => (0, backend_1.getCustomInstanceDetails)(val));
- } else if (typeof val.render === 'function') {
- return encodeCache.cache(val, () => getCustomComponentDefinitionDetails(val));
- } else if (val.constructor && val.constructor.name === 'VNode') {
- return `[native VNode <${val.tag}>]`;
- } else if (typeof HTMLElement !== 'undefined' && val instanceof HTMLElement) {
- return encodeCache.cache(val, () => getCustomHTMLElementDetails(val));
- } else if (((_a = val.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Store' && val._wrappedGetters) {
- return `[object Store]`;
- } else if (val.currentRoute) {
- return `[object Router]`;
- }
- const customDetails = (0, backend_1.getCustomObjectDetails)(val, proto);
- if (customDetails != null) return customDetails;
- } else if (Number.isNaN(val)) {
- return exports.NAN;
- }
- return sanitize(val);
- } // @TODO revive from backend to have more data to the clipboard
- function replaceForUser(key) {
- // @ts-ignore
- let val = this[key];
- const type = typeof val;
- if ((val === null || val === void 0 ? void 0 : val._custom) && 'value' in val._custom) {
- val = val._custom.value;
- }
- if (type !== 'object') {
- if (val === exports.UNDEFINED) {
- return undefined;
- } else if (val === exports.INFINITY) {
- return Infinity;
- } else if (val === exports.NEGATIVE_INFINITY) {
- return -Infinity;
- } else if (val === exports.NAN) {
- return NaN;
- }
- return val;
- }
- return sanitize(val);
- }
- function getCustomMapDetails(val) {
- const list = [];
- val.forEach((value, key) => list.push({
- key,
- value
- }));
- return {
- _custom: {
- type: 'map',
- display: 'Map',
- value: list,
- readOnly: true,
- fields: {
- abstract: true
- }
- }
- };
- }
- exports.getCustomMapDetails = getCustomMapDetails;
- function reviveMap(val) {
- const result = new Map();
- const list = val._custom.value;
- for (let i = 0; i < list.length; i++) {
- const {
- key,
- value
- } = list[i];
- result.set(key, revive(value));
- }
- return result;
- }
- exports.reviveMap = reviveMap;
- function getCustomSetDetails(val) {
- const list = Array.from(val);
- return {
- _custom: {
- type: 'set',
- display: `Set[${list.length}]`,
- value: list,
- readOnly: true
- }
- };
- }
- exports.getCustomSetDetails = getCustomSetDetails;
- function reviveSet(val) {
- const result = new Set();
- const list = val._custom.value;
- for (let i = 0; i < list.length; i++) {
- const value = list[i];
- result.add(revive(value));
- }
- return result;
- }
- exports.reviveSet = reviveSet; // Use a custom basename functions instead of the shimed version
- // because it doesn't work on Windows
- function basename(filename, ext) {
- return path_1.default.basename(filename.replace(/^[a-zA-Z]:/, '').replace(/\\/g, '/'), ext);
- }
- function getComponentName(options) {
- const name = options.displayName || options.name || options._componentTag;
- if (name) {
- return name;
- }
- const file = options.__file; // injected by vue-loader
- if (file) {
- return (0, exports.classify)(basename(file, '.vue'));
- }
- }
- exports.getComponentName = getComponentName;
- function getCustomComponentDefinitionDetails(def) {
- let display = getComponentName(def);
- if (display) {
- if (def.name && def.__file) {
- display += ` <span>(${def.__file})</span>`;
- }
- } else {
- display = '<i>Unknown Component</i>';
- }
- return {
- _custom: {
- type: 'component-definition',
- display,
- tooltip: 'Component definition',
- ...(def.__file ? {
- file: def.__file
- } : {})
- }
- };
- }
- exports.getCustomComponentDefinitionDetails = getCustomComponentDefinitionDetails; // eslint-disable-next-line @typescript-eslint/ban-types
- function getCustomFunctionDetails(func) {
- let string = '';
- let matches = null;
- try {
- string = Function.prototype.toString.call(func);
- matches = String.prototype.match.call(string, /\([\s\S]*?\)/);
- } catch (e) {// Func is probably a Proxy, which can break Function.prototype.toString()
- } // Trim any excess whitespace from the argument string
- const match = matches && matches[0];
- const args = typeof match === 'string' ? match : '(?)';
- const name = typeof func.name === 'string' ? func.name : '';
- return {
- _custom: {
- type: 'function',
- display: `<span style="opacity:.5;">function</span> ${escape(name)}${args}`,
- tooltip: string.trim() ? `<pre>${string}</pre>` : null,
- _reviveId: reviveCache.cache(func)
- }
- };
- }
- exports.getCustomFunctionDetails = getCustomFunctionDetails;
- function getCustomHTMLElementDetails(value) {
- try {
- return {
- _custom: {
- type: 'HTMLElement',
- display: `<span class="opacity-30"><</span><span class="text-blue-500">${value.tagName.toLowerCase()}</span><span class="opacity-30">></span>`,
- value: namedNodeMapToObject(value.attributes),
- actions: [{
- icon: 'input',
- tooltip: 'Log element to console',
- action: () => {
- // eslint-disable-next-line no-console
- console.log(value);
- }
- }]
- }
- };
- } catch (e) {
- return {
- _custom: {
- type: 'HTMLElement',
- display: `<span class="text-blue-500">${String(value)}</span>`
- }
- };
- }
- }
- exports.getCustomHTMLElementDetails = getCustomHTMLElementDetails;
- function namedNodeMapToObject(map) {
- const result = {};
- const l = map.length;
- for (let i = 0; i < l; i++) {
- const node = map.item(i);
- result[node.name] = node.value;
- }
- return result;
- }
- function getCustomRefDetails(instance, key, ref) {
- let value;
- if (Array.isArray(ref)) {
- value = ref.map(r => getCustomRefDetails(instance, key, r)).map(data => data.value);
- } else {
- let name;
- if (ref._isVue) {
- name = getComponentName(ref.$options);
- } else {
- name = ref.tagName.toLowerCase();
- }
- value = {
- _custom: {
- display: `<${name}` + (ref.id ? ` <span class="attr-title">id</span>="${ref.id}"` : '') + (ref.className ? ` <span class="attr-title">class</span>="${ref.className}"` : '') + '>',
- uid: instance.__VUE_DEVTOOLS_UID__,
- type: 'reference'
- }
- };
- }
- return {
- type: '$refs',
- key: key,
- value,
- editable: false
- };
- }
- exports.getCustomRefDetails = getCustomRefDetails;
- function parse(data, revive = false) {
- return revive ? (0, transfer_1.parseCircularAutoChunks)(data, reviver) : (0, transfer_1.parseCircularAutoChunks)(data);
- }
- exports.parse = parse;
- const specialTypeRE = /^\[native (\w+) (.*?)(<>((.|\s)*))?\]$/;
- const symbolRE = /^\[native Symbol Symbol\((.*)\)\]$/;
- function reviver(key, val) {
- return revive(val);
- }
- function revive(val) {
- if (val === exports.UNDEFINED) {
- return undefined;
- } else if (val === exports.INFINITY) {
- return Infinity;
- } else if (val === exports.NEGATIVE_INFINITY) {
- return -Infinity;
- } else if (val === exports.NAN) {
- return NaN;
- } else if (val && val._custom) {
- const {
- _custom: custom
- } = val;
- if (custom.type === 'component') {
- return (0, backend_1.getInstanceMap)().get(custom.id);
- } else if (custom.type === 'map') {
- return reviveMap(val);
- } else if (custom.type === 'set') {
- return reviveSet(val);
- } else if (custom._reviveId) {
- return reviveCache.read(custom._reviveId);
- } else {
- return revive(custom.value);
- }
- } else if (symbolRE.test(val)) {
- const [, string] = symbolRE.exec(val);
- return Symbol.for(string);
- } else if (specialTypeRE.test(val)) {
- const [, type, string,, details] = specialTypeRE.exec(val);
- const result = new env_1.target[type](string);
- if (type === 'Error' && details) {
- result.stack = details;
- }
- return result;
- } else {
- return val;
- }
- }
- exports.revive = revive;
- /**
- * Sanitize data to be posted to the other side.
- * Since the message posted is sent with structured clone,
- * we need to filter out any types that might cause an error.
- *
- * @param {*} data
- * @return {*}
- */
- function sanitize(data) {
- if (!isPrimitive(data) && !Array.isArray(data) && !isPlainObject(data)) {
- // handle types that will probably cause issues in
- // the structured clone
- return Object.prototype.toString.call(data);
- } else {
- return data;
- }
- }
- function isPlainObject(obj) {
- return Object.prototype.toString.call(obj) === '[object Object]';
- }
- exports.isPlainObject = isPlainObject;
- function isPrimitive(data) {
- if (data == null) {
- return true;
- }
- const type = typeof data;
- return type === 'string' || type === 'number' || type === 'boolean';
- }
- /**
- * Searches a key or value in the object, with a maximum deepness
- * @param {*} obj Search target
- * @param {string} searchTerm Search string
- * @returns {boolean} Search match
- */
- function searchDeepInObject(obj, searchTerm) {
- const seen = new Map();
- const result = internalSearchObject(obj, searchTerm.toLowerCase(), seen, 0);
- seen.clear();
- return result;
- }
- exports.searchDeepInObject = searchDeepInObject;
- const SEARCH_MAX_DEPTH = 10;
- /**
- * Executes a search on each field of the provided object
- * @param {*} obj Search target
- * @param {string} searchTerm Search string
- * @param {Map<any,boolean>} seen Map containing the search result to prevent stack overflow by walking on the same object multiple times
- * @param {number} depth Deep search depth level, which is capped to prevent performance issues
- * @returns {boolean} Search match
- */
- function internalSearchObject(obj, searchTerm, seen, depth) {
- if (depth > SEARCH_MAX_DEPTH) {
- return false;
- }
- let match = false;
- const keys = Object.keys(obj);
- let key, value;
- for (let i = 0; i < keys.length; i++) {
- key = keys[i];
- value = obj[key];
- match = internalSearchCheck(searchTerm, key, value, seen, depth + 1);
- if (match) {
- break;
- }
- }
- return match;
- }
- /**
- * Executes a search on each value of the provided array
- * @param {*} array Search target
- * @param {string} searchTerm Search string
- * @param {Map<any,boolean>} seen Map containing the search result to prevent stack overflow by walking on the same object multiple times
- * @param {number} depth Deep search depth level, which is capped to prevent performance issues
- * @returns {boolean} Search match
- */
- function internalSearchArray(array, searchTerm, seen, depth) {
- if (depth > SEARCH_MAX_DEPTH) {
- return false;
- }
- let match = false;
- let value;
- for (let i = 0; i < array.length; i++) {
- value = array[i];
- match = internalSearchCheck(searchTerm, null, value, seen, depth + 1);
- if (match) {
- break;
- }
- }
- return match;
- }
- /**
- * Checks if the provided field matches the search terms
- * @param {string} searchTerm Search string
- * @param {string} key Field key (null if from array)
- * @param {*} value Field value
- * @param {Map<any,boolean>} seen Map containing the search result to prevent stack overflow by walking on the same object multiple times
- * @param {number} depth Deep search depth level, which is capped to prevent performance issues
- * @returns {boolean} Search match
- */
- function internalSearchCheck(searchTerm, key, value, seen, depth) {
- let match = false;
- let result;
- if (key === '_custom') {
- key = value.display;
- value = value.value;
- }
- (result = specialTokenToString(value)) && (value = result);
- if (key && compare(key, searchTerm)) {
- match = true;
- seen.set(value, true);
- } else if (seen.has(value)) {
- match = seen.get(value);
- } else if (Array.isArray(value)) {
- seen.set(value, null);
- match = internalSearchArray(value, searchTerm, seen, depth);
- seen.set(value, match);
- } else if (isPlainObject(value)) {
- seen.set(value, null);
- match = internalSearchObject(value, searchTerm, seen, depth);
- seen.set(value, match);
- } else if (compare(value, searchTerm)) {
- match = true;
- seen.set(value, true);
- }
- return match;
- }
- /**
- * Compares two values
- * @param {*} value Mixed type value that will be cast to string
- * @param {string} searchTerm Search string
- * @returns {boolean} Search match
- */
- function compare(value, searchTerm) {
- return ('' + value).toLowerCase().indexOf(searchTerm) !== -1;
- }
- function sortByKey(state) {
- return state && state.slice().sort((a, b) => {
- if (a.key < b.key) return -1;
- if (a.key > b.key) return 1;
- return 0;
- });
- }
- exports.sortByKey = sortByKey;
- function simpleGet(object, path) {
- const sections = Array.isArray(path) ? path : path.split('.');
- for (let i = 0; i < sections.length; i++) {
- object = object[sections[i]];
- if (!object) {
- return undefined;
- }
- }
- return object;
- }
- exports.simpleGet = simpleGet;
- function focusInput(el) {
- el.focus();
- el.setSelectionRange(0, el.value.length);
- }
- exports.focusInput = focusInput;
- function openInEditor(file) {
- // Console display
- const fileName = file.replace(/\\/g, '\\\\');
- const src = `fetch('${shared_data_1.SharedData.openInEditorHost}__open-in-editor?file=${encodeURI(file)}').then(response => {
- if (response.ok) {
- console.log('File ${fileName} opened in editor')
- } else {
- const msg = 'Opening component ${fileName} failed'
- const target = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {}
- if (target.__VUE_DEVTOOLS_TOAST__) {
- target.__VUE_DEVTOOLS_TOAST__(msg, 'error')
- } else {
- console.log('%c' + msg, 'color:red')
- }
- console.log('Check the setup of your project, see https://devtools.vuejs.org/guide/open-in-editor.html')
- }
- })`;
- if (env_1.isChrome) {
- env_1.target.chrome.devtools.inspectedWindow.eval(src);
- } else {
- // eslint-disable-next-line no-eval
- [eval][0](src);
- }
- }
- exports.openInEditor = openInEditor;
- const ESC = {
- '<': '<',
- '>': '>',
- '"': '"',
- '&': '&'
- };
- function escape(s) {
- return s.replace(/[<>"&]/g, escapeChar);
- }
- exports.escape = escape;
- function escapeChar(a) {
- return ESC[a] || a;
- }
- function copyToClipboard(state) {
- let text;
- if (typeof state !== 'object') {
- text = String(state);
- } else {
- text = stringify(state, 'user');
- } // @TODO navigator.clipboard is buggy in extensions
- if (typeof document === 'undefined') return;
- const dummyTextArea = document.createElement('textarea');
- dummyTextArea.textContent = text;
- document.body.appendChild(dummyTextArea);
- dummyTextArea.select();
- document.execCommand('copy');
- document.body.removeChild(dummyTextArea);
- }
- exports.copyToClipboard = copyToClipboard;
- function isEmptyObject(obj) {
- return obj === exports.UNDEFINED || !obj || Object.keys(obj).length === 0;
- }
- exports.isEmptyObject = isEmptyObject;
- /***/ }),
- /***/ "../../node_modules/events/events.js":
- /*!*******************************************!*\
- !*** ../../node_modules/events/events.js ***!
- \*******************************************/
- /***/ ((module) => {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- var R = typeof Reflect === 'object' ? Reflect : null
- var ReflectApply = R && typeof R.apply === 'function'
- ? R.apply
- : function ReflectApply(target, receiver, args) {
- return Function.prototype.apply.call(target, receiver, args);
- }
- var ReflectOwnKeys
- if (R && typeof R.ownKeys === 'function') {
- ReflectOwnKeys = R.ownKeys
- } else if (Object.getOwnPropertySymbols) {
- ReflectOwnKeys = function ReflectOwnKeys(target) {
- return Object.getOwnPropertyNames(target)
- .concat(Object.getOwnPropertySymbols(target));
- };
- } else {
- ReflectOwnKeys = function ReflectOwnKeys(target) {
- return Object.getOwnPropertyNames(target);
- };
- }
- function ProcessEmitWarning(warning) {
- if (console && console.warn) console.warn(warning);
- }
- var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
- return value !== value;
- }
- function EventEmitter() {
- EventEmitter.init.call(this);
- }
- module.exports = EventEmitter;
- module.exports.once = once;
- // Backwards-compat with node 0.10.x
- EventEmitter.EventEmitter = EventEmitter;
- EventEmitter.prototype._events = undefined;
- EventEmitter.prototype._eventsCount = 0;
- EventEmitter.prototype._maxListeners = undefined;
- // By default EventEmitters will print a warning if more than 10 listeners are
- // added to it. This is a useful default which helps finding memory leaks.
- var defaultMaxListeners = 10;
- function checkListener(listener) {
- if (typeof listener !== 'function') {
- throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
- }
- }
- Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
- enumerable: true,
- get: function() {
- return defaultMaxListeners;
- },
- set: function(arg) {
- if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
- throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
- }
- defaultMaxListeners = arg;
- }
- });
- EventEmitter.init = function() {
- if (this._events === undefined ||
- this._events === Object.getPrototypeOf(this)._events) {
- this._events = Object.create(null);
- this._eventsCount = 0;
- }
- this._maxListeners = this._maxListeners || undefined;
- };
- // Obviously not all Emitters should be limited to 10. This function allows
- // that to be increased. Set to zero for unlimited.
- EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
- if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
- throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
- }
- this._maxListeners = n;
- return this;
- };
- function _getMaxListeners(that) {
- if (that._maxListeners === undefined)
- return EventEmitter.defaultMaxListeners;
- return that._maxListeners;
- }
- EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
- return _getMaxListeners(this);
- };
- EventEmitter.prototype.emit = function emit(type) {
- var args = [];
- for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
- var doError = (type === 'error');
- var events = this._events;
- if (events !== undefined)
- doError = (doError && events.error === undefined);
- else if (!doError)
- return false;
- // If there is no 'error' event listener then throw.
- if (doError) {
- var er;
- if (args.length > 0)
- er = args[0];
- if (er instanceof Error) {
- // Note: The comments on the `throw` lines are intentional, they show
- // up in Node's output if this results in an unhandled exception.
- throw er; // Unhandled 'error' event
- }
- // At least give some kind of context to the user
- var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
- err.context = er;
- throw err; // Unhandled 'error' event
- }
- var handler = events[type];
- if (handler === undefined)
- return false;
- if (typeof handler === 'function') {
- ReflectApply(handler, this, args);
- } else {
- var len = handler.length;
- var listeners = arrayClone(handler, len);
- for (var i = 0; i < len; ++i)
- ReflectApply(listeners[i], this, args);
- }
- return true;
- };
- function _addListener(target, type, listener, prepend) {
- var m;
- var events;
- var existing;
- checkListener(listener);
- events = target._events;
- if (events === undefined) {
- events = target._events = Object.create(null);
- target._eventsCount = 0;
- } else {
- // To avoid recursion in the case that type === "newListener"! Before
- // adding it to the listeners, first emit "newListener".
- if (events.newListener !== undefined) {
- target.emit('newListener', type,
- listener.listener ? listener.listener : listener);
- // Re-assign `events` because a newListener handler could have caused the
- // this._events to be assigned to a new object
- events = target._events;
- }
- existing = events[type];
- }
- if (existing === undefined) {
- // Optimize the case of one listener. Don't need the extra array object.
- existing = events[type] = listener;
- ++target._eventsCount;
- } else {
- if (typeof existing === 'function') {
- // Adding the second element, need to change to array.
- existing = events[type] =
- prepend ? [listener, existing] : [existing, listener];
- // If we've already got an array, just append.
- } else if (prepend) {
- existing.unshift(listener);
- } else {
- existing.push(listener);
- }
- // Check for listener leak
- m = _getMaxListeners(target);
- if (m > 0 && existing.length > m && !existing.warned) {
- existing.warned = true;
- // No error code for this since it is a Warning
- // eslint-disable-next-line no-restricted-syntax
- var w = new Error('Possible EventEmitter memory leak detected. ' +
- existing.length + ' ' + String(type) + ' listeners ' +
- 'added. Use emitter.setMaxListeners() to ' +
- 'increase limit');
- w.name = 'MaxListenersExceededWarning';
- w.emitter = target;
- w.type = type;
- w.count = existing.length;
- ProcessEmitWarning(w);
- }
- }
- return target;
- }
- EventEmitter.prototype.addListener = function addListener(type, listener) {
- return _addListener(this, type, listener, false);
- };
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
- EventEmitter.prototype.prependListener =
- function prependListener(type, listener) {
- return _addListener(this, type, listener, true);
- };
- function onceWrapper() {
- if (!this.fired) {
- this.target.removeListener(this.type, this.wrapFn);
- this.fired = true;
- if (arguments.length === 0)
- return this.listener.call(this.target);
- return this.listener.apply(this.target, arguments);
- }
- }
- function _onceWrap(target, type, listener) {
- var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
- var wrapped = onceWrapper.bind(state);
- wrapped.listener = listener;
- state.wrapFn = wrapped;
- return wrapped;
- }
- EventEmitter.prototype.once = function once(type, listener) {
- checkListener(listener);
- this.on(type, _onceWrap(this, type, listener));
- return this;
- };
- EventEmitter.prototype.prependOnceListener =
- function prependOnceListener(type, listener) {
- checkListener(listener);
- this.prependListener(type, _onceWrap(this, type, listener));
- return this;
- };
- // Emits a 'removeListener' event if and only if the listener was removed.
- EventEmitter.prototype.removeListener =
- function removeListener(type, listener) {
- var list, events, position, i, originalListener;
- checkListener(listener);
- events = this._events;
- if (events === undefined)
- return this;
- list = events[type];
- if (list === undefined)
- return this;
- if (list === listener || list.listener === listener) {
- if (--this._eventsCount === 0)
- this._events = Object.create(null);
- else {
- delete events[type];
- if (events.removeListener)
- this.emit('removeListener', type, list.listener || listener);
- }
- } else if (typeof list !== 'function') {
- position = -1;
- for (i = list.length - 1; i >= 0; i--) {
- if (list[i] === listener || list[i].listener === listener) {
- originalListener = list[i].listener;
- position = i;
- break;
- }
- }
- if (position < 0)
- return this;
- if (position === 0)
- list.shift();
- else {
- spliceOne(list, position);
- }
- if (list.length === 1)
- events[type] = list[0];
- if (events.removeListener !== undefined)
- this.emit('removeListener', type, originalListener || listener);
- }
- return this;
- };
- EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
- EventEmitter.prototype.removeAllListeners =
- function removeAllListeners(type) {
- var listeners, events, i;
- events = this._events;
- if (events === undefined)
- return this;
- // not listening for removeListener, no need to emit
- if (events.removeListener === undefined) {
- if (arguments.length === 0) {
- this._events = Object.create(null);
- this._eventsCount = 0;
- } else if (events[type] !== undefined) {
- if (--this._eventsCount === 0)
- this._events = Object.create(null);
- else
- delete events[type];
- }
- return this;
- }
- // emit removeListener for all listeners on all events
- if (arguments.length === 0) {
- var keys = Object.keys(events);
- var key;
- for (i = 0; i < keys.length; ++i) {
- key = keys[i];
- if (key === 'removeListener') continue;
- this.removeAllListeners(key);
- }
- this.removeAllListeners('removeListener');
- this._events = Object.create(null);
- this._eventsCount = 0;
- return this;
- }
- listeners = events[type];
- if (typeof listeners === 'function') {
- this.removeListener(type, listeners);
- } else if (listeners !== undefined) {
- // LIFO order
- for (i = listeners.length - 1; i >= 0; i--) {
- this.removeListener(type, listeners[i]);
- }
- }
- return this;
- };
- function _listeners(target, type, unwrap) {
- var events = target._events;
- if (events === undefined)
- return [];
- var evlistener = events[type];
- if (evlistener === undefined)
- return [];
- if (typeof evlistener === 'function')
- return unwrap ? [evlistener.listener || evlistener] : [evlistener];
- return unwrap ?
- unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
- }
- EventEmitter.prototype.listeners = function listeners(type) {
- return _listeners(this, type, true);
- };
- EventEmitter.prototype.rawListeners = function rawListeners(type) {
- return _listeners(this, type, false);
- };
- EventEmitter.listenerCount = function(emitter, type) {
- if (typeof emitter.listenerCount === 'function') {
- return emitter.listenerCount(type);
- } else {
- return listenerCount.call(emitter, type);
- }
- };
- EventEmitter.prototype.listenerCount = listenerCount;
- function listenerCount(type) {
- var events = this._events;
- if (events !== undefined) {
- var evlistener = events[type];
- if (typeof evlistener === 'function') {
- return 1;
- } else if (evlistener !== undefined) {
- return evlistener.length;
- }
- }
- return 0;
- }
- EventEmitter.prototype.eventNames = function eventNames() {
- return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
- };
- function arrayClone(arr, n) {
- var copy = new Array(n);
- for (var i = 0; i < n; ++i)
- copy[i] = arr[i];
- return copy;
- }
- function spliceOne(list, index) {
- for (; index + 1 < list.length; index++)
- list[index] = list[index + 1];
- list.pop();
- }
- function unwrapListeners(arr) {
- var ret = new Array(arr.length);
- for (var i = 0; i < ret.length; ++i) {
- ret[i] = arr[i].listener || arr[i];
- }
- return ret;
- }
- function once(emitter, name) {
- return new Promise(function (resolve, reject) {
- function errorListener(err) {
- emitter.removeListener(name, resolver);
- reject(err);
- }
- function resolver() {
- if (typeof emitter.removeListener === 'function') {
- emitter.removeListener('error', errorListener);
- }
- resolve([].slice.call(arguments));
- };
- eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
- if (name !== 'error') {
- addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
- }
- });
- }
- function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
- if (typeof emitter.on === 'function') {
- eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
- }
- }
- function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
- if (typeof emitter.on === 'function') {
- if (flags.once) {
- emitter.once(name, listener);
- } else {
- emitter.on(name, listener);
- }
- } else if (typeof emitter.addEventListener === 'function') {
- // EventTarget does not have `error` event semantics like Node
- // EventEmitters, we do not listen for `error` events here.
- emitter.addEventListener(name, function wrapListener(arg) {
- // IE does not have builtin `{ once: true }` support so we
- // have to do it manually.
- if (flags.once) {
- emitter.removeEventListener(name, wrapListener);
- }
- listener(arg);
- });
- } else {
- throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
- }
- }
- /***/ }),
- /***/ "../../node_modules/path-browserify/index.js":
- /*!***************************************************!*\
- !*** ../../node_modules/path-browserify/index.js ***!
- \***************************************************/
- /***/ ((module) => {
- // 'path' module extracted from Node.js v8.11.1 (only the posix part)
- // transplited with Babel
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- function assertPath(path) {
- if (typeof path !== 'string') {
- throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));
- }
- }
- // Resolves . and .. elements in a path with directory names
- function normalizeStringPosix(path, allowAboveRoot) {
- var res = '';
- var lastSegmentLength = 0;
- var lastSlash = -1;
- var dots = 0;
- var code;
- for (var i = 0; i <= path.length; ++i) {
- if (i < path.length)
- code = path.charCodeAt(i);
- else if (code === 47 /*/*/)
- break;
- else
- code = 47 /*/*/;
- if (code === 47 /*/*/) {
- if (lastSlash === i - 1 || dots === 1) {
- // NOOP
- } else if (lastSlash !== i - 1 && dots === 2) {
- if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {
- if (res.length > 2) {
- var lastSlashIndex = res.lastIndexOf('/');
- if (lastSlashIndex !== res.length - 1) {
- if (lastSlashIndex === -1) {
- res = '';
- lastSegmentLength = 0;
- } else {
- res = res.slice(0, lastSlashIndex);
- lastSegmentLength = res.length - 1 - res.lastIndexOf('/');
- }
- lastSlash = i;
- dots = 0;
- continue;
- }
- } else if (res.length === 2 || res.length === 1) {
- res = '';
- lastSegmentLength = 0;
- lastSlash = i;
- dots = 0;
- continue;
- }
- }
- if (allowAboveRoot) {
- if (res.length > 0)
- res += '/..';
- else
- res = '..';
- lastSegmentLength = 2;
- }
- } else {
- if (res.length > 0)
- res += '/' + path.slice(lastSlash + 1, i);
- else
- res = path.slice(lastSlash + 1, i);
- lastSegmentLength = i - lastSlash - 1;
- }
- lastSlash = i;
- dots = 0;
- } else if (code === 46 /*.*/ && dots !== -1) {
- ++dots;
- } else {
- dots = -1;
- }
- }
- return res;
- }
- function _format(sep, pathObject) {
- var dir = pathObject.dir || pathObject.root;
- var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');
- if (!dir) {
- return base;
- }
- if (dir === pathObject.root) {
- return dir + base;
- }
- return dir + sep + base;
- }
- var posix = {
- // path.resolve([from ...], to)
- resolve: function resolve() {
- var resolvedPath = '';
- var resolvedAbsolute = false;
- var cwd;
- for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
- var path;
- if (i >= 0)
- path = arguments[i];
- else {
- if (cwd === undefined)
- cwd = process.cwd();
- path = cwd;
- }
- assertPath(path);
- // Skip empty entries
- if (path.length === 0) {
- continue;
- }
- resolvedPath = path + '/' + resolvedPath;
- resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;
- }
- // At this point the path should be resolved to a full absolute path, but
- // handle relative paths to be safe (might happen when process.cwd() fails)
- // Normalize the path
- resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);
- if (resolvedAbsolute) {
- if (resolvedPath.length > 0)
- return '/' + resolvedPath;
- else
- return '/';
- } else if (resolvedPath.length > 0) {
- return resolvedPath;
- } else {
- return '.';
- }
- },
- normalize: function normalize(path) {
- assertPath(path);
- if (path.length === 0) return '.';
- var isAbsolute = path.charCodeAt(0) === 47 /*/*/;
- var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;
- // Normalize the path
- path = normalizeStringPosix(path, !isAbsolute);
- if (path.length === 0 && !isAbsolute) path = '.';
- if (path.length > 0 && trailingSeparator) path += '/';
- if (isAbsolute) return '/' + path;
- return path;
- },
- isAbsolute: function isAbsolute(path) {
- assertPath(path);
- return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;
- },
- join: function join() {
- if (arguments.length === 0)
- return '.';
- var joined;
- for (var i = 0; i < arguments.length; ++i) {
- var arg = arguments[i];
- assertPath(arg);
- if (arg.length > 0) {
- if (joined === undefined)
- joined = arg;
- else
- joined += '/' + arg;
- }
- }
- if (joined === undefined)
- return '.';
- return posix.normalize(joined);
- },
- relative: function relative(from, to) {
- assertPath(from);
- assertPath(to);
- if (from === to) return '';
- from = posix.resolve(from);
- to = posix.resolve(to);
- if (from === to) return '';
- // Trim any leading backslashes
- var fromStart = 1;
- for (; fromStart < from.length; ++fromStart) {
- if (from.charCodeAt(fromStart) !== 47 /*/*/)
- break;
- }
- var fromEnd = from.length;
- var fromLen = fromEnd - fromStart;
- // Trim any leading backslashes
- var toStart = 1;
- for (; toStart < to.length; ++toStart) {
- if (to.charCodeAt(toStart) !== 47 /*/*/)
- break;
- }
- var toEnd = to.length;
- var toLen = toEnd - toStart;
- // Compare paths to find the longest common path from root
- var length = fromLen < toLen ? fromLen : toLen;
- var lastCommonSep = -1;
- var i = 0;
- for (; i <= length; ++i) {
- if (i === length) {
- if (toLen > length) {
- if (to.charCodeAt(toStart + i) === 47 /*/*/) {
- // We get here if `from` is the exact base path for `to`.
- // For example: from='/foo/bar'; to='/foo/bar/baz'
- return to.slice(toStart + i + 1);
- } else if (i === 0) {
- // We get here if `from` is the root
- // For example: from='/'; to='/foo'
- return to.slice(toStart + i);
- }
- } else if (fromLen > length) {
- if (from.charCodeAt(fromStart + i) === 47 /*/*/) {
- // We get here if `to` is the exact base path for `from`.
- // For example: from='/foo/bar/baz'; to='/foo/bar'
- lastCommonSep = i;
- } else if (i === 0) {
- // We get here if `to` is the root.
- // For example: from='/foo'; to='/'
- lastCommonSep = 0;
- }
- }
- break;
- }
- var fromCode = from.charCodeAt(fromStart + i);
- var toCode = to.charCodeAt(toStart + i);
- if (fromCode !== toCode)
- break;
- else if (fromCode === 47 /*/*/)
- lastCommonSep = i;
- }
- var out = '';
- // Generate the relative path based on the path difference between `to`
- // and `from`
- for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
- if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {
- if (out.length === 0)
- out += '..';
- else
- out += '/..';
- }
- }
- // Lastly, append the rest of the destination (`to`) path that comes after
- // the common path parts
- if (out.length > 0)
- return out + to.slice(toStart + lastCommonSep);
- else {
- toStart += lastCommonSep;
- if (to.charCodeAt(toStart) === 47 /*/*/)
- ++toStart;
- return to.slice(toStart);
- }
- },
- _makeLong: function _makeLong(path) {
- return path;
- },
- dirname: function dirname(path) {
- assertPath(path);
- if (path.length === 0) return '.';
- var code = path.charCodeAt(0);
- var hasRoot = code === 47 /*/*/;
- var end = -1;
- var matchedSlash = true;
- for (var i = path.length - 1; i >= 1; --i) {
- code = path.charCodeAt(i);
- if (code === 47 /*/*/) {
- if (!matchedSlash) {
- end = i;
- break;
- }
- } else {
- // We saw the first non-path separator
- matchedSlash = false;
- }
- }
- if (end === -1) return hasRoot ? '/' : '.';
- if (hasRoot && end === 1) return '//';
- return path.slice(0, end);
- },
- basename: function basename(path, ext) {
- if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string');
- assertPath(path);
- var start = 0;
- var end = -1;
- var matchedSlash = true;
- var i;
- if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {
- if (ext.length === path.length && ext === path) return '';
- var extIdx = ext.length - 1;
- var firstNonSlashEnd = -1;
- for (i = path.length - 1; i >= 0; --i) {
- var code = path.charCodeAt(i);
- if (code === 47 /*/*/) {
- // If we reached a path separator that was not part of a set of path
- // separators at the end of the string, stop now
- if (!matchedSlash) {
- start = i + 1;
- break;
- }
- } else {
- if (firstNonSlashEnd === -1) {
- // We saw the first non-path separator, remember this index in case
- // we need it if the extension ends up not matching
- matchedSlash = false;
- firstNonSlashEnd = i + 1;
- }
- if (extIdx >= 0) {
- // Try to match the explicit extension
- if (code === ext.charCodeAt(extIdx)) {
- if (--extIdx === -1) {
- // We matched the extension, so mark this as the end of our path
- // component
- end = i;
- }
- } else {
- // Extension does not match, so our result is the entire path
- // component
- extIdx = -1;
- end = firstNonSlashEnd;
- }
- }
- }
- }
- if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;
- return path.slice(start, end);
- } else {
- for (i = path.length - 1; i >= 0; --i) {
- if (path.charCodeAt(i) === 47 /*/*/) {
- // If we reached a path separator that was not part of a set of path
- // separators at the end of the string, stop now
- if (!matchedSlash) {
- start = i + 1;
- break;
- }
- } else if (end === -1) {
- // We saw the first non-path separator, mark this as the end of our
- // path component
- matchedSlash = false;
- end = i + 1;
- }
- }
- if (end === -1) return '';
- return path.slice(start, end);
- }
- },
- extname: function extname(path) {
- assertPath(path);
- var startDot = -1;
- var startPart = 0;
- var end = -1;
- var matchedSlash = true;
- // Track the state of characters (if any) we see before our first dot and
- // after any path separator we find
- var preDotState = 0;
- for (var i = path.length - 1; i >= 0; --i) {
- var code = path.charCodeAt(i);
- if (code === 47 /*/*/) {
- // If we reached a path separator that was not part of a set of path
- // separators at the end of the string, stop now
- if (!matchedSlash) {
- startPart = i + 1;
- break;
- }
- continue;
- }
- if (end === -1) {
- // We saw the first non-path separator, mark this as the end of our
- // extension
- matchedSlash = false;
- end = i + 1;
- }
- if (code === 46 /*.*/) {
- // If this is our first dot, mark it as the start of our extension
- if (startDot === -1)
- startDot = i;
- else if (preDotState !== 1)
- preDotState = 1;
- } else if (startDot !== -1) {
- // We saw a non-dot and non-path separator before our dot, so we should
- // have a good chance at having a non-empty extension
- preDotState = -1;
- }
- }
- if (startDot === -1 || end === -1 ||
- // We saw a non-dot character immediately before the dot
- preDotState === 0 ||
- // The (right-most) trimmed path component is exactly '..'
- preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
- return '';
- }
- return path.slice(startDot, end);
- },
- format: function format(pathObject) {
- if (pathObject === null || typeof pathObject !== 'object') {
- throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject);
- }
- return _format('/', pathObject);
- },
- parse: function parse(path) {
- assertPath(path);
- var ret = { root: '', dir: '', base: '', ext: '', name: '' };
- if (path.length === 0) return ret;
- var code = path.charCodeAt(0);
- var isAbsolute = code === 47 /*/*/;
- var start;
- if (isAbsolute) {
- ret.root = '/';
- start = 1;
- } else {
- start = 0;
- }
- var startDot = -1;
- var startPart = 0;
- var end = -1;
- var matchedSlash = true;
- var i = path.length - 1;
- // Track the state of characters (if any) we see before our first dot and
- // after any path separator we find
- var preDotState = 0;
- // Get non-dir info
- for (; i >= start; --i) {
- code = path.charCodeAt(i);
- if (code === 47 /*/*/) {
- // If we reached a path separator that was not part of a set of path
- // separators at the end of the string, stop now
- if (!matchedSlash) {
- startPart = i + 1;
- break;
- }
- continue;
- }
- if (end === -1) {
- // We saw the first non-path separator, mark this as the end of our
- // extension
- matchedSlash = false;
- end = i + 1;
- }
- if (code === 46 /*.*/) {
- // If this is our first dot, mark it as the start of our extension
- if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;
- } else if (startDot !== -1) {
- // We saw a non-dot and non-path separator before our dot, so we should
- // have a good chance at having a non-empty extension
- preDotState = -1;
- }
- }
- if (startDot === -1 || end === -1 ||
- // We saw a non-dot character immediately before the dot
- preDotState === 0 ||
- // The (right-most) trimmed path component is exactly '..'
- preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
- if (end !== -1) {
- if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);
- }
- } else {
- if (startPart === 0 && isAbsolute) {
- ret.name = path.slice(1, startDot);
- ret.base = path.slice(1, end);
- } else {
- ret.name = path.slice(startPart, startDot);
- ret.base = path.slice(startPart, end);
- }
- ret.ext = path.slice(startDot, end);
- }
- if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';
- return ret;
- },
- sep: '/',
- delimiter: ':',
- win32: null,
- posix: null
- };
- posix.posix = posix;
- module.exports = posix;
- /***/ })
- /******/ });
- /************************************************************************/
- /******/ // The module cache
- /******/ var __webpack_module_cache__ = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/ // Check if module is in cache
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
- /******/ if (cachedModule !== undefined) {
- /******/ return cachedModule.exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = __webpack_module_cache__[moduleId] = {
- /******/ // no module.id needed
- /******/ // no module.loaded needed
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /************************************************************************/
- /******/ /* webpack/runtime/compat get default export */
- /******/ (() => {
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = (module) => {
- /******/ var getter = module && module.__esModule ?
- /******/ () => (module['default']) :
- /******/ () => (module);
- /******/ __webpack_require__.d(getter, { a: getter });
- /******/ return getter;
- /******/ };
- /******/ })();
- /******/
- /******/ /* webpack/runtime/define property getters */
- /******/ (() => {
- /******/ // define getter functions for harmony exports
- /******/ __webpack_require__.d = (exports, definition) => {
- /******/ for(var key in definition) {
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
- /******/ }
- /******/ }
- /******/ };
- /******/ })();
- /******/
- /******/ /* webpack/runtime/global */
- /******/ (() => {
- /******/ __webpack_require__.g = (function() {
- /******/ if (typeof globalThis === 'object') return globalThis;
- /******/ try {
- /******/ return this || new Function('return this')();
- /******/ } catch (e) {
- /******/ if (typeof window === 'object') return window;
- /******/ }
- /******/ })();
- /******/ })();
- /******/
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
- /******/ (() => {
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
- /******/ })();
- /******/
- /******/ /* webpack/runtime/make namespace object */
- /******/ (() => {
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = (exports) => {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/ })();
- /******/
- /************************************************************************/
- var __webpack_exports__ = {};
- // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
- (() => {
- /*!*********************!*\
- !*** ./src/hook.ts ***!
- \*********************/
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _back_hook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @back/hook */ "../app-backend-core/lib/hook.js");
- /* harmony import */ var _vue_devtools_shared_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vue-devtools/shared-utils */ "../shared-utils/lib/index.js");
- /* harmony import */ var _vue_devtools_shared_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_vue_devtools_shared_utils__WEBPACK_IMPORTED_MODULE_1__);
- (0,_back_hook__WEBPACK_IMPORTED_MODULE_0__.installHook)(_vue_devtools_shared_utils__WEBPACK_IMPORTED_MODULE_1__.target);
- })();
- /******/ })()
- ;
|