Clock.js 242 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722
  1. "use strict";
  2. (wx["webpackJsonp"] = wx["webpackJsonp"] || []).push([["pages/Clock"],{
  3. /***/ "./node_modules/babel-loader/lib/index.js??ruleSet[1].rules[5].use[0]!./src/pages/Clock.tsx":
  4. /*!**************************************************************************************************!*\
  5. !*** ./node_modules/babel-loader/lib/index.js??ruleSet[1].rules[5].use[0]!./src/pages/Clock.tsx ***!
  6. \**************************************************************************************************/
  7. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  8. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9. /* harmony export */ "default": function() { return /* binding */ IndexPage; }
  10. /* harmony export */ });
  11. /* harmony import */ var _Users_Work_hola_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js */ "./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js");
  12. /* harmony import */ var _Users_Work_hola_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");
  13. /* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
  14. /* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tarojs/taro */ "webpack/container/remote/@tarojs/taro");
  15. /* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tarojs_taro__WEBPACK_IMPORTED_MODULE_0__);
  16. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "webpack/container/remote/react-redux");
  17. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
  18. /* harmony import */ var _store_user__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/store/user */ "./src/store/user.tsx");
  19. /* harmony import */ var _services_permission__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/services/permission */ "./src/services/permission.tsx");
  20. /* harmony import */ var _features_trackTimeDuration_components_Clock__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/features/trackTimeDuration/components/Clock */ "./src/features/trackTimeDuration/components/Clock.tsx");
  21. /* harmony import */ var _features_trackTimeDuration_components_Console__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/features/trackTimeDuration/components/Console */ "./src/features/trackTimeDuration/components/Console.tsx");
  22. /* harmony import */ var _features_trackTimeDuration_components_More__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/features/trackTimeDuration/components/More */ "./src/features/trackTimeDuration/components/More.tsx");
  23. /* harmony import */ var _services_trackTimeDuration__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/services/trackTimeDuration */ "./src/services/trackTimeDuration.tsx");
  24. /* harmony import */ var _store_scenario__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/scenario */ "./src/store/scenario.tsx");
  25. /* harmony import */ var _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/store/trackTimeMachine */ "./src/store/trackTimeMachine.tsx");
  26. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react/jsx-runtime */ "webpack/container/remote/react/jsx-runtime");
  27. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__);
  28. // import ComponentA from './component'
  29. // import TabBar from '../../components/Tabbar';
  30. function IndexPage() {
  31. var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
  32. var array = [];
  33. var user = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(function (state) {
  34. return state.user;
  35. });
  36. var permission = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(function (state) {
  37. return state.permission;
  38. });
  39. var common = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(function (state) {
  40. return state.common;
  41. });
  42. array.push('ffff');
  43. array.push( /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_11__.Text, {
  44. children: "ffff"
  45. }));
  46. // array.push(<Rings radius={50}/>)
  47. (0,_tarojs_taro__WEBPACK_IMPORTED_MODULE_0__.useReady)( /*#__PURE__*/(0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_12__["default"])( /*#__PURE__*/(0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_13__["default"])().mark(function _callee() {
  48. var userData;
  49. return (0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_13__["default"])().wrap(function _callee$(_context) {
  50. while (1) switch (_context.prev = _context.next) {
  51. case 0:
  52. _context.next = 2;
  53. return getStorage('userData');
  54. case 2:
  55. userData = _context.sent;
  56. if (userData) {
  57. dispatch((0,_store_user__WEBPACK_IMPORTED_MODULE_2__.getInfoSuccess)(JSON.parse(userData)));
  58. // return JSON.parse(userData as string) as UserState;
  59. setTimeout(function () {
  60. checkWXPubFollow();
  61. getCheckData();
  62. }, 200);
  63. }
  64. case 4:
  65. case "end":
  66. return _context.stop();
  67. }
  68. }, _callee);
  69. })));
  70. (0,_tarojs_taro__WEBPACK_IMPORTED_MODULE_0__.useDidShow)(function () {
  71. if (user.isLogin) getCheckData();
  72. });
  73. function getCheckData() {
  74. (0,_services_trackTimeDuration__WEBPACK_IMPORTED_MODULE_7__.getChecks)().then(function (res) {
  75. if (res.scenario) {
  76. dispatch((0,_store_scenario__WEBPACK_IMPORTED_MODULE_8__.setScenario)(res.scenario));
  77. console.log(res.scenario.name + ' ' + res.status);
  78. // trackTimeService.send({type:(res as any).scenario.name});
  79. // setSpecifiedStatus('FAST_SLEEP', 'ON_GOING');
  80. // 初始化状态机
  81. // const initialState = machine.initialState;
  82. // 设置指定状态为 C->3
  83. // const nextState = machine.transition(initialState, 'SET_SPECIFIED_STATE');
  84. // const specifiedState = setSpecifiedState(nextState, 'FAST_SLEEP');
  85. // setSpecifiedState();
  86. console.log('name:' + res.scenario.name);
  87. // machine.reset();
  88. _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_9__["default"].send({
  89. type: 'RESET'
  90. });
  91. _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_9__["default"].send({
  92. type: res.scenario.name
  93. });
  94. // trackTimeService.send({type:'START_FAST'});
  95. // trackTimeService.send({type:'START_SLEEP'});
  96. // trackTimeService.send({type:'END_SLEEP'});
  97. // trackTimeService.send({type:'END_SLEEP'});
  98. // trackTimeService.send({type:'START_FAST'});
  99. // trackTimeService.send({type:'END_FAST'});
  100. // trackTimeService.send({type:'START_SLEEP'});
  101. // const currentState = trackTimeService.getSnapshot();
  102. // console.log(currentState.value);
  103. // trackTimeService.send('setCurrentStatus', {status:(res as any).status});
  104. // setCurrentStatus((res as any).status);
  105. // trackTimeService.send({type:'START_FAST'});
  106. }
  107. });
  108. }
  109. function checkWXPubFollow() {
  110. (0,_services_permission__WEBPACK_IMPORTED_MODULE_3__.wxPubFollow)().then(function (res) {
  111. console.log(res);
  112. });
  113. }
  114. function followWxPub() {
  115. var resource = common.resources.filter(function (item) {
  116. return item.code == 'follow_wx_pub';
  117. });
  118. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showModal({
  119. title: '提示',
  120. content: '关注公众号后可接收提醒\n点击确定,前往关注',
  121. showCancel: true,
  122. success: function success(result) {
  123. if (result.confirm) {
  124. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateTo({
  125. url: '/pages/H5?title=fast16cc 关注服务号&url=' + resource[0].url
  126. });
  127. }
  128. }
  129. });
  130. }
  131. function getStorage(_x) {
  132. return _getStorage.apply(this, arguments);
  133. }
  134. function _getStorage() {
  135. _getStorage = (0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_12__["default"])( /*#__PURE__*/(0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_13__["default"])().mark(function _callee2(key) {
  136. var res;
  137. return (0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_13__["default"])().wrap(function _callee2$(_context2) {
  138. while (1) switch (_context2.prev = _context2.next) {
  139. case 0:
  140. _context2.prev = 0;
  141. _context2.next = 3;
  142. return _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().getStorage({
  143. key: key
  144. });
  145. case 3:
  146. res = _context2.sent;
  147. return _context2.abrupt("return", res.data);
  148. case 7:
  149. _context2.prev = 7;
  150. _context2.t0 = _context2["catch"](0);
  151. return _context2.abrupt("return", '');
  152. case 10:
  153. case "end":
  154. return _context2.stop();
  155. }
  156. }, _callee2, null, [[0, 7]]);
  157. }));
  158. return _getStorage.apply(this, arguments);
  159. }
  160. function goDetail() {
  161. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateTo({
  162. // url: '/pages/index/detail'
  163. //src/moduleA/pages/third.tsx
  164. url: '../../moduleA/pages/third'
  165. });
  166. }
  167. function login() {
  168. if (user.isLogin) {
  169. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateTo({
  170. url: '/pages/ChooseScenario'
  171. });
  172. } else {
  173. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateTo({
  174. url: '/pages/ChooseAuth'
  175. });
  176. }
  177. }
  178. return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_11__.View, {
  179. style: {
  180. backgroundColor: '#fff',
  181. flex: 1,
  182. flexDirection: 'column',
  183. display: 'flex'
  184. },
  185. children: [permission.wxPubFollow == false && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_11__.Text, {
  186. onClick: function onClick() {
  187. return followWxPub();
  188. },
  189. children: "\u53BB\u5173\u6CE8\u516C\u4F17\u53F7111"
  190. }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_11__.Button, {
  191. onClick: function onClick() {
  192. return goDetail();
  193. },
  194. children: "go detail"
  195. }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_11__.Text, {
  196. className: "login",
  197. onClick: function onClick() {
  198. return login();
  199. },
  200. children: "sss"
  201. }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_features_trackTimeDuration_components_Clock__WEBPACK_IMPORTED_MODULE_4__["default"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_features_trackTimeDuration_components_Console__WEBPACK_IMPORTED_MODULE_5__["default"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(_features_trackTimeDuration_components_More__WEBPACK_IMPORTED_MODULE_6__["default"], {})]
  202. });
  203. }
  204. /***/ }),
  205. /***/ "./src/features/trackTimeDuration/components/Clock.tsx":
  206. /*!*************************************************************!*\
  207. !*** ./src/features/trackTimeDuration/components/Clock.tsx ***!
  208. \*************************************************************/
  209. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  210. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  211. /* harmony export */ "default": function() { return /* binding */ Component; }
  212. /* harmony export */ });
  213. /* harmony import */ var _components_Rings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/components/Rings */ "./src/components/Rings.weapp.tsx");
  214. /* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
  215. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "webpack/container/remote/react/jsx-runtime");
  216. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
  217. function Component() {
  218. return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_2__.View, {
  219. children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_components_Rings__WEBPACK_IMPORTED_MODULE_0__["default"], {
  220. radius: 50
  221. }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_2__.Text, {
  222. children: "Clock Component"
  223. })]
  224. });
  225. }
  226. /***/ }),
  227. /***/ "./src/features/trackTimeDuration/components/Console.tsx":
  228. /*!***************************************************************!*\
  229. !*** ./src/features/trackTimeDuration/components/Console.tsx ***!
  230. \***************************************************************/
  231. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  232. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  233. /* harmony export */ "default": function() { return /* binding */ Component; }
  234. /* harmony export */ });
  235. /* harmony import */ var _Users_Work_hola_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
  236. /* harmony import */ var _services_trackTimeDuration__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/services/trackTimeDuration */ "./src/services/trackTimeDuration.tsx");
  237. /* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
  238. /* harmony import */ var _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/store/trackTimeMachine */ "./src/store/trackTimeMachine.tsx");
  239. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "webpack/container/remote/react");
  240. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
  241. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "webpack/container/remote/react/jsx-runtime");
  242. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
  243. function Component() {
  244. // const [current,send] = useService(machine)
  245. // const currentState = trackTimeService.getSnapshot();
  246. // console.log(currentState.value);
  247. // debugger
  248. var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(''),
  249. _useState2 = (0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4__["default"])(_useState, 2),
  250. key = _useState2[0],
  251. setKey = _useState2[1];
  252. var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(''),
  253. _useState4 = (0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_4__["default"])(_useState3, 2),
  254. value = _useState4[0],
  255. setValue = _useState4[1];
  256. (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
  257. // trackTimeService.send({type:'FAST_SLEEP'});
  258. _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_1__["default"].onTransition(function (state) {
  259. console.log(state.value);
  260. if (state.value.mixed) {
  261. setKey('mixed');
  262. setValue(state.value.mixed);
  263. }
  264. if (state.value.fasting) {
  265. setKey('fasting');
  266. setValue(state.value.fasting);
  267. }
  268. if (state.value.sleeping) {
  269. setKey('sleeping');
  270. setValue(state.value.sleeping);
  271. }
  272. });
  273. }, []);
  274. function isMap(obj) {
  275. return obj instanceof Map;
  276. }
  277. function startFast() {
  278. _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_1__["default"].send({
  279. type: 'START_FAST'
  280. });
  281. console.log('start fast');
  282. var start_time = new Date().getTime();
  283. var duration = 8 * 3600 * 1000;
  284. var extra = {
  285. set_time: start_time - 20 * 1000,
  286. confirm_time: start_time + 50 * 1000
  287. };
  288. (0,_services_trackTimeDuration__WEBPACK_IMPORTED_MODULE_0__.recordCheck)({
  289. action: 'FAST_START',
  290. real_check_time: start_time,
  291. target_duration: duration,
  292. extra: extra
  293. }).then(function (res) {
  294. console.log(res);
  295. });
  296. // dispatch(startFast());
  297. }
  298. function startSleep() {
  299. _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_1__["default"].send({
  300. type: 'START_SLEEP'
  301. });
  302. var start_time = new Date().getTime();
  303. var duration = 8 * 3600 * 1000;
  304. var extra = {
  305. set_time: start_time - 20 * 1000,
  306. confirm_time: start_time + 50 * 1000
  307. };
  308. (0,_services_trackTimeDuration__WEBPACK_IMPORTED_MODULE_0__.recordCheck)({
  309. action: 'SLEEP_START',
  310. real_check_time: start_time,
  311. target_duration: duration,
  312. extra: extra
  313. }).then(function (res) {
  314. console.log(res);
  315. });
  316. // dispatch(startSleep());
  317. }
  318. function endSleep() {
  319. _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_1__["default"].send({
  320. type: 'END_SLEEP'
  321. });
  322. var start_time = new Date().getTime();
  323. // const duration = 8 * 3600 * 1000;
  324. var extra = {
  325. set_time: start_time - 20 * 1000,
  326. confirm_time: start_time + 50 * 1000
  327. };
  328. (0,_services_trackTimeDuration__WEBPACK_IMPORTED_MODULE_0__.recordCheck)({
  329. action: 'SLEEP_END',
  330. real_check_time: start_time,
  331. extra: extra
  332. }).then(function (res) {
  333. console.log(res);
  334. });
  335. }
  336. function endFast() {
  337. _store_trackTimeMachine__WEBPACK_IMPORTED_MODULE_1__["default"].send({
  338. type: 'END_FAST'
  339. });
  340. var start_time = new Date().getTime();
  341. // const duration = 8 * 3600 * 1000;
  342. var extra = {
  343. set_time: start_time - 20 * 1000,
  344. confirm_time: start_time + 50 * 1000
  345. };
  346. (0,_services_trackTimeDuration__WEBPACK_IMPORTED_MODULE_0__.recordCheck)({
  347. action: 'FAST_END',
  348. real_check_time: start_time,
  349. extra: extra
  350. }).then(function (res) {
  351. console.log(res);
  352. });
  353. }
  354. function mixedBtns() {
  355. return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
  356. children: [(value == 'WAIT_TO_START' || value == 'DONE') && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  357. onClick: startFast,
  358. children: "Start Fast"
  359. }), (value == 'ON_GOING' || value == 'ON_GOING2' || value == 'ON_GOING3') && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  360. onClick: endFast,
  361. children: "End Fast"
  362. }), value == 'ON_GOING' && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  363. onClick: startSleep,
  364. children: "Start Sleep"
  365. }), value == 'ON_GOING2' && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  366. onClick: endSleep,
  367. children: "End Sleep"
  368. })]
  369. });
  370. }
  371. function fastBtns() {
  372. return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
  373. children: value == 'ON_GOING' ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  374. onClick: endFast,
  375. children: "End Fast"
  376. }) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  377. onClick: startFast,
  378. children: "Start Fast"
  379. })
  380. });
  381. }
  382. function sleepBtns() {
  383. return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
  384. children: value == 'ON_GOING' ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  385. onClick: endSleep,
  386. children: "End Sleep"
  387. }) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  388. onClick: startSleep,
  389. children: "Start Sleep"
  390. })
  391. });
  392. }
  393. return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
  394. children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.Text, {
  395. children: "Console Component"
  396. }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
  397. children: [key === 'mixed' && mixedBtns(), key === 'fasting' && fastBtns(), key === 'sleeping' && sleepBtns()]
  398. })]
  399. });
  400. }
  401. /***/ }),
  402. /***/ "./src/features/trackTimeDuration/components/More.tsx":
  403. /*!************************************************************!*\
  404. !*** ./src/features/trackTimeDuration/components/More.tsx ***!
  405. \************************************************************/
  406. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  407. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  408. /* harmony export */ "default": function() { return /* binding */ Component; }
  409. /* harmony export */ });
  410. /* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
  411. /* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tarojs/taro */ "webpack/container/remote/@tarojs/taro");
  412. /* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tarojs_taro__WEBPACK_IMPORTED_MODULE_0__);
  413. /* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ "webpack/container/remote/react-i18next");
  414. /* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_1__);
  415. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "webpack/container/remote/react-redux");
  416. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
  417. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "webpack/container/remote/react/jsx-runtime");
  418. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
  419. function Component() {
  420. var _useTranslation = (0,react_i18next__WEBPACK_IMPORTED_MODULE_1__.useTranslation)(),
  421. t = _useTranslation.t;
  422. var scenario = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(function (state) {
  423. return state.scenario;
  424. });
  425. function waitActionSheet() {
  426. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showActionSheet({
  427. itemList: [t('feature.track_time_duration.action_sheet.change_schedule'), t('feature.track_time_duration.action_sheet.switch_scenario')]
  428. }).then(function (res) {
  429. console.log(res.tapIndex);
  430. switch (res.tapIndex) {
  431. case 0:
  432. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateTo({
  433. url: '/pages/SetSchedule'
  434. });
  435. break;
  436. case 1:
  437. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateTo({
  438. url: '/pages/ChooseScenario'
  439. });
  440. break;
  441. }
  442. }).catch(function (err) {
  443. console.log(err.errMsg);
  444. });
  445. }
  446. function ongoingActionSheet() {
  447. _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showActionSheet({
  448. itemList: [t('feature.track_time_duration.action_sheet.give_up'), t('feature.track_time_duration.action_sheet.switch_scenario')]
  449. }).then(function (res) {
  450. console.log(res.tapIndex);
  451. }).catch(function (err) {
  452. console.log(err.errMsg);
  453. });
  454. }
  455. return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_4__.View, {
  456. children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_4__.Text, {
  457. onClick: waitActionSheet,
  458. children: "More Component"
  459. })
  460. });
  461. }
  462. /***/ }),
  463. /***/ "./src/pages/Clock.tsx":
  464. /*!*****************************!*\
  465. !*** ./src/pages/Clock.tsx ***!
  466. \*****************************/
  467. /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
  468. /* harmony import */ var _tarojs_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tarojs/runtime */ "webpack/container/remote/@tarojs/runtime");
  469. /* harmony import */ var _tarojs_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tarojs_runtime__WEBPACK_IMPORTED_MODULE_0__);
  470. /* harmony import */ var _node_modules_babel_loader_lib_index_js_ruleSet_1_rules_5_use_0_Clock_tsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/babel-loader/lib/index.js??ruleSet[1].rules[5].use[0]!./Clock.tsx */ "./node_modules/babel-loader/lib/index.js??ruleSet[1].rules[5].use[0]!./src/pages/Clock.tsx");
  471. var config = {};
  472. var inst = Page((0,_tarojs_runtime__WEBPACK_IMPORTED_MODULE_0__.createPageConfig)(_node_modules_babel_loader_lib_index_js_ruleSet_1_rules_5_use_0_Clock_tsx__WEBPACK_IMPORTED_MODULE_1__["default"], 'pages/Clock', {root:{cn:[]}}, config || {}))
  473. /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_ruleSet_1_rules_5_use_0_Clock_tsx__WEBPACK_IMPORTED_MODULE_1__["default"]);
  474. /***/ }),
  475. /***/ "./src/store/trackTimeMachine.tsx":
  476. /*!****************************************!*\
  477. !*** ./src/store/trackTimeMachine.tsx ***!
  478. \****************************************/
  479. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  480. /* unused harmony exports machine, setSpecifiedState, setSpecifiedStatus */
  481. /* harmony import */ var _Users_Work_hola_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js");
  482. /* harmony import */ var xstate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! xstate */ "./node_modules/xstate/es/Machine.js");
  483. /* harmony import */ var xstate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! xstate */ "./node_modules/xstate/es/index.js");
  484. /* harmony import */ var xstate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! xstate */ "./node_modules/xstate/es/interpreter.js");
  485. var machine = (0,xstate__WEBPACK_IMPORTED_MODULE_0__.createMachine)({
  486. id: "trackTime",
  487. initial: "choose",
  488. context: {
  489. currentStatus: ''
  490. },
  491. on: {
  492. RESET: {
  493. target: '.choose',
  494. actions: (0,xstate__WEBPACK_IMPORTED_MODULE_1__.assign)(function (context) {
  495. console.log('reset state');
  496. return {
  497. currentStatus: ''
  498. };
  499. })
  500. }
  501. },
  502. states: {
  503. choose: {
  504. on: {
  505. SLEEP: {
  506. target: "sleeping",
  507. actions: ['demo']
  508. },
  509. FAST_SLEEP: {
  510. target: "mixed",
  511. actions: ['demo1']
  512. },
  513. FAST: {
  514. target: "fasting",
  515. actions: ['demo2']
  516. }
  517. }
  518. },
  519. sleeping: {
  520. initial: "WAIT_TO_START",
  521. states: {
  522. WAIT_TO_START: {
  523. on: {
  524. START_SLEEP: {
  525. target: "ON_GOING",
  526. actions: ['demo3']
  527. }
  528. }
  529. },
  530. ON_GOING: {
  531. on: {
  532. END_SLEEP: {
  533. target: "DONE",
  534. actions: ['demo4']
  535. }
  536. }
  537. },
  538. DONE: {}
  539. }
  540. },
  541. mixed: {
  542. initial: "WAIT_TO_START",
  543. states: {
  544. WAIT_TO_START: {
  545. on: {
  546. START_FAST: {
  547. target: "ON_GOING",
  548. actions: ['demo5']
  549. }
  550. }
  551. },
  552. ON_GOING: {
  553. on: {
  554. START_SLEEP: {
  555. target: "ON_GOING2",
  556. actions: ['demo6']
  557. },
  558. END_FAST: {
  559. target: "DONE",
  560. actions: ['demo7']
  561. }
  562. }
  563. },
  564. ON_GOING2: {
  565. on: {
  566. END_FAST: {
  567. target: "DONE",
  568. actions: ['demo8']
  569. },
  570. END_SLEEP: {
  571. target: "ON_GOING3",
  572. actions: ['demo9']
  573. }
  574. }
  575. },
  576. DONE: {},
  577. ON_GOING3: {
  578. on: {
  579. END_FAST: {
  580. target: "DONE",
  581. actions: ['demo10']
  582. }
  583. }
  584. }
  585. }
  586. },
  587. fasting: {
  588. initial: "WAIT_TO_START",
  589. states: {
  590. WAIT_TO_START: {
  591. on: {
  592. START_FAST: {
  593. target: "ON_GOING",
  594. actions: ['demo11']
  595. }
  596. }
  597. },
  598. ON_GOING: {
  599. on: {
  600. END_FAST: {
  601. target: "DONE",
  602. actions: ['demo12']
  603. }
  604. }
  605. },
  606. DONE: {}
  607. }
  608. }
  609. },
  610. schema: {
  611. events: {}
  612. },
  613. predictableActionArguments: true,
  614. preserveActionOrder: true
  615. }, {
  616. actions: {
  617. demo: function demo() {
  618. console.log('demo');
  619. },
  620. demo1: function demo1() {
  621. console.log('demo1');
  622. },
  623. demo2: function demo2() {
  624. console.log('demo2');
  625. },
  626. demo3: function demo3() {
  627. console.log('demo3');
  628. },
  629. demo4: function demo4() {
  630. console.log('demo4');
  631. },
  632. demo5: function demo5() {
  633. console.log('demo5');
  634. },
  635. demo6: function demo6() {
  636. console.log('demo6');
  637. },
  638. demo7: function demo7() {
  639. console.log('demo7');
  640. },
  641. demo8: function demo8() {
  642. console.log('demo8');
  643. },
  644. demo9: function demo9() {
  645. console.log('demo9');
  646. },
  647. demo10: function demo10() {
  648. console.log('demo10');
  649. },
  650. demo11: function demo11() {
  651. console.log('demo11');
  652. },
  653. setCurrentStatus: (0,xstate__WEBPACK_IMPORTED_MODULE_1__.assign)(function (context, event) {
  654. return {
  655. currentStatus: event.type
  656. };
  657. })
  658. },
  659. services: {},
  660. guards: {},
  661. delays: {}
  662. });
  663. var setSpecifiedState = function setSpecifiedState(currentState, specifiedState) {
  664. return (0,xstate__WEBPACK_IMPORTED_MODULE_1__.assign)({
  665. myMachine: (0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_Users_Work_hola_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_2__["default"])({}, currentState.myMachine), {}, {
  666. value: specifiedState
  667. })
  668. });
  669. };
  670. var setSpecifiedStatus = function setSpecifiedStatus(currentState, specifiedState) {
  671. return (0,xstate__WEBPACK_IMPORTED_MODULE_1__.assign)({
  672. machine: {
  673. currentState: currentState,
  674. specifiedState: specifiedState
  675. }
  676. });
  677. };
  678. var service = (0,xstate__WEBPACK_IMPORTED_MODULE_3__.interpret)(machine).start();
  679. // const service = machine.withContext(initialContext).start();
  680. /* harmony default export */ __webpack_exports__["default"] = (service);
  681. /***/ }),
  682. /***/ "./node_modules/xstate/es/Actor.js":
  683. /*!*****************************************!*\
  684. !*** ./node_modules/xstate/es/Actor.js ***!
  685. \*****************************************/
  686. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  687. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  688. /* harmony export */ createDeferredActor: function() { return /* binding */ createDeferredActor; },
  689. /* harmony export */ createInvocableActor: function() { return /* binding */ createInvocableActor; },
  690. /* harmony export */ isSpawnedActor: function() { return /* binding */ isSpawnedActor; },
  691. /* harmony export */ toActorRef: function() { return /* binding */ toActorRef; }
  692. /* harmony export */ });
  693. /* unused harmony exports createNullActor, isActor */
  694. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  695. /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/xstate/es/utils.js");
  696. /* harmony import */ var _serviceScope_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./serviceScope.js */ "./node_modules/xstate/es/serviceScope.js");
  697. function createNullActor(id) {
  698. var _a;
  699. return _a = {
  700. id: id,
  701. send: function () {
  702. return void 0;
  703. },
  704. subscribe: function () {
  705. return {
  706. unsubscribe: function () {
  707. return void 0;
  708. }
  709. };
  710. },
  711. getSnapshot: function () {
  712. return undefined;
  713. },
  714. toJSON: function () {
  715. return {
  716. id: id
  717. };
  718. }
  719. }, _a[_utils_js__WEBPACK_IMPORTED_MODULE_0__.symbolObservable] = function () {
  720. return this;
  721. }, _a;
  722. }
  723. /**
  724. * Creates a deferred actor that is able to be invoked given the provided
  725. * invocation information in its `.meta` value.
  726. *
  727. * @param invokeDefinition The meta information needed to invoke the actor.
  728. */
  729. function createInvocableActor(invokeDefinition, machine, context, _event) {
  730. var _a;
  731. var invokeSrc = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toInvokeSource)(invokeDefinition.src);
  732. var serviceCreator = (_a = machine === null || machine === void 0 ? void 0 : machine.options.services) === null || _a === void 0 ? void 0 : _a[invokeSrc.type];
  733. var resolvedData = invokeDefinition.data ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapContext)(invokeDefinition.data, context, _event) : undefined;
  734. var tempActor = serviceCreator ? createDeferredActor(serviceCreator, invokeDefinition.id, resolvedData) : createNullActor(invokeDefinition.id); // @ts-ignore
  735. tempActor.meta = invokeDefinition;
  736. return tempActor;
  737. }
  738. function createDeferredActor(entity, id, data) {
  739. var tempActor = createNullActor(id); // @ts-ignore
  740. tempActor.deferred = true;
  741. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMachine)(entity)) {
  742. // "mute" the existing service scope so potential spawned actors within the `.initialState` stay deferred here
  743. var initialState_1 = tempActor.state = (0,_serviceScope_js__WEBPACK_IMPORTED_MODULE_1__.provide)(undefined, function () {
  744. return (data ? entity.withContext(data) : entity).initialState;
  745. });
  746. tempActor.getSnapshot = function () {
  747. return initialState_1;
  748. };
  749. }
  750. return tempActor;
  751. }
  752. function isActor(item) {
  753. try {
  754. return typeof item.send === 'function';
  755. } catch (e) {
  756. return false;
  757. }
  758. }
  759. function isSpawnedActor(item) {
  760. return isActor(item) && 'id' in item;
  761. } // TODO: refactor the return type, this could be written in a better way but it's best to avoid unneccessary breaking changes now
  762. function toActorRef(actorRefLike) {
  763. var _a;
  764. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((_a = {
  765. subscribe: function () {
  766. return {
  767. unsubscribe: function () {
  768. return void 0;
  769. }
  770. };
  771. },
  772. id: 'anonymous',
  773. getSnapshot: function () {
  774. return undefined;
  775. }
  776. }, _a[_utils_js__WEBPACK_IMPORTED_MODULE_0__.symbolObservable] = function () {
  777. return this;
  778. }, _a), actorRefLike);
  779. }
  780. /***/ }),
  781. /***/ "./node_modules/xstate/es/Machine.js":
  782. /*!*******************************************!*\
  783. !*** ./node_modules/xstate/es/Machine.js ***!
  784. \*******************************************/
  785. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  786. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  787. /* harmony export */ createMachine: function() { return /* binding */ createMachine; }
  788. /* harmony export */ });
  789. /* unused harmony export Machine */
  790. /* harmony import */ var _StateNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./StateNode.js */ "./node_modules/xstate/es/StateNode.js");
  791. /* harmony import */ var _environment_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./environment.js */ "./node_modules/xstate/es/environment.js");
  792. var warned = false;
  793. function Machine(config, options, initialContext) {
  794. if (initialContext === void 0) {
  795. initialContext = config.context;
  796. }
  797. return new _StateNode_js__WEBPACK_IMPORTED_MODULE_0__.StateNode(config, options, initialContext);
  798. }
  799. function createMachine(config, options) {
  800. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION && !('predictableActionArguments' in config) && !warned) {
  801. warned = true;
  802. console.warn('It is highly recommended to set `predictableActionArguments` to `true` when using `createMachine`. https://xstate.js.org/docs/guides/actions.html');
  803. }
  804. return new _StateNode_js__WEBPACK_IMPORTED_MODULE_0__.StateNode(config, options);
  805. }
  806. /***/ }),
  807. /***/ "./node_modules/xstate/es/State.js":
  808. /*!*****************************************!*\
  809. !*** ./node_modules/xstate/es/State.js ***!
  810. \*****************************************/
  811. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  812. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  813. /* harmony export */ State: function() { return /* binding */ State; },
  814. /* harmony export */ bindActionToState: function() { return /* binding */ bindActionToState; },
  815. /* harmony export */ isStateConfig: function() { return /* binding */ isStateConfig; },
  816. /* harmony export */ stateValuesEqual: function() { return /* binding */ stateValuesEqual; }
  817. /* harmony export */ });
  818. /* unused harmony export isState */
  819. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  820. /* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants.js */ "./node_modules/xstate/es/constants.js");
  821. /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/xstate/es/utils.js");
  822. /* harmony import */ var _stateUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stateUtils.js */ "./node_modules/xstate/es/stateUtils.js");
  823. /* harmony import */ var _actions_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./actions.js */ "./node_modules/xstate/es/actions.js");
  824. /* harmony import */ var _environment_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./environment.js */ "./node_modules/xstate/es/environment.js");
  825. function stateValuesEqual(a, b) {
  826. if (a === b) {
  827. return true;
  828. }
  829. if (a === undefined || b === undefined) {
  830. return false;
  831. }
  832. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(a) || (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(b)) {
  833. return a === b;
  834. }
  835. var aKeys = Object.keys(a);
  836. var bKeys = Object.keys(b);
  837. return aKeys.length === bKeys.length && aKeys.every(function (key) {
  838. return stateValuesEqual(a[key], b[key]);
  839. });
  840. }
  841. function isStateConfig(state) {
  842. if (typeof state !== 'object' || state === null) {
  843. return false;
  844. }
  845. return 'value' in state && '_event' in state;
  846. }
  847. /**
  848. * @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.
  849. */
  850. var isState = isStateConfig;
  851. function bindActionToState(action, state) {
  852. var exec = action.exec;
  853. var boundAction = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__assign)({}, action), {
  854. exec: exec !== undefined ? function () {
  855. return exec(state.context, state.event, {
  856. action: action,
  857. state: state,
  858. _event: state._event
  859. });
  860. } : undefined
  861. });
  862. return boundAction;
  863. }
  864. var State =
  865. /*#__PURE__*/
  866. /** @class */
  867. function () {
  868. /**
  869. * Creates a new State instance.
  870. * @param value The state value
  871. * @param context The extended state
  872. * @param historyValue The tree representing historical values of the state nodes
  873. * @param history The previous state
  874. * @param actions An array of action objects to execute as side-effects
  875. * @param activities A mapping of activities and whether they are started (`true`) or stopped (`false`).
  876. * @param meta
  877. * @param events Internal event queue. Should be empty with run-to-completion semantics.
  878. * @param configuration
  879. */
  880. function State(config) {
  881. var _this = this;
  882. var _a;
  883. this.actions = [];
  884. this.activities = _constants_js__WEBPACK_IMPORTED_MODULE_2__.EMPTY_ACTIVITY_MAP;
  885. this.meta = {};
  886. this.events = [];
  887. this.value = config.value;
  888. this.context = config.context;
  889. this._event = config._event;
  890. this._sessionid = config._sessionid;
  891. this.event = this._event.data;
  892. this.historyValue = config.historyValue;
  893. this.history = config.history;
  894. this.actions = config.actions || [];
  895. this.activities = config.activities || _constants_js__WEBPACK_IMPORTED_MODULE_2__.EMPTY_ACTIVITY_MAP;
  896. this.meta = (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_3__.getMeta)(config.configuration);
  897. this.events = config.events || [];
  898. this.matches = this.matches.bind(this);
  899. this.toStrings = this.toStrings.bind(this);
  900. this.configuration = config.configuration;
  901. this.transitions = config.transitions;
  902. this.children = config.children;
  903. this.done = !!config.done;
  904. this.tags = (_a = Array.isArray(config.tags) ? new Set(config.tags) : config.tags) !== null && _a !== void 0 ? _a : new Set();
  905. this.machine = config.machine;
  906. Object.defineProperty(this, 'nextEvents', {
  907. get: function () {
  908. return (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_3__.nextEvents)(_this.configuration);
  909. }
  910. });
  911. }
  912. /**
  913. * Creates a new State instance for the given `stateValue` and `context`.
  914. * @param stateValue
  915. * @param context
  916. */
  917. State.from = function (stateValue, context) {
  918. if (stateValue instanceof State) {
  919. if (stateValue.context !== context) {
  920. return new State({
  921. value: stateValue.value,
  922. context: context,
  923. _event: stateValue._event,
  924. _sessionid: null,
  925. historyValue: stateValue.historyValue,
  926. history: stateValue.history,
  927. actions: [],
  928. activities: stateValue.activities,
  929. meta: {},
  930. events: [],
  931. configuration: [],
  932. transitions: [],
  933. children: {}
  934. });
  935. }
  936. return stateValue;
  937. }
  938. var _event = _actions_js__WEBPACK_IMPORTED_MODULE_4__.initEvent;
  939. return new State({
  940. value: stateValue,
  941. context: context,
  942. _event: _event,
  943. _sessionid: null,
  944. historyValue: undefined,
  945. history: undefined,
  946. actions: [],
  947. activities: undefined,
  948. meta: undefined,
  949. events: [],
  950. configuration: [],
  951. transitions: [],
  952. children: {}
  953. });
  954. };
  955. /**
  956. * Creates a new State instance for the given `config`.
  957. * @param config The state config
  958. */
  959. State.create = function (config) {
  960. return new State(config);
  961. };
  962. /**
  963. * Creates a new `State` instance for the given `stateValue` and `context` with no actions (side-effects).
  964. * @param stateValue
  965. * @param context
  966. */
  967. State.inert = function (stateValue, context) {
  968. if (stateValue instanceof State) {
  969. if (!stateValue.actions.length) {
  970. return stateValue;
  971. }
  972. var _event = _actions_js__WEBPACK_IMPORTED_MODULE_4__.initEvent;
  973. return new State({
  974. value: stateValue.value,
  975. context: context,
  976. _event: _event,
  977. _sessionid: null,
  978. historyValue: stateValue.historyValue,
  979. history: stateValue.history,
  980. activities: stateValue.activities,
  981. configuration: stateValue.configuration,
  982. transitions: [],
  983. children: {}
  984. });
  985. }
  986. return State.from(stateValue, context);
  987. };
  988. /**
  989. * Returns an array of all the string leaf state node paths.
  990. * @param stateValue
  991. * @param delimiter The character(s) that separate each subpath in the string state node path.
  992. */
  993. State.prototype.toStrings = function (stateValue, delimiter) {
  994. var _this = this;
  995. if (stateValue === void 0) {
  996. stateValue = this.value;
  997. }
  998. if (delimiter === void 0) {
  999. delimiter = '.';
  1000. }
  1001. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(stateValue)) {
  1002. return [stateValue];
  1003. }
  1004. var valueKeys = Object.keys(stateValue);
  1005. return valueKeys.concat.apply(valueKeys, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__read)(valueKeys.map(function (key) {
  1006. return _this.toStrings(stateValue[key], delimiter).map(function (s) {
  1007. return key + delimiter + s;
  1008. });
  1009. })), false));
  1010. };
  1011. State.prototype.toJSON = function () {
  1012. var _a = this;
  1013. _a.configuration;
  1014. _a.transitions;
  1015. var tags = _a.tags;
  1016. _a.machine;
  1017. var jsonValues = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__rest)(_a, ["configuration", "transitions", "tags", "machine"]);
  1018. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__assign)({}, jsonValues), {
  1019. tags: Array.from(tags)
  1020. });
  1021. };
  1022. State.prototype.matches = function (parentStateValue) {
  1023. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.matchesState)(parentStateValue, this.value);
  1024. };
  1025. /**
  1026. * Whether the current state configuration has a state node with the specified `tag`.
  1027. * @param tag
  1028. */
  1029. State.prototype.hasTag = function (tag) {
  1030. return this.tags.has(tag);
  1031. };
  1032. /**
  1033. * Determines whether sending the `event` will cause a non-forbidden transition
  1034. * to be selected, even if the transitions have no actions nor
  1035. * change the state value.
  1036. *
  1037. * @param event The event to test
  1038. * @returns Whether the event will cause a transition
  1039. */
  1040. State.prototype.can = function (event) {
  1041. var _a;
  1042. if (_environment_js__WEBPACK_IMPORTED_MODULE_5__.IS_PRODUCTION) {
  1043. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(!!this.machine, "state.can(...) used outside of a machine-created State object; this will always return false.");
  1044. }
  1045. var transitionData = (_a = this.machine) === null || _a === void 0 ? void 0 : _a.getTransitionData(this, event);
  1046. return !!(transitionData === null || transitionData === void 0 ? void 0 : transitionData.transitions.length) && // Check that at least one transition is not forbidden
  1047. transitionData.transitions.some(function (t) {
  1048. return t.target !== undefined || t.actions.length;
  1049. });
  1050. };
  1051. return State;
  1052. }();
  1053. /***/ }),
  1054. /***/ "./node_modules/xstate/es/StateNode.js":
  1055. /*!*********************************************!*\
  1056. !*** ./node_modules/xstate/es/StateNode.js ***!
  1057. \*********************************************/
  1058. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  1059. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1060. /* harmony export */ StateNode: function() { return /* binding */ StateNode; }
  1061. /* harmony export */ });
  1062. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  1063. /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/xstate/es/utils.js");
  1064. /* harmony import */ var _State_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./State.js */ "./node_modules/xstate/es/State.js");
  1065. /* harmony import */ var _actionTypes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actionTypes.js */ "./node_modules/xstate/es/actionTypes.js");
  1066. /* harmony import */ var _actions_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./actions.js */ "./node_modules/xstate/es/actions.js");
  1067. /* harmony import */ var _environment_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./environment.js */ "./node_modules/xstate/es/environment.js");
  1068. /* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants.js */ "./node_modules/xstate/es/constants.js");
  1069. /* harmony import */ var _stateUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./stateUtils.js */ "./node_modules/xstate/es/stateUtils.js");
  1070. /* harmony import */ var _Actor_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Actor.js */ "./node_modules/xstate/es/Actor.js");
  1071. /* harmony import */ var _invokeUtils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./invokeUtils.js */ "./node_modules/xstate/es/invokeUtils.js");
  1072. var NULL_EVENT = '';
  1073. var STATE_IDENTIFIER = '#';
  1074. var WILDCARD = '*';
  1075. var EMPTY_OBJECT = {};
  1076. var isStateId = function (str) {
  1077. return str[0] === STATE_IDENTIFIER;
  1078. };
  1079. var createDefaultOptions = function () {
  1080. return {
  1081. actions: {},
  1082. guards: {},
  1083. services: {},
  1084. activities: {},
  1085. delays: {}
  1086. };
  1087. };
  1088. var validateArrayifiedTransitions = function (stateNode, event, transitions) {
  1089. var hasNonLastUnguardedTarget = transitions.slice(0, -1).some(function (transition) {
  1090. return !('cond' in transition) && !('in' in transition) && ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(transition.target) || (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMachine)(transition.target));
  1091. });
  1092. var eventText = event === NULL_EVENT ? 'the transient event' : "event '".concat(event, "'");
  1093. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(!hasNonLastUnguardedTarget, "One or more transitions for ".concat(eventText, " on state '").concat(stateNode.id, "' are unreachable. ") + "Make sure that the default transition is the last one defined.");
  1094. };
  1095. var StateNode =
  1096. /*#__PURE__*/
  1097. /** @class */
  1098. function () {
  1099. function StateNode(
  1100. /**
  1101. * The raw config used to create the machine.
  1102. */
  1103. config, options,
  1104. /**
  1105. * The initial extended state
  1106. */
  1107. _context, // TODO: this is unsafe, but we're removing it in v5 anyway
  1108. _stateInfo) {
  1109. if (_context === void 0) {
  1110. _context = 'context' in config ? config.context : undefined;
  1111. }
  1112. var _this = this;
  1113. var _a;
  1114. this.config = config;
  1115. this._context = _context;
  1116. /**
  1117. * The order this state node appears. Corresponds to the implicit SCXML document order.
  1118. */
  1119. this.order = -1;
  1120. this.__xstatenode = true;
  1121. this.__cache = {
  1122. events: undefined,
  1123. relativeValue: new Map(),
  1124. initialStateValue: undefined,
  1125. initialState: undefined,
  1126. on: undefined,
  1127. transitions: undefined,
  1128. candidates: {},
  1129. delayedTransitions: undefined
  1130. };
  1131. this.idMap = {};
  1132. this.tags = [];
  1133. this.options = Object.assign(createDefaultOptions(), options);
  1134. this.parent = _stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.parent;
  1135. this.key = this.config.key || (_stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.key) || this.config.id || '(machine)';
  1136. this.machine = this.parent ? this.parent.machine : this;
  1137. this.path = this.parent ? this.parent.path.concat(this.key) : [];
  1138. this.delimiter = this.config.delimiter || (this.parent ? this.parent.delimiter : _constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_DELIMITER);
  1139. this.id = this.config.id || (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([this.machine.key], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(this.path), false).join(this.delimiter);
  1140. this.version = this.parent ? this.parent.version : this.config.version;
  1141. this.type = this.config.type || (this.config.parallel ? 'parallel' : this.config.states && Object.keys(this.config.states).length ? 'compound' : this.config.history ? 'history' : 'atomic');
  1142. this.schema = this.parent ? this.machine.schema : (_a = this.config.schema) !== null && _a !== void 0 ? _a : {};
  1143. this.description = this.config.description;
  1144. if (!_environment_js__WEBPACK_IMPORTED_MODULE_3__.IS_PRODUCTION) {
  1145. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(!('parallel' in this.config), "The \"parallel\" property is deprecated and will be removed in version 4.1. ".concat(this.config.parallel ? "Replace with `type: 'parallel'`" : "Use `type: '".concat(this.type, "'`"), " in the config for state node '").concat(this.id, "' instead."));
  1146. }
  1147. this.initial = this.config.initial;
  1148. this.states = this.config.states ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapValues)(this.config.states, function (stateConfig, key) {
  1149. var _a;
  1150. var stateNode = new StateNode(stateConfig, {}, undefined, {
  1151. parent: _this,
  1152. key: key
  1153. });
  1154. Object.assign(_this.idMap, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((_a = {}, _a[stateNode.id] = stateNode, _a), stateNode.idMap));
  1155. return stateNode;
  1156. }) : EMPTY_OBJECT; // Document order
  1157. var order = 0;
  1158. function dfs(stateNode) {
  1159. var e_1, _a;
  1160. stateNode.order = order++;
  1161. try {
  1162. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)((0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getAllChildren)(stateNode)), _c = _b.next(); !_c.done; _c = _b.next()) {
  1163. var child = _c.value;
  1164. dfs(child);
  1165. }
  1166. } catch (e_1_1) {
  1167. e_1 = {
  1168. error: e_1_1
  1169. };
  1170. } finally {
  1171. try {
  1172. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  1173. } finally {
  1174. if (e_1) throw e_1.error;
  1175. }
  1176. }
  1177. }
  1178. dfs(this); // History config
  1179. this.history = this.config.history === true ? 'shallow' : this.config.history || false;
  1180. this._transient = !!this.config.always || (!this.config.on ? false : Array.isArray(this.config.on) ? this.config.on.some(function (_a) {
  1181. var event = _a.event;
  1182. return event === NULL_EVENT;
  1183. }) : NULL_EVENT in this.config.on);
  1184. this.strict = !!this.config.strict; // TODO: deprecate (entry)
  1185. this.onEntry = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(this.config.entry || this.config.onEntry).map(function (action) {
  1186. return (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.toActionObject)(action);
  1187. }); // TODO: deprecate (exit)
  1188. this.onExit = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(this.config.exit || this.config.onExit).map(function (action) {
  1189. return (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.toActionObject)(action);
  1190. });
  1191. this.meta = this.config.meta;
  1192. this.doneData = this.type === 'final' ? this.config.data : undefined;
  1193. this.invoke = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(this.config.invoke).map(function (invokeConfig, i) {
  1194. var _a, _b;
  1195. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMachine)(invokeConfig)) {
  1196. var invokeId = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createInvokeId)(_this.id, i);
  1197. _this.machine.options.services = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((_a = {}, _a[invokeId] = invokeConfig, _a), _this.machine.options.services);
  1198. return (0,_invokeUtils_js__WEBPACK_IMPORTED_MODULE_6__.toInvokeDefinition)({
  1199. src: invokeId,
  1200. id: invokeId
  1201. });
  1202. } else if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(invokeConfig.src)) {
  1203. var invokeId = invokeConfig.id || (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createInvokeId)(_this.id, i);
  1204. return (0,_invokeUtils_js__WEBPACK_IMPORTED_MODULE_6__.toInvokeDefinition)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, invokeConfig), {
  1205. id: invokeId,
  1206. src: invokeConfig.src
  1207. }));
  1208. } else if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMachine)(invokeConfig.src) || (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(invokeConfig.src)) {
  1209. var invokeId = invokeConfig.id || (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createInvokeId)(_this.id, i);
  1210. _this.machine.options.services = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((_b = {}, _b[invokeId] = invokeConfig.src, _b), _this.machine.options.services);
  1211. return (0,_invokeUtils_js__WEBPACK_IMPORTED_MODULE_6__.toInvokeDefinition)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({
  1212. id: invokeId
  1213. }, invokeConfig), {
  1214. src: invokeId
  1215. }));
  1216. } else {
  1217. var invokeSource = invokeConfig.src;
  1218. return (0,_invokeUtils_js__WEBPACK_IMPORTED_MODULE_6__.toInvokeDefinition)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({
  1219. id: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createInvokeId)(_this.id, i)
  1220. }, invokeConfig), {
  1221. src: invokeSource
  1222. }));
  1223. }
  1224. });
  1225. this.activities = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(this.config.activities).concat(this.invoke).map(function (activity) {
  1226. return (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.toActivityDefinition)(activity);
  1227. });
  1228. this.transition = this.transition.bind(this);
  1229. this.tags = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(this.config.tags); // TODO: this is the real fix for initialization once
  1230. // state node getters are deprecated
  1231. // if (!this.parent) {
  1232. // this._init();
  1233. // }
  1234. }
  1235. StateNode.prototype._init = function () {
  1236. if (this.__cache.transitions) {
  1237. return;
  1238. }
  1239. (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getAllStateNodes)(this).forEach(function (stateNode) {
  1240. return stateNode.on;
  1241. });
  1242. };
  1243. /**
  1244. * Clones this state machine with custom options and context.
  1245. *
  1246. * @param options Options (actions, guards, activities, services) to recursively merge with the existing options.
  1247. * @param context Custom context (will override predefined context)
  1248. */
  1249. StateNode.prototype.withConfig = function (options, context) {
  1250. var _a = this.options,
  1251. actions = _a.actions,
  1252. activities = _a.activities,
  1253. guards = _a.guards,
  1254. services = _a.services,
  1255. delays = _a.delays;
  1256. return new StateNode(this.config, {
  1257. actions: (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, actions), options.actions),
  1258. activities: (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, activities), options.activities),
  1259. guards: (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, guards), options.guards),
  1260. services: (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, services), options.services),
  1261. delays: (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, delays), options.delays)
  1262. }, context !== null && context !== void 0 ? context : this.context);
  1263. };
  1264. /**
  1265. * Clones this state machine with custom context.
  1266. *
  1267. * @param context Custom context (will override predefined context, not recursive)
  1268. */
  1269. StateNode.prototype.withContext = function (context) {
  1270. return new StateNode(this.config, this.options, context);
  1271. };
  1272. Object.defineProperty(StateNode.prototype, "context", {
  1273. get: function () {
  1274. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(this._context) ? this._context() : this._context;
  1275. },
  1276. enumerable: false,
  1277. configurable: true
  1278. });
  1279. Object.defineProperty(StateNode.prototype, "definition", {
  1280. /**
  1281. * The well-structured state node definition.
  1282. */
  1283. get: function () {
  1284. return {
  1285. id: this.id,
  1286. key: this.key,
  1287. version: this.version,
  1288. context: this.context,
  1289. type: this.type,
  1290. initial: this.initial,
  1291. history: this.history,
  1292. states: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapValues)(this.states, function (state) {
  1293. return state.definition;
  1294. }),
  1295. on: this.on,
  1296. transitions: this.transitions,
  1297. entry: this.onEntry,
  1298. exit: this.onExit,
  1299. activities: this.activities || [],
  1300. meta: this.meta,
  1301. order: this.order || -1,
  1302. data: this.doneData,
  1303. invoke: this.invoke,
  1304. description: this.description,
  1305. tags: this.tags
  1306. };
  1307. },
  1308. enumerable: false,
  1309. configurable: true
  1310. });
  1311. StateNode.prototype.toJSON = function () {
  1312. return this.definition;
  1313. };
  1314. Object.defineProperty(StateNode.prototype, "on", {
  1315. /**
  1316. * The mapping of events to transitions.
  1317. */
  1318. get: function () {
  1319. if (this.__cache.on) {
  1320. return this.__cache.on;
  1321. }
  1322. var transitions = this.transitions;
  1323. return this.__cache.on = transitions.reduce(function (map, transition) {
  1324. map[transition.eventType] = map[transition.eventType] || [];
  1325. map[transition.eventType].push(transition);
  1326. return map;
  1327. }, {});
  1328. },
  1329. enumerable: false,
  1330. configurable: true
  1331. });
  1332. Object.defineProperty(StateNode.prototype, "after", {
  1333. get: function () {
  1334. return this.__cache.delayedTransitions || (this.__cache.delayedTransitions = this.getDelayedTransitions(), this.__cache.delayedTransitions);
  1335. },
  1336. enumerable: false,
  1337. configurable: true
  1338. });
  1339. Object.defineProperty(StateNode.prototype, "transitions", {
  1340. /**
  1341. * All the transitions that can be taken from this state node.
  1342. */
  1343. get: function () {
  1344. return this.__cache.transitions || (this.__cache.transitions = this.formatTransitions(), this.__cache.transitions);
  1345. },
  1346. enumerable: false,
  1347. configurable: true
  1348. });
  1349. StateNode.prototype.getCandidates = function (eventName) {
  1350. if (this.__cache.candidates[eventName]) {
  1351. return this.__cache.candidates[eventName];
  1352. }
  1353. var transient = eventName === NULL_EVENT;
  1354. var candidates = this.transitions.filter(function (transition) {
  1355. var sameEventType = transition.eventType === eventName; // null events should only match against eventless transitions
  1356. return transient ? sameEventType : sameEventType || transition.eventType === WILDCARD;
  1357. });
  1358. this.__cache.candidates[eventName] = candidates;
  1359. return candidates;
  1360. };
  1361. /**
  1362. * All delayed transitions from the config.
  1363. */
  1364. StateNode.prototype.getDelayedTransitions = function () {
  1365. var _this = this;
  1366. var afterConfig = this.config.after;
  1367. if (!afterConfig) {
  1368. return [];
  1369. }
  1370. var mutateEntryExit = function (delay, i) {
  1371. var delayRef = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(delay) ? "".concat(_this.id, ":delay[").concat(i, "]") : delay;
  1372. var eventType = (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.after)(delayRef, _this.id);
  1373. _this.onEntry.push((0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.send)(eventType, {
  1374. delay: delay
  1375. }));
  1376. _this.onExit.push((0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.cancel)(eventType));
  1377. return eventType;
  1378. };
  1379. var delayedTransitions = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(afterConfig) ? afterConfig.map(function (transition, i) {
  1380. var eventType = mutateEntryExit(transition.delay, i);
  1381. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, transition), {
  1382. event: eventType
  1383. });
  1384. }) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(Object.keys(afterConfig).map(function (delay, i) {
  1385. var configTransition = afterConfig[delay];
  1386. var resolvedTransition = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(configTransition) ? {
  1387. target: configTransition
  1388. } : configTransition;
  1389. var resolvedDelay = !isNaN(+delay) ? +delay : delay;
  1390. var eventType = mutateEntryExit(resolvedDelay, i);
  1391. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(resolvedTransition).map(function (transition) {
  1392. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, transition), {
  1393. event: eventType,
  1394. delay: resolvedDelay
  1395. });
  1396. });
  1397. }));
  1398. return delayedTransitions.map(function (delayedTransition) {
  1399. var delay = delayedTransition.delay;
  1400. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, _this.formatTransition(delayedTransition)), {
  1401. delay: delay
  1402. });
  1403. });
  1404. };
  1405. /**
  1406. * Returns the state nodes represented by the current state value.
  1407. *
  1408. * @param state The state value or State instance
  1409. */
  1410. StateNode.prototype.getStateNodes = function (state) {
  1411. var _a;
  1412. var _this = this;
  1413. if (!state) {
  1414. return [];
  1415. }
  1416. var stateValue = state instanceof _State_js__WEBPACK_IMPORTED_MODULE_7__.State ? state.value : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toStateValue)(state, this.delimiter);
  1417. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(stateValue)) {
  1418. var initialStateValue = this.getStateNode(stateValue).initial;
  1419. return initialStateValue !== undefined ? this.getStateNodes((_a = {}, _a[stateValue] = initialStateValue, _a)) : [this, this.states[stateValue]];
  1420. }
  1421. var subStateKeys = Object.keys(stateValue);
  1422. var subStateNodes = [this];
  1423. subStateNodes.push.apply(subStateNodes, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(subStateKeys.map(function (subStateKey) {
  1424. return _this.getStateNode(subStateKey).getStateNodes(stateValue[subStateKey]);
  1425. }))), false));
  1426. return subStateNodes;
  1427. };
  1428. /**
  1429. * Returns `true` if this state node explicitly handles the given event.
  1430. *
  1431. * @param event The event in question
  1432. */
  1433. StateNode.prototype.handles = function (event) {
  1434. var eventType = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getEventType)(event);
  1435. return this.events.includes(eventType);
  1436. };
  1437. /**
  1438. * Resolves the given `state` to a new `State` instance relative to this machine.
  1439. *
  1440. * This ensures that `.events` and `.nextEvents` represent the correct values.
  1441. *
  1442. * @param state The state to resolve
  1443. */
  1444. StateNode.prototype.resolveState = function (state) {
  1445. var stateFromConfig = state instanceof _State_js__WEBPACK_IMPORTED_MODULE_7__.State ? state : _State_js__WEBPACK_IMPORTED_MODULE_7__.State.create(state);
  1446. var configuration = Array.from((0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getConfiguration)([], this.getStateNodes(stateFromConfig.value)));
  1447. return new _State_js__WEBPACK_IMPORTED_MODULE_7__.State((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, stateFromConfig), {
  1448. value: this.resolve(stateFromConfig.value),
  1449. configuration: configuration,
  1450. done: (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.isInFinalState)(configuration, this),
  1451. tags: (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getTagsFromConfiguration)(configuration),
  1452. machine: this.machine
  1453. }));
  1454. };
  1455. StateNode.prototype.transitionLeafNode = function (stateValue, state, _event) {
  1456. var stateNode = this.getStateNode(stateValue);
  1457. var next = stateNode.next(state, _event);
  1458. if (!next || !next.transitions.length) {
  1459. return this.next(state, _event);
  1460. }
  1461. return next;
  1462. };
  1463. StateNode.prototype.transitionCompoundNode = function (stateValue, state, _event) {
  1464. var subStateKeys = Object.keys(stateValue);
  1465. var stateNode = this.getStateNode(subStateKeys[0]);
  1466. var next = stateNode._transition(stateValue[subStateKeys[0]], state, _event);
  1467. if (!next || !next.transitions.length) {
  1468. return this.next(state, _event);
  1469. }
  1470. return next;
  1471. };
  1472. StateNode.prototype.transitionParallelNode = function (stateValue, state, _event) {
  1473. var e_2, _a;
  1474. var transitionMap = {};
  1475. try {
  1476. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(Object.keys(stateValue)), _c = _b.next(); !_c.done; _c = _b.next()) {
  1477. var subStateKey = _c.value;
  1478. var subStateValue = stateValue[subStateKey];
  1479. if (!subStateValue) {
  1480. continue;
  1481. }
  1482. var subStateNode = this.getStateNode(subStateKey);
  1483. var next = subStateNode._transition(subStateValue, state, _event);
  1484. if (next) {
  1485. transitionMap[subStateKey] = next;
  1486. }
  1487. }
  1488. } catch (e_2_1) {
  1489. e_2 = {
  1490. error: e_2_1
  1491. };
  1492. } finally {
  1493. try {
  1494. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  1495. } finally {
  1496. if (e_2) throw e_2.error;
  1497. }
  1498. }
  1499. var stateTransitions = Object.keys(transitionMap).map(function (key) {
  1500. return transitionMap[key];
  1501. });
  1502. var enabledTransitions = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(stateTransitions.map(function (st) {
  1503. return st.transitions;
  1504. }));
  1505. var willTransition = stateTransitions.some(function (st) {
  1506. return st.transitions.length > 0;
  1507. });
  1508. if (!willTransition) {
  1509. return this.next(state, _event);
  1510. }
  1511. var configuration = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(Object.keys(transitionMap).map(function (key) {
  1512. return transitionMap[key].configuration;
  1513. }));
  1514. return {
  1515. transitions: enabledTransitions,
  1516. exitSet: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(stateTransitions.map(function (t) {
  1517. return t.exitSet;
  1518. })),
  1519. configuration: configuration,
  1520. source: state,
  1521. actions: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(Object.keys(transitionMap).map(function (key) {
  1522. return transitionMap[key].actions;
  1523. }))
  1524. };
  1525. };
  1526. StateNode.prototype._transition = function (stateValue, state, _event) {
  1527. // leaf node
  1528. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(stateValue)) {
  1529. return this.transitionLeafNode(stateValue, state, _event);
  1530. } // hierarchical node
  1531. if (Object.keys(stateValue).length === 1) {
  1532. return this.transitionCompoundNode(stateValue, state, _event);
  1533. } // orthogonal node
  1534. return this.transitionParallelNode(stateValue, state, _event);
  1535. };
  1536. StateNode.prototype.getTransitionData = function (state, event) {
  1537. return this._transition(state.value, state, (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(event));
  1538. };
  1539. StateNode.prototype.next = function (state, _event) {
  1540. var e_3, _a;
  1541. var _this = this;
  1542. var eventName = _event.name;
  1543. var actions = [];
  1544. var nextStateNodes = [];
  1545. var selectedTransition;
  1546. try {
  1547. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(this.getCandidates(eventName)), _c = _b.next(); !_c.done; _c = _b.next()) {
  1548. var candidate = _c.value;
  1549. var cond = candidate.cond,
  1550. stateIn = candidate.in;
  1551. var resolvedContext = state.context;
  1552. var isInState = stateIn ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(stateIn) && isStateId(stateIn) ? // Check if in state by ID
  1553. state.matches((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toStateValue)(this.getStateNodeById(stateIn).path, this.delimiter)) : // Check if in state by relative grandparent
  1554. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.matchesState)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toStateValue)(stateIn, this.delimiter), (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.path)(this.path.slice(0, -2))(state.value)) : true;
  1555. var guardPassed = false;
  1556. try {
  1557. guardPassed = !cond || (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.evaluateGuard)(this.machine, cond, resolvedContext, _event, state);
  1558. } catch (err) {
  1559. throw new Error("Unable to evaluate guard '".concat(cond.name || cond.type, "' in transition for event '").concat(eventName, "' in state node '").concat(this.id, "':\n").concat(err.message));
  1560. }
  1561. if (guardPassed && isInState) {
  1562. if (candidate.target !== undefined) {
  1563. nextStateNodes = candidate.target;
  1564. }
  1565. actions.push.apply(actions, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(candidate.actions), false));
  1566. selectedTransition = candidate;
  1567. break;
  1568. }
  1569. }
  1570. } catch (e_3_1) {
  1571. e_3 = {
  1572. error: e_3_1
  1573. };
  1574. } finally {
  1575. try {
  1576. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  1577. } finally {
  1578. if (e_3) throw e_3.error;
  1579. }
  1580. }
  1581. if (!selectedTransition) {
  1582. return undefined;
  1583. }
  1584. if (!nextStateNodes.length) {
  1585. return {
  1586. transitions: [selectedTransition],
  1587. exitSet: [],
  1588. configuration: state.value ? [this] : [],
  1589. source: state,
  1590. actions: actions
  1591. };
  1592. }
  1593. var allNextStateNodes = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(nextStateNodes.map(function (stateNode) {
  1594. return _this.getRelativeStateNodes(stateNode, state.historyValue);
  1595. }));
  1596. var isInternal = !!selectedTransition.internal;
  1597. return {
  1598. transitions: [selectedTransition],
  1599. exitSet: isInternal ? [] : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(nextStateNodes.map(function (targetNode) {
  1600. return _this.getPotentiallyReenteringNodes(targetNode);
  1601. })),
  1602. configuration: allNextStateNodes,
  1603. source: state,
  1604. actions: actions
  1605. };
  1606. }; // even though the name of this function mentions reentry nodes
  1607. // we are pushing its result into `exitSet`
  1608. // that's because what we exit might be reentered (it's an invariant of reentrancy)
  1609. StateNode.prototype.getPotentiallyReenteringNodes = function (targetNode) {
  1610. if (this.order < targetNode.order) {
  1611. return [this];
  1612. }
  1613. var nodes = [];
  1614. var marker = this;
  1615. var possibleAncestor = targetNode;
  1616. while (marker && marker !== possibleAncestor) {
  1617. nodes.push(marker);
  1618. marker = marker.parent;
  1619. }
  1620. if (marker !== possibleAncestor) {
  1621. // we never got to `possibleAncestor`, therefore the initial `marker` "escapes" it
  1622. // it's in a different part of the tree so no states will be reentered for such an external transition
  1623. return [];
  1624. }
  1625. nodes.push(possibleAncestor);
  1626. return nodes;
  1627. };
  1628. StateNode.prototype.getActions = function (resolvedConfig, isDone, transition, currentContext, _event, prevState, predictableExec) {
  1629. var e_4, _a, e_5, _b;
  1630. var _this = this;
  1631. var prevConfig = prevState ? (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getConfiguration)([], this.getStateNodes(prevState.value)) : [];
  1632. var entrySet = new Set();
  1633. try {
  1634. for (var _c = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(Array.from(resolvedConfig).sort(function (a, b) {
  1635. return a.order - b.order;
  1636. })), _d = _c.next(); !_d.done; _d = _c.next()) {
  1637. var sn = _d.value;
  1638. if (!(0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.has)(prevConfig, sn) || (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.has)(transition.exitSet, sn) || sn.parent && entrySet.has(sn.parent)) {
  1639. entrySet.add(sn);
  1640. }
  1641. }
  1642. } catch (e_4_1) {
  1643. e_4 = {
  1644. error: e_4_1
  1645. };
  1646. } finally {
  1647. try {
  1648. if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
  1649. } finally {
  1650. if (e_4) throw e_4.error;
  1651. }
  1652. }
  1653. try {
  1654. for (var prevConfig_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(prevConfig), prevConfig_1_1 = prevConfig_1.next(); !prevConfig_1_1.done; prevConfig_1_1 = prevConfig_1.next()) {
  1655. var sn = prevConfig_1_1.value;
  1656. if (!(0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.has)(resolvedConfig, sn) || (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.has)(transition.exitSet, sn.parent)) {
  1657. transition.exitSet.push(sn);
  1658. }
  1659. }
  1660. } catch (e_5_1) {
  1661. e_5 = {
  1662. error: e_5_1
  1663. };
  1664. } finally {
  1665. try {
  1666. if (prevConfig_1_1 && !prevConfig_1_1.done && (_b = prevConfig_1.return)) _b.call(prevConfig_1);
  1667. } finally {
  1668. if (e_5) throw e_5.error;
  1669. }
  1670. }
  1671. transition.exitSet.sort(function (a, b) {
  1672. return b.order - a.order;
  1673. });
  1674. var entryStates = Array.from(entrySet).sort(function (a, b) {
  1675. return a.order - b.order;
  1676. });
  1677. var exitStates = new Set(transition.exitSet);
  1678. var doneEvents = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(entryStates.map(function (sn) {
  1679. var events = [];
  1680. if (sn.type !== 'final') {
  1681. return events;
  1682. }
  1683. var parent = sn.parent;
  1684. if (!parent.parent) {
  1685. return events;
  1686. }
  1687. events.push((0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.done)(sn.id, sn.doneData), // TODO: deprecate - final states should not emit done events for their own state.
  1688. (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.done)(parent.id, sn.doneData ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapContext)(sn.doneData, currentContext, _event) : undefined));
  1689. var grandparent = parent.parent;
  1690. if (grandparent.type === 'parallel') {
  1691. if ((0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getChildren)(grandparent).every(function (parentNode) {
  1692. return (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.isInFinalState)(transition.configuration, parentNode);
  1693. })) {
  1694. events.push((0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.done)(grandparent.id));
  1695. }
  1696. }
  1697. return events;
  1698. }));
  1699. var entryActions = entryStates.map(function (stateNode) {
  1700. var entryActions = stateNode.onEntry;
  1701. var invokeActions = stateNode.activities.map(function (activity) {
  1702. return (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.start)(activity);
  1703. });
  1704. return {
  1705. type: 'entry',
  1706. actions: (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.toActionObjects)(predictableExec ? (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(entryActions), false), (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(invokeActions), false) : (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(invokeActions), false), (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(entryActions), false), _this.machine.options.actions)
  1707. };
  1708. }).concat({
  1709. type: 'state_done',
  1710. actions: doneEvents.map(function (event) {
  1711. return (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.raise)(event);
  1712. })
  1713. });
  1714. var exitActions = Array.from(exitStates).map(function (stateNode) {
  1715. return {
  1716. type: 'exit',
  1717. actions: (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.toActionObjects)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(stateNode.onExit), false), (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(stateNode.activities.map(function (activity) {
  1718. return (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.stop)(activity);
  1719. })), false), _this.machine.options.actions)
  1720. };
  1721. });
  1722. var actions = exitActions.concat({
  1723. type: 'transition',
  1724. actions: (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.toActionObjects)(transition.actions, this.machine.options.actions)
  1725. }).concat(entryActions);
  1726. if (isDone) {
  1727. var stopActions = (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.toActionObjects)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(resolvedConfig), false).sort(function (a, b) {
  1728. return b.order - a.order;
  1729. }).map(function (stateNode) {
  1730. return stateNode.onExit;
  1731. })), this.machine.options.actions).filter(function (action) {
  1732. return !(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isRaisableAction)(action);
  1733. });
  1734. return actions.concat({
  1735. type: 'stop',
  1736. actions: stopActions
  1737. });
  1738. }
  1739. return actions;
  1740. };
  1741. /**
  1742. * Determines the next state given the current `state` and sent `event`.
  1743. *
  1744. * @param state The current State instance or state value
  1745. * @param event The event that was sent at the current state
  1746. * @param context The current context (extended state) of the current state
  1747. */
  1748. StateNode.prototype.transition = function (state, event, context, exec) {
  1749. if (state === void 0) {
  1750. state = this.initialState;
  1751. }
  1752. var _event = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(event);
  1753. var currentState;
  1754. if (state instanceof _State_js__WEBPACK_IMPORTED_MODULE_7__.State) {
  1755. currentState = context === undefined ? state : this.resolveState(_State_js__WEBPACK_IMPORTED_MODULE_7__.State.from(state, context));
  1756. } else {
  1757. var resolvedStateValue = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(state) ? this.resolve((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.pathToStateValue)(this.getResolvedPath(state))) : this.resolve(state);
  1758. var resolvedContext = context !== null && context !== void 0 ? context : this.machine.context;
  1759. currentState = this.resolveState(_State_js__WEBPACK_IMPORTED_MODULE_7__.State.from(resolvedStateValue, resolvedContext));
  1760. }
  1761. if (!_environment_js__WEBPACK_IMPORTED_MODULE_3__.IS_PRODUCTION && _event.name === WILDCARD) {
  1762. throw new Error("An event cannot have the wildcard type ('".concat(WILDCARD, "')"));
  1763. }
  1764. if (this.strict) {
  1765. if (!this.events.includes(_event.name) && !(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isBuiltInEvent)(_event.name)) {
  1766. throw new Error("Machine '".concat(this.id, "' does not accept event '").concat(_event.name, "'"));
  1767. }
  1768. }
  1769. var stateTransition = this._transition(currentState.value, currentState, _event) || {
  1770. transitions: [],
  1771. configuration: [],
  1772. exitSet: [],
  1773. source: currentState,
  1774. actions: []
  1775. };
  1776. var prevConfig = (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getConfiguration)([], this.getStateNodes(currentState.value));
  1777. var resolvedConfig = stateTransition.configuration.length ? (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getConfiguration)(prevConfig, stateTransition.configuration) : prevConfig;
  1778. stateTransition.configuration = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(resolvedConfig), false);
  1779. return this.resolveTransition(stateTransition, currentState, currentState.context, exec, _event);
  1780. };
  1781. StateNode.prototype.resolveRaisedTransition = function (state, _event, originalEvent, predictableExec) {
  1782. var _a;
  1783. var currentActions = state.actions;
  1784. state = this.transition(state, _event, undefined, predictableExec); // Save original event to state
  1785. // TODO: this should be the raised event! Delete in V5 (breaking)
  1786. state._event = originalEvent;
  1787. state.event = originalEvent.data;
  1788. (_a = state.actions).unshift.apply(_a, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(currentActions), false));
  1789. return state;
  1790. };
  1791. StateNode.prototype.resolveTransition = function (stateTransition, currentState, context, predictableExec, _event) {
  1792. var e_6, _a, e_7, _b;
  1793. var _this = this;
  1794. if (_event === void 0) {
  1795. _event = _actions_js__WEBPACK_IMPORTED_MODULE_5__.initEvent;
  1796. }
  1797. var configuration = stateTransition.configuration; // Transition will "apply" if:
  1798. // - this is the initial state (there is no current state)
  1799. // - OR there are transitions
  1800. var willTransition = !currentState || stateTransition.transitions.length > 0;
  1801. var resolvedConfiguration = willTransition ? stateTransition.configuration : currentState ? currentState.configuration : [];
  1802. var isDone = (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.isInFinalState)(resolvedConfiguration, this);
  1803. var resolvedStateValue = willTransition ? (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getValue)(this.machine, configuration) : undefined;
  1804. var historyValue = currentState ? currentState.historyValue ? currentState.historyValue : stateTransition.source ? this.machine.historyValue(currentState.value) : undefined : undefined;
  1805. var actionBlocks = this.getActions(new Set(resolvedConfiguration), isDone, stateTransition, context, _event, currentState, predictableExec);
  1806. var activities = currentState ? (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, currentState.activities) : {};
  1807. try {
  1808. for (var actionBlocks_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {
  1809. var block = actionBlocks_1_1.value;
  1810. try {
  1811. for (var _c = (e_7 = void 0, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(block.actions)), _d = _c.next(); !_d.done; _d = _c.next()) {
  1812. var action = _d.value;
  1813. if (action.type === _actionTypes_js__WEBPACK_IMPORTED_MODULE_8__.start) {
  1814. activities[action.activity.id || action.activity.type] = action;
  1815. } else if (action.type === _actionTypes_js__WEBPACK_IMPORTED_MODULE_8__.stop) {
  1816. activities[action.activity.id || action.activity.type] = false;
  1817. }
  1818. }
  1819. } catch (e_7_1) {
  1820. e_7 = {
  1821. error: e_7_1
  1822. };
  1823. } finally {
  1824. try {
  1825. if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
  1826. } finally {
  1827. if (e_7) throw e_7.error;
  1828. }
  1829. }
  1830. }
  1831. } catch (e_6_1) {
  1832. e_6 = {
  1833. error: e_6_1
  1834. };
  1835. } finally {
  1836. try {
  1837. if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);
  1838. } finally {
  1839. if (e_6) throw e_6.error;
  1840. }
  1841. }
  1842. var _e = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)((0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.resolveActions)(this, currentState, context, _event, actionBlocks, predictableExec, this.machine.config.predictableActionArguments || this.machine.config.preserveActionOrder), 2),
  1843. resolvedActions = _e[0],
  1844. updatedContext = _e[1];
  1845. var _f = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.partition)(resolvedActions, _utils_js__WEBPACK_IMPORTED_MODULE_0__.isRaisableAction), 2),
  1846. raisedEvents = _f[0],
  1847. nonRaisedActions = _f[1];
  1848. var invokeActions = resolvedActions.filter(function (action) {
  1849. var _a;
  1850. return action.type === _actionTypes_js__WEBPACK_IMPORTED_MODULE_8__.start && ((_a = action.activity) === null || _a === void 0 ? void 0 : _a.type) === _actionTypes_js__WEBPACK_IMPORTED_MODULE_8__.invoke;
  1851. });
  1852. var children = invokeActions.reduce(function (acc, action) {
  1853. acc[action.activity.id] = (0,_Actor_js__WEBPACK_IMPORTED_MODULE_9__.createInvocableActor)(action.activity, _this.machine, updatedContext, _event);
  1854. return acc;
  1855. }, currentState ? (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, currentState.children) : {});
  1856. var nextState = new _State_js__WEBPACK_IMPORTED_MODULE_7__.State({
  1857. value: resolvedStateValue || currentState.value,
  1858. context: updatedContext,
  1859. _event: _event,
  1860. // Persist _sessionid between states
  1861. _sessionid: currentState ? currentState._sessionid : null,
  1862. historyValue: resolvedStateValue ? historyValue ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.updateHistoryValue)(historyValue, resolvedStateValue) : undefined : currentState ? currentState.historyValue : undefined,
  1863. history: !resolvedStateValue || stateTransition.source ? currentState : undefined,
  1864. actions: resolvedStateValue ? nonRaisedActions : [],
  1865. activities: resolvedStateValue ? activities : currentState ? currentState.activities : {},
  1866. events: [],
  1867. configuration: resolvedConfiguration,
  1868. transitions: stateTransition.transitions,
  1869. children: children,
  1870. done: isDone,
  1871. tags: (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.getTagsFromConfiguration)(resolvedConfiguration),
  1872. machine: this
  1873. });
  1874. var didUpdateContext = context !== updatedContext;
  1875. nextState.changed = _event.name === _actionTypes_js__WEBPACK_IMPORTED_MODULE_8__.update || didUpdateContext; // Dispose of penultimate histories to prevent memory leaks
  1876. var history = nextState.history;
  1877. if (history) {
  1878. delete history.history;
  1879. } // There are transient transitions if the machine is not in a final state
  1880. // and if some of the state nodes have transient ("always") transitions.
  1881. var hasAlwaysTransitions = !isDone && (this._transient || configuration.some(function (stateNode) {
  1882. return stateNode._transient;
  1883. })); // If there are no enabled transitions, check if there are transient transitions.
  1884. // If there are transient transitions, continue checking for more transitions
  1885. // because an transient transition should be triggered even if there are no
  1886. // enabled transitions.
  1887. //
  1888. // If we're already working on an transient transition then stop to prevent an infinite loop.
  1889. //
  1890. // Otherwise, if there are no enabled nor transient transitions, we are done.
  1891. if (!willTransition && (!hasAlwaysTransitions || _event.name === NULL_EVENT)) {
  1892. return nextState;
  1893. }
  1894. var maybeNextState = nextState;
  1895. if (!isDone) {
  1896. if (hasAlwaysTransitions) {
  1897. maybeNextState = this.resolveRaisedTransition(maybeNextState, {
  1898. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_8__.nullEvent
  1899. }, _event, predictableExec);
  1900. }
  1901. while (raisedEvents.length) {
  1902. var raisedEvent = raisedEvents.shift();
  1903. maybeNextState = this.resolveRaisedTransition(maybeNextState, raisedEvent._event, _event, predictableExec);
  1904. }
  1905. } // Detect if state changed
  1906. var changed = maybeNextState.changed || (history ? !!maybeNextState.actions.length || didUpdateContext || typeof history.value !== typeof maybeNextState.value || !(0,_State_js__WEBPACK_IMPORTED_MODULE_7__.stateValuesEqual)(maybeNextState.value, history.value) : undefined);
  1907. maybeNextState.changed = changed; // Preserve original history after raised events
  1908. maybeNextState.history = history;
  1909. return maybeNextState;
  1910. };
  1911. /**
  1912. * Returns the child state node from its relative `stateKey`, or throws.
  1913. */
  1914. StateNode.prototype.getStateNode = function (stateKey) {
  1915. if (isStateId(stateKey)) {
  1916. return this.machine.getStateNodeById(stateKey);
  1917. }
  1918. if (!this.states) {
  1919. throw new Error("Unable to retrieve child state '".concat(stateKey, "' from '").concat(this.id, "'; no child states exist."));
  1920. }
  1921. var result = this.states[stateKey];
  1922. if (!result) {
  1923. throw new Error("Child state '".concat(stateKey, "' does not exist on '").concat(this.id, "'"));
  1924. }
  1925. return result;
  1926. };
  1927. /**
  1928. * Returns the state node with the given `stateId`, or throws.
  1929. *
  1930. * @param stateId The state ID. The prefix "#" is removed.
  1931. */
  1932. StateNode.prototype.getStateNodeById = function (stateId) {
  1933. var resolvedStateId = isStateId(stateId) ? stateId.slice(STATE_IDENTIFIER.length) : stateId;
  1934. if (resolvedStateId === this.id) {
  1935. return this;
  1936. }
  1937. var stateNode = this.machine.idMap[resolvedStateId];
  1938. if (!stateNode) {
  1939. throw new Error("Child state node '#".concat(resolvedStateId, "' does not exist on machine '").concat(this.id, "'"));
  1940. }
  1941. return stateNode;
  1942. };
  1943. /**
  1944. * Returns the relative state node from the given `statePath`, or throws.
  1945. *
  1946. * @param statePath The string or string array relative path to the state node.
  1947. */
  1948. StateNode.prototype.getStateNodeByPath = function (statePath) {
  1949. if (typeof statePath === 'string' && isStateId(statePath)) {
  1950. try {
  1951. return this.getStateNodeById(statePath.slice(1));
  1952. } catch (e) {// try individual paths
  1953. // throw e;
  1954. }
  1955. }
  1956. var arrayStatePath = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toStatePath)(statePath, this.delimiter).slice();
  1957. var currentStateNode = this;
  1958. while (arrayStatePath.length) {
  1959. var key = arrayStatePath.shift();
  1960. if (!key.length) {
  1961. break;
  1962. }
  1963. currentStateNode = currentStateNode.getStateNode(key);
  1964. }
  1965. return currentStateNode;
  1966. };
  1967. /**
  1968. * Resolves a partial state value with its full representation in this machine.
  1969. *
  1970. * @param stateValue The partial state value to resolve.
  1971. */
  1972. StateNode.prototype.resolve = function (stateValue) {
  1973. var _a;
  1974. var _this = this;
  1975. if (!stateValue) {
  1976. return this.initialStateValue || EMPTY_OBJECT; // TODO: type-specific properties
  1977. }
  1978. switch (this.type) {
  1979. case 'parallel':
  1980. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapValues)(this.initialStateValue, function (subStateValue, subStateKey) {
  1981. return subStateValue ? _this.getStateNode(subStateKey).resolve(stateValue[subStateKey] || subStateValue) : EMPTY_OBJECT;
  1982. });
  1983. case 'compound':
  1984. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(stateValue)) {
  1985. var subStateNode = this.getStateNode(stateValue);
  1986. if (subStateNode.type === 'parallel' || subStateNode.type === 'compound') {
  1987. return _a = {}, _a[stateValue] = subStateNode.initialStateValue, _a;
  1988. }
  1989. return stateValue;
  1990. }
  1991. if (!Object.keys(stateValue).length) {
  1992. return this.initialStateValue || {};
  1993. }
  1994. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapValues)(stateValue, function (subStateValue, subStateKey) {
  1995. return subStateValue ? _this.getStateNode(subStateKey).resolve(subStateValue) : EMPTY_OBJECT;
  1996. });
  1997. default:
  1998. return stateValue || EMPTY_OBJECT;
  1999. }
  2000. };
  2001. StateNode.prototype.getResolvedPath = function (stateIdentifier) {
  2002. if (isStateId(stateIdentifier)) {
  2003. var stateNode = this.machine.idMap[stateIdentifier.slice(STATE_IDENTIFIER.length)];
  2004. if (!stateNode) {
  2005. throw new Error("Unable to find state node '".concat(stateIdentifier, "'"));
  2006. }
  2007. return stateNode.path;
  2008. }
  2009. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toStatePath)(stateIdentifier, this.delimiter);
  2010. };
  2011. Object.defineProperty(StateNode.prototype, "initialStateValue", {
  2012. get: function () {
  2013. var _a;
  2014. if (this.__cache.initialStateValue) {
  2015. return this.__cache.initialStateValue;
  2016. }
  2017. var initialStateValue;
  2018. if (this.type === 'parallel') {
  2019. initialStateValue = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapFilterValues)(this.states, function (state) {
  2020. return state.initialStateValue || EMPTY_OBJECT;
  2021. }, function (stateNode) {
  2022. return !(stateNode.type === 'history');
  2023. });
  2024. } else if (this.initial !== undefined) {
  2025. if (!this.states[this.initial]) {
  2026. throw new Error("Initial state '".concat(this.initial, "' not found on '").concat(this.key, "'"));
  2027. }
  2028. initialStateValue = (0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.isLeafNode)(this.states[this.initial]) ? this.initial : (_a = {}, _a[this.initial] = this.states[this.initial].initialStateValue, _a);
  2029. } else {
  2030. // The finite state value of a machine without child states is just an empty object
  2031. initialStateValue = {};
  2032. }
  2033. this.__cache.initialStateValue = initialStateValue;
  2034. return this.__cache.initialStateValue;
  2035. },
  2036. enumerable: false,
  2037. configurable: true
  2038. });
  2039. StateNode.prototype.getInitialState = function (stateValue, context) {
  2040. this._init(); // TODO: this should be in the constructor (see note in constructor)
  2041. var configuration = this.getStateNodes(stateValue);
  2042. return this.resolveTransition({
  2043. configuration: configuration,
  2044. exitSet: [],
  2045. transitions: [],
  2046. source: undefined,
  2047. actions: []
  2048. }, undefined, context !== null && context !== void 0 ? context : this.machine.context, undefined);
  2049. };
  2050. Object.defineProperty(StateNode.prototype, "initialState", {
  2051. /**
  2052. * The initial State instance, which includes all actions to be executed from
  2053. * entering the initial state.
  2054. */
  2055. get: function () {
  2056. var initialStateValue = this.initialStateValue;
  2057. if (!initialStateValue) {
  2058. throw new Error("Cannot retrieve initial state from simple state '".concat(this.id, "'."));
  2059. }
  2060. return this.getInitialState(initialStateValue);
  2061. },
  2062. enumerable: false,
  2063. configurable: true
  2064. });
  2065. Object.defineProperty(StateNode.prototype, "target", {
  2066. /**
  2067. * The target state value of the history state node, if it exists. This represents the
  2068. * default state value to transition to if no history value exists yet.
  2069. */
  2070. get: function () {
  2071. var target;
  2072. if (this.type === 'history') {
  2073. var historyConfig = this.config;
  2074. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(historyConfig.target)) {
  2075. target = isStateId(historyConfig.target) ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.pathToStateValue)(this.machine.getStateNodeById(historyConfig.target).path.slice(this.path.length - 1)) : historyConfig.target;
  2076. } else {
  2077. target = historyConfig.target;
  2078. }
  2079. }
  2080. return target;
  2081. },
  2082. enumerable: false,
  2083. configurable: true
  2084. });
  2085. /**
  2086. * Returns the leaf nodes from a state path relative to this state node.
  2087. *
  2088. * @param relativeStateId The relative state path to retrieve the state nodes
  2089. * @param history The previous state to retrieve history
  2090. * @param resolve Whether state nodes should resolve to initial child state nodes
  2091. */
  2092. StateNode.prototype.getRelativeStateNodes = function (relativeStateId, historyValue, resolve) {
  2093. if (resolve === void 0) {
  2094. resolve = true;
  2095. }
  2096. return resolve ? relativeStateId.type === 'history' ? relativeStateId.resolveHistory(historyValue) : relativeStateId.initialStateNodes : [relativeStateId];
  2097. };
  2098. Object.defineProperty(StateNode.prototype, "initialStateNodes", {
  2099. get: function () {
  2100. var _this = this;
  2101. if ((0,_stateUtils_js__WEBPACK_IMPORTED_MODULE_4__.isLeafNode)(this)) {
  2102. return [this];
  2103. } // Case when state node is compound but no initial state is defined
  2104. if (this.type === 'compound' && !this.initial) {
  2105. if (!_environment_js__WEBPACK_IMPORTED_MODULE_3__.IS_PRODUCTION) {
  2106. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(false, "Compound state node '".concat(this.id, "' has no initial state."));
  2107. }
  2108. return [this];
  2109. }
  2110. var initialStateNodePaths = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toStatePaths)(this.initialStateValue);
  2111. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(initialStateNodePaths.map(function (initialPath) {
  2112. return _this.getFromRelativePath(initialPath);
  2113. }));
  2114. },
  2115. enumerable: false,
  2116. configurable: true
  2117. });
  2118. /**
  2119. * Retrieves state nodes from a relative path to this state node.
  2120. *
  2121. * @param relativePath The relative path from this state node
  2122. * @param historyValue
  2123. */
  2124. StateNode.prototype.getFromRelativePath = function (relativePath) {
  2125. if (!relativePath.length) {
  2126. return [this];
  2127. }
  2128. var _a = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(relativePath),
  2129. stateKey = _a[0],
  2130. childStatePath = _a.slice(1);
  2131. if (!this.states) {
  2132. throw new Error("Cannot retrieve subPath '".concat(stateKey, "' from node with no states"));
  2133. }
  2134. var childStateNode = this.getStateNode(stateKey);
  2135. if (childStateNode.type === 'history') {
  2136. return childStateNode.resolveHistory();
  2137. }
  2138. if (!this.states[stateKey]) {
  2139. throw new Error("Child state '".concat(stateKey, "' does not exist on '").concat(this.id, "'"));
  2140. }
  2141. return this.states[stateKey].getFromRelativePath(childStatePath);
  2142. };
  2143. StateNode.prototype.historyValue = function (relativeStateValue) {
  2144. if (!Object.keys(this.states).length) {
  2145. return undefined;
  2146. }
  2147. return {
  2148. current: relativeStateValue || this.initialStateValue,
  2149. states: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapFilterValues)(this.states, function (stateNode, key) {
  2150. if (!relativeStateValue) {
  2151. return stateNode.historyValue();
  2152. }
  2153. var subStateValue = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(relativeStateValue) ? undefined : relativeStateValue[key];
  2154. return stateNode.historyValue(subStateValue || stateNode.initialStateValue);
  2155. }, function (stateNode) {
  2156. return !stateNode.history;
  2157. })
  2158. };
  2159. };
  2160. /**
  2161. * Resolves to the historical value(s) of the parent state node,
  2162. * represented by state nodes.
  2163. *
  2164. * @param historyValue
  2165. */
  2166. StateNode.prototype.resolveHistory = function (historyValue) {
  2167. var _this = this;
  2168. if (this.type !== 'history') {
  2169. return [this];
  2170. }
  2171. var parent = this.parent;
  2172. if (!historyValue) {
  2173. var historyTarget = this.target;
  2174. return historyTarget ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toStatePaths)(historyTarget).map(function (relativeChildPath) {
  2175. return parent.getFromRelativePath(relativeChildPath);
  2176. })) : parent.initialStateNodes;
  2177. }
  2178. var subHistoryValue = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.nestedPath)(parent.path, 'states')(historyValue).current;
  2179. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(subHistoryValue)) {
  2180. return [parent.getStateNode(subHistoryValue)];
  2181. }
  2182. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toStatePaths)(subHistoryValue).map(function (subStatePath) {
  2183. return _this.history === 'deep' ? parent.getFromRelativePath(subStatePath) : [parent.states[subStatePath[0]]];
  2184. }));
  2185. };
  2186. Object.defineProperty(StateNode.prototype, "stateIds", {
  2187. /**
  2188. * All the state node IDs of this state node and its descendant state nodes.
  2189. */
  2190. get: function () {
  2191. var _this = this;
  2192. var childStateIds = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(Object.keys(this.states).map(function (stateKey) {
  2193. return _this.states[stateKey].stateIds;
  2194. }));
  2195. return [this.id].concat(childStateIds);
  2196. },
  2197. enumerable: false,
  2198. configurable: true
  2199. });
  2200. Object.defineProperty(StateNode.prototype, "events", {
  2201. /**
  2202. * All the event types accepted by this state node and its descendants.
  2203. */
  2204. get: function () {
  2205. var e_8, _a, e_9, _b;
  2206. if (this.__cache.events) {
  2207. return this.__cache.events;
  2208. }
  2209. var states = this.states;
  2210. var events = new Set(this.ownEvents);
  2211. if (states) {
  2212. try {
  2213. for (var _c = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(Object.keys(states)), _d = _c.next(); !_d.done; _d = _c.next()) {
  2214. var stateId = _d.value;
  2215. var state = states[stateId];
  2216. if (state.states) {
  2217. try {
  2218. for (var _e = (e_9 = void 0, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(state.events)), _f = _e.next(); !_f.done; _f = _e.next()) {
  2219. var event_1 = _f.value;
  2220. events.add("".concat(event_1));
  2221. }
  2222. } catch (e_9_1) {
  2223. e_9 = {
  2224. error: e_9_1
  2225. };
  2226. } finally {
  2227. try {
  2228. if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
  2229. } finally {
  2230. if (e_9) throw e_9.error;
  2231. }
  2232. }
  2233. }
  2234. }
  2235. } catch (e_8_1) {
  2236. e_8 = {
  2237. error: e_8_1
  2238. };
  2239. } finally {
  2240. try {
  2241. if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
  2242. } finally {
  2243. if (e_8) throw e_8.error;
  2244. }
  2245. }
  2246. }
  2247. return this.__cache.events = Array.from(events);
  2248. },
  2249. enumerable: false,
  2250. configurable: true
  2251. });
  2252. Object.defineProperty(StateNode.prototype, "ownEvents", {
  2253. /**
  2254. * All the events that have transitions directly from this state node.
  2255. *
  2256. * Excludes any inert events.
  2257. */
  2258. get: function () {
  2259. var events = new Set(this.transitions.filter(function (transition) {
  2260. return !(!transition.target && !transition.actions.length && transition.internal);
  2261. }).map(function (transition) {
  2262. return transition.eventType;
  2263. }));
  2264. return Array.from(events);
  2265. },
  2266. enumerable: false,
  2267. configurable: true
  2268. });
  2269. StateNode.prototype.resolveTarget = function (_target) {
  2270. var _this = this;
  2271. if (_target === undefined) {
  2272. // an undefined target signals that the state node should not transition from that state when receiving that event
  2273. return undefined;
  2274. }
  2275. return _target.map(function (target) {
  2276. if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(target)) {
  2277. return target;
  2278. }
  2279. var isInternalTarget = target[0] === _this.delimiter; // If internal target is defined on machine,
  2280. // do not include machine key on target
  2281. if (isInternalTarget && !_this.parent) {
  2282. return _this.getStateNodeByPath(target.slice(1));
  2283. }
  2284. var resolvedTarget = isInternalTarget ? _this.key + target : target;
  2285. if (_this.parent) {
  2286. try {
  2287. var targetStateNode = _this.parent.getStateNodeByPath(resolvedTarget);
  2288. return targetStateNode;
  2289. } catch (err) {
  2290. throw new Error("Invalid transition definition for state node '".concat(_this.id, "':\n").concat(err.message));
  2291. }
  2292. } else {
  2293. return _this.getStateNodeByPath(resolvedTarget);
  2294. }
  2295. });
  2296. };
  2297. StateNode.prototype.formatTransition = function (transitionConfig) {
  2298. var _this = this;
  2299. var normalizedTarget = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.normalizeTarget)(transitionConfig.target);
  2300. var internal = 'internal' in transitionConfig ? transitionConfig.internal : normalizedTarget ? normalizedTarget.some(function (_target) {
  2301. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(_target) && _target[0] === _this.delimiter;
  2302. }) : true;
  2303. var guards = this.machine.options.guards;
  2304. var target = this.resolveTarget(normalizedTarget);
  2305. var transition = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, transitionConfig), {
  2306. actions: (0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.toActionObjects)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(transitionConfig.actions)),
  2307. cond: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toGuard)(transitionConfig.cond, guards),
  2308. target: target,
  2309. source: this,
  2310. internal: internal,
  2311. eventType: transitionConfig.event,
  2312. toJSON: function () {
  2313. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, transition), {
  2314. target: transition.target ? transition.target.map(function (t) {
  2315. return "#".concat(t.id);
  2316. }) : undefined,
  2317. source: "#".concat(_this.id)
  2318. });
  2319. }
  2320. });
  2321. return transition;
  2322. };
  2323. StateNode.prototype.formatTransitions = function () {
  2324. var e_10, _a;
  2325. var _this = this;
  2326. var onConfig;
  2327. if (!this.config.on) {
  2328. onConfig = [];
  2329. } else if (Array.isArray(this.config.on)) {
  2330. onConfig = this.config.on;
  2331. } else {
  2332. var _b = this.config.on,
  2333. _c = WILDCARD,
  2334. _d = _b[_c],
  2335. wildcardConfigs = _d === void 0 ? [] : _d,
  2336. strictTransitionConfigs_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__rest)(_b, [typeof _c === "symbol" ? _c : _c + ""]);
  2337. onConfig = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(Object.keys(strictTransitionConfigs_1).map(function (key) {
  2338. if (!_environment_js__WEBPACK_IMPORTED_MODULE_3__.IS_PRODUCTION && key === NULL_EVENT) {
  2339. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(false, "Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. " + "Please check the `on` configuration for \"#".concat(_this.id, "\"."));
  2340. }
  2341. var transitionConfigArray = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toTransitionConfigArray)(key, strictTransitionConfigs_1[key]);
  2342. if (!_environment_js__WEBPACK_IMPORTED_MODULE_3__.IS_PRODUCTION) {
  2343. validateArrayifiedTransitions(_this, key, transitionConfigArray);
  2344. }
  2345. return transitionConfigArray;
  2346. }).concat((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toTransitionConfigArray)(WILDCARD, wildcardConfigs)));
  2347. }
  2348. var eventlessConfig = this.config.always ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toTransitionConfigArray)('', this.config.always) : [];
  2349. var doneConfig = this.config.onDone ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toTransitionConfigArray)(String((0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.done)(this.id)), this.config.onDone) : [];
  2350. if (!_environment_js__WEBPACK_IMPORTED_MODULE_3__.IS_PRODUCTION) {
  2351. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(!(this.config.onDone && !this.parent), "Root nodes cannot have an \".onDone\" transition. Please check the config of \"".concat(this.id, "\"."));
  2352. }
  2353. var invokeConfig = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(this.invoke.map(function (invokeDef) {
  2354. var settleTransitions = [];
  2355. if (invokeDef.onDone) {
  2356. settleTransitions.push.apply(settleTransitions, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toTransitionConfigArray)(String((0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.doneInvoke)(invokeDef.id)), invokeDef.onDone)), false));
  2357. }
  2358. if (invokeDef.onError) {
  2359. settleTransitions.push.apply(settleTransitions, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toTransitionConfigArray)(String((0,_actions_js__WEBPACK_IMPORTED_MODULE_5__.error)(invokeDef.id)), invokeDef.onError)), false));
  2360. }
  2361. return settleTransitions;
  2362. }));
  2363. var delayedTransitions = this.after;
  2364. var formattedTransitions = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(doneConfig), false), (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(invokeConfig), false), (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(onConfig), false), (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(eventlessConfig), false).map(function (transitionConfig) {
  2365. return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(transitionConfig).map(function (transition) {
  2366. return _this.formatTransition(transition);
  2367. });
  2368. }));
  2369. try {
  2370. for (var delayedTransitions_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(delayedTransitions), delayedTransitions_1_1 = delayedTransitions_1.next(); !delayedTransitions_1_1.done; delayedTransitions_1_1 = delayedTransitions_1.next()) {
  2371. var delayedTransition = delayedTransitions_1_1.value;
  2372. formattedTransitions.push(delayedTransition);
  2373. }
  2374. } catch (e_10_1) {
  2375. e_10 = {
  2376. error: e_10_1
  2377. };
  2378. } finally {
  2379. try {
  2380. if (delayedTransitions_1_1 && !delayedTransitions_1_1.done && (_a = delayedTransitions_1.return)) _a.call(delayedTransitions_1);
  2381. } finally {
  2382. if (e_10) throw e_10.error;
  2383. }
  2384. }
  2385. return formattedTransitions;
  2386. };
  2387. return StateNode;
  2388. }();
  2389. /***/ }),
  2390. /***/ "./node_modules/xstate/es/_virtual/_tslib.js":
  2391. /*!***************************************************!*\
  2392. !*** ./node_modules/xstate/es/_virtual/_tslib.js ***!
  2393. \***************************************************/
  2394. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  2395. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2396. /* harmony export */ __assign: function() { return /* binding */ __assign; },
  2397. /* harmony export */ __read: function() { return /* binding */ __read; },
  2398. /* harmony export */ __rest: function() { return /* binding */ __rest; },
  2399. /* harmony export */ __spreadArray: function() { return /* binding */ __spreadArray; },
  2400. /* harmony export */ __values: function() { return /* binding */ __values; }
  2401. /* harmony export */ });
  2402. /*! *****************************************************************************
  2403. Copyright (c) Microsoft Corporation.
  2404. Permission to use, copy, modify, and/or distribute this software for any
  2405. purpose with or without fee is hereby granted.
  2406. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
  2407. REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  2408. AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
  2409. INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  2410. LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  2411. OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  2412. PERFORMANCE OF THIS SOFTWARE.
  2413. ***************************************************************************** */
  2414. var __assign = function() {
  2415. __assign = Object.assign || function __assign(t) {
  2416. for (var s, i = 1, n = arguments.length; i < n; i++) {
  2417. s = arguments[i];
  2418. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
  2419. }
  2420. return t;
  2421. };
  2422. return __assign.apply(this, arguments);
  2423. };
  2424. function __rest(s, e) {
  2425. var t = {};
  2426. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
  2427. t[p] = s[p];
  2428. if (s != null && typeof Object.getOwnPropertySymbols === "function")
  2429. for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
  2430. if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
  2431. t[p[i]] = s[p[i]];
  2432. }
  2433. return t;
  2434. }
  2435. function __values(o) {
  2436. var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
  2437. if (m) return m.call(o);
  2438. if (o && typeof o.length === "number") return {
  2439. next: function () {
  2440. if (o && i >= o.length) o = void 0;
  2441. return { value: o && o[i++], done: !o };
  2442. }
  2443. };
  2444. throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
  2445. }
  2446. function __read(o, n) {
  2447. var m = typeof Symbol === "function" && o[Symbol.iterator];
  2448. if (!m) return o;
  2449. var i = m.call(o), r, ar = [], e;
  2450. try {
  2451. while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
  2452. }
  2453. catch (error) { e = { error: error }; }
  2454. finally {
  2455. try {
  2456. if (r && !r.done && (m = i["return"])) m.call(i);
  2457. }
  2458. finally { if (e) throw e.error; }
  2459. }
  2460. return ar;
  2461. }
  2462. function __spreadArray(to, from, pack) {
  2463. if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
  2464. if (ar || !(i in from)) {
  2465. if (!ar) ar = Array.prototype.slice.call(from, 0, i);
  2466. ar[i] = from[i];
  2467. }
  2468. }
  2469. return to.concat(ar || Array.prototype.slice.call(from));
  2470. }
  2471. /***/ }),
  2472. /***/ "./node_modules/xstate/es/actionTypes.js":
  2473. /*!***********************************************!*\
  2474. !*** ./node_modules/xstate/es/actionTypes.js ***!
  2475. \***********************************************/
  2476. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  2477. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2478. /* harmony export */ assign: function() { return /* binding */ assign; },
  2479. /* harmony export */ cancel: function() { return /* binding */ cancel; },
  2480. /* harmony export */ choose: function() { return /* binding */ choose; },
  2481. /* harmony export */ error: function() { return /* binding */ error; },
  2482. /* harmony export */ errorPlatform: function() { return /* binding */ errorPlatform; },
  2483. /* harmony export */ init: function() { return /* binding */ init; },
  2484. /* harmony export */ invoke: function() { return /* binding */ invoke; },
  2485. /* harmony export */ log: function() { return /* binding */ log; },
  2486. /* harmony export */ nullEvent: function() { return /* binding */ nullEvent; },
  2487. /* harmony export */ pure: function() { return /* binding */ pure; },
  2488. /* harmony export */ raise: function() { return /* binding */ raise; },
  2489. /* harmony export */ send: function() { return /* binding */ send; },
  2490. /* harmony export */ start: function() { return /* binding */ start; },
  2491. /* harmony export */ stop: function() { return /* binding */ stop; },
  2492. /* harmony export */ update: function() { return /* binding */ update; }
  2493. /* harmony export */ });
  2494. /* unused harmony exports after, doneState, errorExecution */
  2495. /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ "./node_modules/xstate/es/types.js");
  2496. var start = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Start;
  2497. var stop = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Stop;
  2498. var raise = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Raise;
  2499. var send = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Send;
  2500. var cancel = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Cancel;
  2501. var nullEvent = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.NullEvent;
  2502. var assign = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Assign;
  2503. var after = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.After;
  2504. var doneState = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.DoneState;
  2505. var log = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Log;
  2506. var init = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Init;
  2507. var invoke = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Invoke;
  2508. var errorExecution = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.ErrorExecution;
  2509. var errorPlatform = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.ErrorPlatform;
  2510. var error = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.ErrorCustom;
  2511. var update = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Update;
  2512. var choose = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Choose;
  2513. var pure = _types_js__WEBPACK_IMPORTED_MODULE_0__.ActionTypes.Pure;
  2514. /***/ }),
  2515. /***/ "./node_modules/xstate/es/actions.js":
  2516. /*!*******************************************!*\
  2517. !*** ./node_modules/xstate/es/actions.js ***!
  2518. \*******************************************/
  2519. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  2520. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2521. /* harmony export */ after: function() { return /* binding */ after; },
  2522. /* harmony export */ assign: function() { return /* binding */ assign; },
  2523. /* harmony export */ cancel: function() { return /* binding */ cancel; },
  2524. /* harmony export */ choose: function() { return /* binding */ choose; },
  2525. /* harmony export */ done: function() { return /* binding */ done; },
  2526. /* harmony export */ doneInvoke: function() { return /* binding */ doneInvoke; },
  2527. /* harmony export */ error: function() { return /* binding */ error; },
  2528. /* harmony export */ forwardTo: function() { return /* binding */ forwardTo; },
  2529. /* harmony export */ getActionFunction: function() { return /* binding */ getActionFunction; },
  2530. /* harmony export */ initEvent: function() { return /* binding */ initEvent; },
  2531. /* harmony export */ log: function() { return /* binding */ log; },
  2532. /* harmony export */ pure: function() { return /* binding */ pure; },
  2533. /* harmony export */ raise: function() { return /* binding */ raise; },
  2534. /* harmony export */ resolveActions: function() { return /* binding */ resolveActions; },
  2535. /* harmony export */ send: function() { return /* binding */ send; },
  2536. /* harmony export */ sendParent: function() { return /* binding */ sendParent; },
  2537. /* harmony export */ sendTo: function() { return /* binding */ sendTo; },
  2538. /* harmony export */ sendUpdate: function() { return /* binding */ sendUpdate; },
  2539. /* harmony export */ start: function() { return /* binding */ start; },
  2540. /* harmony export */ stop: function() { return /* binding */ stop; },
  2541. /* harmony export */ toActionObject: function() { return /* binding */ toActionObject; },
  2542. /* harmony export */ toActionObjects: function() { return /* binding */ toActionObjects; },
  2543. /* harmony export */ toActivityDefinition: function() { return /* binding */ toActivityDefinition; }
  2544. /* harmony export */ });
  2545. /* unused harmony exports escalate, isActionObject, resolveLog, resolveRaise, resolveSend, resolveStop, respond */
  2546. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  2547. /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./types.js */ "./node_modules/xstate/es/types.js");
  2548. /* harmony import */ var _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actionTypes.js */ "./node_modules/xstate/es/actionTypes.js");
  2549. /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/xstate/es/utils.js");
  2550. /* harmony import */ var _environment_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./environment.js */ "./node_modules/xstate/es/environment.js");
  2551. var initEvent = /*#__PURE__*/(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)({
  2552. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.init
  2553. });
  2554. function getActionFunction(actionType, actionFunctionMap) {
  2555. return actionFunctionMap ? actionFunctionMap[actionType] || undefined : undefined;
  2556. }
  2557. function toActionObject(action, actionFunctionMap) {
  2558. var actionObject;
  2559. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(action) || typeof action === 'number') {
  2560. var exec = getActionFunction(action, actionFunctionMap);
  2561. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(exec)) {
  2562. actionObject = {
  2563. type: action,
  2564. exec: exec
  2565. };
  2566. } else if (exec) {
  2567. actionObject = exec;
  2568. } else {
  2569. actionObject = {
  2570. type: action,
  2571. exec: undefined
  2572. };
  2573. }
  2574. } else if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(action)) {
  2575. actionObject = {
  2576. // Convert action to string if unnamed
  2577. type: action.name || action.toString(),
  2578. exec: action
  2579. };
  2580. } else {
  2581. var exec = getActionFunction(action.type, actionFunctionMap);
  2582. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(exec)) {
  2583. actionObject = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, action), {
  2584. exec: exec
  2585. });
  2586. } else if (exec) {
  2587. var actionType = exec.type || action.type;
  2588. actionObject = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, exec), action), {
  2589. type: actionType
  2590. });
  2591. } else {
  2592. actionObject = action;
  2593. }
  2594. }
  2595. return actionObject;
  2596. }
  2597. var toActionObjects = function (action, actionFunctionMap) {
  2598. if (!action) {
  2599. return [];
  2600. }
  2601. var actions = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(action) ? action : [action];
  2602. return actions.map(function (subAction) {
  2603. return toActionObject(subAction, actionFunctionMap);
  2604. });
  2605. };
  2606. function toActivityDefinition(action) {
  2607. var actionObject = toActionObject(action);
  2608. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({
  2609. id: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(action) ? action : actionObject.id
  2610. }, actionObject), {
  2611. type: actionObject.type
  2612. });
  2613. }
  2614. /**
  2615. * Raises an event. This places the event in the internal event queue, so that
  2616. * the event is immediately consumed by the machine in the current step.
  2617. *
  2618. * @param eventType The event to raise.
  2619. */
  2620. function raise(event, options) {
  2621. return {
  2622. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.raise,
  2623. event: typeof event === 'function' ? event : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toEventObject)(event),
  2624. delay: options ? options.delay : undefined,
  2625. id: options === null || options === void 0 ? void 0 : options.id
  2626. };
  2627. }
  2628. function resolveRaise(action, ctx, _event, delaysMap) {
  2629. var meta = {
  2630. _event: _event
  2631. };
  2632. var resolvedEvent = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(action.event) ? action.event(ctx, _event.data, meta) : action.event);
  2633. var resolvedDelay;
  2634. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(action.delay)) {
  2635. var configDelay = delaysMap && delaysMap[action.delay];
  2636. resolvedDelay = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;
  2637. } else {
  2638. resolvedDelay = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;
  2639. }
  2640. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, action), {
  2641. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.raise,
  2642. _event: resolvedEvent,
  2643. delay: resolvedDelay
  2644. });
  2645. }
  2646. /**
  2647. * Sends an event. This returns an action that will be read by an interpreter to
  2648. * send the event in the next step, after the current step is finished executing.
  2649. *
  2650. * @deprecated Use the `sendTo(...)` action creator instead.
  2651. *
  2652. * @param event The event to send.
  2653. * @param options Options to pass into the send event:
  2654. * - `id` - The unique send event identifier (used with `cancel()`).
  2655. * - `delay` - The number of milliseconds to delay the sending of the event.
  2656. * - `to` - The target of this event (by default, the machine the event was sent from).
  2657. */
  2658. function send(event, options) {
  2659. return {
  2660. to: options ? options.to : undefined,
  2661. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.send,
  2662. event: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(event) ? event : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toEventObject)(event),
  2663. delay: options ? options.delay : undefined,
  2664. // TODO: don't auto-generate IDs here like that
  2665. // there is too big chance of the ID collision
  2666. id: options && options.id !== undefined ? options.id : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(event) ? event.name : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getEventType)(event)
  2667. };
  2668. }
  2669. function resolveSend(action, ctx, _event, delaysMap) {
  2670. var meta = {
  2671. _event: _event
  2672. }; // TODO: helper function for resolving Expr
  2673. var resolvedEvent = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(action.event) ? action.event(ctx, _event.data, meta) : action.event);
  2674. var resolvedDelay;
  2675. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(action.delay)) {
  2676. var configDelay = delaysMap && delaysMap[action.delay];
  2677. resolvedDelay = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;
  2678. } else {
  2679. resolvedDelay = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;
  2680. }
  2681. var resolvedTarget = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(action.to) ? action.to(ctx, _event.data, meta) : action.to;
  2682. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, action), {
  2683. to: resolvedTarget,
  2684. _event: resolvedEvent,
  2685. event: resolvedEvent.data,
  2686. delay: resolvedDelay
  2687. });
  2688. }
  2689. /**
  2690. * Sends an event to this machine's parent.
  2691. *
  2692. * @param event The event to send to the parent machine.
  2693. * @param options Options to pass into the send event.
  2694. */
  2695. function sendParent(event, options) {
  2696. return send(event, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, options), {
  2697. to: _types_js__WEBPACK_IMPORTED_MODULE_3__.SpecialTargets.Parent
  2698. }));
  2699. }
  2700. /**
  2701. * Sends an event to an actor.
  2702. *
  2703. * @param actor The `ActorRef` to send the event to.
  2704. * @param event The event to send, or an expression that evaluates to the event to send
  2705. * @param options Send action options
  2706. * @returns An XState send action object
  2707. */
  2708. function sendTo(actor, event, options) {
  2709. return send(event, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, options), {
  2710. to: actor
  2711. }));
  2712. }
  2713. /**
  2714. * Sends an update event to this machine's parent.
  2715. */
  2716. function sendUpdate() {
  2717. return sendParent(_actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.update);
  2718. }
  2719. /**
  2720. * Sends an event back to the sender of the original event.
  2721. *
  2722. * @param event The event to send back to the sender
  2723. * @param options Options to pass into the send event
  2724. */
  2725. function respond(event, options) {
  2726. return send(event, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, options), {
  2727. to: function (_, __, _a) {
  2728. var _event = _a._event;
  2729. return _event.origin; // TODO: handle when _event.origin is undefined
  2730. }
  2731. }));
  2732. }
  2733. var defaultLogExpr = function (context, event) {
  2734. return {
  2735. context: context,
  2736. event: event
  2737. };
  2738. };
  2739. /**
  2740. *
  2741. * @param expr The expression function to evaluate which will be logged.
  2742. * Takes in 2 arguments:
  2743. * - `ctx` - the current state context
  2744. * - `event` - the event that caused this action to be executed.
  2745. * @param label The label to give to the logged expression.
  2746. */
  2747. function log(expr, label) {
  2748. if (expr === void 0) {
  2749. expr = defaultLogExpr;
  2750. }
  2751. return {
  2752. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.log,
  2753. label: label,
  2754. expr: expr
  2755. };
  2756. }
  2757. var resolveLog = function (action, ctx, _event) {
  2758. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, action), {
  2759. value: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(action.expr) ? action.expr : action.expr(ctx, _event.data, {
  2760. _event: _event
  2761. })
  2762. });
  2763. };
  2764. /**
  2765. * Cancels an in-flight `send(...)` action. A canceled sent action will not
  2766. * be executed, nor will its event be sent, unless it has already been sent
  2767. * (e.g., if `cancel(...)` is called after the `send(...)` action's `delay`).
  2768. *
  2769. * @param sendId The `id` of the `send(...)` action to cancel.
  2770. */
  2771. var cancel = function (sendId) {
  2772. return {
  2773. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.cancel,
  2774. sendId: sendId
  2775. };
  2776. };
  2777. /**
  2778. * Starts an activity.
  2779. *
  2780. * @param activity The activity to start.
  2781. */
  2782. function start(activity) {
  2783. var activityDef = toActivityDefinition(activity);
  2784. return {
  2785. type: _types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.Start,
  2786. activity: activityDef,
  2787. exec: undefined
  2788. };
  2789. }
  2790. /**
  2791. * Stops an activity.
  2792. *
  2793. * @param actorRef The activity to stop.
  2794. */
  2795. function stop(actorRef) {
  2796. var activity = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(actorRef) ? actorRef : toActivityDefinition(actorRef);
  2797. return {
  2798. type: _types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.Stop,
  2799. activity: activity,
  2800. exec: undefined
  2801. };
  2802. }
  2803. function resolveStop(action, context, _event) {
  2804. var actorRefOrString = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(action.activity) ? action.activity(context, _event.data) : action.activity;
  2805. var resolvedActorRef = typeof actorRefOrString === 'string' ? {
  2806. id: actorRefOrString
  2807. } : actorRefOrString;
  2808. var actionObject = {
  2809. type: _types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.Stop,
  2810. activity: resolvedActorRef
  2811. };
  2812. return actionObject;
  2813. }
  2814. /**
  2815. * Updates the current context of the machine.
  2816. *
  2817. * @param assignment An object that represents the partial context to update.
  2818. */
  2819. var assign = function (assignment) {
  2820. return {
  2821. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.assign,
  2822. assignment: assignment
  2823. };
  2824. };
  2825. function isActionObject(action) {
  2826. return typeof action === 'object' && 'type' in action;
  2827. }
  2828. /**
  2829. * Returns an event type that represents an implicit event that
  2830. * is sent after the specified `delay`.
  2831. *
  2832. * @param delayRef The delay in milliseconds
  2833. * @param id The state node ID where this event is handled
  2834. */
  2835. function after(delayRef, id) {
  2836. var idSuffix = id ? "#".concat(id) : '';
  2837. return "".concat(_types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.After, "(").concat(delayRef, ")").concat(idSuffix);
  2838. }
  2839. /**
  2840. * Returns an event that represents that a final state node
  2841. * has been reached in the parent state node.
  2842. *
  2843. * @param id The final state node's parent state node `id`
  2844. * @param data The data to pass into the event
  2845. */
  2846. function done(id, data) {
  2847. var type = "".concat(_types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.DoneState, ".").concat(id);
  2848. var eventObject = {
  2849. type: type,
  2850. data: data
  2851. };
  2852. eventObject.toString = function () {
  2853. return type;
  2854. };
  2855. return eventObject;
  2856. }
  2857. /**
  2858. * Returns an event that represents that an invoked service has terminated.
  2859. *
  2860. * An invoked service is terminated when it has reached a top-level final state node,
  2861. * but not when it is canceled.
  2862. *
  2863. * @param id The final state node ID
  2864. * @param data The data to pass into the event
  2865. */
  2866. function doneInvoke(id, data) {
  2867. var type = "".concat(_types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.DoneInvoke, ".").concat(id);
  2868. var eventObject = {
  2869. type: type,
  2870. data: data
  2871. };
  2872. eventObject.toString = function () {
  2873. return type;
  2874. };
  2875. return eventObject;
  2876. }
  2877. function error(id, data) {
  2878. var type = "".concat(_types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.ErrorPlatform, ".").concat(id);
  2879. var eventObject = {
  2880. type: type,
  2881. data: data
  2882. };
  2883. eventObject.toString = function () {
  2884. return type;
  2885. };
  2886. return eventObject;
  2887. }
  2888. function pure(getActions) {
  2889. return {
  2890. type: _types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.Pure,
  2891. get: getActions
  2892. };
  2893. }
  2894. /**
  2895. * Forwards (sends) an event to a specified service.
  2896. *
  2897. * @param target The target service to forward the event to.
  2898. * @param options Options to pass into the send action creator.
  2899. */
  2900. function forwardTo(target, options) {
  2901. if (!_environment_js__WEBPACK_IMPORTED_MODULE_4__.IS_PRODUCTION && (!target || typeof target === 'function')) {
  2902. var originalTarget_1 = target;
  2903. target = function () {
  2904. var args = [];
  2905. for (var _i = 0; _i < arguments.length; _i++) {
  2906. args[_i] = arguments[_i];
  2907. }
  2908. var resolvedTarget = typeof originalTarget_1 === 'function' ? originalTarget_1.apply(void 0, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(args), false)) : originalTarget_1;
  2909. if (!resolvedTarget) {
  2910. throw new Error("Attempted to forward event to undefined actor. This risks an infinite loop in the sender.");
  2911. }
  2912. return resolvedTarget;
  2913. };
  2914. }
  2915. return send(function (_, event) {
  2916. return event;
  2917. }, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, options), {
  2918. to: target
  2919. }));
  2920. }
  2921. /**
  2922. * Escalates an error by sending it as an event to this machine's parent.
  2923. *
  2924. * @param errorData The error data to send, or the expression function that
  2925. * takes in the `context`, `event`, and `meta`, and returns the error data to send.
  2926. * @param options Options to pass into the send action creator.
  2927. */
  2928. function escalate(errorData, options) {
  2929. return sendParent(function (context, event, meta) {
  2930. return {
  2931. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.error,
  2932. data: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(errorData) ? errorData(context, event, meta) : errorData
  2933. };
  2934. }, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, options), {
  2935. to: _types_js__WEBPACK_IMPORTED_MODULE_3__.SpecialTargets.Parent
  2936. }));
  2937. }
  2938. function choose(conds) {
  2939. return {
  2940. type: _types_js__WEBPACK_IMPORTED_MODULE_3__.ActionTypes.Choose,
  2941. conds: conds
  2942. };
  2943. }
  2944. var pluckAssigns = function (actionBlocks) {
  2945. var e_1, _a;
  2946. var assignActions = [];
  2947. try {
  2948. for (var actionBlocks_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {
  2949. var block = actionBlocks_1_1.value;
  2950. var i = 0;
  2951. while (i < block.actions.length) {
  2952. if (block.actions[i].type === _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.assign) {
  2953. assignActions.push(block.actions[i]);
  2954. block.actions.splice(i, 1);
  2955. continue;
  2956. }
  2957. i++;
  2958. }
  2959. }
  2960. } catch (e_1_1) {
  2961. e_1 = {
  2962. error: e_1_1
  2963. };
  2964. } finally {
  2965. try {
  2966. if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);
  2967. } finally {
  2968. if (e_1) throw e_1.error;
  2969. }
  2970. }
  2971. return assignActions;
  2972. };
  2973. function resolveActions(machine, currentState, currentContext, _event, actionBlocks, predictableExec, preserveActionOrder) {
  2974. if (preserveActionOrder === void 0) {
  2975. preserveActionOrder = false;
  2976. }
  2977. var assignActions = preserveActionOrder ? [] : pluckAssigns(actionBlocks);
  2978. var updatedContext = assignActions.length ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.updateContext)(currentContext, _event, assignActions, currentState) : currentContext;
  2979. var preservedContexts = preserveActionOrder ? [currentContext] : undefined;
  2980. var deferredToBlockEnd = [];
  2981. function handleAction(blockType, actionObject) {
  2982. var _a;
  2983. switch (actionObject.type) {
  2984. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.raise:
  2985. {
  2986. var raisedAction = resolveRaise(actionObject, updatedContext, _event, machine.options.delays);
  2987. if (predictableExec && typeof raisedAction.delay === 'number') {
  2988. predictableExec(raisedAction, updatedContext, _event);
  2989. }
  2990. return raisedAction;
  2991. }
  2992. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.send:
  2993. var sendAction = resolveSend(actionObject, updatedContext, _event, machine.options.delays); // TODO: fix ActionTypes.Init
  2994. if (!_environment_js__WEBPACK_IMPORTED_MODULE_4__.IS_PRODUCTION) {
  2995. var configuredDelay = actionObject.delay; // warn after resolving as we can create better contextual message here
  2996. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(!(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(configuredDelay) || typeof sendAction.delay === 'number', // tslint:disable-next-line:max-line-length
  2997. "No delay reference for delay expression '".concat(configuredDelay, "' was found on machine '").concat(machine.id, "'"));
  2998. }
  2999. if (predictableExec && sendAction.to !== _types_js__WEBPACK_IMPORTED_MODULE_3__.SpecialTargets.Internal) {
  3000. if (blockType === 'entry') {
  3001. deferredToBlockEnd.push(sendAction);
  3002. } else {
  3003. predictableExec(sendAction, updatedContext, _event);
  3004. }
  3005. }
  3006. return sendAction;
  3007. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.log:
  3008. {
  3009. var resolved = resolveLog(actionObject, updatedContext, _event);
  3010. predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, updatedContext, _event);
  3011. return resolved;
  3012. }
  3013. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.choose:
  3014. {
  3015. var chooseAction = actionObject;
  3016. var matchedActions = (_a = chooseAction.conds.find(function (condition) {
  3017. var guard = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toGuard)(condition.cond, machine.options.guards);
  3018. return !guard || (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.evaluateGuard)(machine, guard, updatedContext, _event, !predictableExec ? currentState : undefined);
  3019. })) === null || _a === void 0 ? void 0 : _a.actions;
  3020. if (!matchedActions) {
  3021. return [];
  3022. }
  3023. var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(resolveActions(machine, currentState, updatedContext, _event, [{
  3024. type: blockType,
  3025. actions: toActionObjects((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(matchedActions), machine.options.actions)
  3026. }], predictableExec, preserveActionOrder), 2),
  3027. resolvedActionsFromChoose = _b[0],
  3028. resolvedContextFromChoose = _b[1];
  3029. updatedContext = resolvedContextFromChoose;
  3030. preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);
  3031. return resolvedActionsFromChoose;
  3032. }
  3033. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.pure:
  3034. {
  3035. var matchedActions = actionObject.get(updatedContext, _event.data);
  3036. if (!matchedActions) {
  3037. return [];
  3038. }
  3039. var _c = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(resolveActions(machine, currentState, updatedContext, _event, [{
  3040. type: blockType,
  3041. actions: toActionObjects((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toArray)(matchedActions), machine.options.actions)
  3042. }], predictableExec, preserveActionOrder), 2),
  3043. resolvedActionsFromPure = _c[0],
  3044. resolvedContext = _c[1];
  3045. updatedContext = resolvedContext;
  3046. preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);
  3047. return resolvedActionsFromPure;
  3048. }
  3049. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.stop:
  3050. {
  3051. var resolved = resolveStop(actionObject, updatedContext, _event);
  3052. predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, currentContext, _event);
  3053. return resolved;
  3054. }
  3055. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.assign:
  3056. {
  3057. updatedContext = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.updateContext)(updatedContext, _event, [actionObject], !predictableExec ? currentState : undefined);
  3058. preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);
  3059. break;
  3060. }
  3061. default:
  3062. var resolvedActionObject = toActionObject(actionObject, machine.options.actions);
  3063. var exec_1 = resolvedActionObject.exec;
  3064. if (predictableExec) {
  3065. predictableExec(resolvedActionObject, updatedContext, _event);
  3066. } else if (exec_1 && preservedContexts) {
  3067. var contextIndex_1 = preservedContexts.length - 1;
  3068. var wrapped = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, resolvedActionObject), {
  3069. exec: function (_ctx) {
  3070. var args = [];
  3071. for (var _i = 1; _i < arguments.length; _i++) {
  3072. args[_i - 1] = arguments[_i];
  3073. }
  3074. exec_1.apply(void 0, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__spreadArray)([preservedContexts[contextIndex_1]], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__read)(args), false));
  3075. }
  3076. });
  3077. resolvedActionObject = wrapped;
  3078. }
  3079. return resolvedActionObject;
  3080. }
  3081. }
  3082. function processBlock(block) {
  3083. var e_2, _a;
  3084. var resolvedActions = [];
  3085. try {
  3086. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_2__.__values)(block.actions), _c = _b.next(); !_c.done; _c = _b.next()) {
  3087. var action = _c.value;
  3088. var resolved = handleAction(block.type, action);
  3089. if (resolved) {
  3090. resolvedActions = resolvedActions.concat(resolved);
  3091. }
  3092. }
  3093. } catch (e_2_1) {
  3094. e_2 = {
  3095. error: e_2_1
  3096. };
  3097. } finally {
  3098. try {
  3099. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  3100. } finally {
  3101. if (e_2) throw e_2.error;
  3102. }
  3103. }
  3104. deferredToBlockEnd.forEach(function (action) {
  3105. predictableExec(action, updatedContext, _event);
  3106. });
  3107. deferredToBlockEnd.length = 0;
  3108. return resolvedActions;
  3109. }
  3110. var resolvedActions = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(actionBlocks.map(processBlock));
  3111. return [resolvedActions, updatedContext];
  3112. }
  3113. /***/ }),
  3114. /***/ "./node_modules/xstate/es/behaviors.js":
  3115. /*!*********************************************!*\
  3116. !*** ./node_modules/xstate/es/behaviors.js ***!
  3117. \*********************************************/
  3118. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  3119. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3120. /* harmony export */ spawnBehavior: function() { return /* binding */ spawnBehavior; }
  3121. /* harmony export */ });
  3122. /* unused harmony exports fromPromise, fromReducer */
  3123. /* harmony import */ var _actions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions.js */ "./node_modules/xstate/es/actions.js");
  3124. /* harmony import */ var _Actor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Actor.js */ "./node_modules/xstate/es/Actor.js");
  3125. /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ "./node_modules/xstate/es/utils.js");
  3126. /**
  3127. * Returns an actor behavior from a reducer and its initial state.
  3128. *
  3129. * @param transition The pure reducer that returns the next state given the current state and event.
  3130. * @param initialState The initial state of the reducer.
  3131. * @returns An actor behavior
  3132. */
  3133. function fromReducer(transition, initialState) {
  3134. return {
  3135. transition: transition,
  3136. initialState: initialState
  3137. };
  3138. }
  3139. function fromPromise(promiseFn) {
  3140. var initialState = {
  3141. error: undefined,
  3142. data: undefined,
  3143. status: 'pending'
  3144. };
  3145. return {
  3146. transition: function (state, event, _a) {
  3147. var parent = _a.parent,
  3148. id = _a.id,
  3149. observers = _a.observers;
  3150. switch (event.type) {
  3151. case 'fulfill':
  3152. parent === null || parent === void 0 ? void 0 : parent.send((0,_actions_js__WEBPACK_IMPORTED_MODULE_0__.doneInvoke)(id, event.data));
  3153. return {
  3154. error: undefined,
  3155. data: event.data,
  3156. status: 'fulfilled'
  3157. };
  3158. case 'reject':
  3159. parent === null || parent === void 0 ? void 0 : parent.send((0,_actions_js__WEBPACK_IMPORTED_MODULE_0__.error)(id, event.error));
  3160. observers.forEach(function (observer) {
  3161. observer.error(event.error);
  3162. });
  3163. return {
  3164. error: event.error,
  3165. data: undefined,
  3166. status: 'rejected'
  3167. };
  3168. default:
  3169. return state;
  3170. }
  3171. },
  3172. initialState: initialState,
  3173. start: function (_a) {
  3174. var self = _a.self;
  3175. promiseFn().then(function (data) {
  3176. self.send({
  3177. type: 'fulfill',
  3178. data: data
  3179. });
  3180. }, function (reason) {
  3181. self.send({
  3182. type: 'reject',
  3183. error: reason
  3184. });
  3185. });
  3186. return initialState;
  3187. }
  3188. };
  3189. }
  3190. function spawnBehavior(behavior, options) {
  3191. if (options === void 0) {
  3192. options = {};
  3193. }
  3194. var state = behavior.initialState;
  3195. var observers = new Set();
  3196. var mailbox = [];
  3197. var flushing = false;
  3198. var flush = function () {
  3199. if (flushing) {
  3200. return;
  3201. }
  3202. flushing = true;
  3203. while (mailbox.length > 0) {
  3204. var event_1 = mailbox.shift();
  3205. state = behavior.transition(state, event_1, actorCtx);
  3206. observers.forEach(function (observer) {
  3207. return observer.next(state);
  3208. });
  3209. }
  3210. flushing = false;
  3211. };
  3212. var actor = (0,_Actor_js__WEBPACK_IMPORTED_MODULE_1__.toActorRef)({
  3213. id: options.id,
  3214. send: function (event) {
  3215. mailbox.push(event);
  3216. flush();
  3217. },
  3218. getSnapshot: function () {
  3219. return state;
  3220. },
  3221. subscribe: function (next, handleError, complete) {
  3222. var observer = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.toObserver)(next, handleError, complete);
  3223. observers.add(observer);
  3224. observer.next(state);
  3225. return {
  3226. unsubscribe: function () {
  3227. observers.delete(observer);
  3228. }
  3229. };
  3230. }
  3231. });
  3232. var actorCtx = {
  3233. parent: options.parent,
  3234. self: actor,
  3235. id: options.id || 'anonymous',
  3236. observers: observers
  3237. };
  3238. state = behavior.start ? behavior.start(actorCtx) : state;
  3239. return actor;
  3240. }
  3241. /***/ }),
  3242. /***/ "./node_modules/xstate/es/constants.js":
  3243. /*!*********************************************!*\
  3244. !*** ./node_modules/xstate/es/constants.js ***!
  3245. \*********************************************/
  3246. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  3247. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3248. /* harmony export */ DEFAULT_GUARD_TYPE: function() { return /* binding */ DEFAULT_GUARD_TYPE; },
  3249. /* harmony export */ EMPTY_ACTIVITY_MAP: function() { return /* binding */ EMPTY_ACTIVITY_MAP; },
  3250. /* harmony export */ STATE_DELIMITER: function() { return /* binding */ STATE_DELIMITER; },
  3251. /* harmony export */ TARGETLESS_KEY: function() { return /* binding */ TARGETLESS_KEY; }
  3252. /* harmony export */ });
  3253. var STATE_DELIMITER = '.';
  3254. var EMPTY_ACTIVITY_MAP = {};
  3255. var DEFAULT_GUARD_TYPE = 'xstate.guard';
  3256. var TARGETLESS_KEY = '';
  3257. /***/ }),
  3258. /***/ "./node_modules/xstate/es/devTools.js":
  3259. /*!********************************************!*\
  3260. !*** ./node_modules/xstate/es/devTools.js ***!
  3261. \********************************************/
  3262. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  3263. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3264. /* harmony export */ getGlobal: function() { return /* binding */ getGlobal; },
  3265. /* harmony export */ registerService: function() { return /* binding */ registerService; }
  3266. /* harmony export */ });
  3267. /* harmony import */ var _environment_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./environment.js */ "./node_modules/xstate/es/environment.js");
  3268. /* provided dependency */ var window = __webpack_require__(/*! @tarojs/runtime */ "webpack/container/remote/@tarojs/runtime")["window"];
  3269. function getGlobal() {
  3270. if (typeof globalThis !== 'undefined') {
  3271. return globalThis;
  3272. }
  3273. if (typeof self !== 'undefined') {
  3274. return self;
  3275. }
  3276. if (typeof window !== 'undefined') {
  3277. return window;
  3278. }
  3279. if (typeof __webpack_require__.g !== 'undefined') {
  3280. return __webpack_require__.g;
  3281. }
  3282. if (!_environment_js__WEBPACK_IMPORTED_MODULE_0__.IS_PRODUCTION) {
  3283. console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');
  3284. }
  3285. }
  3286. function getDevTools() {
  3287. var global = getGlobal();
  3288. if (global && '__xstate__' in global) {
  3289. return global.__xstate__;
  3290. }
  3291. return undefined;
  3292. }
  3293. function registerService(service) {
  3294. if (!getGlobal()) {
  3295. return;
  3296. }
  3297. var devTools = getDevTools();
  3298. if (devTools) {
  3299. devTools.register(service);
  3300. }
  3301. }
  3302. /***/ }),
  3303. /***/ "./node_modules/xstate/es/environment.js":
  3304. /*!***********************************************!*\
  3305. !*** ./node_modules/xstate/es/environment.js ***!
  3306. \***********************************************/
  3307. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  3308. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3309. /* harmony export */ IS_PRODUCTION: function() { return /* binding */ IS_PRODUCTION; }
  3310. /* harmony export */ });
  3311. var IS_PRODUCTION = "development" === 'production';
  3312. /***/ }),
  3313. /***/ "./node_modules/xstate/es/index.js":
  3314. /*!*****************************************!*\
  3315. !*** ./node_modules/xstate/es/index.js ***!
  3316. \*****************************************/
  3317. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  3318. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3319. /* harmony export */ assign: function() { return /* binding */ assign; }
  3320. /* harmony export */ });
  3321. /* unused harmony exports cancel, choose, doneInvoke, forwardTo, log, pure, raise, send, sendParent, sendTo, sendUpdate, stop */
  3322. /* harmony import */ var _actions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions.js */ "./node_modules/xstate/es/actions.js");
  3323. var assign = _actions_js__WEBPACK_IMPORTED_MODULE_0__.assign,
  3324. cancel = _actions_js__WEBPACK_IMPORTED_MODULE_0__.cancel,
  3325. send = _actions_js__WEBPACK_IMPORTED_MODULE_0__.send,
  3326. sendTo = _actions_js__WEBPACK_IMPORTED_MODULE_0__.sendTo,
  3327. sendParent = _actions_js__WEBPACK_IMPORTED_MODULE_0__.sendParent,
  3328. sendUpdate = _actions_js__WEBPACK_IMPORTED_MODULE_0__.sendUpdate,
  3329. forwardTo = _actions_js__WEBPACK_IMPORTED_MODULE_0__.forwardTo,
  3330. doneInvoke = _actions_js__WEBPACK_IMPORTED_MODULE_0__.doneInvoke,
  3331. raise = _actions_js__WEBPACK_IMPORTED_MODULE_0__.raise,
  3332. log = _actions_js__WEBPACK_IMPORTED_MODULE_0__.log,
  3333. pure = _actions_js__WEBPACK_IMPORTED_MODULE_0__.pure,
  3334. choose = _actions_js__WEBPACK_IMPORTED_MODULE_0__.choose,
  3335. stop = _actions_js__WEBPACK_IMPORTED_MODULE_0__.stop;
  3336. /***/ }),
  3337. /***/ "./node_modules/xstate/es/interpreter.js":
  3338. /*!***********************************************!*\
  3339. !*** ./node_modules/xstate/es/interpreter.js ***!
  3340. \***********************************************/
  3341. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  3342. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3343. /* harmony export */ interpret: function() { return /* binding */ interpret; }
  3344. /* harmony export */ });
  3345. /* unused harmony exports Interpreter, InterpreterStatus, spawn */
  3346. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  3347. /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types.js */ "./node_modules/xstate/es/types.js");
  3348. /* harmony import */ var _State_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./State.js */ "./node_modules/xstate/es/State.js");
  3349. /* harmony import */ var _actionTypes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./actionTypes.js */ "./node_modules/xstate/es/actionTypes.js");
  3350. /* harmony import */ var _actions_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions.js */ "./node_modules/xstate/es/actions.js");
  3351. /* harmony import */ var _environment_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./environment.js */ "./node_modules/xstate/es/environment.js");
  3352. /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/xstate/es/utils.js");
  3353. /* harmony import */ var _scheduler_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./scheduler.js */ "./node_modules/xstate/es/scheduler.js");
  3354. /* harmony import */ var _Actor_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Actor.js */ "./node_modules/xstate/es/Actor.js");
  3355. /* harmony import */ var _registry_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./registry.js */ "./node_modules/xstate/es/registry.js");
  3356. /* harmony import */ var _devTools_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./devTools.js */ "./node_modules/xstate/es/devTools.js");
  3357. /* harmony import */ var _serviceScope_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./serviceScope.js */ "./node_modules/xstate/es/serviceScope.js");
  3358. /* harmony import */ var _behaviors_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./behaviors.js */ "./node_modules/xstate/es/behaviors.js");
  3359. var DEFAULT_SPAWN_OPTIONS = {
  3360. sync: false,
  3361. autoForward: false
  3362. };
  3363. var InterpreterStatus;
  3364. (function (InterpreterStatus) {
  3365. InterpreterStatus[InterpreterStatus["NotStarted"] = 0] = "NotStarted";
  3366. InterpreterStatus[InterpreterStatus["Running"] = 1] = "Running";
  3367. InterpreterStatus[InterpreterStatus["Stopped"] = 2] = "Stopped";
  3368. })(InterpreterStatus || (InterpreterStatus = {}));
  3369. var Interpreter =
  3370. /*#__PURE__*/
  3371. /** @class */
  3372. function () {
  3373. /**
  3374. * Creates a new Interpreter instance (i.e., service) for the given machine with the provided options, if any.
  3375. *
  3376. * @param machine The machine to be interpreted
  3377. * @param options Interpreter options
  3378. */
  3379. function Interpreter(machine, options) {
  3380. if (options === void 0) {
  3381. options = Interpreter.defaultOptions;
  3382. }
  3383. var _this = this;
  3384. this.machine = machine;
  3385. this.delayedEventsMap = {};
  3386. this.listeners = new Set();
  3387. this.contextListeners = new Set();
  3388. this.stopListeners = new Set();
  3389. this.doneListeners = new Set();
  3390. this.eventListeners = new Set();
  3391. this.sendListeners = new Set();
  3392. /**
  3393. * Whether the service is started.
  3394. */
  3395. this.initialized = false;
  3396. this.status = InterpreterStatus.NotStarted;
  3397. this.children = new Map();
  3398. this.forwardTo = new Set();
  3399. this._outgoingQueue = [];
  3400. /**
  3401. * Alias for Interpreter.prototype.start
  3402. */
  3403. this.init = this.start;
  3404. /**
  3405. * Sends an event to the running interpreter to trigger a transition.
  3406. *
  3407. * An array of events (batched) can be sent as well, which will send all
  3408. * batched events to the running interpreter. The listeners will be
  3409. * notified only **once** when all events are processed.
  3410. *
  3411. * @param event The event(s) to send
  3412. */
  3413. this.send = function (event, payload) {
  3414. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(event)) {
  3415. _this.batch(event);
  3416. return _this.state;
  3417. }
  3418. var _event = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toEventObject)(event, payload));
  3419. if (_this.status === InterpreterStatus.Stopped) {
  3420. // do nothing
  3421. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  3422. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(false, "Event \"".concat(_event.name, "\" was sent to stopped service \"").concat(_this.machine.id, "\". This service has already reached its final state, and will not transition.\nEvent: ").concat(JSON.stringify(_event.data)));
  3423. }
  3424. return _this.state;
  3425. }
  3426. if (_this.status !== InterpreterStatus.Running && !_this.options.deferEvents) {
  3427. throw new Error("Event \"".concat(_event.name, "\" was sent to uninitialized service \"").concat(_this.machine.id // tslint:disable-next-line:max-line-length
  3428. , "\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\nEvent: ").concat(JSON.stringify(_event.data)));
  3429. }
  3430. _this.scheduler.schedule(function () {
  3431. // Forward copy of event to child actors
  3432. _this.forward(_event);
  3433. var nextState = _this._nextState(_event);
  3434. _this.update(nextState, _event);
  3435. });
  3436. return _this._state; // TODO: deprecate (should return void)
  3437. // tslint:disable-next-line:semicolon
  3438. };
  3439. this.sendTo = function (event, to, immediate) {
  3440. var isParent = _this.parent && (to === _types_js__WEBPACK_IMPORTED_MODULE_2__.SpecialTargets.Parent || _this.parent.id === to);
  3441. var target = isParent ? _this.parent : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(to) ? to === _types_js__WEBPACK_IMPORTED_MODULE_2__.SpecialTargets.Internal ? _this : _this.children.get(to) || _registry_js__WEBPACK_IMPORTED_MODULE_3__.registry.get(to) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isActor)(to) ? to : undefined;
  3442. if (!target) {
  3443. if (!isParent) {
  3444. throw new Error("Unable to send event to child '".concat(to, "' from service '").concat(_this.id, "'."));
  3445. } // tslint:disable-next-line:no-console
  3446. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  3447. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(false, "Service '".concat(_this.id, "' has no parent: unable to send event ").concat(event.type));
  3448. }
  3449. return;
  3450. }
  3451. if ('machine' in target) {
  3452. // perhaps those events should be rejected in the parent
  3453. // but atm it doesn't have easy access to all of the information that is required to do it reliably
  3454. if (_this.status !== InterpreterStatus.Stopped || _this.parent !== target || // we need to send events to the parent from exit handlers of a machine that reached its final state
  3455. _this.state.done) {
  3456. // Send SCXML events to machines
  3457. var scxmlEvent = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, event), {
  3458. name: event.name === _actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.error ? "".concat((0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.error)(_this.id)) : event.name,
  3459. origin: _this.sessionId
  3460. });
  3461. if (!immediate && _this.machine.config.predictableActionArguments) {
  3462. _this._outgoingQueue.push([target, scxmlEvent]);
  3463. } else {
  3464. target.send(scxmlEvent);
  3465. }
  3466. }
  3467. } else {
  3468. // Send normal events to other targets
  3469. if (!immediate && _this.machine.config.predictableActionArguments) {
  3470. _this._outgoingQueue.push([target, event.data]);
  3471. } else {
  3472. target.send(event.data);
  3473. }
  3474. }
  3475. };
  3476. this._exec = function (action, context, _event, actionFunctionMap) {
  3477. if (actionFunctionMap === void 0) {
  3478. actionFunctionMap = _this.machine.options.actions;
  3479. }
  3480. var actionOrExec = action.exec || (0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.getActionFunction)(action.type, actionFunctionMap);
  3481. var exec = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(actionOrExec) ? actionOrExec : actionOrExec ? actionOrExec.exec : action.exec;
  3482. if (exec) {
  3483. try {
  3484. return exec(context, _event.data, !_this.machine.config.predictableActionArguments ? {
  3485. action: action,
  3486. state: _this.state,
  3487. _event: _event
  3488. } : {
  3489. action: action,
  3490. _event: _event
  3491. });
  3492. } catch (err) {
  3493. if (_this.parent) {
  3494. _this.parent.send({
  3495. type: 'xstate.error',
  3496. data: err
  3497. });
  3498. }
  3499. throw err;
  3500. }
  3501. }
  3502. switch (action.type) {
  3503. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.raise:
  3504. {
  3505. // if raise action reached the interpreter then it's a delayed one
  3506. var sendAction_1 = action;
  3507. _this.defer(sendAction_1);
  3508. break;
  3509. }
  3510. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.send:
  3511. var sendAction = action;
  3512. if (typeof sendAction.delay === 'number') {
  3513. _this.defer(sendAction);
  3514. return;
  3515. } else {
  3516. if (sendAction.to) {
  3517. _this.sendTo(sendAction._event, sendAction.to, _event === _actions_js__WEBPACK_IMPORTED_MODULE_6__.initEvent);
  3518. } else {
  3519. _this.send(sendAction._event);
  3520. }
  3521. }
  3522. break;
  3523. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.cancel:
  3524. _this.cancel(action.sendId);
  3525. break;
  3526. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.start:
  3527. {
  3528. if (_this.status !== InterpreterStatus.Running) {
  3529. return;
  3530. }
  3531. var activity = action.activity; // If the activity will be stopped right after it's started
  3532. // (such as in transient states)
  3533. // don't bother starting the activity.
  3534. if ( // in v4 with `predictableActionArguments` invokes are called eagerly when the `this.state` still points to the previous state
  3535. !_this.machine.config.predictableActionArguments && !_this.state.activities[activity.id || activity.type]) {
  3536. break;
  3537. } // Invoked services
  3538. if (activity.type === _types_js__WEBPACK_IMPORTED_MODULE_2__.ActionTypes.Invoke) {
  3539. var invokeSource = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toInvokeSource)(activity.src);
  3540. var serviceCreator = _this.machine.options.services ? _this.machine.options.services[invokeSource.type] : undefined;
  3541. var id = activity.id,
  3542. data = activity.data;
  3543. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  3544. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(!('forward' in activity), // tslint:disable-next-line:max-line-length
  3545. "`forward` property is deprecated (found in invocation of '".concat(activity.src, "' in in machine '").concat(_this.machine.id, "'). ") + "Please use `autoForward` instead.");
  3546. }
  3547. var autoForward = 'autoForward' in activity ? activity.autoForward : !!activity.forward;
  3548. if (!serviceCreator) {
  3549. // tslint:disable-next-line:no-console
  3550. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  3551. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(false, "No service found for invocation '".concat(activity.src, "' in machine '").concat(_this.machine.id, "'."));
  3552. }
  3553. return;
  3554. }
  3555. var resolvedData = data ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapContext)(data, context, _event) : undefined;
  3556. if (typeof serviceCreator === 'string') {
  3557. // TODO: warn
  3558. return;
  3559. }
  3560. var source = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(serviceCreator) ? serviceCreator(context, _event.data, {
  3561. data: resolvedData,
  3562. src: invokeSource,
  3563. meta: activity.meta
  3564. }) : serviceCreator;
  3565. if (!source) {
  3566. // TODO: warn?
  3567. return;
  3568. }
  3569. var options = void 0;
  3570. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMachine)(source)) {
  3571. source = resolvedData ? source.withContext(resolvedData) : source;
  3572. options = {
  3573. autoForward: autoForward
  3574. };
  3575. }
  3576. _this.spawn(source, id, options);
  3577. } else {
  3578. _this.spawnActivity(activity);
  3579. }
  3580. break;
  3581. }
  3582. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.stop:
  3583. {
  3584. _this.stopChild(action.activity.id);
  3585. break;
  3586. }
  3587. case _actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.log:
  3588. var _a = action,
  3589. label = _a.label,
  3590. value = _a.value;
  3591. if (label) {
  3592. _this.logger(label, value);
  3593. } else {
  3594. _this.logger(value);
  3595. }
  3596. break;
  3597. default:
  3598. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  3599. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(false, "No implementation found for action type '".concat(action.type, "'"));
  3600. }
  3601. break;
  3602. }
  3603. };
  3604. var resolvedOptions = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, Interpreter.defaultOptions), options);
  3605. var clock = resolvedOptions.clock,
  3606. logger = resolvedOptions.logger,
  3607. parent = resolvedOptions.parent,
  3608. id = resolvedOptions.id;
  3609. var resolvedId = id !== undefined ? id : machine.id;
  3610. this.id = resolvedId;
  3611. this.logger = logger;
  3612. this.clock = clock;
  3613. this.parent = parent;
  3614. this.options = resolvedOptions;
  3615. this.scheduler = new _scheduler_js__WEBPACK_IMPORTED_MODULE_7__.Scheduler({
  3616. deferEvents: this.options.deferEvents
  3617. });
  3618. this.sessionId = _registry_js__WEBPACK_IMPORTED_MODULE_3__.registry.bookId();
  3619. }
  3620. Object.defineProperty(Interpreter.prototype, "initialState", {
  3621. get: function () {
  3622. var _this = this;
  3623. if (this._initialState) {
  3624. return this._initialState;
  3625. }
  3626. return (0,_serviceScope_js__WEBPACK_IMPORTED_MODULE_8__.provide)(this, function () {
  3627. _this._initialState = _this.machine.initialState;
  3628. return _this._initialState;
  3629. });
  3630. },
  3631. enumerable: false,
  3632. configurable: true
  3633. });
  3634. Object.defineProperty(Interpreter.prototype, "state", {
  3635. /**
  3636. * @deprecated Use `.getSnapshot()` instead.
  3637. */
  3638. get: function () {
  3639. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  3640. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(this.status !== InterpreterStatus.NotStarted, "Attempted to read state from uninitialized service '".concat(this.id, "'. Make sure the service is started first."));
  3641. }
  3642. return this._state;
  3643. },
  3644. enumerable: false,
  3645. configurable: true
  3646. });
  3647. /**
  3648. * Executes the actions of the given state, with that state's `context` and `event`.
  3649. *
  3650. * @param state The state whose actions will be executed
  3651. * @param actionsConfig The action implementations to use
  3652. */
  3653. Interpreter.prototype.execute = function (state, actionsConfig) {
  3654. var e_1, _a;
  3655. try {
  3656. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(state.actions), _c = _b.next(); !_c.done; _c = _b.next()) {
  3657. var action = _c.value;
  3658. this.exec(action, state, actionsConfig);
  3659. }
  3660. } catch (e_1_1) {
  3661. e_1 = {
  3662. error: e_1_1
  3663. };
  3664. } finally {
  3665. try {
  3666. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  3667. } finally {
  3668. if (e_1) throw e_1.error;
  3669. }
  3670. }
  3671. };
  3672. Interpreter.prototype.update = function (state, _event) {
  3673. var e_2, _a, e_3, _b, e_4, _c, e_5, _d;
  3674. var _this = this; // Attach session ID to state
  3675. state._sessionid = this.sessionId; // Update state
  3676. this._state = state; // Execute actions
  3677. if ((!this.machine.config.predictableActionArguments || // this is currently required to execute initial actions as the `initialState` gets cached
  3678. // we can't just recompute it (and execute actions while doing so) because we try to preserve identity of actors created within initial assigns
  3679. _event === _actions_js__WEBPACK_IMPORTED_MODULE_6__.initEvent) && this.options.execute) {
  3680. this.execute(this.state);
  3681. } else {
  3682. var item = void 0;
  3683. while (item = this._outgoingQueue.shift()) {
  3684. item[0].send(item[1]);
  3685. }
  3686. } // Update children
  3687. this.children.forEach(function (child) {
  3688. _this.state.children[child.id] = child;
  3689. }); // Dev tools
  3690. if (this.devTools) {
  3691. this.devTools.send(_event.data, state);
  3692. } // Execute listeners
  3693. if (state.event) {
  3694. try {
  3695. for (var _e = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.eventListeners), _f = _e.next(); !_f.done; _f = _e.next()) {
  3696. var listener = _f.value;
  3697. listener(state.event);
  3698. }
  3699. } catch (e_2_1) {
  3700. e_2 = {
  3701. error: e_2_1
  3702. };
  3703. } finally {
  3704. try {
  3705. if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
  3706. } finally {
  3707. if (e_2) throw e_2.error;
  3708. }
  3709. }
  3710. }
  3711. try {
  3712. for (var _g = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.listeners), _h = _g.next(); !_h.done; _h = _g.next()) {
  3713. var listener = _h.value;
  3714. listener(state, state.event);
  3715. }
  3716. } catch (e_3_1) {
  3717. e_3 = {
  3718. error: e_3_1
  3719. };
  3720. } finally {
  3721. try {
  3722. if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
  3723. } finally {
  3724. if (e_3) throw e_3.error;
  3725. }
  3726. }
  3727. try {
  3728. for (var _j = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.contextListeners), _k = _j.next(); !_k.done; _k = _j.next()) {
  3729. var contextListener = _k.value;
  3730. contextListener(this.state.context, this.state.history ? this.state.history.context : undefined);
  3731. }
  3732. } catch (e_4_1) {
  3733. e_4 = {
  3734. error: e_4_1
  3735. };
  3736. } finally {
  3737. try {
  3738. if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
  3739. } finally {
  3740. if (e_4) throw e_4.error;
  3741. }
  3742. }
  3743. if (this.state.done) {
  3744. // get final child state node
  3745. var finalChildStateNode = state.configuration.find(function (sn) {
  3746. return sn.type === 'final' && sn.parent === _this.machine;
  3747. });
  3748. var doneData = finalChildStateNode && finalChildStateNode.doneData ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.mapContext)(finalChildStateNode.doneData, state.context, _event) : undefined;
  3749. this._doneEvent = (0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.doneInvoke)(this.id, doneData);
  3750. try {
  3751. for (var _l = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.doneListeners), _m = _l.next(); !_m.done; _m = _l.next()) {
  3752. var listener = _m.value;
  3753. listener(this._doneEvent);
  3754. }
  3755. } catch (e_5_1) {
  3756. e_5 = {
  3757. error: e_5_1
  3758. };
  3759. } finally {
  3760. try {
  3761. if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
  3762. } finally {
  3763. if (e_5) throw e_5.error;
  3764. }
  3765. }
  3766. this._stop();
  3767. this._stopChildren();
  3768. _registry_js__WEBPACK_IMPORTED_MODULE_3__.registry.free(this.sessionId);
  3769. }
  3770. };
  3771. /*
  3772. * Adds a listener that is notified whenever a state transition happens. The listener is called with
  3773. * the next state and the event object that caused the state transition.
  3774. *
  3775. * @param listener The state listener
  3776. */
  3777. Interpreter.prototype.onTransition = function (listener) {
  3778. this.listeners.add(listener); // Send current state to listener
  3779. if (this.status === InterpreterStatus.Running) {
  3780. listener(this.state, this.state.event);
  3781. }
  3782. return this;
  3783. };
  3784. Interpreter.prototype.subscribe = function (nextListenerOrObserver, _, // TODO: error listener
  3785. completeListener) {
  3786. var _this = this;
  3787. var observer = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toObserver)(nextListenerOrObserver, _, completeListener);
  3788. this.listeners.add(observer.next); // Send current state to listener
  3789. if (this.status !== InterpreterStatus.NotStarted) {
  3790. observer.next(this.state);
  3791. }
  3792. var completeOnce = function () {
  3793. _this.doneListeners.delete(completeOnce);
  3794. _this.stopListeners.delete(completeOnce);
  3795. observer.complete();
  3796. };
  3797. if (this.status === InterpreterStatus.Stopped) {
  3798. observer.complete();
  3799. } else {
  3800. this.onDone(completeOnce);
  3801. this.onStop(completeOnce);
  3802. }
  3803. return {
  3804. unsubscribe: function () {
  3805. _this.listeners.delete(observer.next);
  3806. _this.doneListeners.delete(completeOnce);
  3807. _this.stopListeners.delete(completeOnce);
  3808. }
  3809. };
  3810. };
  3811. /**
  3812. * Adds an event listener that is notified whenever an event is sent to the running interpreter.
  3813. * @param listener The event listener
  3814. */
  3815. Interpreter.prototype.onEvent = function (listener) {
  3816. this.eventListeners.add(listener);
  3817. return this;
  3818. };
  3819. /**
  3820. * Adds an event listener that is notified whenever a `send` event occurs.
  3821. * @param listener The event listener
  3822. */
  3823. Interpreter.prototype.onSend = function (listener) {
  3824. this.sendListeners.add(listener);
  3825. return this;
  3826. };
  3827. /**
  3828. * Adds a context listener that is notified whenever the state context changes.
  3829. * @param listener The context listener
  3830. */
  3831. Interpreter.prototype.onChange = function (listener) {
  3832. this.contextListeners.add(listener);
  3833. return this;
  3834. };
  3835. /**
  3836. * Adds a listener that is notified when the machine is stopped.
  3837. * @param listener The listener
  3838. */
  3839. Interpreter.prototype.onStop = function (listener) {
  3840. this.stopListeners.add(listener);
  3841. return this;
  3842. };
  3843. /**
  3844. * Adds a state listener that is notified when the statechart has reached its final state.
  3845. * @param listener The state listener
  3846. */
  3847. Interpreter.prototype.onDone = function (listener) {
  3848. if (this.status === InterpreterStatus.Stopped && this._doneEvent) {
  3849. listener(this._doneEvent);
  3850. } else {
  3851. this.doneListeners.add(listener);
  3852. }
  3853. return this;
  3854. };
  3855. /**
  3856. * Removes a listener.
  3857. * @param listener The listener to remove
  3858. */
  3859. Interpreter.prototype.off = function (listener) {
  3860. this.listeners.delete(listener);
  3861. this.eventListeners.delete(listener);
  3862. this.sendListeners.delete(listener);
  3863. this.stopListeners.delete(listener);
  3864. this.doneListeners.delete(listener);
  3865. this.contextListeners.delete(listener);
  3866. return this;
  3867. };
  3868. /**
  3869. * Starts the interpreter from the given state, or the initial state.
  3870. * @param initialState The state to start the statechart from
  3871. */
  3872. Interpreter.prototype.start = function (initialState) {
  3873. var _this = this;
  3874. if (this.status === InterpreterStatus.Running) {
  3875. // Do not restart the service if it is already started
  3876. return this;
  3877. } // yes, it's a hack but we need the related cache to be populated for some things to work (like delayed transitions)
  3878. // this is usually called by `machine.getInitialState` but if we rehydrate from a state we might bypass this call
  3879. // we also don't want to call this method here as it resolves the full initial state which might involve calling assign actions
  3880. // and that could potentially lead to some unwanted side-effects (even such as creating some rogue actors)
  3881. this.machine._init();
  3882. _registry_js__WEBPACK_IMPORTED_MODULE_3__.registry.register(this.sessionId, this);
  3883. this.initialized = true;
  3884. this.status = InterpreterStatus.Running;
  3885. var resolvedState = initialState === undefined ? this.initialState : (0,_serviceScope_js__WEBPACK_IMPORTED_MODULE_8__.provide)(this, function () {
  3886. return (0,_State_js__WEBPACK_IMPORTED_MODULE_9__.isStateConfig)(initialState) ? _this.machine.resolveState(initialState) : _this.machine.resolveState(_State_js__WEBPACK_IMPORTED_MODULE_9__.State.from(initialState, _this.machine.context));
  3887. });
  3888. if (this.options.devTools) {
  3889. this.attachDev();
  3890. }
  3891. this.scheduler.initialize(function () {
  3892. _this.update(resolvedState, _actions_js__WEBPACK_IMPORTED_MODULE_6__.initEvent);
  3893. });
  3894. return this;
  3895. };
  3896. Interpreter.prototype._stopChildren = function () {
  3897. // TODO: think about converting those to actions
  3898. this.children.forEach(function (child) {
  3899. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(child.stop)) {
  3900. child.stop();
  3901. }
  3902. });
  3903. this.children.clear();
  3904. };
  3905. Interpreter.prototype._stop = function () {
  3906. var e_6, _a, e_7, _b, e_8, _c, e_9, _d, e_10, _e;
  3907. try {
  3908. for (var _f = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.listeners), _g = _f.next(); !_g.done; _g = _f.next()) {
  3909. var listener = _g.value;
  3910. this.listeners.delete(listener);
  3911. }
  3912. } catch (e_6_1) {
  3913. e_6 = {
  3914. error: e_6_1
  3915. };
  3916. } finally {
  3917. try {
  3918. if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
  3919. } finally {
  3920. if (e_6) throw e_6.error;
  3921. }
  3922. }
  3923. try {
  3924. for (var _h = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.stopListeners), _j = _h.next(); !_j.done; _j = _h.next()) {
  3925. var listener = _j.value; // call listener, then remove
  3926. listener();
  3927. this.stopListeners.delete(listener);
  3928. }
  3929. } catch (e_7_1) {
  3930. e_7 = {
  3931. error: e_7_1
  3932. };
  3933. } finally {
  3934. try {
  3935. if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
  3936. } finally {
  3937. if (e_7) throw e_7.error;
  3938. }
  3939. }
  3940. try {
  3941. for (var _k = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.contextListeners), _l = _k.next(); !_l.done; _l = _k.next()) {
  3942. var listener = _l.value;
  3943. this.contextListeners.delete(listener);
  3944. }
  3945. } catch (e_8_1) {
  3946. e_8 = {
  3947. error: e_8_1
  3948. };
  3949. } finally {
  3950. try {
  3951. if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
  3952. } finally {
  3953. if (e_8) throw e_8.error;
  3954. }
  3955. }
  3956. try {
  3957. for (var _m = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.doneListeners), _o = _m.next(); !_o.done; _o = _m.next()) {
  3958. var listener = _o.value;
  3959. this.doneListeners.delete(listener);
  3960. }
  3961. } catch (e_9_1) {
  3962. e_9 = {
  3963. error: e_9_1
  3964. };
  3965. } finally {
  3966. try {
  3967. if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
  3968. } finally {
  3969. if (e_9) throw e_9.error;
  3970. }
  3971. }
  3972. if (!this.initialized) {
  3973. // Interpreter already stopped; do nothing
  3974. return this;
  3975. }
  3976. this.initialized = false;
  3977. this.status = InterpreterStatus.Stopped;
  3978. this._initialState = undefined;
  3979. try {
  3980. // we are going to stop within the current sync frame
  3981. // so we can safely just cancel this here as nothing async should be fired anyway
  3982. for (var _p = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(Object.keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {
  3983. var key = _q.value;
  3984. this.clock.clearTimeout(this.delayedEventsMap[key]);
  3985. }
  3986. } catch (e_10_1) {
  3987. e_10 = {
  3988. error: e_10_1
  3989. };
  3990. } finally {
  3991. try {
  3992. if (_q && !_q.done && (_e = _p.return)) _e.call(_p);
  3993. } finally {
  3994. if (e_10) throw e_10.error;
  3995. }
  3996. } // clear everything that might be enqueued
  3997. this.scheduler.clear();
  3998. this.scheduler = new _scheduler_js__WEBPACK_IMPORTED_MODULE_7__.Scheduler({
  3999. deferEvents: this.options.deferEvents
  4000. });
  4001. };
  4002. /**
  4003. * Stops the interpreter and unsubscribe all listeners.
  4004. *
  4005. * This will also notify the `onStop` listeners.
  4006. */
  4007. Interpreter.prototype.stop = function () {
  4008. // TODO: add warning for stopping non-root interpreters
  4009. var _this = this; // grab the current scheduler as it will be replaced in _stop
  4010. var scheduler = this.scheduler;
  4011. this._stop(); // let what is currently processed to be finished
  4012. scheduler.schedule(function () {
  4013. // it feels weird to handle this here but we need to handle this even slightly "out of band"
  4014. var _event = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)({
  4015. type: 'xstate.stop'
  4016. });
  4017. var nextState = (0,_serviceScope_js__WEBPACK_IMPORTED_MODULE_8__.provide)(_this, function () {
  4018. var exitActions = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__read)(_this.state.configuration), false).sort(function (a, b) {
  4019. return b.order - a.order;
  4020. }).map(function (stateNode) {
  4021. return (0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.toActionObjects)(stateNode.onExit, _this.machine.options.actions);
  4022. }));
  4023. var _a = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__read)((0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.resolveActions)(_this.machine, _this.state, _this.state.context, _event, [{
  4024. type: 'exit',
  4025. actions: exitActions
  4026. }], _this.machine.config.predictableActionArguments ? _this._exec : undefined, _this.machine.config.predictableActionArguments || _this.machine.config.preserveActionOrder), 2),
  4027. resolvedActions = _a[0],
  4028. updatedContext = _a[1];
  4029. var newState = new _State_js__WEBPACK_IMPORTED_MODULE_9__.State({
  4030. value: _this.state.value,
  4031. context: updatedContext,
  4032. _event: _event,
  4033. _sessionid: _this.sessionId,
  4034. historyValue: undefined,
  4035. history: _this.state,
  4036. actions: resolvedActions.filter(function (action) {
  4037. return !(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isRaisableAction)(action);
  4038. }),
  4039. activities: {},
  4040. events: [],
  4041. configuration: [],
  4042. transitions: [],
  4043. children: {},
  4044. done: _this.state.done,
  4045. tags: _this.state.tags,
  4046. machine: _this.machine
  4047. });
  4048. newState.changed = true;
  4049. return newState;
  4050. });
  4051. _this.update(nextState, _event);
  4052. _this._stopChildren();
  4053. _registry_js__WEBPACK_IMPORTED_MODULE_3__.registry.free(_this.sessionId);
  4054. });
  4055. return this;
  4056. };
  4057. Interpreter.prototype.batch = function (events) {
  4058. var _this = this;
  4059. if (this.status === InterpreterStatus.NotStarted && this.options.deferEvents) {
  4060. // tslint:disable-next-line:no-console
  4061. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  4062. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(false, "".concat(events.length, " event(s) were sent to uninitialized service \"").concat(this.machine.id, "\" and are deferred. Make sure .start() is called for this service.\nEvent: ").concat(JSON.stringify(event)));
  4063. }
  4064. } else if (this.status !== InterpreterStatus.Running) {
  4065. throw new Error( // tslint:disable-next-line:max-line-length
  4066. "".concat(events.length, " event(s) were sent to uninitialized service \"").concat(this.machine.id, "\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options."));
  4067. }
  4068. if (!events.length) {
  4069. return;
  4070. }
  4071. var exec = !!this.machine.config.predictableActionArguments && this._exec;
  4072. this.scheduler.schedule(function () {
  4073. var e_11, _a;
  4074. var nextState = _this.state;
  4075. var batchChanged = false;
  4076. var batchedActions = [];
  4077. var _loop_1 = function (event_1) {
  4078. var _event = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(event_1);
  4079. _this.forward(_event);
  4080. nextState = (0,_serviceScope_js__WEBPACK_IMPORTED_MODULE_8__.provide)(_this, function () {
  4081. return _this.machine.transition(nextState, _event, undefined, exec || undefined);
  4082. });
  4083. batchedActions.push.apply(batchedActions, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__read)(_this.machine.config.predictableActionArguments ? nextState.actions : nextState.actions.map(function (a) {
  4084. return (0,_State_js__WEBPACK_IMPORTED_MODULE_9__.bindActionToState)(a, nextState);
  4085. })), false));
  4086. batchChanged = batchChanged || !!nextState.changed;
  4087. };
  4088. try {
  4089. for (var events_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {
  4090. var event_1 = events_1_1.value;
  4091. _loop_1(event_1);
  4092. }
  4093. } catch (e_11_1) {
  4094. e_11 = {
  4095. error: e_11_1
  4096. };
  4097. } finally {
  4098. try {
  4099. if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);
  4100. } finally {
  4101. if (e_11) throw e_11.error;
  4102. }
  4103. }
  4104. nextState.changed = batchChanged;
  4105. nextState.actions = batchedActions;
  4106. _this.update(nextState, (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(events[events.length - 1]));
  4107. });
  4108. };
  4109. /**
  4110. * Returns a send function bound to this interpreter instance.
  4111. *
  4112. * @param event The event to be sent by the sender.
  4113. */
  4114. Interpreter.prototype.sender = function (event) {
  4115. return this.send.bind(this, event);
  4116. };
  4117. Interpreter.prototype._nextState = function (event, exec) {
  4118. var _this = this;
  4119. if (exec === void 0) {
  4120. exec = !!this.machine.config.predictableActionArguments && this._exec;
  4121. }
  4122. var _event = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(event);
  4123. if (_event.name.indexOf(_actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.errorPlatform) === 0 && !this.state.nextEvents.some(function (nextEvent) {
  4124. return nextEvent.indexOf(_actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.errorPlatform) === 0;
  4125. })) {
  4126. throw _event.data.data;
  4127. }
  4128. var nextState = (0,_serviceScope_js__WEBPACK_IMPORTED_MODULE_8__.provide)(this, function () {
  4129. return _this.machine.transition(_this.state, _event, undefined, exec || undefined);
  4130. });
  4131. return nextState;
  4132. };
  4133. /**
  4134. * Returns the next state given the interpreter's current state and the event.
  4135. *
  4136. * This is a pure method that does _not_ update the interpreter's state.
  4137. *
  4138. * @param event The event to determine the next state
  4139. */
  4140. Interpreter.prototype.nextState = function (event) {
  4141. return this._nextState(event, false);
  4142. };
  4143. Interpreter.prototype.forward = function (event) {
  4144. var e_12, _a;
  4145. try {
  4146. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__values)(this.forwardTo), _c = _b.next(); !_c.done; _c = _b.next()) {
  4147. var id = _c.value;
  4148. var child = this.children.get(id);
  4149. if (!child) {
  4150. throw new Error("Unable to forward event '".concat(event, "' from interpreter '").concat(this.id, "' to nonexistant child '").concat(id, "'."));
  4151. }
  4152. child.send(event);
  4153. }
  4154. } catch (e_12_1) {
  4155. e_12 = {
  4156. error: e_12_1
  4157. };
  4158. } finally {
  4159. try {
  4160. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  4161. } finally {
  4162. if (e_12) throw e_12.error;
  4163. }
  4164. }
  4165. };
  4166. Interpreter.prototype.defer = function (sendAction) {
  4167. var _this = this;
  4168. var timerId = this.clock.setTimeout(function () {
  4169. if ('to' in sendAction && sendAction.to) {
  4170. _this.sendTo(sendAction._event, sendAction.to, true);
  4171. } else {
  4172. _this.send(sendAction._event);
  4173. }
  4174. }, sendAction.delay);
  4175. if (sendAction.id) {
  4176. this.delayedEventsMap[sendAction.id] = timerId;
  4177. }
  4178. };
  4179. Interpreter.prototype.cancel = function (sendId) {
  4180. this.clock.clearTimeout(this.delayedEventsMap[sendId]);
  4181. delete this.delayedEventsMap[sendId];
  4182. };
  4183. Interpreter.prototype.exec = function (action, state, actionFunctionMap) {
  4184. if (actionFunctionMap === void 0) {
  4185. actionFunctionMap = this.machine.options.actions;
  4186. }
  4187. this._exec(action, state.context, state._event, actionFunctionMap);
  4188. };
  4189. Interpreter.prototype.removeChild = function (childId) {
  4190. var _a;
  4191. this.children.delete(childId);
  4192. this.forwardTo.delete(childId); // this.state might not exist at the time this is called,
  4193. // such as when a child is added then removed while initializing the state
  4194. (_a = this.state) === null || _a === void 0 ? true : delete _a.children[childId];
  4195. };
  4196. Interpreter.prototype.stopChild = function (childId) {
  4197. var child = this.children.get(childId);
  4198. if (!child) {
  4199. return;
  4200. }
  4201. this.removeChild(childId);
  4202. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(child.stop)) {
  4203. child.stop();
  4204. }
  4205. };
  4206. Interpreter.prototype.spawn = function (entity, name, options) {
  4207. if (this.status !== InterpreterStatus.Running) {
  4208. return (0,_Actor_js__WEBPACK_IMPORTED_MODULE_10__.createDeferredActor)(entity, name);
  4209. }
  4210. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isPromiseLike)(entity)) {
  4211. return this.spawnPromise(Promise.resolve(entity), name);
  4212. } else if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(entity)) {
  4213. return this.spawnCallback(entity, name);
  4214. } else if ((0,_Actor_js__WEBPACK_IMPORTED_MODULE_10__.isSpawnedActor)(entity)) {
  4215. return this.spawnActor(entity, name);
  4216. } else if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isObservable)(entity)) {
  4217. return this.spawnObservable(entity, name);
  4218. } else if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMachine)(entity)) {
  4219. return this.spawnMachine(entity, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, options), {
  4220. id: name
  4221. }));
  4222. } else if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isBehavior)(entity)) {
  4223. return this.spawnBehavior(entity, name);
  4224. } else {
  4225. throw new Error("Unable to spawn entity \"".concat(name, "\" of type \"").concat(typeof entity, "\"."));
  4226. }
  4227. };
  4228. Interpreter.prototype.spawnMachine = function (machine, options) {
  4229. var _this = this;
  4230. if (options === void 0) {
  4231. options = {};
  4232. }
  4233. var childService = new Interpreter(machine, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, this.options), {
  4234. parent: this,
  4235. id: options.id || machine.id
  4236. }));
  4237. var resolvedOptions = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, DEFAULT_SPAWN_OPTIONS), options);
  4238. if (resolvedOptions.sync) {
  4239. childService.onTransition(function (state) {
  4240. _this.send(_actionTypes_js__WEBPACK_IMPORTED_MODULE_5__.update, {
  4241. state: state,
  4242. id: childService.id
  4243. });
  4244. });
  4245. }
  4246. var actor = childService;
  4247. this.children.set(childService.id, actor);
  4248. if (resolvedOptions.autoForward) {
  4249. this.forwardTo.add(childService.id);
  4250. }
  4251. childService.onDone(function (doneEvent) {
  4252. _this.removeChild(childService.id);
  4253. _this.send((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(doneEvent, {
  4254. origin: childService.id
  4255. }));
  4256. }).start();
  4257. return actor;
  4258. };
  4259. Interpreter.prototype.spawnBehavior = function (behavior, id) {
  4260. var actorRef = (0,_behaviors_js__WEBPACK_IMPORTED_MODULE_11__.spawnBehavior)(behavior, {
  4261. id: id,
  4262. parent: this
  4263. });
  4264. this.children.set(id, actorRef);
  4265. return actorRef;
  4266. };
  4267. Interpreter.prototype.spawnPromise = function (promise, id) {
  4268. var _a;
  4269. var _this = this;
  4270. var canceled = false;
  4271. var resolvedData;
  4272. promise.then(function (response) {
  4273. if (!canceled) {
  4274. resolvedData = response;
  4275. _this.removeChild(id);
  4276. _this.send((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)((0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.doneInvoke)(id, response), {
  4277. origin: id
  4278. }));
  4279. }
  4280. }, function (errorData) {
  4281. if (!canceled) {
  4282. _this.removeChild(id);
  4283. var errorEvent = (0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.error)(id, errorData);
  4284. try {
  4285. // Send "error.platform.id" to this (parent).
  4286. _this.send((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(errorEvent, {
  4287. origin: id
  4288. }));
  4289. } catch (error) {
  4290. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.reportUnhandledExceptionOnInvocation)(errorData, error, id);
  4291. if (_this.devTools) {
  4292. _this.devTools.send(errorEvent, _this.state);
  4293. }
  4294. if (_this.machine.strict) {
  4295. // it would be better to always stop the state machine if unhandled
  4296. // exception/promise rejection happens but because we don't want to
  4297. // break existing code so enforce it on strict mode only especially so
  4298. // because documentation says that onError is optional
  4299. _this.stop();
  4300. }
  4301. }
  4302. }
  4303. });
  4304. var actor = (_a = {
  4305. id: id,
  4306. send: function () {
  4307. return void 0;
  4308. },
  4309. subscribe: function (next, handleError, complete) {
  4310. var observer = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toObserver)(next, handleError, complete);
  4311. var unsubscribed = false;
  4312. promise.then(function (response) {
  4313. if (unsubscribed) {
  4314. return;
  4315. }
  4316. observer.next(response);
  4317. if (unsubscribed) {
  4318. return;
  4319. }
  4320. observer.complete();
  4321. }, function (err) {
  4322. if (unsubscribed) {
  4323. return;
  4324. }
  4325. observer.error(err);
  4326. });
  4327. return {
  4328. unsubscribe: function () {
  4329. return unsubscribed = true;
  4330. }
  4331. };
  4332. },
  4333. stop: function () {
  4334. canceled = true;
  4335. },
  4336. toJSON: function () {
  4337. return {
  4338. id: id
  4339. };
  4340. },
  4341. getSnapshot: function () {
  4342. return resolvedData;
  4343. }
  4344. }, _a[_utils_js__WEBPACK_IMPORTED_MODULE_0__.symbolObservable] = function () {
  4345. return this;
  4346. }, _a);
  4347. this.children.set(id, actor);
  4348. return actor;
  4349. };
  4350. Interpreter.prototype.spawnCallback = function (callback, id) {
  4351. var _a;
  4352. var _this = this;
  4353. var canceled = false;
  4354. var receivers = new Set();
  4355. var listeners = new Set();
  4356. var emitted;
  4357. var receive = function (e) {
  4358. emitted = e;
  4359. listeners.forEach(function (listener) {
  4360. return listener(e);
  4361. });
  4362. if (canceled) {
  4363. return;
  4364. }
  4365. _this.send((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(e, {
  4366. origin: id
  4367. }));
  4368. };
  4369. var callbackStop;
  4370. try {
  4371. callbackStop = callback(receive, function (newListener) {
  4372. receivers.add(newListener);
  4373. });
  4374. } catch (err) {
  4375. this.send((0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.error)(id, err));
  4376. }
  4377. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isPromiseLike)(callbackStop)) {
  4378. // it turned out to be an async function, can't reliably check this before calling `callback`
  4379. // because transpiled async functions are not recognizable
  4380. return this.spawnPromise(callbackStop, id);
  4381. }
  4382. var actor = (_a = {
  4383. id: id,
  4384. send: function (event) {
  4385. return receivers.forEach(function (receiver) {
  4386. return receiver(event);
  4387. });
  4388. },
  4389. subscribe: function (next) {
  4390. var observer = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toObserver)(next);
  4391. listeners.add(observer.next);
  4392. return {
  4393. unsubscribe: function () {
  4394. listeners.delete(observer.next);
  4395. }
  4396. };
  4397. },
  4398. stop: function () {
  4399. canceled = true;
  4400. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(callbackStop)) {
  4401. callbackStop();
  4402. }
  4403. },
  4404. toJSON: function () {
  4405. return {
  4406. id: id
  4407. };
  4408. },
  4409. getSnapshot: function () {
  4410. return emitted;
  4411. }
  4412. }, _a[_utils_js__WEBPACK_IMPORTED_MODULE_0__.symbolObservable] = function () {
  4413. return this;
  4414. }, _a);
  4415. this.children.set(id, actor);
  4416. return actor;
  4417. };
  4418. Interpreter.prototype.spawnObservable = function (source, id) {
  4419. var _a;
  4420. var _this = this;
  4421. var emitted;
  4422. var subscription = source.subscribe(function (value) {
  4423. emitted = value;
  4424. _this.send((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)(value, {
  4425. origin: id
  4426. }));
  4427. }, function (err) {
  4428. _this.removeChild(id);
  4429. _this.send((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)((0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.error)(id, err), {
  4430. origin: id
  4431. }));
  4432. }, function () {
  4433. _this.removeChild(id);
  4434. _this.send((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.toSCXMLEvent)((0,_actions_js__WEBPACK_IMPORTED_MODULE_6__.doneInvoke)(id), {
  4435. origin: id
  4436. }));
  4437. });
  4438. var actor = (_a = {
  4439. id: id,
  4440. send: function () {
  4441. return void 0;
  4442. },
  4443. subscribe: function (next, handleError, complete) {
  4444. return source.subscribe(next, handleError, complete);
  4445. },
  4446. stop: function () {
  4447. return subscription.unsubscribe();
  4448. },
  4449. getSnapshot: function () {
  4450. return emitted;
  4451. },
  4452. toJSON: function () {
  4453. return {
  4454. id: id
  4455. };
  4456. }
  4457. }, _a[_utils_js__WEBPACK_IMPORTED_MODULE_0__.symbolObservable] = function () {
  4458. return this;
  4459. }, _a);
  4460. this.children.set(id, actor);
  4461. return actor;
  4462. };
  4463. Interpreter.prototype.spawnActor = function (actor, name) {
  4464. this.children.set(name, actor);
  4465. return actor;
  4466. };
  4467. Interpreter.prototype.spawnActivity = function (activity) {
  4468. var implementation = this.machine.options && this.machine.options.activities ? this.machine.options.activities[activity.type] : undefined;
  4469. if (!implementation) {
  4470. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  4471. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(false, "No implementation found for activity '".concat(activity.type, "'"));
  4472. } // tslint:disable-next-line:no-console
  4473. return;
  4474. } // Start implementation
  4475. var dispose = implementation(this.state.context, activity);
  4476. this.spawnEffect(activity.id, dispose);
  4477. };
  4478. Interpreter.prototype.spawnEffect = function (id, dispose) {
  4479. var _a;
  4480. this.children.set(id, (_a = {
  4481. id: id,
  4482. send: function () {
  4483. return void 0;
  4484. },
  4485. subscribe: function () {
  4486. return {
  4487. unsubscribe: function () {
  4488. return void 0;
  4489. }
  4490. };
  4491. },
  4492. stop: dispose || undefined,
  4493. getSnapshot: function () {
  4494. return undefined;
  4495. },
  4496. toJSON: function () {
  4497. return {
  4498. id: id
  4499. };
  4500. }
  4501. }, _a[_utils_js__WEBPACK_IMPORTED_MODULE_0__.symbolObservable] = function () {
  4502. return this;
  4503. }, _a));
  4504. };
  4505. Interpreter.prototype.attachDev = function () {
  4506. var global = (0,_devTools_js__WEBPACK_IMPORTED_MODULE_12__.getGlobal)();
  4507. if (this.options.devTools && global) {
  4508. if (global.__REDUX_DEVTOOLS_EXTENSION__) {
  4509. var devToolsOptions = typeof this.options.devTools === 'object' ? this.options.devTools : undefined;
  4510. this.devTools = global.__REDUX_DEVTOOLS_EXTENSION__.connect((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({
  4511. name: this.id,
  4512. autoPause: true,
  4513. stateSanitizer: function (state) {
  4514. return {
  4515. value: state.value,
  4516. context: state.context,
  4517. actions: state.actions
  4518. };
  4519. }
  4520. }, devToolsOptions), {
  4521. features: (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({
  4522. jump: false,
  4523. skip: false
  4524. }, devToolsOptions ? devToolsOptions.features : undefined)
  4525. }), this.machine);
  4526. this.devTools.init(this.state);
  4527. } // add XState-specific dev tooling hook
  4528. (0,_devTools_js__WEBPACK_IMPORTED_MODULE_12__.registerService)(this);
  4529. }
  4530. };
  4531. Interpreter.prototype.toJSON = function () {
  4532. return {
  4533. id: this.id
  4534. };
  4535. };
  4536. Interpreter.prototype[_utils_js__WEBPACK_IMPORTED_MODULE_0__.symbolObservable] = function () {
  4537. return this;
  4538. };
  4539. Interpreter.prototype.getSnapshot = function () {
  4540. if (this.status === InterpreterStatus.NotStarted) {
  4541. return this.initialState;
  4542. }
  4543. return this._state;
  4544. };
  4545. /**
  4546. * The default interpreter options:
  4547. *
  4548. * - `clock` uses the global `setTimeout` and `clearTimeout` functions
  4549. * - `logger` uses the global `console.log()` method
  4550. */
  4551. Interpreter.defaultOptions = {
  4552. execute: true,
  4553. deferEvents: true,
  4554. clock: {
  4555. setTimeout: function (fn, ms) {
  4556. return setTimeout(fn, ms);
  4557. },
  4558. clearTimeout: function (id) {
  4559. return clearTimeout(id);
  4560. }
  4561. },
  4562. logger: /*#__PURE__*/console.log.bind(console),
  4563. devTools: false
  4564. };
  4565. Interpreter.interpret = interpret;
  4566. return Interpreter;
  4567. }();
  4568. var resolveSpawnOptions = function (nameOrOptions) {
  4569. if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(nameOrOptions)) {
  4570. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, DEFAULT_SPAWN_OPTIONS), {
  4571. name: nameOrOptions
  4572. });
  4573. }
  4574. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_4__.__assign)({}, DEFAULT_SPAWN_OPTIONS), {
  4575. name: (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.uniqueId)()
  4576. }), nameOrOptions);
  4577. };
  4578. function spawn(entity, nameOrOptions) {
  4579. var resolvedOptions = resolveSpawnOptions(nameOrOptions);
  4580. return (0,_serviceScope_js__WEBPACK_IMPORTED_MODULE_8__.consume)(function (service) {
  4581. if (!_environment_js__WEBPACK_IMPORTED_MODULE_1__.IS_PRODUCTION) {
  4582. var isLazyEntity = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMachine)(entity) || (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(entity);
  4583. (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.warn)(!!service || isLazyEntity, "Attempted to spawn an Actor (ID: \"".concat((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMachine)(entity) ? entity.id : 'undefined', "\") outside of a service. This will have no effect."));
  4584. }
  4585. if (service) {
  4586. return service.spawn(entity, resolvedOptions.name, resolvedOptions);
  4587. } else {
  4588. return (0,_Actor_js__WEBPACK_IMPORTED_MODULE_10__.createDeferredActor)(entity, resolvedOptions.name);
  4589. }
  4590. });
  4591. }
  4592. /**
  4593. * Creates a new Interpreter instance for the given machine with the provided options, if any.
  4594. *
  4595. * @param machine The machine to interpret
  4596. * @param options Interpreter options
  4597. */
  4598. function interpret(machine, options) {
  4599. var interpreter = new Interpreter(machine, options);
  4600. return interpreter;
  4601. }
  4602. /***/ }),
  4603. /***/ "./node_modules/xstate/es/invokeUtils.js":
  4604. /*!***********************************************!*\
  4605. !*** ./node_modules/xstate/es/invokeUtils.js ***!
  4606. \***********************************************/
  4607. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  4608. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4609. /* harmony export */ toInvokeDefinition: function() { return /* binding */ toInvokeDefinition; }
  4610. /* harmony export */ });
  4611. /* unused harmony export toInvokeSource */
  4612. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  4613. /* harmony import */ var _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actionTypes.js */ "./node_modules/xstate/es/actionTypes.js");
  4614. function toInvokeSource(src) {
  4615. if (typeof src === 'string') {
  4616. var simpleSrc = {
  4617. type: src
  4618. };
  4619. simpleSrc.toString = function () {
  4620. return src;
  4621. }; // v4 compat - TODO: remove in v5
  4622. return simpleSrc;
  4623. }
  4624. return src;
  4625. }
  4626. function toInvokeDefinition(invokeConfig) {
  4627. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__.__assign)({
  4628. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.invoke
  4629. }, invokeConfig), {
  4630. toJSON: function () {
  4631. invokeConfig.onDone;
  4632. invokeConfig.onError;
  4633. var invokeDef = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__.__rest)(invokeConfig, ["onDone", "onError"]);
  4634. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, invokeDef), {
  4635. type: _actionTypes_js__WEBPACK_IMPORTED_MODULE_1__.invoke,
  4636. src: toInvokeSource(invokeConfig.src)
  4637. });
  4638. }
  4639. });
  4640. }
  4641. /***/ }),
  4642. /***/ "./node_modules/xstate/es/registry.js":
  4643. /*!********************************************!*\
  4644. !*** ./node_modules/xstate/es/registry.js ***!
  4645. \********************************************/
  4646. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  4647. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4648. /* harmony export */ registry: function() { return /* binding */ registry; }
  4649. /* harmony export */ });
  4650. var children = /*#__PURE__*/new Map();
  4651. var sessionIdIndex = 0;
  4652. var registry = {
  4653. bookId: function () {
  4654. return "x:".concat(sessionIdIndex++);
  4655. },
  4656. register: function (id, actor) {
  4657. children.set(id, actor);
  4658. return id;
  4659. },
  4660. get: function (id) {
  4661. return children.get(id);
  4662. },
  4663. free: function (id) {
  4664. children.delete(id);
  4665. }
  4666. };
  4667. /***/ }),
  4668. /***/ "./node_modules/xstate/es/scheduler.js":
  4669. /*!*********************************************!*\
  4670. !*** ./node_modules/xstate/es/scheduler.js ***!
  4671. \*********************************************/
  4672. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  4673. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4674. /* harmony export */ Scheduler: function() { return /* binding */ Scheduler; }
  4675. /* harmony export */ });
  4676. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  4677. var defaultOptions = {
  4678. deferEvents: false
  4679. };
  4680. var Scheduler =
  4681. /*#__PURE__*/
  4682. /** @class */
  4683. function () {
  4684. function Scheduler(options) {
  4685. this.processingEvent = false;
  4686. this.queue = [];
  4687. this.initialized = false;
  4688. this.options = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_0__.__assign)({}, defaultOptions), options);
  4689. }
  4690. Scheduler.prototype.initialize = function (callback) {
  4691. this.initialized = true;
  4692. if (callback) {
  4693. if (!this.options.deferEvents) {
  4694. this.schedule(callback);
  4695. return;
  4696. }
  4697. this.process(callback);
  4698. }
  4699. this.flushEvents();
  4700. };
  4701. Scheduler.prototype.schedule = function (task) {
  4702. if (!this.initialized || this.processingEvent) {
  4703. this.queue.push(task);
  4704. return;
  4705. }
  4706. if (this.queue.length !== 0) {
  4707. throw new Error('Event queue should be empty when it is not processing events');
  4708. }
  4709. this.process(task);
  4710. this.flushEvents();
  4711. };
  4712. Scheduler.prototype.clear = function () {
  4713. this.queue = [];
  4714. };
  4715. Scheduler.prototype.flushEvents = function () {
  4716. var nextCallback = this.queue.shift();
  4717. while (nextCallback) {
  4718. this.process(nextCallback);
  4719. nextCallback = this.queue.shift();
  4720. }
  4721. };
  4722. Scheduler.prototype.process = function (callback) {
  4723. this.processingEvent = true;
  4724. try {
  4725. callback();
  4726. } catch (e) {
  4727. // there is no use to keep the future events
  4728. // as the situation is not anymore the same
  4729. this.clear();
  4730. throw e;
  4731. } finally {
  4732. this.processingEvent = false;
  4733. }
  4734. };
  4735. return Scheduler;
  4736. }();
  4737. /***/ }),
  4738. /***/ "./node_modules/xstate/es/serviceScope.js":
  4739. /*!************************************************!*\
  4740. !*** ./node_modules/xstate/es/serviceScope.js ***!
  4741. \************************************************/
  4742. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  4743. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4744. /* harmony export */ consume: function() { return /* binding */ consume; },
  4745. /* harmony export */ provide: function() { return /* binding */ provide; }
  4746. /* harmony export */ });
  4747. /**
  4748. * Maintains a stack of the current service in scope.
  4749. * This is used to provide the correct service to spawn().
  4750. */
  4751. var serviceStack = [];
  4752. var provide = function (service, fn) {
  4753. serviceStack.push(service);
  4754. var result = fn(service);
  4755. serviceStack.pop();
  4756. return result;
  4757. };
  4758. var consume = function (fn) {
  4759. return fn(serviceStack[serviceStack.length - 1]);
  4760. };
  4761. /***/ }),
  4762. /***/ "./node_modules/xstate/es/stateUtils.js":
  4763. /*!**********************************************!*\
  4764. !*** ./node_modules/xstate/es/stateUtils.js ***!
  4765. \**********************************************/
  4766. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  4767. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4768. /* harmony export */ getAllChildren: function() { return /* binding */ getAllChildren; },
  4769. /* harmony export */ getAllStateNodes: function() { return /* binding */ getAllStateNodes; },
  4770. /* harmony export */ getChildren: function() { return /* binding */ getChildren; },
  4771. /* harmony export */ getConfiguration: function() { return /* binding */ getConfiguration; },
  4772. /* harmony export */ getMeta: function() { return /* binding */ getMeta; },
  4773. /* harmony export */ getTagsFromConfiguration: function() { return /* binding */ getTagsFromConfiguration; },
  4774. /* harmony export */ getValue: function() { return /* binding */ getValue; },
  4775. /* harmony export */ has: function() { return /* binding */ has; },
  4776. /* harmony export */ isInFinalState: function() { return /* binding */ isInFinalState; },
  4777. /* harmony export */ isLeafNode: function() { return /* binding */ isLeafNode; },
  4778. /* harmony export */ nextEvents: function() { return /* binding */ nextEvents; }
  4779. /* harmony export */ });
  4780. /* unused harmony export getAdjList */
  4781. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  4782. /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/xstate/es/utils.js");
  4783. var isLeafNode = function (stateNode) {
  4784. return stateNode.type === 'atomic' || stateNode.type === 'final';
  4785. };
  4786. function getAllChildren(stateNode) {
  4787. return Object.keys(stateNode.states).map(function (key) {
  4788. return stateNode.states[key];
  4789. });
  4790. }
  4791. function getChildren(stateNode) {
  4792. return getAllChildren(stateNode).filter(function (sn) {
  4793. return sn.type !== 'history';
  4794. });
  4795. }
  4796. function getAllStateNodes(stateNode) {
  4797. var stateNodes = [stateNode];
  4798. if (isLeafNode(stateNode)) {
  4799. return stateNodes;
  4800. }
  4801. return stateNodes.concat((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(getChildren(stateNode).map(getAllStateNodes)));
  4802. }
  4803. function getConfiguration(prevStateNodes, stateNodes) {
  4804. var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
  4805. var prevConfiguration = new Set(prevStateNodes);
  4806. var prevAdjList = getAdjList(prevConfiguration);
  4807. var configuration = new Set(stateNodes);
  4808. try {
  4809. // add all ancestors
  4810. for (var configuration_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(configuration), configuration_1_1 = configuration_1.next(); !configuration_1_1.done; configuration_1_1 = configuration_1.next()) {
  4811. var s = configuration_1_1.value;
  4812. var m = s.parent;
  4813. while (m && !configuration.has(m)) {
  4814. configuration.add(m);
  4815. m = m.parent;
  4816. }
  4817. }
  4818. } catch (e_1_1) {
  4819. e_1 = {
  4820. error: e_1_1
  4821. };
  4822. } finally {
  4823. try {
  4824. if (configuration_1_1 && !configuration_1_1.done && (_a = configuration_1.return)) _a.call(configuration_1);
  4825. } finally {
  4826. if (e_1) throw e_1.error;
  4827. }
  4828. }
  4829. var adjList = getAdjList(configuration);
  4830. try {
  4831. // add descendants
  4832. for (var configuration_2 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(configuration), configuration_2_1 = configuration_2.next(); !configuration_2_1.done; configuration_2_1 = configuration_2.next()) {
  4833. var s = configuration_2_1.value; // if previously active, add existing child nodes
  4834. if (s.type === 'compound' && (!adjList.get(s) || !adjList.get(s).length)) {
  4835. if (prevAdjList.get(s)) {
  4836. prevAdjList.get(s).forEach(function (sn) {
  4837. return configuration.add(sn);
  4838. });
  4839. } else {
  4840. s.initialStateNodes.forEach(function (sn) {
  4841. return configuration.add(sn);
  4842. });
  4843. }
  4844. } else {
  4845. if (s.type === 'parallel') {
  4846. try {
  4847. for (var _e = (e_3 = void 0, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(getChildren(s))), _f = _e.next(); !_f.done; _f = _e.next()) {
  4848. var child = _f.value;
  4849. if (!configuration.has(child)) {
  4850. configuration.add(child);
  4851. if (prevAdjList.get(child)) {
  4852. prevAdjList.get(child).forEach(function (sn) {
  4853. return configuration.add(sn);
  4854. });
  4855. } else {
  4856. child.initialStateNodes.forEach(function (sn) {
  4857. return configuration.add(sn);
  4858. });
  4859. }
  4860. }
  4861. }
  4862. } catch (e_3_1) {
  4863. e_3 = {
  4864. error: e_3_1
  4865. };
  4866. } finally {
  4867. try {
  4868. if (_f && !_f.done && (_c = _e.return)) _c.call(_e);
  4869. } finally {
  4870. if (e_3) throw e_3.error;
  4871. }
  4872. }
  4873. }
  4874. }
  4875. }
  4876. } catch (e_2_1) {
  4877. e_2 = {
  4878. error: e_2_1
  4879. };
  4880. } finally {
  4881. try {
  4882. if (configuration_2_1 && !configuration_2_1.done && (_b = configuration_2.return)) _b.call(configuration_2);
  4883. } finally {
  4884. if (e_2) throw e_2.error;
  4885. }
  4886. }
  4887. try {
  4888. // add all ancestors
  4889. for (var configuration_3 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(configuration), configuration_3_1 = configuration_3.next(); !configuration_3_1.done; configuration_3_1 = configuration_3.next()) {
  4890. var s = configuration_3_1.value;
  4891. var m = s.parent;
  4892. while (m && !configuration.has(m)) {
  4893. configuration.add(m);
  4894. m = m.parent;
  4895. }
  4896. }
  4897. } catch (e_4_1) {
  4898. e_4 = {
  4899. error: e_4_1
  4900. };
  4901. } finally {
  4902. try {
  4903. if (configuration_3_1 && !configuration_3_1.done && (_d = configuration_3.return)) _d.call(configuration_3);
  4904. } finally {
  4905. if (e_4) throw e_4.error;
  4906. }
  4907. }
  4908. return configuration;
  4909. }
  4910. function getValueFromAdj(baseNode, adjList) {
  4911. var childStateNodes = adjList.get(baseNode);
  4912. if (!childStateNodes) {
  4913. return {}; // todo: fix?
  4914. }
  4915. if (baseNode.type === 'compound') {
  4916. var childStateNode = childStateNodes[0];
  4917. if (childStateNode) {
  4918. if (isLeafNode(childStateNode)) {
  4919. return childStateNode.key;
  4920. }
  4921. } else {
  4922. return {};
  4923. }
  4924. }
  4925. var stateValue = {};
  4926. childStateNodes.forEach(function (csn) {
  4927. stateValue[csn.key] = getValueFromAdj(csn, adjList);
  4928. });
  4929. return stateValue;
  4930. }
  4931. function getAdjList(configuration) {
  4932. var e_5, _a;
  4933. var adjList = new Map();
  4934. try {
  4935. for (var configuration_4 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(configuration), configuration_4_1 = configuration_4.next(); !configuration_4_1.done; configuration_4_1 = configuration_4.next()) {
  4936. var s = configuration_4_1.value;
  4937. if (!adjList.has(s)) {
  4938. adjList.set(s, []);
  4939. }
  4940. if (s.parent) {
  4941. if (!adjList.has(s.parent)) {
  4942. adjList.set(s.parent, []);
  4943. }
  4944. adjList.get(s.parent).push(s);
  4945. }
  4946. }
  4947. } catch (e_5_1) {
  4948. e_5 = {
  4949. error: e_5_1
  4950. };
  4951. } finally {
  4952. try {
  4953. if (configuration_4_1 && !configuration_4_1.done && (_a = configuration_4.return)) _a.call(configuration_4);
  4954. } finally {
  4955. if (e_5) throw e_5.error;
  4956. }
  4957. }
  4958. return adjList;
  4959. }
  4960. function getValue(rootNode, configuration) {
  4961. var config = getConfiguration([rootNode], configuration);
  4962. return getValueFromAdj(rootNode, getAdjList(config));
  4963. }
  4964. function has(iterable, item) {
  4965. if (Array.isArray(iterable)) {
  4966. return iterable.some(function (member) {
  4967. return member === item;
  4968. });
  4969. }
  4970. if (iterable instanceof Set) {
  4971. return iterable.has(item);
  4972. }
  4973. return false; // TODO: fix
  4974. }
  4975. function nextEvents(configuration) {
  4976. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__read)(new Set((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__read)(configuration.map(function (sn) {
  4977. return sn.ownEvents;
  4978. })), false)))), false);
  4979. }
  4980. function isInFinalState(configuration, stateNode) {
  4981. if (stateNode.type === 'compound') {
  4982. return getChildren(stateNode).some(function (s) {
  4983. return s.type === 'final' && has(configuration, s);
  4984. });
  4985. }
  4986. if (stateNode.type === 'parallel') {
  4987. return getChildren(stateNode).every(function (sn) {
  4988. return isInFinalState(configuration, sn);
  4989. });
  4990. }
  4991. return false;
  4992. }
  4993. function getMeta(configuration) {
  4994. if (configuration === void 0) {
  4995. configuration = [];
  4996. }
  4997. return configuration.reduce(function (acc, stateNode) {
  4998. if (stateNode.meta !== undefined) {
  4999. acc[stateNode.id] = stateNode.meta;
  5000. }
  5001. return acc;
  5002. }, {});
  5003. }
  5004. function getTagsFromConfiguration(configuration) {
  5005. return new Set((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.flatten)(configuration.map(function (sn) {
  5006. return sn.tags;
  5007. })));
  5008. }
  5009. /***/ }),
  5010. /***/ "./node_modules/xstate/es/types.js":
  5011. /*!*****************************************!*\
  5012. !*** ./node_modules/xstate/es/types.js ***!
  5013. \*****************************************/
  5014. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  5015. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5016. /* harmony export */ ActionTypes: function() { return /* binding */ ActionTypes; },
  5017. /* harmony export */ SpecialTargets: function() { return /* binding */ SpecialTargets; }
  5018. /* harmony export */ });
  5019. var ActionTypes;
  5020. (function (ActionTypes) {
  5021. ActionTypes["Start"] = "xstate.start";
  5022. ActionTypes["Stop"] = "xstate.stop";
  5023. ActionTypes["Raise"] = "xstate.raise";
  5024. ActionTypes["Send"] = "xstate.send";
  5025. ActionTypes["Cancel"] = "xstate.cancel";
  5026. ActionTypes["NullEvent"] = "";
  5027. ActionTypes["Assign"] = "xstate.assign";
  5028. ActionTypes["After"] = "xstate.after";
  5029. ActionTypes["DoneState"] = "done.state";
  5030. ActionTypes["DoneInvoke"] = "done.invoke";
  5031. ActionTypes["Log"] = "xstate.log";
  5032. ActionTypes["Init"] = "xstate.init";
  5033. ActionTypes["Invoke"] = "xstate.invoke";
  5034. ActionTypes["ErrorExecution"] = "error.execution";
  5035. ActionTypes["ErrorCommunication"] = "error.communication";
  5036. ActionTypes["ErrorPlatform"] = "error.platform";
  5037. ActionTypes["ErrorCustom"] = "xstate.error";
  5038. ActionTypes["Update"] = "xstate.update";
  5039. ActionTypes["Pure"] = "xstate.pure";
  5040. ActionTypes["Choose"] = "xstate.choose";
  5041. })(ActionTypes || (ActionTypes = {}));
  5042. var SpecialTargets;
  5043. (function (SpecialTargets) {
  5044. SpecialTargets["Parent"] = "#_parent";
  5045. SpecialTargets["Internal"] = "#_internal";
  5046. })(SpecialTargets || (SpecialTargets = {}));
  5047. /***/ }),
  5048. /***/ "./node_modules/xstate/es/utils.js":
  5049. /*!*****************************************!*\
  5050. !*** ./node_modules/xstate/es/utils.js ***!
  5051. \*****************************************/
  5052. /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
  5053. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5054. /* harmony export */ createInvokeId: function() { return /* binding */ createInvokeId; },
  5055. /* harmony export */ evaluateGuard: function() { return /* binding */ evaluateGuard; },
  5056. /* harmony export */ flatten: function() { return /* binding */ flatten; },
  5057. /* harmony export */ getEventType: function() { return /* binding */ getEventType; },
  5058. /* harmony export */ isActor: function() { return /* binding */ isActor; },
  5059. /* harmony export */ isArray: function() { return /* binding */ isArray; },
  5060. /* harmony export */ isBehavior: function() { return /* binding */ isBehavior; },
  5061. /* harmony export */ isBuiltInEvent: function() { return /* binding */ isBuiltInEvent; },
  5062. /* harmony export */ isFunction: function() { return /* binding */ isFunction; },
  5063. /* harmony export */ isMachine: function() { return /* binding */ isMachine; },
  5064. /* harmony export */ isObservable: function() { return /* binding */ isObservable; },
  5065. /* harmony export */ isPromiseLike: function() { return /* binding */ isPromiseLike; },
  5066. /* harmony export */ isRaisableAction: function() { return /* binding */ isRaisableAction; },
  5067. /* harmony export */ isString: function() { return /* binding */ isString; },
  5068. /* harmony export */ mapContext: function() { return /* binding */ mapContext; },
  5069. /* harmony export */ mapFilterValues: function() { return /* binding */ mapFilterValues; },
  5070. /* harmony export */ mapValues: function() { return /* binding */ mapValues; },
  5071. /* harmony export */ matchesState: function() { return /* binding */ matchesState; },
  5072. /* harmony export */ nestedPath: function() { return /* binding */ nestedPath; },
  5073. /* harmony export */ normalizeTarget: function() { return /* binding */ normalizeTarget; },
  5074. /* harmony export */ partition: function() { return /* binding */ partition; },
  5075. /* harmony export */ path: function() { return /* binding */ path; },
  5076. /* harmony export */ pathToStateValue: function() { return /* binding */ pathToStateValue; },
  5077. /* harmony export */ reportUnhandledExceptionOnInvocation: function() { return /* binding */ reportUnhandledExceptionOnInvocation; },
  5078. /* harmony export */ symbolObservable: function() { return /* binding */ symbolObservable; },
  5079. /* harmony export */ toArray: function() { return /* binding */ toArray; },
  5080. /* harmony export */ toEventObject: function() { return /* binding */ toEventObject; },
  5081. /* harmony export */ toGuard: function() { return /* binding */ toGuard; },
  5082. /* harmony export */ toInvokeSource: function() { return /* binding */ toInvokeSource; },
  5083. /* harmony export */ toObserver: function() { return /* binding */ toObserver; },
  5084. /* harmony export */ toSCXMLEvent: function() { return /* binding */ toSCXMLEvent; },
  5085. /* harmony export */ toStatePath: function() { return /* binding */ toStatePath; },
  5086. /* harmony export */ toStatePaths: function() { return /* binding */ toStatePaths; },
  5087. /* harmony export */ toStateValue: function() { return /* binding */ toStateValue; },
  5088. /* harmony export */ toTransitionConfigArray: function() { return /* binding */ toTransitionConfigArray; },
  5089. /* harmony export */ uniqueId: function() { return /* binding */ uniqueId; },
  5090. /* harmony export */ updateContext: function() { return /* binding */ updateContext; },
  5091. /* harmony export */ updateHistoryValue: function() { return /* binding */ updateHistoryValue; },
  5092. /* harmony export */ warn: function() { return /* binding */ warn; }
  5093. /* harmony export */ });
  5094. /* unused harmony exports getActionType, interopSymbols, isStateLike, keys, pathsToStateValue, toArrayStrict, updateHistoryStates */
  5095. /* harmony import */ var _virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_virtual/_tslib.js */ "./node_modules/xstate/es/_virtual/_tslib.js");
  5096. /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./types.js */ "./node_modules/xstate/es/types.js");
  5097. /* harmony import */ var _actionTypes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./actionTypes.js */ "./node_modules/xstate/es/actionTypes.js");
  5098. /* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants.js */ "./node_modules/xstate/es/constants.js");
  5099. /* harmony import */ var _environment_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./environment.js */ "./node_modules/xstate/es/environment.js");
  5100. var _a;
  5101. function keys(value) {
  5102. return Object.keys(value);
  5103. }
  5104. function matchesState(parentStateId, childStateId, delimiter) {
  5105. if (delimiter === void 0) {
  5106. delimiter = _constants_js__WEBPACK_IMPORTED_MODULE_0__.STATE_DELIMITER;
  5107. }
  5108. var parentStateValue = toStateValue(parentStateId, delimiter);
  5109. var childStateValue = toStateValue(childStateId, delimiter);
  5110. if (isString(childStateValue)) {
  5111. if (isString(parentStateValue)) {
  5112. return childStateValue === parentStateValue;
  5113. } // Parent more specific than child
  5114. return false;
  5115. }
  5116. if (isString(parentStateValue)) {
  5117. return parentStateValue in childStateValue;
  5118. }
  5119. return Object.keys(parentStateValue).every(function (key) {
  5120. if (!(key in childStateValue)) {
  5121. return false;
  5122. }
  5123. return matchesState(parentStateValue[key], childStateValue[key]);
  5124. });
  5125. }
  5126. function getEventType(event) {
  5127. try {
  5128. return isString(event) || typeof event === 'number' ? "".concat(event) : event.type;
  5129. } catch (e) {
  5130. throw new Error('Events must be strings or objects with a string event.type property.');
  5131. }
  5132. }
  5133. function getActionType(action) {
  5134. try {
  5135. return isString(action) || typeof action === 'number' ? "".concat(action) : isFunction(action) ? action.name : action.type;
  5136. } catch (e) {
  5137. throw new Error('Actions must be strings or objects with a string action.type property.');
  5138. }
  5139. }
  5140. function toStatePath(stateId, delimiter) {
  5141. try {
  5142. if (isArray(stateId)) {
  5143. return stateId;
  5144. }
  5145. return stateId.toString().split(delimiter);
  5146. } catch (e) {
  5147. throw new Error("'".concat(stateId, "' is not a valid state path."));
  5148. }
  5149. }
  5150. function isStateLike(state) {
  5151. return typeof state === 'object' && 'value' in state && 'context' in state && 'event' in state && '_event' in state;
  5152. }
  5153. function toStateValue(stateValue, delimiter) {
  5154. if (isStateLike(stateValue)) {
  5155. return stateValue.value;
  5156. }
  5157. if (isArray(stateValue)) {
  5158. return pathToStateValue(stateValue);
  5159. }
  5160. if (typeof stateValue !== 'string') {
  5161. return stateValue;
  5162. }
  5163. var statePath = toStatePath(stateValue, delimiter);
  5164. return pathToStateValue(statePath);
  5165. }
  5166. function pathToStateValue(statePath) {
  5167. if (statePath.length === 1) {
  5168. return statePath[0];
  5169. }
  5170. var value = {};
  5171. var marker = value;
  5172. for (var i = 0; i < statePath.length - 1; i++) {
  5173. if (i === statePath.length - 2) {
  5174. marker[statePath[i]] = statePath[i + 1];
  5175. } else {
  5176. marker[statePath[i]] = {};
  5177. marker = marker[statePath[i]];
  5178. }
  5179. }
  5180. return value;
  5181. }
  5182. function mapValues(collection, iteratee) {
  5183. var result = {};
  5184. var collectionKeys = Object.keys(collection);
  5185. for (var i = 0; i < collectionKeys.length; i++) {
  5186. var key = collectionKeys[i];
  5187. result[key] = iteratee(collection[key], key, collection, i);
  5188. }
  5189. return result;
  5190. }
  5191. function mapFilterValues(collection, iteratee, predicate) {
  5192. var e_1, _a;
  5193. var result = {};
  5194. try {
  5195. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(Object.keys(collection)), _c = _b.next(); !_c.done; _c = _b.next()) {
  5196. var key = _c.value;
  5197. var item = collection[key];
  5198. if (!predicate(item)) {
  5199. continue;
  5200. }
  5201. result[key] = iteratee(item, key, collection);
  5202. }
  5203. } catch (e_1_1) {
  5204. e_1 = {
  5205. error: e_1_1
  5206. };
  5207. } finally {
  5208. try {
  5209. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  5210. } finally {
  5211. if (e_1) throw e_1.error;
  5212. }
  5213. }
  5214. return result;
  5215. }
  5216. /**
  5217. * Retrieves a value at the given path.
  5218. * @param props The deep path to the prop of the desired value
  5219. */
  5220. var path = function (props) {
  5221. return function (object) {
  5222. var e_2, _a;
  5223. var result = object;
  5224. try {
  5225. for (var props_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(props), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {
  5226. var prop = props_1_1.value;
  5227. result = result[prop];
  5228. }
  5229. } catch (e_2_1) {
  5230. e_2 = {
  5231. error: e_2_1
  5232. };
  5233. } finally {
  5234. try {
  5235. if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);
  5236. } finally {
  5237. if (e_2) throw e_2.error;
  5238. }
  5239. }
  5240. return result;
  5241. };
  5242. };
  5243. /**
  5244. * Retrieves a value at the given path via the nested accessor prop.
  5245. * @param props The deep path to the prop of the desired value
  5246. */
  5247. function nestedPath(props, accessorProp) {
  5248. return function (object) {
  5249. var e_3, _a;
  5250. var result = object;
  5251. try {
  5252. for (var props_2 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(props), props_2_1 = props_2.next(); !props_2_1.done; props_2_1 = props_2.next()) {
  5253. var prop = props_2_1.value;
  5254. result = result[accessorProp][prop];
  5255. }
  5256. } catch (e_3_1) {
  5257. e_3 = {
  5258. error: e_3_1
  5259. };
  5260. } finally {
  5261. try {
  5262. if (props_2_1 && !props_2_1.done && (_a = props_2.return)) _a.call(props_2);
  5263. } finally {
  5264. if (e_3) throw e_3.error;
  5265. }
  5266. }
  5267. return result;
  5268. };
  5269. }
  5270. function toStatePaths(stateValue) {
  5271. if (!stateValue) {
  5272. return [[]];
  5273. }
  5274. if (isString(stateValue)) {
  5275. return [[stateValue]];
  5276. }
  5277. var result = flatten(Object.keys(stateValue).map(function (key) {
  5278. var subStateValue = stateValue[key];
  5279. if (typeof subStateValue !== 'string' && (!subStateValue || !Object.keys(subStateValue).length)) {
  5280. return [[key]];
  5281. }
  5282. return toStatePaths(stateValue[key]).map(function (subPath) {
  5283. return [key].concat(subPath);
  5284. });
  5285. }));
  5286. return result;
  5287. }
  5288. function pathsToStateValue(paths) {
  5289. var e_4, _a;
  5290. var result = {};
  5291. if (paths && paths.length === 1 && paths[0].length === 1) {
  5292. return paths[0][0];
  5293. }
  5294. try {
  5295. for (var paths_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(paths), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {
  5296. var currentPath = paths_1_1.value;
  5297. var marker = result; // tslint:disable-next-line:prefer-for-of
  5298. for (var i = 0; i < currentPath.length; i++) {
  5299. var subPath = currentPath[i];
  5300. if (i === currentPath.length - 2) {
  5301. marker[subPath] = currentPath[i + 1];
  5302. break;
  5303. }
  5304. marker[subPath] = marker[subPath] || {};
  5305. marker = marker[subPath];
  5306. }
  5307. }
  5308. } catch (e_4_1) {
  5309. e_4 = {
  5310. error: e_4_1
  5311. };
  5312. } finally {
  5313. try {
  5314. if (paths_1_1 && !paths_1_1.done && (_a = paths_1.return)) _a.call(paths_1);
  5315. } finally {
  5316. if (e_4) throw e_4.error;
  5317. }
  5318. }
  5319. return result;
  5320. }
  5321. function flatten(array) {
  5322. var _a;
  5323. return (_a = []).concat.apply(_a, (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__spreadArray)([], (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__read)(array), false));
  5324. }
  5325. function toArrayStrict(value) {
  5326. if (isArray(value)) {
  5327. return value;
  5328. }
  5329. return [value];
  5330. }
  5331. function toArray(value) {
  5332. if (value === undefined) {
  5333. return [];
  5334. }
  5335. return toArrayStrict(value);
  5336. }
  5337. function mapContext(mapper, context, _event) {
  5338. var e_5, _a;
  5339. if (isFunction(mapper)) {
  5340. return mapper(context, _event.data);
  5341. }
  5342. var result = {};
  5343. try {
  5344. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(Object.keys(mapper)), _c = _b.next(); !_c.done; _c = _b.next()) {
  5345. var key = _c.value;
  5346. var subMapper = mapper[key];
  5347. if (isFunction(subMapper)) {
  5348. result[key] = subMapper(context, _event.data);
  5349. } else {
  5350. result[key] = subMapper;
  5351. }
  5352. }
  5353. } catch (e_5_1) {
  5354. e_5 = {
  5355. error: e_5_1
  5356. };
  5357. } finally {
  5358. try {
  5359. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  5360. } finally {
  5361. if (e_5) throw e_5.error;
  5362. }
  5363. }
  5364. return result;
  5365. }
  5366. function isBuiltInEvent(eventType) {
  5367. return /^(done|error)\./.test(eventType);
  5368. }
  5369. function isPromiseLike(value) {
  5370. if (value instanceof Promise) {
  5371. return true;
  5372. } // Check if shape matches the Promise/A+ specification for a "thenable".
  5373. if (value !== null && (isFunction(value) || typeof value === 'object') && isFunction(value.then)) {
  5374. return true;
  5375. }
  5376. return false;
  5377. }
  5378. function isBehavior(value) {
  5379. return value !== null && typeof value === 'object' && 'transition' in value && typeof value.transition === 'function';
  5380. }
  5381. function partition(items, predicate) {
  5382. var e_6, _a;
  5383. var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__read)([[], []], 2),
  5384. truthy = _b[0],
  5385. falsy = _b[1];
  5386. try {
  5387. for (var items_1 = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
  5388. var item = items_1_1.value;
  5389. if (predicate(item)) {
  5390. truthy.push(item);
  5391. } else {
  5392. falsy.push(item);
  5393. }
  5394. }
  5395. } catch (e_6_1) {
  5396. e_6 = {
  5397. error: e_6_1
  5398. };
  5399. } finally {
  5400. try {
  5401. if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
  5402. } finally {
  5403. if (e_6) throw e_6.error;
  5404. }
  5405. }
  5406. return [truthy, falsy];
  5407. }
  5408. function updateHistoryStates(hist, stateValue) {
  5409. return mapValues(hist.states, function (subHist, key) {
  5410. if (!subHist) {
  5411. return undefined;
  5412. }
  5413. var subStateValue = (isString(stateValue) ? undefined : stateValue[key]) || (subHist ? subHist.current : undefined);
  5414. if (!subStateValue) {
  5415. return undefined;
  5416. }
  5417. return {
  5418. current: subStateValue,
  5419. states: updateHistoryStates(subHist, subStateValue)
  5420. };
  5421. });
  5422. }
  5423. function updateHistoryValue(hist, stateValue) {
  5424. return {
  5425. current: stateValue,
  5426. states: updateHistoryStates(hist, stateValue)
  5427. };
  5428. }
  5429. function updateContext(context, _event, assignActions, state) {
  5430. if (!_environment_js__WEBPACK_IMPORTED_MODULE_2__.IS_PRODUCTION) {
  5431. warn(!!context, 'Attempting to update undefined context');
  5432. }
  5433. var updatedContext = context ? assignActions.reduce(function (acc, assignAction) {
  5434. var e_7, _a;
  5435. var assignment = assignAction.assignment;
  5436. var meta = {
  5437. state: state,
  5438. action: assignAction,
  5439. _event: _event
  5440. };
  5441. var partialUpdate = {};
  5442. if (isFunction(assignment)) {
  5443. partialUpdate = assignment(acc, _event.data, meta);
  5444. } else {
  5445. try {
  5446. for (var _b = (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__values)(Object.keys(assignment)), _c = _b.next(); !_c.done; _c = _b.next()) {
  5447. var key = _c.value;
  5448. var propAssignment = assignment[key];
  5449. partialUpdate[key] = isFunction(propAssignment) ? propAssignment(acc, _event.data, meta) : propAssignment;
  5450. }
  5451. } catch (e_7_1) {
  5452. e_7 = {
  5453. error: e_7_1
  5454. };
  5455. } finally {
  5456. try {
  5457. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  5458. } finally {
  5459. if (e_7) throw e_7.error;
  5460. }
  5461. }
  5462. }
  5463. return Object.assign({}, acc, partialUpdate);
  5464. }, context) : context;
  5465. return updatedContext;
  5466. } // tslint:disable-next-line:no-empty
  5467. var warn = function () {};
  5468. if (!_environment_js__WEBPACK_IMPORTED_MODULE_2__.IS_PRODUCTION) {
  5469. warn = function (condition, message) {
  5470. var error = condition instanceof Error ? condition : undefined;
  5471. if (!error && condition) {
  5472. return;
  5473. }
  5474. if (console !== undefined) {
  5475. var args = ["Warning: ".concat(message)];
  5476. if (error) {
  5477. args.push(error);
  5478. } // tslint:disable-next-line:no-console
  5479. console.warn.apply(console, args);
  5480. }
  5481. };
  5482. }
  5483. function isArray(value) {
  5484. return Array.isArray(value);
  5485. } // tslint:disable-next-line:ban-types
  5486. function isFunction(value) {
  5487. return typeof value === 'function';
  5488. }
  5489. function isString(value) {
  5490. return typeof value === 'string';
  5491. }
  5492. function toGuard(condition, guardMap) {
  5493. if (!condition) {
  5494. return undefined;
  5495. }
  5496. if (isString(condition)) {
  5497. return {
  5498. type: _constants_js__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_GUARD_TYPE,
  5499. name: condition,
  5500. predicate: guardMap ? guardMap[condition] : undefined
  5501. };
  5502. }
  5503. if (isFunction(condition)) {
  5504. return {
  5505. type: _constants_js__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_GUARD_TYPE,
  5506. name: condition.name,
  5507. predicate: condition
  5508. };
  5509. }
  5510. return condition;
  5511. }
  5512. function isObservable(value) {
  5513. try {
  5514. return 'subscribe' in value && isFunction(value.subscribe);
  5515. } catch (e) {
  5516. return false;
  5517. }
  5518. }
  5519. var symbolObservable = /*#__PURE__*/function () {
  5520. return typeof Symbol === 'function' && Symbol.observable || '@@observable';
  5521. }(); // TODO: to be removed in v5, left it out just to minimize the scope of the change and maintain compatibility with older versions of integration paackages
  5522. var interopSymbols = (_a = {}, _a[symbolObservable] = function () {
  5523. return this;
  5524. }, _a[Symbol.observable] = function () {
  5525. return this;
  5526. }, _a);
  5527. function isMachine(value) {
  5528. return !!value && '__xstatenode' in value;
  5529. }
  5530. function isActor(value) {
  5531. return !!value && typeof value.send === 'function';
  5532. }
  5533. var uniqueId = /*#__PURE__*/function () {
  5534. var currentId = 0;
  5535. return function () {
  5536. currentId++;
  5537. return currentId.toString(16);
  5538. };
  5539. }();
  5540. function toEventObject(event, payload // id?: TEvent['type']
  5541. ) {
  5542. if (isString(event) || typeof event === 'number') {
  5543. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__assign)({
  5544. type: event
  5545. }, payload);
  5546. }
  5547. return event;
  5548. }
  5549. function toSCXMLEvent(event, scxmlEvent) {
  5550. if (!isString(event) && '$$type' in event && event.$$type === 'scxml') {
  5551. return event;
  5552. }
  5553. var eventObject = toEventObject(event);
  5554. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__assign)({
  5555. name: eventObject.type,
  5556. data: eventObject,
  5557. $$type: 'scxml',
  5558. type: 'external'
  5559. }, scxmlEvent);
  5560. }
  5561. function toTransitionConfigArray(event, configLike) {
  5562. var transitions = toArrayStrict(configLike).map(function (transitionLike) {
  5563. if (typeof transitionLike === 'undefined' || typeof transitionLike === 'string' || isMachine(transitionLike)) {
  5564. return {
  5565. target: transitionLike,
  5566. event: event
  5567. };
  5568. }
  5569. return (0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__assign)((0,_virtual_tslib_js__WEBPACK_IMPORTED_MODULE_1__.__assign)({}, transitionLike), {
  5570. event: event
  5571. });
  5572. });
  5573. return transitions;
  5574. }
  5575. function normalizeTarget(target) {
  5576. if (target === undefined || target === _constants_js__WEBPACK_IMPORTED_MODULE_0__.TARGETLESS_KEY) {
  5577. return undefined;
  5578. }
  5579. return toArray(target);
  5580. }
  5581. function reportUnhandledExceptionOnInvocation(originalError, currentError, id) {
  5582. if (!_environment_js__WEBPACK_IMPORTED_MODULE_2__.IS_PRODUCTION) {
  5583. var originalStackTrace = originalError.stack ? " Stacktrace was '".concat(originalError.stack, "'") : '';
  5584. if (originalError === currentError) {
  5585. // tslint:disable-next-line:no-console
  5586. console.error("Missing onError handler for invocation '".concat(id, "', error was '").concat(originalError, "'.").concat(originalStackTrace));
  5587. } else {
  5588. var stackTrace = currentError.stack ? " Stacktrace was '".concat(currentError.stack, "'") : ''; // tslint:disable-next-line:no-console
  5589. console.error("Missing onError handler and/or unhandled exception/promise rejection for invocation '".concat(id, "'. ") + "Original error: '".concat(originalError, "'. ").concat(originalStackTrace, " Current error is '").concat(currentError, "'.").concat(stackTrace));
  5590. }
  5591. }
  5592. }
  5593. function evaluateGuard(machine, guard, context, _event, state) {
  5594. var guards = machine.options.guards;
  5595. var guardMeta = {
  5596. state: state,
  5597. cond: guard,
  5598. _event: _event
  5599. }; // TODO: do not hardcode!
  5600. if (guard.type === _constants_js__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_GUARD_TYPE) {
  5601. return ((guards === null || guards === void 0 ? void 0 : guards[guard.name]) || guard.predicate)(context, _event.data, guardMeta);
  5602. }
  5603. var condFn = guards === null || guards === void 0 ? void 0 : guards[guard.type];
  5604. if (!condFn) {
  5605. throw new Error("Guard '".concat(guard.type, "' is not implemented on machine '").concat(machine.id, "'."));
  5606. }
  5607. return condFn(context, _event.data, guardMeta);
  5608. }
  5609. function toInvokeSource(src) {
  5610. if (typeof src === 'string') {
  5611. return {
  5612. type: src
  5613. };
  5614. }
  5615. return src;
  5616. }
  5617. function toObserver(nextHandler, errorHandler, completionHandler) {
  5618. var noop = function () {};
  5619. var isObserver = typeof nextHandler === 'object';
  5620. var self = isObserver ? nextHandler : null;
  5621. return {
  5622. next: ((isObserver ? nextHandler.next : nextHandler) || noop).bind(self),
  5623. error: ((isObserver ? nextHandler.error : errorHandler) || noop).bind(self),
  5624. complete: ((isObserver ? nextHandler.complete : completionHandler) || noop).bind(self)
  5625. };
  5626. }
  5627. function createInvokeId(stateNodeId, index) {
  5628. return "".concat(stateNodeId, ":invocation[").concat(index, "]");
  5629. }
  5630. function isRaisableAction(action) {
  5631. return (action.type === _actionTypes_js__WEBPACK_IMPORTED_MODULE_3__.raise || action.type === _actionTypes_js__WEBPACK_IMPORTED_MODULE_3__.send && action.to === _types_js__WEBPACK_IMPORTED_MODULE_4__.SpecialTargets.Internal) && typeof action.delay !== 'number';
  5632. }
  5633. /***/ })
  5634. },
  5635. /******/ function(__webpack_require__) { // webpackRuntimeModules
  5636. /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
  5637. /******/ __webpack_require__.O(0, ["taro","vendors","common"], function() { return __webpack_exec__("./src/pages/Clock.tsx"); });
  5638. /******/ var __webpack_exports__ = __webpack_require__.O();
  5639. /******/ }
  5640. ]);
  5641. //# sourceMappingURL=Clock.js.map