effect 3.11.3 → 3.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Cron.js +122 -68
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Function.js +1 -1
- package/dist/cjs/internal/core.js +6 -3
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +2 -2
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +1 -1
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +4 -4
- package/dist/cjs/internal/mailbox.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cron.d.ts +1 -1
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Function.d.ts +1 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/esm/Cron.js +121 -67
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Function.js +1 -1
- package/dist/esm/internal/core.js +2 -0
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +2 -2
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +1 -1
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/mailbox.js +4 -4
- package/dist/esm/internal/mailbox.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Cron.ts +154 -66
- package/src/Function.ts +1 -1
- package/src/internal/core.ts +8 -0
- package/src/internal/effect/circular.ts +2 -2
- package/src/internal/fiberRuntime.ts +1 -1
- package/src/internal/mailbox.ts +4 -4
- package/src/internal/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox.js","names":["Arr","NoSuchElementException","Chunk","Effectable","dual","Inspectable","Iterable","Option","pipeArguments","hasProperty","channel","channelExecutor","coreChannel","core","circular","fiberRuntime","stream","TypeId","Symbol","for","ReadonlyTypeId","isMailbox","u","isReadonlyMailbox","empty","exitEmpty","exitSucceed","exitFalse","exitTrue","constDone","MailboxImpl","Class","scheduler","capacity","strategy","state","_tag","takers","Set","offers","awaiters","messages","messagesChunk","constructor","offer","message","suspend","length","size","push","releaseTaker","offerRemainingSingle","unsafeTake","scheduleReleaseTaker","unsafeOffer","offerAll","succeed","fromIterable","remaining","unsafeOfferAllArray","unsafeFromArray","offerRemainingArray","unsafeOfferAll","Number","POSITIVE_INFINITY","appendAll","pipe","takeRight","isChunk","free","i","fail","error","done","exitFail","failCause","cause","exitFailCause","unsafeDone","exit","finalize","shutdown","sync","exitVoid","entry","resume","slice","offset","clear","end","exitAs","unsafeTakeAll","releaseCapacity","takeAll","zipRight","awaitTake","takeN","n","Math","min","take","drop","exitZipRight","unsafeHead","pop","undefined","await","unsafeAsync","add","delete","unsafeSize","none","some","commit","arguments","toJSON","_id","toString","format","NodeInspectSymbol","scheduleRunning","scheduleTask","taker","of","openState","awaiter","make","withFiberRuntime","fiber","currentScheduler","into","effect","self","uninterruptibleMask","restore","matchCauseEffect","onFailure","onSuccess","_","toChannel","loop","flatMap","void","write","toStream","fromChannel","fromStream","args","isStream","options","tap","acquireRelease","mailbox","writer","readWithCause","onInput","input","onDone","unwrapScopedWith","scope","pipeTo","runIn","forkIn"],"sources":["../../../src/internal/mailbox.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"mailbox.js","names":["Arr","NoSuchElementException","Chunk","Effectable","dual","Inspectable","Iterable","Option","pipeArguments","hasProperty","channel","channelExecutor","coreChannel","core","circular","fiberRuntime","stream","TypeId","Symbol","for","ReadonlyTypeId","isMailbox","u","isReadonlyMailbox","empty","exitEmpty","exitSucceed","exitFalse","exitTrue","constDone","MailboxImpl","Class","scheduler","capacity","strategy","state","_tag","takers","Set","offers","awaiters","messages","messagesChunk","constructor","offer","message","suspend","length","size","push","releaseTaker","offerRemainingSingle","unsafeTake","scheduleReleaseTaker","unsafeOffer","offerAll","succeed","fromIterable","remaining","unsafeOfferAllArray","unsafeFromArray","offerRemainingArray","unsafeOfferAll","Number","POSITIVE_INFINITY","appendAll","pipe","takeRight","isChunk","free","i","fail","error","done","exitFail","failCause","cause","exitFailCause","unsafeDone","exit","finalize","shutdown","sync","exitVoid","entry","resume","slice","offset","clear","end","exitAs","unsafeTakeAll","releaseCapacity","takeAll","zipRight","awaitTake","takeN","n","Math","min","take","drop","exitZipRight","unsafeHead","pop","undefined","await","asyncInterrupt","add","delete","unsafeSize","none","some","commit","arguments","toJSON","_id","toString","format","NodeInspectSymbol","scheduleRunning","scheduleTask","taker","of","openState","awaiter","make","withFiberRuntime","fiber","currentScheduler","into","effect","self","uninterruptibleMask","restore","matchCauseEffect","onFailure","onSuccess","_","toChannel","loop","flatMap","void","write","toStream","fromChannel","fromStream","args","isStream","options","tap","acquireRelease","mailbox","writer","readWithCause","onInput","input","onDone","unwrapScopedWith","scope","pipeTo","runIn","forkIn"],"sources":["../../../src/internal/mailbox.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,GAAG,MAAM,aAAa;AAElC,SAASC,sBAAsB,QAAQ,aAAa;AAEpD,OAAO,KAAKC,KAAK,MAAM,aAAa;AAEpC,OAAO,KAAKC,UAAU,MAAM,kBAAkB;AAE9C,SAASC,IAAI,QAAQ,gBAAgB;AACrC,OAAO,KAAKC,WAAW,MAAM,mBAAmB;AAChD,OAAO,KAAKC,QAAQ,MAAM,gBAAgB;AAE1C,OAAO,KAAKC,MAAM,MAAM,cAAc;AACtC,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAG7C,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,eAAe,MAAM,8BAA8B;AAC/D,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAC/C,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAChD,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AACjD,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;AACA,OAAO,MAAMC,MAAM,gBAAeC,MAAM,CAACC,GAAG,CAAC,gBAAgB,CAAe;AAE5E;AACA,OAAO,MAAMC,cAAc,gBAAuBF,MAAM,CAACC,GAAG,CAAC,gCAAgC,CAAuB;AAEpH;AACA,OAAO,MAAME,SAAS,GAAIC,CAAU,IAAyCb,WAAW,CAACa,CAAC,EAAEL,MAAM,CAAC;AAEnG;AACA,OAAO,MAAMM,iBAAiB,GAAID,CAAU,IAC1Cb,WAAW,CAACa,CAAC,EAAEF,cAAc,CAAC;AA6BhC,MAAMI,KAAK,gBAAGtB,KAAK,CAACsB,KAAK,EAAE;AAC3B,MAAMC,SAAS,gBAAGZ,IAAI,CAACa,WAAW,CAACF,KAAK,CAAC;AACzC,MAAMG,SAAS,gBAAGd,IAAI,CAACa,WAAW,CAAC,KAAK,CAAC;AACzC,MAAME,QAAQ,gBAAGf,IAAI,CAACa,WAAW,CAAC,IAAI,CAAC;AACvC,MAAMG,SAAS,GAAG,CAACL,KAAK,EAAE,IAAI,CAAU;AAExC,MAAMM,WAAkB,SAAQ3B,UAAU,CAAC4B,KAA4D;EAc1FC,SAAA;EACDC,QAAA;EACCC,QAAA;EAbF,CAACjB,MAAM,IAAgBA,MAAM;EAC7B,CAACG,cAAc,IAAwBA,cAAc;EACtDe,KAAK,GAAuB;IAClCC,IAAI,EAAE,MAAM;IACZC,MAAM,eAAE,IAAIC,GAAG,EAAE;IACjBC,MAAM,eAAE,IAAID,GAAG,EAAE;IACjBE,QAAQ,eAAE,IAAIF,GAAG;GAClB;EACOG,QAAQ,GAAa,EAAE;EACvBC,aAAa,gBAAGxC,KAAK,CAACsB,KAAK,EAAK;EACxCmB,YACWX,SAAoB,EACrBC,QAAgB,EACfC,QAA4C;IAErD,KAAK,EAAE;IAJE,KAAAF,SAAS,GAATA,SAAS;IACV,KAAAC,QAAQ,GAARA,QAAQ;IACP,KAAAC,QAAQ,GAARA,QAAQ;EAGnB;EAEAU,KAAKA,CAACC,OAAU;IACd,OAAOhC,IAAI,CAACiC,OAAO,CAAC,MAAK;MACvB,IAAI,IAAI,CAACX,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;QAC9B,OAAOT,SAAS;MAClB,CAAC,MAAM,IAAI,IAAI,CAACc,QAAQ,CAACM,MAAM,GAAG,IAAI,CAACL,aAAa,CAACK,MAAM,IAAI,IAAI,CAACd,QAAQ,EAAE;QAC5E,QAAQ,IAAI,CAACC,QAAQ;UACnB,KAAK,UAAU;YACb,OAAOP,SAAS;UAClB,KAAK,SAAS;YACZ,IAAI,IAAI,CAACM,QAAQ,IAAI,CAAC,IAAI,IAAI,CAACE,KAAK,CAACE,MAAM,CAACW,IAAI,GAAG,CAAC,EAAE;cACpD,IAAI,CAACP,QAAQ,CAACQ,IAAI,CAACJ,OAAO,CAAC;cAC3B,IAAI,CAACK,YAAY,EAAE;cACnB,OAAOtB,QAAQ;YACjB;YACA,OAAO,IAAI,CAACuB,oBAAoB,CAACN,OAAO,CAAC;UAC3C,KAAK,SAAS;YACZ,IAAI,CAACO,UAAU,EAAE;YACjB,IAAI,CAACX,QAAQ,CAACQ,IAAI,CAACJ,OAAO,CAAC;YAC3B,OAAOjB,QAAQ;QACnB;MACF;MACA,IAAI,CAACa,QAAQ,CAACQ,IAAI,CAACJ,OAAO,CAAC;MAC3B,IAAI,CAACQ,oBAAoB,EAAE;MAC3B,OAAOzB,QAAQ;IACjB,CAAC,CAAC;EACJ;EACA0B,WAAWA,CAACT,OAAU;IACpB,IAAI,IAAI,CAACV,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAO,KAAK;IACd,CAAC,MAAM,IAAI,IAAI,CAACK,QAAQ,CAACM,MAAM,GAAG,IAAI,CAACL,aAAa,CAACK,MAAM,IAAI,IAAI,CAACd,QAAQ,EAAE;MAC5E,IAAI,IAAI,CAACC,QAAQ,KAAK,SAAS,EAAE;QAC/B,IAAI,CAACkB,UAAU,EAAE;QACjB,IAAI,CAACX,QAAQ,CAACQ,IAAI,CAACJ,OAAO,CAAC;QAC3B,OAAO,IAAI;MACb,CAAC,MAAM,IAAI,IAAI,CAACZ,QAAQ,IAAI,CAAC,IAAI,IAAI,CAACE,KAAK,CAACE,MAAM,CAACW,IAAI,GAAG,CAAC,EAAE;QAC3D,IAAI,CAACP,QAAQ,CAACQ,IAAI,CAACJ,OAAO,CAAC;QAC3B,IAAI,CAACK,YAAY,EAAE;QACnB,OAAO,IAAI;MACb;MACA,OAAO,KAAK;IACd;IACA,IAAI,CAACT,QAAQ,CAACQ,IAAI,CAACJ,OAAO,CAAC;IAC3B,IAAI,CAACQ,oBAAoB,EAAE;IAC3B,OAAO,IAAI;EACb;EACAE,QAAQA,CAACd,QAAqB;IAC5B,OAAO5B,IAAI,CAACiC,OAAO,CAAC,MAAK;MACvB,IAAI,IAAI,CAACX,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;QAC9B,OAAOvB,IAAI,CAAC2C,OAAO,CAACtD,KAAK,CAACuD,YAAY,CAAChB,QAAQ,CAAC,CAAC;MACnD;MACA,MAAMiB,SAAS,GAAG,IAAI,CAACC,mBAAmB,CAAClB,QAAQ,CAAC;MACpD,IAAIiB,SAAS,CAACX,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAOtB,SAAS;MAClB,CAAC,MAAM,IAAI,IAAI,CAACS,QAAQ,KAAK,UAAU,EAAE;QACvC,OAAOrB,IAAI,CAAC2C,OAAO,CAACtD,KAAK,CAAC0D,eAAe,CAACF,SAAS,CAAC,CAAC;MACvD;MACA,OAAO,IAAI,CAACG,mBAAmB,CAACH,SAAS,CAAC;IAC5C,CAAC,CAAC;EACJ;EACAI,cAAcA,CAACrB,QAAqB;IAClC,OAAOvC,KAAK,CAAC0D,eAAe,CAAC,IAAI,CAACD,mBAAmB,CAAClB,QAAQ,CAAC,CAAC;EAClE;EACAkB,mBAAmBA,CAAClB,QAAqB;IACvC,IAAI,IAAI,CAACN,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAOpC,GAAG,CAACyD,YAAY,CAAChB,QAAQ,CAAC;IACnC,CAAC,MAAM,IAAI,IAAI,CAACR,QAAQ,KAAK8B,MAAM,CAACC,iBAAiB,IAAI,IAAI,CAAC9B,QAAQ,KAAK,SAAS,EAAE;MACpF,IAAI,IAAI,CAACO,QAAQ,CAACM,MAAM,GAAG,CAAC,EAAE;QAC5B,IAAI,CAACL,aAAa,GAAGxC,KAAK,CAAC+D,SAAS,CAAC,IAAI,CAACvB,aAAa,EAAExC,KAAK,CAAC0D,eAAe,CAAC,IAAI,CAACnB,QAAQ,CAAC,CAAC;MAChG;MACA,IAAI,IAAI,CAACP,QAAQ,KAAK,SAAS,EAAE;QAC/B,IAAI,CAACQ,aAAa,GAAG,IAAI,CAACA,aAAa,CAACwB,IAAI,CAC1ChE,KAAK,CAAC+D,SAAS,CAAC/D,KAAK,CAACuD,YAAY,CAAChB,QAAQ,CAAC,CAAC,EAC7CvC,KAAK,CAACiE,SAAS,CAAC,IAAI,CAAClC,QAAQ,CAAC,CAC/B;MACH,CAAC,MAAM,IAAI/B,KAAK,CAACkE,OAAO,CAAC3B,QAAQ,CAAC,EAAE;QAClC,IAAI,CAACC,aAAa,GAAGxC,KAAK,CAAC+D,SAAS,CAAC,IAAI,CAACvB,aAAa,EAAED,QAAQ,CAAC;MACpE,CAAC,MAAM;QACL,IAAI,CAACA,QAAQ,GAAGzC,GAAG,CAACyD,YAAY,CAAChB,QAAQ,CAAC;MAC5C;MACA,IAAI,CAACY,oBAAoB,EAAE;MAC3B,OAAO,EAAE;IACX;IACA,MAAMgB,IAAI,GAAG,IAAI,CAACpC,QAAQ,IAAI,CAAC,GAC3B,IAAI,CAACE,KAAK,CAACE,MAAM,CAACW,IAAI,GACtB,IAAI,CAACf,QAAQ,GAAG,IAAI,CAACQ,QAAQ,CAACM,MAAM,GAAG,IAAI,CAACL,aAAa,CAACK,MAAM;IACpE,IAAIsB,IAAI,KAAK,CAAC,EAAE;MACd,OAAOrE,GAAG,CAACyD,YAAY,CAAChB,QAAQ,CAAC;IACnC;IACA,MAAMiB,SAAS,GAAa,EAAE;IAC9B,IAAIY,CAAC,GAAG,CAAC;IACT,KAAK,MAAMzB,OAAO,IAAIJ,QAAQ,EAAE;MAC9B,IAAI6B,CAAC,GAAGD,IAAI,EAAE;QACZ,IAAI,CAAC5B,QAAQ,CAACQ,IAAI,CAACJ,OAAO,CAAC;MAC7B,CAAC,MAAM;QACLa,SAAS,CAACT,IAAI,CAACJ,OAAO,CAAC;MACzB;MACAyB,CAAC,EAAE;IACL;IACA,IAAI,CAACjB,oBAAoB,EAAE;IAC3B,OAAOK,SAAS;EAClB;EACAa,IAAIA,CAACC,KAAQ;IACX,OAAO,IAAI,CAACC,IAAI,CAAC5D,IAAI,CAAC6D,QAAQ,CAACF,KAAK,CAAC,CAAC;EACxC;EACAG,SAASA,CAACC,KAAe;IACvB,OAAO,IAAI,CAACH,IAAI,CAAC5D,IAAI,CAACgE,aAAa,CAACD,KAAK,CAAC,CAAC;EAC7C;EACAE,UAAUA,CAACC,IAAmB;IAC5B,IAAI,IAAI,CAAC5C,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAO,KAAK;IACd,CAAC,MAAM,IAAI,IAAI,CAACD,KAAK,CAACI,MAAM,CAACS,IAAI,KAAK,CAAC,IAAI,IAAI,CAACP,QAAQ,CAACM,MAAM,KAAK,CAAC,IAAI,IAAI,CAACL,aAAa,CAACK,MAAM,KAAK,CAAC,EAAE;MACxG,IAAI,CAACiC,QAAQ,CAACD,IAAI,CAAC;MACnB,OAAO,IAAI;IACb;IACA,IAAI,CAAC5C,KAAK,GAAG;MAAE,GAAG,IAAI,CAACA,KAAK;MAAEC,IAAI,EAAE,SAAS;MAAE2C;IAAI,CAAE;IACrD,OAAO,IAAI;EACb;EACAE,QAAQ,gBAAoBpE,IAAI,CAACqE,IAAI,CAAC,MAAK;IACzC,IAAI,IAAI,CAAC/C,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAO,IAAI;IACb;IACA,IAAI,CAACK,QAAQ,GAAG,EAAE;IAClB,IAAI,CAACC,aAAa,GAAGlB,KAAK;IAC1B,MAAMe,MAAM,GAAG,IAAI,CAACJ,KAAK,CAACI,MAAM;IAChC,IAAI,CAACyC,QAAQ,CAAC,IAAI,CAAC7C,KAAK,CAACC,IAAI,KAAK,MAAM,GAAGvB,IAAI,CAACsE,QAAQ,GAAG,IAAI,CAAChD,KAAK,CAAC4C,IAAI,CAAC;IAC3E,IAAIxC,MAAM,CAACS,IAAI,GAAG,CAAC,EAAE;MACnB,KAAK,MAAMoC,KAAK,IAAI7C,MAAM,EAAE;QAC1B,IAAI6C,KAAK,CAAChD,IAAI,KAAK,QAAQ,EAAE;UAC3BgD,KAAK,CAACC,MAAM,CAAC1D,SAAS,CAAC;QACzB,CAAC,MAAM;UACLyD,KAAK,CAACC,MAAM,CAACxE,IAAI,CAACa,WAAW,CAACxB,KAAK,CAAC0D,eAAe,CAACwB,KAAK,CAAC1B,SAAS,CAAC4B,KAAK,CAACF,KAAK,CAACG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5F;MACF;MACAhD,MAAM,CAACiD,KAAK,EAAE;IAChB;IACA,OAAO,IAAI;EACb,CAAC,CAAC;EACFf,IAAIA,CAACM,IAAmB;IACtB,OAAOlE,IAAI,CAACqE,IAAI,CAAC,MAAM,IAAI,CAACJ,UAAU,CAACC,IAAI,CAAC,CAAC;EAC/C;EACAU,GAAG,gBAAG,IAAI,CAAChB,IAAI,CAAC5D,IAAI,CAACsE,QAAQ,CAAC;EAC9BK,KAAK,gBAA8B3E,IAAI,CAACiC,OAAO,CAAC,MAAK;IACnD,IAAI,IAAI,CAACX,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAOvB,IAAI,CAAC6E,MAAM,CAAC,IAAI,CAACvD,KAAK,CAAC4C,IAAI,EAAEvD,KAAK,CAAC;IAC5C;IACA,MAAMiB,QAAQ,GAAG,IAAI,CAACkD,aAAa,EAAE;IACrC,IAAI,CAACC,eAAe,EAAE;IACtB,OAAO/E,IAAI,CAAC2C,OAAO,CAACf,QAAQ,CAAC;EAC/B,CAAC,CAAC;EACFoD,OAAO,gBAAkEhF,IAAI,CAACiC,OAAO,CAAC,MAAK;IACzF,IAAI,IAAI,CAACX,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAOvB,IAAI,CAAC6E,MAAM,CAAC,IAAI,CAACvD,KAAK,CAAC4C,IAAI,EAAElD,SAAS,CAAC;IAChD;IACA,MAAMY,QAAQ,GAAG,IAAI,CAACkD,aAAa,EAAE;IACrC,IAAIlD,QAAQ,CAACM,MAAM,KAAK,CAAC,EAAE;MACzB,OAAOlC,IAAI,CAACiF,QAAQ,CAAC,IAAI,CAACC,SAAS,EAAE,IAAI,CAACF,OAAO,CAAC;IACpD;IACA,OAAOhF,IAAI,CAAC2C,OAAO,CAAC,CAACf,QAAQ,EAAE,IAAI,CAACmD,eAAe,EAAE,CAAC,CAAC;EACzD,CAAC,CAAC;EACFI,KAAKA,CAACC,CAAS;IACb,OAAOpF,IAAI,CAACiC,OAAO,CAAC,MAAK;MACvB,IAAI,IAAI,CAACX,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;QAC9B,OAAOvB,IAAI,CAAC6E,MAAM,CAAC,IAAI,CAACvD,KAAK,CAAC4C,IAAI,EAAElD,SAAS,CAAC;MAChD,CAAC,MAAM,IAAIoE,CAAC,IAAI,CAAC,EAAE;QACjB,OAAOpF,IAAI,CAAC2C,OAAO,CAAC,CAAChC,KAAK,EAAE,KAAK,CAAC,CAAC;MACrC;MACAyE,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACF,CAAC,EAAE,IAAI,CAAChE,QAAQ,CAAC;MAC9B,IAAIQ,QAAwB;MAC5B,IAAIwD,CAAC,IAAI,IAAI,CAACvD,aAAa,CAACK,MAAM,EAAE;QAClCN,QAAQ,GAAGvC,KAAK,CAACkG,IAAI,CAAC,IAAI,CAAC1D,aAAa,EAAEuD,CAAC,CAAC;QAC5C,IAAI,CAACvD,aAAa,GAAGxC,KAAK,CAACmG,IAAI,CAAC,IAAI,CAAC3D,aAAa,EAAEuD,CAAC,CAAC;MACxD,CAAC,MAAM,IAAIA,CAAC,IAAI,IAAI,CAACxD,QAAQ,CAACM,MAAM,GAAG,IAAI,CAACL,aAAa,CAACK,MAAM,EAAE;QAChE,IAAI,CAACL,aAAa,GAAGxC,KAAK,CAAC+D,SAAS,CAAC,IAAI,CAACvB,aAAa,EAAExC,KAAK,CAAC0D,eAAe,CAAC,IAAI,CAACnB,QAAQ,CAAC,CAAC;QAC9F,IAAI,CAACA,QAAQ,GAAG,EAAE;QAClBA,QAAQ,GAAGvC,KAAK,CAACkG,IAAI,CAAC,IAAI,CAAC1D,aAAa,EAAEuD,CAAC,CAAC;QAC5C,IAAI,CAACvD,aAAa,GAAGxC,KAAK,CAACmG,IAAI,CAAC,IAAI,CAAC3D,aAAa,EAAEuD,CAAC,CAAC;MACxD,CAAC,MAAM;QACL,OAAOpF,IAAI,CAACiF,QAAQ,CAAC,IAAI,CAACC,SAAS,EAAE,IAAI,CAACC,KAAK,CAACC,CAAC,CAAC,CAAC;MACrD;MACA,OAAOpF,IAAI,CAAC2C,OAAO,CAAC,CAACf,QAAQ,EAAE,IAAI,CAACmD,eAAe,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;EACJ;EACAxC,UAAUA,CAAA;IACR,IAAI,IAAI,CAACjB,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAOvB,IAAI,CAACyF,YAAY,CAAC,IAAI,CAACnE,KAAK,CAAC4C,IAAI,EAAElE,IAAI,CAAC6D,QAAQ,CAAC,IAAIzE,sBAAsB,EAAE,CAAC,CAAC;IACxF;IACA,IAAI4C,OAAU;IACd,IAAI,IAAI,CAACH,aAAa,CAACK,MAAM,GAAG,CAAC,EAAE;MACjCF,OAAO,GAAG3C,KAAK,CAACqG,UAAU,CAAC,IAAI,CAAC7D,aAAa,CAAC;MAC9C,IAAI,CAACA,aAAa,GAAGxC,KAAK,CAACmG,IAAI,CAAC,IAAI,CAAC3D,aAAa,EAAE,CAAC,CAAC;IACxD,CAAC,MAAM,IAAI,IAAI,CAACD,QAAQ,CAACM,MAAM,GAAG,CAAC,EAAE;MACnCF,OAAO,GAAG,IAAI,CAACJ,QAAQ,CAAC,CAAC,CAAC;MAC1B,IAAI,CAACC,aAAa,GAAGxC,KAAK,CAACmG,IAAI,CAACnG,KAAK,CAAC0D,eAAe,CAAC,IAAI,CAACnB,QAAQ,CAAC,EAAE,CAAC,CAAC;MACxE,IAAI,CAACA,QAAQ,GAAG,EAAE;IACpB,CAAC,MAAM,IAAI,IAAI,CAACR,QAAQ,IAAI,CAAC,IAAI,IAAI,CAACE,KAAK,CAACI,MAAM,CAACS,IAAI,GAAG,CAAC,EAAE;MAC3D,IAAI,CAACf,QAAQ,GAAG,CAAC;MACjB,IAAI,CAAC2D,eAAe,EAAE;MACtB,IAAI,CAAC3D,QAAQ,GAAG,CAAC;MACjB,OAAO,IAAI,CAACQ,QAAQ,CAACM,MAAM,GAAG,CAAC,GAAGlC,IAAI,CAACa,WAAW,CAAC,IAAI,CAACe,QAAQ,CAAC+D,GAAG,EAAG,CAAC,GAAGC,SAAS;IACtF,CAAC,MAAM;MACL,OAAOA,SAAS;IAClB;IACA,IAAI,CAACb,eAAe,EAAE;IACtB,OAAO/E,IAAI,CAACa,WAAW,CAACmB,OAAO,CAAC;EAClC;EACAuD,IAAI,gBAA0CvF,IAAI,CAACiC,OAAO,CAAC,MACzD,IAAI,CAACM,UAAU,EAAE,IAAIvC,IAAI,CAACiF,QAAQ,CAAC,IAAI,CAACC,SAAS,EAAE,IAAI,CAACK,IAAI,CAAC,CAC9D;EACDM,KAAK,gBAAoB7F,IAAI,CAAC8F,cAAc,CAAWtB,MAAM,IAAI;IAC/D,IAAI,IAAI,CAAClD,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAOiD,MAAM,CAAC,IAAI,CAAClD,KAAK,CAAC4C,IAAI,CAAC;IAChC;IACA,IAAI,CAAC5C,KAAK,CAACK,QAAQ,CAACoE,GAAG,CAACvB,MAAM,CAAC;IAC/B,OAAOxE,IAAI,CAACqE,IAAI,CAAC,MAAK;MACpB,IAAI,IAAI,CAAC/C,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;QAC9B,IAAI,CAACD,KAAK,CAACK,QAAQ,CAACqE,MAAM,CAACxB,MAAM,CAAC;MACpC;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EACFyB,UAAUA,CAAA;IACR,MAAM9D,IAAI,GAAG,IAAI,CAACP,QAAQ,CAACM,MAAM,GAAG,IAAI,CAACL,aAAa,CAACK,MAAM;IAC7D,OAAO,IAAI,CAACZ,KAAK,CAACC,IAAI,KAAK,MAAM,GAAG7B,MAAM,CAACwG,IAAI,EAAE,GAAGxG,MAAM,CAACyG,IAAI,CAAChE,IAAI,CAAC;EACvE;EACAA,IAAI,gBAAGnC,IAAI,CAACqE,IAAI,CAAC,MAAM,IAAI,CAAC4B,UAAU,EAAE,CAAC;EAEzCG,MAAMA,CAAA;IACJ,OAAO,IAAI,CAACpB,OAAO;EACrB;EACA3B,IAAIA,CAAA;IACF,OAAO1D,aAAa,CAAC,IAAI,EAAE0G,SAAS,CAAC;EACvC;EACAC,MAAMA,CAAA;IACJ,OAAO;MACLC,GAAG,EAAE,gBAAgB;MACrBjF,KAAK,EAAE,IAAI,CAACA,KAAK,CAACC,IAAI;MACtBY,IAAI,EAAE,IAAI,CAAC8D,UAAU,EAAE,CAACK,MAAM;KAC/B;EACH;EACAE,QAAQA,CAAA;IACN,OAAOhH,WAAW,CAACiH,MAAM,CAAC,IAAI,CAAC;EACjC;EACA,CAACjH,WAAW,CAACkH,iBAAiB,IAAC;IAC7B,OAAOlH,WAAW,CAACiH,MAAM,CAAC,IAAI,CAAC;EACjC;EAEQnE,oBAAoBA,CAACN,OAAU;IACrC,OAAOhC,IAAI,CAAC8F,cAAc,CAAWtB,MAAM,IAAI;MAC7C,IAAI,IAAI,CAAClD,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;QAC9B,OAAOiD,MAAM,CAAC1D,SAAS,CAAC;MAC1B;MACA,MAAMyD,KAAK,GAAkB;QAAEhD,IAAI,EAAE,QAAQ;QAAES,OAAO;QAAEwC;MAAM,CAAE;MAChE,IAAI,CAAClD,KAAK,CAACI,MAAM,CAACqE,GAAG,CAACxB,KAAK,CAAC;MAC5B,OAAOvE,IAAI,CAACqE,IAAI,CAAC,MAAK;QACpB,IAAI,IAAI,CAAC/C,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;UAC9B,IAAI,CAACD,KAAK,CAACI,MAAM,CAACsE,MAAM,CAACzB,KAAK,CAAC;QACjC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EACQvB,mBAAmBA,CAACH,SAAmB;IAC7C,OAAO7C,IAAI,CAAC8F,cAAc,CAAkBtB,MAAM,IAAI;MACpD,IAAI,IAAI,CAAClD,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;QAC9B,OAAOiD,MAAM,CAACxE,IAAI,CAACa,WAAW,CAACxB,KAAK,CAAC0D,eAAe,CAACF,SAAS,CAAC,CAAC,CAAC;MACnE;MACA,MAAM0B,KAAK,GAAkB;QAAEhD,IAAI,EAAE,OAAO;QAAEsB,SAAS;QAAE6B,MAAM,EAAE,CAAC;QAAEF;MAAM,CAAE;MAC5E,IAAI,CAAClD,KAAK,CAACI,MAAM,CAACqE,GAAG,CAACxB,KAAK,CAAC;MAC5B,OAAOvE,IAAI,CAACqE,IAAI,CAAC,MAAK;QACpB,IAAI,IAAI,CAAC/C,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;UAC9B,IAAI,CAACD,KAAK,CAACI,MAAM,CAACsE,MAAM,CAACzB,KAAK,CAAC;QACjC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EACQQ,eAAeA,CAAA;IACrB,IAAI,IAAI,CAACzD,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAO,IAAI,CAACD,KAAK,CAAC4C,IAAI,CAAC3C,IAAI,KAAK,SAAS;IAC3C,CAAC,MAAM,IAAI,IAAI,CAACD,KAAK,CAACI,MAAM,CAACS,IAAI,KAAK,CAAC,EAAE;MACvC,IAAI,IAAI,CAACb,KAAK,CAACC,IAAI,KAAK,SAAS,IAAI,IAAI,CAACK,QAAQ,CAACM,MAAM,KAAK,CAAC,IAAI,IAAI,CAACL,aAAa,CAACK,MAAM,KAAK,CAAC,EAAE;QAClG,IAAI,CAACiC,QAAQ,CAAC,IAAI,CAAC7C,KAAK,CAAC4C,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC5C,KAAK,CAAC4C,IAAI,CAAC3C,IAAI,KAAK,SAAS;MAC3C;MACA,OAAO,KAAK;IACd;IACA,IAAI6D,CAAC,GAAG,IAAI,CAAChE,QAAQ,GAAG,IAAI,CAACQ,QAAQ,CAACM,MAAM,GAAG,IAAI,CAACL,aAAa,CAACK,MAAM;IACxE,KAAK,MAAMqC,KAAK,IAAI,IAAI,CAACjD,KAAK,CAACI,MAAM,EAAE;MACrC,IAAI0D,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,MACpB,IAAIb,KAAK,CAAChD,IAAI,KAAK,QAAQ,EAAE;QAChC,IAAI,CAACK,QAAQ,CAACQ,IAAI,CAACmC,KAAK,CAACvC,OAAO,CAAC;QACjCoD,CAAC,EAAE;QACHb,KAAK,CAACC,MAAM,CAACzD,QAAQ,CAAC;QACtB,IAAI,CAACO,KAAK,CAACI,MAAM,CAACsE,MAAM,CAACzB,KAAK,CAAC;MACjC,CAAC,MAAM;QACL,OAAOA,KAAK,CAACG,MAAM,GAAGH,KAAK,CAAC1B,SAAS,CAACX,MAAM,EAAEqC,KAAK,CAACG,MAAM,EAAE,EAAE;UAC5D,IAAIU,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK;UACzB,IAAI,CAACxD,QAAQ,CAACQ,IAAI,CAACmC,KAAK,CAAC1B,SAAS,CAAC0B,KAAK,CAACG,MAAM,CAAC,CAAC;UACjDU,CAAC,EAAE;QACL;QACAb,KAAK,CAACC,MAAM,CAAC5D,SAAS,CAAC;QACvB,IAAI,CAACU,KAAK,CAACI,MAAM,CAACsE,MAAM,CAACzB,KAAK,CAAC;MACjC;IACF;IACA,OAAO,KAAK;EACd;EACQW,SAAS,gBAAGlF,IAAI,CAAC8F,cAAc,CAAWtB,MAAM,IAAI;IAC1D,IAAI,IAAI,CAAClD,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B,OAAOiD,MAAM,CAAC,IAAI,CAAClD,KAAK,CAAC4C,IAAI,CAAC;IAChC;IACA,IAAI,CAAC5C,KAAK,CAACE,MAAM,CAACuE,GAAG,CAACvB,MAAM,CAAC;IAC7B,OAAOxE,IAAI,CAACqE,IAAI,CAAC,MAAK;MACpB,IAAI,IAAI,CAAC/C,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;QAC9B,IAAI,CAACD,KAAK,CAACE,MAAM,CAACwE,MAAM,CAACxB,MAAM,CAAC;MAClC;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEMmC,eAAe,GAAG,KAAK;EACvBnE,oBAAoBA,CAAA;IAC1B,IAAI,IAAI,CAACmE,eAAe,EAAE;MACxB;IACF;IACA,IAAI,CAACA,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACxF,SAAS,CAACyF,YAAY,CAAC,IAAI,CAACvE,YAAY,EAAE,CAAC,CAAC;EACnD;EACQA,YAAY,GAAGA,CAAA,KAAK;IAC1B,IAAI,CAACsE,eAAe,GAAG,KAAK;IAC5B,IAAI,IAAI,CAACrF,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B;IACF,CAAC,MAAM,IAAI,IAAI,CAACD,KAAK,CAACE,MAAM,CAACW,IAAI,KAAK,CAAC,EAAE;MACvC;IACF;IACA,MAAM0E,KAAK,GAAGpH,QAAQ,CAACiG,UAAU,CAAC,IAAI,CAACpE,KAAK,CAACE,MAAM,CAAC;IACpD,IAAI,CAACF,KAAK,CAACE,MAAM,CAACwE,MAAM,CAACa,KAAK,CAAC;IAC/BA,KAAK,CAAC7G,IAAI,CAACsE,QAAQ,CAAC;EACtB,CAAC;EAEOQ,aAAaA,CAAA;IACnB,IAAI,IAAI,CAACjD,aAAa,CAACK,MAAM,GAAG,CAAC,EAAE;MACjC,MAAMN,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACM,MAAM,GAAG,CAAC,GACvC7C,KAAK,CAAC+D,SAAS,CAAC,IAAI,CAACvB,aAAa,EAAExC,KAAK,CAAC0D,eAAe,CAAC,IAAI,CAACnB,QAAQ,CAAC,CAAC,GACzE,IAAI,CAACC,aAAa;MACpB,IAAI,CAACA,aAAa,GAAGlB,KAAK;MAC1B,IAAI,CAACiB,QAAQ,GAAG,EAAE;MAClB,OAAOA,QAAQ;IACjB,CAAC,MAAM,IAAI,IAAI,CAACA,QAAQ,CAACM,MAAM,GAAG,CAAC,EAAE;MACnC,MAAMN,QAAQ,GAAGvC,KAAK,CAAC0D,eAAe,CAAC,IAAI,CAACnB,QAAQ,CAAC;MACrD,IAAI,CAACA,QAAQ,GAAG,EAAE;MAClB,OAAOA,QAAQ;IACjB,CAAC,MAAM,IAAI,IAAI,CAACN,KAAK,CAACC,IAAI,KAAK,MAAM,IAAI,IAAI,CAACD,KAAK,CAACI,MAAM,CAACS,IAAI,GAAG,CAAC,EAAE;MACnE,IAAI,CAACf,QAAQ,GAAG,CAAC;MACjB,IAAI,CAAC2D,eAAe,EAAE;MACtB,IAAI,CAAC3D,QAAQ,GAAG,CAAC;MACjB,OAAO/B,KAAK,CAACyH,EAAE,CAAC,IAAI,CAAClF,QAAQ,CAAC+D,GAAG,EAAG,CAAC;IACvC;IACA,OAAOhF,KAAK;EACd;EAEQwD,QAAQA,CAACD,IAAmB;IAClC,IAAI,IAAI,CAAC5C,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;MAC9B;IACF;IACA,MAAMwF,SAAS,GAAG,IAAI,CAACzF,KAAK;IAC5B,IAAI,CAACA,KAAK,GAAG;MAAEC,IAAI,EAAE,MAAM;MAAE2C;IAAI,CAAE;IACnC,KAAK,MAAM2C,KAAK,IAAIE,SAAS,CAACvF,MAAM,EAAE;MACpCqF,KAAK,CAAC3C,IAAI,CAAC;IACb;IACA6C,SAAS,CAACvF,MAAM,CAACmD,KAAK,EAAE;IACxB,KAAK,MAAMqC,OAAO,IAAID,SAAS,CAACpF,QAAQ,EAAE;MACxCqF,OAAO,CAAC9C,IAAI,CAAC;IACf;IACA6C,SAAS,CAACpF,QAAQ,CAACgD,KAAK,EAAE;EAC5B;;AAGF;AACA,OAAO,MAAMsC,IAAI,GACf7F,QAGa,IAEbpB,IAAI,CAACkH,gBAAgB,CAAEC,KAAK,IAC1BnH,IAAI,CAAC2C,OAAO,CACV,IAAI1B,WAAW,CACbkG,KAAK,CAACC,gBAAgB,EACtB,OAAOhG,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ,EAAEA,QAAQ,IAAI8B,MAAM,CAACC,iBAAiB,EACxF,OAAO/B,QAAQ,KAAK,QAAQ,GAAG,SAAS,GAAGA,QAAQ,EAAEC,QAAQ,IAAI,SAAS,CAC3E,CACF,CACF;AAEH;AACA,OAAO,MAAMgG,IAAI,gBAQb9H,IAAI,CACN,CAAC,EACD,CACE+H,MAA0B,EAC1BC,IAAuB,KAEvBvH,IAAI,CAACwH,mBAAmB,CAAEC,OAAO,IAC/BzH,IAAI,CAAC0H,gBAAgB,CAACD,OAAO,CAACH,MAAM,CAAC,EAAE;EACrCK,SAAS,EAAG5D,KAAK,IAAKwD,IAAI,CAACzD,SAAS,CAACC,KAAK,CAAC;EAC3C6D,SAAS,EAAGC,CAAC,IAAKN,IAAI,CAAC3C;CACxB,CAAC,CACH,CACJ;AAED;AACA,OAAO,MAAMkD,SAAS,GAAUP,IAA+B,IAAyC;EACtG,MAAMQ,IAAI,GAAwChI,WAAW,CAACiI,OAAO,CAACT,IAAI,CAACvC,OAAO,EAAE,CAAC,CAACpD,QAAQ,EAAEgC,IAAI,CAAC,KACnGA,IAAI,GACAhC,QAAQ,CAACM,MAAM,KAAK,CAAC,GAAGnC,WAAW,CAACkI,IAAI,GAAGlI,WAAW,CAACmI,KAAK,CAACtG,QAAQ,CAAC,GACtE/B,OAAO,CAACoF,QAAQ,CAAClF,WAAW,CAACmI,KAAK,CAACtG,QAAQ,CAAC,EAAEmG,IAAI,CAAC,CAAC;EAC1D,OAAOA,IAAI;AACb,CAAC;AAED;AACA,OAAO,MAAMI,QAAQ,GAAUZ,IAA+B,IAAmBpH,MAAM,CAACiI,WAAW,CAACN,SAAS,CAACP,IAAI,CAAC,CAAC;AAEpH;AACA,OAAO,MAAMc,UAAU,gBAYnB9I,IAAI,CAAE+I,IAAI,IAAKnI,MAAM,CAACoI,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3Cf,IAAqB,EACrBiB,OAGC,KAEDxI,IAAI,CAACyI,GAAG,CACNvI,YAAY,CAACwI,cAAc,CACzBzB,IAAI,CAAOuB,OAAO,CAAC,EAClBG,OAAO,IAAKA,OAAO,CAACvE,QAAQ,CAC9B,EACAuE,OAAO,IAAI;EACV,MAAMC,MAAM,GAA6C7I,WAAW,CAAC8I,aAAa,CAAC;IACjFC,OAAO,EAAGC,KAAqB,IAAKhJ,WAAW,CAACiI,OAAO,CAACW,OAAO,CAACjG,QAAQ,CAACqG,KAAK,CAAC,EAAE,MAAMH,MAAM,CAAC;IAC9FjB,SAAS,EAAG5D,KAAe,IAAK4E,OAAO,CAAC7E,SAAS,CAACC,KAAK,CAAC;IACxDiF,MAAM,EAAEA,CAAA,KAAML,OAAO,CAAC/D;GACvB,CAAC;EACF,OAAO/E,OAAO,CAACoJ,gBAAgB,CAAEC,KAAK,IACpC/I,MAAM,CAAC2H,SAAS,CAACP,IAAI,CAAC,CAAClE,IAAI,CACzBtD,WAAW,CAACoJ,MAAM,CAACP,MAAM,CAAC,EAC1B9I,eAAe,CAACsJ,KAAK,CAACF,KAAK,CAAC,EAC5BjJ,QAAQ,CAACoJ,MAAM,CAACH,KAAK,CAAC,CACvB,CACF;AACH,CAAC,CACF,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Cron.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type * as DateTime from "./DateTime.js"
|
|
|
6
6
|
import * as Either from "./Either.js"
|
|
7
7
|
import * as Equal from "./Equal.js"
|
|
8
8
|
import * as equivalence from "./Equivalence.js"
|
|
9
|
-
import { dual, pipe } from "./Function.js"
|
|
9
|
+
import { constVoid, dual, pipe } from "./Function.js"
|
|
10
10
|
import * as Hash from "./Hash.js"
|
|
11
11
|
import { format, type Inspectable, NodeInspectSymbol } from "./Inspectable.js"
|
|
12
12
|
import * as dateTime from "./internal/dateTime.js"
|
|
@@ -41,9 +41,25 @@ export interface Cron extends Pipeable, Equal.Equal, Inspectable {
|
|
|
41
41
|
readonly days: ReadonlySet<number>
|
|
42
42
|
readonly months: ReadonlySet<number>
|
|
43
43
|
readonly weekdays: ReadonlySet<number>
|
|
44
|
+
/** @internal */
|
|
45
|
+
readonly first: {
|
|
46
|
+
readonly minute: number
|
|
47
|
+
readonly hour: number
|
|
48
|
+
readonly day: number
|
|
49
|
+
readonly month: number
|
|
50
|
+
readonly weekday: number
|
|
51
|
+
}
|
|
52
|
+
/** @internal */
|
|
53
|
+
readonly next: {
|
|
54
|
+
readonly minute: ReadonlyArray<number | undefined>
|
|
55
|
+
readonly hour: ReadonlyArray<number | undefined>
|
|
56
|
+
readonly day: ReadonlyArray<number | undefined>
|
|
57
|
+
readonly month: ReadonlyArray<number | undefined>
|
|
58
|
+
readonly weekday: ReadonlyArray<number | undefined>
|
|
59
|
+
}
|
|
44
60
|
}
|
|
45
61
|
|
|
46
|
-
const CronProto
|
|
62
|
+
const CronProto = {
|
|
47
63
|
[TypeId]: TypeId,
|
|
48
64
|
[Equal.symbol](this: Cron, that: unknown) {
|
|
49
65
|
return isCron(that) && equals(this, that)
|
|
@@ -79,7 +95,7 @@ const CronProto: Omit<Cron, "minutes" | "hours" | "days" | "months" | "weekdays"
|
|
|
79
95
|
pipe() {
|
|
80
96
|
return pipeArguments(this, arguments)
|
|
81
97
|
}
|
|
82
|
-
}
|
|
98
|
+
}
|
|
83
99
|
|
|
84
100
|
/**
|
|
85
101
|
* Checks if a given value is a `Cron` instance.
|
|
@@ -99,14 +115,7 @@ export const isCron = (u: unknown): u is Cron => hasProperty(u, TypeId)
|
|
|
99
115
|
* @since 2.0.0
|
|
100
116
|
* @category constructors
|
|
101
117
|
*/
|
|
102
|
-
export const make = ({
|
|
103
|
-
days,
|
|
104
|
-
hours,
|
|
105
|
-
minutes,
|
|
106
|
-
months,
|
|
107
|
-
tz,
|
|
108
|
-
weekdays
|
|
109
|
-
}: {
|
|
118
|
+
export const make = (values: {
|
|
110
119
|
readonly minutes: Iterable<number>
|
|
111
120
|
readonly hours: Iterable<number>
|
|
112
121
|
readonly days: Iterable<number>
|
|
@@ -115,15 +124,56 @@ export const make = ({
|
|
|
115
124
|
readonly tz?: DateTime.TimeZone | undefined
|
|
116
125
|
}): Cron => {
|
|
117
126
|
const o: Mutable<Cron> = Object.create(CronProto)
|
|
118
|
-
o.minutes = new Set(Arr.sort(minutes, N.Order))
|
|
119
|
-
o.hours = new Set(Arr.sort(hours, N.Order))
|
|
120
|
-
o.days = new Set(Arr.sort(days, N.Order))
|
|
121
|
-
o.months = new Set(Arr.sort(months, N.Order))
|
|
122
|
-
o.weekdays = new Set(Arr.sort(weekdays, N.Order))
|
|
123
|
-
o.tz = Option.fromNullable(tz)
|
|
127
|
+
o.minutes = new Set(Arr.sort(values.minutes, N.Order))
|
|
128
|
+
o.hours = new Set(Arr.sort(values.hours, N.Order))
|
|
129
|
+
o.days = new Set(Arr.sort(values.days, N.Order))
|
|
130
|
+
o.months = new Set(Arr.sort(values.months, N.Order))
|
|
131
|
+
o.weekdays = new Set(Arr.sort(values.weekdays, N.Order))
|
|
132
|
+
o.tz = Option.fromNullable(values.tz)
|
|
133
|
+
|
|
134
|
+
const minutes = Array.from(o.minutes)
|
|
135
|
+
const hours = Array.from(o.hours)
|
|
136
|
+
const days = Array.from(o.days)
|
|
137
|
+
const months = Array.from(o.months)
|
|
138
|
+
const weekdays = Array.from(o.weekdays)
|
|
139
|
+
|
|
140
|
+
o.first = {
|
|
141
|
+
minute: minutes[0] ?? 0,
|
|
142
|
+
hour: hours[0] ?? 0,
|
|
143
|
+
day: days[0] ?? 1,
|
|
144
|
+
month: (months[0] ?? 1) - 1,
|
|
145
|
+
weekday: weekdays[0] ?? 0
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
o.next = {
|
|
149
|
+
minute: nextLookupTable(minutes, 60),
|
|
150
|
+
hour: nextLookupTable(hours, 24),
|
|
151
|
+
day: nextLookupTable(days, 32),
|
|
152
|
+
month: nextLookupTable(months, 13),
|
|
153
|
+
weekday: nextLookupTable(weekdays, 7)
|
|
154
|
+
}
|
|
155
|
+
|
|
124
156
|
return o
|
|
125
157
|
}
|
|
126
158
|
|
|
159
|
+
const nextLookupTable = (values: ReadonlyArray<number>, size: number): Array<number | undefined> => {
|
|
160
|
+
const result = new Array(size).fill(undefined)
|
|
161
|
+
if (values.length === 0) {
|
|
162
|
+
return result
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
let current: number | undefined = undefined
|
|
166
|
+
let index = values.length - 1
|
|
167
|
+
for (let i = size - 1; i >= 0; i--) {
|
|
168
|
+
while (index >= 0 && values[index] >= i) {
|
|
169
|
+
current = values[index--]
|
|
170
|
+
}
|
|
171
|
+
result[i] = current
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
return result
|
|
175
|
+
}
|
|
176
|
+
|
|
127
177
|
/**
|
|
128
178
|
* @since 2.0.0
|
|
129
179
|
* @category symbol
|
|
@@ -149,7 +199,7 @@ export interface ParseError {
|
|
|
149
199
|
readonly input?: string
|
|
150
200
|
}
|
|
151
201
|
|
|
152
|
-
const ParseErrorProto
|
|
202
|
+
const ParseErrorProto = {
|
|
153
203
|
_tag: "ParseError",
|
|
154
204
|
[ParseErrorTypeId]: ParseErrorTypeId
|
|
155
205
|
}
|
|
@@ -231,9 +281,9 @@ export const parse = (cron: string, tz?: DateTime.TimeZone): Either.Either<Cron,
|
|
|
231
281
|
* @since 2.0.0
|
|
232
282
|
*/
|
|
233
283
|
export const match = (cron: Cron, date: DateTime.DateTime.Input): boolean => {
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
|
|
284
|
+
const parts = dateTime.unsafeMakeZoned(date, {
|
|
285
|
+
timeZone: Option.getOrUndefined(cron.tz)
|
|
286
|
+
}).pipe(dateTime.toParts)
|
|
237
287
|
|
|
238
288
|
if (cron.minutes.size !== 0 && !cron.minutes.has(parts.minutes)) {
|
|
239
289
|
return false
|
|
@@ -262,6 +312,9 @@ export const match = (cron: Cron, date: DateTime.DateTime.Input): boolean => {
|
|
|
262
312
|
return cron.days.has(parts.day) || cron.weekdays.has(parts.weekDay)
|
|
263
313
|
}
|
|
264
314
|
|
|
315
|
+
const daysInMonth = (date: Date): number =>
|
|
316
|
+
new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth() + 1, 0)).getUTCDate()
|
|
317
|
+
|
|
265
318
|
/**
|
|
266
319
|
* Returns the next run `Date` for the given `Cron` instance.
|
|
267
320
|
*
|
|
@@ -285,66 +338,101 @@ export const match = (cron: Cron, date: DateTime.DateTime.Input): boolean => {
|
|
|
285
338
|
* @since 2.0.0
|
|
286
339
|
*/
|
|
287
340
|
export const next = (cron: Cron, now?: DateTime.DateTime.Input): Date => {
|
|
288
|
-
const
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
const restrictDays = days.size !== 0
|
|
293
|
-
const restrictMonths = months.size !== 0
|
|
294
|
-
const restrictWeekdays = weekdays.size !== 0
|
|
341
|
+
const tz = Option.getOrUndefined(cron.tz)
|
|
342
|
+
const zoned = dateTime.unsafeMakeZoned(now ?? new Date(), {
|
|
343
|
+
timeZone: tz
|
|
344
|
+
})
|
|
295
345
|
|
|
296
|
-
|
|
297
|
-
const
|
|
298
|
-
|
|
346
|
+
const utc = tz !== undefined && dateTime.isTimeZoneNamed(tz) && tz.id === "UTC"
|
|
347
|
+
const adjustDst = utc ? constVoid : (current: Date) => {
|
|
348
|
+
const adjusted = dateTime.unsafeMakeZoned(current, {
|
|
349
|
+
timeZone: zoned.zone,
|
|
350
|
+
adjustForTimeZone: true
|
|
351
|
+
}).pipe(dateTime.toDate)
|
|
352
|
+
|
|
353
|
+
// TODO: This implementation currently only skips forward when transitioning into daylight savings time.
|
|
354
|
+
const drift = current.getTime() - adjusted.getTime()
|
|
355
|
+
if (drift > 0) {
|
|
356
|
+
current.setTime(current.getTime() + drift)
|
|
357
|
+
}
|
|
358
|
+
}
|
|
299
359
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
// Increment by one minute to ensure we don't match the current date.
|
|
303
|
-
current.setUTCMinutes(current.getUTCMinutes() + 1)
|
|
304
|
-
current.setUTCSeconds(0)
|
|
305
|
-
current.setUTCMilliseconds(0)
|
|
360
|
+
const result = dateTime.mutate(zoned, (current) => {
|
|
361
|
+
current.setUTCMinutes(current.getUTCMinutes() + 1, 0, 0)
|
|
306
362
|
|
|
307
363
|
for (let i = 0; i < 10_000; i++) {
|
|
308
|
-
if (
|
|
309
|
-
current.
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
if (restrictDays && restrictWeekdays) {
|
|
317
|
-
if (!days.has(current.getUTCDate()) && !weekdays.has(current.getUTCDay())) {
|
|
318
|
-
current.setUTCDate(current.getUTCDate() + 1)
|
|
319
|
-
current.setUTCHours(0)
|
|
320
|
-
current.setUTCMinutes(0)
|
|
364
|
+
if (cron.minutes.size !== 0) {
|
|
365
|
+
const currentMinute = current.getUTCMinutes()
|
|
366
|
+
const nextMinute = cron.next.minute[currentMinute]
|
|
367
|
+
if (nextMinute === undefined) {
|
|
368
|
+
current.setUTCHours(current.getUTCHours() + 1, cron.first.minute)
|
|
369
|
+
adjustDst(current)
|
|
321
370
|
continue
|
|
322
371
|
}
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
current.setUTCHours(0)
|
|
327
|
-
current.setUTCMinutes(0)
|
|
372
|
+
if (nextMinute > currentMinute) {
|
|
373
|
+
current.setUTCMinutes(nextMinute)
|
|
374
|
+
adjustDst(current)
|
|
328
375
|
continue
|
|
329
376
|
}
|
|
330
|
-
}
|
|
331
|
-
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
if (cron.hours.size !== 0) {
|
|
380
|
+
const currentHour = current.getUTCHours()
|
|
381
|
+
const nextHour = cron.next.hour[currentHour]
|
|
382
|
+
if (nextHour === undefined) {
|
|
332
383
|
current.setUTCDate(current.getUTCDate() + 1)
|
|
333
|
-
current.setUTCHours(
|
|
334
|
-
current
|
|
384
|
+
current.setUTCHours(cron.first.hour, cron.first.minute)
|
|
385
|
+
adjustDst(current)
|
|
386
|
+
continue
|
|
387
|
+
}
|
|
388
|
+
if (nextHour > currentHour) {
|
|
389
|
+
current.setUTCHours(nextHour, cron.first.minute)
|
|
390
|
+
adjustDst(current)
|
|
335
391
|
continue
|
|
336
392
|
}
|
|
337
393
|
}
|
|
338
394
|
|
|
339
|
-
if (
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
395
|
+
if (cron.weekdays.size !== 0 || cron.days.size !== 0) {
|
|
396
|
+
let a: number = Infinity
|
|
397
|
+
let b: number = Infinity
|
|
398
|
+
|
|
399
|
+
if (cron.weekdays.size !== 0) {
|
|
400
|
+
const currentWeekday = current.getUTCDay()
|
|
401
|
+
const nextWeekday = cron.next.weekday[currentWeekday]
|
|
402
|
+
a = nextWeekday === undefined ? 7 - currentWeekday + cron.first.weekday : nextWeekday - currentWeekday
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
if (cron.days.size !== 0 && a !== 0) {
|
|
406
|
+
const currentDay = current.getUTCDate()
|
|
407
|
+
const nextDay = cron.next.day[currentDay]
|
|
408
|
+
b = nextDay === undefined ? daysInMonth(current) - currentDay + cron.first.day : nextDay - currentDay
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
const addDays = Math.min(a, b)
|
|
412
|
+
if (addDays !== 0) {
|
|
413
|
+
current.setUTCDate(current.getUTCDate() + addDays)
|
|
414
|
+
current.setUTCHours(cron.first.hour, cron.first.minute)
|
|
415
|
+
adjustDst(current)
|
|
416
|
+
continue
|
|
417
|
+
}
|
|
343
418
|
}
|
|
344
419
|
|
|
345
|
-
if (
|
|
346
|
-
current.
|
|
347
|
-
|
|
420
|
+
if (cron.months.size !== 0) {
|
|
421
|
+
const currentMonth = current.getUTCMonth() + 1
|
|
422
|
+
const nextMonth = cron.next.month[currentMonth]
|
|
423
|
+
if (nextMonth === undefined) {
|
|
424
|
+
current.setUTCFullYear(current.getUTCFullYear() + 1)
|
|
425
|
+
current.setUTCMonth(cron.first.month, cron.first.day)
|
|
426
|
+
current.setUTCHours(cron.first.hour, cron.first.minute)
|
|
427
|
+
adjustDst(current)
|
|
428
|
+
continue
|
|
429
|
+
}
|
|
430
|
+
if (nextMonth > currentMonth) {
|
|
431
|
+
current.setUTCMonth(nextMonth - 1, cron.first.day)
|
|
432
|
+
current.setUTCHours(cron.first.hour, cron.first.minute)
|
|
433
|
+
adjustDst(current)
|
|
434
|
+
continue
|
|
435
|
+
}
|
|
348
436
|
}
|
|
349
437
|
|
|
350
438
|
return
|
package/src/Function.ts
CHANGED
|
@@ -517,7 +517,7 @@ export const compose: {
|
|
|
517
517
|
* The `absurd` function is a stub for cases where a value of type `never` is encountered in your code,
|
|
518
518
|
* meaning that it should be impossible for this code to be executed.
|
|
519
519
|
*
|
|
520
|
-
* This function is particularly when it's necessary to specify that certain cases are impossible.
|
|
520
|
+
* This function is particularly useful when it's necessary to specify that certain cases are impossible.
|
|
521
521
|
*
|
|
522
522
|
* @since 2.0.0
|
|
523
523
|
*/
|
package/src/internal/core.ts
CHANGED
|
@@ -528,6 +528,14 @@ export const unsafeAsync = <A, E = never, R = never>(
|
|
|
528
528
|
return onInterrupt(effect, (_) => isEffect(cancelerRef) ? cancelerRef : void_)
|
|
529
529
|
}
|
|
530
530
|
|
|
531
|
+
/* @internal */
|
|
532
|
+
export const asyncInterrupt = <A, E = never, R = never>(
|
|
533
|
+
register: (
|
|
534
|
+
callback: (_: Effect.Effect<A, E, R>) => void
|
|
535
|
+
) => void | Effect.Effect<void, never, R>,
|
|
536
|
+
blockingOn: FiberId.FiberId = FiberId.none
|
|
537
|
+
): Effect.Effect<A, E, R> => suspend(() => unsafeAsync(register, blockingOn))
|
|
538
|
+
|
|
531
539
|
/* @internal */
|
|
532
540
|
export const async = <A, E = never, R = never>(
|
|
533
541
|
resume: (
|
|
@@ -47,7 +47,7 @@ class Semaphore {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
readonly take = (n: number): Effect.Effect<number> =>
|
|
50
|
-
core.
|
|
50
|
+
core.asyncInterrupt<number>((resume) => {
|
|
51
51
|
if (this.free < n) {
|
|
52
52
|
const observer = () => {
|
|
53
53
|
if (this.free < n) {
|
|
@@ -153,7 +153,7 @@ class Latch extends Effectable.Class<void> implements Effect.Latch {
|
|
|
153
153
|
}
|
|
154
154
|
return this.unsafeSchedule(fiber)
|
|
155
155
|
})
|
|
156
|
-
await = core.
|
|
156
|
+
await = core.asyncInterrupt<void>((resume) => {
|
|
157
157
|
if (this.isOpen) {
|
|
158
158
|
return resume(core.void)
|
|
159
159
|
}
|
|
@@ -1132,7 +1132,7 @@ export class FiberRuntime<in out A, in out E = never> extends Effectable.Class<A
|
|
|
1132
1132
|
}
|
|
1133
1133
|
}
|
|
1134
1134
|
})
|
|
1135
|
-
return core.
|
|
1135
|
+
return core.unsafeAsync<void>((abortResume) => {
|
|
1136
1136
|
resume = (_: any) => {
|
|
1137
1137
|
abortResume(core.void)
|
|
1138
1138
|
}
|
package/src/internal/mailbox.ts
CHANGED
|
@@ -299,7 +299,7 @@ class MailboxImpl<A, E> extends Effectable.Class<readonly [messages: Chunk.Chunk
|
|
|
299
299
|
take: Effect<A, E | NoSuchElementException> = core.suspend(() =>
|
|
300
300
|
this.unsafeTake() ?? core.zipRight(this.awaitTake, this.take)
|
|
301
301
|
)
|
|
302
|
-
await: Effect<void, E> = core.
|
|
302
|
+
await: Effect<void, E> = core.asyncInterrupt<void, E>((resume) => {
|
|
303
303
|
if (this.state._tag === "Done") {
|
|
304
304
|
return resume(this.state.exit)
|
|
305
305
|
}
|
|
@@ -337,7 +337,7 @@ class MailboxImpl<A, E> extends Effectable.Class<readonly [messages: Chunk.Chunk
|
|
|
337
337
|
}
|
|
338
338
|
|
|
339
339
|
private offerRemainingSingle(message: A) {
|
|
340
|
-
return core.
|
|
340
|
+
return core.asyncInterrupt<boolean>((resume) => {
|
|
341
341
|
if (this.state._tag !== "Open") {
|
|
342
342
|
return resume(exitFalse)
|
|
343
343
|
}
|
|
@@ -351,7 +351,7 @@ class MailboxImpl<A, E> extends Effectable.Class<readonly [messages: Chunk.Chunk
|
|
|
351
351
|
})
|
|
352
352
|
}
|
|
353
353
|
private offerRemainingArray(remaining: Array<A>) {
|
|
354
|
-
return core.
|
|
354
|
+
return core.asyncInterrupt<Chunk.Chunk<A>>((resume) => {
|
|
355
355
|
if (this.state._tag !== "Open") {
|
|
356
356
|
return resume(core.exitSucceed(Chunk.unsafeFromArray(remaining)))
|
|
357
357
|
}
|
|
@@ -394,7 +394,7 @@ class MailboxImpl<A, E> extends Effectable.Class<readonly [messages: Chunk.Chunk
|
|
|
394
394
|
}
|
|
395
395
|
return false
|
|
396
396
|
}
|
|
397
|
-
private awaitTake = core.
|
|
397
|
+
private awaitTake = core.asyncInterrupt<void, E>((resume) => {
|
|
398
398
|
if (this.state._tag === "Done") {
|
|
399
399
|
return resume(this.state.exit)
|
|
400
400
|
}
|
package/src/internal/version.ts
CHANGED