@typed/fx 0.0.1
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/.editorconfig +14 -0
- package/.eslintcache +1 -0
- package/.eslintrc.cjs +60 -0
- package/.huskyrc +5 -0
- package/.lintstagedrc +5 -0
- package/.mocharc.json +6 -0
- package/.nvmrc +1 -0
- package/.pnpm-debug.log +20 -0
- package/.prettierrc.cjs +11 -0
- package/.tracing-plugin/plugin.cjs +100 -0
- package/.tracing-plugin/plugin.d.ts +10 -0
- package/.tracing-plugin/plugin.d.ts.map +1 -0
- package/.tracing-plugin/plugin.js.map +1 -0
- package/.tracing-plugin/vite.d.ts +10 -0
- package/.tracing-plugin/vite.d.ts.map +1 -0
- package/.tracing-plugin/vite.js +54 -0
- package/.tracing-plugin/vite.js.map +1 -0
- package/.vscode/settings.json +7 -0
- package/cjs/Atomic/Atomic.d.ts +56 -0
- package/cjs/Atomic/Atomic.d.ts.map +1 -0
- package/cjs/Atomic/Atomic.js +92 -0
- package/cjs/Atomic/Atomic.js.map +1 -0
- package/cjs/Atomic/AtomicCounter.d.ts +10 -0
- package/cjs/Atomic/AtomicCounter.d.ts.map +1 -0
- package/cjs/Atomic/AtomicCounter.js +14 -0
- package/cjs/Atomic/AtomicCounter.js.map +1 -0
- package/cjs/Atomic/index.d.ts +3 -0
- package/cjs/Atomic/index.d.ts.map +1 -0
- package/cjs/Atomic/index.js +19 -0
- package/cjs/Atomic/index.js.map +1 -0
- package/cjs/Cause/Cause.d.ts +169 -0
- package/cjs/Cause/Cause.d.ts.map +1 -0
- package/cjs/Cause/Cause.js +344 -0
- package/cjs/Cause/Cause.js.map +1 -0
- package/cjs/Cause/CauseError.d.ts +13 -0
- package/cjs/Cause/CauseError.d.ts.map +1 -0
- package/cjs/Cause/CauseError.js +73 -0
- package/cjs/Cause/CauseError.js.map +1 -0
- package/cjs/Cause/Renderer.d.ts +47 -0
- package/cjs/Cause/Renderer.d.ts.map +1 -0
- package/cjs/Cause/Renderer.js +235 -0
- package/cjs/Cause/Renderer.js.map +1 -0
- package/cjs/Cause/index.d.ts +2 -0
- package/cjs/Cause/index.d.ts.map +1 -0
- package/cjs/Cause/index.js +18 -0
- package/cjs/Cause/index.js.map +1 -0
- package/cjs/Cause/prettyStringify.d.ts +2 -0
- package/cjs/Cause/prettyStringify.d.ts.map +1 -0
- package/cjs/Cause/prettyStringify.js +11 -0
- package/cjs/Cause/prettyStringify.js.map +1 -0
- package/cjs/Clock/Clock.d.ts +26 -0
- package/cjs/Clock/Clock.d.ts.map +1 -0
- package/cjs/Clock/Clock.js +87 -0
- package/cjs/Clock/Clock.js.map +1 -0
- package/cjs/Clock/DateClock.d.ts +3 -0
- package/cjs/Clock/DateClock.d.ts.map +1 -0
- package/cjs/Clock/DateClock.js +11 -0
- package/cjs/Clock/DateClock.js.map +1 -0
- package/cjs/Clock/TestClock.d.ts +11 -0
- package/cjs/Clock/TestClock.d.ts.map +1 -0
- package/cjs/Clock/TestClock.js +19 -0
- package/cjs/Clock/TestClock.js.map +1 -0
- package/cjs/Clock/index.d.ts +4 -0
- package/cjs/Clock/index.d.ts.map +1 -0
- package/cjs/Clock/index.js +20 -0
- package/cjs/Clock/index.js.map +1 -0
- package/cjs/Disposable/Disposable.d.ts +25 -0
- package/cjs/Disposable/Disposable.d.ts.map +1 -0
- package/cjs/Disposable/Disposable.js +46 -0
- package/cjs/Disposable/Disposable.js.map +1 -0
- package/cjs/Disposable/index.d.ts +2 -0
- package/cjs/Disposable/index.d.ts.map +1 -0
- package/cjs/Disposable/index.js +18 -0
- package/cjs/Disposable/index.js.map +1 -0
- package/cjs/Duration/Duration.d.ts +27 -0
- package/cjs/Duration/Duration.d.ts.map +1 -0
- package/cjs/Duration/Duration.js +119 -0
- package/cjs/Duration/Duration.js.map +1 -0
- package/cjs/Duration/index.d.ts +2 -0
- package/cjs/Duration/index.d.ts.map +1 -0
- package/cjs/Duration/index.js +18 -0
- package/cjs/Duration/index.js.map +1 -0
- package/cjs/Env/Env.d.ts +8 -0
- package/cjs/Env/Env.d.ts.map +1 -0
- package/cjs/Env/Env.js +64 -0
- package/cjs/Env/Env.js.map +1 -0
- package/cjs/Env/index.d.ts +2 -0
- package/cjs/Env/index.d.ts.map +1 -0
- package/cjs/Env/index.js +18 -0
- package/cjs/Env/index.js.map +1 -0
- package/cjs/Exit/Exit.d.ts +21 -0
- package/cjs/Exit/Exit.d.ts.map +1 -0
- package/cjs/Exit/Exit.js +54 -0
- package/cjs/Exit/Exit.js.map +1 -0
- package/cjs/Exit/hkt.d.ts +17 -0
- package/cjs/Exit/hkt.d.ts.map +1 -0
- package/cjs/Exit/hkt.js +45 -0
- package/cjs/Exit/hkt.js.map +1 -0
- package/cjs/Exit/index.d.ts +3 -0
- package/cjs/Exit/index.d.ts.map +1 -0
- package/cjs/Exit/index.js +19 -0
- package/cjs/Exit/index.js.map +1 -0
- package/cjs/Fiber/Fiber.d.ts +36 -0
- package/cjs/Fiber/Fiber.d.ts.map +1 -0
- package/cjs/Fiber/Fiber.js +36 -0
- package/cjs/Fiber/Fiber.js.map +1 -0
- package/cjs/Fiber/index.d.ts +2 -0
- package/cjs/Fiber/index.d.ts.map +1 -0
- package/cjs/Fiber/index.js +18 -0
- package/cjs/Fiber/index.js.map +1 -0
- package/cjs/FiberContext/FiberContext.d.ts +22 -0
- package/cjs/FiberContext/FiberContext.d.ts.map +1 -0
- package/cjs/FiberContext/FiberContext.js +64 -0
- package/cjs/FiberContext/FiberContext.js.map +1 -0
- package/cjs/FiberContext/index.d.ts +2 -0
- package/cjs/FiberContext/index.d.ts.map +1 -0
- package/cjs/FiberContext/index.js +18 -0
- package/cjs/FiberContext/index.js.map +1 -0
- package/cjs/FiberId/FiberId.d.ts +46 -0
- package/cjs/FiberId/FiberId.d.ts.map +1 -0
- package/cjs/FiberId/FiberId.js +122 -0
- package/cjs/FiberId/FiberId.js.map +1 -0
- package/cjs/FiberId/index.d.ts +2 -0
- package/cjs/FiberId/index.d.ts.map +1 -0
- package/cjs/FiberId/index.js +18 -0
- package/cjs/FiberId/index.js.map +1 -0
- package/cjs/FiberRef/FiberRef.d.ts +38 -0
- package/cjs/FiberRef/FiberRef.d.ts.map +1 -0
- package/cjs/FiberRef/FiberRef.js +57 -0
- package/cjs/FiberRef/FiberRef.js.map +1 -0
- package/cjs/FiberRef/index.d.ts +3 -0
- package/cjs/FiberRef/index.d.ts.map +1 -0
- package/cjs/FiberRef/index.js +20 -0
- package/cjs/FiberRef/index.js.map +1 -0
- package/cjs/FiberRef/operations.d.ts +9 -0
- package/cjs/FiberRef/operations.d.ts.map +1 -0
- package/cjs/FiberRef/operations.js +20 -0
- package/cjs/FiberRef/operations.js.map +1 -0
- package/cjs/FiberRefs/FiberRefs.d.ts +19 -0
- package/cjs/FiberRefs/FiberRefs.d.ts.map +1 -0
- package/cjs/FiberRefs/FiberRefs.js +130 -0
- package/cjs/FiberRefs/FiberRefs.js.map +1 -0
- package/cjs/FiberRefs/index.d.ts +2 -0
- package/cjs/FiberRefs/index.d.ts.map +1 -0
- package/cjs/FiberRefs/index.js +18 -0
- package/cjs/FiberRefs/index.js.map +1 -0
- package/cjs/FiberRuntime/FiberRuntime.d.ts +154 -0
- package/cjs/FiberRuntime/FiberRuntime.d.ts.map +1 -0
- package/cjs/FiberRuntime/FiberRuntime.js +506 -0
- package/cjs/FiberRuntime/FiberRuntime.js.map +1 -0
- package/cjs/FiberRuntime/Frame.d.ts +14 -0
- package/cjs/FiberRuntime/Frame.d.ts.map +1 -0
- package/cjs/FiberRuntime/Frame.js +18 -0
- package/cjs/FiberRuntime/Frame.js.map +1 -0
- package/cjs/FiberRuntime/index.d.ts +2 -0
- package/cjs/FiberRuntime/index.d.ts.map +1 -0
- package/cjs/FiberRuntime/index.js +18 -0
- package/cjs/FiberRuntime/index.js.map +1 -0
- package/cjs/FiberStatus/index.d.ts +19 -0
- package/cjs/FiberStatus/index.d.ts.map +1 -0
- package/cjs/FiberStatus/index.js +24 -0
- package/cjs/FiberStatus/index.js.map +1 -0
- package/cjs/Finalizer/Finalizer.d.ts +39 -0
- package/cjs/Finalizer/Finalizer.d.ts.map +1 -0
- package/cjs/Finalizer/Finalizer.js +24 -0
- package/cjs/Finalizer/Finalizer.js.map +1 -0
- package/cjs/Finalizer/index.d.ts +2 -0
- package/cjs/Finalizer/index.d.ts.map +1 -0
- package/cjs/Finalizer/index.js +18 -0
- package/cjs/Finalizer/index.js.map +1 -0
- package/cjs/Future/Future.d.ts +23 -0
- package/cjs/Future/Future.d.ts.map +1 -0
- package/cjs/Future/Future.js +42 -0
- package/cjs/Future/Future.js.map +1 -0
- package/cjs/Future/MutableFutureQueue.d.ts +16 -0
- package/cjs/Future/MutableFutureQueue.d.ts.map +1 -0
- package/cjs/Future/MutableFutureQueue.js +40 -0
- package/cjs/Future/MutableFutureQueue.js.map +1 -0
- package/cjs/Future/complete.d.ts +4 -0
- package/cjs/Future/complete.d.ts.map +1 -0
- package/cjs/Future/complete.js +14 -0
- package/cjs/Future/complete.js.map +1 -0
- package/cjs/Future/index.d.ts +4 -0
- package/cjs/Future/index.d.ts.map +1 -0
- package/cjs/Future/index.js +20 -0
- package/cjs/Future/index.js.map +1 -0
- package/cjs/Future/wait.d.ts +4 -0
- package/cjs/Future/wait.d.ts.map +1 -0
- package/cjs/Future/wait.js +9 -0
- package/cjs/Future/wait.js.map +1 -0
- package/cjs/Fx/Fx.d.ts +136 -0
- package/cjs/Fx/Fx.d.ts.map +1 -0
- package/cjs/Fx/Fx.js +247 -0
- package/cjs/Fx/Fx.js.map +1 -0
- package/cjs/Fx/Instruction.d.ts +202 -0
- package/cjs/Fx/Instruction.d.ts.map +1 -0
- package/cjs/Fx/Instruction.js +387 -0
- package/cjs/Fx/Instruction.js.map +1 -0
- package/cjs/Fx/index.d.ts +5 -0
- package/cjs/Fx/index.d.ts.map +1 -0
- package/cjs/Fx/index.js +21 -0
- package/cjs/Fx/index.js.map +1 -0
- package/cjs/Fx/join.d.ts +4 -0
- package/cjs/Fx/join.d.ts.map +1 -0
- package/cjs/Fx/join.js +39 -0
- package/cjs/Fx/join.js.map +1 -0
- package/cjs/Fx/logging.d.ts +11 -0
- package/cjs/Fx/logging.d.ts.map +1 -0
- package/cjs/Fx/logging.js +45 -0
- package/cjs/Fx/logging.js.map +1 -0
- package/cjs/Fx/scoped.d.ts +20 -0
- package/cjs/Fx/scoped.d.ts.map +1 -0
- package/cjs/Fx/scoped.js +52 -0
- package/cjs/Fx/scoped.js.map +1 -0
- package/cjs/ImmutableMap/ImmutableMap.d.ts +15 -0
- package/cjs/ImmutableMap/ImmutableMap.d.ts.map +1 -0
- package/cjs/ImmutableMap/ImmutableMap.js +39 -0
- package/cjs/ImmutableMap/ImmutableMap.js.map +1 -0
- package/cjs/ImmutableMap/index.d.ts +2 -0
- package/cjs/ImmutableMap/index.d.ts.map +1 -0
- package/cjs/ImmutableMap/index.js +18 -0
- package/cjs/ImmutableMap/index.js.map +1 -0
- package/cjs/Layer/Layer.d.ts +14 -0
- package/cjs/Layer/Layer.d.ts.map +1 -0
- package/cjs/Layer/Layer.js +42 -0
- package/cjs/Layer/Layer.js.map +1 -0
- package/cjs/Layer/index.d.ts +2 -0
- package/cjs/Layer/index.d.ts.map +1 -0
- package/cjs/Layer/index.js +18 -0
- package/cjs/Layer/index.js.map +1 -0
- package/cjs/Logger/Console.d.ts +3 -0
- package/cjs/Logger/Console.d.ts.map +1 -0
- package/cjs/Logger/Console.js +75 -0
- package/cjs/Logger/Console.js.map +1 -0
- package/cjs/Logger/LogAnnotation.d.ts +6 -0
- package/cjs/Logger/LogAnnotation.d.ts.map +1 -0
- package/cjs/Logger/LogAnnotation.js +8 -0
- package/cjs/Logger/LogAnnotation.js.map +1 -0
- package/cjs/Logger/LogLevel.d.ts +11 -0
- package/cjs/Logger/LogLevel.d.ts.map +1 -0
- package/cjs/Logger/LogLevel.js +15 -0
- package/cjs/Logger/LogLevel.js.map +1 -0
- package/cjs/Logger/LogSpan.d.ts +7 -0
- package/cjs/Logger/LogSpan.d.ts.map +1 -0
- package/cjs/Logger/LogSpan.js +8 -0
- package/cjs/Logger/LogSpan.js.map +1 -0
- package/cjs/Logger/Logger.d.ts +31 -0
- package/cjs/Logger/Logger.d.ts.map +1 -0
- package/cjs/Logger/Logger.js +66 -0
- package/cjs/Logger/Logger.js.map +1 -0
- package/cjs/Logger/index.d.ts +2 -0
- package/cjs/Logger/index.d.ts.map +1 -0
- package/cjs/Logger/index.js +18 -0
- package/cjs/Logger/index.js.map +1 -0
- package/cjs/Platform/Platform.d.ts +14 -0
- package/cjs/Platform/Platform.d.ts.map +1 -0
- package/cjs/Platform/Platform.js +47 -0
- package/cjs/Platform/Platform.js.map +1 -0
- package/cjs/Platform/TestPlatform.d.ts +7 -0
- package/cjs/Platform/TestPlatform.d.ts.map +1 -0
- package/cjs/Platform/TestPlatform.js +13 -0
- package/cjs/Platform/TestPlatform.js.map +1 -0
- package/cjs/Platform/index.d.ts +3 -0
- package/cjs/Platform/index.d.ts.map +1 -0
- package/cjs/Platform/index.js +19 -0
- package/cjs/Platform/index.js.map +1 -0
- package/cjs/Ref/Ref.d.ts +40 -0
- package/cjs/Ref/Ref.d.ts.map +1 -0
- package/cjs/Ref/Ref.js +57 -0
- package/cjs/Ref/Ref.js.map +1 -0
- package/cjs/Ref/atomic.d.ts +5 -0
- package/cjs/Ref/atomic.d.ts.map +1 -0
- package/cjs/Ref/atomic.js +20 -0
- package/cjs/Ref/atomic.js.map +1 -0
- package/cjs/Ref/index.d.ts +3 -0
- package/cjs/Ref/index.d.ts.map +1 -0
- package/cjs/Ref/index.js +19 -0
- package/cjs/Ref/index.js.map +1 -0
- package/cjs/Schedule/Decision.d.ts +15 -0
- package/cjs/Schedule/Decision.d.ts.map +1 -0
- package/cjs/Schedule/Decision.js +38 -0
- package/cjs/Schedule/Decision.js.map +1 -0
- package/cjs/Schedule/Schedule.d.ts +30 -0
- package/cjs/Schedule/Schedule.d.ts.map +1 -0
- package/cjs/Schedule/Schedule.js +78 -0
- package/cjs/Schedule/Schedule.js.map +1 -0
- package/cjs/Schedule/ScheduleState.d.ts +45 -0
- package/cjs/Schedule/ScheduleState.d.ts.map +1 -0
- package/cjs/Schedule/ScheduleState.js +58 -0
- package/cjs/Schedule/ScheduleState.js.map +1 -0
- package/cjs/Schedule/index.d.ts +4 -0
- package/cjs/Schedule/index.d.ts.map +1 -0
- package/cjs/Schedule/index.js +20 -0
- package/cjs/Schedule/index.js.map +1 -0
- package/cjs/Scheduler/RootScheduler.d.ts +4 -0
- package/cjs/Scheduler/RootScheduler.d.ts.map +1 -0
- package/cjs/Scheduler/RootScheduler.js +57 -0
- package/cjs/Scheduler/RootScheduler.js.map +1 -0
- package/cjs/Scheduler/Scheduler.d.ts +14 -0
- package/cjs/Scheduler/Scheduler.d.ts.map +1 -0
- package/cjs/Scheduler/Scheduler.js +6 -0
- package/cjs/Scheduler/Scheduler.js.map +1 -0
- package/cjs/Scheduler/callbackScheduler.d.ts +5 -0
- package/cjs/Scheduler/callbackScheduler.d.ts.map +1 -0
- package/cjs/Scheduler/callbackScheduler.js +59 -0
- package/cjs/Scheduler/callbackScheduler.js.map +1 -0
- package/cjs/Scheduler/index.d.ts +1 -0
- package/cjs/Scheduler/index.d.ts.map +1 -0
- package/cjs/Scheduler/index.js +2 -0
- package/cjs/Scheduler/index.js.map +1 -0
- package/cjs/Scheduler/scheduled.d.ts +10 -0
- package/cjs/Scheduler/scheduled.d.ts.map +1 -0
- package/cjs/Scheduler/scheduled.js +25 -0
- package/cjs/Scheduler/scheduled.js.map +1 -0
- package/cjs/Scope/Closeable.d.ts +11 -0
- package/cjs/Scope/Closeable.d.ts.map +1 -0
- package/cjs/Scope/Closeable.js +25 -0
- package/cjs/Scope/Closeable.js.map +1 -0
- package/cjs/Scope/GlobalScope.d.ts +3 -0
- package/cjs/Scope/GlobalScope.d.ts.map +1 -0
- package/cjs/Scope/GlobalScope.js +15 -0
- package/cjs/Scope/GlobalScope.js.map +1 -0
- package/cjs/Scope/LocalScope.d.ts +24 -0
- package/cjs/Scope/LocalScope.d.ts.map +1 -0
- package/cjs/Scope/LocalScope.js +97 -0
- package/cjs/Scope/LocalScope.js.map +1 -0
- package/cjs/Scope/ReleaseMap.d.ts +19 -0
- package/cjs/Scope/ReleaseMap.d.ts.map +1 -0
- package/cjs/Scope/ReleaseMap.js +66 -0
- package/cjs/Scope/ReleaseMap.js.map +1 -0
- package/cjs/Scope/Scope.d.ts +11 -0
- package/cjs/Scope/Scope.d.ts.map +1 -0
- package/cjs/Scope/Scope.js +6 -0
- package/cjs/Scope/Scope.js.map +1 -0
- package/cjs/Scope/ScopeState.d.ts +19 -0
- package/cjs/Scope/ScopeState.d.ts.map +1 -0
- package/cjs/Scope/ScopeState.js +30 -0
- package/cjs/Scope/ScopeState.js.map +1 -0
- package/cjs/Scope/index.d.ts +7 -0
- package/cjs/Scope/index.d.ts.map +1 -0
- package/cjs/Scope/index.js +23 -0
- package/cjs/Scope/index.js.map +1 -0
- package/cjs/Semaphore/Semaphore.d.ts +38 -0
- package/cjs/Semaphore/Semaphore.d.ts.map +1 -0
- package/cjs/Semaphore/Semaphore.js +96 -0
- package/cjs/Semaphore/Semaphore.js.map +1 -0
- package/cjs/Semaphore/index.d.ts +2 -0
- package/cjs/Semaphore/index.d.ts.map +1 -0
- package/cjs/Semaphore/index.js +18 -0
- package/cjs/Semaphore/index.js.map +1 -0
- package/cjs/Service/Id.d.ts +59 -0
- package/cjs/Service/Id.d.ts.map +1 -0
- package/cjs/Service/Id.js +90 -0
- package/cjs/Service/Id.js.map +1 -0
- package/cjs/Service/Service.d.ts +20 -0
- package/cjs/Service/Service.d.ts.map +1 -0
- package/cjs/Service/Service.js +19 -0
- package/cjs/Service/Service.js.map +1 -0
- package/cjs/Service/index.d.ts +4 -0
- package/cjs/Service/index.d.ts.map +1 -0
- package/cjs/Service/index.js +20 -0
- package/cjs/Service/index.js.map +1 -0
- package/cjs/Service/tagged.d.ts +23 -0
- package/cjs/Service/tagged.d.ts.map +1 -0
- package/cjs/Service/tagged.js +13 -0
- package/cjs/Service/tagged.js.map +1 -0
- package/cjs/Sink/Sink.d.ts +22 -0
- package/cjs/Sink/Sink.d.ts.map +1 -0
- package/cjs/Sink/Sink.js +31 -0
- package/cjs/Sink/Sink.js.map +1 -0
- package/cjs/Sink/index.d.ts +1 -0
- package/cjs/Sink/index.d.ts.map +1 -0
- package/cjs/Sink/index.js +2 -0
- package/cjs/Sink/index.js.map +1 -0
- package/cjs/Stack/index.d.ts +20 -0
- package/cjs/Stack/index.d.ts.map +1 -0
- package/cjs/Stack/index.js +103 -0
- package/cjs/Stack/index.js.map +1 -0
- package/cjs/StackFrame/StackFrame.d.ts +29 -0
- package/cjs/StackFrame/StackFrame.d.ts.map +1 -0
- package/cjs/StackFrame/StackFrame.js +61 -0
- package/cjs/StackFrame/StackFrame.js.map +1 -0
- package/cjs/StackFrame/getStackFrames.d.ts +7 -0
- package/cjs/StackFrame/getStackFrames.d.ts.map +1 -0
- package/cjs/StackFrame/getStackFrames.js +56 -0
- package/cjs/StackFrame/getStackFrames.js.map +1 -0
- package/cjs/StackFrame/index.d.ts +3 -0
- package/cjs/StackFrame/index.d.ts.map +1 -0
- package/cjs/StackFrame/index.js +19 -0
- package/cjs/StackFrame/index.js.map +1 -0
- package/cjs/StackFrame/parseChromeStack.d.ts +3 -0
- package/cjs/StackFrame/parseChromeStack.d.ts.map +1 -0
- package/cjs/StackFrame/parseChromeStack.js +36 -0
- package/cjs/StackFrame/parseChromeStack.js.map +1 -0
- package/cjs/StackFrame/parseGeckoStackFrame.d.ts +3 -0
- package/cjs/StackFrame/parseGeckoStackFrame.d.ts.map +1 -0
- package/cjs/StackFrame/parseGeckoStackFrame.js +28 -0
- package/cjs/StackFrame/parseGeckoStackFrame.js.map +1 -0
- package/cjs/Stream/Stream.d.ts +18 -0
- package/cjs/Stream/Stream.d.ts.map +1 -0
- package/cjs/Stream/Stream.js +8 -0
- package/cjs/Stream/Stream.js.map +1 -0
- package/cjs/Stream/drain.d.ts +11 -0
- package/cjs/Stream/drain.d.ts.map +1 -0
- package/cjs/Stream/drain.js +51 -0
- package/cjs/Stream/drain.js.map +1 -0
- package/cjs/Stream/fromFx.d.ts +4 -0
- package/cjs/Stream/fromFx.d.ts.map +1 -0
- package/cjs/Stream/fromFx.js +34 -0
- package/cjs/Stream/fromFx.js.map +1 -0
- package/cjs/Stream/index.d.ts +4 -0
- package/cjs/Stream/index.d.ts.map +1 -0
- package/cjs/Stream/index.js +20 -0
- package/cjs/Stream/index.js.map +1 -0
- package/cjs/Supervisor/Supervisor.d.ts +32 -0
- package/cjs/Supervisor/Supervisor.d.ts.map +1 -0
- package/cjs/Supervisor/Supervisor.js +46 -0
- package/cjs/Supervisor/Supervisor.js.map +1 -0
- package/cjs/Supervisor/index.d.ts +2 -0
- package/cjs/Supervisor/index.d.ts.map +1 -0
- package/cjs/Supervisor/index.js +18 -0
- package/cjs/Supervisor/index.js.map +1 -0
- package/cjs/Tagged/index.d.ts +79 -0
- package/cjs/Tagged/index.d.ts.map +1 -0
- package/cjs/Tagged/index.js +71 -0
- package/cjs/Tagged/index.js.map +1 -0
- package/cjs/Time/index.d.ts +95 -0
- package/cjs/Time/index.d.ts.map +1 -0
- package/cjs/Time/index.js +59 -0
- package/cjs/Time/index.js.map +1 -0
- package/cjs/Timeline/index.d.ts +27 -0
- package/cjs/Timeline/index.d.ts.map +1 -0
- package/cjs/Timeline/index.js +102 -0
- package/cjs/Timeline/index.js.map +1 -0
- package/cjs/Timer/SetTimeoutTimer.d.ts +4 -0
- package/cjs/Timer/SetTimeoutTimer.d.ts.map +1 -0
- package/cjs/Timer/SetTimeoutTimer.js +18 -0
- package/cjs/Timer/SetTimeoutTimer.js.map +1 -0
- package/cjs/Timer/TestTimer.d.ts +9 -0
- package/cjs/Timer/TestTimer.d.ts.map +1 -0
- package/cjs/Timer/TestTimer.js +52 -0
- package/cjs/Timer/TestTimer.js.map +1 -0
- package/cjs/Timer/Timer.d.ts +11 -0
- package/cjs/Timer/Timer.d.ts.map +1 -0
- package/cjs/Timer/Timer.js +44 -0
- package/cjs/Timer/Timer.js.map +1 -0
- package/cjs/Timer/index.d.ts +4 -0
- package/cjs/Timer/index.d.ts.map +1 -0
- package/cjs/Timer/index.js +20 -0
- package/cjs/Timer/index.js.map +1 -0
- package/cjs/Trace/Trace.d.ts +38 -0
- package/cjs/Trace/Trace.d.ts.map +1 -0
- package/cjs/Trace/Trace.js +183 -0
- package/cjs/Trace/Trace.js.map +1 -0
- package/cjs/Trace/index.d.ts +2 -0
- package/cjs/Trace/index.d.ts.map +1 -0
- package/cjs/Trace/index.js +18 -0
- package/cjs/Trace/index.js.map +1 -0
- package/cjs/Tracing/plugin.d.ts +10 -0
- package/cjs/Tracing/plugin.d.ts.map +1 -0
- package/cjs/Tracing/plugin.js +100 -0
- package/cjs/Tracing/plugin.js.map +1 -0
- package/cjs/Tracing/vite.d.ts +10 -0
- package/cjs/Tracing/vite.d.ts.map +1 -0
- package/cjs/Tracing/vite.js +54 -0
- package/cjs/Tracing/vite.js.map +1 -0
- package/cjs/index.d.ts +35 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +64 -0
- package/cjs/index.js.map +1 -0
- package/cjs/internal.d.ts +18 -0
- package/cjs/internal.d.ts.map +1 -0
- package/cjs/internal.js +3 -0
- package/cjs/internal.js.map +1 -0
- package/cjs/test.d.ts +1 -0
- package/cjs/test.d.ts.map +1 -0
- package/cjs/test.js +2 -0
- package/cjs/test.js.map +1 -0
- package/coverage/tmp/coverage-74826-1660784295157-0.json +1 -0
- package/coverage/tmp/coverage-74830-1660784295115-0.json +1 -0
- package/coverage/tmp/coverage-74836-1660784295074-0.json +1 -0
- package/esm/Atomic/Atomic.d.ts +56 -0
- package/esm/Atomic/Atomic.d.ts.map +1 -0
- package/esm/Atomic/Atomic.js +79 -0
- package/esm/Atomic/Atomic.js.map +1 -0
- package/esm/Atomic/AtomicCounter.d.ts +10 -0
- package/esm/Atomic/AtomicCounter.d.ts.map +1 -0
- package/esm/Atomic/AtomicCounter.js +10 -0
- package/esm/Atomic/AtomicCounter.js.map +1 -0
- package/esm/Atomic/index.d.ts +3 -0
- package/esm/Atomic/index.d.ts.map +1 -0
- package/esm/Atomic/index.js +3 -0
- package/esm/Atomic/index.js.map +1 -0
- package/esm/Cause/Cause.d.ts +169 -0
- package/esm/Cause/Cause.d.ts.map +1 -0
- package/esm/Cause/Cause.js +296 -0
- package/esm/Cause/Cause.js.map +1 -0
- package/esm/Cause/CauseError.d.ts +13 -0
- package/esm/Cause/CauseError.d.ts.map +1 -0
- package/esm/Cause/CauseError.js +44 -0
- package/esm/Cause/CauseError.js.map +1 -0
- package/esm/Cause/Renderer.d.ts +47 -0
- package/esm/Cause/Renderer.d.ts.map +1 -0
- package/esm/Cause/Renderer.js +191 -0
- package/esm/Cause/Renderer.js.map +1 -0
- package/esm/Cause/index.d.ts +2 -0
- package/esm/Cause/index.d.ts.map +1 -0
- package/esm/Cause/index.js +2 -0
- package/esm/Cause/index.js.map +1 -0
- package/esm/Cause/prettyStringify.d.ts +2 -0
- package/esm/Cause/prettyStringify.d.ts.map +1 -0
- package/esm/Cause/prettyStringify.js +7 -0
- package/esm/Cause/prettyStringify.js.map +1 -0
- package/esm/Clock/Clock.d.ts +26 -0
- package/esm/Clock/Clock.d.ts.map +1 -0
- package/esm/Clock/Clock.js +50 -0
- package/esm/Clock/Clock.js.map +1 -0
- package/esm/Clock/DateClock.d.ts +3 -0
- package/esm/Clock/DateClock.d.ts.map +1 -0
- package/esm/Clock/DateClock.js +7 -0
- package/esm/Clock/DateClock.js.map +1 -0
- package/esm/Clock/TestClock.d.ts +11 -0
- package/esm/Clock/TestClock.d.ts.map +1 -0
- package/esm/Clock/TestClock.js +15 -0
- package/esm/Clock/TestClock.js.map +1 -0
- package/esm/Clock/index.d.ts +4 -0
- package/esm/Clock/index.d.ts.map +1 -0
- package/esm/Clock/index.js +4 -0
- package/esm/Clock/index.js.map +1 -0
- package/esm/Disposable/Disposable.d.ts +25 -0
- package/esm/Disposable/Disposable.d.ts.map +1 -0
- package/esm/Disposable/Disposable.js +39 -0
- package/esm/Disposable/Disposable.js.map +1 -0
- package/esm/Disposable/index.d.ts +2 -0
- package/esm/Disposable/index.d.ts.map +1 -0
- package/esm/Disposable/index.js +2 -0
- package/esm/Disposable/index.js.map +1 -0
- package/esm/Duration/Duration.d.ts +27 -0
- package/esm/Duration/Duration.d.ts.map +1 -0
- package/esm/Duration/Duration.js +106 -0
- package/esm/Duration/Duration.js.map +1 -0
- package/esm/Duration/index.d.ts +2 -0
- package/esm/Duration/index.d.ts.map +1 -0
- package/esm/Duration/index.js +2 -0
- package/esm/Duration/index.js.map +1 -0
- package/esm/Env/Env.d.ts +8 -0
- package/esm/Env/Env.d.ts.map +1 -0
- package/esm/Env/Env.js +37 -0
- package/esm/Env/Env.js.map +1 -0
- package/esm/Env/index.d.ts +2 -0
- package/esm/Env/index.d.ts.map +1 -0
- package/esm/Env/index.js +2 -0
- package/esm/Env/index.js.map +1 -0
- package/esm/Exit/Exit.d.ts +21 -0
- package/esm/Exit/Exit.d.ts.map +1 -0
- package/esm/Exit/Exit.js +16 -0
- package/esm/Exit/Exit.js.map +1 -0
- package/esm/Exit/hkt.d.ts +17 -0
- package/esm/Exit/hkt.d.ts.map +1 -0
- package/esm/Exit/hkt.js +19 -0
- package/esm/Exit/hkt.js.map +1 -0
- package/esm/Exit/index.d.ts +3 -0
- package/esm/Exit/index.d.ts.map +1 -0
- package/esm/Exit/index.js +3 -0
- package/esm/Exit/index.js.map +1 -0
- package/esm/Fiber/Fiber.d.ts +36 -0
- package/esm/Fiber/Fiber.d.ts.map +1 -0
- package/esm/Fiber/Fiber.js +25 -0
- package/esm/Fiber/Fiber.js.map +1 -0
- package/esm/Fiber/index.d.ts +2 -0
- package/esm/Fiber/index.d.ts.map +1 -0
- package/esm/Fiber/index.js +2 -0
- package/esm/Fiber/index.js.map +1 -0
- package/esm/FiberContext/FiberContext.d.ts +22 -0
- package/esm/FiberContext/FiberContext.d.ts.map +1 -0
- package/esm/FiberContext/FiberContext.js +36 -0
- package/esm/FiberContext/FiberContext.js.map +1 -0
- package/esm/FiberContext/index.d.ts +2 -0
- package/esm/FiberContext/index.d.ts.map +1 -0
- package/esm/FiberContext/index.js +2 -0
- package/esm/FiberContext/index.js.map +1 -0
- package/esm/FiberId/FiberId.d.ts +46 -0
- package/esm/FiberId/FiberId.d.ts.map +1 -0
- package/esm/FiberId/FiberId.js +93 -0
- package/esm/FiberId/FiberId.js.map +1 -0
- package/esm/FiberId/index.d.ts +2 -0
- package/esm/FiberId/index.d.ts.map +1 -0
- package/esm/FiberId/index.js +2 -0
- package/esm/FiberId/index.js.map +1 -0
- package/esm/FiberRef/FiberRef.d.ts +38 -0
- package/esm/FiberRef/FiberRef.d.ts.map +1 -0
- package/esm/FiberRef/FiberRef.js +52 -0
- package/esm/FiberRef/FiberRef.js.map +1 -0
- package/esm/FiberRef/index.d.ts +3 -0
- package/esm/FiberRef/index.d.ts.map +1 -0
- package/esm/FiberRef/index.js +4 -0
- package/esm/FiberRef/index.js.map +1 -0
- package/esm/FiberRef/operations.d.ts +9 -0
- package/esm/FiberRef/operations.d.ts.map +1 -0
- package/esm/FiberRef/operations.js +13 -0
- package/esm/FiberRef/operations.js.map +1 -0
- package/esm/FiberRefs/FiberRefs.d.ts +19 -0
- package/esm/FiberRefs/FiberRefs.d.ts.map +1 -0
- package/esm/FiberRefs/FiberRefs.js +95 -0
- package/esm/FiberRefs/FiberRefs.js.map +1 -0
- package/esm/FiberRefs/index.d.ts +2 -0
- package/esm/FiberRefs/index.d.ts.map +1 -0
- package/esm/FiberRefs/index.js +2 -0
- package/esm/FiberRefs/index.js.map +1 -0
- package/esm/FiberRuntime/FiberRuntime.d.ts +154 -0
- package/esm/FiberRuntime/FiberRuntime.d.ts.map +1 -0
- package/esm/FiberRuntime/FiberRuntime.js +479 -0
- package/esm/FiberRuntime/FiberRuntime.js.map +1 -0
- package/esm/FiberRuntime/Frame.d.ts +14 -0
- package/esm/FiberRuntime/Frame.d.ts.map +1 -0
- package/esm/FiberRuntime/Frame.js +13 -0
- package/esm/FiberRuntime/Frame.js.map +1 -0
- package/esm/FiberRuntime/index.d.ts +2 -0
- package/esm/FiberRuntime/index.d.ts.map +1 -0
- package/esm/FiberRuntime/index.js +2 -0
- package/esm/FiberRuntime/index.js.map +1 -0
- package/esm/FiberStatus/index.d.ts +19 -0
- package/esm/FiberStatus/index.d.ts.map +1 -0
- package/esm/FiberStatus/index.js +18 -0
- package/esm/FiberStatus/index.js.map +1 -0
- package/esm/Finalizer/Finalizer.d.ts +39 -0
- package/esm/Finalizer/Finalizer.d.ts.map +1 -0
- package/esm/Finalizer/Finalizer.js +19 -0
- package/esm/Finalizer/Finalizer.js.map +1 -0
- package/esm/Finalizer/index.d.ts +2 -0
- package/esm/Finalizer/index.d.ts.map +1 -0
- package/esm/Finalizer/index.js +2 -0
- package/esm/Finalizer/index.js.map +1 -0
- package/esm/Future/Future.d.ts +23 -0
- package/esm/Future/Future.d.ts.map +1 -0
- package/esm/Future/Future.js +36 -0
- package/esm/Future/Future.js.map +1 -0
- package/esm/Future/MutableFutureQueue.d.ts +16 -0
- package/esm/Future/MutableFutureQueue.d.ts.map +1 -0
- package/esm/Future/MutableFutureQueue.js +36 -0
- package/esm/Future/MutableFutureQueue.js.map +1 -0
- package/esm/Future/complete.d.ts +4 -0
- package/esm/Future/complete.d.ts.map +1 -0
- package/esm/Future/complete.js +10 -0
- package/esm/Future/complete.js.map +1 -0
- package/esm/Future/index.d.ts +4 -0
- package/esm/Future/index.d.ts.map +1 -0
- package/esm/Future/index.js +4 -0
- package/esm/Future/index.js.map +1 -0
- package/esm/Future/wait.d.ts +4 -0
- package/esm/Future/wait.d.ts.map +1 -0
- package/esm/Future/wait.js +5 -0
- package/esm/Future/wait.js.map +1 -0
- package/esm/Fx/Fx.d.ts +136 -0
- package/esm/Fx/Fx.d.ts.map +1 -0
- package/esm/Fx/Fx.js +173 -0
- package/esm/Fx/Fx.js.map +1 -0
- package/esm/Fx/Instruction.d.ts +202 -0
- package/esm/Fx/Instruction.d.ts.map +1 -0
- package/esm/Fx/Instruction.js +358 -0
- package/esm/Fx/Instruction.js.map +1 -0
- package/esm/Fx/index.d.ts +5 -0
- package/esm/Fx/index.d.ts.map +1 -0
- package/esm/Fx/index.js +5 -0
- package/esm/Fx/index.js.map +1 -0
- package/esm/Fx/join.d.ts +4 -0
- package/esm/Fx/join.d.ts.map +1 -0
- package/esm/Fx/join.js +12 -0
- package/esm/Fx/join.js.map +1 -0
- package/esm/Fx/logging.d.ts +11 -0
- package/esm/Fx/logging.d.ts.map +1 -0
- package/esm/Fx/logging.js +17 -0
- package/esm/Fx/logging.js.map +1 -0
- package/esm/Fx/scoped.d.ts +20 -0
- package/esm/Fx/scoped.d.ts.map +1 -0
- package/esm/Fx/scoped.js +45 -0
- package/esm/Fx/scoped.js.map +1 -0
- package/esm/ImmutableMap/ImmutableMap.d.ts +15 -0
- package/esm/ImmutableMap/ImmutableMap.d.ts.map +1 -0
- package/esm/ImmutableMap/ImmutableMap.js +35 -0
- package/esm/ImmutableMap/ImmutableMap.js.map +1 -0
- package/esm/ImmutableMap/index.d.ts +2 -0
- package/esm/ImmutableMap/index.d.ts.map +1 -0
- package/esm/ImmutableMap/index.js +2 -0
- package/esm/ImmutableMap/index.js.map +1 -0
- package/esm/Layer/Layer.d.ts +14 -0
- package/esm/Layer/Layer.d.ts.map +1 -0
- package/esm/Layer/Layer.js +14 -0
- package/esm/Layer/Layer.js.map +1 -0
- package/esm/Layer/index.d.ts +2 -0
- package/esm/Layer/index.d.ts.map +1 -0
- package/esm/Layer/index.js +2 -0
- package/esm/Layer/index.js.map +1 -0
- package/esm/Logger/Console.d.ts +3 -0
- package/esm/Logger/Console.d.ts.map +1 -0
- package/esm/Logger/Console.js +72 -0
- package/esm/Logger/Console.js.map +1 -0
- package/esm/Logger/LogAnnotation.d.ts +6 -0
- package/esm/Logger/LogAnnotation.d.ts.map +1 -0
- package/esm/Logger/LogAnnotation.js +4 -0
- package/esm/Logger/LogAnnotation.js.map +1 -0
- package/esm/Logger/LogLevel.d.ts +11 -0
- package/esm/Logger/LogLevel.d.ts.map +1 -0
- package/esm/Logger/LogLevel.js +12 -0
- package/esm/Logger/LogLevel.js.map +1 -0
- package/esm/Logger/LogSpan.d.ts +7 -0
- package/esm/Logger/LogSpan.d.ts.map +1 -0
- package/esm/Logger/LogSpan.js +4 -0
- package/esm/Logger/LogSpan.js.map +1 -0
- package/esm/Logger/Logger.d.ts +31 -0
- package/esm/Logger/Logger.d.ts.map +1 -0
- package/esm/Logger/Logger.js +36 -0
- package/esm/Logger/Logger.js.map +1 -0
- package/esm/Logger/index.d.ts +2 -0
- package/esm/Logger/index.d.ts.map +1 -0
- package/esm/Logger/index.js +2 -0
- package/esm/Logger/index.js.map +1 -0
- package/esm/Platform/Platform.d.ts +14 -0
- package/esm/Platform/Platform.d.ts.map +1 -0
- package/esm/Platform/Platform.js +19 -0
- package/esm/Platform/Platform.js.map +1 -0
- package/esm/Platform/TestPlatform.d.ts +7 -0
- package/esm/Platform/TestPlatform.d.ts.map +1 -0
- package/esm/Platform/TestPlatform.js +9 -0
- package/esm/Platform/TestPlatform.js.map +1 -0
- package/esm/Platform/index.d.ts +3 -0
- package/esm/Platform/index.d.ts.map +1 -0
- package/esm/Platform/index.js +3 -0
- package/esm/Platform/index.js.map +1 -0
- package/esm/Ref/Ref.d.ts +40 -0
- package/esm/Ref/Ref.d.ts.map +1 -0
- package/esm/Ref/Ref.js +30 -0
- package/esm/Ref/Ref.js.map +1 -0
- package/esm/Ref/atomic.d.ts +5 -0
- package/esm/Ref/atomic.d.ts.map +1 -0
- package/esm/Ref/atomic.js +16 -0
- package/esm/Ref/atomic.js.map +1 -0
- package/esm/Ref/index.d.ts +3 -0
- package/esm/Ref/index.d.ts.map +1 -0
- package/esm/Ref/index.js +3 -0
- package/esm/Ref/index.js.map +1 -0
- package/esm/Schedule/Decision.d.ts +15 -0
- package/esm/Schedule/Decision.d.ts.map +1 -0
- package/esm/Schedule/Decision.js +34 -0
- package/esm/Schedule/Decision.js.map +1 -0
- package/esm/Schedule/Schedule.d.ts +30 -0
- package/esm/Schedule/Schedule.d.ts.map +1 -0
- package/esm/Schedule/Schedule.js +64 -0
- package/esm/Schedule/Schedule.js.map +1 -0
- package/esm/Schedule/ScheduleState.d.ts +45 -0
- package/esm/Schedule/ScheduleState.d.ts.map +1 -0
- package/esm/Schedule/ScheduleState.js +54 -0
- package/esm/Schedule/ScheduleState.js.map +1 -0
- package/esm/Schedule/index.d.ts +4 -0
- package/esm/Schedule/index.d.ts.map +1 -0
- package/esm/Schedule/index.js +4 -0
- package/esm/Schedule/index.js.map +1 -0
- package/esm/Scheduler/RootScheduler.d.ts +4 -0
- package/esm/Scheduler/RootScheduler.d.ts.map +1 -0
- package/esm/Scheduler/RootScheduler.js +53 -0
- package/esm/Scheduler/RootScheduler.js.map +1 -0
- package/esm/Scheduler/Scheduler.d.ts +14 -0
- package/esm/Scheduler/Scheduler.d.ts.map +1 -0
- package/esm/Scheduler/Scheduler.js +3 -0
- package/esm/Scheduler/Scheduler.js.map +1 -0
- package/esm/Scheduler/callbackScheduler.d.ts +5 -0
- package/esm/Scheduler/callbackScheduler.d.ts.map +1 -0
- package/esm/Scheduler/callbackScheduler.js +32 -0
- package/esm/Scheduler/callbackScheduler.js.map +1 -0
- package/esm/Scheduler/index.d.ts +1 -0
- package/esm/Scheduler/index.d.ts.map +1 -0
- package/esm/Scheduler/index.js +2 -0
- package/esm/Scheduler/index.js.map +1 -0
- package/esm/Scheduler/scheduled.d.ts +10 -0
- package/esm/Scheduler/scheduled.d.ts.map +1 -0
- package/esm/Scheduler/scheduled.js +21 -0
- package/esm/Scheduler/scheduled.js.map +1 -0
- package/esm/Scope/Closeable.d.ts +11 -0
- package/esm/Scope/Closeable.d.ts.map +1 -0
- package/esm/Scope/Closeable.js +20 -0
- package/esm/Scope/Closeable.js.map +1 -0
- package/esm/Scope/GlobalScope.d.ts +3 -0
- package/esm/Scope/GlobalScope.d.ts.map +1 -0
- package/esm/Scope/GlobalScope.js +12 -0
- package/esm/Scope/GlobalScope.js.map +1 -0
- package/esm/Scope/LocalScope.d.ts +24 -0
- package/esm/Scope/LocalScope.d.ts.map +1 -0
- package/esm/Scope/LocalScope.js +70 -0
- package/esm/Scope/LocalScope.js.map +1 -0
- package/esm/Scope/ReleaseMap.d.ts +19 -0
- package/esm/Scope/ReleaseMap.d.ts.map +1 -0
- package/esm/Scope/ReleaseMap.js +62 -0
- package/esm/Scope/ReleaseMap.js.map +1 -0
- package/esm/Scope/Scope.d.ts +11 -0
- package/esm/Scope/Scope.d.ts.map +1 -0
- package/esm/Scope/Scope.js +3 -0
- package/esm/Scope/Scope.js.map +1 -0
- package/esm/Scope/ScopeState.d.ts +19 -0
- package/esm/Scope/ScopeState.d.ts.map +1 -0
- package/esm/Scope/ScopeState.js +24 -0
- package/esm/Scope/ScopeState.js.map +1 -0
- package/esm/Scope/index.d.ts +7 -0
- package/esm/Scope/index.d.ts.map +1 -0
- package/esm/Scope/index.js +7 -0
- package/esm/Scope/index.js.map +1 -0
- package/esm/Semaphore/Semaphore.d.ts +38 -0
- package/esm/Semaphore/Semaphore.d.ts.map +1 -0
- package/esm/Semaphore/Semaphore.js +87 -0
- package/esm/Semaphore/Semaphore.js.map +1 -0
- package/esm/Semaphore/index.d.ts +2 -0
- package/esm/Semaphore/index.d.ts.map +1 -0
- package/esm/Semaphore/index.js +2 -0
- package/esm/Semaphore/index.js.map +1 -0
- package/esm/Service/Id.d.ts +59 -0
- package/esm/Service/Id.d.ts.map +1 -0
- package/esm/Service/Id.js +62 -0
- package/esm/Service/Id.js.map +1 -0
- package/esm/Service/Service.d.ts +20 -0
- package/esm/Service/Service.d.ts.map +1 -0
- package/esm/Service/Service.js +14 -0
- package/esm/Service/Service.js.map +1 -0
- package/esm/Service/index.d.ts +4 -0
- package/esm/Service/index.d.ts.map +1 -0
- package/esm/Service/index.js +4 -0
- package/esm/Service/index.js.map +1 -0
- package/esm/Service/tagged.d.ts +23 -0
- package/esm/Service/tagged.d.ts.map +1 -0
- package/esm/Service/tagged.js +9 -0
- package/esm/Service/tagged.js.map +1 -0
- package/esm/Sink/Sink.d.ts +22 -0
- package/esm/Sink/Sink.d.ts.map +1 -0
- package/esm/Sink/Sink.js +26 -0
- package/esm/Sink/Sink.js.map +1 -0
- package/esm/Sink/index.d.ts +1 -0
- package/esm/Sink/index.d.ts.map +1 -0
- package/esm/Sink/index.js +2 -0
- package/esm/Sink/index.js.map +1 -0
- package/esm/Stack/index.d.ts +20 -0
- package/esm/Stack/index.d.ts.map +1 -0
- package/esm/Stack/index.js +70 -0
- package/esm/Stack/index.js.map +1 -0
- package/esm/StackFrame/StackFrame.d.ts +29 -0
- package/esm/StackFrame/StackFrame.d.ts.map +1 -0
- package/esm/StackFrame/StackFrame.js +35 -0
- package/esm/StackFrame/StackFrame.js.map +1 -0
- package/esm/StackFrame/getStackFrames.d.ts +7 -0
- package/esm/StackFrame/getStackFrames.d.ts.map +1 -0
- package/esm/StackFrame/getStackFrames.js +51 -0
- package/esm/StackFrame/getStackFrames.js.map +1 -0
- package/esm/StackFrame/index.d.ts +3 -0
- package/esm/StackFrame/index.d.ts.map +1 -0
- package/esm/StackFrame/index.js +3 -0
- package/esm/StackFrame/index.js.map +1 -0
- package/esm/StackFrame/parseChromeStack.d.ts +3 -0
- package/esm/StackFrame/parseChromeStack.d.ts.map +1 -0
- package/esm/StackFrame/parseChromeStack.js +32 -0
- package/esm/StackFrame/parseChromeStack.js.map +1 -0
- package/esm/StackFrame/parseGeckoStackFrame.d.ts +3 -0
- package/esm/StackFrame/parseGeckoStackFrame.d.ts.map +1 -0
- package/esm/StackFrame/parseGeckoStackFrame.js +24 -0
- package/esm/StackFrame/parseGeckoStackFrame.js.map +1 -0
- package/esm/Stream/Stream.d.ts +18 -0
- package/esm/Stream/Stream.d.ts.map +1 -0
- package/esm/Stream/Stream.js +4 -0
- package/esm/Stream/Stream.js.map +1 -0
- package/esm/Stream/drain.d.ts +11 -0
- package/esm/Stream/drain.d.ts.map +1 -0
- package/esm/Stream/drain.js +21 -0
- package/esm/Stream/drain.js.map +1 -0
- package/esm/Stream/fromFx.d.ts +4 -0
- package/esm/Stream/fromFx.d.ts.map +1 -0
- package/esm/Stream/fromFx.js +7 -0
- package/esm/Stream/fromFx.js.map +1 -0
- package/esm/Stream/index.d.ts +4 -0
- package/esm/Stream/index.d.ts.map +1 -0
- package/esm/Stream/index.js +4 -0
- package/esm/Stream/index.js.map +1 -0
- package/esm/Supervisor/Supervisor.d.ts +32 -0
- package/esm/Supervisor/Supervisor.d.ts.map +1 -0
- package/esm/Supervisor/Supervisor.js +40 -0
- package/esm/Supervisor/Supervisor.js.map +1 -0
- package/esm/Supervisor/index.d.ts +2 -0
- package/esm/Supervisor/index.d.ts.map +1 -0
- package/esm/Supervisor/index.js +2 -0
- package/esm/Supervisor/index.js.map +1 -0
- package/esm/Tagged/index.d.ts +79 -0
- package/esm/Tagged/index.d.ts.map +1 -0
- package/esm/Tagged/index.js +43 -0
- package/esm/Tagged/index.js.map +1 -0
- package/esm/Time/index.d.ts +95 -0
- package/esm/Time/index.d.ts.map +1 -0
- package/esm/Time/index.js +33 -0
- package/esm/Time/index.js.map +1 -0
- package/esm/Timeline/index.d.ts +27 -0
- package/esm/Timeline/index.d.ts.map +1 -0
- package/esm/Timeline/index.js +98 -0
- package/esm/Timeline/index.js.map +1 -0
- package/esm/Timer/SetTimeoutTimer.d.ts +4 -0
- package/esm/Timer/SetTimeoutTimer.d.ts.map +1 -0
- package/esm/Timer/SetTimeoutTimer.js +14 -0
- package/esm/Timer/SetTimeoutTimer.js.map +1 -0
- package/esm/Timer/TestTimer.d.ts +9 -0
- package/esm/Timer/TestTimer.d.ts.map +1 -0
- package/esm/Timer/TestTimer.js +25 -0
- package/esm/Timer/TestTimer.js.map +1 -0
- package/esm/Timer/Timer.d.ts +11 -0
- package/esm/Timer/Timer.d.ts.map +1 -0
- package/esm/Timer/Timer.js +16 -0
- package/esm/Timer/Timer.js.map +1 -0
- package/esm/Timer/index.d.ts +4 -0
- package/esm/Timer/index.d.ts.map +1 -0
- package/esm/Timer/index.js +4 -0
- package/esm/Timer/index.js.map +1 -0
- package/esm/Trace/Trace.d.ts +38 -0
- package/esm/Trace/Trace.d.ts.map +1 -0
- package/esm/Trace/Trace.js +152 -0
- package/esm/Trace/Trace.js.map +1 -0
- package/esm/Trace/index.d.ts +2 -0
- package/esm/Trace/index.d.ts.map +1 -0
- package/esm/Trace/index.js +2 -0
- package/esm/Trace/index.js.map +1 -0
- package/esm/Tracing/plugin.d.ts +10 -0
- package/esm/Tracing/plugin.d.ts.map +1 -0
- package/esm/Tracing/plugin.js +93 -0
- package/esm/Tracing/plugin.js.map +1 -0
- package/esm/Tracing/vite.d.ts +10 -0
- package/esm/Tracing/vite.d.ts.map +1 -0
- package/esm/Tracing/vite.js +50 -0
- package/esm/Tracing/vite.js.map +1 -0
- package/esm/index.d.ts +35 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +68 -0
- package/esm/index.js.map +1 -0
- package/esm/internal.d.ts +18 -0
- package/esm/internal.d.ts.map +1 -0
- package/esm/internal.js +2 -0
- package/esm/internal.js.map +1 -0
- package/esm/test.d.ts +1 -0
- package/esm/test.d.ts.map +1 -0
- package/esm/test.js +2 -0
- package/esm/test.js.map +1 -0
- package/package.json +1238 -0
- package/readme.md +35 -0
- package/src/Atomic/Atomic.ts +122 -0
- package/src/Atomic/AtomicCounter.ts +23 -0
- package/src/Atomic/index.ts +2 -0
- package/src/Cause/Cause.ts +425 -0
- package/src/Cause/CauseError.ts +55 -0
- package/src/Cause/Renderer.ts +289 -0
- package/src/Cause/index.ts +1 -0
- package/src/Cause/prettyStringify.ts +8 -0
- package/src/Clock/Clock.ts +82 -0
- package/src/Clock/DateClock.ts +9 -0
- package/src/Clock/TestClock.ts +25 -0
- package/src/Clock/index.ts +3 -0
- package/src/Disposable/Disposable.ts +63 -0
- package/src/Disposable/index.ts +1 -0
- package/src/Duration/Duration.ts +125 -0
- package/src/Duration/index.ts +1 -0
- package/src/Env/Env.ts +62 -0
- package/src/Env/index.ts +1 -0
- package/src/Exit/Exit.ts +50 -0
- package/src/Exit/hkt.ts +29 -0
- package/src/Exit/index.ts +2 -0
- package/src/Fiber/Fiber.ts +85 -0
- package/src/Fiber/index.ts +1 -0
- package/src/FiberContext/FiberContext.ts +67 -0
- package/src/FiberContext/index.ts +1 -0
- package/src/FiberId/FiberId.ts +122 -0
- package/src/FiberId/index.ts +1 -0
- package/src/FiberRef/FiberRef.ts +93 -0
- package/src/FiberRef/index.ts +3 -0
- package/src/FiberRef/operations.ts +19 -0
- package/src/FiberRefs/FiberRefs.ts +162 -0
- package/src/FiberRefs/index.ts +1 -0
- package/src/FiberRuntime/FiberRuntime.ts +742 -0
- package/src/FiberRuntime/Frame.ts +28 -0
- package/src/FiberRuntime/index.ts +1 -0
- package/src/FiberStatus/index.ts +37 -0
- package/src/Finalizer/Finalizer.ts +48 -0
- package/src/Finalizer/index.ts +1 -0
- package/src/Future/Future.ts +72 -0
- package/src/Future/MutableFutureQueue.ts +58 -0
- package/src/Future/complete.ts +16 -0
- package/src/Future/index.ts +3 -0
- package/src/Future/wait.ts +8 -0
- package/src/Fx/Fx.test.ts +110 -0
- package/src/Fx/Fx.ts +629 -0
- package/src/Fx/Instruction.ts +468 -0
- package/src/Fx/index.ts +4 -0
- package/src/Fx/join.ts +17 -0
- package/src/Fx/logging.ts +69 -0
- package/src/Fx/scoped.ts +77 -0
- package/src/ImmutableMap/ImmutableMap.ts +55 -0
- package/src/ImmutableMap/index.ts +1 -0
- package/src/Layer/Layer.ts +44 -0
- package/src/Layer/index.ts +1 -0
- package/src/Logger/Console.test.ts +10 -0
- package/src/Logger/Console.ts +85 -0
- package/src/Logger/LogAnnotation.ts +8 -0
- package/src/Logger/LogLevel.ts +10 -0
- package/src/Logger/LogSpan.ts +10 -0
- package/src/Logger/Logger.ts +83 -0
- package/src/Logger/index.ts +1 -0
- package/src/Platform/Platform.ts +42 -0
- package/src/Platform/TestPlatform.ts +14 -0
- package/src/Platform/index.ts +2 -0
- package/src/Ref/Ref.test.ts +34 -0
- package/src/Ref/Ref.ts +76 -0
- package/src/Ref/atomic.ts +33 -0
- package/src/Ref/index.ts +2 -0
- package/src/Schedule/Decision.ts +44 -0
- package/src/Schedule/Schedule.ts +148 -0
- package/src/Schedule/ScheduleState.ts +80 -0
- package/src/Schedule/index.ts +3 -0
- package/src/Scheduler/RootScheduler.ts +84 -0
- package/src/Scheduler/Scheduler.ts +21 -0
- package/src/Scheduler/callbackScheduler.ts +43 -0
- package/src/Scheduler/index.ts +0 -0
- package/src/Scheduler/scheduled.ts +32 -0
- package/src/Scope/Closeable.test.ts +98 -0
- package/src/Scope/Closeable.ts +35 -0
- package/src/Scope/GlobalScope.ts +15 -0
- package/src/Scope/LocalScope.ts +93 -0
- package/src/Scope/ReleaseMap.ts +95 -0
- package/src/Scope/Scope.ts +13 -0
- package/src/Scope/ScopeState.ts +45 -0
- package/src/Scope/index.ts +6 -0
- package/src/Semaphore/Semaphore.ts +110 -0
- package/src/Semaphore/index.ts +1 -0
- package/src/Service/Id.ts +87 -0
- package/src/Service/Service.ts +31 -0
- package/src/Service/index.ts +3 -0
- package/src/Service/tagged.ts +10 -0
- package/src/Sink/Sink.ts +65 -0
- package/src/Sink/index.ts +0 -0
- package/src/Stack/index.ts +88 -0
- package/src/StackFrame/StackFrame.ts +68 -0
- package/src/StackFrame/getStackFrames.test.ts +30 -0
- package/src/StackFrame/getStackFrames.ts +70 -0
- package/src/StackFrame/index.ts +2 -0
- package/src/StackFrame/parseChromeStack.ts +43 -0
- package/src/StackFrame/parseGeckoStackFrame.ts +31 -0
- package/src/Stream/Stream.ts +21 -0
- package/src/Stream/drain.ts +73 -0
- package/src/Stream/fromFx.test.ts +39 -0
- package/src/Stream/fromFx.ts +27 -0
- package/src/Stream/index.ts +3 -0
- package/src/Supervisor/Supervisor.ts +49 -0
- package/src/Supervisor/index.ts +1 -0
- package/src/Tagged/index.ts +127 -0
- package/src/Time/index.ts +62 -0
- package/src/Timeline/index.ts +157 -0
- package/src/Timer/SetTimeoutTimer.ts +19 -0
- package/src/Timer/TestTimer.ts +39 -0
- package/src/Timer/Timer.ts +24 -0
- package/src/Timer/index.ts +3 -0
- package/src/Trace/Trace.ts +210 -0
- package/src/Trace/index.ts +1 -0
- package/src/Tracing/plugin.ts +155 -0
- package/src/Tracing/vite.ts +72 -0
- package/src/index.ts +34 -0
- package/src/internal.ts +33 -0
- package/src/test.ts +0 -0
- package/tools/common.ts +43 -0
- package/tools/generatePackageExports.ts +100 -0
- package/tsconfig.base.json +32 -0
- package/tsconfig.build.cjs.json +26 -0
- package/tsconfig.build.esm.json +30 -0
- package/tsconfig.build.tracing.json +16 -0
- package/tsconfig.json +8 -0
- package/tsconfig.test.json +17 -0
- package/vite.config.ts +28 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import * as M from 'hkt-ts/Maybe'
|
|
2
|
+
import { pipe } from 'hkt-ts/function'
|
|
3
|
+
|
|
4
|
+
import type { Cause, Expected, Interrupted, Unexpected } from './Cause.js'
|
|
5
|
+
import { prettyStringify } from './prettyStringify.js'
|
|
6
|
+
|
|
7
|
+
import { Debug as FiberIdDebug } from '@/FiberId/index.js'
|
|
8
|
+
import { Trace, Debug as TraceDebug } from '@/Trace/index.js'
|
|
9
|
+
|
|
10
|
+
export interface Renderer<E> {
|
|
11
|
+
readonly renderError: (error: E, hasTrace: boolean) => Lines
|
|
12
|
+
readonly renderUnknown: (error: unknown, hasTrace: boolean) => Lines
|
|
13
|
+
readonly renderTrace: TraceRenderer
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type TraceRenderer = (trace: Trace) => string
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Each item in the array represents a newline
|
|
20
|
+
*/
|
|
21
|
+
export type Lines = readonly string[]
|
|
22
|
+
|
|
23
|
+
export type Segment = Sequential | Parallel | Failure
|
|
24
|
+
|
|
25
|
+
export type Step = Parallel | Failure
|
|
26
|
+
|
|
27
|
+
export interface Failure {
|
|
28
|
+
readonly type: 'Failure'
|
|
29
|
+
readonly lines: Lines
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface Parallel {
|
|
33
|
+
readonly type: 'Parallel'
|
|
34
|
+
readonly all: readonly Sequential[]
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface Sequential {
|
|
38
|
+
readonly type: 'Sequential'
|
|
39
|
+
readonly all: readonly Step[]
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function Failure(lines: readonly string[]): Failure {
|
|
43
|
+
return {
|
|
44
|
+
type: 'Failure',
|
|
45
|
+
lines,
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function Sequential(all: readonly Step[]): Sequential {
|
|
50
|
+
return {
|
|
51
|
+
type: 'Sequential',
|
|
52
|
+
all,
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function Parallel(all: readonly Sequential[]): Parallel {
|
|
57
|
+
return {
|
|
58
|
+
type: 'Parallel',
|
|
59
|
+
all,
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function renderInterrupted<E>(
|
|
64
|
+
cause: Interrupted,
|
|
65
|
+
trace: M.Maybe<Trace>,
|
|
66
|
+
renderer: Renderer<E>,
|
|
67
|
+
): Sequential {
|
|
68
|
+
return Sequential([
|
|
69
|
+
Failure([
|
|
70
|
+
`Interrupted by Fiber ${FiberIdDebug.debug(cause.fiberId)}.`,
|
|
71
|
+
'',
|
|
72
|
+
...renderTrace(trace, renderer),
|
|
73
|
+
]),
|
|
74
|
+
])
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function renderExpected<E>(
|
|
78
|
+
cause: Expected<E>,
|
|
79
|
+
trace: M.Maybe<Trace>,
|
|
80
|
+
renderer: Renderer<E>,
|
|
81
|
+
) {
|
|
82
|
+
return Sequential([
|
|
83
|
+
Failure([
|
|
84
|
+
'An expected error has occurred.',
|
|
85
|
+
'',
|
|
86
|
+
...renderer.renderError(
|
|
87
|
+
cause.error,
|
|
88
|
+
M.isJust(trace) && trace.value.tag !== 'EmptyTrace' && trace.value.frames.length > 0,
|
|
89
|
+
),
|
|
90
|
+
...renderTrace(trace, renderer),
|
|
91
|
+
]),
|
|
92
|
+
])
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function renderUnexpected<E>(
|
|
96
|
+
cause: Unexpected,
|
|
97
|
+
trace: M.Maybe<Trace>,
|
|
98
|
+
renderer: Renderer<E>,
|
|
99
|
+
) {
|
|
100
|
+
return Sequential([
|
|
101
|
+
Failure([
|
|
102
|
+
'An unexpected error has occurred.',
|
|
103
|
+
'',
|
|
104
|
+
...renderer.renderUnknown(
|
|
105
|
+
cause.error,
|
|
106
|
+
M.isJust(trace) && trace.value.tag !== 'EmptyTrace' && trace.value.frames.length > 0,
|
|
107
|
+
),
|
|
108
|
+
...renderTrace(trace, renderer),
|
|
109
|
+
]),
|
|
110
|
+
])
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export function renderCauseToSequential<E>(cause: Cause<E>, renderer: Renderer<E>): Sequential {
|
|
114
|
+
switch (cause.tag) {
|
|
115
|
+
case 'Empty':
|
|
116
|
+
return Sequential([])
|
|
117
|
+
case 'Expected':
|
|
118
|
+
return renderExpected(cause, M.Nothing, renderer)
|
|
119
|
+
case 'Unexpected':
|
|
120
|
+
return renderUnexpected(cause, M.Nothing, renderer)
|
|
121
|
+
case 'Interrupted':
|
|
122
|
+
return renderInterrupted(cause, M.Nothing, renderer)
|
|
123
|
+
case 'Sequential':
|
|
124
|
+
return Sequential(linearSegments(cause, renderer))
|
|
125
|
+
case 'Parallel':
|
|
126
|
+
return Sequential([Parallel(parrallelSegments(cause, renderer))])
|
|
127
|
+
case 'Traced': {
|
|
128
|
+
switch (cause.cause.tag) {
|
|
129
|
+
case 'Expected':
|
|
130
|
+
return renderExpected(cause.cause, M.Just(cause.trace), renderer)
|
|
131
|
+
case 'Unexpected':
|
|
132
|
+
return renderUnexpected(cause.cause, M.Just(cause.trace), renderer)
|
|
133
|
+
case 'Interrupted':
|
|
134
|
+
return renderInterrupted(cause.cause, M.Just(cause.trace), renderer)
|
|
135
|
+
default: {
|
|
136
|
+
const { all }: Sequential = renderCauseToSequential(cause.cause, renderer)
|
|
137
|
+
const rendered = renderTrace(M.Just(cause.trace), renderer)
|
|
138
|
+
|
|
139
|
+
return Sequential([
|
|
140
|
+
...(rendered.every((x) => includes(all, x))
|
|
141
|
+
? []
|
|
142
|
+
: [Failure(['An error was rethrown with a new trace.', ...rendered])]),
|
|
143
|
+
...all,
|
|
144
|
+
])
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function includes(steps: ReadonlyArray<Step>, value: string): boolean {
|
|
152
|
+
// Reverse steps as this will usually be at the bottom of the previous section
|
|
153
|
+
for (const step of steps.slice().reverse()) {
|
|
154
|
+
if (stepIncludes(step, value)) {
|
|
155
|
+
return true
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return false
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function stepIncludes(step: Step, value: string): boolean {
|
|
163
|
+
switch (step.type) {
|
|
164
|
+
case 'Failure':
|
|
165
|
+
return step.lines.includes(value)
|
|
166
|
+
case 'Parallel':
|
|
167
|
+
return includes(
|
|
168
|
+
step.all.flatMap((s) => s.all),
|
|
169
|
+
value,
|
|
170
|
+
)
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export function linearSegments<E>(cause: Cause<E>, renderer: Renderer<E>): readonly Step[] {
|
|
175
|
+
switch (cause.tag) {
|
|
176
|
+
case 'Sequential':
|
|
177
|
+
return [...linearSegments(cause.left, renderer), ...linearSegments(cause.right, renderer)]
|
|
178
|
+
default:
|
|
179
|
+
return renderCauseToSequential(cause, renderer).all
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export function parrallelSegments<E>(
|
|
184
|
+
cause: Cause<E>,
|
|
185
|
+
renderer: Renderer<E>,
|
|
186
|
+
): readonly Sequential[] {
|
|
187
|
+
switch (cause.tag) {
|
|
188
|
+
case 'Parallel':
|
|
189
|
+
return [
|
|
190
|
+
...parrallelSegments(cause.left, renderer),
|
|
191
|
+
...parrallelSegments(cause.right, renderer),
|
|
192
|
+
]
|
|
193
|
+
default:
|
|
194
|
+
return [renderCauseToSequential(cause, renderer)]
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export function renderError(error: Error, hasTrace = false): Lines {
|
|
199
|
+
return hasTrace ? lines(`${error.name}: ${error.message}`) : lines(String(error))
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export function renderTrace<E>(trace: M.Maybe<Trace>, renderer: Renderer<E>): Lines {
|
|
203
|
+
return pipe(
|
|
204
|
+
trace,
|
|
205
|
+
M.match(
|
|
206
|
+
() => [],
|
|
207
|
+
(trace) => lines(addPadding(renderer.renderTrace(trace))),
|
|
208
|
+
),
|
|
209
|
+
)
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export function lines(s: string): Lines {
|
|
213
|
+
return s.split('\n').map((s) => s.replace('\r', ''))
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
217
|
+
export function renderString(u: any): string {
|
|
218
|
+
const s = u?.toString?.()
|
|
219
|
+
const shouldJsonify = !s || s.trim().startsWith('[object')
|
|
220
|
+
|
|
221
|
+
return shouldJsonify ? prettyStringify(u) : s
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export function prefixBlock(lines: Lines, headPrefix: string, tailPrefix: string): Lines {
|
|
225
|
+
if (lines.length === 0) {
|
|
226
|
+
return []
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
const [head, ...tail] = lines
|
|
230
|
+
|
|
231
|
+
return [`${headPrefix}${head}`, ...tail.map((t) => `${tailPrefix}${t}`)]
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export function format(segment: Segment): Lines {
|
|
235
|
+
switch (segment.type) {
|
|
236
|
+
case 'Failure': {
|
|
237
|
+
return prefixBlock(segment.lines, '─', ' ')
|
|
238
|
+
}
|
|
239
|
+
case 'Parallel': {
|
|
240
|
+
return [
|
|
241
|
+
'══╦'.repeat(segment.all.length - 1) + '══╗',
|
|
242
|
+
...segment.all.reduceRight(
|
|
243
|
+
(acc: Lines, current: Sequential): Lines => [
|
|
244
|
+
...prefixBlock(acc, ' ║', ' ║'),
|
|
245
|
+
...prefixBlock(format(current), ' ', ' '),
|
|
246
|
+
],
|
|
247
|
+
[],
|
|
248
|
+
),
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
case 'Sequential': {
|
|
252
|
+
return segment.all.flatMap((seg) => ['║', ...prefixBlock(format(seg), '╠', '║'), '▼'])
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export function prettyLines<E>(cause: Cause<E>, renderer: Renderer<E>): Lines {
|
|
258
|
+
const s = renderCauseToSequential(cause, renderer)
|
|
259
|
+
|
|
260
|
+
if (s.all.length === 1 && s.all[0].type === 'Failure') {
|
|
261
|
+
return s.all[0].lines
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
const formatted = format(s)
|
|
265
|
+
|
|
266
|
+
return formatted.length === 0 ? [] : ['╥', ...formatted.slice(1)]
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export function defaultErrorToLines(error: unknown, hasTrace = false): Lines {
|
|
270
|
+
return error instanceof Error ? renderError(error, hasTrace) : lines(renderString(error))
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
export const defaultRenderer: Renderer<unknown> = {
|
|
274
|
+
renderError: defaultErrorToLines,
|
|
275
|
+
renderUnknown: defaultErrorToLines,
|
|
276
|
+
// Add 4 spaces of padding like most JS runtimes.
|
|
277
|
+
renderTrace: TraceDebug.debug,
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// Add 4-spaces of padding like most JS runtimes do for stack traces.
|
|
281
|
+
function addPadding(s: string): string {
|
|
282
|
+
return ' ' + s.replace(/\n/g, '\n ')
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
export function prettyPrint<E>(cause: Cause<E>, renderer: Renderer<E> = defaultRenderer): string {
|
|
286
|
+
const lines = prettyLines(cause, renderer)
|
|
287
|
+
|
|
288
|
+
return `\n${lines.join('\n')}`.trimEnd()
|
|
289
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Cause.js'
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const NEWLINE_REGEX = /\r?\n/g
|
|
2
|
+
|
|
3
|
+
export function prettyStringify(x: unknown, depth = 2): string {
|
|
4
|
+
const replacement = '\n'.padEnd(1 + depth, ' ')
|
|
5
|
+
|
|
6
|
+
// Optional chain is need for passing `undefined` to JSON.stringify returns `undefined`.
|
|
7
|
+
return JSON.stringify(x, null, 2)?.replace(NEWLINE_REGEX, replacement) ?? ''
|
|
8
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Lazy } from 'hkt-ts'
|
|
2
|
+
import * as Associative from 'hkt-ts/Typeclass/Associative'
|
|
3
|
+
import { Identity } from 'hkt-ts/Typeclass/Identity'
|
|
4
|
+
|
|
5
|
+
import { Service } from '@/Service/index.js'
|
|
6
|
+
import { Delay, MAX_UNIX_TIME, MIN_UNIX_TIME, Time, UnixTime } from '@/Time/index.js'
|
|
7
|
+
|
|
8
|
+
export interface Clock {
|
|
9
|
+
readonly startTime: UnixTime
|
|
10
|
+
readonly getCurrentTime: Lazy<Time>
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const Clock = Service<Clock>('Clock')
|
|
14
|
+
|
|
15
|
+
export function make(startTime: UnixTime, getCurrentTime: Lazy<Time>): Clock {
|
|
16
|
+
return {
|
|
17
|
+
startTime,
|
|
18
|
+
getCurrentTime,
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function delayToUnixTime(delay: Delay) {
|
|
23
|
+
return (clock: Clock): UnixTime => UnixTime(clock.startTime + clock.getCurrentTime() + delay)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function timeToDate(time: Time) {
|
|
27
|
+
return (clock: Clock): Date => new Date(clock.startTime + time)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function timeToUnixTime(time: Time) {
|
|
31
|
+
return (clock: Clock): UnixTime => UnixTime(clock.startTime + time)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function dateToTime(date: Date) {
|
|
35
|
+
return (clock: Clock): Time => Time(clock.startTime - date.getTime())
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function addDelay(delay: Delay) {
|
|
39
|
+
return (clock: Clock): Time => Time(clock.getCurrentTime() + delay)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function timeToDelay(time: Time) {
|
|
43
|
+
return (clock: Clock): Delay => Delay(Math.max(0, time - clock.getCurrentTime()))
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function unixTimeToDelay(time: UnixTime) {
|
|
47
|
+
return (clock: Clock): Delay =>
|
|
48
|
+
Delay(Math.max(0, time - timeToUnixTime(clock.getCurrentTime())(clock)))
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const UnionAssociative: Associative.Associative<Clock> = {
|
|
52
|
+
concat: (f, s) => (f.startTime <= s.startTime ? f : s),
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export const IntersectionAssociative: Associative.Associative<Clock> =
|
|
56
|
+
Associative.reverse(UnionAssociative)
|
|
57
|
+
|
|
58
|
+
export const or =
|
|
59
|
+
(second: Clock) =>
|
|
60
|
+
(first: Clock): Clock =>
|
|
61
|
+
UnionAssociative.concat(first, second)
|
|
62
|
+
|
|
63
|
+
export const and =
|
|
64
|
+
(second: Clock) =>
|
|
65
|
+
(first: Clock): Clock =>
|
|
66
|
+
IntersectionAssociative.concat(first, second)
|
|
67
|
+
|
|
68
|
+
export const UnionIdentity: Identity<Clock> = {
|
|
69
|
+
...UnionAssociative,
|
|
70
|
+
id: make(MAX_UNIX_TIME, () => Time(0)),
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export const IntersectionIdentity: Identity<Clock> = {
|
|
74
|
+
...IntersectionAssociative,
|
|
75
|
+
id: make(MIN_UNIX_TIME, () => Time(0)),
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function fork(clock: Clock): Clock {
|
|
79
|
+
const offset = clock.getCurrentTime()
|
|
80
|
+
|
|
81
|
+
return make(timeToUnixTime(offset)(clock), () => Time(clock.getCurrentTime() - offset))
|
|
82
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Clock, make } from './Clock.js'
|
|
2
|
+
|
|
3
|
+
import { Time, UnixTime } from '@/Time/index.js'
|
|
4
|
+
|
|
5
|
+
export function DateClock(startTime: Date = new Date()): Clock {
|
|
6
|
+
const offset = startTime.getTime()
|
|
7
|
+
|
|
8
|
+
return make(UnixTime(offset), () => Time(new Date().getTime() - offset))
|
|
9
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Clock, make } from './Clock.js'
|
|
2
|
+
|
|
3
|
+
import { Delay, Time, UnixTime } from '@/Time/index.js'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A Clock which provides imperative access to progressing Time forward.
|
|
7
|
+
*/
|
|
8
|
+
export interface TestClock extends Clock {
|
|
9
|
+
readonly progressTimeBy: (delay: Delay) => Time
|
|
10
|
+
readonly progressTimeTo: (delay: Time) => Time
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function TestClock(startTime: UnixTime = Date.now()): TestClock {
|
|
14
|
+
let time: Time = Time(0)
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
...make(startTime, () => time),
|
|
18
|
+
progressTimeBy: (delay: Delay) => {
|
|
19
|
+
return (time = Time(time + delay))
|
|
20
|
+
},
|
|
21
|
+
progressTimeTo: (to: Time) => {
|
|
22
|
+
return (time = to)
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { constVoid } from 'hkt-ts'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A Synchronous representation of a Resource that can be disposed of or cancelled.
|
|
5
|
+
*/
|
|
6
|
+
export interface Disposable {
|
|
7
|
+
readonly dispose: () => void
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function Disposable(dispose: () => void): Disposable {
|
|
11
|
+
return {
|
|
12
|
+
dispose,
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const None: Disposable = {
|
|
17
|
+
dispose: constVoid,
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
Disposable.None = None
|
|
21
|
+
|
|
22
|
+
export function all(...disposables: readonly Disposable[]): Disposable {
|
|
23
|
+
return Disposable(() => disposables.forEach((d) => d.dispose()))
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface Settable extends Disposable {
|
|
27
|
+
readonly isDisposed: () => boolean
|
|
28
|
+
readonly add: (disposable: Disposable) => Disposable
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function settable(): Settable {
|
|
32
|
+
return new SettableDisposable()
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class SettableDisposable implements Settable {
|
|
36
|
+
protected disposables = new Set<Disposable>()
|
|
37
|
+
protected disposed = false
|
|
38
|
+
|
|
39
|
+
readonly isDisposed = () => this.disposed
|
|
40
|
+
|
|
41
|
+
readonly add = (d: Disposable) => {
|
|
42
|
+
if (d === None) {
|
|
43
|
+
return d
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (this.disposed) {
|
|
47
|
+
d.dispose()
|
|
48
|
+
|
|
49
|
+
return None
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
this.disposables.add(d)
|
|
53
|
+
|
|
54
|
+
return Disposable(() => this.disposables.delete(d))
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
readonly dispose = () => {
|
|
58
|
+
this.disposed = true
|
|
59
|
+
const disposable = all(...Array.from(this.disposables))
|
|
60
|
+
this.disposables.clear()
|
|
61
|
+
disposable.dispose()
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Disposable.js'
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Delay, Time, UnixTime } from '@/Time/index.js'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* TODO: Add support for Month/Year -- how to deal with the variability of each month/year?
|
|
5
|
+
*/
|
|
6
|
+
export enum Unit {
|
|
7
|
+
Week,
|
|
8
|
+
Day,
|
|
9
|
+
Hour,
|
|
10
|
+
Minute,
|
|
11
|
+
Second,
|
|
12
|
+
Milliseconds,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const SECOND_MS = 1000
|
|
16
|
+
const MINUTE_MS = 60 * SECOND_MS
|
|
17
|
+
const HOUR_MS = 60 * MINUTE_MS
|
|
18
|
+
const DAY_MS = 24 * HOUR_MS
|
|
19
|
+
const WEEK_MS = 7 * DAY_MS
|
|
20
|
+
|
|
21
|
+
export interface Duration<U extends Unit> {
|
|
22
|
+
readonly value: number
|
|
23
|
+
readonly unit: U
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function Duration<U extends Unit>(value: number, unit: U): Duration<U> {
|
|
27
|
+
return {
|
|
28
|
+
value,
|
|
29
|
+
unit,
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function toMilliseconds<U extends Unit>(duration: Duration<U>): Duration<Unit.Milliseconds> {
|
|
34
|
+
switch (duration.unit) {
|
|
35
|
+
case Unit.Week:
|
|
36
|
+
return Duration(duration.value * WEEK_MS, Unit.Milliseconds)
|
|
37
|
+
case Unit.Day:
|
|
38
|
+
return Duration(duration.value * DAY_MS, Unit.Milliseconds)
|
|
39
|
+
case Unit.Hour:
|
|
40
|
+
return Duration(duration.value * HOUR_MS, Unit.Milliseconds)
|
|
41
|
+
case Unit.Minute:
|
|
42
|
+
return Duration(duration.value * WEEK_MS, Unit.Milliseconds)
|
|
43
|
+
case Unit.Second:
|
|
44
|
+
return Duration(duration.value * SECOND_MS, Unit.Milliseconds)
|
|
45
|
+
case Unit.Milliseconds:
|
|
46
|
+
return Duration(duration.value, Unit.Milliseconds)
|
|
47
|
+
default:
|
|
48
|
+
throw new Error(`Unknown Duration Unit: ${duration.unit}`)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function toUnit<U2 extends Unit>(unit: U2) {
|
|
53
|
+
return <U extends Unit>(duration: Duration<U>): Duration<U2> => {
|
|
54
|
+
const ms = toMilliseconds(duration)
|
|
55
|
+
|
|
56
|
+
switch (unit) {
|
|
57
|
+
case Unit.Week:
|
|
58
|
+
return Duration(ms.value / WEEK_MS, unit)
|
|
59
|
+
case Unit.Day:
|
|
60
|
+
return Duration(ms.value / DAY_MS, unit)
|
|
61
|
+
case Unit.Hour:
|
|
62
|
+
return Duration(ms.value / HOUR_MS, unit)
|
|
63
|
+
case Unit.Minute:
|
|
64
|
+
return Duration(ms.value / WEEK_MS, unit)
|
|
65
|
+
case Unit.Second:
|
|
66
|
+
return Duration(ms.value / SECOND_MS, unit)
|
|
67
|
+
case Unit.Milliseconds:
|
|
68
|
+
return Duration(ms.value, unit)
|
|
69
|
+
default:
|
|
70
|
+
throw new Error(`Unknown Duration Unit: ${duration.unit}`)
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function fromTime(time: Time | Delay | UnixTime): Duration<Unit.Milliseconds> {
|
|
76
|
+
return Duration(time, Unit.Milliseconds)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function toTime<U extends Unit>(duration: Duration<U>): Time {
|
|
80
|
+
return Time(toMilliseconds(duration).value)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export function toDelay<U extends Unit>(duration: Duration<U>): Delay {
|
|
84
|
+
return Delay(toMilliseconds(duration).value)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export function toUnixTime<U extends Unit>(duration: Duration<U>): UnixTime {
|
|
88
|
+
return UnixTime(toMilliseconds(duration).value)
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const formatOrder = [Unit.Week, Unit.Day, Unit.Hour, Unit.Minute, Unit.Second, Unit.Milliseconds]
|
|
92
|
+
|
|
93
|
+
// Attempts to format using the largest unit possible
|
|
94
|
+
export function format<U extends Unit>(duration: Duration<U>): string {
|
|
95
|
+
for (const unit of formatOrder) {
|
|
96
|
+
const d = toUnit(unit)(duration)
|
|
97
|
+
|
|
98
|
+
if (d.value >= 1) {
|
|
99
|
+
return formatDuration(d)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return formatDuration(duration)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function formatDuration<U extends Unit>(duration: Duration<U>): string {
|
|
107
|
+
return `${duration.value}${formatUnit(duration.unit)}`
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export function formatUnit(unit: Unit): string {
|
|
111
|
+
switch (unit) {
|
|
112
|
+
case Unit.Week:
|
|
113
|
+
return 'wk'
|
|
114
|
+
case Unit.Day:
|
|
115
|
+
return 'day'
|
|
116
|
+
case Unit.Hour:
|
|
117
|
+
return 'hr'
|
|
118
|
+
case Unit.Minute:
|
|
119
|
+
return 'min'
|
|
120
|
+
case Unit.Second:
|
|
121
|
+
return 'sec'
|
|
122
|
+
case Unit.Milliseconds:
|
|
123
|
+
return 'ms'
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Duration.js'
|
package/src/Env/Env.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { pipe } from 'hkt-ts'
|
|
2
|
+
import * as Maybe from 'hkt-ts/Maybe'
|
|
3
|
+
|
|
4
|
+
// eslint-disable-next-line import/no-cycle
|
|
5
|
+
import * as FiberRef from '@/FiberRef/index.js'
|
|
6
|
+
// eslint-disable-next-line import/no-cycle
|
|
7
|
+
import * as FiberRefs from '@/FiberRefs/FiberRefs.js'
|
|
8
|
+
import { Fx, Of, fromExit } from '@/Fx/Fx.js'
|
|
9
|
+
// eslint-disable-next-line import/no-cycle
|
|
10
|
+
import { join } from '@/Fx/join.js'
|
|
11
|
+
import { Service } from '@/Service/Service.js'
|
|
12
|
+
|
|
13
|
+
export interface Env<R> {
|
|
14
|
+
readonly get: <S extends R>(service: Service<S>) => Of<S>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function Env<R>(fiberRefs: FiberRefs.FiberRefs): Env<R> {
|
|
18
|
+
return {
|
|
19
|
+
get: get(fiberRefs.fork()), // Always use a snapshot of the FiberRefs to avoid mutability problems.
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function get(fiberRefs: FiberRefs.FiberRefs) {
|
|
24
|
+
return <S>(id: Service<S>): Of<S> => {
|
|
25
|
+
return Fx(function* () {
|
|
26
|
+
const service = pipe(
|
|
27
|
+
fiberRefs,
|
|
28
|
+
FiberRefs.maybeGetFiberRefStack(FiberRef.Services),
|
|
29
|
+
Maybe.flatMap((s) => s.value.get(id)),
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
if (Maybe.isJust(service)) {
|
|
33
|
+
return service.value as S
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const layers = FiberRefs.maybeGetFiberRefStack(FiberRef.Layers)(fiberRefs)
|
|
37
|
+
const layer = pipe(
|
|
38
|
+
layers,
|
|
39
|
+
Maybe.flatMap((s) => s.value.get(id)),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
if (Maybe.isNothing(layers) || Maybe.isNothing(layer)) {
|
|
43
|
+
throw new Error(`Unable to find Layer or Service for ${id.description}`)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const [makeFiber, currentFiber] = layer.value
|
|
47
|
+
|
|
48
|
+
if (Maybe.isJust(currentFiber)) {
|
|
49
|
+
return (yield* fromExit(yield* currentFiber.value.exit)) as S
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const fiber = makeFiber()
|
|
53
|
+
|
|
54
|
+
FiberRefs.setFiberRef(
|
|
55
|
+
FiberRef.Layers,
|
|
56
|
+
layers.value.value.set(id, [makeFiber, Maybe.Just(fiber)]),
|
|
57
|
+
)(fiberRefs)
|
|
58
|
+
|
|
59
|
+
return (yield* join(fiber)) as S
|
|
60
|
+
})
|
|
61
|
+
}
|
|
62
|
+
}
|
package/src/Env/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Env.js'
|