| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389 |
- #!/usr/bin/env node
- var __create = Object.create;
- var __defProp = Object.defineProperty;
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
- var __getOwnPropNames = Object.getOwnPropertyNames;
- var __getProtoOf = Object.getPrototypeOf;
- var __hasOwnProp = Object.prototype.hasOwnProperty;
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
- }) : x)(function(x) {
- if (typeof require !== "undefined") return require.apply(this, arguments);
- throw Error('Dynamic require of "' + x + '" is not supported');
- });
- var __commonJS = (cb, mod) => function __require2() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
- var __copyProps = (to, from, except, desc) => {
- if (from && typeof from === "object" || typeof from === "function") {
- for (let key of __getOwnPropNames(from))
- if (!__hasOwnProp.call(to, key) && key !== except)
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
- }
- return to;
- };
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
- // If the importer is in node compatibility mode or this is not an ESM
- // file that has been converted to a CommonJS file using a Babel-
- // compatible transform (i.e. "__esModule" has not been set), then set
- // "default" to the CommonJS "module.exports" for node compatibility.
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
- mod
- ));
- // ../node_modules/.pnpm/hanji@0.0.8/node_modules/hanji/readline.js
- var require_readline = __commonJS({
- "../node_modules/.pnpm/hanji@0.0.8/node_modules/hanji/readline.js"(exports) {
- "use strict";
- var __importDefault = exports && exports.__importDefault || function(mod) {
- return mod && mod.__esModule ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.createClosable = exports.stdout = exports.stdin = void 0;
- var readline_1 = __importDefault(__require("readline"));
- exports.stdin = process.stdin;
- exports.stdout = process.stdout;
- readline_1.default.emitKeypressEvents(exports.stdin);
- var createClosable = () => {
- return readline_1.default.createInterface({
- input: exports.stdin,
- escapeCodeTimeout: 50
- });
- };
- exports.createClosable = createClosable;
- }
- });
- // ../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js
- var require_src = __commonJS({
- "../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"(exports, module) {
- "use strict";
- var ESC = "\x1B";
- var CSI = `${ESC}[`;
- var beep = "\x07";
- var cursor = {
- to(x, y) {
- if (!y) return `${CSI}${x + 1}G`;
- return `${CSI}${y + 1};${x + 1}H`;
- },
- move(x, y) {
- let ret = "";
- if (x < 0) ret += `${CSI}${-x}D`;
- else if (x > 0) ret += `${CSI}${x}C`;
- if (y < 0) ret += `${CSI}${-y}A`;
- else if (y > 0) ret += `${CSI}${y}B`;
- return ret;
- },
- up: (count = 1) => `${CSI}${count}A`,
- down: (count = 1) => `${CSI}${count}B`,
- forward: (count = 1) => `${CSI}${count}C`,
- backward: (count = 1) => `${CSI}${count}D`,
- nextLine: (count = 1) => `${CSI}E`.repeat(count),
- prevLine: (count = 1) => `${CSI}F`.repeat(count),
- left: `${CSI}G`,
- hide: `${CSI}?25l`,
- show: `${CSI}?25h`,
- save: `${ESC}7`,
- restore: `${ESC}8`
- };
- var scroll = {
- up: (count = 1) => `${CSI}S`.repeat(count),
- down: (count = 1) => `${CSI}T`.repeat(count)
- };
- var erase = {
- screen: `${CSI}2J`,
- up: (count = 1) => `${CSI}1J`.repeat(count),
- down: (count = 1) => `${CSI}J`.repeat(count),
- line: `${CSI}2K`,
- lineEnd: `${CSI}K`,
- lineStart: `${CSI}1K`,
- lines(count) {
- let clear = "";
- for (let i = 0; i < count; i++)
- clear += this.line + (i < count - 1 ? cursor.up() : "");
- if (count)
- clear += cursor.left;
- return clear;
- }
- };
- module.exports = { cursor, scroll, erase, beep };
- }
- });
- // ../node_modules/.pnpm/hanji@0.0.8/node_modules/hanji/utils.js
- var require_utils = __commonJS({
- "../node_modules/.pnpm/hanji@0.0.8/node_modules/hanji/utils.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.clear = exports.stringWidth = exports.fallbackStringWidth = exports.stripAnsi = exports.strip = void 0;
- var sisteransi_1 = require_src();
- var strip = (str) => {
- const pattern = [
- "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
- "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"
- ].join("|");
- const RGX = new RegExp(pattern, "g");
- return typeof str === "string" ? str.replace(RGX, "") : str;
- };
- exports.strip = strip;
- var stripAnsi = (str) => {
- if (typeof Bun !== "undefined" && Bun.stripANSI) {
- return Bun.stripANSI(str);
- }
- return (0, exports.strip)(str);
- };
- exports.stripAnsi = stripAnsi;
- var fallbackStringWidth = (str) => {
- let len = 0;
- const stripped = (0, exports.stripAnsi)(str);
- for (const _ of stripped)
- len++;
- return len;
- };
- exports.fallbackStringWidth = fallbackStringWidth;
- var stringWidth = (str) => {
- if (typeof Bun !== "undefined" && Bun.stringWidth)
- return Bun.stringWidth(str);
- return (0, exports.fallbackStringWidth)(str);
- };
- exports.stringWidth = stringWidth;
- var clear = function(prompt, perLine) {
- if (!perLine)
- return sisteransi_1.erase.line + sisteransi_1.cursor.to(0);
- let rows = 0;
- const lines = prompt.split(/\r?\n/);
- for (let line of lines) {
- rows += 1 + Math.floor(Math.max((0, exports.stringWidth)(line) - 1, 0) / perLine);
- }
- return sisteransi_1.erase.lines(rows);
- };
- exports.clear = clear;
- }
- });
- // ../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js
- var require_lodash = __commonJS({
- "../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js"(exports, module) {
- var FUNC_ERROR_TEXT = "Expected a function";
- var NAN = 0 / 0;
- var symbolTag = "[object Symbol]";
- var reTrim = /^\s+|\s+$/g;
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
- var reIsBinary = /^0b[01]+$/i;
- var reIsOctal = /^0o[0-7]+$/i;
- var freeParseInt = parseInt;
- var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
- var freeSelf = typeof self == "object" && self && self.Object === Object && self;
- var root = freeGlobal || freeSelf || Function("return this")();
- var objectProto = Object.prototype;
- var objectToString = objectProto.toString;
- var nativeMax = Math.max;
- var nativeMin = Math.min;
- var now = function() {
- return root.Date.now();
- };
- function debounce(func, wait, options) {
- var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
- if (typeof func != "function") {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- wait = toNumber(wait) || 0;
- if (isObject(options)) {
- leading = !!options.leading;
- maxing = "maxWait" in options;
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
- trailing = "trailing" in options ? !!options.trailing : trailing;
- }
- function invokeFunc(time) {
- var args = lastArgs, thisArg = lastThis;
- lastArgs = lastThis = void 0;
- lastInvokeTime = time;
- result = func.apply(thisArg, args);
- return result;
- }
- function leadingEdge(time) {
- lastInvokeTime = time;
- timerId = setTimeout(timerExpired, wait);
- return leading ? invokeFunc(time) : result;
- }
- function remainingWait(time) {
- var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result2 = wait - timeSinceLastCall;
- return maxing ? nativeMin(result2, maxWait - timeSinceLastInvoke) : result2;
- }
- function shouldInvoke(time) {
- var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
- return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
- }
- function timerExpired() {
- var time = now();
- if (shouldInvoke(time)) {
- return trailingEdge(time);
- }
- timerId = setTimeout(timerExpired, remainingWait(time));
- }
- function trailingEdge(time) {
- timerId = void 0;
- if (trailing && lastArgs) {
- return invokeFunc(time);
- }
- lastArgs = lastThis = void 0;
- return result;
- }
- function cancel() {
- if (timerId !== void 0) {
- clearTimeout(timerId);
- }
- lastInvokeTime = 0;
- lastArgs = lastCallTime = lastThis = timerId = void 0;
- }
- function flush() {
- return timerId === void 0 ? result : trailingEdge(now());
- }
- function debounced() {
- var time = now(), isInvoking = shouldInvoke(time);
- lastArgs = arguments;
- lastThis = this;
- lastCallTime = time;
- if (isInvoking) {
- if (timerId === void 0) {
- return leadingEdge(lastCallTime);
- }
- if (maxing) {
- timerId = setTimeout(timerExpired, wait);
- return invokeFunc(lastCallTime);
- }
- }
- if (timerId === void 0) {
- timerId = setTimeout(timerExpired, wait);
- }
- return result;
- }
- debounced.cancel = cancel;
- debounced.flush = flush;
- return debounced;
- }
- function throttle(func, wait, options) {
- var leading = true, trailing = true;
- if (typeof func != "function") {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- if (isObject(options)) {
- leading = "leading" in options ? !!options.leading : leading;
- trailing = "trailing" in options ? !!options.trailing : trailing;
- }
- return debounce(func, wait, {
- "leading": leading,
- "maxWait": wait,
- "trailing": trailing
- });
- }
- function isObject(value) {
- var type = typeof value;
- return !!value && (type == "object" || type == "function");
- }
- function isObjectLike(value) {
- return !!value && typeof value == "object";
- }
- function isSymbol(value) {
- return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
- }
- function toNumber(value) {
- if (typeof value == "number") {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- if (isObject(value)) {
- var other = typeof value.valueOf == "function" ? value.valueOf() : value;
- value = isObject(other) ? other + "" : other;
- }
- if (typeof value != "string") {
- return value === 0 ? value : +value;
- }
- value = value.replace(reTrim, "");
- var isBinary = reIsBinary.test(value);
- return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
- }
- module.exports = throttle;
- }
- });
- // ../node_modules/.pnpm/hanji@0.0.8/node_modules/hanji/index.js
- var require_hanji = __commonJS({
- "../node_modules/.pnpm/hanji@0.0.8/node_modules/hanji/index.js"(exports) {
- "use strict";
- var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
- function adopt(value) {
- return value instanceof P ? value : new P(function(resolve) {
- resolve(value);
- });
- }
- return new (P || (P = Promise))(function(resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
- function rejected(value) {
- try {
- step(generator["throw"](value));
- } catch (e) {
- reject(e);
- }
- }
- function step(result) {
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
- }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var __importDefault = exports && exports.__importDefault || function(mod) {
- return mod && mod.__esModule ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.TaskTerminal = exports.TaskView = exports.Terminal = exports.deferred = exports.SelectState = exports.Prompt = void 0;
- exports.render = render2;
- exports.renderWithTask = renderWithTask;
- exports.onTerminate = onTerminate;
- var readline_1 = require_readline();
- var sisteransi_1 = require_src();
- var utils_1 = require_utils();
- var lodash_throttle_1 = __importDefault(require_lodash());
- var Prompt2 = class {
- constructor() {
- this.attachCallbacks = [];
- this.detachCallbacks = [];
- this.inputCallbacks = [];
- }
- requestLayout() {
- this.terminal.requestLayout();
- }
- on(type, callback) {
- if (type === "attach") {
- this.attachCallbacks.push(callback);
- } else if (type === "detach") {
- this.detachCallbacks.push(callback);
- } else if (type === "input") {
- this.inputCallbacks.push(callback);
- }
- }
- attach(terminal) {
- this.terminal = terminal;
- this.attachCallbacks.forEach((it) => it(terminal));
- }
- detach(terminal) {
- this.detachCallbacks.forEach((it) => it(terminal));
- this.terminal = void 0;
- }
- input(str, key) {
- this.inputCallbacks.forEach((it) => it(str, key));
- }
- };
- exports.Prompt = Prompt2;
- var SelectState2 = class {
- constructor(items) {
- this.items = items;
- this.selectedIdx = 0;
- }
- bind(prompt) {
- prompt.on("input", (str, key) => {
- const invalidate = this.consume(str, key);
- if (invalidate)
- prompt.requestLayout();
- });
- }
- consume(str, key) {
- if (!key)
- return false;
- if (key.name === "down") {
- this.selectedIdx = (this.selectedIdx + 1) % this.items.length;
- return true;
- }
- if (key.name === "up") {
- this.selectedIdx -= 1;
- this.selectedIdx = this.selectedIdx < 0 ? this.items.length - 1 : this.selectedIdx;
- return true;
- }
- return false;
- }
- };
- exports.SelectState = SelectState2;
- var deferred = () => {
- let resolve;
- let reject;
- const promise = new Promise((res, rej) => {
- resolve = res;
- reject = rej;
- });
- return {
- resolve,
- reject,
- promise
- };
- };
- exports.deferred = deferred;
- var Terminal = class {
- constructor(view5, stdin, stdout, closable) {
- this.view = view5;
- this.stdin = stdin;
- this.stdout = stdout;
- this.closable = closable;
- this.text = "";
- this.status = "idle";
- if (this.stdin.isTTY)
- this.stdin.setRawMode(true);
- const keypress = (str, key) => {
- if (key.name === "c" && key.ctrl === true) {
- this.requestLayout();
- this.view.detach(this);
- this.tearDown(keypress);
- if (terminateHandler) {
- terminateHandler(this.stdin, this.stdout);
- return;
- }
- this.stdout.write(`
- ^C
- `);
- process.exit(1);
- }
- if (key.name === "escape") {
- this.status = "aborted";
- this.requestLayout();
- this.view.detach(this);
- this.tearDown(keypress);
- this.resolve({ status: "aborted", data: void 0 });
- return;
- }
- if (key.name === "return") {
- this.status = "submitted";
- this.requestLayout();
- this.view.detach(this);
- this.tearDown(keypress);
- this.resolve({ status: "submitted", data: this.view.result() });
- return;
- }
- view5.input(str, key);
- };
- this.stdin.on("keypress", keypress);
- this.view.attach(this);
- const { resolve, promise } = (0, exports.deferred)();
- this.resolve = resolve;
- this.promise = promise;
- this.renderFunc = (0, lodash_throttle_1.default)((str) => {
- this.stdout.write(str);
- });
- }
- tearDown(keypress) {
- this.stdout.write(sisteransi_1.cursor.show);
- this.stdin.removeListener("keypress", keypress);
- if (this.stdin.isTTY)
- this.stdin.setRawMode(false);
- this.closable.close();
- }
- result() {
- return this.promise;
- }
- toggleCursor(state) {
- if (state === "hide") {
- this.stdout.write(sisteransi_1.cursor.hide);
- } else {
- this.stdout.write(sisteransi_1.cursor.show);
- }
- }
- requestLayout() {
- const string = this.view.render(this.status);
- const clearPrefix = this.text ? (0, utils_1.clear)(this.text, this.stdout.columns) : "";
- this.text = string;
- this.renderFunc(`${clearPrefix}${string}`);
- }
- };
- exports.Terminal = Terminal;
- var TaskView2 = class {
- constructor() {
- this.attachCallbacks = [];
- this.detachCallbacks = [];
- }
- requestLayout() {
- this.terminal.requestLayout();
- }
- attach(terminal) {
- this.terminal = terminal;
- this.attachCallbacks.forEach((it) => it(terminal));
- }
- detach(terminal) {
- this.detachCallbacks.forEach((it) => it(terminal));
- this.terminal = void 0;
- }
- on(type, callback) {
- if (type === "attach") {
- this.attachCallbacks.push(callback);
- } else if (type === "detach") {
- this.detachCallbacks.push(callback);
- }
- }
- };
- exports.TaskView = TaskView2;
- var TaskTerminal = class {
- constructor(view5, stdout) {
- this.view = view5;
- this.stdout = stdout;
- this.text = "";
- this.view.attach(this);
- }
- requestLayout() {
- const string = this.view.render("pending");
- const clearPrefix = this.text ? (0, utils_1.clear)(this.text, this.stdout.columns) : "";
- this.text = string;
- this.stdout.write(`${clearPrefix}${string}`);
- }
- clear() {
- const string = this.view.render("done");
- this.view.detach(this);
- const clearPrefix = this.text ? (0, utils_1.clear)(this.text, this.stdout.columns) : "";
- this.stdout.write(`${clearPrefix}${string}`);
- }
- reject(err) {
- const string = this.view.render("rejected", err);
- this.view.detach(this);
- const clearPrefix = this.text ? (0, utils_1.clear)(this.text, this.stdout.columns) : "";
- this.stdout.write(`${clearPrefix}${string}`);
- }
- };
- exports.TaskTerminal = TaskTerminal;
- function render2(view5) {
- if (typeof view5 === "string") {
- process.stdout.write(`${view5}
- `);
- return;
- }
- if (!process.stdin.isTTY || !process.stdout.isTTY) {
- return Promise.reject(new Error("Interactive prompts require a TTY terminal (process.stdin.isTTY or process.stdout.isTTY is false). This can happen when running in CI, piped input, or non-interactive shells."));
- }
- const closable = (0, readline_1.createClosable)();
- const terminal = new Terminal(view5, readline_1.stdin, readline_1.stdout, closable);
- terminal.requestLayout();
- return terminal.result();
- }
- function renderWithTask(view5, task) {
- return __awaiter(this, void 0, void 0, function* () {
- const terminal = new TaskTerminal(view5, process.stdout);
- terminal.requestLayout();
- try {
- const result = yield task;
- terminal.clear();
- return result;
- } catch (err) {
- terminal.reject(err);
- process.exit(1);
- }
- });
- }
- var terminateHandler;
- function onTerminate(callback) {
- terminateHandler = callback;
- }
- }
- });
- // ../node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/vendor/ansi-styles/index.js
- var ANSI_BACKGROUND_OFFSET = 10;
- var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
- var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
- var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
- var styles = {
- modifier: {
- reset: [0, 0],
- // 21 isn't widely supported and 22 does the same thing
- bold: [1, 22],
- dim: [2, 22],
- italic: [3, 23],
- underline: [4, 24],
- overline: [53, 55],
- inverse: [7, 27],
- hidden: [8, 28],
- strikethrough: [9, 29]
- },
- color: {
- black: [30, 39],
- red: [31, 39],
- green: [32, 39],
- yellow: [33, 39],
- blue: [34, 39],
- magenta: [35, 39],
- cyan: [36, 39],
- white: [37, 39],
- // Bright color
- blackBright: [90, 39],
- gray: [90, 39],
- // Alias of `blackBright`
- grey: [90, 39],
- // Alias of `blackBright`
- redBright: [91, 39],
- greenBright: [92, 39],
- yellowBright: [93, 39],
- blueBright: [94, 39],
- magentaBright: [95, 39],
- cyanBright: [96, 39],
- whiteBright: [97, 39]
- },
- bgColor: {
- bgBlack: [40, 49],
- bgRed: [41, 49],
- bgGreen: [42, 49],
- bgYellow: [43, 49],
- bgBlue: [44, 49],
- bgMagenta: [45, 49],
- bgCyan: [46, 49],
- bgWhite: [47, 49],
- // Bright color
- bgBlackBright: [100, 49],
- bgGray: [100, 49],
- // Alias of `bgBlackBright`
- bgGrey: [100, 49],
- // Alias of `bgBlackBright`
- bgRedBright: [101, 49],
- bgGreenBright: [102, 49],
- bgYellowBright: [103, 49],
- bgBlueBright: [104, 49],
- bgMagentaBright: [105, 49],
- bgCyanBright: [106, 49],
- bgWhiteBright: [107, 49]
- }
- };
- var modifierNames = Object.keys(styles.modifier);
- var foregroundColorNames = Object.keys(styles.color);
- var backgroundColorNames = Object.keys(styles.bgColor);
- var colorNames = [...foregroundColorNames, ...backgroundColorNames];
- function assembleStyles() {
- const codes = /* @__PURE__ */ new Map();
- for (const [groupName, group] of Object.entries(styles)) {
- for (const [styleName, style] of Object.entries(group)) {
- styles[styleName] = {
- open: `\x1B[${style[0]}m`,
- close: `\x1B[${style[1]}m`
- };
- group[styleName] = styles[styleName];
- codes.set(style[0], style[1]);
- }
- Object.defineProperty(styles, groupName, {
- value: group,
- enumerable: false
- });
- }
- Object.defineProperty(styles, "codes", {
- value: codes,
- enumerable: false
- });
- styles.color.close = "\x1B[39m";
- styles.bgColor.close = "\x1B[49m";
- styles.color.ansi = wrapAnsi16();
- styles.color.ansi256 = wrapAnsi256();
- styles.color.ansi16m = wrapAnsi16m();
- styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
- styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
- styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
- Object.defineProperties(styles, {
- rgbToAnsi256: {
- value(red, green, blue) {
- if (red === green && green === blue) {
- if (red < 8) {
- return 16;
- }
- if (red > 248) {
- return 231;
- }
- return Math.round((red - 8) / 247 * 24) + 232;
- }
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
- },
- enumerable: false
- },
- hexToRgb: {
- value(hex) {
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
- if (!matches) {
- return [0, 0, 0];
- }
- let [colorString] = matches;
- if (colorString.length === 3) {
- colorString = [...colorString].map((character) => character + character).join("");
- }
- const integer = Number.parseInt(colorString, 16);
- return [
- /* eslint-disable no-bitwise */
- integer >> 16 & 255,
- integer >> 8 & 255,
- integer & 255
- /* eslint-enable no-bitwise */
- ];
- },
- enumerable: false
- },
- hexToAnsi256: {
- value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
- enumerable: false
- },
- ansi256ToAnsi: {
- value(code) {
- if (code < 8) {
- return 30 + code;
- }
- if (code < 16) {
- return 90 + (code - 8);
- }
- let red;
- let green;
- let blue;
- if (code >= 232) {
- red = ((code - 232) * 10 + 8) / 255;
- green = red;
- blue = red;
- } else {
- code -= 16;
- const remainder = code % 36;
- red = Math.floor(code / 36) / 5;
- green = Math.floor(remainder / 6) / 5;
- blue = remainder % 6 / 5;
- }
- const value = Math.max(red, green, blue) * 2;
- if (value === 0) {
- return 30;
- }
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
- if (value === 2) {
- result += 60;
- }
- return result;
- },
- enumerable: false
- },
- rgbToAnsi: {
- value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
- enumerable: false
- },
- hexToAnsi: {
- value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
- enumerable: false
- }
- });
- return styles;
- }
- var ansiStyles = assembleStyles();
- var ansi_styles_default = ansiStyles;
- // ../node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/vendor/supports-color/index.js
- import process2 from "node:process";
- import os from "node:os";
- import tty from "node:tty";
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
- const position = argv.indexOf(prefix + flag);
- const terminatorPosition = argv.indexOf("--");
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
- }
- var { env } = process2;
- var flagForceColor;
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
- flagForceColor = 0;
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
- flagForceColor = 1;
- }
- function envForceColor() {
- if ("FORCE_COLOR" in env) {
- if (env.FORCE_COLOR === "true") {
- return 1;
- }
- if (env.FORCE_COLOR === "false") {
- return 0;
- }
- return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
- }
- }
- function translateLevel(level) {
- if (level === 0) {
- return false;
- }
- return {
- level,
- hasBasic: true,
- has256: level >= 2,
- has16m: level >= 3
- };
- }
- function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
- const noFlagForceColor = envForceColor();
- if (noFlagForceColor !== void 0) {
- flagForceColor = noFlagForceColor;
- }
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
- if (forceColor === 0) {
- return 0;
- }
- if (sniffFlags) {
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
- return 3;
- }
- if (hasFlag("color=256")) {
- return 2;
- }
- }
- if ("TF_BUILD" in env && "AGENT_NAME" in env) {
- return 1;
- }
- if (haveStream && !streamIsTTY && forceColor === void 0) {
- return 0;
- }
- const min = forceColor || 0;
- if (env.TERM === "dumb") {
- return min;
- }
- if (process2.platform === "win32") {
- const osRelease = os.release().split(".");
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
- }
- return 1;
- }
- if ("CI" in env) {
- if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
- return 3;
- }
- if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
- return 1;
- }
- return min;
- }
- if ("TEAMCITY_VERSION" in env) {
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
- }
- if (env.COLORTERM === "truecolor") {
- return 3;
- }
- if (env.TERM === "xterm-kitty") {
- return 3;
- }
- if ("TERM_PROGRAM" in env) {
- const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
- switch (env.TERM_PROGRAM) {
- case "iTerm.app": {
- return version >= 3 ? 3 : 2;
- }
- case "Apple_Terminal": {
- return 2;
- }
- }
- }
- if (/-256(color)?$/i.test(env.TERM)) {
- return 2;
- }
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
- return 1;
- }
- if ("COLORTERM" in env) {
- return 1;
- }
- return min;
- }
- function createSupportsColor(stream, options = {}) {
- const level = _supportsColor(stream, {
- streamIsTTY: stream && stream.isTTY,
- ...options
- });
- return translateLevel(level);
- }
- var supportsColor = {
- stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
- stderr: createSupportsColor({ isTTY: tty.isatty(2) })
- };
- var supports_color_default = supportsColor;
- // ../node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/utilities.js
- function stringReplaceAll(string, substring, replacer) {
- let index6 = string.indexOf(substring);
- if (index6 === -1) {
- return string;
- }
- const substringLength = substring.length;
- let endIndex = 0;
- let returnValue = "";
- do {
- returnValue += string.slice(endIndex, index6) + substring + replacer;
- endIndex = index6 + substringLength;
- index6 = string.indexOf(substring, endIndex);
- } while (index6 !== -1);
- returnValue += string.slice(endIndex);
- return returnValue;
- }
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index6) {
- let endIndex = 0;
- let returnValue = "";
- do {
- const gotCR = string[index6 - 1] === "\r";
- returnValue += string.slice(endIndex, gotCR ? index6 - 1 : index6) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
- endIndex = index6 + 1;
- index6 = string.indexOf("\n", endIndex);
- } while (index6 !== -1);
- returnValue += string.slice(endIndex);
- return returnValue;
- }
- // ../node_modules/.pnpm/chalk@5.4.1/node_modules/chalk/source/index.js
- var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
- var GENERATOR = Symbol("GENERATOR");
- var STYLER = Symbol("STYLER");
- var IS_EMPTY = Symbol("IS_EMPTY");
- var levelMapping = [
- "ansi",
- "ansi",
- "ansi256",
- "ansi16m"
- ];
- var styles2 = /* @__PURE__ */ Object.create(null);
- var applyOptions = (object, options = {}) => {
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
- throw new Error("The `level` option should be an integer from 0 to 3");
- }
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
- object.level = options.level === void 0 ? colorLevel : options.level;
- };
- var chalkFactory = (options) => {
- const chalk2 = (...strings) => strings.join(" ");
- applyOptions(chalk2, options);
- Object.setPrototypeOf(chalk2, createChalk.prototype);
- return chalk2;
- };
- function createChalk(options) {
- return chalkFactory(options);
- }
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
- for (const [styleName, style] of Object.entries(ansi_styles_default)) {
- styles2[styleName] = {
- get() {
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
- Object.defineProperty(this, styleName, { value: builder });
- return builder;
- }
- };
- }
- styles2.visible = {
- get() {
- const builder = createBuilder(this, this[STYLER], true);
- Object.defineProperty(this, "visible", { value: builder });
- return builder;
- }
- };
- var getModelAnsi = (model, level, type, ...arguments_) => {
- if (model === "rgb") {
- if (level === "ansi16m") {
- return ansi_styles_default[type].ansi16m(...arguments_);
- }
- if (level === "ansi256") {
- return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
- }
- return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
- }
- if (model === "hex") {
- return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
- }
- return ansi_styles_default[type][model](...arguments_);
- };
- var usedModels = ["rgb", "hex", "ansi256"];
- for (const model of usedModels) {
- styles2[model] = {
- get() {
- const { level } = this;
- return function(...arguments_) {
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
- return createBuilder(this, styler, this[IS_EMPTY]);
- };
- }
- };
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
- styles2[bgModel] = {
- get() {
- const { level } = this;
- return function(...arguments_) {
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
- return createBuilder(this, styler, this[IS_EMPTY]);
- };
- }
- };
- }
- var proto = Object.defineProperties(() => {
- }, {
- ...styles2,
- level: {
- enumerable: true,
- get() {
- return this[GENERATOR].level;
- },
- set(level) {
- this[GENERATOR].level = level;
- }
- }
- });
- var createStyler = (open, close, parent) => {
- let openAll;
- let closeAll;
- if (parent === void 0) {
- openAll = open;
- closeAll = close;
- } else {
- openAll = parent.openAll + open;
- closeAll = close + parent.closeAll;
- }
- return {
- open,
- close,
- openAll,
- closeAll,
- parent
- };
- };
- var createBuilder = (self2, _styler, _isEmpty) => {
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
- Object.setPrototypeOf(builder, proto);
- builder[GENERATOR] = self2;
- builder[STYLER] = _styler;
- builder[IS_EMPTY] = _isEmpty;
- return builder;
- };
- var applyStyle = (self2, string) => {
- if (self2.level <= 0 || !string) {
- return self2[IS_EMPTY] ? "" : string;
- }
- let styler = self2[STYLER];
- if (styler === void 0) {
- return string;
- }
- const { openAll, closeAll } = styler;
- if (string.includes("\x1B")) {
- while (styler !== void 0) {
- string = stringReplaceAll(string, styler.close, styler.open);
- styler = styler.parent;
- }
- }
- const lfIndex = string.indexOf("\n");
- if (lfIndex !== -1) {
- string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
- }
- return openAll + string + closeAll;
- };
- Object.defineProperties(createChalk.prototype, styles2);
- var chalk = createChalk();
- var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
- var source_default = chalk;
- // src/utils.ts
- import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from "fs";
- import { join } from "path";
- import { parse } from "url";
- // src/cli/views.ts
- var import_hanji = __toESM(require_hanji());
- var info = (msg, greyMsg = "") => {
- return `${source_default.blue.bold("Info:")} ${msg} ${greyMsg ? source_default.grey(greyMsg) : ""}`.trim();
- };
- // src/global.ts
- var originUUID = "00000000-0000-0000-0000-000000000000";
- var snapshotVersion = "7";
- function assertUnreachable(x) {
- throw new Error("Didn't expect to get here");
- }
- // ../node_modules/.pnpm/zod@3.25.42/node_modules/zod/dist/esm/v3/helpers/util.js
- var util;
- (function(util2) {
- util2.assertEqual = (_) => {
- };
- function assertIs(_arg) {
- }
- util2.assertIs = assertIs;
- function assertNever(_x) {
- throw new Error();
- }
- util2.assertNever = assertNever;
- util2.arrayToEnum = (items) => {
- const obj = {};
- for (const item of items) {
- obj[item] = item;
- }
- return obj;
- };
- util2.getValidEnumValues = (obj) => {
- const validKeys = util2.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number");
- const filtered = {};
- for (const k of validKeys) {
- filtered[k] = obj[k];
- }
- return util2.objectValues(filtered);
- };
- util2.objectValues = (obj) => {
- return util2.objectKeys(obj).map(function(e) {
- return obj[e];
- });
- };
- util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => {
- const keys = [];
- for (const key in object) {
- if (Object.prototype.hasOwnProperty.call(object, key)) {
- keys.push(key);
- }
- }
- return keys;
- };
- util2.find = (arr, checker) => {
- for (const item of arr) {
- if (checker(item))
- return item;
- }
- return void 0;
- };
- util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val;
- function joinValues(array, separator = " | ") {
- return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator);
- }
- util2.joinValues = joinValues;
- util2.jsonStringifyReplacer = (_, value) => {
- if (typeof value === "bigint") {
- return value.toString();
- }
- return value;
- };
- })(util || (util = {}));
- var objectUtil;
- (function(objectUtil2) {
- objectUtil2.mergeShapes = (first, second) => {
- return {
- ...first,
- ...second
- // second overwrites first
- };
- };
- })(objectUtil || (objectUtil = {}));
- var ZodParsedType = util.arrayToEnum([
- "string",
- "nan",
- "number",
- "integer",
- "float",
- "boolean",
- "date",
- "bigint",
- "symbol",
- "function",
- "undefined",
- "null",
- "array",
- "object",
- "unknown",
- "promise",
- "void",
- "never",
- "map",
- "set"
- ]);
- var getParsedType = (data) => {
- const t = typeof data;
- switch (t) {
- case "undefined":
- return ZodParsedType.undefined;
- case "string":
- return ZodParsedType.string;
- case "number":
- return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
- case "boolean":
- return ZodParsedType.boolean;
- case "function":
- return ZodParsedType.function;
- case "bigint":
- return ZodParsedType.bigint;
- case "symbol":
- return ZodParsedType.symbol;
- case "object":
- if (Array.isArray(data)) {
- return ZodParsedType.array;
- }
- if (data === null) {
- return ZodParsedType.null;
- }
- if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
- return ZodParsedType.promise;
- }
- if (typeof Map !== "undefined" && data instanceof Map) {
- return ZodParsedType.map;
- }
- if (typeof Set !== "undefined" && data instanceof Set) {
- return ZodParsedType.set;
- }
- if (typeof Date !== "undefined" && data instanceof Date) {
- return ZodParsedType.date;
- }
- return ZodParsedType.object;
- default:
- return ZodParsedType.unknown;
- }
- };
- // ../node_modules/.pnpm/zod@3.25.42/node_modules/zod/dist/esm/v3/ZodError.js
- var ZodIssueCode = util.arrayToEnum([
- "invalid_type",
- "invalid_literal",
- "custom",
- "invalid_union",
- "invalid_union_discriminator",
- "invalid_enum_value",
- "unrecognized_keys",
- "invalid_arguments",
- "invalid_return_type",
- "invalid_date",
- "invalid_string",
- "too_small",
- "too_big",
- "invalid_intersection_types",
- "not_multiple_of",
- "not_finite"
- ]);
- var ZodError = class _ZodError extends Error {
- get errors() {
- return this.issues;
- }
- constructor(issues) {
- super();
- this.issues = [];
- this.addIssue = (sub) => {
- this.issues = [...this.issues, sub];
- };
- this.addIssues = (subs = []) => {
- this.issues = [...this.issues, ...subs];
- };
- const actualProto = new.target.prototype;
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(this, actualProto);
- } else {
- this.__proto__ = actualProto;
- }
- this.name = "ZodError";
- this.issues = issues;
- }
- format(_mapper) {
- const mapper = _mapper || function(issue) {
- return issue.message;
- };
- const fieldErrors = { _errors: [] };
- const processError = (error) => {
- for (const issue of error.issues) {
- if (issue.code === "invalid_union") {
- issue.unionErrors.map(processError);
- } else if (issue.code === "invalid_return_type") {
- processError(issue.returnTypeError);
- } else if (issue.code === "invalid_arguments") {
- processError(issue.argumentsError);
- } else if (issue.path.length === 0) {
- fieldErrors._errors.push(mapper(issue));
- } else {
- let curr = fieldErrors;
- let i = 0;
- while (i < issue.path.length) {
- const el = issue.path[i];
- const terminal = i === issue.path.length - 1;
- if (!terminal) {
- curr[el] = curr[el] || { _errors: [] };
- } else {
- curr[el] = curr[el] || { _errors: [] };
- curr[el]._errors.push(mapper(issue));
- }
- curr = curr[el];
- i++;
- }
- }
- }
- };
- processError(this);
- return fieldErrors;
- }
- static assert(value) {
- if (!(value instanceof _ZodError)) {
- throw new Error(`Not a ZodError: ${value}`);
- }
- }
- toString() {
- return this.message;
- }
- get message() {
- return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);
- }
- get isEmpty() {
- return this.issues.length === 0;
- }
- flatten(mapper = (issue) => issue.message) {
- const fieldErrors = {};
- const formErrors = [];
- for (const sub of this.issues) {
- if (sub.path.length > 0) {
- fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
- fieldErrors[sub.path[0]].push(mapper(sub));
- } else {
- formErrors.push(mapper(sub));
- }
- }
- return { formErrors, fieldErrors };
- }
- get formErrors() {
- return this.flatten();
- }
- };
- ZodError.create = (issues) => {
- const error = new ZodError(issues);
- return error;
- };
- // ../node_modules/.pnpm/zod@3.25.42/node_modules/zod/dist/esm/v3/locales/en.js
- var errorMap = (issue, _ctx) => {
- let message;
- switch (issue.code) {
- case ZodIssueCode.invalid_type:
- if (issue.received === ZodParsedType.undefined) {
- message = "Required";
- } else {
- message = `Expected ${issue.expected}, received ${issue.received}`;
- }
- break;
- case ZodIssueCode.invalid_literal:
- message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;
- break;
- case ZodIssueCode.unrecognized_keys:
- message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, ", ")}`;
- break;
- case ZodIssueCode.invalid_union:
- message = `Invalid input`;
- break;
- case ZodIssueCode.invalid_union_discriminator:
- message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;
- break;
- case ZodIssueCode.invalid_enum_value:
- message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;
- break;
- case ZodIssueCode.invalid_arguments:
- message = `Invalid function arguments`;
- break;
- case ZodIssueCode.invalid_return_type:
- message = `Invalid function return type`;
- break;
- case ZodIssueCode.invalid_date:
- message = `Invalid date`;
- break;
- case ZodIssueCode.invalid_string:
- if (typeof issue.validation === "object") {
- if ("includes" in issue.validation) {
- message = `Invalid input: must include "${issue.validation.includes}"`;
- if (typeof issue.validation.position === "number") {
- message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;
- }
- } else if ("startsWith" in issue.validation) {
- message = `Invalid input: must start with "${issue.validation.startsWith}"`;
- } else if ("endsWith" in issue.validation) {
- message = `Invalid input: must end with "${issue.validation.endsWith}"`;
- } else {
- util.assertNever(issue.validation);
- }
- } else if (issue.validation !== "regex") {
- message = `Invalid ${issue.validation}`;
- } else {
- message = "Invalid";
- }
- break;
- case ZodIssueCode.too_small:
- if (issue.type === "array")
- message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;
- else if (issue.type === "string")
- message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;
- else if (issue.type === "number")
- message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;
- else if (issue.type === "date")
- message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;
- else
- message = "Invalid input";
- break;
- case ZodIssueCode.too_big:
- if (issue.type === "array")
- message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;
- else if (issue.type === "string")
- message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;
- else if (issue.type === "number")
- message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
- else if (issue.type === "bigint")
- message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
- else if (issue.type === "date")
- message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;
- else
- message = "Invalid input";
- break;
- case ZodIssueCode.custom:
- message = `Invalid input`;
- break;
- case ZodIssueCode.invalid_intersection_types:
- message = `Intersection results could not be merged`;
- break;
- case ZodIssueCode.not_multiple_of:
- message = `Number must be a multiple of ${issue.multipleOf}`;
- break;
- case ZodIssueCode.not_finite:
- message = "Number must be finite";
- break;
- default:
- message = _ctx.defaultError;
- util.assertNever(issue);
- }
- return { message };
- };
- var en_default = errorMap;
- // ../node_modules/.pnpm/zod@3.25.42/node_modules/zod/dist/esm/v3/errors.js
- var overrideErrorMap = en_default;
- function getErrorMap() {
- return overrideErrorMap;
- }
- // ../node_modules/.pnpm/zod@3.25.42/node_modules/zod/dist/esm/v3/helpers/parseUtil.js
- var makeIssue = (params) => {
- const { data, path, errorMaps, issueData } = params;
- const fullPath = [...path, ...issueData.path || []];
- const fullIssue = {
- ...issueData,
- path: fullPath
- };
- if (issueData.message !== void 0) {
- return {
- ...issueData,
- path: fullPath,
- message: issueData.message
- };
- }
- let errorMessage = "";
- const maps = errorMaps.filter((m) => !!m).slice().reverse();
- for (const map of maps) {
- errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;
- }
- return {
- ...issueData,
- path: fullPath,
- message: errorMessage
- };
- };
- function addIssueToContext(ctx, issueData) {
- const overrideMap = getErrorMap();
- const issue = makeIssue({
- issueData,
- data: ctx.data,
- path: ctx.path,
- errorMaps: [
- ctx.common.contextualErrorMap,
- // contextual error map is first priority
- ctx.schemaErrorMap,
- // then schema-bound map if available
- overrideMap,
- // then global override map
- overrideMap === en_default ? void 0 : en_default
- // then global default map
- ].filter((x) => !!x)
- });
- ctx.common.issues.push(issue);
- }
- var ParseStatus = class _ParseStatus {
- constructor() {
- this.value = "valid";
- }
- dirty() {
- if (this.value === "valid")
- this.value = "dirty";
- }
- abort() {
- if (this.value !== "aborted")
- this.value = "aborted";
- }
- static mergeArray(status, results) {
- const arrayValue = [];
- for (const s of results) {
- if (s.status === "aborted")
- return INVALID;
- if (s.status === "dirty")
- status.dirty();
- arrayValue.push(s.value);
- }
- return { status: status.value, value: arrayValue };
- }
- static async mergeObjectAsync(status, pairs) {
- const syncPairs = [];
- for (const pair of pairs) {
- const key = await pair.key;
- const value = await pair.value;
- syncPairs.push({
- key,
- value
- });
- }
- return _ParseStatus.mergeObjectSync(status, syncPairs);
- }
- static mergeObjectSync(status, pairs) {
- const finalObject = {};
- for (const pair of pairs) {
- const { key, value } = pair;
- if (key.status === "aborted")
- return INVALID;
- if (value.status === "aborted")
- return INVALID;
- if (key.status === "dirty")
- status.dirty();
- if (value.status === "dirty")
- status.dirty();
- if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) {
- finalObject[key.value] = value.value;
- }
- }
- return { status: status.value, value: finalObject };
- }
- };
- var INVALID = Object.freeze({
- status: "aborted"
- });
- var DIRTY = (value) => ({ status: "dirty", value });
- var OK = (value) => ({ status: "valid", value });
- var isAborted = (x) => x.status === "aborted";
- var isDirty = (x) => x.status === "dirty";
- var isValid = (x) => x.status === "valid";
- var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
- // ../node_modules/.pnpm/zod@3.25.42/node_modules/zod/dist/esm/v3/helpers/errorUtil.js
- var errorUtil;
- (function(errorUtil2) {
- errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {};
- errorUtil2.toString = (message) => typeof message === "string" ? message : message == null ? void 0 : message.message;
- })(errorUtil || (errorUtil = {}));
- // ../node_modules/.pnpm/zod@3.25.42/node_modules/zod/dist/esm/v3/types.js
- var ParseInputLazyPath = class {
- constructor(parent, value, path, key) {
- this._cachedPath = [];
- this.parent = parent;
- this.data = value;
- this._path = path;
- this._key = key;
- }
- get path() {
- if (!this._cachedPath.length) {
- if (Array.isArray(this._key)) {
- this._cachedPath.push(...this._path, ...this._key);
- } else {
- this._cachedPath.push(...this._path, this._key);
- }
- }
- return this._cachedPath;
- }
- };
- var handleResult = (ctx, result) => {
- if (isValid(result)) {
- return { success: true, data: result.value };
- } else {
- if (!ctx.common.issues.length) {
- throw new Error("Validation failed but no issues detected.");
- }
- return {
- success: false,
- get error() {
- if (this._error)
- return this._error;
- const error = new ZodError(ctx.common.issues);
- this._error = error;
- return this._error;
- }
- };
- }
- };
- function processCreateParams(params) {
- if (!params)
- return {};
- const { errorMap: errorMap2, invalid_type_error, required_error, description } = params;
- if (errorMap2 && (invalid_type_error || required_error)) {
- throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);
- }
- if (errorMap2)
- return { errorMap: errorMap2, description };
- const customMap = (iss, ctx) => {
- const { message } = params;
- if (iss.code === "invalid_enum_value") {
- return { message: message ?? ctx.defaultError };
- }
- if (typeof ctx.data === "undefined") {
- return { message: message ?? required_error ?? ctx.defaultError };
- }
- if (iss.code !== "invalid_type")
- return { message: ctx.defaultError };
- return { message: message ?? invalid_type_error ?? ctx.defaultError };
- };
- return { errorMap: customMap, description };
- }
- var ZodType = class {
- get description() {
- return this._def.description;
- }
- _getType(input) {
- return getParsedType(input.data);
- }
- _getOrReturnCtx(input, ctx) {
- return ctx || {
- common: input.parent.common,
- data: input.data,
- parsedType: getParsedType(input.data),
- schemaErrorMap: this._def.errorMap,
- path: input.path,
- parent: input.parent
- };
- }
- _processInputParams(input) {
- return {
- status: new ParseStatus(),
- ctx: {
- common: input.parent.common,
- data: input.data,
- parsedType: getParsedType(input.data),
- schemaErrorMap: this._def.errorMap,
- path: input.path,
- parent: input.parent
- }
- };
- }
- _parseSync(input) {
- const result = this._parse(input);
- if (isAsync(result)) {
- throw new Error("Synchronous parse encountered promise.");
- }
- return result;
- }
- _parseAsync(input) {
- const result = this._parse(input);
- return Promise.resolve(result);
- }
- parse(data, params) {
- const result = this.safeParse(data, params);
- if (result.success)
- return result.data;
- throw result.error;
- }
- safeParse(data, params) {
- const ctx = {
- common: {
- issues: [],
- async: (params == null ? void 0 : params.async) ?? false,
- contextualErrorMap: params == null ? void 0 : params.errorMap
- },
- path: (params == null ? void 0 : params.path) || [],
- schemaErrorMap: this._def.errorMap,
- parent: null,
- data,
- parsedType: getParsedType(data)
- };
- const result = this._parseSync({ data, path: ctx.path, parent: ctx });
- return handleResult(ctx, result);
- }
- "~validate"(data) {
- var _a, _b;
- const ctx = {
- common: {
- issues: [],
- async: !!this["~standard"].async
- },
- path: [],
- schemaErrorMap: this._def.errorMap,
- parent: null,
- data,
- parsedType: getParsedType(data)
- };
- if (!this["~standard"].async) {
- try {
- const result = this._parseSync({ data, path: [], parent: ctx });
- return isValid(result) ? {
- value: result.value
- } : {
- issues: ctx.common.issues
- };
- } catch (err) {
- if ((_b = (_a = err == null ? void 0 : err.message) == null ? void 0 : _a.toLowerCase()) == null ? void 0 : _b.includes("encountered")) {
- this["~standard"].async = true;
- }
- ctx.common = {
- issues: [],
- async: true
- };
- }
- }
- return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result) ? {
- value: result.value
- } : {
- issues: ctx.common.issues
- });
- }
- async parseAsync(data, params) {
- const result = await this.safeParseAsync(data, params);
- if (result.success)
- return result.data;
- throw result.error;
- }
- async safeParseAsync(data, params) {
- const ctx = {
- common: {
- issues: [],
- contextualErrorMap: params == null ? void 0 : params.errorMap,
- async: true
- },
- path: (params == null ? void 0 : params.path) || [],
- schemaErrorMap: this._def.errorMap,
- parent: null,
- data,
- parsedType: getParsedType(data)
- };
- const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });
- const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));
- return handleResult(ctx, result);
- }
- refine(check, message) {
- const getIssueProperties = (val) => {
- if (typeof message === "string" || typeof message === "undefined") {
- return { message };
- } else if (typeof message === "function") {
- return message(val);
- } else {
- return message;
- }
- };
- return this._refinement((val, ctx) => {
- const result = check(val);
- const setError = () => ctx.addIssue({
- code: ZodIssueCode.custom,
- ...getIssueProperties(val)
- });
- if (typeof Promise !== "undefined" && result instanceof Promise) {
- return result.then((data) => {
- if (!data) {
- setError();
- return false;
- } else {
- return true;
- }
- });
- }
- if (!result) {
- setError();
- return false;
- } else {
- return true;
- }
- });
- }
- refinement(check, refinementData) {
- return this._refinement((val, ctx) => {
- if (!check(val)) {
- ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData);
- return false;
- } else {
- return true;
- }
- });
- }
- _refinement(refinement) {
- return new ZodEffects({
- schema: this,
- typeName: ZodFirstPartyTypeKind.ZodEffects,
- effect: { type: "refinement", refinement }
- });
- }
- superRefine(refinement) {
- return this._refinement(refinement);
- }
- constructor(def) {
- this.spa = this.safeParseAsync;
- this._def = def;
- this.parse = this.parse.bind(this);
- this.safeParse = this.safeParse.bind(this);
- this.parseAsync = this.parseAsync.bind(this);
- this.safeParseAsync = this.safeParseAsync.bind(this);
- this.spa = this.spa.bind(this);
- this.refine = this.refine.bind(this);
- this.refinement = this.refinement.bind(this);
- this.superRefine = this.superRefine.bind(this);
- this.optional = this.optional.bind(this);
- this.nullable = this.nullable.bind(this);
- this.nullish = this.nullish.bind(this);
- this.array = this.array.bind(this);
- this.promise = this.promise.bind(this);
- this.or = this.or.bind(this);
- this.and = this.and.bind(this);
- this.transform = this.transform.bind(this);
- this.brand = this.brand.bind(this);
- this.default = this.default.bind(this);
- this.catch = this.catch.bind(this);
- this.describe = this.describe.bind(this);
- this.pipe = this.pipe.bind(this);
- this.readonly = this.readonly.bind(this);
- this.isNullable = this.isNullable.bind(this);
- this.isOptional = this.isOptional.bind(this);
- this["~standard"] = {
- version: 1,
- vendor: "zod",
- validate: (data) => this["~validate"](data)
- };
- }
- optional() {
- return ZodOptional.create(this, this._def);
- }
- nullable() {
- return ZodNullable.create(this, this._def);
- }
- nullish() {
- return this.nullable().optional();
- }
- array() {
- return ZodArray.create(this);
- }
- promise() {
- return ZodPromise.create(this, this._def);
- }
- or(option) {
- return ZodUnion.create([this, option], this._def);
- }
- and(incoming) {
- return ZodIntersection.create(this, incoming, this._def);
- }
- transform(transform) {
- return new ZodEffects({
- ...processCreateParams(this._def),
- schema: this,
- typeName: ZodFirstPartyTypeKind.ZodEffects,
- effect: { type: "transform", transform }
- });
- }
- default(def) {
- const defaultValueFunc = typeof def === "function" ? def : () => def;
- return new ZodDefault({
- ...processCreateParams(this._def),
- innerType: this,
- defaultValue: defaultValueFunc,
- typeName: ZodFirstPartyTypeKind.ZodDefault
- });
- }
- brand() {
- return new ZodBranded({
- typeName: ZodFirstPartyTypeKind.ZodBranded,
- type: this,
- ...processCreateParams(this._def)
- });
- }
- catch(def) {
- const catchValueFunc = typeof def === "function" ? def : () => def;
- return new ZodCatch({
- ...processCreateParams(this._def),
- innerType: this,
- catchValue: catchValueFunc,
- typeName: ZodFirstPartyTypeKind.ZodCatch
- });
- }
- describe(description) {
- const This = this.constructor;
- return new This({
- ...this._def,
- description
- });
- }
- pipe(target) {
- return ZodPipeline.create(this, target);
- }
- readonly() {
- return ZodReadonly.create(this);
- }
- isOptional() {
- return this.safeParse(void 0).success;
- }
- isNullable() {
- return this.safeParse(null).success;
- }
- };
- var cuidRegex = /^c[^\s-]{8,}$/i;
- var cuid2Regex = /^[0-9a-z]+$/;
- var ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;
- var uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i;
- var nanoidRegex = /^[a-z0-9_-]{21}$/i;
- var jwtRegex = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;
- var durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
- var emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;
- var _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
- var emojiRegex;
- var ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
- var ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/;
- var ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;
- var ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
- var base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
- var base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;
- var dateRegexSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
- var dateRegex = new RegExp(`^${dateRegexSource}$`);
- function timeRegexSource(args) {
- let secondsRegexSource = `[0-5]\\d`;
- if (args.precision) {
- secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`;
- } else if (args.precision == null) {
- secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`;
- }
- const secondsQuantifier = args.precision ? "+" : "?";
- return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`;
- }
- function timeRegex(args) {
- return new RegExp(`^${timeRegexSource(args)}$`);
- }
- function datetimeRegex(args) {
- let regex = `${dateRegexSource}T${timeRegexSource(args)}`;
- const opts = [];
- opts.push(args.local ? `Z?` : `Z`);
- if (args.offset)
- opts.push(`([+-]\\d{2}:?\\d{2})`);
- regex = `${regex}(${opts.join("|")})`;
- return new RegExp(`^${regex}$`);
- }
- function isValidIP(ip, version) {
- if ((version === "v4" || !version) && ipv4Regex.test(ip)) {
- return true;
- }
- if ((version === "v6" || !version) && ipv6Regex.test(ip)) {
- return true;
- }
- return false;
- }
- function isValidJWT(jwt, alg) {
- if (!jwtRegex.test(jwt))
- return false;
- try {
- const [header] = jwt.split(".");
- const base64 = header.replace(/-/g, "+").replace(/_/g, "/").padEnd(header.length + (4 - header.length % 4) % 4, "=");
- const decoded = JSON.parse(atob(base64));
- if (typeof decoded !== "object" || decoded === null)
- return false;
- if ("typ" in decoded && (decoded == null ? void 0 : decoded.typ) !== "JWT")
- return false;
- if (!decoded.alg)
- return false;
- if (alg && decoded.alg !== alg)
- return false;
- return true;
- } catch {
- return false;
- }
- }
- function isValidCidr(ip, version) {
- if ((version === "v4" || !version) && ipv4CidrRegex.test(ip)) {
- return true;
- }
- if ((version === "v6" || !version) && ipv6CidrRegex.test(ip)) {
- return true;
- }
- return false;
- }
- var ZodString = class _ZodString extends ZodType {
- _parse(input) {
- if (this._def.coerce) {
- input.data = String(input.data);
- }
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.string) {
- const ctx2 = this._getOrReturnCtx(input);
- addIssueToContext(ctx2, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.string,
- received: ctx2.parsedType
- });
- return INVALID;
- }
- const status = new ParseStatus();
- let ctx = void 0;
- for (const check of this._def.checks) {
- if (check.kind === "min") {
- if (input.data.length < check.value) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_small,
- minimum: check.value,
- type: "string",
- inclusive: true,
- exact: false,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "max") {
- if (input.data.length > check.value) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_big,
- maximum: check.value,
- type: "string",
- inclusive: true,
- exact: false,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "length") {
- const tooBig = input.data.length > check.value;
- const tooSmall = input.data.length < check.value;
- if (tooBig || tooSmall) {
- ctx = this._getOrReturnCtx(input, ctx);
- if (tooBig) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_big,
- maximum: check.value,
- type: "string",
- inclusive: true,
- exact: true,
- message: check.message
- });
- } else if (tooSmall) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_small,
- minimum: check.value,
- type: "string",
- inclusive: true,
- exact: true,
- message: check.message
- });
- }
- status.dirty();
- }
- } else if (check.kind === "email") {
- if (!emailRegex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "email",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "emoji") {
- if (!emojiRegex) {
- emojiRegex = new RegExp(_emojiRegex, "u");
- }
- if (!emojiRegex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "emoji",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "uuid") {
- if (!uuidRegex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "uuid",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "nanoid") {
- if (!nanoidRegex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "nanoid",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "cuid") {
- if (!cuidRegex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "cuid",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "cuid2") {
- if (!cuid2Regex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "cuid2",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "ulid") {
- if (!ulidRegex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "ulid",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "url") {
- try {
- new URL(input.data);
- } catch {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "url",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "regex") {
- check.regex.lastIndex = 0;
- const testResult = check.regex.test(input.data);
- if (!testResult) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "regex",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "trim") {
- input.data = input.data.trim();
- } else if (check.kind === "includes") {
- if (!input.data.includes(check.value, check.position)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_string,
- validation: { includes: check.value, position: check.position },
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "toLowerCase") {
- input.data = input.data.toLowerCase();
- } else if (check.kind === "toUpperCase") {
- input.data = input.data.toUpperCase();
- } else if (check.kind === "startsWith") {
- if (!input.data.startsWith(check.value)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_string,
- validation: { startsWith: check.value },
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "endsWith") {
- if (!input.data.endsWith(check.value)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_string,
- validation: { endsWith: check.value },
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "datetime") {
- const regex = datetimeRegex(check);
- if (!regex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_string,
- validation: "datetime",
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "date") {
- const regex = dateRegex;
- if (!regex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_string,
- validation: "date",
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "time") {
- const regex = timeRegex(check);
- if (!regex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_string,
- validation: "time",
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "duration") {
- if (!durationRegex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "duration",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "ip") {
- if (!isValidIP(input.data, check.version)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "ip",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "jwt") {
- if (!isValidJWT(input.data, check.alg)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "jwt",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "cidr") {
- if (!isValidCidr(input.data, check.version)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "cidr",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "base64") {
- if (!base64Regex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "base64",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "base64url") {
- if (!base64urlRegex.test(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- validation: "base64url",
- code: ZodIssueCode.invalid_string,
- message: check.message
- });
- status.dirty();
- }
- } else {
- util.assertNever(check);
- }
- }
- return { status: status.value, value: input.data };
- }
- _regex(regex, validation, message) {
- return this.refinement((data) => regex.test(data), {
- validation,
- code: ZodIssueCode.invalid_string,
- ...errorUtil.errToObj(message)
- });
- }
- _addCheck(check) {
- return new _ZodString({
- ...this._def,
- checks: [...this._def.checks, check]
- });
- }
- email(message) {
- return this._addCheck({ kind: "email", ...errorUtil.errToObj(message) });
- }
- url(message) {
- return this._addCheck({ kind: "url", ...errorUtil.errToObj(message) });
- }
- emoji(message) {
- return this._addCheck({ kind: "emoji", ...errorUtil.errToObj(message) });
- }
- uuid(message) {
- return this._addCheck({ kind: "uuid", ...errorUtil.errToObj(message) });
- }
- nanoid(message) {
- return this._addCheck({ kind: "nanoid", ...errorUtil.errToObj(message) });
- }
- cuid(message) {
- return this._addCheck({ kind: "cuid", ...errorUtil.errToObj(message) });
- }
- cuid2(message) {
- return this._addCheck({ kind: "cuid2", ...errorUtil.errToObj(message) });
- }
- ulid(message) {
- return this._addCheck({ kind: "ulid", ...errorUtil.errToObj(message) });
- }
- base64(message) {
- return this._addCheck({ kind: "base64", ...errorUtil.errToObj(message) });
- }
- base64url(message) {
- return this._addCheck({
- kind: "base64url",
- ...errorUtil.errToObj(message)
- });
- }
- jwt(options) {
- return this._addCheck({ kind: "jwt", ...errorUtil.errToObj(options) });
- }
- ip(options) {
- return this._addCheck({ kind: "ip", ...errorUtil.errToObj(options) });
- }
- cidr(options) {
- return this._addCheck({ kind: "cidr", ...errorUtil.errToObj(options) });
- }
- datetime(options) {
- if (typeof options === "string") {
- return this._addCheck({
- kind: "datetime",
- precision: null,
- offset: false,
- local: false,
- message: options
- });
- }
- return this._addCheck({
- kind: "datetime",
- precision: typeof (options == null ? void 0 : options.precision) === "undefined" ? null : options == null ? void 0 : options.precision,
- offset: (options == null ? void 0 : options.offset) ?? false,
- local: (options == null ? void 0 : options.local) ?? false,
- ...errorUtil.errToObj(options == null ? void 0 : options.message)
- });
- }
- date(message) {
- return this._addCheck({ kind: "date", message });
- }
- time(options) {
- if (typeof options === "string") {
- return this._addCheck({
- kind: "time",
- precision: null,
- message: options
- });
- }
- return this._addCheck({
- kind: "time",
- precision: typeof (options == null ? void 0 : options.precision) === "undefined" ? null : options == null ? void 0 : options.precision,
- ...errorUtil.errToObj(options == null ? void 0 : options.message)
- });
- }
- duration(message) {
- return this._addCheck({ kind: "duration", ...errorUtil.errToObj(message) });
- }
- regex(regex, message) {
- return this._addCheck({
- kind: "regex",
- regex,
- ...errorUtil.errToObj(message)
- });
- }
- includes(value, options) {
- return this._addCheck({
- kind: "includes",
- value,
- position: options == null ? void 0 : options.position,
- ...errorUtil.errToObj(options == null ? void 0 : options.message)
- });
- }
- startsWith(value, message) {
- return this._addCheck({
- kind: "startsWith",
- value,
- ...errorUtil.errToObj(message)
- });
- }
- endsWith(value, message) {
- return this._addCheck({
- kind: "endsWith",
- value,
- ...errorUtil.errToObj(message)
- });
- }
- min(minLength, message) {
- return this._addCheck({
- kind: "min",
- value: minLength,
- ...errorUtil.errToObj(message)
- });
- }
- max(maxLength, message) {
- return this._addCheck({
- kind: "max",
- value: maxLength,
- ...errorUtil.errToObj(message)
- });
- }
- length(len, message) {
- return this._addCheck({
- kind: "length",
- value: len,
- ...errorUtil.errToObj(message)
- });
- }
- /**
- * Equivalent to `.min(1)`
- */
- nonempty(message) {
- return this.min(1, errorUtil.errToObj(message));
- }
- trim() {
- return new _ZodString({
- ...this._def,
- checks: [...this._def.checks, { kind: "trim" }]
- });
- }
- toLowerCase() {
- return new _ZodString({
- ...this._def,
- checks: [...this._def.checks, { kind: "toLowerCase" }]
- });
- }
- toUpperCase() {
- return new _ZodString({
- ...this._def,
- checks: [...this._def.checks, { kind: "toUpperCase" }]
- });
- }
- get isDatetime() {
- return !!this._def.checks.find((ch) => ch.kind === "datetime");
- }
- get isDate() {
- return !!this._def.checks.find((ch) => ch.kind === "date");
- }
- get isTime() {
- return !!this._def.checks.find((ch) => ch.kind === "time");
- }
- get isDuration() {
- return !!this._def.checks.find((ch) => ch.kind === "duration");
- }
- get isEmail() {
- return !!this._def.checks.find((ch) => ch.kind === "email");
- }
- get isURL() {
- return !!this._def.checks.find((ch) => ch.kind === "url");
- }
- get isEmoji() {
- return !!this._def.checks.find((ch) => ch.kind === "emoji");
- }
- get isUUID() {
- return !!this._def.checks.find((ch) => ch.kind === "uuid");
- }
- get isNANOID() {
- return !!this._def.checks.find((ch) => ch.kind === "nanoid");
- }
- get isCUID() {
- return !!this._def.checks.find((ch) => ch.kind === "cuid");
- }
- get isCUID2() {
- return !!this._def.checks.find((ch) => ch.kind === "cuid2");
- }
- get isULID() {
- return !!this._def.checks.find((ch) => ch.kind === "ulid");
- }
- get isIP() {
- return !!this._def.checks.find((ch) => ch.kind === "ip");
- }
- get isCIDR() {
- return !!this._def.checks.find((ch) => ch.kind === "cidr");
- }
- get isBase64() {
- return !!this._def.checks.find((ch) => ch.kind === "base64");
- }
- get isBase64url() {
- return !!this._def.checks.find((ch) => ch.kind === "base64url");
- }
- get minLength() {
- let min = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "min") {
- if (min === null || ch.value > min)
- min = ch.value;
- }
- }
- return min;
- }
- get maxLength() {
- let max = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "max") {
- if (max === null || ch.value < max)
- max = ch.value;
- }
- }
- return max;
- }
- };
- ZodString.create = (params) => {
- return new ZodString({
- checks: [],
- typeName: ZodFirstPartyTypeKind.ZodString,
- coerce: (params == null ? void 0 : params.coerce) ?? false,
- ...processCreateParams(params)
- });
- };
- function floatSafeRemainder(val, step) {
- const valDecCount = (val.toString().split(".")[1] || "").length;
- const stepDecCount = (step.toString().split(".")[1] || "").length;
- const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
- const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
- const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
- return valInt % stepInt / 10 ** decCount;
- }
- var ZodNumber = class _ZodNumber extends ZodType {
- constructor() {
- super(...arguments);
- this.min = this.gte;
- this.max = this.lte;
- this.step = this.multipleOf;
- }
- _parse(input) {
- if (this._def.coerce) {
- input.data = Number(input.data);
- }
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.number) {
- const ctx2 = this._getOrReturnCtx(input);
- addIssueToContext(ctx2, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.number,
- received: ctx2.parsedType
- });
- return INVALID;
- }
- let ctx = void 0;
- const status = new ParseStatus();
- for (const check of this._def.checks) {
- if (check.kind === "int") {
- if (!util.isInteger(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: "integer",
- received: "float",
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "min") {
- const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
- if (tooSmall) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_small,
- minimum: check.value,
- type: "number",
- inclusive: check.inclusive,
- exact: false,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "max") {
- const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
- if (tooBig) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_big,
- maximum: check.value,
- type: "number",
- inclusive: check.inclusive,
- exact: false,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "multipleOf") {
- if (floatSafeRemainder(input.data, check.value) !== 0) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.not_multiple_of,
- multipleOf: check.value,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "finite") {
- if (!Number.isFinite(input.data)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.not_finite,
- message: check.message
- });
- status.dirty();
- }
- } else {
- util.assertNever(check);
- }
- }
- return { status: status.value, value: input.data };
- }
- gte(value, message) {
- return this.setLimit("min", value, true, errorUtil.toString(message));
- }
- gt(value, message) {
- return this.setLimit("min", value, false, errorUtil.toString(message));
- }
- lte(value, message) {
- return this.setLimit("max", value, true, errorUtil.toString(message));
- }
- lt(value, message) {
- return this.setLimit("max", value, false, errorUtil.toString(message));
- }
- setLimit(kind, value, inclusive, message) {
- return new _ZodNumber({
- ...this._def,
- checks: [
- ...this._def.checks,
- {
- kind,
- value,
- inclusive,
- message: errorUtil.toString(message)
- }
- ]
- });
- }
- _addCheck(check) {
- return new _ZodNumber({
- ...this._def,
- checks: [...this._def.checks, check]
- });
- }
- int(message) {
- return this._addCheck({
- kind: "int",
- message: errorUtil.toString(message)
- });
- }
- positive(message) {
- return this._addCheck({
- kind: "min",
- value: 0,
- inclusive: false,
- message: errorUtil.toString(message)
- });
- }
- negative(message) {
- return this._addCheck({
- kind: "max",
- value: 0,
- inclusive: false,
- message: errorUtil.toString(message)
- });
- }
- nonpositive(message) {
- return this._addCheck({
- kind: "max",
- value: 0,
- inclusive: true,
- message: errorUtil.toString(message)
- });
- }
- nonnegative(message) {
- return this._addCheck({
- kind: "min",
- value: 0,
- inclusive: true,
- message: errorUtil.toString(message)
- });
- }
- multipleOf(value, message) {
- return this._addCheck({
- kind: "multipleOf",
- value,
- message: errorUtil.toString(message)
- });
- }
- finite(message) {
- return this._addCheck({
- kind: "finite",
- message: errorUtil.toString(message)
- });
- }
- safe(message) {
- return this._addCheck({
- kind: "min",
- inclusive: true,
- value: Number.MIN_SAFE_INTEGER,
- message: errorUtil.toString(message)
- })._addCheck({
- kind: "max",
- inclusive: true,
- value: Number.MAX_SAFE_INTEGER,
- message: errorUtil.toString(message)
- });
- }
- get minValue() {
- let min = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "min") {
- if (min === null || ch.value > min)
- min = ch.value;
- }
- }
- return min;
- }
- get maxValue() {
- let max = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "max") {
- if (max === null || ch.value < max)
- max = ch.value;
- }
- }
- return max;
- }
- get isInt() {
- return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util.isInteger(ch.value));
- }
- get isFinite() {
- let max = null;
- let min = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
- return true;
- } else if (ch.kind === "min") {
- if (min === null || ch.value > min)
- min = ch.value;
- } else if (ch.kind === "max") {
- if (max === null || ch.value < max)
- max = ch.value;
- }
- }
- return Number.isFinite(min) && Number.isFinite(max);
- }
- };
- ZodNumber.create = (params) => {
- return new ZodNumber({
- checks: [],
- typeName: ZodFirstPartyTypeKind.ZodNumber,
- coerce: (params == null ? void 0 : params.coerce) || false,
- ...processCreateParams(params)
- });
- };
- var ZodBigInt = class _ZodBigInt extends ZodType {
- constructor() {
- super(...arguments);
- this.min = this.gte;
- this.max = this.lte;
- }
- _parse(input) {
- if (this._def.coerce) {
- try {
- input.data = BigInt(input.data);
- } catch {
- return this._getInvalidInput(input);
- }
- }
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.bigint) {
- return this._getInvalidInput(input);
- }
- let ctx = void 0;
- const status = new ParseStatus();
- for (const check of this._def.checks) {
- if (check.kind === "min") {
- const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
- if (tooSmall) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_small,
- type: "bigint",
- minimum: check.value,
- inclusive: check.inclusive,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "max") {
- const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
- if (tooBig) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_big,
- type: "bigint",
- maximum: check.value,
- inclusive: check.inclusive,
- message: check.message
- });
- status.dirty();
- }
- } else if (check.kind === "multipleOf") {
- if (input.data % check.value !== BigInt(0)) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.not_multiple_of,
- multipleOf: check.value,
- message: check.message
- });
- status.dirty();
- }
- } else {
- util.assertNever(check);
- }
- }
- return { status: status.value, value: input.data };
- }
- _getInvalidInput(input) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.bigint,
- received: ctx.parsedType
- });
- return INVALID;
- }
- gte(value, message) {
- return this.setLimit("min", value, true, errorUtil.toString(message));
- }
- gt(value, message) {
- return this.setLimit("min", value, false, errorUtil.toString(message));
- }
- lte(value, message) {
- return this.setLimit("max", value, true, errorUtil.toString(message));
- }
- lt(value, message) {
- return this.setLimit("max", value, false, errorUtil.toString(message));
- }
- setLimit(kind, value, inclusive, message) {
- return new _ZodBigInt({
- ...this._def,
- checks: [
- ...this._def.checks,
- {
- kind,
- value,
- inclusive,
- message: errorUtil.toString(message)
- }
- ]
- });
- }
- _addCheck(check) {
- return new _ZodBigInt({
- ...this._def,
- checks: [...this._def.checks, check]
- });
- }
- positive(message) {
- return this._addCheck({
- kind: "min",
- value: BigInt(0),
- inclusive: false,
- message: errorUtil.toString(message)
- });
- }
- negative(message) {
- return this._addCheck({
- kind: "max",
- value: BigInt(0),
- inclusive: false,
- message: errorUtil.toString(message)
- });
- }
- nonpositive(message) {
- return this._addCheck({
- kind: "max",
- value: BigInt(0),
- inclusive: true,
- message: errorUtil.toString(message)
- });
- }
- nonnegative(message) {
- return this._addCheck({
- kind: "min",
- value: BigInt(0),
- inclusive: true,
- message: errorUtil.toString(message)
- });
- }
- multipleOf(value, message) {
- return this._addCheck({
- kind: "multipleOf",
- value,
- message: errorUtil.toString(message)
- });
- }
- get minValue() {
- let min = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "min") {
- if (min === null || ch.value > min)
- min = ch.value;
- }
- }
- return min;
- }
- get maxValue() {
- let max = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "max") {
- if (max === null || ch.value < max)
- max = ch.value;
- }
- }
- return max;
- }
- };
- ZodBigInt.create = (params) => {
- return new ZodBigInt({
- checks: [],
- typeName: ZodFirstPartyTypeKind.ZodBigInt,
- coerce: (params == null ? void 0 : params.coerce) ?? false,
- ...processCreateParams(params)
- });
- };
- var ZodBoolean = class extends ZodType {
- _parse(input) {
- if (this._def.coerce) {
- input.data = Boolean(input.data);
- }
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.boolean) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.boolean,
- received: ctx.parsedType
- });
- return INVALID;
- }
- return OK(input.data);
- }
- };
- ZodBoolean.create = (params) => {
- return new ZodBoolean({
- typeName: ZodFirstPartyTypeKind.ZodBoolean,
- coerce: (params == null ? void 0 : params.coerce) || false,
- ...processCreateParams(params)
- });
- };
- var ZodDate = class _ZodDate extends ZodType {
- _parse(input) {
- if (this._def.coerce) {
- input.data = new Date(input.data);
- }
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.date) {
- const ctx2 = this._getOrReturnCtx(input);
- addIssueToContext(ctx2, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.date,
- received: ctx2.parsedType
- });
- return INVALID;
- }
- if (Number.isNaN(input.data.getTime())) {
- const ctx2 = this._getOrReturnCtx(input);
- addIssueToContext(ctx2, {
- code: ZodIssueCode.invalid_date
- });
- return INVALID;
- }
- const status = new ParseStatus();
- let ctx = void 0;
- for (const check of this._def.checks) {
- if (check.kind === "min") {
- if (input.data.getTime() < check.value) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_small,
- message: check.message,
- inclusive: true,
- exact: false,
- minimum: check.value,
- type: "date"
- });
- status.dirty();
- }
- } else if (check.kind === "max") {
- if (input.data.getTime() > check.value) {
- ctx = this._getOrReturnCtx(input, ctx);
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_big,
- message: check.message,
- inclusive: true,
- exact: false,
- maximum: check.value,
- type: "date"
- });
- status.dirty();
- }
- } else {
- util.assertNever(check);
- }
- }
- return {
- status: status.value,
- value: new Date(input.data.getTime())
- };
- }
- _addCheck(check) {
- return new _ZodDate({
- ...this._def,
- checks: [...this._def.checks, check]
- });
- }
- min(minDate, message) {
- return this._addCheck({
- kind: "min",
- value: minDate.getTime(),
- message: errorUtil.toString(message)
- });
- }
- max(maxDate, message) {
- return this._addCheck({
- kind: "max",
- value: maxDate.getTime(),
- message: errorUtil.toString(message)
- });
- }
- get minDate() {
- let min = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "min") {
- if (min === null || ch.value > min)
- min = ch.value;
- }
- }
- return min != null ? new Date(min) : null;
- }
- get maxDate() {
- let max = null;
- for (const ch of this._def.checks) {
- if (ch.kind === "max") {
- if (max === null || ch.value < max)
- max = ch.value;
- }
- }
- return max != null ? new Date(max) : null;
- }
- };
- ZodDate.create = (params) => {
- return new ZodDate({
- checks: [],
- coerce: (params == null ? void 0 : params.coerce) || false,
- typeName: ZodFirstPartyTypeKind.ZodDate,
- ...processCreateParams(params)
- });
- };
- var ZodSymbol = class extends ZodType {
- _parse(input) {
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.symbol) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.symbol,
- received: ctx.parsedType
- });
- return INVALID;
- }
- return OK(input.data);
- }
- };
- ZodSymbol.create = (params) => {
- return new ZodSymbol({
- typeName: ZodFirstPartyTypeKind.ZodSymbol,
- ...processCreateParams(params)
- });
- };
- var ZodUndefined = class extends ZodType {
- _parse(input) {
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.undefined) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.undefined,
- received: ctx.parsedType
- });
- return INVALID;
- }
- return OK(input.data);
- }
- };
- ZodUndefined.create = (params) => {
- return new ZodUndefined({
- typeName: ZodFirstPartyTypeKind.ZodUndefined,
- ...processCreateParams(params)
- });
- };
- var ZodNull = class extends ZodType {
- _parse(input) {
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.null) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.null,
- received: ctx.parsedType
- });
- return INVALID;
- }
- return OK(input.data);
- }
- };
- ZodNull.create = (params) => {
- return new ZodNull({
- typeName: ZodFirstPartyTypeKind.ZodNull,
- ...processCreateParams(params)
- });
- };
- var ZodAny = class extends ZodType {
- constructor() {
- super(...arguments);
- this._any = true;
- }
- _parse(input) {
- return OK(input.data);
- }
- };
- ZodAny.create = (params) => {
- return new ZodAny({
- typeName: ZodFirstPartyTypeKind.ZodAny,
- ...processCreateParams(params)
- });
- };
- var ZodUnknown = class extends ZodType {
- constructor() {
- super(...arguments);
- this._unknown = true;
- }
- _parse(input) {
- return OK(input.data);
- }
- };
- ZodUnknown.create = (params) => {
- return new ZodUnknown({
- typeName: ZodFirstPartyTypeKind.ZodUnknown,
- ...processCreateParams(params)
- });
- };
- var ZodNever = class extends ZodType {
- _parse(input) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.never,
- received: ctx.parsedType
- });
- return INVALID;
- }
- };
- ZodNever.create = (params) => {
- return new ZodNever({
- typeName: ZodFirstPartyTypeKind.ZodNever,
- ...processCreateParams(params)
- });
- };
- var ZodVoid = class extends ZodType {
- _parse(input) {
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.undefined) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.void,
- received: ctx.parsedType
- });
- return INVALID;
- }
- return OK(input.data);
- }
- };
- ZodVoid.create = (params) => {
- return new ZodVoid({
- typeName: ZodFirstPartyTypeKind.ZodVoid,
- ...processCreateParams(params)
- });
- };
- var ZodArray = class _ZodArray extends ZodType {
- _parse(input) {
- const { ctx, status } = this._processInputParams(input);
- const def = this._def;
- if (ctx.parsedType !== ZodParsedType.array) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.array,
- received: ctx.parsedType
- });
- return INVALID;
- }
- if (def.exactLength !== null) {
- const tooBig = ctx.data.length > def.exactLength.value;
- const tooSmall = ctx.data.length < def.exactLength.value;
- if (tooBig || tooSmall) {
- addIssueToContext(ctx, {
- code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,
- minimum: tooSmall ? def.exactLength.value : void 0,
- maximum: tooBig ? def.exactLength.value : void 0,
- type: "array",
- inclusive: true,
- exact: true,
- message: def.exactLength.message
- });
- status.dirty();
- }
- }
- if (def.minLength !== null) {
- if (ctx.data.length < def.minLength.value) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_small,
- minimum: def.minLength.value,
- type: "array",
- inclusive: true,
- exact: false,
- message: def.minLength.message
- });
- status.dirty();
- }
- }
- if (def.maxLength !== null) {
- if (ctx.data.length > def.maxLength.value) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_big,
- maximum: def.maxLength.value,
- type: "array",
- inclusive: true,
- exact: false,
- message: def.maxLength.message
- });
- status.dirty();
- }
- }
- if (ctx.common.async) {
- return Promise.all([...ctx.data].map((item, i) => {
- return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));
- })).then((result2) => {
- return ParseStatus.mergeArray(status, result2);
- });
- }
- const result = [...ctx.data].map((item, i) => {
- return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));
- });
- return ParseStatus.mergeArray(status, result);
- }
- get element() {
- return this._def.type;
- }
- min(minLength, message) {
- return new _ZodArray({
- ...this._def,
- minLength: { value: minLength, message: errorUtil.toString(message) }
- });
- }
- max(maxLength, message) {
- return new _ZodArray({
- ...this._def,
- maxLength: { value: maxLength, message: errorUtil.toString(message) }
- });
- }
- length(len, message) {
- return new _ZodArray({
- ...this._def,
- exactLength: { value: len, message: errorUtil.toString(message) }
- });
- }
- nonempty(message) {
- return this.min(1, message);
- }
- };
- ZodArray.create = (schema4, params) => {
- return new ZodArray({
- type: schema4,
- minLength: null,
- maxLength: null,
- exactLength: null,
- typeName: ZodFirstPartyTypeKind.ZodArray,
- ...processCreateParams(params)
- });
- };
- function deepPartialify(schema4) {
- if (schema4 instanceof ZodObject) {
- const newShape = {};
- for (const key in schema4.shape) {
- const fieldSchema = schema4.shape[key];
- newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));
- }
- return new ZodObject({
- ...schema4._def,
- shape: () => newShape
- });
- } else if (schema4 instanceof ZodArray) {
- return new ZodArray({
- ...schema4._def,
- type: deepPartialify(schema4.element)
- });
- } else if (schema4 instanceof ZodOptional) {
- return ZodOptional.create(deepPartialify(schema4.unwrap()));
- } else if (schema4 instanceof ZodNullable) {
- return ZodNullable.create(deepPartialify(schema4.unwrap()));
- } else if (schema4 instanceof ZodTuple) {
- return ZodTuple.create(schema4.items.map((item) => deepPartialify(item)));
- } else {
- return schema4;
- }
- }
- var ZodObject = class _ZodObject extends ZodType {
- constructor() {
- super(...arguments);
- this._cached = null;
- this.nonstrict = this.passthrough;
- this.augment = this.extend;
- }
- _getCached() {
- if (this._cached !== null)
- return this._cached;
- const shape = this._def.shape();
- const keys = util.objectKeys(shape);
- this._cached = { shape, keys };
- return this._cached;
- }
- _parse(input) {
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.object) {
- const ctx2 = this._getOrReturnCtx(input);
- addIssueToContext(ctx2, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.object,
- received: ctx2.parsedType
- });
- return INVALID;
- }
- const { status, ctx } = this._processInputParams(input);
- const { shape, keys: shapeKeys } = this._getCached();
- const extraKeys = [];
- if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === "strip")) {
- for (const key in ctx.data) {
- if (!shapeKeys.includes(key)) {
- extraKeys.push(key);
- }
- }
- }
- const pairs = [];
- for (const key of shapeKeys) {
- const keyValidator = shape[key];
- const value = ctx.data[key];
- pairs.push({
- key: { status: "valid", value: key },
- value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),
- alwaysSet: key in ctx.data
- });
- }
- if (this._def.catchall instanceof ZodNever) {
- const unknownKeys = this._def.unknownKeys;
- if (unknownKeys === "passthrough") {
- for (const key of extraKeys) {
- pairs.push({
- key: { status: "valid", value: key },
- value: { status: "valid", value: ctx.data[key] }
- });
- }
- } else if (unknownKeys === "strict") {
- if (extraKeys.length > 0) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.unrecognized_keys,
- keys: extraKeys
- });
- status.dirty();
- }
- } else if (unknownKeys === "strip") {
- } else {
- throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);
- }
- } else {
- const catchall = this._def.catchall;
- for (const key of extraKeys) {
- const value = ctx.data[key];
- pairs.push({
- key: { status: "valid", value: key },
- value: catchall._parse(
- new ParseInputLazyPath(ctx, value, ctx.path, key)
- //, ctx.child(key), value, getParsedType(value)
- ),
- alwaysSet: key in ctx.data
- });
- }
- }
- if (ctx.common.async) {
- return Promise.resolve().then(async () => {
- const syncPairs = [];
- for (const pair of pairs) {
- const key = await pair.key;
- const value = await pair.value;
- syncPairs.push({
- key,
- value,
- alwaysSet: pair.alwaysSet
- });
- }
- return syncPairs;
- }).then((syncPairs) => {
- return ParseStatus.mergeObjectSync(status, syncPairs);
- });
- } else {
- return ParseStatus.mergeObjectSync(status, pairs);
- }
- }
- get shape() {
- return this._def.shape();
- }
- strict(message) {
- errorUtil.errToObj;
- return new _ZodObject({
- ...this._def,
- unknownKeys: "strict",
- ...message !== void 0 ? {
- errorMap: (issue, ctx) => {
- var _a, _b;
- const defaultError = ((_b = (_a = this._def).errorMap) == null ? void 0 : _b.call(_a, issue, ctx).message) ?? ctx.defaultError;
- if (issue.code === "unrecognized_keys")
- return {
- message: errorUtil.errToObj(message).message ?? defaultError
- };
- return {
- message: defaultError
- };
- }
- } : {}
- });
- }
- strip() {
- return new _ZodObject({
- ...this._def,
- unknownKeys: "strip"
- });
- }
- passthrough() {
- return new _ZodObject({
- ...this._def,
- unknownKeys: "passthrough"
- });
- }
- // const AugmentFactory =
- // <Def extends ZodObjectDef>(def: Def) =>
- // <Augmentation extends ZodRawShape>(
- // augmentation: Augmentation
- // ): ZodObject<
- // extendShape<ReturnType<Def["shape"]>, Augmentation>,
- // Def["unknownKeys"],
- // Def["catchall"]
- // > => {
- // return new ZodObject({
- // ...def,
- // shape: () => ({
- // ...def.shape(),
- // ...augmentation,
- // }),
- // }) as any;
- // };
- extend(augmentation) {
- return new _ZodObject({
- ...this._def,
- shape: () => ({
- ...this._def.shape(),
- ...augmentation
- })
- });
- }
- /**
- * Prior to zod@1.0.12 there was a bug in the
- * inferred type of merged objects. Please
- * upgrade if you are experiencing issues.
- */
- merge(merging) {
- const merged = new _ZodObject({
- unknownKeys: merging._def.unknownKeys,
- catchall: merging._def.catchall,
- shape: () => ({
- ...this._def.shape(),
- ...merging._def.shape()
- }),
- typeName: ZodFirstPartyTypeKind.ZodObject
- });
- return merged;
- }
- // merge<
- // Incoming extends AnyZodObject,
- // Augmentation extends Incoming["shape"],
- // NewOutput extends {
- // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation
- // ? Augmentation[k]["_output"]
- // : k extends keyof Output
- // ? Output[k]
- // : never;
- // },
- // NewInput extends {
- // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation
- // ? Augmentation[k]["_input"]
- // : k extends keyof Input
- // ? Input[k]
- // : never;
- // }
- // >(
- // merging: Incoming
- // ): ZodObject<
- // extendShape<T, ReturnType<Incoming["_def"]["shape"]>>,
- // Incoming["_def"]["unknownKeys"],
- // Incoming["_def"]["catchall"],
- // NewOutput,
- // NewInput
- // > {
- // const merged: any = new ZodObject({
- // unknownKeys: merging._def.unknownKeys,
- // catchall: merging._def.catchall,
- // shape: () =>
- // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),
- // typeName: ZodFirstPartyTypeKind.ZodObject,
- // }) as any;
- // return merged;
- // }
- setKey(key, schema4) {
- return this.augment({ [key]: schema4 });
- }
- // merge<Incoming extends AnyZodObject>(
- // merging: Incoming
- // ): //ZodObject<T & Incoming["_shape"], UnknownKeys, Catchall> = (merging) => {
- // ZodObject<
- // extendShape<T, ReturnType<Incoming["_def"]["shape"]>>,
- // Incoming["_def"]["unknownKeys"],
- // Incoming["_def"]["catchall"]
- // > {
- // // const mergedShape = objectUtil.mergeShapes(
- // // this._def.shape(),
- // // merging._def.shape()
- // // );
- // const merged: any = new ZodObject({
- // unknownKeys: merging._def.unknownKeys,
- // catchall: merging._def.catchall,
- // shape: () =>
- // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),
- // typeName: ZodFirstPartyTypeKind.ZodObject,
- // }) as any;
- // return merged;
- // }
- catchall(index6) {
- return new _ZodObject({
- ...this._def,
- catchall: index6
- });
- }
- pick(mask) {
- const shape = {};
- for (const key of util.objectKeys(mask)) {
- if (mask[key] && this.shape[key]) {
- shape[key] = this.shape[key];
- }
- }
- return new _ZodObject({
- ...this._def,
- shape: () => shape
- });
- }
- omit(mask) {
- const shape = {};
- for (const key of util.objectKeys(this.shape)) {
- if (!mask[key]) {
- shape[key] = this.shape[key];
- }
- }
- return new _ZodObject({
- ...this._def,
- shape: () => shape
- });
- }
- /**
- * @deprecated
- */
- deepPartial() {
- return deepPartialify(this);
- }
- partial(mask) {
- const newShape = {};
- for (const key of util.objectKeys(this.shape)) {
- const fieldSchema = this.shape[key];
- if (mask && !mask[key]) {
- newShape[key] = fieldSchema;
- } else {
- newShape[key] = fieldSchema.optional();
- }
- }
- return new _ZodObject({
- ...this._def,
- shape: () => newShape
- });
- }
- required(mask) {
- const newShape = {};
- for (const key of util.objectKeys(this.shape)) {
- if (mask && !mask[key]) {
- newShape[key] = this.shape[key];
- } else {
- const fieldSchema = this.shape[key];
- let newField = fieldSchema;
- while (newField instanceof ZodOptional) {
- newField = newField._def.innerType;
- }
- newShape[key] = newField;
- }
- }
- return new _ZodObject({
- ...this._def,
- shape: () => newShape
- });
- }
- keyof() {
- return createZodEnum(util.objectKeys(this.shape));
- }
- };
- ZodObject.create = (shape, params) => {
- return new ZodObject({
- shape: () => shape,
- unknownKeys: "strip",
- catchall: ZodNever.create(),
- typeName: ZodFirstPartyTypeKind.ZodObject,
- ...processCreateParams(params)
- });
- };
- ZodObject.strictCreate = (shape, params) => {
- return new ZodObject({
- shape: () => shape,
- unknownKeys: "strict",
- catchall: ZodNever.create(),
- typeName: ZodFirstPartyTypeKind.ZodObject,
- ...processCreateParams(params)
- });
- };
- ZodObject.lazycreate = (shape, params) => {
- return new ZodObject({
- shape,
- unknownKeys: "strip",
- catchall: ZodNever.create(),
- typeName: ZodFirstPartyTypeKind.ZodObject,
- ...processCreateParams(params)
- });
- };
- var ZodUnion = class extends ZodType {
- _parse(input) {
- const { ctx } = this._processInputParams(input);
- const options = this._def.options;
- function handleResults(results) {
- for (const result of results) {
- if (result.result.status === "valid") {
- return result.result;
- }
- }
- for (const result of results) {
- if (result.result.status === "dirty") {
- ctx.common.issues.push(...result.ctx.common.issues);
- return result.result;
- }
- }
- const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_union,
- unionErrors
- });
- return INVALID;
- }
- if (ctx.common.async) {
- return Promise.all(options.map(async (option) => {
- const childCtx = {
- ...ctx,
- common: {
- ...ctx.common,
- issues: []
- },
- parent: null
- };
- return {
- result: await option._parseAsync({
- data: ctx.data,
- path: ctx.path,
- parent: childCtx
- }),
- ctx: childCtx
- };
- })).then(handleResults);
- } else {
- let dirty = void 0;
- const issues = [];
- for (const option of options) {
- const childCtx = {
- ...ctx,
- common: {
- ...ctx.common,
- issues: []
- },
- parent: null
- };
- const result = option._parseSync({
- data: ctx.data,
- path: ctx.path,
- parent: childCtx
- });
- if (result.status === "valid") {
- return result;
- } else if (result.status === "dirty" && !dirty) {
- dirty = { result, ctx: childCtx };
- }
- if (childCtx.common.issues.length) {
- issues.push(childCtx.common.issues);
- }
- }
- if (dirty) {
- ctx.common.issues.push(...dirty.ctx.common.issues);
- return dirty.result;
- }
- const unionErrors = issues.map((issues2) => new ZodError(issues2));
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_union,
- unionErrors
- });
- return INVALID;
- }
- }
- get options() {
- return this._def.options;
- }
- };
- ZodUnion.create = (types, params) => {
- return new ZodUnion({
- options: types,
- typeName: ZodFirstPartyTypeKind.ZodUnion,
- ...processCreateParams(params)
- });
- };
- var getDiscriminator = (type) => {
- if (type instanceof ZodLazy) {
- return getDiscriminator(type.schema);
- } else if (type instanceof ZodEffects) {
- return getDiscriminator(type.innerType());
- } else if (type instanceof ZodLiteral) {
- return [type.value];
- } else if (type instanceof ZodEnum) {
- return type.options;
- } else if (type instanceof ZodNativeEnum) {
- return util.objectValues(type.enum);
- } else if (type instanceof ZodDefault) {
- return getDiscriminator(type._def.innerType);
- } else if (type instanceof ZodUndefined) {
- return [void 0];
- } else if (type instanceof ZodNull) {
- return [null];
- } else if (type instanceof ZodOptional) {
- return [void 0, ...getDiscriminator(type.unwrap())];
- } else if (type instanceof ZodNullable) {
- return [null, ...getDiscriminator(type.unwrap())];
- } else if (type instanceof ZodBranded) {
- return getDiscriminator(type.unwrap());
- } else if (type instanceof ZodReadonly) {
- return getDiscriminator(type.unwrap());
- } else if (type instanceof ZodCatch) {
- return getDiscriminator(type._def.innerType);
- } else {
- return [];
- }
- };
- var ZodDiscriminatedUnion = class _ZodDiscriminatedUnion extends ZodType {
- _parse(input) {
- const { ctx } = this._processInputParams(input);
- if (ctx.parsedType !== ZodParsedType.object) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.object,
- received: ctx.parsedType
- });
- return INVALID;
- }
- const discriminator = this.discriminator;
- const discriminatorValue = ctx.data[discriminator];
- const option = this.optionsMap.get(discriminatorValue);
- if (!option) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_union_discriminator,
- options: Array.from(this.optionsMap.keys()),
- path: [discriminator]
- });
- return INVALID;
- }
- if (ctx.common.async) {
- return option._parseAsync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- });
- } else {
- return option._parseSync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- });
- }
- }
- get discriminator() {
- return this._def.discriminator;
- }
- get options() {
- return this._def.options;
- }
- get optionsMap() {
- return this._def.optionsMap;
- }
- /**
- * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.
- * However, it only allows a union of objects, all of which need to share a discriminator property. This property must
- * have a different value for each object in the union.
- * @param discriminator the name of the discriminator property
- * @param types an array of object schemas
- * @param params
- */
- static create(discriminator, options, params) {
- const optionsMap = /* @__PURE__ */ new Map();
- for (const type of options) {
- const discriminatorValues = getDiscriminator(type.shape[discriminator]);
- if (!discriminatorValues.length) {
- throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`);
- }
- for (const value of discriminatorValues) {
- if (optionsMap.has(value)) {
- throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);
- }
- optionsMap.set(value, type);
- }
- }
- return new _ZodDiscriminatedUnion({
- typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,
- discriminator,
- options,
- optionsMap,
- ...processCreateParams(params)
- });
- }
- };
- function mergeValues(a, b) {
- const aType = getParsedType(a);
- const bType = getParsedType(b);
- if (a === b) {
- return { valid: true, data: a };
- } else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {
- const bKeys = util.objectKeys(b);
- const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);
- const newObj = { ...a, ...b };
- for (const key of sharedKeys) {
- const sharedValue = mergeValues(a[key], b[key]);
- if (!sharedValue.valid) {
- return { valid: false };
- }
- newObj[key] = sharedValue.data;
- }
- return { valid: true, data: newObj };
- } else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {
- if (a.length !== b.length) {
- return { valid: false };
- }
- const newArray = [];
- for (let index6 = 0; index6 < a.length; index6++) {
- const itemA = a[index6];
- const itemB = b[index6];
- const sharedValue = mergeValues(itemA, itemB);
- if (!sharedValue.valid) {
- return { valid: false };
- }
- newArray.push(sharedValue.data);
- }
- return { valid: true, data: newArray };
- } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {
- return { valid: true, data: a };
- } else {
- return { valid: false };
- }
- }
- var ZodIntersection = class extends ZodType {
- _parse(input) {
- const { status, ctx } = this._processInputParams(input);
- const handleParsed = (parsedLeft, parsedRight) => {
- if (isAborted(parsedLeft) || isAborted(parsedRight)) {
- return INVALID;
- }
- const merged = mergeValues(parsedLeft.value, parsedRight.value);
- if (!merged.valid) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_intersection_types
- });
- return INVALID;
- }
- if (isDirty(parsedLeft) || isDirty(parsedRight)) {
- status.dirty();
- }
- return { status: status.value, value: merged.data };
- };
- if (ctx.common.async) {
- return Promise.all([
- this._def.left._parseAsync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- }),
- this._def.right._parseAsync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- })
- ]).then(([left, right]) => handleParsed(left, right));
- } else {
- return handleParsed(this._def.left._parseSync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- }), this._def.right._parseSync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- }));
- }
- }
- };
- ZodIntersection.create = (left, right, params) => {
- return new ZodIntersection({
- left,
- right,
- typeName: ZodFirstPartyTypeKind.ZodIntersection,
- ...processCreateParams(params)
- });
- };
- var ZodTuple = class _ZodTuple extends ZodType {
- _parse(input) {
- const { status, ctx } = this._processInputParams(input);
- if (ctx.parsedType !== ZodParsedType.array) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.array,
- received: ctx.parsedType
- });
- return INVALID;
- }
- if (ctx.data.length < this._def.items.length) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_small,
- minimum: this._def.items.length,
- inclusive: true,
- exact: false,
- type: "array"
- });
- return INVALID;
- }
- const rest = this._def.rest;
- if (!rest && ctx.data.length > this._def.items.length) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_big,
- maximum: this._def.items.length,
- inclusive: true,
- exact: false,
- type: "array"
- });
- status.dirty();
- }
- const items = [...ctx.data].map((item, itemIndex) => {
- const schema4 = this._def.items[itemIndex] || this._def.rest;
- if (!schema4)
- return null;
- return schema4._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));
- }).filter((x) => !!x);
- if (ctx.common.async) {
- return Promise.all(items).then((results) => {
- return ParseStatus.mergeArray(status, results);
- });
- } else {
- return ParseStatus.mergeArray(status, items);
- }
- }
- get items() {
- return this._def.items;
- }
- rest(rest) {
- return new _ZodTuple({
- ...this._def,
- rest
- });
- }
- };
- ZodTuple.create = (schemas, params) => {
- if (!Array.isArray(schemas)) {
- throw new Error("You must pass an array of schemas to z.tuple([ ... ])");
- }
- return new ZodTuple({
- items: schemas,
- typeName: ZodFirstPartyTypeKind.ZodTuple,
- rest: null,
- ...processCreateParams(params)
- });
- };
- var ZodRecord = class _ZodRecord extends ZodType {
- get keySchema() {
- return this._def.keyType;
- }
- get valueSchema() {
- return this._def.valueType;
- }
- _parse(input) {
- const { status, ctx } = this._processInputParams(input);
- if (ctx.parsedType !== ZodParsedType.object) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.object,
- received: ctx.parsedType
- });
- return INVALID;
- }
- const pairs = [];
- const keyType = this._def.keyType;
- const valueType = this._def.valueType;
- for (const key in ctx.data) {
- pairs.push({
- key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),
- value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),
- alwaysSet: key in ctx.data
- });
- }
- if (ctx.common.async) {
- return ParseStatus.mergeObjectAsync(status, pairs);
- } else {
- return ParseStatus.mergeObjectSync(status, pairs);
- }
- }
- get element() {
- return this._def.valueType;
- }
- static create(first, second, third) {
- if (second instanceof ZodType) {
- return new _ZodRecord({
- keyType: first,
- valueType: second,
- typeName: ZodFirstPartyTypeKind.ZodRecord,
- ...processCreateParams(third)
- });
- }
- return new _ZodRecord({
- keyType: ZodString.create(),
- valueType: first,
- typeName: ZodFirstPartyTypeKind.ZodRecord,
- ...processCreateParams(second)
- });
- }
- };
- var ZodMap = class extends ZodType {
- get keySchema() {
- return this._def.keyType;
- }
- get valueSchema() {
- return this._def.valueType;
- }
- _parse(input) {
- const { status, ctx } = this._processInputParams(input);
- if (ctx.parsedType !== ZodParsedType.map) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.map,
- received: ctx.parsedType
- });
- return INVALID;
- }
- const keyType = this._def.keyType;
- const valueType = this._def.valueType;
- const pairs = [...ctx.data.entries()].map(([key, value], index6) => {
- return {
- key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index6, "key"])),
- value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index6, "value"]))
- };
- });
- if (ctx.common.async) {
- const finalMap = /* @__PURE__ */ new Map();
- return Promise.resolve().then(async () => {
- for (const pair of pairs) {
- const key = await pair.key;
- const value = await pair.value;
- if (key.status === "aborted" || value.status === "aborted") {
- return INVALID;
- }
- if (key.status === "dirty" || value.status === "dirty") {
- status.dirty();
- }
- finalMap.set(key.value, value.value);
- }
- return { status: status.value, value: finalMap };
- });
- } else {
- const finalMap = /* @__PURE__ */ new Map();
- for (const pair of pairs) {
- const key = pair.key;
- const value = pair.value;
- if (key.status === "aborted" || value.status === "aborted") {
- return INVALID;
- }
- if (key.status === "dirty" || value.status === "dirty") {
- status.dirty();
- }
- finalMap.set(key.value, value.value);
- }
- return { status: status.value, value: finalMap };
- }
- }
- };
- ZodMap.create = (keyType, valueType, params) => {
- return new ZodMap({
- valueType,
- keyType,
- typeName: ZodFirstPartyTypeKind.ZodMap,
- ...processCreateParams(params)
- });
- };
- var ZodSet = class _ZodSet extends ZodType {
- _parse(input) {
- const { status, ctx } = this._processInputParams(input);
- if (ctx.parsedType !== ZodParsedType.set) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.set,
- received: ctx.parsedType
- });
- return INVALID;
- }
- const def = this._def;
- if (def.minSize !== null) {
- if (ctx.data.size < def.minSize.value) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_small,
- minimum: def.minSize.value,
- type: "set",
- inclusive: true,
- exact: false,
- message: def.minSize.message
- });
- status.dirty();
- }
- }
- if (def.maxSize !== null) {
- if (ctx.data.size > def.maxSize.value) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.too_big,
- maximum: def.maxSize.value,
- type: "set",
- inclusive: true,
- exact: false,
- message: def.maxSize.message
- });
- status.dirty();
- }
- }
- const valueType = this._def.valueType;
- function finalizeSet(elements2) {
- const parsedSet = /* @__PURE__ */ new Set();
- for (const element of elements2) {
- if (element.status === "aborted")
- return INVALID;
- if (element.status === "dirty")
- status.dirty();
- parsedSet.add(element.value);
- }
- return { status: status.value, value: parsedSet };
- }
- const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));
- if (ctx.common.async) {
- return Promise.all(elements).then((elements2) => finalizeSet(elements2));
- } else {
- return finalizeSet(elements);
- }
- }
- min(minSize, message) {
- return new _ZodSet({
- ...this._def,
- minSize: { value: minSize, message: errorUtil.toString(message) }
- });
- }
- max(maxSize, message) {
- return new _ZodSet({
- ...this._def,
- maxSize: { value: maxSize, message: errorUtil.toString(message) }
- });
- }
- size(size, message) {
- return this.min(size, message).max(size, message);
- }
- nonempty(message) {
- return this.min(1, message);
- }
- };
- ZodSet.create = (valueType, params) => {
- return new ZodSet({
- valueType,
- minSize: null,
- maxSize: null,
- typeName: ZodFirstPartyTypeKind.ZodSet,
- ...processCreateParams(params)
- });
- };
- var ZodFunction = class _ZodFunction extends ZodType {
- constructor() {
- super(...arguments);
- this.validate = this.implement;
- }
- _parse(input) {
- const { ctx } = this._processInputParams(input);
- if (ctx.parsedType !== ZodParsedType.function) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.function,
- received: ctx.parsedType
- });
- return INVALID;
- }
- function makeArgsIssue(args, error) {
- return makeIssue({
- data: args,
- path: ctx.path,
- errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x),
- issueData: {
- code: ZodIssueCode.invalid_arguments,
- argumentsError: error
- }
- });
- }
- function makeReturnsIssue(returns, error) {
- return makeIssue({
- data: returns,
- path: ctx.path,
- errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), en_default].filter((x) => !!x),
- issueData: {
- code: ZodIssueCode.invalid_return_type,
- returnTypeError: error
- }
- });
- }
- const params = { errorMap: ctx.common.contextualErrorMap };
- const fn = ctx.data;
- if (this._def.returns instanceof ZodPromise) {
- const me = this;
- return OK(async function(...args) {
- const error = new ZodError([]);
- const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {
- error.addIssue(makeArgsIssue(args, e));
- throw error;
- });
- const result = await Reflect.apply(fn, this, parsedArgs);
- const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => {
- error.addIssue(makeReturnsIssue(result, e));
- throw error;
- });
- return parsedReturns;
- });
- } else {
- const me = this;
- return OK(function(...args) {
- const parsedArgs = me._def.args.safeParse(args, params);
- if (!parsedArgs.success) {
- throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);
- }
- const result = Reflect.apply(fn, this, parsedArgs.data);
- const parsedReturns = me._def.returns.safeParse(result, params);
- if (!parsedReturns.success) {
- throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);
- }
- return parsedReturns.data;
- });
- }
- }
- parameters() {
- return this._def.args;
- }
- returnType() {
- return this._def.returns;
- }
- args(...items) {
- return new _ZodFunction({
- ...this._def,
- args: ZodTuple.create(items).rest(ZodUnknown.create())
- });
- }
- returns(returnType) {
- return new _ZodFunction({
- ...this._def,
- returns: returnType
- });
- }
- implement(func) {
- const validatedFunc = this.parse(func);
- return validatedFunc;
- }
- strictImplement(func) {
- const validatedFunc = this.parse(func);
- return validatedFunc;
- }
- static create(args, returns, params) {
- return new _ZodFunction({
- args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()),
- returns: returns || ZodUnknown.create(),
- typeName: ZodFirstPartyTypeKind.ZodFunction,
- ...processCreateParams(params)
- });
- }
- };
- var ZodLazy = class extends ZodType {
- get schema() {
- return this._def.getter();
- }
- _parse(input) {
- const { ctx } = this._processInputParams(input);
- const lazySchema = this._def.getter();
- return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });
- }
- };
- ZodLazy.create = (getter, params) => {
- return new ZodLazy({
- getter,
- typeName: ZodFirstPartyTypeKind.ZodLazy,
- ...processCreateParams(params)
- });
- };
- var ZodLiteral = class extends ZodType {
- _parse(input) {
- if (input.data !== this._def.value) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- received: ctx.data,
- code: ZodIssueCode.invalid_literal,
- expected: this._def.value
- });
- return INVALID;
- }
- return { status: "valid", value: input.data };
- }
- get value() {
- return this._def.value;
- }
- };
- ZodLiteral.create = (value, params) => {
- return new ZodLiteral({
- value,
- typeName: ZodFirstPartyTypeKind.ZodLiteral,
- ...processCreateParams(params)
- });
- };
- function createZodEnum(values, params) {
- return new ZodEnum({
- values,
- typeName: ZodFirstPartyTypeKind.ZodEnum,
- ...processCreateParams(params)
- });
- }
- var ZodEnum = class _ZodEnum extends ZodType {
- _parse(input) {
- if (typeof input.data !== "string") {
- const ctx = this._getOrReturnCtx(input);
- const expectedValues = this._def.values;
- addIssueToContext(ctx, {
- expected: util.joinValues(expectedValues),
- received: ctx.parsedType,
- code: ZodIssueCode.invalid_type
- });
- return INVALID;
- }
- if (!this._cache) {
- this._cache = new Set(this._def.values);
- }
- if (!this._cache.has(input.data)) {
- const ctx = this._getOrReturnCtx(input);
- const expectedValues = this._def.values;
- addIssueToContext(ctx, {
- received: ctx.data,
- code: ZodIssueCode.invalid_enum_value,
- options: expectedValues
- });
- return INVALID;
- }
- return OK(input.data);
- }
- get options() {
- return this._def.values;
- }
- get enum() {
- const enumValues = {};
- for (const val of this._def.values) {
- enumValues[val] = val;
- }
- return enumValues;
- }
- get Values() {
- const enumValues = {};
- for (const val of this._def.values) {
- enumValues[val] = val;
- }
- return enumValues;
- }
- get Enum() {
- const enumValues = {};
- for (const val of this._def.values) {
- enumValues[val] = val;
- }
- return enumValues;
- }
- extract(values, newDef = this._def) {
- return _ZodEnum.create(values, {
- ...this._def,
- ...newDef
- });
- }
- exclude(values, newDef = this._def) {
- return _ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {
- ...this._def,
- ...newDef
- });
- }
- };
- ZodEnum.create = createZodEnum;
- var ZodNativeEnum = class extends ZodType {
- _parse(input) {
- const nativeEnumValues = util.getValidEnumValues(this._def.values);
- const ctx = this._getOrReturnCtx(input);
- if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) {
- const expectedValues = util.objectValues(nativeEnumValues);
- addIssueToContext(ctx, {
- expected: util.joinValues(expectedValues),
- received: ctx.parsedType,
- code: ZodIssueCode.invalid_type
- });
- return INVALID;
- }
- if (!this._cache) {
- this._cache = new Set(util.getValidEnumValues(this._def.values));
- }
- if (!this._cache.has(input.data)) {
- const expectedValues = util.objectValues(nativeEnumValues);
- addIssueToContext(ctx, {
- received: ctx.data,
- code: ZodIssueCode.invalid_enum_value,
- options: expectedValues
- });
- return INVALID;
- }
- return OK(input.data);
- }
- get enum() {
- return this._def.values;
- }
- };
- ZodNativeEnum.create = (values, params) => {
- return new ZodNativeEnum({
- values,
- typeName: ZodFirstPartyTypeKind.ZodNativeEnum,
- ...processCreateParams(params)
- });
- };
- var ZodPromise = class extends ZodType {
- unwrap() {
- return this._def.type;
- }
- _parse(input) {
- const { ctx } = this._processInputParams(input);
- if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.promise,
- received: ctx.parsedType
- });
- return INVALID;
- }
- const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);
- return OK(promisified.then((data) => {
- return this._def.type.parseAsync(data, {
- path: ctx.path,
- errorMap: ctx.common.contextualErrorMap
- });
- }));
- }
- };
- ZodPromise.create = (schema4, params) => {
- return new ZodPromise({
- type: schema4,
- typeName: ZodFirstPartyTypeKind.ZodPromise,
- ...processCreateParams(params)
- });
- };
- var ZodEffects = class extends ZodType {
- innerType() {
- return this._def.schema;
- }
- sourceType() {
- return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects ? this._def.schema.sourceType() : this._def.schema;
- }
- _parse(input) {
- const { status, ctx } = this._processInputParams(input);
- const effect = this._def.effect || null;
- const checkCtx = {
- addIssue: (arg) => {
- addIssueToContext(ctx, arg);
- if (arg.fatal) {
- status.abort();
- } else {
- status.dirty();
- }
- },
- get path() {
- return ctx.path;
- }
- };
- checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);
- if (effect.type === "preprocess") {
- const processed = effect.transform(ctx.data, checkCtx);
- if (ctx.common.async) {
- return Promise.resolve(processed).then(async (processed2) => {
- if (status.value === "aborted")
- return INVALID;
- const result = await this._def.schema._parseAsync({
- data: processed2,
- path: ctx.path,
- parent: ctx
- });
- if (result.status === "aborted")
- return INVALID;
- if (result.status === "dirty")
- return DIRTY(result.value);
- if (status.value === "dirty")
- return DIRTY(result.value);
- return result;
- });
- } else {
- if (status.value === "aborted")
- return INVALID;
- const result = this._def.schema._parseSync({
- data: processed,
- path: ctx.path,
- parent: ctx
- });
- if (result.status === "aborted")
- return INVALID;
- if (result.status === "dirty")
- return DIRTY(result.value);
- if (status.value === "dirty")
- return DIRTY(result.value);
- return result;
- }
- }
- if (effect.type === "refinement") {
- const executeRefinement = (acc) => {
- const result = effect.refinement(acc, checkCtx);
- if (ctx.common.async) {
- return Promise.resolve(result);
- }
- if (result instanceof Promise) {
- throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");
- }
- return acc;
- };
- if (ctx.common.async === false) {
- const inner = this._def.schema._parseSync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- });
- if (inner.status === "aborted")
- return INVALID;
- if (inner.status === "dirty")
- status.dirty();
- executeRefinement(inner.value);
- return { status: status.value, value: inner.value };
- } else {
- return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {
- if (inner.status === "aborted")
- return INVALID;
- if (inner.status === "dirty")
- status.dirty();
- return executeRefinement(inner.value).then(() => {
- return { status: status.value, value: inner.value };
- });
- });
- }
- }
- if (effect.type === "transform") {
- if (ctx.common.async === false) {
- const base = this._def.schema._parseSync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- });
- if (!isValid(base))
- return INVALID;
- const result = effect.transform(base.value, checkCtx);
- if (result instanceof Promise) {
- throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);
- }
- return { status: status.value, value: result };
- } else {
- return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {
- if (!isValid(base))
- return INVALID;
- return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({
- status: status.value,
- value: result
- }));
- });
- }
- }
- util.assertNever(effect);
- }
- };
- ZodEffects.create = (schema4, effect, params) => {
- return new ZodEffects({
- schema: schema4,
- typeName: ZodFirstPartyTypeKind.ZodEffects,
- effect,
- ...processCreateParams(params)
- });
- };
- ZodEffects.createWithPreprocess = (preprocess, schema4, params) => {
- return new ZodEffects({
- schema: schema4,
- effect: { type: "preprocess", transform: preprocess },
- typeName: ZodFirstPartyTypeKind.ZodEffects,
- ...processCreateParams(params)
- });
- };
- var ZodOptional = class extends ZodType {
- _parse(input) {
- const parsedType = this._getType(input);
- if (parsedType === ZodParsedType.undefined) {
- return OK(void 0);
- }
- return this._def.innerType._parse(input);
- }
- unwrap() {
- return this._def.innerType;
- }
- };
- ZodOptional.create = (type, params) => {
- return new ZodOptional({
- innerType: type,
- typeName: ZodFirstPartyTypeKind.ZodOptional,
- ...processCreateParams(params)
- });
- };
- var ZodNullable = class extends ZodType {
- _parse(input) {
- const parsedType = this._getType(input);
- if (parsedType === ZodParsedType.null) {
- return OK(null);
- }
- return this._def.innerType._parse(input);
- }
- unwrap() {
- return this._def.innerType;
- }
- };
- ZodNullable.create = (type, params) => {
- return new ZodNullable({
- innerType: type,
- typeName: ZodFirstPartyTypeKind.ZodNullable,
- ...processCreateParams(params)
- });
- };
- var ZodDefault = class extends ZodType {
- _parse(input) {
- const { ctx } = this._processInputParams(input);
- let data = ctx.data;
- if (ctx.parsedType === ZodParsedType.undefined) {
- data = this._def.defaultValue();
- }
- return this._def.innerType._parse({
- data,
- path: ctx.path,
- parent: ctx
- });
- }
- removeDefault() {
- return this._def.innerType;
- }
- };
- ZodDefault.create = (type, params) => {
- return new ZodDefault({
- innerType: type,
- typeName: ZodFirstPartyTypeKind.ZodDefault,
- defaultValue: typeof params.default === "function" ? params.default : () => params.default,
- ...processCreateParams(params)
- });
- };
- var ZodCatch = class extends ZodType {
- _parse(input) {
- const { ctx } = this._processInputParams(input);
- const newCtx = {
- ...ctx,
- common: {
- ...ctx.common,
- issues: []
- }
- };
- const result = this._def.innerType._parse({
- data: newCtx.data,
- path: newCtx.path,
- parent: {
- ...newCtx
- }
- });
- if (isAsync(result)) {
- return result.then((result2) => {
- return {
- status: "valid",
- value: result2.status === "valid" ? result2.value : this._def.catchValue({
- get error() {
- return new ZodError(newCtx.common.issues);
- },
- input: newCtx.data
- })
- };
- });
- } else {
- return {
- status: "valid",
- value: result.status === "valid" ? result.value : this._def.catchValue({
- get error() {
- return new ZodError(newCtx.common.issues);
- },
- input: newCtx.data
- })
- };
- }
- }
- removeCatch() {
- return this._def.innerType;
- }
- };
- ZodCatch.create = (type, params) => {
- return new ZodCatch({
- innerType: type,
- typeName: ZodFirstPartyTypeKind.ZodCatch,
- catchValue: typeof params.catch === "function" ? params.catch : () => params.catch,
- ...processCreateParams(params)
- });
- };
- var ZodNaN = class extends ZodType {
- _parse(input) {
- const parsedType = this._getType(input);
- if (parsedType !== ZodParsedType.nan) {
- const ctx = this._getOrReturnCtx(input);
- addIssueToContext(ctx, {
- code: ZodIssueCode.invalid_type,
- expected: ZodParsedType.nan,
- received: ctx.parsedType
- });
- return INVALID;
- }
- return { status: "valid", value: input.data };
- }
- };
- ZodNaN.create = (params) => {
- return new ZodNaN({
- typeName: ZodFirstPartyTypeKind.ZodNaN,
- ...processCreateParams(params)
- });
- };
- var BRAND = Symbol("zod_brand");
- var ZodBranded = class extends ZodType {
- _parse(input) {
- const { ctx } = this._processInputParams(input);
- const data = ctx.data;
- return this._def.type._parse({
- data,
- path: ctx.path,
- parent: ctx
- });
- }
- unwrap() {
- return this._def.type;
- }
- };
- var ZodPipeline = class _ZodPipeline extends ZodType {
- _parse(input) {
- const { status, ctx } = this._processInputParams(input);
- if (ctx.common.async) {
- const handleAsync = async () => {
- const inResult = await this._def.in._parseAsync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- });
- if (inResult.status === "aborted")
- return INVALID;
- if (inResult.status === "dirty") {
- status.dirty();
- return DIRTY(inResult.value);
- } else {
- return this._def.out._parseAsync({
- data: inResult.value,
- path: ctx.path,
- parent: ctx
- });
- }
- };
- return handleAsync();
- } else {
- const inResult = this._def.in._parseSync({
- data: ctx.data,
- path: ctx.path,
- parent: ctx
- });
- if (inResult.status === "aborted")
- return INVALID;
- if (inResult.status === "dirty") {
- status.dirty();
- return {
- status: "dirty",
- value: inResult.value
- };
- } else {
- return this._def.out._parseSync({
- data: inResult.value,
- path: ctx.path,
- parent: ctx
- });
- }
- }
- }
- static create(a, b) {
- return new _ZodPipeline({
- in: a,
- out: b,
- typeName: ZodFirstPartyTypeKind.ZodPipeline
- });
- }
- };
- var ZodReadonly = class extends ZodType {
- _parse(input) {
- const result = this._def.innerType._parse(input);
- const freeze = (data) => {
- if (isValid(data)) {
- data.value = Object.freeze(data.value);
- }
- return data;
- };
- return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result);
- }
- unwrap() {
- return this._def.innerType;
- }
- };
- ZodReadonly.create = (type, params) => {
- return new ZodReadonly({
- innerType: type,
- typeName: ZodFirstPartyTypeKind.ZodReadonly,
- ...processCreateParams(params)
- });
- };
- var late = {
- object: ZodObject.lazycreate
- };
- var ZodFirstPartyTypeKind;
- (function(ZodFirstPartyTypeKind2) {
- ZodFirstPartyTypeKind2["ZodString"] = "ZodString";
- ZodFirstPartyTypeKind2["ZodNumber"] = "ZodNumber";
- ZodFirstPartyTypeKind2["ZodNaN"] = "ZodNaN";
- ZodFirstPartyTypeKind2["ZodBigInt"] = "ZodBigInt";
- ZodFirstPartyTypeKind2["ZodBoolean"] = "ZodBoolean";
- ZodFirstPartyTypeKind2["ZodDate"] = "ZodDate";
- ZodFirstPartyTypeKind2["ZodSymbol"] = "ZodSymbol";
- ZodFirstPartyTypeKind2["ZodUndefined"] = "ZodUndefined";
- ZodFirstPartyTypeKind2["ZodNull"] = "ZodNull";
- ZodFirstPartyTypeKind2["ZodAny"] = "ZodAny";
- ZodFirstPartyTypeKind2["ZodUnknown"] = "ZodUnknown";
- ZodFirstPartyTypeKind2["ZodNever"] = "ZodNever";
- ZodFirstPartyTypeKind2["ZodVoid"] = "ZodVoid";
- ZodFirstPartyTypeKind2["ZodArray"] = "ZodArray";
- ZodFirstPartyTypeKind2["ZodObject"] = "ZodObject";
- ZodFirstPartyTypeKind2["ZodUnion"] = "ZodUnion";
- ZodFirstPartyTypeKind2["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion";
- ZodFirstPartyTypeKind2["ZodIntersection"] = "ZodIntersection";
- ZodFirstPartyTypeKind2["ZodTuple"] = "ZodTuple";
- ZodFirstPartyTypeKind2["ZodRecord"] = "ZodRecord";
- ZodFirstPartyTypeKind2["ZodMap"] = "ZodMap";
- ZodFirstPartyTypeKind2["ZodSet"] = "ZodSet";
- ZodFirstPartyTypeKind2["ZodFunction"] = "ZodFunction";
- ZodFirstPartyTypeKind2["ZodLazy"] = "ZodLazy";
- ZodFirstPartyTypeKind2["ZodLiteral"] = "ZodLiteral";
- ZodFirstPartyTypeKind2["ZodEnum"] = "ZodEnum";
- ZodFirstPartyTypeKind2["ZodEffects"] = "ZodEffects";
- ZodFirstPartyTypeKind2["ZodNativeEnum"] = "ZodNativeEnum";
- ZodFirstPartyTypeKind2["ZodOptional"] = "ZodOptional";
- ZodFirstPartyTypeKind2["ZodNullable"] = "ZodNullable";
- ZodFirstPartyTypeKind2["ZodDefault"] = "ZodDefault";
- ZodFirstPartyTypeKind2["ZodCatch"] = "ZodCatch";
- ZodFirstPartyTypeKind2["ZodPromise"] = "ZodPromise";
- ZodFirstPartyTypeKind2["ZodBranded"] = "ZodBranded";
- ZodFirstPartyTypeKind2["ZodPipeline"] = "ZodPipeline";
- ZodFirstPartyTypeKind2["ZodReadonly"] = "ZodReadonly";
- })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
- var stringType = ZodString.create;
- var numberType = ZodNumber.create;
- var nanType = ZodNaN.create;
- var bigIntType = ZodBigInt.create;
- var booleanType = ZodBoolean.create;
- var dateType = ZodDate.create;
- var symbolType = ZodSymbol.create;
- var undefinedType = ZodUndefined.create;
- var nullType = ZodNull.create;
- var anyType = ZodAny.create;
- var unknownType = ZodUnknown.create;
- var neverType = ZodNever.create;
- var voidType = ZodVoid.create;
- var arrayType = ZodArray.create;
- var objectType = ZodObject.create;
- var strictObjectType = ZodObject.strictCreate;
- var unionType = ZodUnion.create;
- var discriminatedUnionType = ZodDiscriminatedUnion.create;
- var intersectionType = ZodIntersection.create;
- var tupleType = ZodTuple.create;
- var recordType = ZodRecord.create;
- var mapType = ZodMap.create;
- var setType = ZodSet.create;
- var functionType = ZodFunction.create;
- var lazyType = ZodLazy.create;
- var literalType = ZodLiteral.create;
- var enumType = ZodEnum.create;
- var nativeEnumType = ZodNativeEnum.create;
- var promiseType = ZodPromise.create;
- var effectsType = ZodEffects.create;
- var optionalType = ZodOptional.create;
- var nullableType = ZodNullable.create;
- var preprocessType = ZodEffects.createWithPreprocess;
- var pipelineType = ZodPipeline.create;
- // src/serializer/gelSchema.ts
- var enumSchema = objectType({
- name: stringType(),
- schema: stringType(),
- values: stringType().array()
- }).strict();
- var enumSchemaV1 = objectType({
- name: stringType(),
- values: recordType(stringType(), stringType())
- }).strict();
- var indexColumn = objectType({
- expression: stringType(),
- isExpression: booleanType(),
- asc: booleanType(),
- nulls: stringType().optional(),
- opclass: stringType().optional()
- });
- var index = objectType({
- name: stringType(),
- columns: indexColumn.array(),
- isUnique: booleanType(),
- with: recordType(stringType(), anyType()).optional(),
- method: stringType().default("btree"),
- where: stringType().optional(),
- concurrently: booleanType().default(false)
- }).strict();
- var fk = objectType({
- name: stringType(),
- tableFrom: stringType(),
- columnsFrom: stringType().array(),
- tableTo: stringType(),
- schemaTo: stringType().optional(),
- columnsTo: stringType().array(),
- onUpdate: stringType().optional(),
- onDelete: stringType().optional()
- }).strict();
- var sequenceSchema = objectType({
- name: stringType(),
- increment: stringType().optional(),
- minValue: stringType().optional(),
- maxValue: stringType().optional(),
- startWith: stringType().optional(),
- cache: stringType().optional(),
- cycle: booleanType().optional(),
- schema: stringType()
- }).strict();
- var roleSchema = objectType({
- name: stringType(),
- createDb: booleanType().optional(),
- createRole: booleanType().optional(),
- inherit: booleanType().optional()
- }).strict();
- var sequenceSquashed = objectType({
- name: stringType(),
- schema: stringType(),
- values: stringType()
- }).strict();
- var column = objectType({
- name: stringType(),
- type: stringType(),
- typeSchema: stringType().optional(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- default: anyType().optional(),
- isUnique: anyType().optional(),
- uniqueName: stringType().optional(),
- nullsNotDistinct: booleanType().optional(),
- generated: objectType({
- type: literalType("stored"),
- as: stringType()
- }).optional(),
- identity: sequenceSchema.merge(objectType({ type: enumType(["always", "byDefault"]) })).optional()
- }).strict();
- var checkConstraint = objectType({
- name: stringType(),
- value: stringType()
- }).strict();
- var columnSquashed = objectType({
- name: stringType(),
- type: stringType(),
- typeSchema: stringType().optional(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- default: anyType().optional(),
- isUnique: anyType().optional(),
- uniqueName: stringType().optional(),
- nullsNotDistinct: booleanType().optional(),
- generated: objectType({
- type: literalType("stored"),
- as: stringType()
- }).optional(),
- identity: stringType().optional()
- }).strict();
- var compositePK = objectType({
- name: stringType(),
- columns: stringType().array()
- }).strict();
- var uniqueConstraint = objectType({
- name: stringType(),
- columns: stringType().array(),
- nullsNotDistinct: booleanType()
- }).strict();
- var policy = objectType({
- name: stringType(),
- as: enumType(["PERMISSIVE", "RESTRICTIVE"]).optional(),
- for: enumType(["ALL", "SELECT", "INSERT", "UPDATE", "DELETE"]).optional(),
- to: stringType().array().optional(),
- using: stringType().optional(),
- withCheck: stringType().optional(),
- on: stringType().optional(),
- schema: stringType().optional()
- }).strict();
- var policySquashed = objectType({
- name: stringType(),
- values: stringType()
- }).strict();
- var viewWithOption = objectType({
- checkOption: enumType(["local", "cascaded"]).optional(),
- securityBarrier: booleanType().optional(),
- securityInvoker: booleanType().optional()
- }).strict();
- var matViewWithOption = objectType({
- fillfactor: numberType().optional(),
- toastTupleTarget: numberType().optional(),
- parallelWorkers: numberType().optional(),
- autovacuumEnabled: booleanType().optional(),
- vacuumIndexCleanup: enumType(["auto", "off", "on"]).optional(),
- vacuumTruncate: booleanType().optional(),
- autovacuumVacuumThreshold: numberType().optional(),
- autovacuumVacuumScaleFactor: numberType().optional(),
- autovacuumVacuumCostDelay: numberType().optional(),
- autovacuumVacuumCostLimit: numberType().optional(),
- autovacuumFreezeMinAge: numberType().optional(),
- autovacuumFreezeMaxAge: numberType().optional(),
- autovacuumFreezeTableAge: numberType().optional(),
- autovacuumMultixactFreezeMinAge: numberType().optional(),
- autovacuumMultixactFreezeMaxAge: numberType().optional(),
- autovacuumMultixactFreezeTableAge: numberType().optional(),
- logAutovacuumMinDuration: numberType().optional(),
- userCatalogTable: booleanType().optional()
- }).strict();
- var mergedViewWithOption = viewWithOption.merge(matViewWithOption).strict();
- var view = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), column),
- definition: stringType().optional(),
- materialized: booleanType(),
- with: mergedViewWithOption.optional(),
- isExisting: booleanType(),
- withNoData: booleanType().optional(),
- using: stringType().optional(),
- tablespace: stringType().optional()
- }).strict();
- var table = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), column),
- indexes: recordType(stringType(), index),
- foreignKeys: recordType(stringType(), fk),
- compositePrimaryKeys: recordType(stringType(), compositePK),
- uniqueConstraints: recordType(stringType(), uniqueConstraint).default({}),
- policies: recordType(stringType(), policy).default({}),
- checkConstraints: recordType(stringType(), checkConstraint).default({}),
- isRLSEnabled: booleanType().default(false)
- }).strict();
- var schemaHash = objectType({
- id: stringType(),
- prevId: stringType()
- });
- var kitInternals = objectType({
- tables: recordType(
- stringType(),
- objectType({
- columns: recordType(
- stringType(),
- objectType({
- isArray: booleanType().optional(),
- dimensions: numberType().optional(),
- rawType: stringType().optional(),
- isDefaultAnExpression: booleanType().optional()
- }).optional()
- )
- }).optional()
- )
- }).optional();
- var gelSchemaExternal = objectType({
- version: literalType("1"),
- dialect: literalType("gel"),
- tables: arrayType(table),
- enums: arrayType(enumSchemaV1),
- schemas: arrayType(objectType({ name: stringType() })),
- _meta: objectType({
- schemas: recordType(stringType(), stringType()),
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- })
- }).strict();
- var gelSchemaInternal = objectType({
- version: literalType("1"),
- dialect: literalType("gel"),
- tables: recordType(stringType(), table),
- enums: recordType(stringType(), enumSchema),
- schemas: recordType(stringType(), stringType()),
- views: recordType(stringType(), view).default({}),
- sequences: recordType(stringType(), sequenceSchema).default({}),
- roles: recordType(stringType(), roleSchema).default({}),
- policies: recordType(stringType(), policy).default({}),
- _meta: objectType({
- schemas: recordType(stringType(), stringType()),
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals
- }).strict();
- var tableSquashed = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), columnSquashed),
- indexes: recordType(stringType(), stringType()),
- foreignKeys: recordType(stringType(), stringType()),
- compositePrimaryKeys: recordType(stringType(), stringType()),
- uniqueConstraints: recordType(stringType(), stringType()),
- policies: recordType(stringType(), stringType()),
- checkConstraints: recordType(stringType(), stringType()),
- isRLSEnabled: booleanType().default(false)
- }).strict();
- var gelSchemaSquashed = objectType({
- version: literalType("1"),
- dialect: literalType("gel"),
- tables: recordType(stringType(), tableSquashed),
- enums: recordType(stringType(), enumSchema),
- schemas: recordType(stringType(), stringType()),
- views: recordType(stringType(), view),
- sequences: recordType(stringType(), sequenceSquashed),
- roles: recordType(stringType(), roleSchema).default({}),
- policies: recordType(stringType(), policySquashed).default({})
- }).strict();
- var gelSchema = gelSchemaInternal.merge(schemaHash);
- var backwardCompatibleGelSchema = gelSchema;
- var dryGel = gelSchema.parse({
- version: "1",
- dialect: "gel",
- id: originUUID,
- prevId: "",
- tables: {},
- enums: {},
- schemas: {},
- policies: {},
- roles: {},
- sequences: {},
- _meta: {
- schemas: {},
- tables: {},
- columns: {}
- }
- });
- // src/serializer/mysqlSchema.ts
- var index2 = objectType({
- name: stringType(),
- columns: stringType().array(),
- isUnique: booleanType(),
- using: enumType(["btree", "hash"]).optional(),
- algorithm: enumType(["default", "inplace", "copy"]).optional(),
- lock: enumType(["default", "none", "shared", "exclusive"]).optional()
- }).strict();
- var fk2 = objectType({
- name: stringType(),
- tableFrom: stringType(),
- columnsFrom: stringType().array(),
- tableTo: stringType(),
- columnsTo: stringType().array(),
- onUpdate: stringType().optional(),
- onDelete: stringType().optional()
- }).strict();
- var column2 = objectType({
- name: stringType(),
- type: stringType(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- autoincrement: booleanType().optional(),
- default: anyType().optional(),
- onUpdate: anyType().optional(),
- generated: objectType({
- type: enumType(["stored", "virtual"]),
- as: stringType()
- }).optional()
- }).strict();
- var tableV3 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column2),
- indexes: recordType(stringType(), index2),
- foreignKeys: recordType(stringType(), fk2)
- }).strict();
- var compositePK2 = objectType({
- name: stringType(),
- columns: stringType().array()
- }).strict();
- var uniqueConstraint2 = objectType({
- name: stringType(),
- columns: stringType().array()
- }).strict();
- var checkConstraint2 = objectType({
- name: stringType(),
- value: stringType()
- }).strict();
- var tableV4 = objectType({
- name: stringType(),
- schema: stringType().optional(),
- columns: recordType(stringType(), column2),
- indexes: recordType(stringType(), index2),
- foreignKeys: recordType(stringType(), fk2)
- }).strict();
- var table2 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column2),
- indexes: recordType(stringType(), index2),
- foreignKeys: recordType(stringType(), fk2),
- compositePrimaryKeys: recordType(stringType(), compositePK2),
- uniqueConstraints: recordType(stringType(), uniqueConstraint2).default({}),
- checkConstraint: recordType(stringType(), checkConstraint2).default({})
- }).strict();
- var viewMeta = objectType({
- algorithm: enumType(["undefined", "merge", "temptable"]),
- sqlSecurity: enumType(["definer", "invoker"]),
- withCheckOption: enumType(["local", "cascaded"]).optional()
- }).strict();
- var view2 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column2),
- definition: stringType().optional(),
- isExisting: booleanType()
- }).strict().merge(viewMeta);
- var kitInternals2 = objectType({
- tables: recordType(
- stringType(),
- objectType({
- columns: recordType(
- stringType(),
- objectType({ isDefaultAnExpression: booleanType().optional() }).optional()
- )
- }).optional()
- ).optional(),
- indexes: recordType(
- stringType(),
- objectType({
- columns: recordType(
- stringType(),
- objectType({ isExpression: booleanType().optional() }).optional()
- )
- }).optional()
- ).optional()
- }).optional();
- var dialect = literalType("mysql");
- var schemaHash2 = objectType({
- id: stringType(),
- prevId: stringType()
- });
- var schemaInternalV3 = objectType({
- version: literalType("3"),
- dialect,
- tables: recordType(stringType(), tableV3)
- }).strict();
- var schemaInternalV4 = objectType({
- version: literalType("4"),
- dialect,
- tables: recordType(stringType(), tableV4),
- schemas: recordType(stringType(), stringType())
- }).strict();
- var schemaInternalV5 = objectType({
- version: literalType("5"),
- dialect,
- tables: recordType(stringType(), table2),
- schemas: recordType(stringType(), stringType()),
- _meta: objectType({
- schemas: recordType(stringType(), stringType()),
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals2
- }).strict();
- var schemaInternal = objectType({
- version: literalType("5"),
- dialect,
- tables: recordType(stringType(), table2),
- views: recordType(stringType(), view2).default({}),
- _meta: objectType({
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals2
- }).strict();
- var schemaV3 = schemaInternalV3.merge(schemaHash2);
- var schemaV4 = schemaInternalV4.merge(schemaHash2);
- var schemaV5 = schemaInternalV5.merge(schemaHash2);
- var schema = schemaInternal.merge(schemaHash2);
- var tableSquashedV4 = objectType({
- name: stringType(),
- schema: stringType().optional(),
- columns: recordType(stringType(), column2),
- indexes: recordType(stringType(), stringType()),
- foreignKeys: recordType(stringType(), stringType())
- }).strict();
- var tableSquashed2 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column2),
- indexes: recordType(stringType(), stringType()),
- foreignKeys: recordType(stringType(), stringType()),
- compositePrimaryKeys: recordType(stringType(), stringType()),
- uniqueConstraints: recordType(stringType(), stringType()).default({}),
- checkConstraints: recordType(stringType(), stringType()).default({})
- }).strict();
- var viewSquashed = view2.omit({
- algorithm: true,
- sqlSecurity: true,
- withCheckOption: true
- }).extend({ meta: stringType() });
- var schemaSquashed = objectType({
- version: literalType("5"),
- dialect,
- tables: recordType(stringType(), tableSquashed2),
- views: recordType(stringType(), viewSquashed)
- }).strict();
- var schemaSquashedV4 = objectType({
- version: literalType("4"),
- dialect,
- tables: recordType(stringType(), tableSquashedV4),
- schemas: recordType(stringType(), stringType())
- }).strict();
- var mysqlSchema = schema;
- var mysqlSchemaV5 = schemaV5;
- var backwardCompatibleMysqlSchema = unionType([mysqlSchemaV5, schema]);
- var dryMySql = mysqlSchema.parse({
- version: "5",
- dialect: "mysql",
- id: originUUID,
- prevId: "",
- tables: {},
- schemas: {},
- views: {},
- _meta: {
- schemas: {},
- tables: {},
- columns: {}
- }
- });
- // src/serializer/pgSchema.ts
- var indexV2 = objectType({
- name: stringType(),
- columns: recordType(
- stringType(),
- objectType({
- name: stringType()
- })
- ),
- isUnique: booleanType()
- }).strict();
- var columnV2 = objectType({
- name: stringType(),
- type: stringType(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- default: anyType().optional(),
- references: stringType().optional()
- }).strict();
- var tableV2 = objectType({
- name: stringType(),
- columns: recordType(stringType(), columnV2),
- indexes: recordType(stringType(), indexV2)
- }).strict();
- var enumSchemaV12 = objectType({
- name: stringType(),
- values: recordType(stringType(), stringType())
- }).strict();
- var enumSchema2 = objectType({
- name: stringType(),
- schema: stringType(),
- values: stringType().array()
- }).strict();
- var pgSchemaV2 = objectType({
- version: literalType("2"),
- tables: recordType(stringType(), tableV2),
- enums: recordType(stringType(), enumSchemaV12)
- }).strict();
- var references = objectType({
- foreignKeyName: stringType(),
- table: stringType(),
- column: stringType(),
- onDelete: stringType().optional(),
- onUpdate: stringType().optional()
- }).strict();
- var columnV1 = objectType({
- name: stringType(),
- type: stringType(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- default: anyType().optional(),
- references: references.optional()
- }).strict();
- var tableV1 = objectType({
- name: stringType(),
- columns: recordType(stringType(), columnV1),
- indexes: recordType(stringType(), indexV2)
- }).strict();
- var pgSchemaV1 = objectType({
- version: literalType("1"),
- tables: recordType(stringType(), tableV1),
- enums: recordType(stringType(), enumSchemaV12)
- }).strict();
- var indexColumn2 = objectType({
- expression: stringType(),
- isExpression: booleanType(),
- asc: booleanType(),
- nulls: stringType().optional(),
- opclass: stringType().optional()
- });
- var index3 = objectType({
- name: stringType(),
- columns: indexColumn2.array(),
- isUnique: booleanType(),
- with: recordType(stringType(), anyType()).optional(),
- method: stringType().default("btree"),
- where: stringType().optional(),
- concurrently: booleanType().default(false)
- }).strict();
- var indexV4 = objectType({
- name: stringType(),
- columns: stringType().array(),
- isUnique: booleanType(),
- with: recordType(stringType(), stringType()).optional(),
- method: stringType().default("btree"),
- where: stringType().optional(),
- concurrently: booleanType().default(false)
- }).strict();
- var indexV5 = objectType({
- name: stringType(),
- columns: stringType().array(),
- isUnique: booleanType(),
- with: recordType(stringType(), stringType()).optional(),
- method: stringType().default("btree"),
- where: stringType().optional(),
- concurrently: booleanType().default(false)
- }).strict();
- var indexV6 = objectType({
- name: stringType(),
- columns: stringType().array(),
- isUnique: booleanType(),
- with: recordType(stringType(), stringType()).optional(),
- method: stringType().default("btree"),
- where: stringType().optional(),
- concurrently: booleanType().default(false)
- }).strict();
- var fk3 = objectType({
- name: stringType(),
- tableFrom: stringType(),
- columnsFrom: stringType().array(),
- tableTo: stringType(),
- schemaTo: stringType().optional(),
- columnsTo: stringType().array(),
- onUpdate: stringType().optional(),
- onDelete: stringType().optional()
- }).strict();
- var sequenceSchema2 = objectType({
- name: stringType(),
- increment: stringType().optional(),
- minValue: stringType().optional(),
- maxValue: stringType().optional(),
- startWith: stringType().optional(),
- cache: stringType().optional(),
- cycle: booleanType().optional(),
- schema: stringType()
- }).strict();
- var roleSchema2 = objectType({
- name: stringType(),
- createDb: booleanType().optional(),
- createRole: booleanType().optional(),
- inherit: booleanType().optional()
- }).strict();
- var sequenceSquashed2 = objectType({
- name: stringType(),
- schema: stringType(),
- values: stringType()
- }).strict();
- var columnV7 = objectType({
- name: stringType(),
- type: stringType(),
- typeSchema: stringType().optional(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- default: anyType().optional(),
- isUnique: anyType().optional(),
- uniqueName: stringType().optional(),
- nullsNotDistinct: booleanType().optional()
- }).strict();
- var column3 = objectType({
- name: stringType(),
- type: stringType(),
- typeSchema: stringType().optional(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- default: anyType().optional(),
- isUnique: anyType().optional(),
- uniqueName: stringType().optional(),
- nullsNotDistinct: booleanType().optional(),
- generated: objectType({
- type: literalType("stored"),
- as: stringType()
- }).optional(),
- identity: sequenceSchema2.merge(objectType({ type: enumType(["always", "byDefault"]) })).optional()
- }).strict();
- var checkConstraint3 = objectType({
- name: stringType(),
- value: stringType()
- }).strict();
- var columnSquashed2 = objectType({
- name: stringType(),
- type: stringType(),
- typeSchema: stringType().optional(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- default: anyType().optional(),
- isUnique: anyType().optional(),
- uniqueName: stringType().optional(),
- nullsNotDistinct: booleanType().optional(),
- generated: objectType({
- type: literalType("stored"),
- as: stringType()
- }).optional(),
- identity: stringType().optional()
- }).strict();
- var tableV32 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column3),
- indexes: recordType(stringType(), index3),
- foreignKeys: recordType(stringType(), fk3)
- }).strict();
- var compositePK3 = objectType({
- name: stringType(),
- columns: stringType().array()
- }).strict();
- var uniqueConstraint3 = objectType({
- name: stringType(),
- columns: stringType().array(),
- nullsNotDistinct: booleanType()
- }).strict();
- var policy2 = objectType({
- name: stringType(),
- as: enumType(["PERMISSIVE", "RESTRICTIVE"]).optional(),
- for: enumType(["ALL", "SELECT", "INSERT", "UPDATE", "DELETE"]).optional(),
- to: stringType().array().optional(),
- using: stringType().optional(),
- withCheck: stringType().optional(),
- on: stringType().optional(),
- schema: stringType().optional()
- }).strict();
- var policySquashed2 = objectType({
- name: stringType(),
- values: stringType()
- }).strict();
- var viewWithOption2 = objectType({
- checkOption: enumType(["local", "cascaded"]).optional(),
- securityBarrier: booleanType().optional(),
- securityInvoker: booleanType().optional()
- }).strict();
- var matViewWithOption2 = objectType({
- fillfactor: numberType().optional(),
- toastTupleTarget: numberType().optional(),
- parallelWorkers: numberType().optional(),
- autovacuumEnabled: booleanType().optional(),
- vacuumIndexCleanup: enumType(["auto", "off", "on"]).optional(),
- vacuumTruncate: booleanType().optional(),
- autovacuumVacuumThreshold: numberType().optional(),
- autovacuumVacuumScaleFactor: numberType().optional(),
- autovacuumVacuumCostDelay: numberType().optional(),
- autovacuumVacuumCostLimit: numberType().optional(),
- autovacuumFreezeMinAge: numberType().optional(),
- autovacuumFreezeMaxAge: numberType().optional(),
- autovacuumFreezeTableAge: numberType().optional(),
- autovacuumMultixactFreezeMinAge: numberType().optional(),
- autovacuumMultixactFreezeMaxAge: numberType().optional(),
- autovacuumMultixactFreezeTableAge: numberType().optional(),
- logAutovacuumMinDuration: numberType().optional(),
- userCatalogTable: booleanType().optional()
- }).strict();
- var mergedViewWithOption2 = viewWithOption2.merge(matViewWithOption2).strict();
- var view3 = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), column3),
- definition: stringType().optional(),
- materialized: booleanType(),
- with: mergedViewWithOption2.optional(),
- isExisting: booleanType(),
- withNoData: booleanType().optional(),
- using: stringType().optional(),
- tablespace: stringType().optional()
- }).strict();
- var tableV42 = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), column3),
- indexes: recordType(stringType(), indexV4),
- foreignKeys: recordType(stringType(), fk3)
- }).strict();
- var tableV5 = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), column3),
- indexes: recordType(stringType(), indexV5),
- foreignKeys: recordType(stringType(), fk3),
- compositePrimaryKeys: recordType(stringType(), compositePK3),
- uniqueConstraints: recordType(stringType(), uniqueConstraint3).default({})
- }).strict();
- var tableV6 = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), column3),
- indexes: recordType(stringType(), indexV6),
- foreignKeys: recordType(stringType(), fk3),
- compositePrimaryKeys: recordType(stringType(), compositePK3),
- uniqueConstraints: recordType(stringType(), uniqueConstraint3).default({})
- }).strict();
- var tableV7 = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), columnV7),
- indexes: recordType(stringType(), index3),
- foreignKeys: recordType(stringType(), fk3),
- compositePrimaryKeys: recordType(stringType(), compositePK3),
- uniqueConstraints: recordType(stringType(), uniqueConstraint3).default({})
- }).strict();
- var table3 = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), column3),
- indexes: recordType(stringType(), index3),
- foreignKeys: recordType(stringType(), fk3),
- compositePrimaryKeys: recordType(stringType(), compositePK3),
- uniqueConstraints: recordType(stringType(), uniqueConstraint3).default({}),
- policies: recordType(stringType(), policy2).default({}),
- checkConstraints: recordType(stringType(), checkConstraint3).default({}),
- isRLSEnabled: booleanType().default(false)
- }).strict();
- var schemaHash3 = objectType({
- id: stringType(),
- prevId: stringType()
- });
- var kitInternals3 = objectType({
- tables: recordType(
- stringType(),
- objectType({
- columns: recordType(
- stringType(),
- objectType({
- isArray: booleanType().optional(),
- dimensions: numberType().optional(),
- rawType: stringType().optional(),
- isDefaultAnExpression: booleanType().optional()
- }).optional()
- )
- }).optional()
- )
- }).optional();
- var pgSchemaInternalV3 = objectType({
- version: literalType("3"),
- dialect: literalType("pg"),
- tables: recordType(stringType(), tableV32),
- enums: recordType(stringType(), enumSchemaV12)
- }).strict();
- var pgSchemaInternalV4 = objectType({
- version: literalType("4"),
- dialect: literalType("pg"),
- tables: recordType(stringType(), tableV42),
- enums: recordType(stringType(), enumSchemaV12),
- schemas: recordType(stringType(), stringType())
- }).strict();
- var pgSchemaInternalV5 = objectType({
- version: literalType("5"),
- dialect: literalType("pg"),
- tables: recordType(stringType(), tableV5),
- enums: recordType(stringType(), enumSchemaV12),
- schemas: recordType(stringType(), stringType()),
- _meta: objectType({
- schemas: recordType(stringType(), stringType()),
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals3
- }).strict();
- var pgSchemaInternalV6 = objectType({
- version: literalType("6"),
- dialect: literalType("postgresql"),
- tables: recordType(stringType(), tableV6),
- enums: recordType(stringType(), enumSchema2),
- schemas: recordType(stringType(), stringType()),
- _meta: objectType({
- schemas: recordType(stringType(), stringType()),
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals3
- }).strict();
- var pgSchemaExternal = objectType({
- version: literalType("5"),
- dialect: literalType("pg"),
- tables: arrayType(table3),
- enums: arrayType(enumSchemaV12),
- schemas: arrayType(objectType({ name: stringType() })),
- _meta: objectType({
- schemas: recordType(stringType(), stringType()),
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- })
- }).strict();
- var pgSchemaInternalV7 = objectType({
- version: literalType("7"),
- dialect: literalType("postgresql"),
- tables: recordType(stringType(), tableV7),
- enums: recordType(stringType(), enumSchema2),
- schemas: recordType(stringType(), stringType()),
- sequences: recordType(stringType(), sequenceSchema2),
- _meta: objectType({
- schemas: recordType(stringType(), stringType()),
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals3
- }).strict();
- var pgSchemaInternal = objectType({
- version: literalType("7"),
- dialect: literalType("postgresql"),
- tables: recordType(stringType(), table3),
- enums: recordType(stringType(), enumSchema2),
- schemas: recordType(stringType(), stringType()),
- views: recordType(stringType(), view3).default({}),
- sequences: recordType(stringType(), sequenceSchema2).default({}),
- roles: recordType(stringType(), roleSchema2).default({}),
- policies: recordType(stringType(), policy2).default({}),
- _meta: objectType({
- schemas: recordType(stringType(), stringType()),
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals3
- }).strict();
- var tableSquashed3 = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), columnSquashed2),
- indexes: recordType(stringType(), stringType()),
- foreignKeys: recordType(stringType(), stringType()),
- compositePrimaryKeys: recordType(stringType(), stringType()),
- uniqueConstraints: recordType(stringType(), stringType()),
- policies: recordType(stringType(), stringType()),
- checkConstraints: recordType(stringType(), stringType()),
- isRLSEnabled: booleanType().default(false)
- }).strict();
- var tableSquashedV42 = objectType({
- name: stringType(),
- schema: stringType(),
- columns: recordType(stringType(), column3),
- indexes: recordType(stringType(), stringType()),
- foreignKeys: recordType(stringType(), stringType())
- }).strict();
- var pgSchemaSquashedV4 = objectType({
- version: literalType("4"),
- dialect: literalType("pg"),
- tables: recordType(stringType(), tableSquashedV42),
- enums: recordType(stringType(), enumSchemaV12),
- schemas: recordType(stringType(), stringType())
- }).strict();
- var pgSchemaSquashedV6 = objectType({
- version: literalType("6"),
- dialect: literalType("postgresql"),
- tables: recordType(stringType(), tableSquashed3),
- enums: recordType(stringType(), enumSchema2),
- schemas: recordType(stringType(), stringType())
- }).strict();
- var pgSchemaSquashed = objectType({
- version: literalType("7"),
- dialect: literalType("postgresql"),
- tables: recordType(stringType(), tableSquashed3),
- enums: recordType(stringType(), enumSchema2),
- schemas: recordType(stringType(), stringType()),
- views: recordType(stringType(), view3),
- sequences: recordType(stringType(), sequenceSquashed2),
- roles: recordType(stringType(), roleSchema2).default({}),
- policies: recordType(stringType(), policySquashed2).default({})
- }).strict();
- var pgSchemaV3 = pgSchemaInternalV3.merge(schemaHash3);
- var pgSchemaV4 = pgSchemaInternalV4.merge(schemaHash3);
- var pgSchemaV5 = pgSchemaInternalV5.merge(schemaHash3);
- var pgSchemaV6 = pgSchemaInternalV6.merge(schemaHash3);
- var pgSchemaV7 = pgSchemaInternalV7.merge(schemaHash3);
- var pgSchema = pgSchemaInternal.merge(schemaHash3);
- var backwardCompatiblePgSchema = unionType([
- pgSchemaV5,
- pgSchemaV6,
- pgSchema
- ]);
- var dryPg = pgSchema.parse({
- version: snapshotVersion,
- dialect: "postgresql",
- id: originUUID,
- prevId: "",
- tables: {},
- enums: {},
- schemas: {},
- policies: {},
- roles: {},
- sequences: {},
- _meta: {
- schemas: {},
- tables: {},
- columns: {}
- }
- });
- // src/serializer/singlestoreSchema.ts
- var index4 = objectType({
- name: stringType(),
- columns: stringType().array(),
- isUnique: booleanType(),
- using: enumType(["btree", "hash"]).optional(),
- algorithm: enumType(["default", "inplace", "copy"]).optional(),
- lock: enumType(["default", "none", "shared", "exclusive"]).optional()
- }).strict();
- var column4 = objectType({
- name: stringType(),
- type: stringType(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- autoincrement: booleanType().optional(),
- default: anyType().optional(),
- onUpdate: anyType().optional(),
- generated: objectType({
- type: enumType(["stored", "virtual"]),
- as: stringType()
- }).optional()
- }).strict();
- var compositePK4 = objectType({
- name: stringType(),
- columns: stringType().array()
- }).strict();
- var uniqueConstraint4 = objectType({
- name: stringType(),
- columns: stringType().array()
- }).strict();
- var table4 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column4),
- indexes: recordType(stringType(), index4),
- compositePrimaryKeys: recordType(stringType(), compositePK4),
- uniqueConstraints: recordType(stringType(), uniqueConstraint4).default({})
- }).strict();
- var viewMeta2 = objectType({
- algorithm: enumType(["undefined", "merge", "temptable"]),
- sqlSecurity: enumType(["definer", "invoker"]),
- withCheckOption: enumType(["local", "cascaded"]).optional()
- }).strict();
- var kitInternals4 = objectType({
- tables: recordType(
- stringType(),
- objectType({
- columns: recordType(
- stringType(),
- objectType({ isDefaultAnExpression: booleanType().optional() }).optional()
- )
- }).optional()
- ).optional(),
- indexes: recordType(
- stringType(),
- objectType({
- columns: recordType(
- stringType(),
- objectType({ isExpression: booleanType().optional() }).optional()
- )
- }).optional()
- ).optional()
- }).optional();
- var dialect2 = literalType("singlestore");
- var schemaHash4 = objectType({
- id: stringType(),
- prevId: stringType()
- });
- var schemaInternal2 = objectType({
- version: literalType("1"),
- dialect: dialect2,
- tables: recordType(stringType(), table4),
- /* views: record(string(), view).default({}), */
- _meta: objectType({
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals4
- }).strict();
- var schema2 = schemaInternal2.merge(schemaHash4);
- var tableSquashed4 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column4),
- indexes: recordType(stringType(), stringType()),
- compositePrimaryKeys: recordType(stringType(), stringType()),
- uniqueConstraints: recordType(stringType(), stringType()).default({})
- }).strict();
- var schemaSquashed2 = objectType({
- version: literalType("1"),
- dialect: dialect2,
- tables: recordType(stringType(), tableSquashed4)
- /* views: record(string(), viewSquashed), */
- }).strict();
- var singlestoreSchema = schema2;
- var backwardCompatibleSingleStoreSchema = unionType([singlestoreSchema, schema2]);
- var drySingleStore = singlestoreSchema.parse({
- version: "1",
- dialect: "singlestore",
- id: originUUID,
- prevId: "",
- tables: {},
- schemas: {},
- /* views: {}, */
- _meta: {
- schemas: {},
- tables: {},
- columns: {}
- }
- });
- // src/serializer/sqliteSchema.ts
- var index5 = objectType({
- name: stringType(),
- columns: stringType().array(),
- where: stringType().optional(),
- isUnique: booleanType()
- }).strict();
- var fk4 = objectType({
- name: stringType(),
- tableFrom: stringType(),
- columnsFrom: stringType().array(),
- tableTo: stringType(),
- columnsTo: stringType().array(),
- onUpdate: stringType().optional(),
- onDelete: stringType().optional()
- }).strict();
- var compositePK5 = objectType({
- columns: stringType().array(),
- name: stringType().optional()
- }).strict();
- var column5 = objectType({
- name: stringType(),
- type: stringType(),
- primaryKey: booleanType(),
- notNull: booleanType(),
- autoincrement: booleanType().optional(),
- default: anyType().optional(),
- generated: objectType({
- type: enumType(["stored", "virtual"]),
- as: stringType()
- }).optional()
- }).strict();
- var tableV33 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column5),
- indexes: recordType(stringType(), index5),
- foreignKeys: recordType(stringType(), fk4)
- }).strict();
- var uniqueConstraint5 = objectType({
- name: stringType(),
- columns: stringType().array()
- }).strict();
- var checkConstraint4 = objectType({
- name: stringType(),
- value: stringType()
- }).strict();
- var table5 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column5),
- indexes: recordType(stringType(), index5),
- foreignKeys: recordType(stringType(), fk4),
- compositePrimaryKeys: recordType(stringType(), compositePK5),
- uniqueConstraints: recordType(stringType(), uniqueConstraint5).default({}),
- checkConstraints: recordType(stringType(), checkConstraint4).default({})
- }).strict();
- var view4 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column5),
- definition: stringType().optional(),
- isExisting: booleanType()
- }).strict();
- var dialect3 = enumType(["sqlite"]);
- var schemaHash5 = objectType({
- id: stringType(),
- prevId: stringType()
- }).strict();
- var schemaInternalV32 = objectType({
- version: literalType("3"),
- dialect: dialect3,
- tables: recordType(stringType(), tableV33),
- enums: objectType({})
- }).strict();
- var schemaInternalV42 = objectType({
- version: literalType("4"),
- dialect: dialect3,
- tables: recordType(stringType(), table5),
- views: recordType(stringType(), view4).default({}),
- enums: objectType({})
- }).strict();
- var schemaInternalV52 = objectType({
- version: literalType("5"),
- dialect: dialect3,
- tables: recordType(stringType(), table5),
- enums: objectType({}),
- _meta: objectType({
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- })
- }).strict();
- var kitInternals5 = objectType({
- indexes: recordType(
- stringType(),
- objectType({
- columns: recordType(
- stringType(),
- objectType({ isExpression: booleanType().optional() }).optional()
- )
- }).optional()
- ).optional()
- }).optional();
- var latestVersion = literalType("6");
- var schemaInternal3 = objectType({
- version: latestVersion,
- dialect: dialect3,
- tables: recordType(stringType(), table5),
- views: recordType(stringType(), view4).default({}),
- enums: objectType({}),
- _meta: objectType({
- tables: recordType(stringType(), stringType()),
- columns: recordType(stringType(), stringType())
- }),
- internal: kitInternals5
- }).strict();
- var schemaV32 = schemaInternalV32.merge(schemaHash5).strict();
- var schemaV42 = schemaInternalV42.merge(schemaHash5).strict();
- var schemaV52 = schemaInternalV52.merge(schemaHash5).strict();
- var schema3 = schemaInternal3.merge(schemaHash5).strict();
- var tableSquashed5 = objectType({
- name: stringType(),
- columns: recordType(stringType(), column5),
- indexes: recordType(stringType(), stringType()),
- foreignKeys: recordType(stringType(), stringType()),
- compositePrimaryKeys: recordType(stringType(), stringType()),
- uniqueConstraints: recordType(stringType(), stringType()).default({}),
- checkConstraints: recordType(stringType(), stringType()).default({})
- }).strict();
- var schemaSquashed3 = objectType({
- version: latestVersion,
- dialect: dialect3,
- tables: recordType(stringType(), tableSquashed5),
- views: recordType(stringType(), view4),
- enums: anyType()
- }).strict();
- var drySQLite = schema3.parse({
- version: "6",
- dialect: "sqlite",
- id: originUUID,
- prevId: "",
- tables: {},
- views: {},
- enums: {},
- _meta: {
- tables: {},
- columns: {}
- }
- });
- var sqliteSchemaV5 = schemaV52;
- var backwardCompatibleSqliteSchema = unionType([sqliteSchemaV5, schema3]);
- // src/utils.ts
- var copy = (it) => {
- return JSON.parse(JSON.stringify(it));
- };
- var objectValues = (obj) => {
- return Object.values(obj);
- };
- var assertV1OutFolder = (out) => {
- if (!existsSync(out)) return;
- const oldMigrationFolders = readdirSync(out).filter(
- (it) => it.length === 14 && /^\d+$/.test(it)
- );
- if (oldMigrationFolders.length > 0) {
- console.log(
- `Your migrations folder format is outdated, please run ${source_default.green.bold(
- `drizzle-kit up`
- )}`
- );
- process.exit(1);
- }
- };
- var dryJournal = (dialect4) => {
- return {
- version: snapshotVersion,
- dialect: dialect4,
- entries: []
- };
- };
- var prepareOutFolder = (out, dialect4) => {
- const meta = join(out, "meta");
- const journalPath = join(meta, "_journal.json");
- if (!existsSync(join(out, "meta"))) {
- mkdirSync(meta, { recursive: true });
- writeFileSync(journalPath, JSON.stringify(dryJournal(dialect4)));
- }
- const journal = JSON.parse(readFileSync(journalPath).toString());
- const snapshots = readdirSync(meta).filter((it) => !it.startsWith("_")).map((it) => join(meta, it));
- snapshots.sort();
- return { meta, snapshots, journal };
- };
- var validatorForDialect = (dialect4) => {
- switch (dialect4) {
- case "postgresql":
- return { validator: backwardCompatiblePgSchema, version: 7 };
- case "sqlite":
- return { validator: backwardCompatibleSqliteSchema, version: 6 };
- case "turso":
- return { validator: backwardCompatibleSqliteSchema, version: 6 };
- case "mysql":
- return { validator: backwardCompatibleMysqlSchema, version: 5 };
- case "singlestore":
- return { validator: backwardCompatibleSingleStoreSchema, version: 1 };
- case "gel":
- return { validator: backwardCompatibleGelSchema, version: 1 };
- }
- };
- var validateWithReport = (snapshots, dialect4) => {
- const { validator, version } = validatorForDialect(dialect4);
- const result = snapshots.reduce(
- (accum, it) => {
- const raw = JSON.parse(readFileSync(`./${it}`).toString());
- accum.rawMap[it] = raw;
- if (raw["version"] && Number(raw["version"]) > version) {
- console.log(
- info(
- `${it} snapshot is of unsupported version, please update drizzle-kit`
- )
- );
- process.exit(0);
- }
- const result2 = validator.safeParse(raw);
- if (!result2.success) {
- accum.malformed.push(it);
- return accum;
- }
- const snapshot = result2.data;
- if (snapshot.version !== String(version)) {
- accum.nonLatest.push(it);
- return accum;
- }
- const idEntry = accum.idsMap[snapshot["prevId"]] ?? {
- parent: it,
- snapshots: []
- };
- idEntry.snapshots.push(it);
- accum.idsMap[snapshot["prevId"]] = idEntry;
- return accum;
- },
- {
- malformed: [],
- nonLatest: [],
- idToNameMap: {},
- idsMap: {},
- rawMap: {}
- }
- );
- return result;
- };
- var prepareMigrationFolder = (outFolder = "drizzle", dialect4) => {
- const { snapshots, journal } = prepareOutFolder(outFolder, dialect4);
- const report = validateWithReport(snapshots, dialect4);
- if (report.nonLatest.length > 0) {
- console.log(
- report.nonLatest.map((it) => {
- return `${it}/snapshot.json is not of the latest version`;
- }).concat(`Run ${source_default.green.bold(`drizzle-kit up`)}`).join("\n")
- );
- process.exit(0);
- }
- if (report.malformed.length) {
- const message2 = report.malformed.map((it) => {
- return `${it} data is malformed`;
- }).join("\n");
- console.log(message2);
- }
- const collisionEntries = Object.entries(report.idsMap).filter(
- (it) => it[1].snapshots.length > 1
- );
- const message = collisionEntries.map((it) => {
- const data = it[1];
- return `[${data.snapshots.join(
- ", "
- )}] are pointing to a parent snapshot: ${data.parent}/snapshot.json which is a collision.`;
- }).join("\n").trim();
- if (message) {
- console.log(source_default.red.bold("Error:"), message);
- }
- const abort = report.malformed.length || collisionEntries.length > 0;
- if (abort) {
- process.exit(0);
- }
- return { snapshots, journal };
- };
- var prepareMigrationMeta = (schemas, tables, columns) => {
- const _meta = {
- schemas: {},
- tables: {},
- columns: {}
- };
- schemas.forEach((it) => {
- const from = schemaRenameKey(it.from);
- const to = schemaRenameKey(it.to);
- _meta.schemas[from] = to;
- });
- tables.forEach((it) => {
- const from = tableRenameKey(it.from);
- const to = tableRenameKey(it.to);
- _meta.tables[from] = to;
- });
- columns.forEach((it) => {
- const from = columnRenameKey(it.from.table, it.from.schema, it.from.column);
- const to = columnRenameKey(it.to.table, it.to.schema, it.to.column);
- _meta.columns[from] = to;
- });
- return _meta;
- };
- var schemaRenameKey = (it) => {
- return it;
- };
- var tableRenameKey = (it) => {
- const out = it.schema ? `"${it.schema}"."${it.name}"` : `"${it.name}"`;
- return out;
- };
- var columnRenameKey = (table6, schema4, column6) => {
- const out = schema4 ? `"${schema4}"."${table6}"."${column6}"` : `"${table6}"."${column6}"`;
- return out;
- };
- var kloudMeta = () => {
- return {
- pg: [5],
- mysql: [],
- sqlite: []
- };
- };
- var normaliseSQLiteUrl = (it, type) => {
- if (type === "libsql") {
- if (it.startsWith("file:")) {
- return it;
- }
- try {
- const url = parse(it);
- if (url.protocol === null) {
- return `file:${it}`;
- }
- return it;
- } catch (e) {
- return `file:${it}`;
- }
- }
- if (type === "better-sqlite") {
- if (it.startsWith("file:")) {
- return it.substring(5);
- }
- return it;
- }
- assertUnreachable(type);
- };
- var normalisePGliteUrl = (it) => {
- if (it.startsWith("file:")) {
- return it.substring(5);
- }
- return it;
- };
- function isPgArrayType(sqlType) {
- return sqlType.match(/.*\[\d*\].*|.*\[\].*/g) !== null;
- }
- function findAddedAndRemoved(columnNames1, columnNames2) {
- const set1 = new Set(columnNames1);
- const set2 = new Set(columnNames2);
- const addedColumns = columnNames2.filter((it) => !set1.has(it));
- const removedColumns = columnNames1.filter((it) => !set2.has(it));
- return { addedColumns, removedColumns };
- }
- function escapeSingleQuotes(str) {
- return str.replace(/'/g, "''");
- }
- function unescapeSingleQuotes(str, ignoreFirstAndLastChar) {
- const regex = ignoreFirstAndLastChar ? /(?<!^)'(?!$)/g : /'/g;
- return str.replace(/''/g, "'").replace(regex, "\\'");
- }
- export {
- assertV1OutFolder,
- columnRenameKey,
- copy,
- dryJournal,
- escapeSingleQuotes,
- findAddedAndRemoved,
- isPgArrayType,
- kloudMeta,
- normalisePGliteUrl,
- normaliseSQLiteUrl,
- objectValues,
- prepareMigrationFolder,
- prepareMigrationMeta,
- prepareOutFolder,
- schemaRenameKey,
- tableRenameKey,
- unescapeSingleQuotes,
- validateWithReport
- };
|