| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850 |
- "use strict";
- var __create = Object.create;
- var __defProp = Object.defineProperty;
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
- var __getOwnPropNames = Object.getOwnPropertyNames;
- var __getProtoOf = Object.getPrototypeOf;
- var __hasOwnProp = Object.prototype.hasOwnProperty;
- var __esm = (fn, res) => function __init() {
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
- };
- var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
- var __export = (target22, all) => {
- for (var name in all)
- __defProp(target22, name, { get: all[name], enumerable: true });
- };
- var __copyProps = (to, from, except, desc) => {
- if (from && typeof from === "object" || typeof from === "function") {
- for (let key of __getOwnPropNames(from))
- if (!__hasOwnProp.call(to, key) && key !== except)
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
- }
- return to;
- };
- var __toESM = (mod, isNodeMode, target22) => (target22 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
- // If the importer is in node compatibility mode or this is not an ESM
- // file that has been converted to a CommonJS file using a Babel-
- // compatible transform (i.e. "__esModule" has not been set), then set
- // "default" to the CommonJS "module.exports" for node compatibility.
- isNodeMode || !mod || !mod.__esModule ? __defProp(target22, "default", { value: mod, enumerable: true }) : target22,
- mod
- ));
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
- // ../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/cjs_shims.js
- var init_cjs_shims = __esm({
- "../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.51.1_@types+node@22.13.14__jiti@2.4.2_postcss@8.5_96eb05a9d65343021e53791dd83f3773/node_modules/tsup/assets/cjs_shims.js"() {
- "use strict";
- }
- });
- // ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js
- var require_speakingurl = __commonJS({
- "../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(exports2, module2) {
- "use strict";
- init_cjs_shims();
- (function(root) {
- "use strict";
- var charMap = {
- // latin
- "\xC0": "A",
- "\xC1": "A",
- "\xC2": "A",
- "\xC3": "A",
- "\xC4": "Ae",
- "\xC5": "A",
- "\xC6": "AE",
- "\xC7": "C",
- "\xC8": "E",
- "\xC9": "E",
- "\xCA": "E",
- "\xCB": "E",
- "\xCC": "I",
- "\xCD": "I",
- "\xCE": "I",
- "\xCF": "I",
- "\xD0": "D",
- "\xD1": "N",
- "\xD2": "O",
- "\xD3": "O",
- "\xD4": "O",
- "\xD5": "O",
- "\xD6": "Oe",
- "\u0150": "O",
- "\xD8": "O",
- "\xD9": "U",
- "\xDA": "U",
- "\xDB": "U",
- "\xDC": "Ue",
- "\u0170": "U",
- "\xDD": "Y",
- "\xDE": "TH",
- "\xDF": "ss",
- "\xE0": "a",
- "\xE1": "a",
- "\xE2": "a",
- "\xE3": "a",
- "\xE4": "ae",
- "\xE5": "a",
- "\xE6": "ae",
- "\xE7": "c",
- "\xE8": "e",
- "\xE9": "e",
- "\xEA": "e",
- "\xEB": "e",
- "\xEC": "i",
- "\xED": "i",
- "\xEE": "i",
- "\xEF": "i",
- "\xF0": "d",
- "\xF1": "n",
- "\xF2": "o",
- "\xF3": "o",
- "\xF4": "o",
- "\xF5": "o",
- "\xF6": "oe",
- "\u0151": "o",
- "\xF8": "o",
- "\xF9": "u",
- "\xFA": "u",
- "\xFB": "u",
- "\xFC": "ue",
- "\u0171": "u",
- "\xFD": "y",
- "\xFE": "th",
- "\xFF": "y",
- "\u1E9E": "SS",
- // language specific
- // Arabic
- "\u0627": "a",
- "\u0623": "a",
- "\u0625": "i",
- "\u0622": "aa",
- "\u0624": "u",
- "\u0626": "e",
- "\u0621": "a",
- "\u0628": "b",
- "\u062A": "t",
- "\u062B": "th",
- "\u062C": "j",
- "\u062D": "h",
- "\u062E": "kh",
- "\u062F": "d",
- "\u0630": "th",
- "\u0631": "r",
- "\u0632": "z",
- "\u0633": "s",
- "\u0634": "sh",
- "\u0635": "s",
- "\u0636": "dh",
- "\u0637": "t",
- "\u0638": "z",
- "\u0639": "a",
- "\u063A": "gh",
- "\u0641": "f",
- "\u0642": "q",
- "\u0643": "k",
- "\u0644": "l",
- "\u0645": "m",
- "\u0646": "n",
- "\u0647": "h",
- "\u0648": "w",
- "\u064A": "y",
- "\u0649": "a",
- "\u0629": "h",
- "\uFEFB": "la",
- "\uFEF7": "laa",
- "\uFEF9": "lai",
- "\uFEF5": "laa",
- // Persian additional characters than Arabic
- "\u06AF": "g",
- "\u0686": "ch",
- "\u067E": "p",
- "\u0698": "zh",
- "\u06A9": "k",
- "\u06CC": "y",
- // Arabic diactrics
- "\u064E": "a",
- "\u064B": "an",
- "\u0650": "e",
- "\u064D": "en",
- "\u064F": "u",
- "\u064C": "on",
- "\u0652": "",
- // Arabic numbers
- "\u0660": "0",
- "\u0661": "1",
- "\u0662": "2",
- "\u0663": "3",
- "\u0664": "4",
- "\u0665": "5",
- "\u0666": "6",
- "\u0667": "7",
- "\u0668": "8",
- "\u0669": "9",
- // Persian numbers
- "\u06F0": "0",
- "\u06F1": "1",
- "\u06F2": "2",
- "\u06F3": "3",
- "\u06F4": "4",
- "\u06F5": "5",
- "\u06F6": "6",
- "\u06F7": "7",
- "\u06F8": "8",
- "\u06F9": "9",
- // Burmese consonants
- "\u1000": "k",
- "\u1001": "kh",
- "\u1002": "g",
- "\u1003": "ga",
- "\u1004": "ng",
- "\u1005": "s",
- "\u1006": "sa",
- "\u1007": "z",
- "\u1005\u103B": "za",
- "\u100A": "ny",
- "\u100B": "t",
- "\u100C": "ta",
- "\u100D": "d",
- "\u100E": "da",
- "\u100F": "na",
- "\u1010": "t",
- "\u1011": "ta",
- "\u1012": "d",
- "\u1013": "da",
- "\u1014": "n",
- "\u1015": "p",
- "\u1016": "pa",
- "\u1017": "b",
- "\u1018": "ba",
- "\u1019": "m",
- "\u101A": "y",
- "\u101B": "ya",
- "\u101C": "l",
- "\u101D": "w",
- "\u101E": "th",
- "\u101F": "h",
- "\u1020": "la",
- "\u1021": "a",
- // consonant character combos
- "\u103C": "y",
- "\u103B": "ya",
- "\u103D": "w",
- "\u103C\u103D": "yw",
- "\u103B\u103D": "ywa",
- "\u103E": "h",
- // independent vowels
- "\u1027": "e",
- "\u104F": "-e",
- "\u1023": "i",
- "\u1024": "-i",
- "\u1009": "u",
- "\u1026": "-u",
- "\u1029": "aw",
- "\u101E\u103C\u1031\u102C": "aw",
- "\u102A": "aw",
- // numbers
- "\u1040": "0",
- "\u1041": "1",
- "\u1042": "2",
- "\u1043": "3",
- "\u1044": "4",
- "\u1045": "5",
- "\u1046": "6",
- "\u1047": "7",
- "\u1048": "8",
- "\u1049": "9",
- // virama and tone marks which are silent in transliteration
- "\u1039": "",
- "\u1037": "",
- "\u1038": "",
- // Czech
- "\u010D": "c",
- "\u010F": "d",
- "\u011B": "e",
- "\u0148": "n",
- "\u0159": "r",
- "\u0161": "s",
- "\u0165": "t",
- "\u016F": "u",
- "\u017E": "z",
- "\u010C": "C",
- "\u010E": "D",
- "\u011A": "E",
- "\u0147": "N",
- "\u0158": "R",
- "\u0160": "S",
- "\u0164": "T",
- "\u016E": "U",
- "\u017D": "Z",
- // Dhivehi
- "\u0780": "h",
- "\u0781": "sh",
- "\u0782": "n",
- "\u0783": "r",
- "\u0784": "b",
- "\u0785": "lh",
- "\u0786": "k",
- "\u0787": "a",
- "\u0788": "v",
- "\u0789": "m",
- "\u078A": "f",
- "\u078B": "dh",
- "\u078C": "th",
- "\u078D": "l",
- "\u078E": "g",
- "\u078F": "gn",
- "\u0790": "s",
- "\u0791": "d",
- "\u0792": "z",
- "\u0793": "t",
- "\u0794": "y",
- "\u0795": "p",
- "\u0796": "j",
- "\u0797": "ch",
- "\u0798": "tt",
- "\u0799": "hh",
- "\u079A": "kh",
- "\u079B": "th",
- "\u079C": "z",
- "\u079D": "sh",
- "\u079E": "s",
- "\u079F": "d",
- "\u07A0": "t",
- "\u07A1": "z",
- "\u07A2": "a",
- "\u07A3": "gh",
- "\u07A4": "q",
- "\u07A5": "w",
- "\u07A6": "a",
- "\u07A7": "aa",
- "\u07A8": "i",
- "\u07A9": "ee",
- "\u07AA": "u",
- "\u07AB": "oo",
- "\u07AC": "e",
- "\u07AD": "ey",
- "\u07AE": "o",
- "\u07AF": "oa",
- "\u07B0": "",
- // Georgian https://en.wikipedia.org/wiki/Romanization_of_Georgian
- // National system (2002)
- "\u10D0": "a",
- "\u10D1": "b",
- "\u10D2": "g",
- "\u10D3": "d",
- "\u10D4": "e",
- "\u10D5": "v",
- "\u10D6": "z",
- "\u10D7": "t",
- "\u10D8": "i",
- "\u10D9": "k",
- "\u10DA": "l",
- "\u10DB": "m",
- "\u10DC": "n",
- "\u10DD": "o",
- "\u10DE": "p",
- "\u10DF": "zh",
- "\u10E0": "r",
- "\u10E1": "s",
- "\u10E2": "t",
- "\u10E3": "u",
- "\u10E4": "p",
- "\u10E5": "k",
- "\u10E6": "gh",
- "\u10E7": "q",
- "\u10E8": "sh",
- "\u10E9": "ch",
- "\u10EA": "ts",
- "\u10EB": "dz",
- "\u10EC": "ts",
- "\u10ED": "ch",
- "\u10EE": "kh",
- "\u10EF": "j",
- "\u10F0": "h",
- // Greek
- "\u03B1": "a",
- "\u03B2": "v",
- "\u03B3": "g",
- "\u03B4": "d",
- "\u03B5": "e",
- "\u03B6": "z",
- "\u03B7": "i",
- "\u03B8": "th",
- "\u03B9": "i",
- "\u03BA": "k",
- "\u03BB": "l",
- "\u03BC": "m",
- "\u03BD": "n",
- "\u03BE": "ks",
- "\u03BF": "o",
- "\u03C0": "p",
- "\u03C1": "r",
- "\u03C3": "s",
- "\u03C4": "t",
- "\u03C5": "y",
- "\u03C6": "f",
- "\u03C7": "x",
- "\u03C8": "ps",
- "\u03C9": "o",
- "\u03AC": "a",
- "\u03AD": "e",
- "\u03AF": "i",
- "\u03CC": "o",
- "\u03CD": "y",
- "\u03AE": "i",
- "\u03CE": "o",
- "\u03C2": "s",
- "\u03CA": "i",
- "\u03B0": "y",
- "\u03CB": "y",
- "\u0390": "i",
- "\u0391": "A",
- "\u0392": "B",
- "\u0393": "G",
- "\u0394": "D",
- "\u0395": "E",
- "\u0396": "Z",
- "\u0397": "I",
- "\u0398": "TH",
- "\u0399": "I",
- "\u039A": "K",
- "\u039B": "L",
- "\u039C": "M",
- "\u039D": "N",
- "\u039E": "KS",
- "\u039F": "O",
- "\u03A0": "P",
- "\u03A1": "R",
- "\u03A3": "S",
- "\u03A4": "T",
- "\u03A5": "Y",
- "\u03A6": "F",
- "\u03A7": "X",
- "\u03A8": "PS",
- "\u03A9": "O",
- "\u0386": "A",
- "\u0388": "E",
- "\u038A": "I",
- "\u038C": "O",
- "\u038E": "Y",
- "\u0389": "I",
- "\u038F": "O",
- "\u03AA": "I",
- "\u03AB": "Y",
- // Latvian
- "\u0101": "a",
- // 'č': 'c', // duplicate
- "\u0113": "e",
- "\u0123": "g",
- "\u012B": "i",
- "\u0137": "k",
- "\u013C": "l",
- "\u0146": "n",
- // 'š': 's', // duplicate
- "\u016B": "u",
- // 'ž': 'z', // duplicate
- "\u0100": "A",
- // 'Č': 'C', // duplicate
- "\u0112": "E",
- "\u0122": "G",
- "\u012A": "I",
- "\u0136": "k",
- "\u013B": "L",
- "\u0145": "N",
- // 'Š': 'S', // duplicate
- "\u016A": "U",
- // 'Ž': 'Z', // duplicate
- // Macedonian
- "\u040C": "Kj",
- "\u045C": "kj",
- "\u0409": "Lj",
- "\u0459": "lj",
- "\u040A": "Nj",
- "\u045A": "nj",
- "\u0422\u0441": "Ts",
- "\u0442\u0441": "ts",
- // Polish
- "\u0105": "a",
- "\u0107": "c",
- "\u0119": "e",
- "\u0142": "l",
- "\u0144": "n",
- // 'ó': 'o', // duplicate
- "\u015B": "s",
- "\u017A": "z",
- "\u017C": "z",
- "\u0104": "A",
- "\u0106": "C",
- "\u0118": "E",
- "\u0141": "L",
- "\u0143": "N",
- "\u015A": "S",
- "\u0179": "Z",
- "\u017B": "Z",
- // Ukranian
- "\u0404": "Ye",
- "\u0406": "I",
- "\u0407": "Yi",
- "\u0490": "G",
- "\u0454": "ye",
- "\u0456": "i",
- "\u0457": "yi",
- "\u0491": "g",
- // Romanian
- "\u0103": "a",
- "\u0102": "A",
- "\u0219": "s",
- "\u0218": "S",
- // 'ş': 's', // duplicate
- // 'Ş': 'S', // duplicate
- "\u021B": "t",
- "\u021A": "T",
- "\u0163": "t",
- "\u0162": "T",
- // Russian https://en.wikipedia.org/wiki/Romanization_of_Russian
- // ICAO
- "\u0430": "a",
- "\u0431": "b",
- "\u0432": "v",
- "\u0433": "g",
- "\u0434": "d",
- "\u0435": "e",
- "\u0451": "yo",
- "\u0436": "zh",
- "\u0437": "z",
- "\u0438": "i",
- "\u0439": "i",
- "\u043A": "k",
- "\u043B": "l",
- "\u043C": "m",
- "\u043D": "n",
- "\u043E": "o",
- "\u043F": "p",
- "\u0440": "r",
- "\u0441": "s",
- "\u0442": "t",
- "\u0443": "u",
- "\u0444": "f",
- "\u0445": "kh",
- "\u0446": "c",
- "\u0447": "ch",
- "\u0448": "sh",
- "\u0449": "sh",
- "\u044A": "",
- "\u044B": "y",
- "\u044C": "",
- "\u044D": "e",
- "\u044E": "yu",
- "\u044F": "ya",
- "\u0410": "A",
- "\u0411": "B",
- "\u0412": "V",
- "\u0413": "G",
- "\u0414": "D",
- "\u0415": "E",
- "\u0401": "Yo",
- "\u0416": "Zh",
- "\u0417": "Z",
- "\u0418": "I",
- "\u0419": "I",
- "\u041A": "K",
- "\u041B": "L",
- "\u041C": "M",
- "\u041D": "N",
- "\u041E": "O",
- "\u041F": "P",
- "\u0420": "R",
- "\u0421": "S",
- "\u0422": "T",
- "\u0423": "U",
- "\u0424": "F",
- "\u0425": "Kh",
- "\u0426": "C",
- "\u0427": "Ch",
- "\u0428": "Sh",
- "\u0429": "Sh",
- "\u042A": "",
- "\u042B": "Y",
- "\u042C": "",
- "\u042D": "E",
- "\u042E": "Yu",
- "\u042F": "Ya",
- // Serbian
- "\u0452": "dj",
- "\u0458": "j",
- // 'љ': 'lj', // duplicate
- // 'њ': 'nj', // duplicate
- "\u045B": "c",
- "\u045F": "dz",
- "\u0402": "Dj",
- "\u0408": "j",
- // 'Љ': 'Lj', // duplicate
- // 'Њ': 'Nj', // duplicate
- "\u040B": "C",
- "\u040F": "Dz",
- // Slovak
- "\u013E": "l",
- "\u013A": "l",
- "\u0155": "r",
- "\u013D": "L",
- "\u0139": "L",
- "\u0154": "R",
- // Turkish
- "\u015F": "s",
- "\u015E": "S",
- "\u0131": "i",
- "\u0130": "I",
- // 'ç': 'c', // duplicate
- // 'Ç': 'C', // duplicate
- // 'ü': 'u', // duplicate, see langCharMap
- // 'Ü': 'U', // duplicate, see langCharMap
- // 'ö': 'o', // duplicate, see langCharMap
- // 'Ö': 'O', // duplicate, see langCharMap
- "\u011F": "g",
- "\u011E": "G",
- // Vietnamese
- "\u1EA3": "a",
- "\u1EA2": "A",
- "\u1EB3": "a",
- "\u1EB2": "A",
- "\u1EA9": "a",
- "\u1EA8": "A",
- "\u0111": "d",
- "\u0110": "D",
- "\u1EB9": "e",
- "\u1EB8": "E",
- "\u1EBD": "e",
- "\u1EBC": "E",
- "\u1EBB": "e",
- "\u1EBA": "E",
- "\u1EBF": "e",
- "\u1EBE": "E",
- "\u1EC1": "e",
- "\u1EC0": "E",
- "\u1EC7": "e",
- "\u1EC6": "E",
- "\u1EC5": "e",
- "\u1EC4": "E",
- "\u1EC3": "e",
- "\u1EC2": "E",
- "\u1ECF": "o",
- "\u1ECD": "o",
- "\u1ECC": "o",
- "\u1ED1": "o",
- "\u1ED0": "O",
- "\u1ED3": "o",
- "\u1ED2": "O",
- "\u1ED5": "o",
- "\u1ED4": "O",
- "\u1ED9": "o",
- "\u1ED8": "O",
- "\u1ED7": "o",
- "\u1ED6": "O",
- "\u01A1": "o",
- "\u01A0": "O",
- "\u1EDB": "o",
- "\u1EDA": "O",
- "\u1EDD": "o",
- "\u1EDC": "O",
- "\u1EE3": "o",
- "\u1EE2": "O",
- "\u1EE1": "o",
- "\u1EE0": "O",
- "\u1EDE": "o",
- "\u1EDF": "o",
- "\u1ECB": "i",
- "\u1ECA": "I",
- "\u0129": "i",
- "\u0128": "I",
- "\u1EC9": "i",
- "\u1EC8": "i",
- "\u1EE7": "u",
- "\u1EE6": "U",
- "\u1EE5": "u",
- "\u1EE4": "U",
- "\u0169": "u",
- "\u0168": "U",
- "\u01B0": "u",
- "\u01AF": "U",
- "\u1EE9": "u",
- "\u1EE8": "U",
- "\u1EEB": "u",
- "\u1EEA": "U",
- "\u1EF1": "u",
- "\u1EF0": "U",
- "\u1EEF": "u",
- "\u1EEE": "U",
- "\u1EED": "u",
- "\u1EEC": "\u01B0",
- "\u1EF7": "y",
- "\u1EF6": "y",
- "\u1EF3": "y",
- "\u1EF2": "Y",
- "\u1EF5": "y",
- "\u1EF4": "Y",
- "\u1EF9": "y",
- "\u1EF8": "Y",
- "\u1EA1": "a",
- "\u1EA0": "A",
- "\u1EA5": "a",
- "\u1EA4": "A",
- "\u1EA7": "a",
- "\u1EA6": "A",
- "\u1EAD": "a",
- "\u1EAC": "A",
- "\u1EAB": "a",
- "\u1EAA": "A",
- // 'ă': 'a', // duplicate
- // 'Ă': 'A', // duplicate
- "\u1EAF": "a",
- "\u1EAE": "A",
- "\u1EB1": "a",
- "\u1EB0": "A",
- "\u1EB7": "a",
- "\u1EB6": "A",
- "\u1EB5": "a",
- "\u1EB4": "A",
- "\u24EA": "0",
- "\u2460": "1",
- "\u2461": "2",
- "\u2462": "3",
- "\u2463": "4",
- "\u2464": "5",
- "\u2465": "6",
- "\u2466": "7",
- "\u2467": "8",
- "\u2468": "9",
- "\u2469": "10",
- "\u246A": "11",
- "\u246B": "12",
- "\u246C": "13",
- "\u246D": "14",
- "\u246E": "15",
- "\u246F": "16",
- "\u2470": "17",
- "\u2471": "18",
- "\u2472": "18",
- "\u2473": "18",
- "\u24F5": "1",
- "\u24F6": "2",
- "\u24F7": "3",
- "\u24F8": "4",
- "\u24F9": "5",
- "\u24FA": "6",
- "\u24FB": "7",
- "\u24FC": "8",
- "\u24FD": "9",
- "\u24FE": "10",
- "\u24FF": "0",
- "\u24EB": "11",
- "\u24EC": "12",
- "\u24ED": "13",
- "\u24EE": "14",
- "\u24EF": "15",
- "\u24F0": "16",
- "\u24F1": "17",
- "\u24F2": "18",
- "\u24F3": "19",
- "\u24F4": "20",
- "\u24B6": "A",
- "\u24B7": "B",
- "\u24B8": "C",
- "\u24B9": "D",
- "\u24BA": "E",
- "\u24BB": "F",
- "\u24BC": "G",
- "\u24BD": "H",
- "\u24BE": "I",
- "\u24BF": "J",
- "\u24C0": "K",
- "\u24C1": "L",
- "\u24C2": "M",
- "\u24C3": "N",
- "\u24C4": "O",
- "\u24C5": "P",
- "\u24C6": "Q",
- "\u24C7": "R",
- "\u24C8": "S",
- "\u24C9": "T",
- "\u24CA": "U",
- "\u24CB": "V",
- "\u24CC": "W",
- "\u24CD": "X",
- "\u24CE": "Y",
- "\u24CF": "Z",
- "\u24D0": "a",
- "\u24D1": "b",
- "\u24D2": "c",
- "\u24D3": "d",
- "\u24D4": "e",
- "\u24D5": "f",
- "\u24D6": "g",
- "\u24D7": "h",
- "\u24D8": "i",
- "\u24D9": "j",
- "\u24DA": "k",
- "\u24DB": "l",
- "\u24DC": "m",
- "\u24DD": "n",
- "\u24DE": "o",
- "\u24DF": "p",
- "\u24E0": "q",
- "\u24E1": "r",
- "\u24E2": "s",
- "\u24E3": "t",
- "\u24E4": "u",
- "\u24E6": "v",
- "\u24E5": "w",
- "\u24E7": "x",
- "\u24E8": "y",
- "\u24E9": "z",
- // symbols
- "\u201C": '"',
- "\u201D": '"',
- "\u2018": "'",
- "\u2019": "'",
- "\u2202": "d",
- "\u0192": "f",
- "\u2122": "(TM)",
- "\xA9": "(C)",
- "\u0153": "oe",
- "\u0152": "OE",
- "\xAE": "(R)",
- "\u2020": "+",
- "\u2120": "(SM)",
- "\u2026": "...",
- "\u02DA": "o",
- "\xBA": "o",
- "\xAA": "a",
- "\u2022": "*",
- "\u104A": ",",
- "\u104B": ".",
- // currency
- "$": "USD",
- "\u20AC": "EUR",
- "\u20A2": "BRN",
- "\u20A3": "FRF",
- "\xA3": "GBP",
- "\u20A4": "ITL",
- "\u20A6": "NGN",
- "\u20A7": "ESP",
- "\u20A9": "KRW",
- "\u20AA": "ILS",
- "\u20AB": "VND",
- "\u20AD": "LAK",
- "\u20AE": "MNT",
- "\u20AF": "GRD",
- "\u20B1": "ARS",
- "\u20B2": "PYG",
- "\u20B3": "ARA",
- "\u20B4": "UAH",
- "\u20B5": "GHS",
- "\xA2": "cent",
- "\xA5": "CNY",
- "\u5143": "CNY",
- "\u5186": "YEN",
- "\uFDFC": "IRR",
- "\u20A0": "EWE",
- "\u0E3F": "THB",
- "\u20A8": "INR",
- "\u20B9": "INR",
- "\u20B0": "PF",
- "\u20BA": "TRY",
- "\u060B": "AFN",
- "\u20BC": "AZN",
- "\u043B\u0432": "BGN",
- "\u17DB": "KHR",
- "\u20A1": "CRC",
- "\u20B8": "KZT",
- "\u0434\u0435\u043D": "MKD",
- "z\u0142": "PLN",
- "\u20BD": "RUB",
- "\u20BE": "GEL"
- };
- var lookAheadCharArray = [
- // burmese
- "\u103A",
- // Dhivehi
- "\u07B0"
- ];
- var diatricMap = {
- // Burmese
- // dependent vowels
- "\u102C": "a",
- "\u102B": "a",
- "\u1031": "e",
- "\u1032": "e",
- "\u102D": "i",
- "\u102E": "i",
- "\u102D\u102F": "o",
- "\u102F": "u",
- "\u1030": "u",
- "\u1031\u102B\u1004\u103A": "aung",
- "\u1031\u102C": "aw",
- "\u1031\u102C\u103A": "aw",
- "\u1031\u102B": "aw",
- "\u1031\u102B\u103A": "aw",
- "\u103A": "\u103A",
- // this is special case but the character will be converted to latin in the code
- "\u1000\u103A": "et",
- "\u102D\u102F\u1000\u103A": "aik",
- "\u1031\u102C\u1000\u103A": "auk",
- "\u1004\u103A": "in",
- "\u102D\u102F\u1004\u103A": "aing",
- "\u1031\u102C\u1004\u103A": "aung",
- "\u1005\u103A": "it",
- "\u100A\u103A": "i",
- "\u1010\u103A": "at",
- "\u102D\u1010\u103A": "eik",
- "\u102F\u1010\u103A": "ok",
- "\u103D\u1010\u103A": "ut",
- "\u1031\u1010\u103A": "it",
- "\u1012\u103A": "d",
- "\u102D\u102F\u1012\u103A": "ok",
- "\u102F\u1012\u103A": "ait",
- "\u1014\u103A": "an",
- "\u102C\u1014\u103A": "an",
- "\u102D\u1014\u103A": "ein",
- "\u102F\u1014\u103A": "on",
- "\u103D\u1014\u103A": "un",
- "\u1015\u103A": "at",
- "\u102D\u1015\u103A": "eik",
- "\u102F\u1015\u103A": "ok",
- "\u103D\u1015\u103A": "ut",
- "\u1014\u103A\u102F\u1015\u103A": "nub",
- "\u1019\u103A": "an",
- "\u102D\u1019\u103A": "ein",
- "\u102F\u1019\u103A": "on",
- "\u103D\u1019\u103A": "un",
- "\u101A\u103A": "e",
- "\u102D\u102F\u101C\u103A": "ol",
- "\u1009\u103A": "in",
- "\u1036": "an",
- "\u102D\u1036": "ein",
- "\u102F\u1036": "on",
- // Dhivehi
- "\u07A6\u0787\u07B0": "ah",
- "\u07A6\u0781\u07B0": "ah"
- };
- var langCharMap = {
- "en": {},
- // default language
- "az": {
- // Azerbaijani
- "\xE7": "c",
- "\u0259": "e",
- "\u011F": "g",
- "\u0131": "i",
- "\xF6": "o",
- "\u015F": "s",
- "\xFC": "u",
- "\xC7": "C",
- "\u018F": "E",
- "\u011E": "G",
- "\u0130": "I",
- "\xD6": "O",
- "\u015E": "S",
- "\xDC": "U"
- },
- "cs": {
- // Czech
- "\u010D": "c",
- "\u010F": "d",
- "\u011B": "e",
- "\u0148": "n",
- "\u0159": "r",
- "\u0161": "s",
- "\u0165": "t",
- "\u016F": "u",
- "\u017E": "z",
- "\u010C": "C",
- "\u010E": "D",
- "\u011A": "E",
- "\u0147": "N",
- "\u0158": "R",
- "\u0160": "S",
- "\u0164": "T",
- "\u016E": "U",
- "\u017D": "Z"
- },
- "fi": {
- // Finnish
- // 'å': 'a', duplicate see charMap/latin
- // 'Å': 'A', duplicate see charMap/latin
- "\xE4": "a",
- // ok
- "\xC4": "A",
- // ok
- "\xF6": "o",
- // ok
- "\xD6": "O"
- // ok
- },
- "hu": {
- // Hungarian
- "\xE4": "a",
- // ok
- "\xC4": "A",
- // ok
- // 'á': 'a', duplicate see charMap/latin
- // 'Á': 'A', duplicate see charMap/latin
- "\xF6": "o",
- // ok
- "\xD6": "O",
- // ok
- // 'ő': 'o', duplicate see charMap/latin
- // 'Ő': 'O', duplicate see charMap/latin
- "\xFC": "u",
- "\xDC": "U",
- "\u0171": "u",
- "\u0170": "U"
- },
- "lt": {
- // Lithuanian
- "\u0105": "a",
- "\u010D": "c",
- "\u0119": "e",
- "\u0117": "e",
- "\u012F": "i",
- "\u0161": "s",
- "\u0173": "u",
- "\u016B": "u",
- "\u017E": "z",
- "\u0104": "A",
- "\u010C": "C",
- "\u0118": "E",
- "\u0116": "E",
- "\u012E": "I",
- "\u0160": "S",
- "\u0172": "U",
- "\u016A": "U"
- },
- "lv": {
- // Latvian
- "\u0101": "a",
- "\u010D": "c",
- "\u0113": "e",
- "\u0123": "g",
- "\u012B": "i",
- "\u0137": "k",
- "\u013C": "l",
- "\u0146": "n",
- "\u0161": "s",
- "\u016B": "u",
- "\u017E": "z",
- "\u0100": "A",
- "\u010C": "C",
- "\u0112": "E",
- "\u0122": "G",
- "\u012A": "i",
- "\u0136": "k",
- "\u013B": "L",
- "\u0145": "N",
- "\u0160": "S",
- "\u016A": "u",
- "\u017D": "Z"
- },
- "pl": {
- // Polish
- "\u0105": "a",
- "\u0107": "c",
- "\u0119": "e",
- "\u0142": "l",
- "\u0144": "n",
- "\xF3": "o",
- "\u015B": "s",
- "\u017A": "z",
- "\u017C": "z",
- "\u0104": "A",
- "\u0106": "C",
- "\u0118": "e",
- "\u0141": "L",
- "\u0143": "N",
- "\xD3": "O",
- "\u015A": "S",
- "\u0179": "Z",
- "\u017B": "Z"
- },
- "sv": {
- // Swedish
- // 'å': 'a', duplicate see charMap/latin
- // 'Å': 'A', duplicate see charMap/latin
- "\xE4": "a",
- // ok
- "\xC4": "A",
- // ok
- "\xF6": "o",
- // ok
- "\xD6": "O"
- // ok
- },
- "sk": {
- // Slovak
- "\xE4": "a",
- "\xC4": "A"
- },
- "sr": {
- // Serbian
- "\u0459": "lj",
- "\u045A": "nj",
- "\u0409": "Lj",
- "\u040A": "Nj",
- "\u0111": "dj",
- "\u0110": "Dj"
- },
- "tr": {
- // Turkish
- "\xDC": "U",
- "\xD6": "O",
- "\xFC": "u",
- "\xF6": "o"
- }
- };
- var symbolMap = {
- "ar": {
- "\u2206": "delta",
- "\u221E": "la-nihaya",
- "\u2665": "hob",
- "&": "wa",
- "|": "aw",
- "<": "aqal-men",
- ">": "akbar-men",
- "\u2211": "majmou",
- "\xA4": "omla"
- },
- "az": {},
- "ca": {
- "\u2206": "delta",
- "\u221E": "infinit",
- "\u2665": "amor",
- "&": "i",
- "|": "o",
- "<": "menys que",
- ">": "mes que",
- "\u2211": "suma dels",
- "\xA4": "moneda"
- },
- "cs": {
- "\u2206": "delta",
- "\u221E": "nekonecno",
- "\u2665": "laska",
- "&": "a",
- "|": "nebo",
- "<": "mensi nez",
- ">": "vetsi nez",
- "\u2211": "soucet",
- "\xA4": "mena"
- },
- "de": {
- "\u2206": "delta",
- "\u221E": "unendlich",
- "\u2665": "Liebe",
- "&": "und",
- "|": "oder",
- "<": "kleiner als",
- ">": "groesser als",
- "\u2211": "Summe von",
- "\xA4": "Waehrung"
- },
- "dv": {
- "\u2206": "delta",
- "\u221E": "kolunulaa",
- "\u2665": "loabi",
- "&": "aai",
- "|": "noonee",
- "<": "ah vure kuda",
- ">": "ah vure bodu",
- "\u2211": "jumula",
- "\xA4": "faisaa"
- },
- "en": {
- "\u2206": "delta",
- "\u221E": "infinity",
- "\u2665": "love",
- "&": "and",
- "|": "or",
- "<": "less than",
- ">": "greater than",
- "\u2211": "sum",
- "\xA4": "currency"
- },
- "es": {
- "\u2206": "delta",
- "\u221E": "infinito",
- "\u2665": "amor",
- "&": "y",
- "|": "u",
- "<": "menos que",
- ">": "mas que",
- "\u2211": "suma de los",
- "\xA4": "moneda"
- },
- "fa": {
- "\u2206": "delta",
- "\u221E": "bi-nahayat",
- "\u2665": "eshgh",
- "&": "va",
- "|": "ya",
- "<": "kamtar-az",
- ">": "bishtar-az",
- "\u2211": "majmooe",
- "\xA4": "vahed"
- },
- "fi": {
- "\u2206": "delta",
- "\u221E": "aarettomyys",
- "\u2665": "rakkaus",
- "&": "ja",
- "|": "tai",
- "<": "pienempi kuin",
- ">": "suurempi kuin",
- "\u2211": "summa",
- "\xA4": "valuutta"
- },
- "fr": {
- "\u2206": "delta",
- "\u221E": "infiniment",
- "\u2665": "Amour",
- "&": "et",
- "|": "ou",
- "<": "moins que",
- ">": "superieure a",
- "\u2211": "somme des",
- "\xA4": "monnaie"
- },
- "ge": {
- "\u2206": "delta",
- "\u221E": "usasruloba",
- "\u2665": "siqvaruli",
- "&": "da",
- "|": "an",
- "<": "naklebi",
- ">": "meti",
- "\u2211": "jami",
- "\xA4": "valuta"
- },
- "gr": {},
- "hu": {
- "\u2206": "delta",
- "\u221E": "vegtelen",
- "\u2665": "szerelem",
- "&": "es",
- "|": "vagy",
- "<": "kisebb mint",
- ">": "nagyobb mint",
- "\u2211": "szumma",
- "\xA4": "penznem"
- },
- "it": {
- "\u2206": "delta",
- "\u221E": "infinito",
- "\u2665": "amore",
- "&": "e",
- "|": "o",
- "<": "minore di",
- ">": "maggiore di",
- "\u2211": "somma",
- "\xA4": "moneta"
- },
- "lt": {
- "\u2206": "delta",
- "\u221E": "begalybe",
- "\u2665": "meile",
- "&": "ir",
- "|": "ar",
- "<": "maziau nei",
- ">": "daugiau nei",
- "\u2211": "suma",
- "\xA4": "valiuta"
- },
- "lv": {
- "\u2206": "delta",
- "\u221E": "bezgaliba",
- "\u2665": "milestiba",
- "&": "un",
- "|": "vai",
- "<": "mazak neka",
- ">": "lielaks neka",
- "\u2211": "summa",
- "\xA4": "valuta"
- },
- "my": {
- "\u2206": "kwahkhyaet",
- "\u221E": "asaonasme",
- "\u2665": "akhyait",
- "&": "nhin",
- "|": "tho",
- "<": "ngethaw",
- ">": "kyithaw",
- "\u2211": "paungld",
- "\xA4": "ngwekye"
- },
- "mk": {},
- "nl": {
- "\u2206": "delta",
- "\u221E": "oneindig",
- "\u2665": "liefde",
- "&": "en",
- "|": "of",
- "<": "kleiner dan",
- ">": "groter dan",
- "\u2211": "som",
- "\xA4": "valuta"
- },
- "pl": {
- "\u2206": "delta",
- "\u221E": "nieskonczonosc",
- "\u2665": "milosc",
- "&": "i",
- "|": "lub",
- "<": "mniejsze niz",
- ">": "wieksze niz",
- "\u2211": "suma",
- "\xA4": "waluta"
- },
- "pt": {
- "\u2206": "delta",
- "\u221E": "infinito",
- "\u2665": "amor",
- "&": "e",
- "|": "ou",
- "<": "menor que",
- ">": "maior que",
- "\u2211": "soma",
- "\xA4": "moeda"
- },
- "ro": {
- "\u2206": "delta",
- "\u221E": "infinit",
- "\u2665": "dragoste",
- "&": "si",
- "|": "sau",
- "<": "mai mic ca",
- ">": "mai mare ca",
- "\u2211": "suma",
- "\xA4": "valuta"
- },
- "ru": {
- "\u2206": "delta",
- "\u221E": "beskonechno",
- "\u2665": "lubov",
- "&": "i",
- "|": "ili",
- "<": "menshe",
- ">": "bolshe",
- "\u2211": "summa",
- "\xA4": "valjuta"
- },
- "sk": {
- "\u2206": "delta",
- "\u221E": "nekonecno",
- "\u2665": "laska",
- "&": "a",
- "|": "alebo",
- "<": "menej ako",
- ">": "viac ako",
- "\u2211": "sucet",
- "\xA4": "mena"
- },
- "sr": {},
- "tr": {
- "\u2206": "delta",
- "\u221E": "sonsuzluk",
- "\u2665": "ask",
- "&": "ve",
- "|": "veya",
- "<": "kucuktur",
- ">": "buyuktur",
- "\u2211": "toplam",
- "\xA4": "para birimi"
- },
- "uk": {
- "\u2206": "delta",
- "\u221E": "bezkinechnist",
- "\u2665": "lubov",
- "&": "i",
- "|": "abo",
- "<": "menshe",
- ">": "bilshe",
- "\u2211": "suma",
- "\xA4": "valjuta"
- },
- "vn": {
- "\u2206": "delta",
- "\u221E": "vo cuc",
- "\u2665": "yeu",
- "&": "va",
- "|": "hoac",
- "<": "nho hon",
- ">": "lon hon",
- "\u2211": "tong",
- "\xA4": "tien te"
- }
- };
- var uricChars = [";", "?", ":", "@", "&", "=", "+", "$", ",", "/"].join("");
- var uricNoSlashChars = [";", "?", ":", "@", "&", "=", "+", "$", ","].join("");
- var markChars = [".", "!", "~", "*", "'", "(", ")"].join("");
- var getSlug = function getSlug2(input, opts) {
- var separator = "-";
- var result = "";
- var diatricString = "";
- var convertSymbols = true;
- var customReplacements = {};
- var maintainCase;
- var titleCase;
- var truncate;
- var uricFlag;
- var uricNoSlashFlag;
- var markFlag;
- var symbol;
- var langChar;
- var lucky;
- var i;
- var ch;
- var l;
- var lastCharWasSymbol;
- var lastCharWasDiatric;
- var allowedChars = "";
- if (typeof input !== "string") {
- return "";
- }
- if (typeof opts === "string") {
- separator = opts;
- }
- symbol = symbolMap.en;
- langChar = langCharMap.en;
- if (typeof opts === "object") {
- maintainCase = opts.maintainCase || false;
- customReplacements = opts.custom && typeof opts.custom === "object" ? opts.custom : customReplacements;
- truncate = +opts.truncate > 1 && opts.truncate || false;
- uricFlag = opts.uric || false;
- uricNoSlashFlag = opts.uricNoSlash || false;
- markFlag = opts.mark || false;
- convertSymbols = opts.symbols === false || opts.lang === false ? false : true;
- separator = opts.separator || separator;
- if (uricFlag) {
- allowedChars += uricChars;
- }
- if (uricNoSlashFlag) {
- allowedChars += uricNoSlashChars;
- }
- if (markFlag) {
- allowedChars += markChars;
- }
- symbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {};
- langChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en;
- if (opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) {
- opts.titleCase.forEach(function(v) {
- customReplacements[v + ""] = v + "";
- });
- titleCase = true;
- } else {
- titleCase = !!opts.titleCase;
- }
- if (opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) {
- opts.custom.forEach(function(v) {
- customReplacements[v + ""] = v + "";
- });
- }
- Object.keys(customReplacements).forEach(function(v) {
- var r;
- if (v.length > 1) {
- r = new RegExp("\\b" + escapeChars(v) + "\\b", "gi");
- } else {
- r = new RegExp(escapeChars(v), "gi");
- }
- input = input.replace(r, customReplacements[v]);
- });
- for (ch in customReplacements) {
- allowedChars += ch;
- }
- }
- allowedChars += separator;
- allowedChars = escapeChars(allowedChars);
- input = input.replace(/(^\s+|\s+$)/g, "");
- lastCharWasSymbol = false;
- lastCharWasDiatric = false;
- for (i = 0, l = input.length; i < l; i++) {
- ch = input[i];
- if (isReplacedCustomChar(ch, customReplacements)) {
- lastCharWasSymbol = false;
- } else if (langChar[ch]) {
- ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? " " + langChar[ch] : langChar[ch];
- lastCharWasSymbol = false;
- } else if (ch in charMap) {
- if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) {
- diatricString += ch;
- ch = "";
- } else if (lastCharWasDiatric === true) {
- ch = diatricMap[diatricString] + charMap[ch];
- diatricString = "";
- } else {
- ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? " " + charMap[ch] : charMap[ch];
- }
- lastCharWasSymbol = false;
- lastCharWasDiatric = false;
- } else if (ch in diatricMap) {
- diatricString += ch;
- ch = "";
- if (i === l - 1) {
- ch = diatricMap[diatricString];
- }
- lastCharWasDiatric = true;
- } else if (
- // process symbol chars
- symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1)
- ) {
- ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch];
- ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : "";
- lastCharWasSymbol = true;
- } else {
- if (lastCharWasDiatric === true) {
- ch = diatricMap[diatricString] + ch;
- diatricString = "";
- lastCharWasDiatric = false;
- } else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) {
- ch = " " + ch;
- }
- lastCharWasSymbol = false;
- }
- result += ch.replace(new RegExp("[^\\w\\s" + allowedChars + "_-]", "g"), separator);
- }
- if (titleCase) {
- result = result.replace(/(\w)(\S*)/g, function(_, i2, r) {
- var j = i2.toUpperCase() + (r !== null ? r : "");
- return Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase();
- });
- }
- result = result.replace(/\s+/g, separator).replace(new RegExp("\\" + separator + "+", "g"), separator).replace(new RegExp("(^\\" + separator + "+|\\" + separator + "+$)", "g"), "");
- if (truncate && result.length > truncate) {
- lucky = result.charAt(truncate) === separator;
- result = result.slice(0, truncate);
- if (!lucky) {
- result = result.slice(0, result.lastIndexOf(separator));
- }
- }
- if (!maintainCase && !titleCase) {
- result = result.toLowerCase();
- }
- return result;
- };
- var createSlug = function createSlug2(opts) {
- return function getSlugWithConfig(input) {
- return getSlug(input, opts);
- };
- };
- var escapeChars = function escapeChars2(input) {
- return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, "\\$&");
- };
- var isReplacedCustomChar = function(ch, customReplacements) {
- for (var c in customReplacements) {
- if (customReplacements[c] === ch) {
- return true;
- }
- }
- };
- if (typeof module2 !== "undefined" && module2.exports) {
- module2.exports = getSlug;
- module2.exports.createSlug = createSlug;
- } else if (typeof define !== "undefined" && define.amd) {
- define([], function() {
- return getSlug;
- });
- } else {
- try {
- if (root.getSlug || root.createSlug) {
- throw "speakingurl: globals exists /(getSlug|createSlug)/";
- } else {
- root.getSlug = getSlug;
- root.createSlug = createSlug;
- }
- } catch (e) {
- }
- }
- })(exports2);
- }
- });
- // ../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js
- var require_speakingurl2 = __commonJS({
- "../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(exports2, module2) {
- "use strict";
- init_cjs_shims();
- module2.exports = require_speakingurl();
- }
- });
- // src/index.ts
- var index_exports = {};
- __export(index_exports, {
- DevToolsContextHookKeys: () => DevToolsContextHookKeys,
- DevToolsMessagingHookKeys: () => DevToolsMessagingHookKeys,
- DevToolsV6PluginAPIHookKeys: () => DevToolsV6PluginAPIHookKeys,
- INFINITY: () => INFINITY,
- NAN: () => NAN,
- NEGATIVE_INFINITY: () => NEGATIVE_INFINITY,
- ROUTER_INFO_KEY: () => ROUTER_INFO_KEY,
- ROUTER_KEY: () => ROUTER_KEY,
- UNDEFINED: () => UNDEFINED,
- activeAppRecord: () => activeAppRecord,
- addCustomCommand: () => addCustomCommand,
- addCustomTab: () => addCustomTab,
- addDevToolsAppRecord: () => addDevToolsAppRecord,
- addDevToolsPluginToBuffer: () => addDevToolsPluginToBuffer,
- addInspector: () => addInspector,
- callConnectedUpdatedHook: () => callConnectedUpdatedHook,
- callDevToolsPluginSetupFn: () => callDevToolsPluginSetupFn,
- callInspectorUpdatedHook: () => callInspectorUpdatedHook,
- callStateUpdatedHook: () => callStateUpdatedHook,
- createComponentsDevToolsPlugin: () => createComponentsDevToolsPlugin,
- createDevToolsApi: () => createDevToolsApi,
- createDevToolsCtxHooks: () => createDevToolsCtxHooks,
- createRpcClient: () => createRpcClient,
- createRpcProxy: () => createRpcProxy,
- createRpcServer: () => createRpcServer,
- devtools: () => devtools,
- devtoolsAppRecords: () => devtoolsAppRecords,
- devtoolsContext: () => devtoolsContext,
- devtoolsInspector: () => devtoolsInspector,
- devtoolsPluginBuffer: () => devtoolsPluginBuffer,
- devtoolsRouter: () => devtoolsRouter,
- devtoolsRouterInfo: () => devtoolsRouterInfo,
- devtoolsState: () => devtoolsState,
- escape: () => escape,
- formatInspectorStateValue: () => formatInspectorStateValue,
- getActiveInspectors: () => getActiveInspectors,
- getDevToolsEnv: () => getDevToolsEnv,
- getExtensionClientContext: () => getExtensionClientContext,
- getInspector: () => getInspector,
- getInspectorActions: () => getInspectorActions,
- getInspectorInfo: () => getInspectorInfo,
- getInspectorNodeActions: () => getInspectorNodeActions,
- getInspectorStateValueType: () => getInspectorStateValueType,
- getRaw: () => getRaw,
- getRpcClient: () => getRpcClient,
- getRpcServer: () => getRpcServer,
- getViteRpcClient: () => getViteRpcClient,
- getViteRpcServer: () => getViteRpcServer,
- initDevTools: () => initDevTools,
- isPlainObject: () => isPlainObject,
- onDevToolsClientConnected: () => onDevToolsClientConnected,
- onDevToolsConnected: () => onDevToolsConnected,
- parse: () => parse2,
- registerDevToolsPlugin: () => registerDevToolsPlugin,
- removeCustomCommand: () => removeCustomCommand,
- removeDevToolsAppRecord: () => removeDevToolsAppRecord,
- removeRegisteredPluginApp: () => removeRegisteredPluginApp,
- resetDevToolsState: () => resetDevToolsState,
- setActiveAppRecord: () => setActiveAppRecord,
- setActiveAppRecordId: () => setActiveAppRecordId,
- setDevToolsEnv: () => setDevToolsEnv,
- setElectronClientContext: () => setElectronClientContext,
- setElectronProxyContext: () => setElectronProxyContext,
- setElectronServerContext: () => setElectronServerContext,
- setExtensionClientContext: () => setExtensionClientContext,
- setIframeServerContext: () => setIframeServerContext,
- setOpenInEditorBaseUrl: () => setOpenInEditorBaseUrl,
- setRpcServerToGlobal: () => setRpcServerToGlobal,
- setViteClientContext: () => setViteClientContext,
- setViteRpcClientToGlobal: () => setViteRpcClientToGlobal,
- setViteRpcServerToGlobal: () => setViteRpcServerToGlobal,
- setViteServerContext: () => setViteServerContext,
- setupDevToolsPlugin: () => setupDevToolsPlugin,
- stringify: () => stringify2,
- toEdit: () => toEdit,
- toSubmit: () => toSubmit,
- toggleClientConnected: () => toggleClientConnected,
- toggleComponentInspectorEnabled: () => toggleComponentInspectorEnabled,
- toggleHighPerfMode: () => toggleHighPerfMode,
- updateDevToolsClientDetected: () => updateDevToolsClientDetected,
- updateDevToolsState: () => updateDevToolsState,
- updateTimelineLayersState: () => updateTimelineLayersState
- });
- module.exports = __toCommonJS(index_exports);
- init_cjs_shims();
- // src/core/index.ts
- init_cjs_shims();
- var import_devtools_shared21 = require("@vue/devtools-shared");
- // src/compat/index.ts
- init_cjs_shims();
- var import_devtools_shared = require("@vue/devtools-shared");
- function onLegacyDevToolsPluginApiAvailable(cb) {
- if (import_devtools_shared.target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__) {
- cb();
- return;
- }
- Object.defineProperty(import_devtools_shared.target, "__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__", {
- set(value) {
- if (value)
- cb();
- },
- configurable: true
- });
- }
- // src/ctx/index.ts
- init_cjs_shims();
- var import_devtools_shared19 = require("@vue/devtools-shared");
- // src/ctx/api.ts
- init_cjs_shims();
- var import_devtools_shared17 = require("@vue/devtools-shared");
- // src/core/component-highlighter/index.ts
- init_cjs_shims();
- // src/core/component/state/bounding-rect.ts
- init_cjs_shims();
- // src/core/component/utils/index.ts
- init_cjs_shims();
- var import_devtools_shared2 = require("@vue/devtools-shared");
- function getComponentTypeName(options) {
- var _a25;
- const name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name;
- if (name === "index" && ((_a25 = options.__file) == null ? void 0 : _a25.endsWith("index.vue"))) {
- return "";
- }
- return name;
- }
- function getComponentFileName(options) {
- const file = options.__file;
- if (file)
- return (0, import_devtools_shared2.classify)((0, import_devtools_shared2.basename)(file, ".vue"));
- }
- function getComponentName(options) {
- const name = options.displayName || options.name || options._componentTag;
- if (name)
- return name;
- return getComponentFileName(options);
- }
- function saveComponentGussedName(instance, name) {
- instance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name;
- return name;
- }
- function getAppRecord(instance) {
- if (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__)
- return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
- else if (instance.root)
- return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
- }
- async function getComponentId(options) {
- const { app, uid, instance } = options;
- try {
- if (instance.__VUE_DEVTOOLS_NEXT_UID__)
- return instance.__VUE_DEVTOOLS_NEXT_UID__;
- const appRecord = await getAppRecord(app);
- if (!appRecord)
- return null;
- const isRoot = appRecord.rootInstance === instance;
- return `${appRecord.id}:${isRoot ? "root" : uid}`;
- } catch (e) {
- }
- }
- function isFragment(instance) {
- var _a25, _b25;
- const subTreeType = (_a25 = instance.subTree) == null ? void 0 : _a25.type;
- const appRecord = getAppRecord(instance);
- if (appRecord) {
- return ((_b25 = appRecord == null ? void 0 : appRecord.types) == null ? void 0 : _b25.Fragment) === subTreeType;
- }
- return false;
- }
- function isBeingDestroyed(instance) {
- return instance._isBeingDestroyed || instance.isUnmounted;
- }
- function getInstanceName(instance) {
- var _a25, _b25, _c;
- const name = getComponentTypeName((instance == null ? void 0 : instance.type) || {});
- if (name)
- return name;
- if ((instance == null ? void 0 : instance.root) === instance)
- return "Root";
- for (const key in (_b25 = (_a25 = instance.parent) == null ? void 0 : _a25.type) == null ? void 0 : _b25.components) {
- if (instance.parent.type.components[key] === (instance == null ? void 0 : instance.type))
- return saveComponentGussedName(instance, key);
- }
- for (const key in (_c = instance.appContext) == null ? void 0 : _c.components) {
- if (instance.appContext.components[key] === (instance == null ? void 0 : instance.type))
- return saveComponentGussedName(instance, key);
- }
- const fileName = getComponentFileName((instance == null ? void 0 : instance.type) || {});
- if (fileName)
- return fileName;
- return "Anonymous Component";
- }
- function getUniqueComponentId(instance) {
- var _a25, _b25, _c;
- const appId = (_c = (_b25 = (_a25 = instance == null ? void 0 : instance.appContext) == null ? void 0 : _a25.app) == null ? void 0 : _b25.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__) != null ? _c : 0;
- const instanceId = instance === (instance == null ? void 0 : instance.root) ? "root" : instance.uid;
- return `${appId}:${instanceId}`;
- }
- function getRenderKey(value) {
- if (value == null)
- return "";
- if (typeof value === "number")
- return value;
- else if (typeof value === "string")
- return `'${value}'`;
- else if (Array.isArray(value))
- return "Array";
- else
- return "Object";
- }
- function returnError(cb) {
- try {
- return cb();
- } catch (e) {
- return e;
- }
- }
- function getComponentInstance(appRecord, instanceId) {
- instanceId = instanceId || `${appRecord.id}:root`;
- const instance = appRecord.instanceMap.get(instanceId);
- return instance || appRecord.instanceMap.get(":root");
- }
- function ensurePropertyExists(obj, key, skipObjCheck = false) {
- return skipObjCheck ? key in obj : typeof obj === "object" && obj !== null ? key in obj : false;
- }
- // src/core/component/state/bounding-rect.ts
- function createRect() {
- const rect = {
- top: 0,
- bottom: 0,
- left: 0,
- right: 0,
- get width() {
- return rect.right - rect.left;
- },
- get height() {
- return rect.bottom - rect.top;
- }
- };
- return rect;
- }
- var range;
- function getTextRect(node) {
- if (!range)
- range = document.createRange();
- range.selectNode(node);
- return range.getBoundingClientRect();
- }
- function getFragmentRect(vnode) {
- const rect = createRect();
- if (!vnode.children)
- return rect;
- for (let i = 0, l = vnode.children.length; i < l; i++) {
- const childVnode = vnode.children[i];
- let childRect;
- if (childVnode.component) {
- childRect = getComponentBoundingRect(childVnode.component);
- } else if (childVnode.el) {
- const el = childVnode.el;
- if (el.nodeType === 1 || el.getBoundingClientRect)
- childRect = el.getBoundingClientRect();
- else if (el.nodeType === 3 && el.data.trim())
- childRect = getTextRect(el);
- }
- if (childRect)
- mergeRects(rect, childRect);
- }
- return rect;
- }
- function mergeRects(a, b) {
- if (!a.top || b.top < a.top)
- a.top = b.top;
- if (!a.bottom || b.bottom > a.bottom)
- a.bottom = b.bottom;
- if (!a.left || b.left < a.left)
- a.left = b.left;
- if (!a.right || b.right > a.right)
- a.right = b.right;
- return a;
- }
- var DEFAULT_RECT = {
- top: 0,
- left: 0,
- right: 0,
- bottom: 0,
- width: 0,
- height: 0
- };
- function getComponentBoundingRect(instance) {
- const el = instance.subTree.el;
- if (typeof window === "undefined") {
- return DEFAULT_RECT;
- }
- if (isFragment(instance))
- return getFragmentRect(instance.subTree);
- else if ((el == null ? void 0 : el.nodeType) === 1)
- return el == null ? void 0 : el.getBoundingClientRect();
- else if (instance.subTree.component)
- return getComponentBoundingRect(instance.subTree.component);
- else
- return DEFAULT_RECT;
- }
- // src/core/component/tree/el.ts
- init_cjs_shims();
- function getRootElementsFromComponentInstance(instance) {
- if (isFragment(instance))
- return getFragmentRootElements(instance.subTree);
- if (!instance.subTree)
- return [];
- return [instance.subTree.el];
- }
- function getFragmentRootElements(vnode) {
- if (!vnode.children)
- return [];
- const list = [];
- vnode.children.forEach((childVnode) => {
- if (childVnode.component)
- list.push(...getRootElementsFromComponentInstance(childVnode.component));
- else if (childVnode == null ? void 0 : childVnode.el)
- list.push(childVnode.el);
- });
- return list;
- }
- // src/core/component-highlighter/index.ts
- var CONTAINER_ELEMENT_ID = "__vue-devtools-component-inspector__";
- var CARD_ELEMENT_ID = "__vue-devtools-component-inspector__card__";
- var COMPONENT_NAME_ELEMENT_ID = "__vue-devtools-component-inspector__name__";
- var INDICATOR_ELEMENT_ID = "__vue-devtools-component-inspector__indicator__";
- var containerStyles = {
- display: "block",
- zIndex: 2147483640,
- position: "fixed",
- backgroundColor: "#42b88325",
- border: "1px solid #42b88350",
- borderRadius: "5px",
- transition: "all 0.1s ease-in",
- pointerEvents: "none"
- };
- var cardStyles = {
- fontFamily: "Arial, Helvetica, sans-serif",
- padding: "5px 8px",
- borderRadius: "4px",
- textAlign: "left",
- position: "absolute",
- left: 0,
- color: "#e9e9e9",
- fontSize: "14px",
- fontWeight: 600,
- lineHeight: "24px",
- backgroundColor: "#42b883",
- boxShadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"
- };
- var indicatorStyles = {
- display: "inline-block",
- fontWeight: 400,
- fontStyle: "normal",
- fontSize: "12px",
- opacity: 0.7
- };
- function getContainerElement() {
- return document.getElementById(CONTAINER_ELEMENT_ID);
- }
- function getCardElement() {
- return document.getElementById(CARD_ELEMENT_ID);
- }
- function getIndicatorElement() {
- return document.getElementById(INDICATOR_ELEMENT_ID);
- }
- function getNameElement() {
- return document.getElementById(COMPONENT_NAME_ELEMENT_ID);
- }
- function getStyles(bounds) {
- return {
- left: `${Math.round(bounds.left * 100) / 100}px`,
- top: `${Math.round(bounds.top * 100) / 100}px`,
- width: `${Math.round(bounds.width * 100) / 100}px`,
- height: `${Math.round(bounds.height * 100) / 100}px`
- };
- }
- function create(options) {
- var _a25;
- const containerEl = document.createElement("div");
- containerEl.id = (_a25 = options.elementId) != null ? _a25 : CONTAINER_ELEMENT_ID;
- Object.assign(containerEl.style, {
- ...containerStyles,
- ...getStyles(options.bounds),
- ...options.style
- });
- const cardEl = document.createElement("span");
- cardEl.id = CARD_ELEMENT_ID;
- Object.assign(cardEl.style, {
- ...cardStyles,
- top: options.bounds.top < 35 ? 0 : "-35px"
- });
- const nameEl = document.createElement("span");
- nameEl.id = COMPONENT_NAME_ELEMENT_ID;
- nameEl.innerHTML = `<${options.name}> `;
- const indicatorEl = document.createElement("i");
- indicatorEl.id = INDICATOR_ELEMENT_ID;
- indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;
- Object.assign(indicatorEl.style, indicatorStyles);
- cardEl.appendChild(nameEl);
- cardEl.appendChild(indicatorEl);
- containerEl.appendChild(cardEl);
- document.body.appendChild(containerEl);
- return containerEl;
- }
- function update(options) {
- const containerEl = getContainerElement();
- const cardEl = getCardElement();
- const nameEl = getNameElement();
- const indicatorEl = getIndicatorElement();
- if (containerEl) {
- Object.assign(containerEl.style, {
- ...containerStyles,
- ...getStyles(options.bounds)
- });
- Object.assign(cardEl.style, {
- top: options.bounds.top < 35 ? 0 : "-35px"
- });
- nameEl.innerHTML = `<${options.name}> `;
- indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;
- }
- }
- function highlight(instance) {
- const bounds = getComponentBoundingRect(instance);
- if (!bounds.width && !bounds.height)
- return;
- const name = getInstanceName(instance);
- const container = getContainerElement();
- container ? update({ bounds, name }) : create({ bounds, name });
- }
- function unhighlight() {
- const el = getContainerElement();
- if (el)
- el.style.display = "none";
- }
- var inspectInstance = null;
- function inspectFn(e) {
- const target22 = e.target;
- if (target22) {
- const instance = target22.__vueParentComponent;
- if (instance) {
- inspectInstance = instance;
- const el = instance.vnode.el;
- if (el) {
- const bounds = getComponentBoundingRect(instance);
- const name = getInstanceName(instance);
- const container = getContainerElement();
- container ? update({ bounds, name }) : create({ bounds, name });
- }
- }
- }
- }
- function selectComponentFn(e, cb) {
- e.preventDefault();
- e.stopPropagation();
- if (inspectInstance) {
- const uniqueComponentId = getUniqueComponentId(inspectInstance);
- cb(uniqueComponentId);
- }
- }
- var inspectComponentHighLighterSelectFn = null;
- function cancelInspectComponentHighLighter() {
- unhighlight();
- window.removeEventListener("mouseover", inspectFn);
- window.removeEventListener("click", inspectComponentHighLighterSelectFn, true);
- inspectComponentHighLighterSelectFn = null;
- }
- function inspectComponentHighLighter() {
- window.addEventListener("mouseover", inspectFn);
- return new Promise((resolve) => {
- function onSelect(e) {
- e.preventDefault();
- e.stopPropagation();
- selectComponentFn(e, (id) => {
- window.removeEventListener("click", onSelect, true);
- inspectComponentHighLighterSelectFn = null;
- window.removeEventListener("mouseover", inspectFn);
- const el = getContainerElement();
- if (el)
- el.style.display = "none";
- resolve(JSON.stringify({ id }));
- });
- }
- inspectComponentHighLighterSelectFn = onSelect;
- window.addEventListener("click", onSelect, true);
- });
- }
- function scrollToComponent(options) {
- const instance = getComponentInstance(activeAppRecord.value, options.id);
- if (instance) {
- const [el] = getRootElementsFromComponentInstance(instance);
- if (typeof el.scrollIntoView === "function") {
- el.scrollIntoView({
- behavior: "smooth"
- });
- } else {
- const bounds = getComponentBoundingRect(instance);
- const scrollTarget = document.createElement("div");
- const styles = {
- ...getStyles(bounds),
- position: "absolute"
- };
- Object.assign(scrollTarget.style, styles);
- document.body.appendChild(scrollTarget);
- scrollTarget.scrollIntoView({
- behavior: "smooth"
- });
- setTimeout(() => {
- document.body.removeChild(scrollTarget);
- }, 2e3);
- }
- setTimeout(() => {
- const bounds = getComponentBoundingRect(instance);
- if (bounds.width || bounds.height) {
- const name = getInstanceName(instance);
- const el2 = getContainerElement();
- el2 ? update({ ...options, name, bounds }) : create({ ...options, name, bounds });
- setTimeout(() => {
- if (el2)
- el2.style.display = "none";
- }, 1500);
- }
- }, 1200);
- }
- }
- // src/core/component-inspector/index.ts
- init_cjs_shims();
- var import_devtools_shared3 = require("@vue/devtools-shared");
- var _a, _b;
- (_b = (_a = import_devtools_shared3.target).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__) != null ? _b : _a.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = true;
- function toggleComponentInspectorEnabled(enabled) {
- import_devtools_shared3.target.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ = enabled;
- }
- function waitForInspectorInit(cb) {
- let total = 0;
- const timer = setInterval(() => {
- if (import_devtools_shared3.target.__VUE_INSPECTOR__) {
- clearInterval(timer);
- total += 30;
- cb();
- }
- if (total >= /* 5s */
- 5e3)
- clearInterval(timer);
- }, 30);
- }
- function setupInspector() {
- const inspector = import_devtools_shared3.target.__VUE_INSPECTOR__;
- const _openInEditor = inspector.openInEditor;
- inspector.openInEditor = async (...params) => {
- inspector.disable();
- _openInEditor(...params);
- };
- }
- function getComponentInspector() {
- return new Promise((resolve) => {
- function setup() {
- setupInspector();
- resolve(import_devtools_shared3.target.__VUE_INSPECTOR__);
- }
- if (!import_devtools_shared3.target.__VUE_INSPECTOR__) {
- waitForInspectorInit(() => {
- setup();
- });
- } else {
- setup();
- }
- });
- }
- // src/core/component/state/editor.ts
- init_cjs_shims();
- // src/shared/stub-vue.ts
- init_cjs_shims();
- function isReadonly(value) {
- return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
- }
- function isReactive(value) {
- if (isReadonly(value)) {
- return isReactive(value["__v_raw" /* RAW */]);
- }
- return !!(value && value["__v_isReactive" /* IS_REACTIVE */]);
- }
- function isRef(r) {
- return !!(r && r.__v_isRef === true);
- }
- function toRaw(observed) {
- const raw = observed && observed["__v_raw" /* RAW */];
- return raw ? toRaw(raw) : observed;
- }
- var Fragment = Symbol.for("v-fgt");
- // src/core/component/state/editor.ts
- var StateEditor = class {
- constructor() {
- this.refEditor = new RefStateEditor();
- }
- set(object, path, value, cb) {
- const sections = Array.isArray(path) ? path : path.split(".");
- const markRef = false;
- while (sections.length > 1) {
- const section = sections.shift();
- if (object instanceof Map)
- object = object.get(section);
- else if (object instanceof Set)
- object = Array.from(object.values())[section];
- else object = object[section];
- if (this.refEditor.isRef(object))
- object = this.refEditor.get(object);
- }
- const field = sections[0];
- const item = this.refEditor.get(object)[field];
- if (cb) {
- cb(object, field, value);
- } else {
- if (this.refEditor.isRef(item))
- this.refEditor.set(item, value);
- else if (markRef)
- 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++) {
- if (object instanceof Map)
- object = object.get(sections[i]);
- else
- object = object[sections[i]];
- if (this.refEditor.isRef(object))
- object = this.refEditor.get(object);
- if (!object)
- return void 0;
- }
- 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) {
- const section = sections.shift();
- object = object[section];
- if (this.refEditor.isRef(object))
- object = this.refEditor.get(object);
- }
- return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);
- }
- createDefaultSetCallback(state) {
- return (object, field, value) => {
- if (state.remove || state.newKey) {
- if (Array.isArray(object))
- object.splice(field, 1);
- else if (toRaw(object) instanceof Map)
- object.delete(field);
- else if (toRaw(object) instanceof Set)
- object.delete(Array.from(object.values())[field]);
- else Reflect.deleteProperty(object, field);
- }
- if (!state.remove) {
- const target22 = object[state.newKey || field];
- if (this.refEditor.isRef(target22))
- this.refEditor.set(target22, value);
- else if (toRaw(object) instanceof Map)
- object.set(state.newKey || field, value);
- else if (toRaw(object) instanceof Set)
- object.add(value);
- else
- object[state.newKey || field] = value;
- }
- };
- }
- };
- var RefStateEditor = class {
- set(ref, value) {
- if (isRef(ref)) {
- ref.value = value;
- } else {
- if (ref instanceof Set && Array.isArray(value)) {
- ref.clear();
- value.forEach((v) => ref.add(v));
- return;
- }
- const currentKeys = Object.keys(value);
- if (ref instanceof Map) {
- const previousKeysSet2 = new Set(ref.keys());
- currentKeys.forEach((key) => {
- ref.set(key, Reflect.get(value, key));
- previousKeysSet2.delete(key);
- });
- previousKeysSet2.forEach((key) => ref.delete(key));
- return;
- }
- const previousKeysSet = new Set(Object.keys(ref));
- currentKeys.forEach((key) => {
- Reflect.set(ref, key, Reflect.get(value, key));
- previousKeysSet.delete(key);
- });
- previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key));
- }
- }
- get(ref) {
- return isRef(ref) ? ref.value : ref;
- }
- isRef(ref) {
- return isRef(ref) || isReactive(ref);
- }
- };
- async function editComponentState(payload, stateEditor2) {
- const { path, nodeId, state, type } = payload;
- const instance = getComponentInstance(activeAppRecord.value, nodeId);
- if (!instance)
- return;
- const targetPath = path.slice();
- let target22;
- if (Object.keys(instance.props).includes(path[0])) {
- target22 = instance.props;
- } else if (instance.devtoolsRawSetupState && Object.keys(instance.devtoolsRawSetupState).includes(path[0])) {
- target22 = instance.devtoolsRawSetupState;
- } else if (instance.data && Object.keys(instance.data).includes(path[0])) {
- target22 = instance.data;
- } else {
- target22 = instance.proxy;
- }
- if (target22 && targetPath) {
- if (state.type === "object" && type === "reactive") {
- }
- stateEditor2.set(target22, targetPath, state.value, stateEditor2.createDefaultSetCallback(state));
- }
- }
- var stateEditor = new StateEditor();
- async function editState(payload) {
- editComponentState(payload, stateEditor);
- }
- // src/core/open-in-editor/index.ts
- init_cjs_shims();
- var import_devtools_shared8 = require("@vue/devtools-shared");
- // src/ctx/state.ts
- init_cjs_shims();
- var import_devtools_shared7 = require("@vue/devtools-shared");
- var import_perfect_debounce3 = require("perfect-debounce");
- // src/core/timeline/storage.ts
- init_cjs_shims();
- var import_devtools_shared4 = require("@vue/devtools-shared");
- var TIMELINE_LAYERS_STATE_STORAGE_ID = "__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__";
- function addTimelineLayersStateToStorage(state) {
- if (!import_devtools_shared4.isBrowser || typeof localStorage === "undefined" || localStorage === null) {
- return;
- }
- localStorage.setItem(TIMELINE_LAYERS_STATE_STORAGE_ID, JSON.stringify(state));
- }
- function getTimelineLayersStateFromStorage() {
- if (!import_devtools_shared4.isBrowser || typeof localStorage === "undefined" || localStorage === null) {
- return {
- recordingState: false,
- mouseEventEnabled: false,
- keyboardEventEnabled: false,
- componentEventEnabled: false,
- performanceEventEnabled: false,
- selected: ""
- };
- }
- const state = localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID);
- return state ? JSON.parse(state) : {
- recordingState: false,
- mouseEventEnabled: false,
- keyboardEventEnabled: false,
- componentEventEnabled: false,
- performanceEventEnabled: false,
- selected: ""
- };
- }
- // src/ctx/hook.ts
- init_cjs_shims();
- var import_hookable = require("hookable");
- var import_perfect_debounce2 = require("perfect-debounce");
- // src/ctx/inspector.ts
- init_cjs_shims();
- var import_devtools_shared6 = require("@vue/devtools-shared");
- var import_perfect_debounce = require("perfect-debounce");
- // src/ctx/timeline.ts
- init_cjs_shims();
- var import_devtools_shared5 = require("@vue/devtools-shared");
- var _a2, _b2;
- (_b2 = (_a2 = import_devtools_shared5.target).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS) != null ? _b2 : _a2.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS = [];
- var devtoolsTimelineLayers = new Proxy(import_devtools_shared5.target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, {
- get(target22, prop, receiver) {
- return Reflect.get(target22, prop, receiver);
- }
- });
- function addTimelineLayer(options, descriptor) {
- devtoolsState.timelineLayersState[descriptor.id] = false;
- devtoolsTimelineLayers.push({
- ...options,
- descriptorId: descriptor.id,
- appRecord: getAppRecord(descriptor.app)
- });
- }
- function updateTimelineLayersState(state) {
- const updatedState = {
- ...devtoolsState.timelineLayersState,
- ...state
- };
- addTimelineLayersStateToStorage(updatedState);
- updateDevToolsState({
- timelineLayersState: updatedState
- });
- }
- // src/ctx/inspector.ts
- var _a3, _b3;
- (_b3 = (_a3 = import_devtools_shared6.target).__VUE_DEVTOOLS_KIT_INSPECTOR__) != null ? _b3 : _a3.__VUE_DEVTOOLS_KIT_INSPECTOR__ = [];
- var devtoolsInspector = new Proxy(import_devtools_shared6.target.__VUE_DEVTOOLS_KIT_INSPECTOR__, {
- get(target22, prop, receiver) {
- return Reflect.get(target22, prop, receiver);
- }
- });
- var callInspectorUpdatedHook = (0, import_perfect_debounce.debounce)(() => {
- devtoolsContext.hooks.callHook("sendInspectorToClient" /* SEND_INSPECTOR_TO_CLIENT */, getActiveInspectors());
- });
- function addInspector(inspector, descriptor) {
- var _a25, _b25;
- devtoolsInspector.push({
- options: inspector,
- descriptor,
- treeFilterPlaceholder: (_a25 = inspector.treeFilterPlaceholder) != null ? _a25 : "Search tree...",
- stateFilterPlaceholder: (_b25 = inspector.stateFilterPlaceholder) != null ? _b25 : "Search state...",
- treeFilter: "",
- selectedNodeId: "",
- appRecord: getAppRecord(descriptor.app)
- });
- callInspectorUpdatedHook();
- }
- function getActiveInspectors() {
- return devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== "components").map((inspector) => {
- var _a25;
- const descriptor = inspector.descriptor;
- const options = inspector.options;
- return {
- id: options.id,
- label: options.label,
- logo: descriptor.logo,
- icon: `custom-ic-baseline-${(_a25 = options == null ? void 0 : options.icon) == null ? void 0 : _a25.replace(/_/g, "-")}`,
- packageName: descriptor.packageName,
- homepage: descriptor.homepage,
- pluginId: descriptor.id
- };
- });
- }
- function getInspectorInfo(id) {
- const inspector = getInspector(id, activeAppRecord.value.app);
- if (!inspector)
- return;
- const descriptor = inspector.descriptor;
- const options = inspector.options;
- const timelineLayers = devtoolsTimelineLayers.filter((layer) => layer.descriptorId === descriptor.id).map((item) => ({
- id: item.id,
- label: item.label,
- color: item.color
- }));
- return {
- id: options.id,
- label: options.label,
- logo: descriptor.logo,
- packageName: descriptor.packageName,
- homepage: descriptor.homepage,
- timelineLayers,
- treeFilterPlaceholder: inspector.treeFilterPlaceholder,
- stateFilterPlaceholder: inspector.stateFilterPlaceholder
- };
- }
- function getInspector(id, app) {
- return devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true));
- }
- function getInspectorActions(id) {
- const inspector = getInspector(id);
- return inspector == null ? void 0 : inspector.options.actions;
- }
- function getInspectorNodeActions(id) {
- const inspector = getInspector(id);
- return inspector == null ? void 0 : inspector.options.nodeActions;
- }
- // src/ctx/hook.ts
- var DevToolsV6PluginAPIHookKeys = /* @__PURE__ */ ((DevToolsV6PluginAPIHookKeys2) => {
- DevToolsV6PluginAPIHookKeys2["VISIT_COMPONENT_TREE"] = "visitComponentTree";
- DevToolsV6PluginAPIHookKeys2["INSPECT_COMPONENT"] = "inspectComponent";
- DevToolsV6PluginAPIHookKeys2["EDIT_COMPONENT_STATE"] = "editComponentState";
- DevToolsV6PluginAPIHookKeys2["GET_INSPECTOR_TREE"] = "getInspectorTree";
- DevToolsV6PluginAPIHookKeys2["GET_INSPECTOR_STATE"] = "getInspectorState";
- DevToolsV6PluginAPIHookKeys2["EDIT_INSPECTOR_STATE"] = "editInspectorState";
- DevToolsV6PluginAPIHookKeys2["INSPECT_TIMELINE_EVENT"] = "inspectTimelineEvent";
- DevToolsV6PluginAPIHookKeys2["TIMELINE_CLEARED"] = "timelineCleared";
- DevToolsV6PluginAPIHookKeys2["SET_PLUGIN_SETTINGS"] = "setPluginSettings";
- return DevToolsV6PluginAPIHookKeys2;
- })(DevToolsV6PluginAPIHookKeys || {});
- var DevToolsContextHookKeys = /* @__PURE__ */ ((DevToolsContextHookKeys2) => {
- DevToolsContextHookKeys2["ADD_INSPECTOR"] = "addInspector";
- DevToolsContextHookKeys2["SEND_INSPECTOR_TREE"] = "sendInspectorTree";
- DevToolsContextHookKeys2["SEND_INSPECTOR_STATE"] = "sendInspectorState";
- DevToolsContextHookKeys2["CUSTOM_INSPECTOR_SELECT_NODE"] = "customInspectorSelectNode";
- DevToolsContextHookKeys2["TIMELINE_LAYER_ADDED"] = "timelineLayerAdded";
- DevToolsContextHookKeys2["TIMELINE_EVENT_ADDED"] = "timelineEventAdded";
- DevToolsContextHookKeys2["GET_COMPONENT_INSTANCES"] = "getComponentInstances";
- DevToolsContextHookKeys2["GET_COMPONENT_BOUNDS"] = "getComponentBounds";
- DevToolsContextHookKeys2["GET_COMPONENT_NAME"] = "getComponentName";
- DevToolsContextHookKeys2["COMPONENT_HIGHLIGHT"] = "componentHighlight";
- DevToolsContextHookKeys2["COMPONENT_UNHIGHLIGHT"] = "componentUnhighlight";
- return DevToolsContextHookKeys2;
- })(DevToolsContextHookKeys || {});
- var DevToolsMessagingHookKeys = /* @__PURE__ */ ((DevToolsMessagingHookKeys2) => {
- DevToolsMessagingHookKeys2["SEND_INSPECTOR_TREE_TO_CLIENT"] = "sendInspectorTreeToClient";
- DevToolsMessagingHookKeys2["SEND_INSPECTOR_STATE_TO_CLIENT"] = "sendInspectorStateToClient";
- DevToolsMessagingHookKeys2["SEND_TIMELINE_EVENT_TO_CLIENT"] = "sendTimelineEventToClient";
- DevToolsMessagingHookKeys2["SEND_INSPECTOR_TO_CLIENT"] = "sendInspectorToClient";
- DevToolsMessagingHookKeys2["SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT"] = "sendActiveAppUpdatedToClient";
- DevToolsMessagingHookKeys2["DEVTOOLS_STATE_UPDATED"] = "devtoolsStateUpdated";
- DevToolsMessagingHookKeys2["DEVTOOLS_CONNECTED_UPDATED"] = "devtoolsConnectedUpdated";
- DevToolsMessagingHookKeys2["ROUTER_INFO_UPDATED"] = "routerInfoUpdated";
- return DevToolsMessagingHookKeys2;
- })(DevToolsMessagingHookKeys || {});
- function createDevToolsCtxHooks() {
- const hooks2 = (0, import_hookable.createHooks)();
- hooks2.hook("addInspector" /* ADD_INSPECTOR */, ({ inspector, plugin }) => {
- addInspector(inspector, plugin.descriptor);
- });
- const debounceSendInspectorTree = (0, import_perfect_debounce2.debounce)(async ({ inspectorId, plugin }) => {
- var _a25;
- if (!inspectorId || !((_a25 = plugin == null ? void 0 : plugin.descriptor) == null ? void 0 : _a25.app) || devtoolsState.highPerfModeEnabled)
- return;
- const inspector = getInspector(inspectorId, plugin.descriptor.app);
- const _payload = {
- app: plugin.descriptor.app,
- inspectorId,
- filter: (inspector == null ? void 0 : inspector.treeFilter) || "",
- rootNodes: []
- };
- await new Promise((resolve) => {
- hooks2.callHookWith(async (callbacks) => {
- await Promise.all(callbacks.map((cb) => cb(_payload)));
- resolve();
- }, "getInspectorTree" /* GET_INSPECTOR_TREE */);
- });
- hooks2.callHookWith(async (callbacks) => {
- await Promise.all(callbacks.map((cb) => cb({
- inspectorId,
- rootNodes: _payload.rootNodes
- })));
- }, "sendInspectorTreeToClient" /* SEND_INSPECTOR_TREE_TO_CLIENT */);
- }, 120);
- hooks2.hook("sendInspectorTree" /* SEND_INSPECTOR_TREE */, debounceSendInspectorTree);
- const debounceSendInspectorState = (0, import_perfect_debounce2.debounce)(async ({ inspectorId, plugin }) => {
- var _a25;
- if (!inspectorId || !((_a25 = plugin == null ? void 0 : plugin.descriptor) == null ? void 0 : _a25.app) || devtoolsState.highPerfModeEnabled)
- return;
- const inspector = getInspector(inspectorId, plugin.descriptor.app);
- const _payload = {
- app: plugin.descriptor.app,
- inspectorId,
- nodeId: (inspector == null ? void 0 : inspector.selectedNodeId) || "",
- state: null
- };
- const ctx = {
- currentTab: `custom-inspector:${inspectorId}`
- };
- if (_payload.nodeId) {
- await new Promise((resolve) => {
- hooks2.callHookWith(async (callbacks) => {
- await Promise.all(callbacks.map((cb) => cb(_payload, ctx)));
- resolve();
- }, "getInspectorState" /* GET_INSPECTOR_STATE */);
- });
- }
- hooks2.callHookWith(async (callbacks) => {
- await Promise.all(callbacks.map((cb) => cb({
- inspectorId,
- nodeId: _payload.nodeId,
- state: _payload.state
- })));
- }, "sendInspectorStateToClient" /* SEND_INSPECTOR_STATE_TO_CLIENT */);
- }, 120);
- hooks2.hook("sendInspectorState" /* SEND_INSPECTOR_STATE */, debounceSendInspectorState);
- hooks2.hook("customInspectorSelectNode" /* CUSTOM_INSPECTOR_SELECT_NODE */, ({ inspectorId, nodeId, plugin }) => {
- const inspector = getInspector(inspectorId, plugin.descriptor.app);
- if (!inspector)
- return;
- inspector.selectedNodeId = nodeId;
- });
- hooks2.hook("timelineLayerAdded" /* TIMELINE_LAYER_ADDED */, ({ options, plugin }) => {
- addTimelineLayer(options, plugin.descriptor);
- });
- hooks2.hook("timelineEventAdded" /* TIMELINE_EVENT_ADDED */, ({ options, plugin }) => {
- var _a25;
- const internalLayerIds = ["performance", "component-event", "keyboard", "mouse"];
- if (devtoolsState.highPerfModeEnabled || !((_a25 = devtoolsState.timelineLayersState) == null ? void 0 : _a25[plugin.descriptor.id]) && !internalLayerIds.includes(options.layerId))
- return;
- hooks2.callHookWith(async (callbacks) => {
- await Promise.all(callbacks.map((cb) => cb(options)));
- }, "sendTimelineEventToClient" /* SEND_TIMELINE_EVENT_TO_CLIENT */);
- });
- hooks2.hook("getComponentInstances" /* GET_COMPONENT_INSTANCES */, async ({ app }) => {
- const appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
- if (!appRecord)
- return null;
- const appId = appRecord.id.toString();
- const instances = [...appRecord.instanceMap].filter(([key]) => key.split(":")[0] === appId).map(([, instance]) => instance);
- return instances;
- });
- hooks2.hook("getComponentBounds" /* GET_COMPONENT_BOUNDS */, async ({ instance }) => {
- const bounds = getComponentBoundingRect(instance);
- return bounds;
- });
- hooks2.hook("getComponentName" /* GET_COMPONENT_NAME */, ({ instance }) => {
- const name = getInstanceName(instance);
- return name;
- });
- hooks2.hook("componentHighlight" /* COMPONENT_HIGHLIGHT */, ({ uid }) => {
- const instance = activeAppRecord.value.instanceMap.get(uid);
- if (instance) {
- highlight(instance);
- }
- });
- hooks2.hook("componentUnhighlight" /* COMPONENT_UNHIGHLIGHT */, () => {
- unhighlight();
- });
- return hooks2;
- }
- // src/ctx/state.ts
- var _a4, _b4;
- (_b4 = (_a4 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_APP_RECORDS__) != null ? _b4 : _a4.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [];
- var _a5, _b5;
- (_b5 = (_a5 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__) != null ? _b5 : _a5.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = {};
- var _a6, _b6;
- (_b6 = (_a6 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__) != null ? _b6 : _a6.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = "";
- var _a7, _b7;
- (_b7 = (_a7 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__) != null ? _b7 : _a7.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ = [];
- var _a8, _b8;
- (_b8 = (_a8 = import_devtools_shared7.target).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__) != null ? _b8 : _a8.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ = [];
- var STATE_KEY = "__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";
- function initStateFactory() {
- return {
- connected: false,
- clientConnected: false,
- vitePluginDetected: true,
- appRecords: [],
- activeAppRecordId: "",
- tabs: [],
- commands: [],
- highPerfModeEnabled: true,
- devtoolsClientDetected: {},
- perfUniqueGroupId: 0,
- timelineLayersState: getTimelineLayersStateFromStorage()
- };
- }
- var _a9, _b9;
- (_b9 = (_a9 = import_devtools_shared7.target)[STATE_KEY]) != null ? _b9 : _a9[STATE_KEY] = initStateFactory();
- var callStateUpdatedHook = (0, import_perfect_debounce3.debounce)((state) => {
- devtoolsContext.hooks.callHook("devtoolsStateUpdated" /* DEVTOOLS_STATE_UPDATED */, { state });
- });
- var callConnectedUpdatedHook = (0, import_perfect_debounce3.debounce)((state, oldState) => {
- devtoolsContext.hooks.callHook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, { state, oldState });
- });
- var devtoolsAppRecords = new Proxy(import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, {
- get(_target, prop, receiver) {
- if (prop === "value")
- return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__;
- return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop];
- }
- });
- var addDevToolsAppRecord = (app) => {
- import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = [
- ...import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__,
- app
- ];
- };
- var removeDevToolsAppRecord = (app) => {
- import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ = devtoolsAppRecords.value.filter((record) => record.app !== app);
- };
- var activeAppRecord = new Proxy(import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, {
- get(_target, prop, receiver) {
- if (prop === "value")
- return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__;
- else if (prop === "id")
- return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__;
- return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop];
- }
- });
- function updateAllStates() {
- callStateUpdatedHook({
- ...import_devtools_shared7.target[STATE_KEY],
- appRecords: devtoolsAppRecords.value,
- activeAppRecordId: activeAppRecord.id,
- tabs: import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,
- commands: import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__
- });
- }
- function setActiveAppRecord(app) {
- import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app;
- updateAllStates();
- }
- function setActiveAppRecordId(id) {
- import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id;
- updateAllStates();
- }
- var devtoolsState = new Proxy(import_devtools_shared7.target[STATE_KEY], {
- get(target22, property) {
- if (property === "appRecords") {
- return devtoolsAppRecords;
- } else if (property === "activeAppRecordId") {
- return activeAppRecord.id;
- } else if (property === "tabs") {
- return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
- } else if (property === "commands") {
- return import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
- }
- return import_devtools_shared7.target[STATE_KEY][property];
- },
- deleteProperty(target22, property) {
- delete target22[property];
- return true;
- },
- set(target22, property, value) {
- const oldState = { ...import_devtools_shared7.target[STATE_KEY] };
- target22[property] = value;
- import_devtools_shared7.target[STATE_KEY][property] = value;
- return true;
- }
- });
- function resetDevToolsState() {
- Object.assign(import_devtools_shared7.target[STATE_KEY], initStateFactory());
- }
- function updateDevToolsState(state) {
- const oldState = {
- ...import_devtools_shared7.target[STATE_KEY],
- appRecords: devtoolsAppRecords.value,
- activeAppRecordId: activeAppRecord.id
- };
- if (oldState.connected !== state.connected && state.connected || oldState.clientConnected !== state.clientConnected && state.clientConnected) {
- callConnectedUpdatedHook(import_devtools_shared7.target[STATE_KEY], oldState);
- }
- Object.assign(import_devtools_shared7.target[STATE_KEY], state);
- updateAllStates();
- }
- function onDevToolsConnected(fn) {
- return new Promise((resolve) => {
- if (devtoolsState.connected) {
- fn();
- resolve();
- }
- devtoolsContext.hooks.hook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, ({ state }) => {
- if (state.connected) {
- fn();
- resolve();
- }
- });
- });
- }
- var resolveIcon = (icon) => {
- if (!icon)
- return;
- if (icon.startsWith("baseline-")) {
- return `custom-ic-${icon}`;
- }
- if (icon.startsWith("i-") || (0, import_devtools_shared7.isUrlString)(icon))
- return icon;
- return `custom-ic-baseline-${icon}`;
- };
- function addCustomTab(tab) {
- const tabs = import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
- if (tabs.some((t) => t.name === tab.name))
- return;
- tabs.push({
- ...tab,
- icon: resolveIcon(tab.icon)
- });
- updateAllStates();
- }
- function addCustomCommand(action) {
- const commands = import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
- if (commands.some((t) => t.id === action.id))
- return;
- commands.push({
- ...action,
- icon: resolveIcon(action.icon),
- children: action.children ? action.children.map((child) => ({
- ...child,
- icon: resolveIcon(child.icon)
- })) : void 0
- });
- updateAllStates();
- }
- function removeCustomCommand(actionId) {
- const commands = import_devtools_shared7.target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
- const index = commands.findIndex((t) => t.id === actionId);
- if (index === -1)
- return;
- commands.splice(index, 1);
- updateAllStates();
- }
- function toggleClientConnected(state) {
- updateDevToolsState({ clientConnected: state });
- }
- // src/core/open-in-editor/index.ts
- function setOpenInEditorBaseUrl(url) {
- import_devtools_shared8.target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ = url;
- }
- function openInEditor(options = {}) {
- var _a25, _b25, _c;
- const { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options;
- if (file) {
- if (host === "chrome-extension") {
- const fileName = file.replace(/\\/g, "\\\\");
- const _baseUrl = (_b25 = (_a25 = window.VUE_DEVTOOLS_CONFIG) == null ? void 0 : _a25.openInEditorHost) != null ? _b25 : "/";
- fetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => {
- if (!response.ok) {
- const msg = `Opening component ${fileName} failed`;
- console.log(`%c${msg}`, "color:red");
- }
- });
- } else if (devtoolsState.vitePluginDetected) {
- const _baseUrl = (_c = import_devtools_shared8.target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__) != null ? _c : baseUrl;
- import_devtools_shared8.target.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column);
- }
- }
- }
- // src/core/plugin/index.ts
- init_cjs_shims();
- var import_devtools_shared14 = require("@vue/devtools-shared");
- // src/api/index.ts
- init_cjs_shims();
- // src/api/v6/index.ts
- init_cjs_shims();
- // src/core/plugin/plugin-settings.ts
- init_cjs_shims();
- // src/ctx/plugin.ts
- init_cjs_shims();
- var import_devtools_shared9 = require("@vue/devtools-shared");
- var _a10, _b10;
- (_b10 = (_a10 = import_devtools_shared9.target).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__) != null ? _b10 : _a10.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ = [];
- var devtoolsPluginBuffer = new Proxy(import_devtools_shared9.target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, {
- get(target22, prop, receiver) {
- return Reflect.get(target22, prop, receiver);
- }
- });
- function addDevToolsPluginToBuffer(pluginDescriptor, setupFn) {
- devtoolsPluginBuffer.push([pluginDescriptor, setupFn]);
- }
- // src/core/plugin/plugin-settings.ts
- function _getSettings(settings) {
- const _settings = {};
- Object.keys(settings).forEach((key) => {
- _settings[key] = settings[key].defaultValue;
- });
- return _settings;
- }
- function getPluginLocalKey(pluginId) {
- return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`;
- }
- function getPluginSettingsOptions(pluginId) {
- var _a25, _b25, _c;
- const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => {
- var _a26;
- return item2[0].id === pluginId && !!((_a26 = item2[0]) == null ? void 0 : _a26.settings);
- })) == null ? void 0 : _a25[0]) != null ? _b25 : null;
- return (_c = item == null ? void 0 : item.settings) != null ? _c : null;
- }
- function getPluginSettings(pluginId, fallbackValue) {
- var _a25, _b25, _c;
- const localKey = getPluginLocalKey(pluginId);
- if (localKey) {
- const localSettings = localStorage.getItem(localKey);
- if (localSettings) {
- return JSON.parse(localSettings);
- }
- }
- if (pluginId) {
- const item = (_b25 = (_a25 = devtoolsPluginBuffer.find((item2) => item2[0].id === pluginId)) == null ? void 0 : _a25[0]) != null ? _b25 : null;
- return _getSettings((_c = item == null ? void 0 : item.settings) != null ? _c : {});
- }
- return _getSettings(fallbackValue);
- }
- function initPluginSettings(pluginId, settings) {
- const localKey = getPluginLocalKey(pluginId);
- const localSettings = localStorage.getItem(localKey);
- if (!localSettings) {
- localStorage.setItem(localKey, JSON.stringify(_getSettings(settings)));
- }
- }
- function setPluginSettings(pluginId, key, value) {
- const localKey = getPluginLocalKey(pluginId);
- const localSettings = localStorage.getItem(localKey);
- const parsedLocalSettings = JSON.parse(localSettings || "{}");
- const updated = {
- ...parsedLocalSettings,
- [key]: value
- };
- localStorage.setItem(localKey, JSON.stringify(updated));
- devtoolsContext.hooks.callHookWith((callbacks) => {
- callbacks.forEach((cb) => cb({
- pluginId,
- key,
- oldValue: parsedLocalSettings[key],
- newValue: value,
- settings: updated
- }));
- }, "setPluginSettings" /* SET_PLUGIN_SETTINGS */);
- }
- // src/hook/index.ts
- init_cjs_shims();
- var import_devtools_shared10 = require("@vue/devtools-shared");
- var import_hookable2 = require("hookable");
- // src/types/index.ts
- init_cjs_shims();
- // src/types/app.ts
- init_cjs_shims();
- // src/types/command.ts
- init_cjs_shims();
- // src/types/component.ts
- init_cjs_shims();
- // src/types/hook.ts
- init_cjs_shims();
- // src/types/inspector.ts
- init_cjs_shims();
- // src/types/plugin.ts
- init_cjs_shims();
- // src/types/router.ts
- init_cjs_shims();
- // src/types/tab.ts
- init_cjs_shims();
- // src/types/timeline.ts
- init_cjs_shims();
- // src/hook/index.ts
- var _a11, _b11;
- var devtoolsHooks = (_b11 = (_a11 = import_devtools_shared10.target).__VUE_DEVTOOLS_HOOK) != null ? _b11 : _a11.__VUE_DEVTOOLS_HOOK = (0, import_hookable2.createHooks)();
- var on = {
- vueAppInit(fn) {
- devtoolsHooks.hook("app:init" /* APP_INIT */, fn);
- },
- vueAppUnmount(fn) {
- devtoolsHooks.hook("app:unmount" /* APP_UNMOUNT */, fn);
- },
- vueAppConnected(fn) {
- devtoolsHooks.hook("app:connected" /* APP_CONNECTED */, fn);
- },
- componentAdded(fn) {
- return devtoolsHooks.hook("component:added" /* COMPONENT_ADDED */, fn);
- },
- componentEmit(fn) {
- return devtoolsHooks.hook("component:emit" /* COMPONENT_EMIT */, fn);
- },
- componentUpdated(fn) {
- return devtoolsHooks.hook("component:updated" /* COMPONENT_UPDATED */, fn);
- },
- componentRemoved(fn) {
- return devtoolsHooks.hook("component:removed" /* COMPONENT_REMOVED */, fn);
- },
- setupDevtoolsPlugin(fn) {
- devtoolsHooks.hook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, fn);
- },
- perfStart(fn) {
- return devtoolsHooks.hook("perf:start" /* PERFORMANCE_START */, fn);
- },
- perfEnd(fn) {
- return devtoolsHooks.hook("perf:end" /* PERFORMANCE_END */, fn);
- }
- };
- function createDevToolsHook() {
- return {
- id: "vue-devtools-next",
- devtoolsVersion: "7.0",
- enabled: false,
- appRecords: [],
- apps: [],
- events: /* @__PURE__ */ new Map(),
- on(event, fn) {
- var _a25;
- if (!this.events.has(event))
- this.events.set(event, []);
- (_a25 = this.events.get(event)) == null ? void 0 : _a25.push(fn);
- return () => this.off(event, fn);
- },
- once(event, fn) {
- const onceFn = (...args) => {
- this.off(event, onceFn);
- fn(...args);
- };
- this.on(event, onceFn);
- return [event, onceFn];
- },
- off(event, fn) {
- if (this.events.has(event)) {
- const eventCallbacks = this.events.get(event);
- const index = eventCallbacks.indexOf(fn);
- if (index !== -1)
- eventCallbacks.splice(index, 1);
- }
- },
- emit(event, ...payload) {
- if (this.events.has(event))
- this.events.get(event).forEach((fn) => fn(...payload));
- }
- };
- }
- function subscribeDevToolsHook(hook2) {
- hook2.on("app:init" /* APP_INIT */, (app, version, types) => {
- var _a25, _b25, _c;
- if ((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
- return;
- devtoolsHooks.callHook("app:init" /* APP_INIT */, app, version, types);
- });
- hook2.on("app:unmount" /* APP_UNMOUNT */, (app) => {
- devtoolsHooks.callHook("app:unmount" /* APP_UNMOUNT */, app);
- });
- hook2.on("component:added" /* COMPONENT_ADDED */, async (app, uid, parentUid, component) => {
- var _a25, _b25, _c;
- if (((_c = (_b25 = (_a25 = app == null ? void 0 : app._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide) || devtoolsState.highPerfModeEnabled)
- return;
- if (!app || typeof uid !== "number" && !uid || !component)
- return;
- devtoolsHooks.callHook("component:added" /* COMPONENT_ADDED */, app, uid, parentUid, component);
- });
- hook2.on("component:updated" /* COMPONENT_UPDATED */, (app, uid, parentUid, component) => {
- if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled)
- return;
- devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */, app, uid, parentUid, component);
- });
- hook2.on("component:removed" /* COMPONENT_REMOVED */, async (app, uid, parentUid, component) => {
- if (!app || typeof uid !== "number" && !uid || !component || devtoolsState.highPerfModeEnabled)
- return;
- devtoolsHooks.callHook("component:removed" /* COMPONENT_REMOVED */, app, uid, parentUid, component);
- });
- hook2.on("component:emit" /* COMPONENT_EMIT */, async (app, instance, event, params) => {
- if (!app || !instance || devtoolsState.highPerfModeEnabled)
- return;
- devtoolsHooks.callHook("component:emit" /* COMPONENT_EMIT */, app, instance, event, params);
- });
- hook2.on("perf:start" /* PERFORMANCE_START */, (app, uid, vm, type, time) => {
- if (!app || devtoolsState.highPerfModeEnabled)
- return;
- devtoolsHooks.callHook("perf:start" /* PERFORMANCE_START */, app, uid, vm, type, time);
- });
- hook2.on("perf:end" /* PERFORMANCE_END */, (app, uid, vm, type, time) => {
- if (!app || devtoolsState.highPerfModeEnabled)
- return;
- devtoolsHooks.callHook("perf:end" /* PERFORMANCE_END */, app, uid, vm, type, time);
- });
- hook2.on("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, (pluginDescriptor, setupFn, options) => {
- if ((options == null ? void 0 : options.target) === "legacy")
- return;
- devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);
- });
- }
- var hook = {
- on,
- setupDevToolsPlugin(pluginDescriptor, setupFn) {
- return devtoolsHooks.callHook("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn);
- }
- };
- // src/api/v6/index.ts
- var DevToolsV6PluginAPI = class {
- constructor({ plugin, ctx }) {
- this.hooks = ctx.hooks;
- this.plugin = plugin;
- }
- get on() {
- return {
- // component inspector
- visitComponentTree: (handler) => {
- this.hooks.hook("visitComponentTree" /* VISIT_COMPONENT_TREE */, handler);
- },
- inspectComponent: (handler) => {
- this.hooks.hook("inspectComponent" /* INSPECT_COMPONENT */, handler);
- },
- editComponentState: (handler) => {
- this.hooks.hook("editComponentState" /* EDIT_COMPONENT_STATE */, handler);
- },
- // custom inspector
- getInspectorTree: (handler) => {
- this.hooks.hook("getInspectorTree" /* GET_INSPECTOR_TREE */, handler);
- },
- getInspectorState: (handler) => {
- this.hooks.hook("getInspectorState" /* GET_INSPECTOR_STATE */, handler);
- },
- editInspectorState: (handler) => {
- this.hooks.hook("editInspectorState" /* EDIT_INSPECTOR_STATE */, handler);
- },
- // timeline
- inspectTimelineEvent: (handler) => {
- this.hooks.hook("inspectTimelineEvent" /* INSPECT_TIMELINE_EVENT */, handler);
- },
- timelineCleared: (handler) => {
- this.hooks.hook("timelineCleared" /* TIMELINE_CLEARED */, handler);
- },
- // settings
- setPluginSettings: (handler) => {
- this.hooks.hook("setPluginSettings" /* SET_PLUGIN_SETTINGS */, handler);
- }
- };
- }
- // component inspector
- notifyComponentUpdate(instance) {
- var _a25;
- if (devtoolsState.highPerfModeEnabled) {
- return;
- }
- const inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName);
- if (inspector == null ? void 0 : inspector.id) {
- if (instance) {
- const args = [
- instance.appContext.app,
- instance.uid,
- (_a25 = instance.parent) == null ? void 0 : _a25.uid,
- instance
- ];
- devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */, ...args);
- } else {
- devtoolsHooks.callHook("component:updated" /* COMPONENT_UPDATED */);
- }
- this.hooks.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId: inspector.id, plugin: this.plugin });
- }
- }
- // custom inspector
- addInspector(options) {
- this.hooks.callHook("addInspector" /* ADD_INSPECTOR */, { inspector: options, plugin: this.plugin });
- if (this.plugin.descriptor.settings) {
- initPluginSettings(options.id, this.plugin.descriptor.settings);
- }
- }
- sendInspectorTree(inspectorId) {
- if (devtoolsState.highPerfModeEnabled) {
- return;
- }
- this.hooks.callHook("sendInspectorTree" /* SEND_INSPECTOR_TREE */, { inspectorId, plugin: this.plugin });
- }
- sendInspectorState(inspectorId) {
- if (devtoolsState.highPerfModeEnabled) {
- return;
- }
- this.hooks.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: this.plugin });
- }
- selectInspectorNode(inspectorId, nodeId) {
- this.hooks.callHook("customInspectorSelectNode" /* CUSTOM_INSPECTOR_SELECT_NODE */, { inspectorId, nodeId, plugin: this.plugin });
- }
- visitComponentTree(payload) {
- return this.hooks.callHook("visitComponentTree" /* VISIT_COMPONENT_TREE */, payload);
- }
- // timeline
- now() {
- if (devtoolsState.highPerfModeEnabled) {
- return 0;
- }
- return Date.now();
- }
- addTimelineLayer(options) {
- this.hooks.callHook("timelineLayerAdded" /* TIMELINE_LAYER_ADDED */, { options, plugin: this.plugin });
- }
- addTimelineEvent(options) {
- if (devtoolsState.highPerfModeEnabled) {
- return;
- }
- this.hooks.callHook("timelineEventAdded" /* TIMELINE_EVENT_ADDED */, { options, plugin: this.plugin });
- }
- // settings
- getSettings(pluginId) {
- return getPluginSettings(pluginId != null ? pluginId : this.plugin.descriptor.id, this.plugin.descriptor.settings);
- }
- // utilities
- getComponentInstances(app) {
- return this.hooks.callHook("getComponentInstances" /* GET_COMPONENT_INSTANCES */, { app });
- }
- getComponentBounds(instance) {
- return this.hooks.callHook("getComponentBounds" /* GET_COMPONENT_BOUNDS */, { instance });
- }
- getComponentName(instance) {
- return this.hooks.callHook("getComponentName" /* GET_COMPONENT_NAME */, { instance });
- }
- highlightElement(instance) {
- const uid = instance.__VUE_DEVTOOLS_NEXT_UID__;
- return this.hooks.callHook("componentHighlight" /* COMPONENT_HIGHLIGHT */, { uid });
- }
- unhighlightElement() {
- return this.hooks.callHook("componentUnhighlight" /* COMPONENT_UNHIGHLIGHT */);
- }
- };
- // src/api/index.ts
- var DevToolsPluginAPI = DevToolsV6PluginAPI;
- // src/core/plugin/components.ts
- init_cjs_shims();
- var import_perfect_debounce4 = require("perfect-debounce");
- // src/core/component/state/index.ts
- init_cjs_shims();
- // src/core/component/state/process.ts
- init_cjs_shims();
- var import_devtools_shared11 = require("@vue/devtools-shared");
- // src/core/component/state/constants.ts
- init_cjs_shims();
- var vueBuiltins = /* @__PURE__ */ new Set([
- "nextTick",
- "defineComponent",
- "defineAsyncComponent",
- "defineCustomElement",
- "ref",
- "computed",
- "reactive",
- "readonly",
- "watchEffect",
- "watchPostEffect",
- "watchSyncEffect",
- "watch",
- "isRef",
- "unref",
- "toRef",
- "toRefs",
- "isProxy",
- "isReactive",
- "isReadonly",
- "shallowRef",
- "triggerRef",
- "customRef",
- "shallowReactive",
- "shallowReadonly",
- "toRaw",
- "markRaw",
- "effectScope",
- "getCurrentScope",
- "onScopeDispose",
- "onMounted",
- "onUpdated",
- "onUnmounted",
- "onBeforeMount",
- "onBeforeUpdate",
- "onBeforeUnmount",
- "onErrorCaptured",
- "onRenderTracked",
- "onRenderTriggered",
- "onActivated",
- "onDeactivated",
- "onServerPrefetch",
- "provide",
- "inject",
- "h",
- "mergeProps",
- "cloneVNode",
- "isVNode",
- "resolveComponent",
- "resolveDirective",
- "withDirectives",
- "withModifiers"
- ]);
- var symbolRE = /^\[native Symbol Symbol\((.*)\)\]$/;
- var rawTypeRE = /^\[object (\w+)\]$/;
- var specialTypeRE = /^\[native (\w+) (.*?)(<>(([\s\S])*))?\]$/;
- var fnTypeRE = /^(?:function|class) (\w+)/;
- var MAX_STRING_SIZE = 1e4;
- var MAX_ARRAY_SIZE = 5e3;
- var UNDEFINED = "__vue_devtool_undefined__";
- var INFINITY = "__vue_devtool_infinity__";
- var NEGATIVE_INFINITY = "__vue_devtool_negative_infinity__";
- var NAN = "__vue_devtool_nan__";
- var ESC = {
- "<": "<",
- ">": ">",
- '"': """,
- "&": "&"
- };
- // src/core/component/state/util.ts
- init_cjs_shims();
- // src/core/component/state/is.ts
- init_cjs_shims();
- function isVueInstance(value) {
- if (!ensurePropertyExists(value, "_")) {
- return false;
- }
- if (!isPlainObject(value._)) {
- return false;
- }
- return Object.keys(value._).includes("vnode");
- }
- function isPlainObject(obj) {
- return Object.prototype.toString.call(obj) === "[object Object]";
- }
- function isPrimitive(data) {
- if (data == null)
- return true;
- const type = typeof data;
- return type === "string" || type === "number" || type === "boolean";
- }
- function isRef2(raw) {
- return !!raw.__v_isRef;
- }
- function isComputed(raw) {
- return isRef2(raw) && !!raw.effect;
- }
- function isReactive2(raw) {
- return !!raw.__v_isReactive;
- }
- function isReadOnly(raw) {
- return !!raw.__v_isReadonly;
- }
- // src/core/component/state/util.ts
- var tokenMap = {
- [UNDEFINED]: "undefined",
- [NAN]: "NaN",
- [INFINITY]: "Infinity",
- [NEGATIVE_INFINITY]: "-Infinity"
- };
- var reversedTokenMap = Object.entries(tokenMap).reduce((acc, [key, value]) => {
- acc[value] = key;
- return acc;
- }, {});
- function internalStateTokenToString(value) {
- if (value === null)
- return "null";
- return typeof value === "string" && tokenMap[value] || false;
- }
- function replaceTokenToString(value) {
- const replaceRegex = new RegExp(`"(${Object.keys(tokenMap).join("|")})"`, "g");
- return value.replace(replaceRegex, (_, g1) => tokenMap[g1]);
- }
- function replaceStringToToken(value) {
- const literalValue = reversedTokenMap[value.trim()];
- if (literalValue)
- return `"${literalValue}"`;
- const replaceRegex = new RegExp(`:\\s*(${Object.keys(reversedTokenMap).join("|")})`, "g");
- return value.replace(replaceRegex, (_, g1) => `:"${reversedTokenMap[g1]}"`);
- }
- function getPropType(type) {
- if (Array.isArray(type))
- return type.map((t) => getPropType(t)).join(" or ");
- if (type == null)
- return "null";
- const match = type.toString().match(fnTypeRE);
- return typeof type === "function" ? match && match[1] || "any" : "any";
- }
- function sanitize(data) {
- if (!isPrimitive(data) && !Array.isArray(data) && !isPlainObject(data)) {
- return Object.prototype.toString.call(data);
- } else {
- return data;
- }
- }
- function getSetupStateType(raw) {
- try {
- return {
- ref: isRef2(raw),
- computed: isComputed(raw),
- reactive: isReactive2(raw),
- readonly: isReadOnly(raw)
- };
- } catch (e) {
- return {
- ref: false,
- computed: false,
- reactive: false,
- readonly: false
- };
- }
- }
- function toRaw2(value) {
- if (value == null ? void 0 : value.__v_raw)
- return value.__v_raw;
- return value;
- }
- function escape(s) {
- return s.replace(/[<>"&]/g, (s2) => {
- return ESC[s2] || s2;
- });
- }
- // src/core/component/state/process.ts
- function mergeOptions(to, from, instance) {
- if (typeof from === "function")
- from = from.options;
- if (!from)
- return to;
- const { mixins, extends: extendsOptions } = from;
- extendsOptions && mergeOptions(to, extendsOptions, instance);
- mixins && mixins.forEach(
- (m) => mergeOptions(to, m, instance)
- );
- for (const key of ["computed", "inject"]) {
- if (Object.prototype.hasOwnProperty.call(from, key)) {
- if (!to[key])
- to[key] = from[key];
- else
- Object.assign(to[key], from[key]);
- }
- }
- return to;
- }
- function resolveMergedOptions(instance) {
- const raw = instance == null ? void 0 : instance.type;
- if (!raw)
- return {};
- const { mixins, extends: extendsOptions } = raw;
- const globalMixins = instance.appContext.mixins;
- if (!globalMixins.length && !mixins && !extendsOptions)
- return raw;
- const options = {};
- globalMixins.forEach((m) => mergeOptions(options, m, instance));
- mergeOptions(options, raw, instance);
- return options;
- }
- function processProps(instance) {
- var _a25;
- const props = [];
- const propDefinitions = (_a25 = instance == null ? void 0 : instance.type) == null ? void 0 : _a25.props;
- for (const key in instance == null ? void 0 : instance.props) {
- const propDefinition = propDefinitions ? propDefinitions[key] : null;
- const camelizeKey = (0, import_devtools_shared11.camelize)(key);
- props.push({
- type: "props",
- key: camelizeKey,
- value: returnError(() => instance.props[key]),
- editable: true,
- meta: propDefinition ? {
- type: propDefinition.type ? getPropType(propDefinition.type) : "any",
- required: !!propDefinition.required,
- ...propDefinition.default ? {
- default: propDefinition.default.toString()
- } : {}
- } : { type: "invalid" }
- });
- }
- return props;
- }
- function processState(instance) {
- const type = instance.type;
- const props = type == null ? void 0 : type.props;
- const getters = type.vuex && type.vuex.getters;
- const computedDefs = type.computed;
- const data = {
- ...instance.data,
- ...instance.renderContext
- };
- return Object.keys(data).filter((key) => !(props && key in props) && !(getters && key in getters) && !(computedDefs && key in computedDefs)).map((key) => ({
- key,
- type: "data",
- value: returnError(() => data[key]),
- editable: true
- }));
- }
- function getStateTypeAndName(info) {
- const stateType = info.computed ? "computed" : info.ref ? "ref" : info.reactive ? "reactive" : null;
- const stateTypeName = stateType ? `${stateType.charAt(0).toUpperCase()}${stateType.slice(1)}` : null;
- return {
- stateType,
- stateTypeName
- };
- }
- function processSetupState(instance) {
- const raw = instance.devtoolsRawSetupState || {};
- return Object.keys(instance.setupState).filter((key) => !vueBuiltins.has(key) && key.split(/(?=[A-Z])/)[0] !== "use").map((key) => {
- var _a25, _b25, _c, _d;
- const value = returnError(() => toRaw2(instance.setupState[key]));
- const accessError = value instanceof Error;
- const rawData = raw[key];
- let result;
- let isOtherType = accessError || typeof value === "function" || ensurePropertyExists(value, "render") && typeof value.render === "function" || ensurePropertyExists(value, "__asyncLoader") && typeof value.__asyncLoader === "function" || typeof value === "object" && value && ("setup" in value || "props" in value) || /^v[A-Z]/.test(key);
- if (rawData && !accessError) {
- const info = getSetupStateType(rawData);
- const { stateType, stateTypeName } = getStateTypeAndName(info);
- const isState = info.ref || info.computed || info.reactive;
- const raw2 = ensurePropertyExists(rawData, "effect") ? ((_b25 = (_a25 = rawData.effect) == null ? void 0 : _a25.raw) == null ? void 0 : _b25.toString()) || ((_d = (_c = rawData.effect) == null ? void 0 : _c.fn) == null ? void 0 : _d.toString()) : null;
- if (stateType)
- isOtherType = false;
- result = {
- ...stateType ? { stateType, stateTypeName } : {},
- ...raw2 ? { raw: raw2 } : {},
- editable: isState && !info.readonly
- };
- }
- const type = isOtherType ? "setup (other)" : "setup";
- return {
- key,
- value,
- type,
- // @ts-expect-error ignore
- ...result
- };
- });
- }
- function processComputed(instance, mergedType) {
- const type = mergedType;
- const computed = [];
- const defs = type.computed || {};
- for (const key in defs) {
- const def = defs[key];
- const type2 = typeof def === "function" && def.vuex ? "vuex bindings" : "computed";
- computed.push({
- type: type2,
- key,
- value: returnError(() => {
- var _a25;
- return (_a25 = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a25[key];
- }),
- editable: typeof def.set === "function"
- });
- }
- return computed;
- }
- function processAttrs(instance) {
- return Object.keys(instance.attrs).map((key) => ({
- type: "attrs",
- key,
- value: returnError(() => instance.attrs[key])
- }));
- }
- function processProvide(instance) {
- return Reflect.ownKeys(instance.provides).map((key) => ({
- type: "provided",
- key: key.toString(),
- value: returnError(() => instance.provides[key])
- }));
- }
- function processInject(instance, mergedType) {
- if (!(mergedType == null ? void 0 : mergedType.inject))
- return [];
- let keys = [];
- let defaultValue;
- if (Array.isArray(mergedType.inject)) {
- keys = mergedType.inject.map((key) => ({
- key,
- originalKey: key
- }));
- } else {
- keys = Reflect.ownKeys(mergedType.inject).map((key) => {
- const value = mergedType.inject[key];
- let originalKey;
- if (typeof value === "string" || typeof value === "symbol") {
- originalKey = value;
- } else {
- originalKey = value.from;
- defaultValue = value.default;
- }
- return {
- key,
- originalKey
- };
- });
- }
- return keys.map(({ key, originalKey }) => ({
- type: "injected",
- key: originalKey && key !== originalKey ? `${originalKey.toString()} \u279E ${key.toString()}` : key.toString(),
- // eslint-disable-next-line no-prototype-builtins
- value: returnError(() => instance.ctx.hasOwnProperty(key) ? instance.ctx[key] : instance.provides.hasOwnProperty(originalKey) ? instance.provides[originalKey] : defaultValue)
- }));
- }
- function processRefs(instance) {
- return Object.keys(instance.refs).map((key) => ({
- type: "template refs",
- key,
- value: returnError(() => instance.refs[key])
- }));
- }
- function processEventListeners(instance) {
- var _a25, _b25;
- const emitsDefinition = instance.type.emits;
- const declaredEmits = Array.isArray(emitsDefinition) ? emitsDefinition : Object.keys(emitsDefinition != null ? emitsDefinition : {});
- const keys = Object.keys((_b25 = (_a25 = instance == null ? void 0 : instance.vnode) == null ? void 0 : _a25.props) != null ? _b25 : {});
- const result = [];
- for (const key of keys) {
- const [prefix, ...eventNameParts] = key.split(/(?=[A-Z])/);
- if (prefix === "on") {
- const eventName = eventNameParts.join("-").toLowerCase();
- const isDeclared = declaredEmits.includes(eventName);
- result.push({
- type: "event listeners",
- key: eventName,
- value: {
- _custom: {
- displayText: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared",
- key: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared",
- value: isDeclared ? "\u2705 Declared" : "\u26A0\uFE0F Not declared",
- tooltipText: !isDeclared ? `The event <code>${eventName}</code> is not declared in the <code>emits</code> option. It will leak into the component's attributes (<code>$attrs</code>).` : null
- }
- }
- });
- }
- }
- return result;
- }
- function processInstanceState(instance) {
- const mergedType = resolveMergedOptions(instance);
- return processProps(instance).concat(
- processState(instance),
- processSetupState(instance),
- processComputed(instance, mergedType),
- processAttrs(instance),
- processProvide(instance),
- processInject(instance, mergedType),
- processRefs(instance),
- processEventListeners(instance)
- );
- }
- // src/core/component/state/index.ts
- function getInstanceState(params) {
- var _a25;
- const instance = getComponentInstance(activeAppRecord.value, params.instanceId);
- const id = getUniqueComponentId(instance);
- const name = getInstanceName(instance);
- const file = (_a25 = instance == null ? void 0 : instance.type) == null ? void 0 : _a25.__file;
- const state = processInstanceState(instance);
- return {
- id,
- name,
- file,
- state,
- instance
- };
- }
- // src/core/component/tree/walker.ts
- init_cjs_shims();
- // src/core/component/tree/filter.ts
- init_cjs_shims();
- var import_devtools_shared12 = require("@vue/devtools-shared");
- var ComponentFilter = class {
- constructor(filter) {
- this.filter = filter || "";
- }
- /**
- * Check if an instance is qualified.
- *
- * @param {Vue|Vnode} instance
- * @return {boolean}
- */
- isQualified(instance) {
- const name = getInstanceName(instance);
- return (0, import_devtools_shared12.classify)(name).toLowerCase().includes(this.filter) || (0, import_devtools_shared12.kebabize)(name).toLowerCase().includes(this.filter);
- }
- };
- function createComponentFilter(filterText) {
- return new ComponentFilter(filterText);
- }
- // src/core/component/tree/walker.ts
- var ComponentWalker = class {
- constructor(options) {
- // Dedupe instances (Some instances may be both on a component and on a child abstract/functional component)
- this.captureIds = /* @__PURE__ */ new Map();
- const { filterText = "", maxDepth, recursively, api } = options;
- this.componentFilter = createComponentFilter(filterText);
- this.maxDepth = maxDepth;
- this.recursively = recursively;
- this.api = api;
- }
- getComponentTree(instance) {
- this.captureIds = /* @__PURE__ */ new Map();
- return this.findQualifiedChildren(instance, 0);
- }
- getComponentParents(instance) {
- this.captureIds = /* @__PURE__ */ new Map();
- const parents = [];
- this.captureId(instance);
- let parent = instance;
- while (parent = parent.parent) {
- this.captureId(parent);
- parents.push(parent);
- }
- return parents;
- }
- captureId(instance) {
- if (!instance)
- return null;
- const id = instance.__VUE_DEVTOOLS_NEXT_UID__ != null ? instance.__VUE_DEVTOOLS_NEXT_UID__ : getUniqueComponentId(instance);
- instance.__VUE_DEVTOOLS_NEXT_UID__ = id;
- if (this.captureIds.has(id))
- return null;
- else
- this.captureIds.set(id, void 0);
- this.mark(instance);
- return id;
- }
- /**
- * Capture the meta information of an instance. (recursive)
- *
- * @param {Vue} instance
- * @return {object}
- */
- async capture(instance, depth) {
- var _a25;
- if (!instance)
- return null;
- const id = this.captureId(instance);
- const name = getInstanceName(instance);
- const children = this.getInternalInstanceChildren(instance.subTree).filter((child) => !isBeingDestroyed(child));
- const parents = this.getComponentParents(instance) || [];
- const inactive = !!instance.isDeactivated || parents.some((parent) => parent.isDeactivated);
- const treeNode = {
- uid: instance.uid,
- id,
- name,
- renderKey: getRenderKey(instance.vnode ? instance.vnode.key : null),
- inactive,
- children: [],
- isFragment: isFragment(instance),
- tags: typeof instance.type !== "function" ? [] : [
- {
- label: "functional",
- textColor: 5592405,
- backgroundColor: 15658734
- }
- ],
- autoOpen: this.recursively,
- file: instance.type.__file || ""
- };
- if (depth < this.maxDepth || instance.type.__isKeepAlive || parents.some((parent) => parent.type.__isKeepAlive)) {
- treeNode.children = await Promise.all(children.map((child) => this.capture(child, depth + 1)).filter(Boolean));
- }
- if (this.isKeepAlive(instance)) {
- const cachedComponents = this.getKeepAliveCachedInstances(instance);
- const childrenIds = children.map((child) => child.__VUE_DEVTOOLS_NEXT_UID__);
- for (const cachedChild of cachedComponents) {
- if (!childrenIds.includes(cachedChild.__VUE_DEVTOOLS_NEXT_UID__)) {
- const node = await this.capture({ ...cachedChild, isDeactivated: true }, depth + 1);
- if (node)
- treeNode.children.push(node);
- }
- }
- }
- const rootElements = getRootElementsFromComponentInstance(instance);
- const firstElement = rootElements[0];
- if (firstElement == null ? void 0 : firstElement.parentElement) {
- const parentInstance = instance.parent;
- const parentRootElements = parentInstance ? getRootElementsFromComponentInstance(parentInstance) : [];
- let el = firstElement;
- const indexList = [];
- do {
- indexList.push(Array.from(el.parentElement.childNodes).indexOf(el));
- el = el.parentElement;
- } while (el.parentElement && parentRootElements.length && !parentRootElements.includes(el));
- treeNode.domOrder = indexList.reverse();
- } else {
- treeNode.domOrder = [-1];
- }
- if ((_a25 = instance.suspense) == null ? void 0 : _a25.suspenseKey) {
- treeNode.tags.push({
- label: instance.suspense.suspenseKey,
- backgroundColor: 14979812,
- textColor: 16777215
- });
- this.mark(instance, true);
- }
- this.api.visitComponentTree({
- treeNode,
- componentInstance: instance,
- app: instance.appContext.app,
- filter: this.componentFilter.filter
- });
- return treeNode;
- }
- /**
- * Find qualified children from a single instance.
- * If the instance itself is qualified, just return itself.
- * This is ok because [].concat works in both cases.
- *
- * @param {Vue|Vnode} instance
- * @return {Vue|Array}
- */
- async findQualifiedChildren(instance, depth) {
- var _a25;
- if (this.componentFilter.isQualified(instance) && !((_a25 = instance.type.devtools) == null ? void 0 : _a25.hide)) {
- return [await this.capture(instance, depth)];
- } else if (instance.subTree) {
- const list = this.isKeepAlive(instance) ? this.getKeepAliveCachedInstances(instance) : this.getInternalInstanceChildren(instance.subTree);
- return this.findQualifiedChildrenFromList(list, depth);
- } else {
- return [];
- }
- }
- /**
- * Iterate through an array of instances and flatten it into
- * an array of qualified instances. This is a depth-first
- * traversal - e.g. if an instance is not matched, we will
- * recursively go deeper until a qualified child is found.
- *
- * @param {Array} instances
- * @return {Array}
- */
- async findQualifiedChildrenFromList(instances, depth) {
- instances = instances.filter((child) => {
- var _a25;
- return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide);
- });
- if (!this.componentFilter.filter)
- return Promise.all(instances.map((child) => this.capture(child, depth)));
- else
- return Array.prototype.concat.apply([], await Promise.all(instances.map((i) => this.findQualifiedChildren(i, depth))));
- }
- /**
- * Get children from a component instance.
- */
- getInternalInstanceChildren(subTree, suspense = null) {
- const list = [];
- if (subTree) {
- if (subTree.component) {
- !suspense ? list.push(subTree.component) : list.push({ ...subTree.component, suspense });
- } else if (subTree.suspense) {
- const suspenseKey = !subTree.suspense.isInFallback ? "suspense default" : "suspense fallback";
- list.push(...this.getInternalInstanceChildren(subTree.suspense.activeBranch, { ...subTree.suspense, suspenseKey }));
- } else if (Array.isArray(subTree.children)) {
- subTree.children.forEach((childSubTree) => {
- if (childSubTree.component)
- !suspense ? list.push(childSubTree.component) : list.push({ ...childSubTree.component, suspense });
- else
- list.push(...this.getInternalInstanceChildren(childSubTree, suspense));
- });
- }
- }
- return list.filter((child) => {
- var _a25;
- return !isBeingDestroyed(child) && !((_a25 = child.type.devtools) == null ? void 0 : _a25.hide);
- });
- }
- /**
- * Mark an instance as captured and store it in the instance map.
- *
- * @param {Vue} instance
- */
- mark(instance, force = false) {
- const instanceMap = getAppRecord(instance).instanceMap;
- if (force || !instanceMap.has(instance.__VUE_DEVTOOLS_NEXT_UID__)) {
- instanceMap.set(instance.__VUE_DEVTOOLS_NEXT_UID__, instance);
- activeAppRecord.value.instanceMap = instanceMap;
- }
- }
- isKeepAlive(instance) {
- return instance.type.__isKeepAlive && instance.__v_cache;
- }
- getKeepAliveCachedInstances(instance) {
- return Array.from(instance.__v_cache.values()).map((vnode) => vnode.component).filter(Boolean);
- }
- };
- // src/core/timeline/index.ts
- init_cjs_shims();
- var import_devtools_shared13 = require("@vue/devtools-shared");
- // src/core/timeline/perf.ts
- init_cjs_shims();
- var markEndQueue = /* @__PURE__ */ new Map();
- var PERFORMANCE_EVENT_LAYER_ID = "performance";
- async function performanceMarkStart(api, app, uid, vm, type, time) {
- const appRecord = await getAppRecord(app);
- if (!appRecord) {
- return;
- }
- const componentName = getInstanceName(vm) || "Unknown Component";
- const groupId = devtoolsState.perfUniqueGroupId++;
- const groupKey = `${uid}-${type}`;
- appRecord.perfGroupIds.set(groupKey, { groupId, time });
- await api.addTimelineEvent({
- layerId: PERFORMANCE_EVENT_LAYER_ID,
- event: {
- time: Date.now(),
- data: {
- component: componentName,
- type,
- measure: "start"
- },
- title: componentName,
- subtitle: type,
- groupId
- }
- });
- if (markEndQueue.has(groupKey)) {
- const {
- app: app2,
- uid: uid2,
- instance,
- type: type2,
- time: time2
- } = markEndQueue.get(groupKey);
- markEndQueue.delete(groupKey);
- await performanceMarkEnd(
- api,
- app2,
- uid2,
- instance,
- type2,
- time2
- );
- }
- }
- function performanceMarkEnd(api, app, uid, vm, type, time) {
- const appRecord = getAppRecord(app);
- if (!appRecord)
- return;
- const componentName = getInstanceName(vm) || "Unknown Component";
- const groupKey = `${uid}-${type}`;
- const groupInfo = appRecord.perfGroupIds.get(groupKey);
- if (groupInfo) {
- const groupId = groupInfo.groupId;
- const startTime = groupInfo.time;
- const duration = time - startTime;
- api.addTimelineEvent({
- layerId: PERFORMANCE_EVENT_LAYER_ID,
- event: {
- time: Date.now(),
- data: {
- component: componentName,
- type,
- measure: "end",
- duration: {
- _custom: {
- type: "Duration",
- value: duration,
- display: `${duration} ms`
- }
- }
- },
- title: componentName,
- subtitle: type,
- groupId
- }
- });
- } else {
- markEndQueue.set(groupKey, { app, uid, instance: vm, type, time });
- }
- }
- // src/core/timeline/index.ts
- var COMPONENT_EVENT_LAYER_ID = "component-event";
- function setupBuiltinTimelineLayers(api) {
- if (!import_devtools_shared13.isBrowser)
- return;
- api.addTimelineLayer({
- id: "mouse",
- label: "Mouse",
- color: 10768815
- });
- ["mousedown", "mouseup", "click", "dblclick"].forEach((eventType) => {
- if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.mouseEventEnabled)
- return;
- window.addEventListener(eventType, async (event) => {
- await api.addTimelineEvent({
- layerId: "mouse",
- event: {
- time: Date.now(),
- data: {
- type: eventType,
- x: event.clientX,
- y: event.clientY
- },
- title: eventType
- }
- });
- }, {
- capture: true,
- passive: true
- });
- });
- api.addTimelineLayer({
- id: "keyboard",
- label: "Keyboard",
- color: 8475055
- });
- ["keyup", "keydown", "keypress"].forEach((eventType) => {
- window.addEventListener(eventType, async (event) => {
- if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.keyboardEventEnabled)
- return;
- await api.addTimelineEvent({
- layerId: "keyboard",
- event: {
- time: Date.now(),
- data: {
- type: eventType,
- key: event.key,
- ctrlKey: event.ctrlKey,
- shiftKey: event.shiftKey,
- altKey: event.altKey,
- metaKey: event.metaKey
- },
- title: event.key
- }
- });
- }, {
- capture: true,
- passive: true
- });
- });
- api.addTimelineLayer({
- id: COMPONENT_EVENT_LAYER_ID,
- label: "Component events",
- color: 5226637
- });
- hook.on.componentEmit(async (app, instance, event, params) => {
- if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.componentEventEnabled)
- return;
- const appRecord = await getAppRecord(app);
- if (!appRecord)
- return;
- const componentId = `${appRecord.id}:${instance.uid}`;
- const componentName = getInstanceName(instance) || "Unknown Component";
- api.addTimelineEvent({
- layerId: COMPONENT_EVENT_LAYER_ID,
- event: {
- time: Date.now(),
- data: {
- component: {
- _custom: {
- type: "component-definition",
- display: componentName
- }
- },
- event,
- params
- },
- title: event,
- subtitle: `by ${componentName}`,
- meta: {
- componentId
- }
- }
- });
- });
- api.addTimelineLayer({
- id: "performance",
- label: PERFORMANCE_EVENT_LAYER_ID,
- color: 4307050
- });
- hook.on.perfStart((app, uid, vm, type, time) => {
- if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled)
- return;
- performanceMarkStart(api, app, uid, vm, type, time);
- });
- hook.on.perfEnd((app, uid, vm, type, time) => {
- if (!devtoolsState.timelineLayersState.recordingState || !devtoolsState.timelineLayersState.performanceEventEnabled)
- return;
- performanceMarkEnd(api, app, uid, vm, type, time);
- });
- }
- // src/core/vm/index.ts
- init_cjs_shims();
- var MAX_$VM = 10;
- var $vmQueue = [];
- function exposeInstanceToWindow(componentInstance) {
- if (typeof window === "undefined")
- return;
- const win = window;
- if (!componentInstance)
- return;
- win.$vm = componentInstance;
- if ($vmQueue[0] !== componentInstance) {
- if ($vmQueue.length >= MAX_$VM) {
- $vmQueue.pop();
- }
- for (let i = $vmQueue.length; i > 0; i--) {
- win[`$vm${i}`] = $vmQueue[i] = $vmQueue[i - 1];
- }
- win.$vm0 = $vmQueue[0] = componentInstance;
- }
- }
- // src/core/plugin/components.ts
- var INSPECTOR_ID = "components";
- function createComponentsDevToolsPlugin(app) {
- const descriptor = {
- id: INSPECTOR_ID,
- label: "Components",
- app
- };
- const setupFn = (api) => {
- api.addInspector({
- id: INSPECTOR_ID,
- label: "Components",
- treeFilterPlaceholder: "Search components"
- });
- setupBuiltinTimelineLayers(api);
- api.on.getInspectorTree(async (payload) => {
- if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
- const instance = getComponentInstance(activeAppRecord.value, payload.instanceId);
- if (instance) {
- const walker2 = new ComponentWalker({
- filterText: payload.filter,
- // @TODO: should make this configurable?
- maxDepth: 100,
- recursively: false,
- api
- });
- payload.rootNodes = await walker2.getComponentTree(instance);
- }
- }
- });
- api.on.getInspectorState(async (payload) => {
- var _a25;
- if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
- const result = getInstanceState({
- instanceId: payload.nodeId
- });
- const componentInstance = result.instance;
- const app2 = (_a25 = result.instance) == null ? void 0 : _a25.appContext.app;
- const _payload = {
- componentInstance,
- app: app2,
- instanceData: result
- };
- devtoolsContext.hooks.callHookWith((callbacks) => {
- callbacks.forEach((cb) => cb(_payload));
- }, "inspectComponent" /* INSPECT_COMPONENT */);
- payload.state = result;
- exposeInstanceToWindow(componentInstance);
- }
- });
- api.on.editInspectorState(async (payload) => {
- if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {
- editState(payload);
- await api.sendInspectorState("components");
- }
- });
- const debounceSendInspectorTree = (0, import_perfect_debounce4.debounce)(() => {
- api.sendInspectorTree(INSPECTOR_ID);
- }, 120);
- const debounceSendInspectorState = (0, import_perfect_debounce4.debounce)(() => {
- api.sendInspectorState(INSPECTOR_ID);
- }, 120);
- const componentAddedCleanup = hook.on.componentAdded(async (app2, uid, parentUid, component) => {
- var _a25, _b25, _c;
- if (devtoolsState.highPerfModeEnabled)
- return;
- if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
- return;
- if (!app2 || typeof uid !== "number" && !uid || !component)
- return;
- const id = await getComponentId({
- app: app2,
- uid,
- instance: component
- });
- const appRecord = await getAppRecord(app2);
- if (component) {
- if (component.__VUE_DEVTOOLS_NEXT_UID__ == null)
- component.__VUE_DEVTOOLS_NEXT_UID__ = id;
- if (!(appRecord == null ? void 0 : appRecord.instanceMap.has(id))) {
- appRecord == null ? void 0 : appRecord.instanceMap.set(id, component);
- if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id))
- activeAppRecord.value.instanceMap = appRecord.instanceMap;
- }
- }
- if (!appRecord)
- return;
- debounceSendInspectorTree();
- });
- const componentUpdatedCleanup = hook.on.componentUpdated(async (app2, uid, parentUid, component) => {
- var _a25, _b25, _c;
- if (devtoolsState.highPerfModeEnabled)
- return;
- if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
- return;
- if (!app2 || typeof uid !== "number" && !uid || !component)
- return;
- const id = await getComponentId({
- app: app2,
- uid,
- instance: component
- });
- const appRecord = await getAppRecord(app2);
- if (component) {
- if (component.__VUE_DEVTOOLS_NEXT_UID__ == null)
- component.__VUE_DEVTOOLS_NEXT_UID__ = id;
- if (!(appRecord == null ? void 0 : appRecord.instanceMap.has(id))) {
- appRecord == null ? void 0 : appRecord.instanceMap.set(id, component);
- if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id))
- activeAppRecord.value.instanceMap = appRecord.instanceMap;
- }
- }
- if (!appRecord)
- return;
- debounceSendInspectorTree();
- debounceSendInspectorState();
- });
- const componentRemovedCleanup = hook.on.componentRemoved(async (app2, uid, parentUid, component) => {
- var _a25, _b25, _c;
- if (devtoolsState.highPerfModeEnabled)
- return;
- if ((_c = (_b25 = (_a25 = app2 == null ? void 0 : app2._instance) == null ? void 0 : _a25.type) == null ? void 0 : _b25.devtools) == null ? void 0 : _c.hide)
- return;
- if (!app2 || typeof uid !== "number" && !uid || !component)
- return;
- const appRecord = await getAppRecord(app2);
- if (!appRecord)
- return;
- const id = await getComponentId({
- app: app2,
- uid,
- instance: component
- });
- appRecord == null ? void 0 : appRecord.instanceMap.delete(id);
- if (activeAppRecord.value.id === (appRecord == null ? void 0 : appRecord.id))
- activeAppRecord.value.instanceMap = appRecord.instanceMap;
- debounceSendInspectorTree();
- });
- };
- return [descriptor, setupFn];
- }
- // src/core/plugin/index.ts
- var _a12, _b12;
- (_b12 = (_a12 = import_devtools_shared14.target).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__) != null ? _b12 : _a12.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ = /* @__PURE__ */ new Set();
- function setupDevToolsPlugin(pluginDescriptor, setupFn) {
- return hook.setupDevToolsPlugin(pluginDescriptor, setupFn);
- }
- function callDevToolsPluginSetupFn(plugin, app) {
- const [pluginDescriptor, setupFn] = plugin;
- if (pluginDescriptor.app !== app)
- return;
- const api = new DevToolsPluginAPI({
- plugin: {
- setupFn,
- descriptor: pluginDescriptor
- },
- ctx: devtoolsContext
- });
- if (pluginDescriptor.packageName === "vuex") {
- api.on.editInspectorState((payload) => {
- api.sendInspectorState(payload.inspectorId);
- });
- }
- setupFn(api);
- }
- function removeRegisteredPluginApp(app) {
- import_devtools_shared14.target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.delete(app);
- }
- function registerDevToolsPlugin(app, options) {
- if (import_devtools_shared14.target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) {
- return;
- }
- if (devtoolsState.highPerfModeEnabled && !(options == null ? void 0 : options.inspectingComponent)) {
- return;
- }
- import_devtools_shared14.target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app);
- devtoolsPluginBuffer.forEach((plugin) => {
- callDevToolsPluginSetupFn(plugin, app);
- });
- }
- // src/core/router/index.ts
- init_cjs_shims();
- var import_devtools_shared16 = require("@vue/devtools-shared");
- var import_perfect_debounce5 = require("perfect-debounce");
- // src/ctx/router.ts
- init_cjs_shims();
- var import_devtools_shared15 = require("@vue/devtools-shared");
- var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__";
- var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__";
- var _a13, _b13;
- (_b13 = (_a13 = import_devtools_shared15.target)[ROUTER_INFO_KEY]) != null ? _b13 : _a13[ROUTER_INFO_KEY] = {
- currentRoute: null,
- routes: []
- };
- var _a14, _b14;
- (_b14 = (_a14 = import_devtools_shared15.target)[ROUTER_KEY]) != null ? _b14 : _a14[ROUTER_KEY] = {};
- var devtoolsRouterInfo = new Proxy(import_devtools_shared15.target[ROUTER_INFO_KEY], {
- get(target22, property) {
- return import_devtools_shared15.target[ROUTER_INFO_KEY][property];
- }
- });
- var devtoolsRouter = new Proxy(import_devtools_shared15.target[ROUTER_KEY], {
- get(target22, property) {
- if (property === "value") {
- return import_devtools_shared15.target[ROUTER_KEY];
- }
- }
- });
- // src/core/router/index.ts
- function getRoutes(router) {
- const routesMap = /* @__PURE__ */ new Map();
- return ((router == null ? void 0 : router.getRoutes()) || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));
- }
- function filterRoutes(routes) {
- return routes.map((item) => {
- let { path, name, children, meta } = item;
- if (children == null ? void 0 : children.length)
- children = filterRoutes(children);
- return {
- path,
- name,
- children,
- meta
- };
- });
- }
- function filterCurrentRoute(route) {
- if (route) {
- const { fullPath, hash, href, path, name, matched, params, query } = route;
- return {
- fullPath,
- hash,
- href,
- path,
- name,
- params,
- query,
- matched: filterRoutes(matched)
- };
- }
- return route;
- }
- function normalizeRouterInfo(appRecord, activeAppRecord2) {
- function init() {
- var _a25;
- const router = (_a25 = appRecord.app) == null ? void 0 : _a25.config.globalProperties.$router;
- const currentRoute = filterCurrentRoute(router == null ? void 0 : router.currentRoute.value);
- const routes = filterRoutes(getRoutes(router));
- const c = console.warn;
- console.warn = () => {
- };
- import_devtools_shared16.target[ROUTER_INFO_KEY] = {
- currentRoute: currentRoute ? (0, import_devtools_shared16.deepClone)(currentRoute) : {},
- routes: (0, import_devtools_shared16.deepClone)(routes)
- };
- import_devtools_shared16.target[ROUTER_KEY] = router;
- console.warn = c;
- }
- init();
- hook.on.componentUpdated((0, import_perfect_debounce5.debounce)(() => {
- var _a25;
- if (((_a25 = activeAppRecord2.value) == null ? void 0 : _a25.app) !== appRecord.app)
- return;
- init();
- if (devtoolsState.highPerfModeEnabled)
- return;
- devtoolsContext.hooks.callHook("routerInfoUpdated" /* ROUTER_INFO_UPDATED */, { state: import_devtools_shared16.target[ROUTER_INFO_KEY] });
- }, 200));
- }
- // src/ctx/api.ts
- function createDevToolsApi(hooks2) {
- return {
- // get inspector tree
- async getInspectorTree(payload) {
- const _payload = {
- ...payload,
- app: activeAppRecord.value.app,
- rootNodes: []
- };
- await new Promise((resolve) => {
- hooks2.callHookWith(async (callbacks) => {
- await Promise.all(callbacks.map((cb) => cb(_payload)));
- resolve();
- }, "getInspectorTree" /* GET_INSPECTOR_TREE */);
- });
- return _payload.rootNodes;
- },
- // get inspector state
- async getInspectorState(payload) {
- const _payload = {
- ...payload,
- app: activeAppRecord.value.app,
- state: null
- };
- const ctx = {
- currentTab: `custom-inspector:${payload.inspectorId}`
- };
- await new Promise((resolve) => {
- hooks2.callHookWith(async (callbacks) => {
- await Promise.all(callbacks.map((cb) => cb(_payload, ctx)));
- resolve();
- }, "getInspectorState" /* GET_INSPECTOR_STATE */);
- });
- return _payload.state;
- },
- // edit inspector state
- editInspectorState(payload) {
- const stateEditor2 = new StateEditor();
- const _payload = {
- ...payload,
- app: activeAppRecord.value.app,
- set: (obj, path = payload.path, value = payload.state.value, cb) => {
- stateEditor2.set(obj, path, value, cb || stateEditor2.createDefaultSetCallback(payload.state));
- }
- };
- hooks2.callHookWith((callbacks) => {
- callbacks.forEach((cb) => cb(_payload));
- }, "editInspectorState" /* EDIT_INSPECTOR_STATE */);
- },
- // send inspector state
- sendInspectorState(inspectorId) {
- const inspector = getInspector(inspectorId);
- hooks2.callHook("sendInspectorState" /* SEND_INSPECTOR_STATE */, { inspectorId, plugin: {
- descriptor: inspector.descriptor,
- setupFn: () => ({})
- } });
- },
- // inspect component inspector
- inspectComponentInspector() {
- return inspectComponentHighLighter();
- },
- // cancel inspect component inspector
- cancelInspectComponentInspector() {
- return cancelInspectComponentHighLighter();
- },
- // get component render code
- getComponentRenderCode(id) {
- const instance = getComponentInstance(activeAppRecord.value, id);
- if (instance)
- return !(typeof (instance == null ? void 0 : instance.type) === "function") ? instance.render.toString() : instance.type.toString();
- },
- // scroll to component
- scrollToComponent(id) {
- return scrollToComponent({ id });
- },
- // open in editor
- openInEditor,
- // get vue inspector
- getVueInspector: getComponentInspector,
- // toggle app
- toggleApp(id, options) {
- const appRecord = devtoolsAppRecords.value.find((record) => record.id === id);
- if (appRecord) {
- setActiveAppRecordId(id);
- setActiveAppRecord(appRecord);
- normalizeRouterInfo(appRecord, activeAppRecord);
- callInspectorUpdatedHook();
- registerDevToolsPlugin(appRecord.app, options);
- }
- },
- // inspect dom
- inspectDOM(instanceId) {
- const instance = getComponentInstance(activeAppRecord.value, instanceId);
- if (instance) {
- const [el] = getRootElementsFromComponentInstance(instance);
- if (el) {
- import_devtools_shared17.target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el;
- }
- }
- },
- updatePluginSettings(pluginId, key, value) {
- setPluginSettings(pluginId, key, value);
- },
- getPluginSettings(pluginId) {
- return {
- options: getPluginSettingsOptions(pluginId),
- values: getPluginSettings(pluginId)
- };
- }
- };
- }
- // src/ctx/env.ts
- init_cjs_shims();
- var import_devtools_shared18 = require("@vue/devtools-shared");
- var _a15, _b15;
- (_b15 = (_a15 = import_devtools_shared18.target).__VUE_DEVTOOLS_ENV__) != null ? _b15 : _a15.__VUE_DEVTOOLS_ENV__ = {
- vitePluginDetected: false
- };
- function getDevToolsEnv() {
- return import_devtools_shared18.target.__VUE_DEVTOOLS_ENV__;
- }
- function setDevToolsEnv(env) {
- import_devtools_shared18.target.__VUE_DEVTOOLS_ENV__ = {
- ...import_devtools_shared18.target.__VUE_DEVTOOLS_ENV__,
- ...env
- };
- }
- // src/ctx/index.ts
- var hooks = createDevToolsCtxHooks();
- var _a16, _b16;
- (_b16 = (_a16 = import_devtools_shared19.target).__VUE_DEVTOOLS_KIT_CONTEXT__) != null ? _b16 : _a16.__VUE_DEVTOOLS_KIT_CONTEXT__ = {
- hooks,
- get state() {
- return {
- ...devtoolsState,
- activeAppRecordId: activeAppRecord.id,
- activeAppRecord: activeAppRecord.value,
- appRecords: devtoolsAppRecords.value
- };
- },
- api: createDevToolsApi(hooks)
- };
- var devtoolsContext = import_devtools_shared19.target.__VUE_DEVTOOLS_KIT_CONTEXT__;
- // src/core/app/index.ts
- init_cjs_shims();
- var import_devtools_shared20 = require("@vue/devtools-shared");
- var import_speakingurl = __toESM(require_speakingurl2(), 1);
- var _a17, _b17;
- var appRecordInfo = (_b17 = (_a17 = import_devtools_shared20.target).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__) != null ? _b17 : _a17.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ = {
- id: 0,
- appIds: /* @__PURE__ */ new Set()
- };
- function getAppRecordName(app, fallbackName) {
- var _a25;
- return ((_a25 = app == null ? void 0 : app._component) == null ? void 0 : _a25.name) || `App ${fallbackName}`;
- }
- function getAppRootInstance(app) {
- var _a25, _b25, _c, _d;
- if (app._instance)
- return app._instance;
- else if ((_b25 = (_a25 = app._container) == null ? void 0 : _a25._vnode) == null ? void 0 : _b25.component)
- return (_d = (_c = app._container) == null ? void 0 : _c._vnode) == null ? void 0 : _d.component;
- }
- function removeAppRecordId(app) {
- const id = app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__;
- if (id != null) {
- appRecordInfo.appIds.delete(id);
- appRecordInfo.id--;
- }
- }
- function getAppRecordId(app, defaultId) {
- if (app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ != null)
- return app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__;
- let id = defaultId != null ? defaultId : (appRecordInfo.id++).toString();
- if (defaultId && appRecordInfo.appIds.has(id)) {
- let count = 1;
- while (appRecordInfo.appIds.has(`${defaultId}_${count}`))
- count++;
- id = `${defaultId}_${count}`;
- }
- appRecordInfo.appIds.add(id);
- app.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ = id;
- return id;
- }
- function createAppRecord(app, types) {
- var _a25, _b25;
- const rootInstance = getAppRootInstance(app);
- if (rootInstance) {
- appRecordInfo.id++;
- const name = getAppRecordName(app, appRecordInfo.id.toString());
- const id = getAppRecordId(app, (0, import_speakingurl.default)(name));
- const [el] = getRootElementsFromComponentInstance(rootInstance);
- const record = {
- id,
- name,
- types,
- instanceMap: /* @__PURE__ */ new Map(),
- perfGroupIds: /* @__PURE__ */ new Map(),
- rootInstance,
- iframe: import_devtools_shared20.isBrowser && document !== (el == null ? void 0 : el.ownerDocument) ? (_b25 = (_a25 = el == null ? void 0 : el.ownerDocument) == null ? void 0 : _a25.location) == null ? void 0 : _b25.pathname : void 0
- };
- app.__VUE_DEVTOOLS_NEXT_APP_RECORD__ = record;
- const rootId = `${record.id}:root`;
- record.instanceMap.set(rootId, record.rootInstance);
- record.rootInstance.__VUE_DEVTOOLS_NEXT_UID__ = rootId;
- return record;
- } else {
- return {};
- }
- }
- // src/core/iframe/index.ts
- init_cjs_shims();
- function detectIframeApp(target22, inIframe = false) {
- if (inIframe) {
- let sendEventToParent2 = function(cb) {
- try {
- const hook3 = window.parent.__VUE_DEVTOOLS_GLOBAL_HOOK__;
- if (hook3) {
- cb(hook3);
- }
- } catch (e) {
- }
- };
- var sendEventToParent = sendEventToParent2;
- const hook2 = {
- id: "vue-devtools-next",
- devtoolsVersion: "7.0",
- on: (event, cb) => {
- sendEventToParent2((hook3) => {
- hook3.on(event, cb);
- });
- },
- once: (event, cb) => {
- sendEventToParent2((hook3) => {
- hook3.once(event, cb);
- });
- },
- off: (event, cb) => {
- sendEventToParent2((hook3) => {
- hook3.off(event, cb);
- });
- },
- emit: (event, ...payload) => {
- sendEventToParent2((hook3) => {
- hook3.emit(event, ...payload);
- });
- }
- };
- Object.defineProperty(target22, "__VUE_DEVTOOLS_GLOBAL_HOOK__", {
- get() {
- return hook2;
- },
- configurable: true
- });
- }
- function injectVueHookToIframe(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 = `;(${detectIframeApp.toString()})(window, true)`;
- iframe.contentDocument.documentElement.appendChild(script);
- script.parentNode.removeChild(script);
- } catch (e) {
- }
- };
- inject();
- iframe.addEventListener("load", () => inject());
- } catch (e) {
- }
- }
- function injectVueHookToIframes() {
- if (typeof window === "undefined") {
- return;
- }
- const iframes = Array.from(document.querySelectorAll("iframe:not([data-vue-devtools-ignore])"));
- for (const iframe of iframes) {
- injectVueHookToIframe(iframe);
- }
- }
- injectVueHookToIframes();
- let iframeAppChecks = 0;
- const iframeAppCheckTimer = setInterval(() => {
- injectVueHookToIframes();
- iframeAppChecks++;
- if (iframeAppChecks >= 5) {
- clearInterval(iframeAppCheckTimer);
- }
- }, 1e3);
- }
- // src/core/index.ts
- function initDevTools() {
- var _a25;
- detectIframeApp(import_devtools_shared21.target);
- updateDevToolsState({
- vitePluginDetected: getDevToolsEnv().vitePluginDetected
- });
- const isDevToolsNext = ((_a25 = import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__) == null ? void 0 : _a25.id) === "vue-devtools-next";
- if (import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__ && isDevToolsNext)
- return;
- const _devtoolsHook = createDevToolsHook();
- if (import_devtools_shared21.target.__VUE_DEVTOOLS_HOOK_REPLAY__) {
- try {
- import_devtools_shared21.target.__VUE_DEVTOOLS_HOOK_REPLAY__.forEach((cb) => cb(_devtoolsHook));
- import_devtools_shared21.target.__VUE_DEVTOOLS_HOOK_REPLAY__ = [];
- } catch (e) {
- console.error("[vue-devtools] Error during hook replay", e);
- }
- }
- _devtoolsHook.once("init", (Vue) => {
- import_devtools_shared21.target.__VUE_DEVTOOLS_VUE2_APP_DETECTED__ = true;
- console.log("%c[_____Vue DevTools v7 log_____]", "color: red; font-bold: 600; font-size: 16px;");
- console.log("%cVue DevTools v7 detected in your Vue2 project. v7 only supports Vue3 and will not work.", "font-bold: 500; font-size: 14px;");
- const legacyChromeUrl = "https://chromewebstore.google.com/detail/vuejs-devtools/iaajmlceplecbljialhhkmedjlpdblhp";
- const legacyFirefoxUrl = "https://addons.mozilla.org/firefox/addon/vue-js-devtools-v6-legacy";
- console.log(`%cThe legacy version of chrome extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyChromeUrl}`, "font-size: 14px;", "text-decoration: underline; cursor: pointer;font-size: 14px;");
- console.log(`%cThe legacy version of firefox extension that supports both Vue 2 and Vue 3 has been moved to %c ${legacyFirefoxUrl}`, "font-size: 14px;", "text-decoration: underline; cursor: pointer;font-size: 14px;");
- console.log("%cPlease install and enable only the legacy version for your Vue2 app.", "font-bold: 500; font-size: 14px;");
- console.log("%c[_____Vue DevTools v7 log_____]", "color: red; font-bold: 600; font-size: 16px;");
- });
- hook.on.setupDevtoolsPlugin((pluginDescriptor, setupFn) => {
- var _a26;
- addDevToolsPluginToBuffer(pluginDescriptor, setupFn);
- const { app } = (_a26 = activeAppRecord) != null ? _a26 : {};
- if (pluginDescriptor.settings) {
- initPluginSettings(pluginDescriptor.id, pluginDescriptor.settings);
- }
- if (!app)
- return;
- callDevToolsPluginSetupFn([pluginDescriptor, setupFn], app);
- });
- onLegacyDevToolsPluginApiAvailable(() => {
- const normalizedPluginBuffer = devtoolsPluginBuffer.filter(([item]) => item.id !== "components");
- normalizedPluginBuffer.forEach(([pluginDescriptor, setupFn]) => {
- _devtoolsHook.emit("devtools-plugin:setup" /* SETUP_DEVTOOLS_PLUGIN */, pluginDescriptor, setupFn, { target: "legacy" });
- });
- });
- hook.on.vueAppInit(async (app, version, types) => {
- const appRecord = createAppRecord(app, types);
- const normalizedAppRecord = {
- ...appRecord,
- app,
- version
- };
- addDevToolsAppRecord(normalizedAppRecord);
- if (devtoolsAppRecords.value.length === 1) {
- setActiveAppRecord(normalizedAppRecord);
- setActiveAppRecordId(normalizedAppRecord.id);
- normalizeRouterInfo(normalizedAppRecord, activeAppRecord);
- registerDevToolsPlugin(normalizedAppRecord.app);
- }
- setupDevToolsPlugin(...createComponentsDevToolsPlugin(normalizedAppRecord.app));
- updateDevToolsState({
- connected: true
- });
- _devtoolsHook.apps.push(app);
- });
- hook.on.vueAppUnmount(async (app) => {
- const activeRecords = devtoolsAppRecords.value.filter((appRecord) => appRecord.app !== app);
- if (activeRecords.length === 0) {
- updateDevToolsState({
- connected: false
- });
- }
- removeDevToolsAppRecord(app);
- removeAppRecordId(app);
- if (activeAppRecord.value.app === app) {
- setActiveAppRecord(activeRecords[0]);
- devtoolsContext.hooks.callHook("sendActiveAppUpdatedToClient" /* SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT */);
- }
- import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.splice(import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps.indexOf(app), 1);
- removeRegisteredPluginApp(app);
- });
- subscribeDevToolsHook(_devtoolsHook);
- if (!import_devtools_shared21.target.__VUE_DEVTOOLS_GLOBAL_HOOK__) {
- Object.defineProperty(import_devtools_shared21.target, "__VUE_DEVTOOLS_GLOBAL_HOOK__", {
- get() {
- return _devtoolsHook;
- },
- configurable: true
- });
- } else {
- if (!import_devtools_shared21.isNuxtApp) {
- Object.assign(__VUE_DEVTOOLS_GLOBAL_HOOK__, _devtoolsHook);
- }
- }
- }
- function onDevToolsClientConnected(fn) {
- return new Promise((resolve) => {
- if (devtoolsState.connected && devtoolsState.clientConnected) {
- fn();
- resolve();
- return;
- }
- devtoolsContext.hooks.hook("devtoolsConnectedUpdated" /* DEVTOOLS_CONNECTED_UPDATED */, ({ state }) => {
- if (state.connected && state.clientConnected) {
- fn();
- resolve();
- }
- });
- });
- }
- // src/core/high-perf-mode/index.ts
- init_cjs_shims();
- function toggleHighPerfMode(state) {
- devtoolsState.highPerfModeEnabled = state != null ? state : !devtoolsState.highPerfModeEnabled;
- if (!state && activeAppRecord.value) {
- registerDevToolsPlugin(activeAppRecord.value.app);
- }
- }
- // src/core/component/state/format.ts
- init_cjs_shims();
- // src/core/component/state/reviver.ts
- init_cjs_shims();
- var import_devtools_shared22 = require("@vue/devtools-shared");
- function reviveSet(val) {
- const result = /* @__PURE__ */ 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;
- }
- function reviveMap(val) {
- const result = /* @__PURE__ */ 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;
- }
- function revive(val) {
- if (val === UNDEFINED) {
- return void 0;
- } else if (val === INFINITY) {
- return Number.POSITIVE_INFINITY;
- } else if (val === NEGATIVE_INFINITY) {
- return Number.NEGATIVE_INFINITY;
- } else if (val === NAN) {
- return Number.NaN;
- } else if (val && val._custom) {
- const { _custom: custom } = val;
- if (custom.type === "component")
- return activeAppRecord.value.instanceMap.get(custom.id);
- else if (custom.type === "map")
- return reviveMap(val);
- else if (custom.type === "set")
- return reviveSet(val);
- else if (custom.type === "bigint")
- return BigInt(custom.value);
- 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 import_devtools_shared22.target[type](string);
- if (type === "Error" && details)
- result.stack = details;
- return result;
- } else {
- return val;
- }
- }
- function reviver(key, value) {
- return revive(value);
- }
- // src/core/component/state/format.ts
- function getInspectorStateValueType(value, raw = true) {
- const type = typeof value;
- if (value == null || value === UNDEFINED || value === "undefined") {
- return "null";
- } else if (type === "boolean" || type === "number" || value === INFINITY || value === NEGATIVE_INFINITY || value === NAN) {
- return "literal";
- } else if (value == null ? void 0 : value._custom) {
- if (raw || value._custom.display != null || value._custom.displayText != null)
- return "custom";
- else
- return getInspectorStateValueType(value._custom.value);
- } else if (typeof value === "string") {
- const typeMatch = specialTypeRE.exec(value);
- if (typeMatch) {
- const [, type2] = typeMatch;
- return `native ${type2}`;
- } else {
- return "string";
- }
- } else if (Array.isArray(value) || (value == null ? void 0 : value._isArray)) {
- return "array";
- } else if (isPlainObject(value)) {
- return "plain-object";
- } else {
- return "unknown";
- }
- }
- function formatInspectorStateValue(value, quotes = false, options) {
- var _a25, _b25, _c;
- const { customClass } = options != null ? options : {};
- let result;
- const type = getInspectorStateValueType(value, false);
- if (type !== "custom" && (value == null ? void 0 : value._custom))
- value = value._custom.value;
- if (result = internalStateTokenToString(value)) {
- return result;
- } else if (type === "custom") {
- const nestedName = ((_a25 = value._custom.value) == null ? void 0 : _a25._custom) && formatInspectorStateValue(value._custom.value, quotes, options);
- return nestedName || value._custom.displayText || value._custom.display;
- } else if (type === "array") {
- return `Array[${value.length}]`;
- } else if (type === "plain-object") {
- return `Object${Object.keys(value).length ? "" : " (empty)"}`;
- } else if (type == null ? void 0 : type.includes("native")) {
- return escape((_b25 = specialTypeRE.exec(value)) == null ? void 0 : _b25[2]);
- } else if (typeof value === "string") {
- const typeMatch = value.match(rawTypeRE);
- if (typeMatch) {
- value = escapeString(typeMatch[1]);
- } else if (quotes) {
- value = `<span>"</span>${(customClass == null ? void 0 : customClass.string) ? `<span class=${customClass.string}>${escapeString(value)}</span>` : escapeString(value)}<span>"</span>`;
- } else {
- value = (customClass == null ? void 0 : customClass.string) ? `<span class="${(_c = customClass == null ? void 0 : customClass.string) != null ? _c : ""}">${escapeString(value)}</span>` : escapeString(value);
- }
- }
- return value;
- }
- function escapeString(value) {
- return escape(value).replace(/ /g, " ").replace(/\n/g, "<span>\\n</span>");
- }
- function getRaw(value) {
- var _a25, _b25, _c;
- let customType;
- const isCustom = getInspectorStateValueType(value) === "custom";
- let inherit = {};
- if (isCustom) {
- const data = value;
- const customValue = (_a25 = data._custom) == null ? void 0 : _a25.value;
- const currentCustomType = (_b25 = data._custom) == null ? void 0 : _b25.type;
- const nestedCustom = typeof customValue === "object" && customValue !== null && "_custom" in customValue ? getRaw(customValue) : { inherit: void 0, value: void 0, customType: void 0 };
- inherit = nestedCustom.inherit || ((_c = data._custom) == null ? void 0 : _c.fields) || {};
- value = nestedCustom.value || customValue;
- customType = nestedCustom.customType || currentCustomType;
- }
- if (value && value._isArray)
- value = value.items;
- return { value, inherit, customType };
- }
- function toEdit(value, customType) {
- if (customType === "bigint")
- return value;
- if (customType === "date")
- return value;
- return replaceTokenToString(JSON.stringify(value));
- }
- function toSubmit(value, customType) {
- if (customType === "bigint")
- return BigInt(value);
- if (customType === "date")
- return new Date(value);
- return JSON.parse(replaceStringToToken(value), reviver);
- }
- // src/core/devtools-client/detected.ts
- init_cjs_shims();
- var import_devtools_shared23 = require("@vue/devtools-shared");
- function updateDevToolsClientDetected(params) {
- devtoolsState.devtoolsClientDetected = {
- ...devtoolsState.devtoolsClientDetected,
- ...params
- };
- const devtoolsClientVisible = Object.values(devtoolsState.devtoolsClientDetected).some(Boolean);
- toggleHighPerfMode(!devtoolsClientVisible);
- }
- var _a18, _b18;
- (_b18 = (_a18 = import_devtools_shared23.target).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__) != null ? _b18 : _a18.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ = updateDevToolsClientDetected;
- // src/messaging/index.ts
- init_cjs_shims();
- var import_devtools_shared31 = require("@vue/devtools-shared");
- var import_birpc = require("birpc");
- // src/messaging/presets/index.ts
- init_cjs_shims();
- // src/messaging/presets/broadcast-channel/index.ts
- init_cjs_shims();
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js
- init_cjs_shims();
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js
- init_cjs_shims();
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js
- init_cjs_shims();
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js
- init_cjs_shims();
- var DoubleIndexedKV = class {
- constructor() {
- this.keyToValue = /* @__PURE__ */ new Map();
- this.valueToKey = /* @__PURE__ */ new Map();
- }
- set(key, value) {
- this.keyToValue.set(key, value);
- this.valueToKey.set(value, key);
- }
- getByKey(key) {
- return this.keyToValue.get(key);
- }
- getByValue(value) {
- return this.valueToKey.get(value);
- }
- clear() {
- this.keyToValue.clear();
- this.valueToKey.clear();
- }
- };
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js
- var Registry = class {
- constructor(generateIdentifier) {
- this.generateIdentifier = generateIdentifier;
- this.kv = new DoubleIndexedKV();
- }
- register(value, identifier) {
- if (this.kv.getByValue(value)) {
- return;
- }
- if (!identifier) {
- identifier = this.generateIdentifier(value);
- }
- this.kv.set(identifier, value);
- }
- clear() {
- this.kv.clear();
- }
- getIdentifier(value) {
- return this.kv.getByValue(value);
- }
- getValue(identifier) {
- return this.kv.getByKey(identifier);
- }
- };
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js
- var ClassRegistry = class extends Registry {
- constructor() {
- super((c) => c.name);
- this.classToAllowedProps = /* @__PURE__ */ new Map();
- }
- register(value, options) {
- if (typeof options === "object") {
- if (options.allowProps) {
- this.classToAllowedProps.set(value, options.allowProps);
- }
- super.register(value, options.identifier);
- } else {
- super.register(value, options);
- }
- }
- getAllowedProps(value) {
- return this.classToAllowedProps.get(value);
- }
- };
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js
- init_cjs_shims();
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js
- init_cjs_shims();
- function valuesOfObj(record) {
- if ("values" in Object) {
- return Object.values(record);
- }
- const values = [];
- for (const key in record) {
- if (record.hasOwnProperty(key)) {
- values.push(record[key]);
- }
- }
- return values;
- }
- function find(record, predicate) {
- const values = valuesOfObj(record);
- if ("find" in values) {
- return values.find(predicate);
- }
- const valuesNotNever = values;
- for (let i = 0; i < valuesNotNever.length; i++) {
- const value = valuesNotNever[i];
- if (predicate(value)) {
- return value;
- }
- }
- return void 0;
- }
- function forEach(record, run) {
- Object.entries(record).forEach(([key, value]) => run(value, key));
- }
- function includes(arr, value) {
- return arr.indexOf(value) !== -1;
- }
- function findArr(record, predicate) {
- for (let i = 0; i < record.length; i++) {
- const value = record[i];
- if (predicate(value)) {
- return value;
- }
- }
- return void 0;
- }
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js
- var CustomTransformerRegistry = class {
- constructor() {
- this.transfomers = {};
- }
- register(transformer) {
- this.transfomers[transformer.name] = transformer;
- }
- findApplicable(v) {
- return find(this.transfomers, (transformer) => transformer.isApplicable(v));
- }
- findByName(name) {
- return this.transfomers[name];
- }
- };
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js
- init_cjs_shims();
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js
- init_cjs_shims();
- var getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1);
- var isUndefined = (payload) => typeof payload === "undefined";
- var isNull = (payload) => payload === null;
- var isPlainObject2 = (payload) => {
- if (typeof payload !== "object" || payload === null)
- return false;
- if (payload === Object.prototype)
- return false;
- if (Object.getPrototypeOf(payload) === null)
- return true;
- return Object.getPrototypeOf(payload) === Object.prototype;
- };
- var isEmptyObject = (payload) => isPlainObject2(payload) && Object.keys(payload).length === 0;
- var isArray = (payload) => Array.isArray(payload);
- var isString = (payload) => typeof payload === "string";
- var isNumber = (payload) => typeof payload === "number" && !isNaN(payload);
- var isBoolean = (payload) => typeof payload === "boolean";
- var isRegExp = (payload) => payload instanceof RegExp;
- var isMap = (payload) => payload instanceof Map;
- var isSet = (payload) => payload instanceof Set;
- var isSymbol = (payload) => getType(payload) === "Symbol";
- var isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());
- var isError = (payload) => payload instanceof Error;
- var isNaNValue = (payload) => typeof payload === "number" && isNaN(payload);
- var isPrimitive2 = (payload) => isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);
- var isBigint = (payload) => typeof payload === "bigint";
- var isInfinite = (payload) => payload === Infinity || payload === -Infinity;
- var isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);
- var isURL = (payload) => payload instanceof URL;
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js
- init_cjs_shims();
- var escapeKey = (key) => key.replace(/\./g, "\\.");
- var stringifyPath = (path) => path.map(String).map(escapeKey).join(".");
- var parsePath = (string) => {
- const result = [];
- let segment = "";
- for (let i = 0; i < string.length; i++) {
- let char = string.charAt(i);
- const isEscapedDot = char === "\\" && string.charAt(i + 1) === ".";
- if (isEscapedDot) {
- segment += ".";
- i++;
- continue;
- }
- const isEndOfSegment = char === ".";
- if (isEndOfSegment) {
- result.push(segment);
- segment = "";
- continue;
- }
- segment += char;
- }
- const lastSegment = segment;
- result.push(lastSegment);
- return result;
- };
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js
- init_cjs_shims();
- function simpleTransformation(isApplicable, annotation, transform, untransform) {
- return {
- isApplicable,
- annotation,
- transform,
- untransform
- };
- }
- var simpleRules = [
- simpleTransformation(isUndefined, "undefined", () => null, () => void 0),
- simpleTransformation(isBigint, "bigint", (v) => v.toString(), (v) => {
- if (typeof BigInt !== "undefined") {
- return BigInt(v);
- }
- console.error("Please add a BigInt polyfill.");
- return v;
- }),
- simpleTransformation(isDate, "Date", (v) => v.toISOString(), (v) => new Date(v)),
- simpleTransformation(isError, "Error", (v, superJson) => {
- const baseError = {
- name: v.name,
- message: v.message
- };
- superJson.allowedErrorProps.forEach((prop) => {
- baseError[prop] = v[prop];
- });
- return baseError;
- }, (v, superJson) => {
- const e = new Error(v.message);
- e.name = v.name;
- e.stack = v.stack;
- superJson.allowedErrorProps.forEach((prop) => {
- e[prop] = v[prop];
- });
- return e;
- }),
- simpleTransformation(isRegExp, "regexp", (v) => "" + v, (regex) => {
- const body = regex.slice(1, regex.lastIndexOf("/"));
- const flags = regex.slice(regex.lastIndexOf("/") + 1);
- return new RegExp(body, flags);
- }),
- simpleTransformation(
- isSet,
- "set",
- // (sets only exist in es6+)
- // eslint-disable-next-line es5/no-es6-methods
- (v) => [...v.values()],
- (v) => new Set(v)
- ),
- simpleTransformation(isMap, "map", (v) => [...v.entries()], (v) => new Map(v)),
- simpleTransformation((v) => isNaNValue(v) || isInfinite(v), "number", (v) => {
- if (isNaNValue(v)) {
- return "NaN";
- }
- if (v > 0) {
- return "Infinity";
- } else {
- return "-Infinity";
- }
- }, Number),
- simpleTransformation((v) => v === 0 && 1 / v === -Infinity, "number", () => {
- return "-0";
- }, Number),
- simpleTransformation(isURL, "URL", (v) => v.toString(), (v) => new URL(v))
- ];
- function compositeTransformation(isApplicable, annotation, transform, untransform) {
- return {
- isApplicable,
- annotation,
- transform,
- untransform
- };
- }
- var symbolRule = compositeTransformation((s, superJson) => {
- if (isSymbol(s)) {
- const isRegistered = !!superJson.symbolRegistry.getIdentifier(s);
- return isRegistered;
- }
- return false;
- }, (s, superJson) => {
- const identifier = superJson.symbolRegistry.getIdentifier(s);
- return ["symbol", identifier];
- }, (v) => v.description, (_, a, superJson) => {
- const value = superJson.symbolRegistry.getValue(a[1]);
- if (!value) {
- throw new Error("Trying to deserialize unknown symbol");
- }
- return value;
- });
- var constructorToName = [
- Int8Array,
- Uint8Array,
- Int16Array,
- Uint16Array,
- Int32Array,
- Uint32Array,
- Float32Array,
- Float64Array,
- Uint8ClampedArray
- ].reduce((obj, ctor) => {
- obj[ctor.name] = ctor;
- return obj;
- }, {});
- var typedArrayRule = compositeTransformation(isTypedArray, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a) => {
- const ctor = constructorToName[a[1]];
- if (!ctor) {
- throw new Error("Trying to deserialize unknown typed array");
- }
- return new ctor(v);
- });
- function isInstanceOfRegisteredClass(potentialClass, superJson) {
- if (potentialClass == null ? void 0 : potentialClass.constructor) {
- const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor);
- return isRegistered;
- }
- return false;
- }
- var classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {
- const identifier = superJson.classRegistry.getIdentifier(clazz.constructor);
- return ["class", identifier];
- }, (clazz, superJson) => {
- const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);
- if (!allowedProps) {
- return { ...clazz };
- }
- const result = {};
- allowedProps.forEach((prop) => {
- result[prop] = clazz[prop];
- });
- return result;
- }, (v, a, superJson) => {
- const clazz = superJson.classRegistry.getValue(a[1]);
- if (!clazz) {
- throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);
- }
- return Object.assign(Object.create(clazz.prototype), v);
- });
- var customRule = compositeTransformation((value, superJson) => {
- return !!superJson.customTransformerRegistry.findApplicable(value);
- }, (value, superJson) => {
- const transformer = superJson.customTransformerRegistry.findApplicable(value);
- return ["custom", transformer.name];
- }, (value, superJson) => {
- const transformer = superJson.customTransformerRegistry.findApplicable(value);
- return transformer.serialize(value);
- }, (v, a, superJson) => {
- const transformer = superJson.customTransformerRegistry.findByName(a[1]);
- if (!transformer) {
- throw new Error("Trying to deserialize unknown custom value");
- }
- return transformer.deserialize(v);
- });
- var compositeRules = [classRule, symbolRule, customRule, typedArrayRule];
- var transformValue = (value, superJson) => {
- const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson));
- if (applicableCompositeRule) {
- return {
- value: applicableCompositeRule.transform(value, superJson),
- type: applicableCompositeRule.annotation(value, superJson)
- };
- }
- const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson));
- if (applicableSimpleRule) {
- return {
- value: applicableSimpleRule.transform(value, superJson),
- type: applicableSimpleRule.annotation
- };
- }
- return void 0;
- };
- var simpleRulesByAnnotation = {};
- simpleRules.forEach((rule) => {
- simpleRulesByAnnotation[rule.annotation] = rule;
- });
- var untransformValue = (json, type, superJson) => {
- if (isArray(type)) {
- switch (type[0]) {
- case "symbol":
- return symbolRule.untransform(json, type, superJson);
- case "class":
- return classRule.untransform(json, type, superJson);
- case "custom":
- return customRule.untransform(json, type, superJson);
- case "typed-array":
- return typedArrayRule.untransform(json, type, superJson);
- default:
- throw new Error("Unknown transformation: " + type);
- }
- } else {
- const transformation = simpleRulesByAnnotation[type];
- if (!transformation) {
- throw new Error("Unknown transformation: " + type);
- }
- return transformation.untransform(json, superJson);
- }
- };
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js
- init_cjs_shims();
- var getNthKey = (value, n) => {
- if (n > value.size)
- throw new Error("index out of bounds");
- const keys = value.keys();
- while (n > 0) {
- keys.next();
- n--;
- }
- return keys.next().value;
- };
- function validatePath(path) {
- if (includes(path, "__proto__")) {
- throw new Error("__proto__ is not allowed as a property");
- }
- if (includes(path, "prototype")) {
- throw new Error("prototype is not allowed as a property");
- }
- if (includes(path, "constructor")) {
- throw new Error("constructor is not allowed as a property");
- }
- }
- var getDeep = (object, path) => {
- validatePath(path);
- for (let i = 0; i < path.length; i++) {
- const key = path[i];
- if (isSet(object)) {
- object = getNthKey(object, +key);
- } else if (isMap(object)) {
- const row = +key;
- const type = +path[++i] === 0 ? "key" : "value";
- const keyOfRow = getNthKey(object, row);
- switch (type) {
- case "key":
- object = keyOfRow;
- break;
- case "value":
- object = object.get(keyOfRow);
- break;
- }
- } else {
- object = object[key];
- }
- }
- return object;
- };
- var setDeep = (object, path, mapper) => {
- validatePath(path);
- if (path.length === 0) {
- return mapper(object);
- }
- let parent = object;
- for (let i = 0; i < path.length - 1; i++) {
- const key = path[i];
- if (isArray(parent)) {
- const index = +key;
- parent = parent[index];
- } else if (isPlainObject2(parent)) {
- parent = parent[key];
- } else if (isSet(parent)) {
- const row = +key;
- parent = getNthKey(parent, row);
- } else if (isMap(parent)) {
- const isEnd = i === path.length - 2;
- if (isEnd) {
- break;
- }
- const row = +key;
- const type = +path[++i] === 0 ? "key" : "value";
- const keyOfRow = getNthKey(parent, row);
- switch (type) {
- case "key":
- parent = keyOfRow;
- break;
- case "value":
- parent = parent.get(keyOfRow);
- break;
- }
- }
- }
- const lastKey = path[path.length - 1];
- if (isArray(parent)) {
- parent[+lastKey] = mapper(parent[+lastKey]);
- } else if (isPlainObject2(parent)) {
- parent[lastKey] = mapper(parent[lastKey]);
- }
- if (isSet(parent)) {
- const oldValue = getNthKey(parent, +lastKey);
- const newValue = mapper(oldValue);
- if (oldValue !== newValue) {
- parent.delete(oldValue);
- parent.add(newValue);
- }
- }
- if (isMap(parent)) {
- const row = +path[path.length - 2];
- const keyToRow = getNthKey(parent, row);
- const type = +lastKey === 0 ? "key" : "value";
- switch (type) {
- case "key": {
- const newKey = mapper(keyToRow);
- parent.set(newKey, parent.get(keyToRow));
- if (newKey !== keyToRow) {
- parent.delete(keyToRow);
- }
- break;
- }
- case "value": {
- parent.set(keyToRow, mapper(parent.get(keyToRow)));
- break;
- }
- }
- }
- return object;
- };
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js
- function traverse(tree, walker2, origin = []) {
- if (!tree) {
- return;
- }
- if (!isArray(tree)) {
- forEach(tree, (subtree, key) => traverse(subtree, walker2, [...origin, ...parsePath(key)]));
- return;
- }
- const [nodeValue, children] = tree;
- if (children) {
- forEach(children, (child, key) => {
- traverse(child, walker2, [...origin, ...parsePath(key)]);
- });
- }
- walker2(nodeValue, origin);
- }
- function applyValueAnnotations(plain, annotations, superJson) {
- traverse(annotations, (type, path) => {
- plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson));
- });
- return plain;
- }
- function applyReferentialEqualityAnnotations(plain, annotations) {
- function apply(identicalPaths, path) {
- const object = getDeep(plain, parsePath(path));
- identicalPaths.map(parsePath).forEach((identicalObjectPath) => {
- plain = setDeep(plain, identicalObjectPath, () => object);
- });
- }
- if (isArray(annotations)) {
- const [root, other] = annotations;
- root.forEach((identicalPath) => {
- plain = setDeep(plain, parsePath(identicalPath), () => plain);
- });
- if (other) {
- forEach(other, apply);
- }
- } else {
- forEach(annotations, apply);
- }
- return plain;
- }
- var isDeep = (object, superJson) => isPlainObject2(object) || isArray(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);
- function addIdentity(object, path, identities) {
- const existingSet = identities.get(object);
- if (existingSet) {
- existingSet.push(path);
- } else {
- identities.set(object, [path]);
- }
- }
- function generateReferentialEqualityAnnotations(identitites, dedupe) {
- const result = {};
- let rootEqualityPaths = void 0;
- identitites.forEach((paths) => {
- if (paths.length <= 1) {
- return;
- }
- if (!dedupe) {
- paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length);
- }
- const [representativePath, ...identicalPaths] = paths;
- if (representativePath.length === 0) {
- rootEqualityPaths = identicalPaths.map(stringifyPath);
- } else {
- result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);
- }
- });
- if (rootEqualityPaths) {
- if (isEmptyObject(result)) {
- return [rootEqualityPaths];
- } else {
- return [rootEqualityPaths, result];
- }
- } else {
- return isEmptyObject(result) ? void 0 : result;
- }
- }
- var walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => {
- var _a25;
- const primitive = isPrimitive2(object);
- if (!primitive) {
- addIdentity(object, path, identities);
- const seen = seenObjects.get(object);
- if (seen) {
- return dedupe ? {
- transformedValue: null
- } : seen;
- }
- }
- if (!isDeep(object, superJson)) {
- const transformed2 = transformValue(object, superJson);
- const result2 = transformed2 ? {
- transformedValue: transformed2.value,
- annotations: [transformed2.type]
- } : {
- transformedValue: object
- };
- if (!primitive) {
- seenObjects.set(object, result2);
- }
- return result2;
- }
- if (includes(objectsInThisPath, object)) {
- return {
- transformedValue: null
- };
- }
- const transformationResult = transformValue(object, superJson);
- const transformed = (_a25 = transformationResult == null ? void 0 : transformationResult.value) != null ? _a25 : object;
- const transformedValue = isArray(transformed) ? [] : {};
- const innerAnnotations = {};
- forEach(transformed, (value, index) => {
- if (index === "__proto__" || index === "constructor" || index === "prototype") {
- throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);
- }
- const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);
- transformedValue[index] = recursiveResult.transformedValue;
- if (isArray(recursiveResult.annotations)) {
- innerAnnotations[index] = recursiveResult.annotations;
- } else if (isPlainObject2(recursiveResult.annotations)) {
- forEach(recursiveResult.annotations, (tree, key) => {
- innerAnnotations[escapeKey(index) + "." + key] = tree;
- });
- }
- });
- const result = isEmptyObject(innerAnnotations) ? {
- transformedValue,
- annotations: !!transformationResult ? [transformationResult.type] : void 0
- } : {
- transformedValue,
- annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations
- };
- if (!primitive) {
- seenObjects.set(object, result);
- }
- return result;
- };
- // ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js
- init_cjs_shims();
- // ../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js
- init_cjs_shims();
- function getType2(payload) {
- return Object.prototype.toString.call(payload).slice(8, -1);
- }
- function isArray2(payload) {
- return getType2(payload) === "Array";
- }
- function isPlainObject3(payload) {
- if (getType2(payload) !== "Object")
- return false;
- const prototype = Object.getPrototypeOf(payload);
- return !!prototype && prototype.constructor === Object && prototype === Object.prototype;
- }
- function isNull2(payload) {
- return getType2(payload) === "Null";
- }
- function isOneOf(a, b, c, d, e) {
- return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);
- }
- function isUndefined2(payload) {
- return getType2(payload) === "Undefined";
- }
- var isNullOrUndefined = isOneOf(isNull2, isUndefined2);
- // ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js
- function assignProp(carry, key, newVal, originalObject, includeNonenumerable) {
- const propType = {}.propertyIsEnumerable.call(originalObject, key) ? "enumerable" : "nonenumerable";
- if (propType === "enumerable")
- carry[key] = newVal;
- if (includeNonenumerable && propType === "nonenumerable") {
- Object.defineProperty(carry, key, {
- value: newVal,
- enumerable: false,
- writable: true,
- configurable: true
- });
- }
- }
- function copy(target22, options = {}) {
- if (isArray2(target22)) {
- return target22.map((item) => copy(item, options));
- }
- if (!isPlainObject3(target22)) {
- return target22;
- }
- const props = Object.getOwnPropertyNames(target22);
- const symbols = Object.getOwnPropertySymbols(target22);
- return [...props, ...symbols].reduce((carry, key) => {
- if (isArray2(options.props) && !options.props.includes(key)) {
- return carry;
- }
- const val = target22[key];
- const newVal = copy(val, options);
- assignProp(carry, key, newVal, target22, options.nonenumerable);
- return carry;
- }, {});
- }
- // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js
- var SuperJSON = class {
- /**
- * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.
- */
- constructor({ dedupe = false } = {}) {
- this.classRegistry = new ClassRegistry();
- this.symbolRegistry = new Registry((s) => {
- var _a25;
- return (_a25 = s.description) != null ? _a25 : "";
- });
- this.customTransformerRegistry = new CustomTransformerRegistry();
- this.allowedErrorProps = [];
- this.dedupe = dedupe;
- }
- serialize(object) {
- const identities = /* @__PURE__ */ new Map();
- const output = walker(object, identities, this, this.dedupe);
- const res = {
- json: output.transformedValue
- };
- if (output.annotations) {
- res.meta = {
- ...res.meta,
- values: output.annotations
- };
- }
- const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);
- if (equalityAnnotations) {
- res.meta = {
- ...res.meta,
- referentialEqualities: equalityAnnotations
- };
- }
- return res;
- }
- deserialize(payload) {
- const { json, meta } = payload;
- let result = copy(json);
- if (meta == null ? void 0 : meta.values) {
- result = applyValueAnnotations(result, meta.values, this);
- }
- if (meta == null ? void 0 : meta.referentialEqualities) {
- result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities);
- }
- return result;
- }
- stringify(object) {
- return JSON.stringify(this.serialize(object));
- }
- parse(string) {
- return this.deserialize(JSON.parse(string));
- }
- registerClass(v, options) {
- this.classRegistry.register(v, options);
- }
- registerSymbol(v, identifier) {
- this.symbolRegistry.register(v, identifier);
- }
- registerCustom(transformer, name) {
- this.customTransformerRegistry.register({
- name,
- ...transformer
- });
- }
- allowErrorProps(...props) {
- this.allowedErrorProps.push(...props);
- }
- };
- SuperJSON.defaultInstance = new SuperJSON();
- SuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);
- SuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);
- SuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);
- SuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);
- SuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);
- SuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);
- SuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);
- SuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);
- var serialize = SuperJSON.serialize;
- var deserialize = SuperJSON.deserialize;
- var stringify = SuperJSON.stringify;
- var parse = SuperJSON.parse;
- var registerClass = SuperJSON.registerClass;
- var registerCustom = SuperJSON.registerCustom;
- var registerSymbol = SuperJSON.registerSymbol;
- var allowErrorProps = SuperJSON.allowErrorProps;
- // src/messaging/presets/broadcast-channel/context.ts
- init_cjs_shims();
- var __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY = "__devtools-kit-broadcast-messaging-event-key__";
- // src/messaging/presets/broadcast-channel/index.ts
- var BROADCAST_CHANNEL_NAME = "__devtools-kit:broadcast-channel__";
- function createBroadcastChannel() {
- const channel = new BroadcastChannel(BROADCAST_CHANNEL_NAME);
- return {
- post: (data) => {
- channel.postMessage(SuperJSON.stringify({
- event: __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY,
- data
- }));
- },
- on: (handler) => {
- channel.onmessage = (event) => {
- const parsed = SuperJSON.parse(event.data);
- if (parsed.event === __DEVTOOLS_KIT_BROADCAST_MESSAGING_EVENT_KEY) {
- handler(parsed.data);
- }
- };
- }
- };
- }
- // src/messaging/presets/electron/index.ts
- init_cjs_shims();
- // src/messaging/presets/electron/client.ts
- init_cjs_shims();
- // src/messaging/presets/electron/context.ts
- init_cjs_shims();
- var import_devtools_shared24 = require("@vue/devtools-shared");
- var __ELECTRON_CLIENT_CONTEXT__ = "electron:client-context";
- var __ELECTRON_RPOXY_CONTEXT__ = "electron:proxy-context";
- var __ELECTRON_SERVER_CONTEXT__ = "electron:server-context";
- var __DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__ = {
- // client
- CLIENT_TO_PROXY: "client->proxy",
- // on: proxy->client
- // proxy
- PROXY_TO_CLIENT: "proxy->client",
- // on: server->proxy
- PROXY_TO_SERVER: "proxy->server",
- // on: client->proxy
- // server
- SERVER_TO_PROXY: "server->proxy"
- // on: proxy->server
- };
- function getElectronClientContext() {
- return import_devtools_shared24.target[__ELECTRON_CLIENT_CONTEXT__];
- }
- function setElectronClientContext(context) {
- import_devtools_shared24.target[__ELECTRON_CLIENT_CONTEXT__] = context;
- }
- function getElectronProxyContext() {
- return import_devtools_shared24.target[__ELECTRON_RPOXY_CONTEXT__];
- }
- function setElectronProxyContext(context) {
- import_devtools_shared24.target[__ELECTRON_RPOXY_CONTEXT__] = context;
- }
- function getElectronServerContext() {
- return import_devtools_shared24.target[__ELECTRON_SERVER_CONTEXT__];
- }
- function setElectronServerContext(context) {
- import_devtools_shared24.target[__ELECTRON_SERVER_CONTEXT__] = context;
- }
- // src/messaging/presets/electron/client.ts
- function createElectronClientChannel() {
- const socket = getElectronClientContext();
- return {
- post: (data) => {
- socket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, SuperJSON.stringify(data));
- },
- on: (handler) => {
- socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, (e) => {
- handler(SuperJSON.parse(e));
- });
- }
- };
- }
- // src/messaging/presets/electron/proxy.ts
- init_cjs_shims();
- function createElectronProxyChannel() {
- const socket = getElectronProxyContext();
- return {
- post: (data) => {
- },
- on: (handler) => {
- socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, (data) => {
- socket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_CLIENT, data);
- });
- socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.CLIENT_TO_PROXY, (data) => {
- socket.broadcast.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, data);
- });
- }
- };
- }
- // src/messaging/presets/electron/server.ts
- init_cjs_shims();
- function createElectronServerChannel() {
- const socket = getElectronServerContext();
- return {
- post: (data) => {
- socket.emit(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY, SuperJSON.stringify(data));
- },
- on: (handler) => {
- socket.on(__DEVTOOLS_KIT_ELECTRON_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER, (data) => {
- handler(SuperJSON.parse(data));
- });
- }
- };
- }
- // src/messaging/presets/extension/index.ts
- init_cjs_shims();
- // src/messaging/presets/extension/client.ts
- init_cjs_shims();
- // src/messaging/presets/extension/context.ts
- init_cjs_shims();
- var import_devtools_shared25 = require("@vue/devtools-shared");
- var __EXTENSION_CLIENT_CONTEXT__ = "electron:client-context";
- var __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__ = {
- // client
- CLIENT_TO_PROXY: "client->proxy",
- // on: proxy->client
- // proxy
- PROXY_TO_CLIENT: "proxy->client",
- // on: server->proxy
- PROXY_TO_SERVER: "proxy->server",
- // on: client->proxy
- // server
- SERVER_TO_PROXY: "server->proxy"
- // on: proxy->server
- };
- function getExtensionClientContext() {
- return import_devtools_shared25.target[__EXTENSION_CLIENT_CONTEXT__];
- }
- function setExtensionClientContext(context) {
- import_devtools_shared25.target[__EXTENSION_CLIENT_CONTEXT__] = context;
- }
- // src/messaging/presets/extension/client.ts
- function createExtensionClientChannel() {
- let disconnected = false;
- let port = null;
- let reconnectTimer = null;
- let onMessageHandler = null;
- function connect() {
- try {
- clearTimeout(reconnectTimer);
- port = chrome.runtime.connect({
- name: `${chrome.devtools.inspectedWindow.tabId}`
- });
- setExtensionClientContext(port);
- disconnected = false;
- port == null ? void 0 : port.onMessage.addListener(onMessageHandler);
- port.onDisconnect.addListener(() => {
- disconnected = true;
- port == null ? void 0 : port.onMessage.removeListener(onMessageHandler);
- reconnectTimer = setTimeout(connect, 1e3);
- });
- } catch (e) {
- disconnected = true;
- }
- }
- connect();
- return {
- post: (data) => {
- if (disconnected) {
- return;
- }
- port == null ? void 0 : port.postMessage(SuperJSON.stringify(data));
- },
- on: (handler) => {
- onMessageHandler = (data) => {
- if (disconnected) {
- return;
- }
- handler(SuperJSON.parse(data));
- };
- port == null ? void 0 : port.onMessage.addListener(onMessageHandler);
- }
- };
- }
- // src/messaging/presets/extension/proxy.ts
- init_cjs_shims();
- function createExtensionProxyChannel() {
- const port = chrome.runtime.connect({
- name: "content-script"
- });
- function sendMessageToUserApp(payload) {
- window.postMessage({
- source: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER,
- payload
- }, "*");
- }
- function sendMessageToDevToolsClient(e) {
- if (e.data && e.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY) {
- try {
- port.postMessage(e.data.payload);
- } catch (e2) {
- }
- }
- }
- port.onMessage.addListener(sendMessageToUserApp);
- window.addEventListener("message", sendMessageToDevToolsClient);
- port.onDisconnect.addListener(() => {
- window.removeEventListener("message", sendMessageToDevToolsClient);
- sendMessageToUserApp(SuperJSON.stringify({
- event: "shutdown"
- }));
- });
- sendMessageToUserApp(SuperJSON.stringify({
- event: "init"
- }));
- return {
- post: (data) => {
- },
- on: (handler) => {
- }
- };
- }
- // src/messaging/presets/extension/server.ts
- init_cjs_shims();
- function createExtensionServerChannel() {
- return {
- post: (data) => {
- window.postMessage({
- source: __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.SERVER_TO_PROXY,
- payload: SuperJSON.stringify(data)
- }, "*");
- },
- on: (handler) => {
- const listener = (event) => {
- if (event.data.source === __DEVTOOLS_KIT_EXTENSION_MESSAGING_EVENT_KEY__.PROXY_TO_SERVER && event.data.payload) {
- handler(SuperJSON.parse(event.data.payload));
- }
- };
- window.addEventListener("message", listener);
- return () => {
- window.removeEventListener("message", listener);
- };
- }
- };
- }
- // src/messaging/presets/iframe/index.ts
- init_cjs_shims();
- // src/messaging/presets/iframe/client.ts
- init_cjs_shims();
- var import_devtools_shared27 = require("@vue/devtools-shared");
- // src/messaging/presets/iframe/context.ts
- init_cjs_shims();
- var import_devtools_shared26 = require("@vue/devtools-shared");
- var __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY = "__devtools-kit-iframe-messaging-event-key__";
- var __IFRAME_SERVER_CONTEXT__ = "iframe:server-context";
- function getIframeServerContext() {
- return import_devtools_shared26.target[__IFRAME_SERVER_CONTEXT__];
- }
- function setIframeServerContext(context) {
- import_devtools_shared26.target[__IFRAME_SERVER_CONTEXT__] = context;
- }
- // src/messaging/presets/iframe/client.ts
- function createIframeClientChannel() {
- if (!import_devtools_shared27.isBrowser) {
- return {
- post: (data) => {
- },
- on: (handler) => {
- }
- };
- }
- return {
- post: (data) => window.parent.postMessage(SuperJSON.stringify({
- event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,
- data
- }), "*"),
- on: (handler) => window.addEventListener("message", (event) => {
- try {
- const parsed = SuperJSON.parse(event.data);
- if (event.source === window.parent && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) {
- handler(parsed.data);
- }
- } catch (e) {
- }
- })
- };
- }
- // src/messaging/presets/iframe/server.ts
- init_cjs_shims();
- var import_devtools_shared28 = require("@vue/devtools-shared");
- function createIframeServerChannel() {
- if (!import_devtools_shared28.isBrowser) {
- return {
- post: (data) => {
- },
- on: (handler) => {
- }
- };
- }
- return {
- post: (data) => {
- var _a25;
- const iframe = getIframeServerContext();
- (_a25 = iframe == null ? void 0 : iframe.contentWindow) == null ? void 0 : _a25.postMessage(SuperJSON.stringify({
- event: __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY,
- data
- }), "*");
- },
- on: (handler) => {
- window.addEventListener("message", (event) => {
- const iframe = getIframeServerContext();
- try {
- const parsed = SuperJSON.parse(event.data);
- if (event.source === (iframe == null ? void 0 : iframe.contentWindow) && parsed.event === __DEVTOOLS_KIT_IFRAME_MESSAGING_EVENT_KEY) {
- handler(parsed.data);
- }
- } catch (e) {
- }
- });
- }
- };
- }
- // src/messaging/presets/vite/index.ts
- init_cjs_shims();
- // src/messaging/presets/vite/client.ts
- init_cjs_shims();
- // src/messaging/presets/vite/context.ts
- init_cjs_shims();
- var import_devtools_shared29 = require("@vue/devtools-shared");
- var __DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY = "__devtools-kit-vite-messaging-event-key__";
- var __VITE_CLIENT_CONTEXT__ = "vite:client-context";
- var __VITE_SERVER_CONTEXT__ = "vite:server-context";
- function getViteClientContext() {
- return import_devtools_shared29.target[__VITE_CLIENT_CONTEXT__];
- }
- function setViteClientContext(context) {
- import_devtools_shared29.target[__VITE_CLIENT_CONTEXT__] = context;
- }
- function getViteServerContext() {
- return import_devtools_shared29.target[__VITE_SERVER_CONTEXT__];
- }
- function setViteServerContext(context) {
- import_devtools_shared29.target[__VITE_SERVER_CONTEXT__] = context;
- }
- // src/messaging/presets/vite/client.ts
- function createViteClientChannel() {
- const client = getViteClientContext();
- return {
- post: (data) => {
- client == null ? void 0 : client.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data));
- },
- on: (handler) => {
- client == null ? void 0 : client.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {
- handler(SuperJSON.parse(event));
- });
- }
- };
- }
- // src/messaging/presets/vite/server.ts
- init_cjs_shims();
- function createViteServerChannel() {
- var _a25;
- const viteServer = getViteServerContext();
- const ws = (_a25 = viteServer.hot) != null ? _a25 : viteServer.ws;
- return {
- post: (data) => ws == null ? void 0 : ws.send(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, SuperJSON.stringify(data)),
- on: (handler) => ws == null ? void 0 : ws.on(__DEVTOOLS_KIT_VITE_MESSAGING_EVENT_KEY, (event) => {
- handler(SuperJSON.parse(event));
- })
- };
- }
- // src/messaging/presets/ws/index.ts
- init_cjs_shims();
- // src/messaging/presets/ws/client.ts
- init_cjs_shims();
- // src/messaging/presets/ws/context.ts
- init_cjs_shims();
- var import_devtools_shared30 = require("@vue/devtools-shared");
- // src/messaging/presets/ws/server.ts
- init_cjs_shims();
- // src/messaging/index.ts
- var _a19, _b19;
- (_b19 = (_a19 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__) != null ? _b19 : _a19.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ = [];
- var _a20, _b20;
- (_b20 = (_a20 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_RPC_CLIENT__) != null ? _b20 : _a20.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = null;
- var _a21, _b21;
- (_b21 = (_a21 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_RPC_SERVER__) != null ? _b21 : _a21.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = null;
- var _a22, _b22;
- (_b22 = (_a22 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__) != null ? _b22 : _a22.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = null;
- var _a23, _b23;
- (_b23 = (_a23 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__) != null ? _b23 : _a23.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = null;
- var _a24, _b24;
- (_b24 = (_a24 = import_devtools_shared31.target).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__) != null ? _b24 : _a24.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ = null;
- function setRpcClientToGlobal(rpc) {
- import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ = rpc;
- }
- function setRpcServerToGlobal(rpc) {
- import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_RPC_SERVER__ = rpc;
- }
- function getRpcClient() {
- return import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__;
- }
- function getRpcServer() {
- return import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_RPC_SERVER__;
- }
- function setViteRpcClientToGlobal(rpc) {
- import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ = rpc;
- }
- function setViteRpcServerToGlobal(rpc) {
- import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ = rpc;
- }
- function getViteRpcClient() {
- return import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__;
- }
- function getViteRpcServer() {
- return import_devtools_shared31.target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__;
- }
- function getChannel(preset, host = "client") {
- const channel = {
- iframe: {
- client: createIframeClientChannel,
- server: createIframeServerChannel
- }[host],
- electron: {
- client: createElectronClientChannel,
- proxy: createElectronProxyChannel,
- server: createElectronServerChannel
- }[host],
- vite: {
- client: createViteClientChannel,
- server: createViteServerChannel
- }[host],
- broadcast: {
- client: createBroadcastChannel,
- server: createBroadcastChannel
- }[host],
- extension: {
- client: createExtensionClientChannel,
- proxy: createExtensionProxyChannel,
- server: createExtensionServerChannel
- }[host]
- }[preset];
- return channel();
- }
- function createRpcClient(functions, options = {}) {
- const { channel: _channel, options: _options, preset } = options;
- const channel = preset ? getChannel(preset) : _channel;
- const rpc = (0, import_birpc.createBirpc)(functions, {
- ..._options,
- ...channel,
- timeout: -1
- });
- if (preset === "vite") {
- setViteRpcClientToGlobal(rpc);
- return;
- }
- setRpcClientToGlobal(rpc);
- return rpc;
- }
- function createRpcServer(functions, options = {}) {
- const { channel: _channel, options: _options, preset } = options;
- const channel = preset ? getChannel(preset, "server") : _channel;
- const rpcServer = getRpcServer();
- if (!rpcServer) {
- const group = (0, import_birpc.createBirpcGroup)(functions, [channel], {
- ..._options,
- timeout: -1
- });
- if (preset === "vite") {
- setViteRpcServerToGlobal(group);
- return;
- }
- setRpcServerToGlobal(group);
- } else {
- rpcServer.updateChannels((channels) => {
- channels.push(channel);
- });
- }
- }
- function createRpcProxy(options = {}) {
- const { channel: _channel, options: _options, preset } = options;
- const channel = preset ? getChannel(preset, "proxy") : _channel;
- return (0, import_birpc.createBirpc)({}, {
- ..._options,
- ...channel,
- timeout: -1
- });
- }
- // src/shared/index.ts
- init_cjs_shims();
- // src/shared/env.ts
- init_cjs_shims();
- // src/shared/time.ts
- init_cjs_shims();
- // src/shared/util.ts
- init_cjs_shims();
- // src/core/component/state/replacer.ts
- init_cjs_shims();
- // src/core/component/state/custom.ts
- init_cjs_shims();
- function getFunctionDetails(func) {
- let string = "";
- let matches = null;
- try {
- string = Function.prototype.toString.call(func);
- matches = String.prototype.match.call(string, /\([\s\S]*?\)/);
- } catch (e) {
- }
- const match = matches && matches[0];
- const args = typeof match === "string" ? match : "(?)";
- const name = typeof func.name === "string" ? func.name : "";
- return {
- _custom: {
- type: "function",
- displayText: `<span style="opacity:.8;margin-right:5px;">function</span> <span style="white-space:nowrap;">${escape(name)}${args}</span>`,
- tooltipText: string.trim() ? `<pre>${string}</pre>` : null
- }
- };
- }
- function getBigIntDetails(val) {
- const stringifiedBigInt = BigInt.prototype.toString.call(val);
- return {
- _custom: {
- type: "bigint",
- displayText: `BigInt(${stringifiedBigInt})`,
- value: stringifiedBigInt
- }
- };
- }
- function getDateDetails(val) {
- const date = new Date(val.getTime());
- date.setMinutes(date.getMinutes() - date.getTimezoneOffset());
- return {
- _custom: {
- type: "date",
- displayText: Date.prototype.toString.call(val),
- value: date.toISOString().slice(0, -1)
- }
- };
- }
- function getMapDetails(val) {
- const list = Object.fromEntries(val);
- return {
- _custom: {
- type: "map",
- displayText: "Map",
- value: list,
- readOnly: true,
- fields: {
- abstract: true
- }
- }
- };
- }
- function getSetDetails(val) {
- const list = Array.from(val);
- return {
- _custom: {
- type: "set",
- displayText: `Set[${list.length}]`,
- value: list,
- readOnly: true
- }
- };
- }
- function getCaughtGetters(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;
- }
- function reduceStateList(list) {
- if (!list.length)
- return void 0;
- return list.reduce((map, item) => {
- const key = item.type || "data";
- const obj = map[key] = map[key] || {};
- obj[item.key] = item.value;
- return map;
- }, {});
- }
- 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 getStoreDetails(store) {
- return {
- _custom: {
- type: "store",
- displayText: "Store",
- value: {
- state: store.state,
- getters: getCaughtGetters(store)
- },
- fields: {
- abstract: true
- }
- }
- };
- }
- function getRouterDetails(router) {
- return {
- _custom: {
- type: "router",
- displayText: "VueRouter",
- value: {
- options: router.options,
- currentRoute: router.currentRoute
- },
- fields: {
- abstract: true
- }
- }
- };
- }
- function getInstanceDetails(instance) {
- if (instance._)
- instance = instance._;
- const state = processInstanceState(instance);
- return {
- _custom: {
- type: "component",
- id: instance.__VUE_DEVTOOLS_NEXT_UID__,
- displayText: getInstanceName(instance),
- tooltipText: "Component instance",
- value: reduceStateList(state),
- fields: {
- abstract: true
- }
- }
- };
- }
- function getComponentDefinitionDetails(definition) {
- let display = getComponentName(definition);
- if (display) {
- if (definition.name && definition.__file)
- display += ` <span>(${definition.__file})</span>`;
- } else {
- display = "<i>Unknown Component</i>";
- }
- return {
- _custom: {
- type: "component-definition",
- displayText: display,
- tooltipText: "Component definition",
- ...definition.__file ? {
- file: definition.__file
- } : {}
- }
- };
- }
- function getHTMLElementDetails(value) {
- try {
- return {
- _custom: {
- type: "HTMLElement",
- displayText: `<span class="opacity-30"><</span><span class="text-blue-500">${value.tagName.toLowerCase()}</span><span class="opacity-30">></span>`,
- value: namedNodeMapToObject(value.attributes)
- }
- };
- } catch (e) {
- return {
- _custom: {
- type: "HTMLElement",
- displayText: `<span class="text-blue-500">${String(value)}</span>`
- }
- };
- }
- }
- function tryGetRefValue(ref) {
- if (ensurePropertyExists(ref, "_value", true)) {
- return ref._value;
- }
- if (ensurePropertyExists(ref, "value", true)) {
- return ref.value;
- }
- }
- function getObjectDetails(object) {
- var _a25, _b25, _c, _d;
- const info = getSetupStateType(object);
- const isState = info.ref || info.computed || info.reactive;
- if (isState) {
- const stateTypeName = info.computed ? "Computed" : info.ref ? "Ref" : info.reactive ? "Reactive" : null;
- const value = toRaw2(info.reactive ? object : tryGetRefValue(object));
- const raw = ensurePropertyExists(object, "effect") ? ((_b25 = (_a25 = object.effect) == null ? void 0 : _a25.raw) == null ? void 0 : _b25.toString()) || ((_d = (_c = object.effect) == null ? void 0 : _c.fn) == null ? void 0 : _d.toString()) : null;
- return {
- _custom: {
- type: stateTypeName == null ? void 0 : stateTypeName.toLowerCase(),
- stateTypeName,
- value,
- ...raw ? { tooltipText: `<span class="font-mono">${raw}</span>` } : {}
- }
- };
- }
- if (ensurePropertyExists(object, "__asyncLoader") && typeof object.__asyncLoader === "function") {
- return {
- _custom: {
- type: "component-definition",
- display: "Async component definition"
- }
- };
- }
- }
- // src/core/component/state/replacer.ts
- function stringifyReplacer(key, _value, depth, seenInstance) {
- var _a25;
- if (key === "compilerOptions")
- return;
- const val = this[key];
- const type = typeof val;
- if (Array.isArray(val)) {
- const l = val.length;
- if (l > MAX_ARRAY_SIZE) {
- return {
- _isArray: true,
- length: l,
- items: val.slice(0, MAX_ARRAY_SIZE)
- };
- }
- return val;
- } else if (typeof val === "string") {
- if (val.length > MAX_STRING_SIZE)
- return `${val.substring(0, MAX_STRING_SIZE)}... (${val.length} total length)`;
- else
- return val;
- } else if (type === "undefined") {
- return UNDEFINED;
- } else if (val === Number.POSITIVE_INFINITY) {
- return INFINITY;
- } else if (val === Number.NEGATIVE_INFINITY) {
- return NEGATIVE_INFINITY;
- } else if (typeof val === "function") {
- return getFunctionDetails(val);
- } else if (type === "symbol") {
- return `[native Symbol ${Symbol.prototype.toString.call(val)}]`;
- } else if (typeof val === "bigint") {
- return getBigIntDetails(val);
- } else if (val !== null && typeof val === "object") {
- const proto = Object.prototype.toString.call(val);
- if (proto === "[object Map]") {
- return getMapDetails(val);
- } else if (proto === "[object Set]") {
- return getSetDetails(val);
- } else if (proto === "[object RegExp]") {
- return `[native RegExp ${RegExp.prototype.toString.call(val)}]`;
- } else if (proto === "[object Date]") {
- return getDateDetails(val);
- } else if (proto === "[object Error]") {
- return `[native Error ${val.message}<>${val.stack}]`;
- } else if (ensurePropertyExists(val, "state", true) && ensurePropertyExists(val, "_vm", true)) {
- return getStoreDetails(val);
- } else if (val.constructor && val.constructor.name === "VueRouter") {
- return getRouterDetails(val);
- } else if (isVueInstance(val)) {
- const componentVal = getInstanceDetails(val);
- const parentInstanceDepth = seenInstance == null ? void 0 : seenInstance.get(val);
- if (parentInstanceDepth && parentInstanceDepth < depth) {
- return `[[CircularRef]] <${componentVal._custom.displayText}>`;
- }
- seenInstance == null ? void 0 : seenInstance.set(val, depth);
- return componentVal;
- } else if (ensurePropertyExists(val, "render", true) && typeof val.render === "function") {
- return getComponentDefinitionDetails(val);
- } else if (val.constructor && val.constructor.name === "VNode") {
- return `[native VNode <${val.tag}>]`;
- } else if (typeof HTMLElement !== "undefined" && val instanceof HTMLElement) {
- return getHTMLElementDetails(val);
- } else if (((_a25 = val.constructor) == null ? void 0 : _a25.name) === "Store" && "_wrappedGetters" in val) {
- return "[object Store]";
- } else if (ensurePropertyExists(val, "currentRoute", true)) {
- return "[object Router]";
- }
- const customDetails = getObjectDetails(val);
- if (customDetails != null)
- return customDetails;
- } else if (Number.isNaN(val)) {
- return NAN;
- }
- return sanitize(val);
- }
- // src/shared/transfer.ts
- init_cjs_shims();
- var MAX_SERIALIZED_SIZE = 2 * 1024 * 1024;
- function isObject(_data, proto) {
- return proto === "[object Object]";
- }
- function isArray3(_data, proto) {
- return proto === "[object Array]";
- }
- function isVueReactiveLinkNode(node) {
- var _a25;
- const constructorName = (_a25 = node == null ? void 0 : node.constructor) == null ? void 0 : _a25.name;
- return constructorName === "Dep" && "activeLink" in node || constructorName === "Link" && "dep" in node;
- }
- function encode(data, replacer, list, seen, depth = 0, seenVueInstance = /* @__PURE__ */ new Map()) {
- let stored;
- let key;
- let value;
- let i;
- let l;
- const seenIndex = seen.get(data);
- if (seenIndex != null)
- return seenIndex;
- const index = list.length;
- const proto = Object.prototype.toString.call(data);
- if (isObject(data, proto)) {
- if (isVueReactiveLinkNode(data)) {
- return index;
- }
- 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];
- if (key === "compilerOptions")
- return index;
- value = data[key];
- const isVm = value != null && isObject(value, Object.prototype.toString.call(data)) && isVueInstance(value);
- try {
- if (replacer) {
- value = replacer.call(data, key, value, depth, seenVueInstance);
- }
- } catch (e) {
- value = e;
- }
- stored[key] = encode(value, replacer, list, seen, depth + 1, seenVueInstance);
- if (isVm) {
- seenVueInstance.delete(value);
- }
- }
- } else if (isArray3(data, proto)) {
- 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, depth, seenVueInstance);
- } catch (e) {
- value = e;
- }
- stored[i] = encode(value, replacer, list, seen, depth + 1, seenVueInstance);
- }
- } else {
- list.push(data);
- }
- return index;
- }
- function decode(list, reviver2 = null) {
- 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 (reviver2)
- value = reviver2.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 (reviver2)
- value = reviver2.call(data, j, value);
- data[j] = value;
- }
- }
- }
- }
- function stringifyCircularAutoChunks(data, replacer = null, space = null) {
- let result;
- try {
- result = arguments.length === 1 ? JSON.stringify(data) : JSON.stringify(data, (k, v) => {
- var _a25;
- return (_a25 = replacer == null ? void 0 : replacer(k, v)) == null ? void 0 : _a25.call(this);
- }, 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;
- }
- function stringifyStrictCircularAutoChunks(data, replacer = null, space = null) {
- const list = [];
- encode(data, replacer, list, /* @__PURE__ */ new Map());
- return space ? ` ${JSON.stringify(list, null, space)}` : ` ${JSON.stringify(list)}`;
- }
- function parseCircularAutoChunks(data, reviver2 = null) {
- if (Array.isArray(data))
- data = data.join("");
- const hasCircular = /^\s/.test(data);
- if (!hasCircular) {
- return arguments.length === 1 ? JSON.parse(data) : JSON.parse(data, reviver2);
- } else {
- const list = JSON.parse(data);
- decode(list, reviver2);
- return list[0];
- }
- }
- // src/shared/util.ts
- function stringify2(data) {
- return stringifyCircularAutoChunks(data, stringifyReplacer);
- }
- function parse2(data, revive2 = false) {
- if (data == void 0)
- return {};
- return revive2 ? parseCircularAutoChunks(data, reviver) : parseCircularAutoChunks(data);
- }
- // src/index.ts
- var devtools = {
- hook,
- init: () => {
- initDevTools();
- },
- get ctx() {
- return devtoolsContext;
- },
- get api() {
- return devtoolsContext.api;
- }
- };
- // Annotate the CommonJS export names for ESM import in node:
- 0 && (module.exports = {
- DevToolsContextHookKeys,
- DevToolsMessagingHookKeys,
- DevToolsV6PluginAPIHookKeys,
- INFINITY,
- NAN,
- NEGATIVE_INFINITY,
- ROUTER_INFO_KEY,
- ROUTER_KEY,
- UNDEFINED,
- activeAppRecord,
- addCustomCommand,
- addCustomTab,
- addDevToolsAppRecord,
- addDevToolsPluginToBuffer,
- addInspector,
- callConnectedUpdatedHook,
- callDevToolsPluginSetupFn,
- callInspectorUpdatedHook,
- callStateUpdatedHook,
- createComponentsDevToolsPlugin,
- createDevToolsApi,
- createDevToolsCtxHooks,
- createRpcClient,
- createRpcProxy,
- createRpcServer,
- devtools,
- devtoolsAppRecords,
- devtoolsContext,
- devtoolsInspector,
- devtoolsPluginBuffer,
- devtoolsRouter,
- devtoolsRouterInfo,
- devtoolsState,
- escape,
- formatInspectorStateValue,
- getActiveInspectors,
- getDevToolsEnv,
- getExtensionClientContext,
- getInspector,
- getInspectorActions,
- getInspectorInfo,
- getInspectorNodeActions,
- getInspectorStateValueType,
- getRaw,
- getRpcClient,
- getRpcServer,
- getViteRpcClient,
- getViteRpcServer,
- initDevTools,
- isPlainObject,
- onDevToolsClientConnected,
- onDevToolsConnected,
- parse,
- registerDevToolsPlugin,
- removeCustomCommand,
- removeDevToolsAppRecord,
- removeRegisteredPluginApp,
- resetDevToolsState,
- setActiveAppRecord,
- setActiveAppRecordId,
- setDevToolsEnv,
- setElectronClientContext,
- setElectronProxyContext,
- setElectronServerContext,
- setExtensionClientContext,
- setIframeServerContext,
- setOpenInEditorBaseUrl,
- setRpcServerToGlobal,
- setViteClientContext,
- setViteRpcClientToGlobal,
- setViteRpcServerToGlobal,
- setViteServerContext,
- setupDevToolsPlugin,
- stringify,
- toEdit,
- toSubmit,
- toggleClientConnected,
- toggleComponentInspectorEnabled,
- toggleHighPerfMode,
- updateDevToolsClientDetected,
- updateDevToolsState,
- updateTimelineLayersState
- });
|