effect 2.4.18 → 3.0.0
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/Array/package.json +6 -0
- package/FiberHandle/package.json +6 -0
- package/Readable/package.json +6 -0
- package/Record/package.json +6 -0
- package/RegExp/package.json +6 -0
- package/Subscribable/package.json +6 -0
- package/dist/cjs/{ReadonlyArray.js → Array.js} +46 -23
- package/dist/cjs/Array.js.map +1 -0
- package/dist/cjs/Brand.js +2 -2
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Channel.js +4 -8
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Chunk.js +5 -1
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/ConfigError.js.map +1 -1
- package/dist/cjs/Cron.js +13 -13
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Duration.js +39 -2
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +14 -10
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +4 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/ExecutionStrategy.js.map +1 -1
- package/dist/cjs/Exit.js +3 -9
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js +2 -8
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberHandle.js +288 -0
- package/dist/cjs/FiberHandle.js.map +1 -0
- package/dist/cjs/FiberMap.js +86 -27
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberSet.js +51 -15
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Iterable.js +40 -5
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/List.js +8 -7
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/Metric.js +3 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricKey.js.map +1 -1
- package/dist/cjs/MetricKeyType.js.map +1 -1
- package/dist/cjs/MutableHashMap.js +0 -4
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/Option.js +3 -6
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Readable.js +79 -0
- package/dist/cjs/Readable.js.map +1 -0
- package/dist/cjs/{ReadonlyRecord.js → Record.js} +29 -29
- package/dist/cjs/Record.js.map +1 -0
- package/dist/cjs/RegExp.js +24 -0
- package/dist/cjs/RegExp.js.map +1 -0
- package/dist/cjs/STM.js +4 -10
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js +2 -2
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/ScopedCache.js.map +1 -1
- package/dist/cjs/Stream.js +3 -9
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/StreamHaltStrategy.js +2 -0
- package/dist/cjs/StreamHaltStrategy.js.map +1 -1
- package/dist/cjs/String.js +44 -2
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Subscribable.js +91 -0
- package/dist/cjs/Subscribable.js.map +1 -0
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +2 -1
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestAnnotations.js +1 -1
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js +3 -3
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/index.js +14 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/{readonlyArray.js → array.js} +1 -1
- package/dist/cjs/internal/array.js.map +1 -0
- package/dist/cjs/internal/cache.js +3 -3
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/cause.js +6 -5
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +15 -15
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/channelState.js +1 -1
- package/dist/cjs/internal/channel/channelState.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel.js +10 -10
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +2 -2
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/configError.js +20 -19
- package/dist/cjs/internal/configError.js.map +1 -1
- package/dist/cjs/internal/configProvider/pathPatch.js +1 -1
- package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +48 -49
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +68 -40
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js +2 -3
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +41 -114
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/dataSource.js +19 -2
- package/dist/cjs/internal/dataSource.js.map +1 -1
- package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -6
- package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +6 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/errors.js +13 -0
- package/dist/cjs/internal/errors.js.map +1 -0
- package/dist/cjs/internal/executionStrategy.js +4 -4
- package/dist/cjs/internal/executionStrategy.js.map +1 -1
- package/dist/cjs/internal/fiber.js +5 -6
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberRefs/patch.js +1 -1
- package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
- package/dist/cjs/internal/fiberRefs.js +1 -1
- package/dist/cjs/internal/fiberRefs.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +106 -66
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js +3 -3
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +1 -1
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +5 -5
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger.js +28 -8
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/managedRuntime.js +1 -1
- package/dist/cjs/internal/managedRuntime.js.map +1 -1
- package/dist/cjs/internal/matcher.js +5 -4
- package/dist/cjs/internal/matcher.js.map +1 -1
- package/dist/cjs/internal/metric/boundaries.js +4 -4
- package/dist/cjs/internal/metric/boundaries.js.map +1 -1
- package/dist/cjs/internal/metric/hook.js +20 -17
- package/dist/cjs/internal/metric/hook.js.map +1 -1
- package/dist/cjs/internal/metric/key.js +4 -4
- package/dist/cjs/internal/metric/key.js.map +1 -1
- package/dist/cjs/internal/metric/keyType.js +6 -1
- package/dist/cjs/internal/metric/keyType.js.map +1 -1
- package/dist/cjs/internal/metric/state.js +4 -4
- package/dist/cjs/internal/metric/state.js.map +1 -1
- package/dist/cjs/internal/metric.js +4 -4
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/pool.js +11 -11
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +5 -5
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js +2 -2
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js +9 -9
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/rateLimiter.js +1 -1
- package/dist/cjs/internal/rateLimiter.js.map +1 -1
- package/dist/cjs/internal/redBlackTree/iterator.js +2 -2
- package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/cjs/internal/ref.js +6 -1
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +1 -1
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/runtime.js +4 -4
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule/intervals.js +2 -1
- package/dist/cjs/internal/schedule/intervals.js.map +1 -1
- package/dist/cjs/internal/schedule.js +5 -5
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js +7 -7
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js +4 -4
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/secret.js +2 -2
- package/dist/cjs/internal/secret.js.map +1 -1
- package/dist/cjs/internal/sink.js +10 -10
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +2 -4
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js +11 -11
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tMap.js +3 -3
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js +11 -11
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js +3 -3
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js +3 -3
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tSet.js +1 -1
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/haltStrategy.js +5 -5
- package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
- package/dist/cjs/internal/stream.js +84 -85
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js +8 -0
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/supervisor.js +1 -1
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/take.js +1 -1
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/trie.js +1 -1
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/{ReadonlyArray.d.ts → Array.d.ts} +39 -18
- package/dist/dts/Array.d.ts.map +1 -0
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +1 -19
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cache.d.ts +10 -10
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +1 -1
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +6 -4
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +1 -4
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/ConfigError.d.ts +7 -6
- package/dist/dts/ConfigError.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +0 -5
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +16 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +38 -33
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +5 -2
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Encoding.d.ts.map +1 -1
- package/dist/dts/Equivalence.d.ts.map +1 -1
- package/dist/dts/ExecutionStrategy.d.ts +10 -2
- package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +4 -3
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +4 -2
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +189 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -0
- package/dist/dts/FiberMap.d.ts +48 -12
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberRefs.d.ts +1 -1
- package/dist/dts/FiberRefs.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +9 -5
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +1 -1
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +0 -1
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts +0 -1
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +12 -5
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +6 -6
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts +0 -11
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +2 -2
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +7 -2
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricKey.d.ts +4 -1
- package/dist/dts/MetricKey.d.ts.map +1 -1
- package/dist/dts/MetricKeyType.d.ts +4 -1
- package/dist/dts/MetricKeyType.d.ts.map +1 -1
- package/dist/dts/MutableHashMap.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +5 -3
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/Readable.d.ts +55 -0
- package/dist/dts/Readable.d.ts.map +1 -0
- package/dist/dts/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
- package/dist/dts/Record.d.ts.map +1 -0
- package/dist/dts/Ref.d.ts +2 -2
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/RegExp.d.ts +17 -0
- package/dist/dts/RegExp.d.ts.map +1 -0
- package/dist/dts/Request.d.ts +1 -1
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +2 -2
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +6 -4
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +1 -1
- package/dist/dts/Scheduler.d.ts.map +1 -1
- package/dist/dts/ScopedCache.d.ts +9 -9
- package/dist/dts/ScopedCache.d.ts.map +1 -1
- package/dist/dts/SortedMap.d.ts.map +1 -1
- package/dist/dts/SortedSet.d.ts +1 -1
- package/dist/dts/SortedSet.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +8 -6
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamHaltStrategy.d.ts +14 -2
- package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
- package/dist/dts/String.d.ts +25 -1
- package/dist/dts/String.d.ts.map +1 -1
- package/dist/dts/Subscribable.d.ts +59 -0
- package/dist/dts/Subscribable.d.ts.map +1 -0
- package/dist/dts/SubscriptionRef.d.ts +2 -2
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
- package/dist/dts/TestAnnotations.d.ts +0 -3
- package/dist/dts/TestAnnotations.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/TestLive.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/TestSized.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +12 -5
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +1 -1
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +0 -7
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/index.d.ts +22 -4
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/array.d.ts +5 -0
- package/dist/dts/internal/array.d.ts.map +1 -0
- package/dist/dts/internal/core-stream.d.ts +4 -0
- package/dist/dts/internal/core-stream.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts +3 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/errors.d.ts +5 -0
- package/dist/dts/internal/errors.d.ts.map +1 -0
- package/dist/dts/internal/fiber.d.ts +5 -1
- package/dist/dts/internal/fiber.d.ts.map +1 -1
- package/dist/dts/internal/hashMap.d.ts.map +1 -1
- package/dist/dts/internal/logger.d.ts.map +1 -1
- package/dist/dts/internal/metric/keyType.d.ts +3 -1
- package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
- package/dist/dts/internal/metric/state.d.ts.map +1 -1
- package/dist/dts/internal/random.d.ts.map +1 -1
- package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm/tExit.d.ts +4 -1
- package/dist/dts/internal/stm/stm/tExit.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm.d.ts +3 -0
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts +5 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/{ReadonlyArray.js → Array.js} +42 -20
- package/dist/esm/Array.js.map +1 -0
- package/dist/esm/Brand.js +2 -2
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Channel.js +4 -2
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Chunk.js +4 -1
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/ConfigError.js.map +1 -1
- package/dist/esm/Cron.js +13 -13
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Duration.js +38 -1
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +11 -2
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +4 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/ExecutionStrategy.js.map +1 -1
- package/dist/esm/Exit.js +4 -2
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js +3 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberHandle.js +247 -0
- package/dist/esm/FiberHandle.js.map +1 -0
- package/dist/esm/FiberMap.js +85 -26
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberRefs.js.map +1 -1
- package/dist/esm/FiberSet.js +51 -15
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/HashSet.js.map +1 -1
- package/dist/esm/Iterable.js +39 -4
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/List.js +7 -6
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/Metric.js +3 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/MetricKey.js.map +1 -1
- package/dist/esm/MetricKeyType.js.map +1 -1
- package/dist/esm/MutableHashMap.js +0 -3
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/Option.js +4 -2
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Readable.js +45 -0
- package/dist/esm/Readable.js.map +1 -0
- package/dist/esm/{ReadonlyRecord.js → Record.js} +29 -29
- package/dist/esm/Record.js.map +1 -0
- package/dist/esm/RegExp.js +17 -0
- package/dist/esm/RegExp.js.map +1 -0
- package/dist/esm/STM.js +5 -3
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/ScopedCache.js.map +1 -1
- package/dist/esm/Stream.js +5 -3
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/StreamHaltStrategy.js +2 -0
- package/dist/esm/StreamHaltStrategy.js.map +1 -1
- package/dist/esm/String.js +37 -1
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/Subscribable.js +56 -0
- package/dist/esm/Subscribable.js.map +1 -0
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/TestAnnotation.js +2 -1
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/TestAnnotations.js +1 -1
- package/dist/esm/TestAnnotations.js.map +1 -1
- package/dist/esm/TestClock.js +3 -3
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/Tracer.js.map +1 -1
- package/dist/esm/index.js +22 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/{readonlyArray.js → array.js} +1 -1
- package/dist/esm/internal/array.js.map +1 -0
- package/dist/esm/internal/cache.js +3 -3
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/cause.js +6 -5
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js +15 -15
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/channelState.js +1 -1
- package/dist/esm/internal/channel/channelState.js.map +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/esm/internal/channel.js +8 -8
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js +2 -2
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/configError.js +20 -19
- package/dist/esm/internal/configError.js.map +1 -1
- package/dist/esm/internal/configProvider/pathPatch.js +1 -1
- package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
- package/dist/esm/internal/configProvider.js +48 -49
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/core-effect.js +64 -38
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core-stream.js +3 -2
- package/dist/esm/internal/core-stream.js.map +1 -1
- package/dist/esm/internal/core.js +37 -108
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/dataSource.js +19 -2
- package/dist/esm/internal/dataSource.js.map +1 -1
- package/dist/esm/internal/differ/readonlyArrayPatch.js +6 -6
- package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +6 -1
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/errors.js +6 -0
- package/dist/esm/internal/errors.js.map +1 -0
- package/dist/esm/internal/executionStrategy.js +4 -4
- package/dist/esm/internal/executionStrategy.js.map +1 -1
- package/dist/esm/internal/fiber.js +6 -5
- package/dist/esm/internal/fiber.js.map +1 -1
- package/dist/esm/internal/fiberRefs/patch.js +1 -1
- package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
- package/dist/esm/internal/fiberRefs.js +1 -1
- package/dist/esm/internal/fiberRefs.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +104 -63
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js +3 -3
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/hashMap.js +1 -1
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +5 -5
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logger.js +28 -8
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/managedRuntime.js +1 -1
- package/dist/esm/internal/managedRuntime.js.map +1 -1
- package/dist/esm/internal/matcher.js +4 -3
- package/dist/esm/internal/matcher.js.map +1 -1
- package/dist/esm/internal/metric/boundaries.js +4 -4
- package/dist/esm/internal/metric/boundaries.js.map +1 -1
- package/dist/esm/internal/metric/hook.js +20 -17
- package/dist/esm/internal/metric/hook.js.map +1 -1
- package/dist/esm/internal/metric/key.js +4 -4
- package/dist/esm/internal/metric/key.js.map +1 -1
- package/dist/esm/internal/metric/keyType.js +5 -1
- package/dist/esm/internal/metric/keyType.js.map +1 -1
- package/dist/esm/internal/metric/state.js +4 -4
- package/dist/esm/internal/metric/state.js.map +1 -1
- package/dist/esm/internal/metric.js +4 -4
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/pool.js +11 -11
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +5 -5
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/query.js +2 -2
- package/dist/esm/internal/query.js.map +1 -1
- package/dist/esm/internal/queue.js +9 -9
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/rateLimiter.js +1 -1
- package/dist/esm/internal/rateLimiter.js.map +1 -1
- package/dist/esm/internal/redBlackTree/iterator.js +2 -2
- package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/esm/internal/ref.js +6 -1
- package/dist/esm/internal/ref.js.map +1 -1
- package/dist/esm/internal/reloadable.js +1 -1
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/runtime.js +4 -4
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule/intervals.js +2 -1
- package/dist/esm/internal/schedule/intervals.js.map +1 -1
- package/dist/esm/internal/schedule.js +3 -3
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/scopedCache.js +7 -7
- package/dist/esm/internal/scopedCache.js.map +1 -1
- package/dist/esm/internal/scopedRef.js +4 -4
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/secret.js +2 -2
- package/dist/esm/internal/secret.js.map +1 -1
- package/dist/esm/internal/sink.js +10 -10
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +3 -2
- package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
- package/dist/esm/internal/stm/stm.js +11 -9
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stm/tMap.js +3 -3
- package/dist/esm/internal/stm/tMap.js.map +1 -1
- package/dist/esm/internal/stm/tPriorityQueue.js +11 -11
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/esm/internal/stm/tPubSub.js +3 -3
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js +3 -3
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tSet.js +1 -1
- package/dist/esm/internal/stm/tSet.js.map +1 -1
- package/dist/esm/internal/stream/haltStrategy.js +5 -5
- package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
- package/dist/esm/internal/stream.js +85 -84
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/subscriptionRef.js +8 -0
- package/dist/esm/internal/subscriptionRef.js.map +1 -1
- package/dist/esm/internal/supervisor.js +1 -1
- package/dist/esm/internal/supervisor.js.map +1 -1
- package/dist/esm/internal/take.js +1 -1
- package/dist/esm/internal/take.js.map +1 -1
- package/dist/esm/internal/tracer.js.map +1 -1
- package/dist/esm/internal/trie.js +1 -1
- package/dist/esm/internal/trie.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +45 -13
- package/src/{ReadonlyArray.ts → Array.ts} +47 -24
- package/src/Brand.ts +3 -3
- package/src/Cache.ts +12 -10
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +12 -9
- package/src/Chunk.ts +3 -3
- package/src/ConfigError.ts +7 -6
- package/src/Cron.ts +17 -17
- package/src/Duration.ts +54 -1
- package/src/Effect.ts +46 -57
- package/src/Either.ts +7 -7
- package/src/ExecutionStrategy.ts +10 -2
- package/src/Exit.ts +11 -9
- package/src/Fiber.ts +11 -8
- package/src/FiberHandle.ts +414 -0
- package/src/FiberMap.ts +181 -73
- package/src/FiberRefs.ts +1 -1
- package/src/FiberSet.ts +96 -36
- package/src/GroupBy.ts +1 -1
- package/src/HashMap.ts +0 -1
- package/src/HashSet.ts +0 -1
- package/src/Iterable.ts +48 -10
- package/src/Layer.ts +6 -6
- package/src/List.ts +8 -7
- package/src/Logger.ts +2 -2
- package/src/Metric.ts +9 -2
- package/src/MetricKey.ts +9 -1
- package/src/MetricKeyType.ts +6 -1
- package/src/MutableHashMap.ts +1 -1
- package/src/Option.ts +9 -6
- package/src/Readable.ts +92 -0
- package/src/{ReadonlyRecord.ts → Record.ts} +28 -29
- package/src/Ref.ts +2 -2
- package/src/RegExp.ts +17 -0
- package/src/Request.ts +1 -1
- package/src/RequestResolver.ts +4 -4
- package/src/STM.ts +12 -9
- package/src/Schedule.ts +1 -1
- package/src/ScopedCache.ts +11 -9
- package/src/SortedSet.ts +1 -1
- package/src/Stream.ts +14 -11
- package/src/StreamHaltStrategy.ts +14 -2
- package/src/String.ts +45 -2
- package/src/Subscribable.ts +99 -0
- package/src/SubscriptionRef.ts +2 -2
- package/src/TestAnnotation.ts +2 -1
- package/src/TestAnnotations.ts +1 -1
- package/src/TestClock.ts +3 -3
- package/src/Tracer.ts +13 -5
- package/src/Trie.ts +1 -1
- package/src/Types.ts +0 -8
- package/src/index.ts +26 -4
- package/src/internal/{readonlyArray.ts → array.ts} +1 -1
- package/src/internal/cache.ts +40 -40
- package/src/internal/cause.ts +8 -8
- package/src/internal/channel/channelExecutor.ts +15 -15
- package/src/internal/channel/channelState.ts +1 -1
- package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
- package/src/internal/channel.ts +11 -11
- package/src/internal/clock.ts +2 -2
- package/src/internal/configError.ts +22 -21
- package/src/internal/configProvider/pathPatch.ts +1 -1
- package/src/internal/configProvider.ts +51 -55
- package/src/internal/core-effect.ts +149 -134
- package/src/internal/core-stream.ts +5 -2
- package/src/internal/core.ts +64 -200
- package/src/internal/dataSource.ts +19 -20
- package/src/internal/differ/readonlyArrayPatch.ts +6 -6
- package/src/internal/effect/circular.ts +9 -3
- package/src/internal/errors.ts +7 -0
- package/src/internal/executionStrategy.ts +14 -12
- package/src/internal/fiber.ts +8 -5
- package/src/internal/fiberRefs/patch.ts +1 -1
- package/src/internal/fiberRefs.ts +1 -1
- package/src/internal/fiberRuntime.ts +157 -123
- package/src/internal/groupBy.ts +4 -4
- package/src/internal/hashMap.ts +1 -2
- package/src/internal/hashSet.ts +0 -1
- package/src/internal/layer/circular.ts +2 -2
- package/src/internal/layer.ts +9 -9
- package/src/internal/logger.ts +28 -8
- package/src/internal/managedRuntime.ts +1 -1
- package/src/internal/matcher.ts +5 -3
- package/src/internal/metric/boundaries.ts +5 -5
- package/src/internal/metric/hook.ts +21 -18
- package/src/internal/metric/key.ts +8 -5
- package/src/internal/metric/keyType.ts +5 -2
- package/src/internal/metric/state.ts +5 -5
- package/src/internal/metric.ts +8 -6
- package/src/internal/pool.ts +11 -11
- package/src/internal/pubsub.ts +6 -6
- package/src/internal/query.ts +4 -4
- package/src/internal/queue.ts +11 -11
- package/src/internal/rateLimiter.ts +1 -1
- package/src/internal/redBlackTree/iterator.ts +2 -2
- package/src/internal/ref.ts +8 -2
- package/src/internal/reloadable.ts +1 -1
- package/src/internal/runtime.ts +5 -5
- package/src/internal/schedule/intervals.ts +2 -1
- package/src/internal/schedule.ts +8 -9
- package/src/internal/scopedCache.ts +53 -53
- package/src/internal/scopedRef.ts +4 -4
- package/src/internal/secret.ts +2 -2
- package/src/internal/sink.ts +10 -10
- package/src/internal/stm/stm/tExit.ts +5 -2
- package/src/internal/stm/stm.ts +13 -9
- package/src/internal/stm/tMap.ts +3 -3
- package/src/internal/stm/tPriorityQueue.ts +11 -11
- package/src/internal/stm/tPubSub.ts +3 -3
- package/src/internal/stm/tQueue.ts +3 -3
- package/src/internal/stm/tSet.ts +1 -1
- package/src/internal/stream/haltStrategy.ts +23 -14
- package/src/internal/stream.ts +91 -88
- package/src/internal/subscriptionRef.ts +8 -0
- package/src/internal/supervisor.ts +1 -1
- package/src/internal/take.ts +1 -1
- package/src/internal/tracer.ts +2 -2
- package/src/internal/trie.ts +1 -2
- package/src/internal/version.ts +1 -1
- package/ReadonlyArray/package.json +0 -6
- package/ReadonlyRecord/package.json +0 -6
- package/dist/cjs/ReadonlyArray.js.map +0 -1
- package/dist/cjs/ReadonlyRecord.js.map +0 -1
- package/dist/cjs/internal/Iterable.js +0 -61
- package/dist/cjs/internal/Iterable.js.map +0 -1
- package/dist/cjs/internal/readonlyArray.js.map +0 -1
- package/dist/dts/ReadonlyArray.d.ts.map +0 -1
- package/dist/dts/ReadonlyRecord.d.ts.map +0 -1
- package/dist/dts/internal/Iterable.d.ts +0 -2
- package/dist/dts/internal/Iterable.d.ts.map +0 -1
- package/dist/dts/internal/readonlyArray.d.ts +0 -5
- package/dist/dts/internal/readonlyArray.d.ts.map +0 -1
- package/dist/esm/ReadonlyArray.js.map +0 -1
- package/dist/esm/ReadonlyRecord.js.map +0 -1
- package/dist/esm/internal/Iterable.js +0 -53
- package/dist/esm/internal/Iterable.js.map +0 -1
- package/dist/esm/internal/readonlyArray.js.map +0 -1
- package/src/internal/Iterable.ts +0 -54
package/dist/esm/Either.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Either.js","names":["Equivalence","constNull","constUndefined","dual","identity","either","isFunction","Gen","TypeId","right","left","fromNullable","self","onNullable","fromOption","try_","evaluate","e","try","catch","isEither","isLeft","isRight","getRight","getLeft","getEquivalence","
|
|
1
|
+
{"version":3,"file":"Either.js","names":["Equivalence","constNull","constUndefined","dual","identity","either","isFunction","Gen","TypeId","right","left","fromNullable","self","onNullable","fromOption","try_","evaluate","e","try","catch","isEither","isLeft","isRight","getRight","getLeft","getEquivalence","make","x","y","mapBoth","onLeft","onRight","mapLeft","f","map","match","filterOrLeft","predicate","orLeftWith","flatMap","r","merge","getOrElse","getOrNull","getOrUndefined","getOrThrowWith","getOrThrow","Error","orElse","that","andThen","a","b","zipWith","r2","ap","all","input","Symbol","iterator","out","push","key","Object","keys","flip","adapter","gen","state","next","done","value","current","Do","bind","tag","k","bindTo","let_","let"],"sources":["../../src/Either.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA,OAAO,KAAKA,WAAW,MAAM,kBAAkB;AAE/C,SAASC,SAAS,EAAEC,cAAc,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,eAAe;AAGzE,OAAO,KAAKC,MAAM,MAAM,sBAAsB;AAI9C,SAASC,UAAU,QAAQ,gBAAgB;AAG3C,OAAO,KAAKC,GAAG,MAAM,YAAY;AAQjC;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBH,MAAM,CAACG,MAAM;AAgFlD;;;;;;;AAOA,OAAO,MAAMC,KAAK,GAA+BJ,MAAM,CAACI,KAAK;AAE7D;;;;;;;AAOA,OAAO,MAAMC,IAAI,GAAqCL,MAAM,CAACK,IAAI;AAEjE;;;;;;;;;;;;;AAaA,OAAO,MAAMC,YAAY,gBAGrBR,IAAI,CACN,CAAC,EACD,CAAOS,IAAO,EAAEC,UAA2B,KACzCD,IAAI,IAAI,IAAI,GAAGF,IAAI,CAACG,UAAU,CAACD,IAAI,CAAC,CAAC,GAAGH,KAAK,CAACG,IAAsB,CAAC,CACxE;AAED;;;;;;;;;;;AAWA,OAAO,MAAME,UAAU,GAGnBT,MAAM,CAACS,UAAU;AAErB,MAAMC,IAAI,GASRC,QAGC,IACC;EACF,IAAIV,UAAU,CAACU,QAAQ,CAAC,EAAE;IACxB,IAAI;MACF,OAAOP,KAAK,CAACO,QAAQ,EAAE,CAAC;IAC1B,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,OAAOP,IAAI,CAACO,CAAC,CAAC;IAChB;EACF,CAAC,MAAM;IACL,IAAI;MACF,OAAOR,KAAK,CAACO,QAAQ,CAACE,GAAG,EAAE,CAAC;IAC9B,CAAC,CAAC,OAAOD,CAAC,EAAE;MACV,OAAOP,IAAI,CAACM,QAAQ,CAACG,KAAK,CAACF,CAAC,CAAC,CAAC;IAChC;EACF;AACF,CAAS;AAET;AACE;;;;;;;AAOAF,IAAI,IAAIG,GAAG;AAGb;;;;;;;;;;;;;;;AAeA,OAAO,MAAME,QAAQ,GAA0Df,MAAM,CAACe,QAAQ;AAE9F;;;;;;;;;;;;;;AAcA,OAAO,MAAMC,MAAM,GAAqDhB,MAAM,CAACgB,MAAM;AAErF;;;;;;;;;;;;;;AAcA,OAAO,MAAMC,OAAO,GAAsDjB,MAAM,CAACiB,OAAO;AAExF;;;;;;;;;;;;;;;AAeA,OAAO,MAAMC,QAAQ,GAA4ClB,MAAM,CAACkB,QAAQ;AAEhF;;;;;;;;;;;;;AAaA,OAAO,MAAMC,OAAO,GAA4CnB,MAAM,CAACmB,OAAO;AAE9E;;;;AAIA,OAAO,MAAMC,cAAc,GAAGA,CAAO;EAAEf,IAAI;EAAED;AAAK,CAGjD,KACCT,WAAW,CAAC0B,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KACpBD,CAAC,KAAKC,CAAC,KACNP,MAAM,CAACM,CAAC,CAAC,GACRN,MAAM,CAACO,CAAC,CAAC,IAAIlB,IAAI,CAACiB,CAAC,CAACjB,IAAI,EAAEkB,CAAC,CAAClB,IAAI,CAAC,GACjCY,OAAO,CAACM,CAAC,CAAC,IAAInB,KAAK,CAACkB,CAAC,CAAClB,KAAK,EAAEmB,CAAC,CAACnB,KAAK,CAAC,CAAC,CACzC;AAEH;;;;AAIA,OAAO,MAAMoB,OAAO,gBAShB1B,IAAI,CACN,CAAC,EACD,CAAeS,IAAkB,EAAE;EAAEkB,MAAM;EAAEC;AAAO,CAGnD,KAAqBV,MAAM,CAACT,IAAI,CAAC,GAAGF,IAAI,CAACoB,MAAM,CAAClB,IAAI,CAACF,IAAI,CAAC,CAAC,GAAGD,KAAK,CAACsB,OAAO,CAACnB,IAAI,CAACH,KAAK,CAAC,CAAC,CAC1F;AAED;;;;;;;;;AASA,OAAO,MAAMuB,OAAO,gBAGhB7B,IAAI,CACN,CAAC,EACD,CAAYS,IAAmB,EAAEqB,CAAmB,KAClDZ,MAAM,CAACT,IAAI,CAAC,GAAGF,IAAI,CAACuB,CAAC,CAACrB,IAAI,CAACF,IAAI,CAAC,CAAC,GAAGD,KAAK,CAACG,IAAI,CAACH,KAAK,CAAC,CACxD;AAED;;;;;;;;;AASA,OAAO,MAAMyB,GAAG,gBAGZ/B,IAAI,CACN,CAAC,EACD,CAAYS,IAAmB,EAAEqB,CAAoB,KACnDX,OAAO,CAACV,IAAI,CAAC,GAAGH,KAAK,CAACwB,CAAC,CAACrB,IAAI,CAACH,KAAK,CAAC,CAAC,GAAGC,IAAI,CAACE,IAAI,CAACF,IAAI,CAAC,CACzD;AAED;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,MAAMyB,KAAK,gBASdhC,IAAI,CACN,CAAC,EACD,CAAiBS,IAAkB,EAAE;EAAEkB,MAAM;EAAEC;AAAO,CAGrD,KAAYV,MAAM,CAACT,IAAI,CAAC,GAAGkB,MAAM,CAAClB,IAAI,CAACF,IAAI,CAAC,GAAGqB,OAAO,CAACnB,IAAI,CAACH,KAAK,CAAC,CACpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,OAAO,MAAM2B,YAAY,gBAerBjC,IAAI,CAAC,CAAC,EAAE,CACVS,IAAkB,EAClByB,SAAuB,EACvBC,UAA4B,KACNC,OAAO,CAAC3B,IAAI,EAAG4B,CAAC,IAAKH,SAAS,CAACG,CAAC,CAAC,GAAG/B,KAAK,CAAC+B,CAAC,CAAC,GAAG9B,IAAI,CAAC4B,UAAU,CAACE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5F;;;;AAIA,OAAO,MAAMC,KAAK,gBAAwCN,KAAK,CAAC;EAC9DL,MAAM,EAAE1B,QAAQ;EAChB2B,OAAO,EAAE3B;CACV,CAAC;AAEF;;;;;;;;;;;;AAYA,OAAO,MAAMsC,SAAS,gBAGlBvC,IAAI,CACN,CAAC,EACD,CAAUS,IAAkB,EAAEkB,MAAsB,KAAYT,MAAM,CAACT,IAAI,CAAC,GAAGkB,MAAM,CAAClB,IAAI,CAACF,IAAI,CAAC,GAAGE,IAAI,CAACH,KAAK,CAC9G;AAED;;;;;;;;;;AAUA,OAAO,MAAMkC,SAAS,gBAA2CD,SAAS,CAACzC,SAAS,CAAC;AAErF;;;;;;;;;;AAUA,OAAO,MAAM2C,cAAc,gBAAgDF,SAAS,CAACxC,cAAc,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,MAAM2C,cAAc,gBAGvB1C,IAAI,CAAC,CAAC,EAAE,CAAOS,IAAkB,EAAEkB,MAA4B,KAAO;EACxE,IAAIR,OAAO,CAACV,IAAI,CAAC,EAAE;IACjB,OAAOA,IAAI,CAACH,KAAK;EACnB;EACA,MAAMqB,MAAM,CAAClB,IAAI,CAACF,IAAI,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;AAiBA,OAAO,MAAMoC,UAAU,gBAAoCD,cAAc,CAAC,MACxE,IAAIE,KAAK,CAAC,6BAA6B,CAAC,CACzC;AAED;;;;;;;;;AASA,OAAO,MAAMC,MAAM,gBAGf7C,IAAI,CACN,CAAC,EACD,CAAiBS,IAAoB,EAAEqC,IAAkC,KACvE5B,MAAM,CAACT,IAAI,CAAC,GAAGqC,IAAI,CAACrC,IAAI,CAACF,IAAI,CAAC,GAAGD,KAAK,CAACG,IAAI,CAACH,KAAK,CAAC,CACrD;AAED;;;;AAIA,OAAO,MAAM8B,OAAO,gBAGhBpC,IAAI,CACN,CAAC,EACD,CAAiBS,IAAoB,EAAEqB,CAAgC,KACrEZ,MAAM,CAACT,IAAI,CAAC,GAAGF,IAAI,CAACE,IAAI,CAACF,IAAI,CAAC,GAAGuB,CAAC,CAACrB,IAAI,CAACH,KAAK,CAAC,CACjD;AAED;;;;;;AAMA,OAAO,MAAMyC,OAAO,gBAShB/C,IAAI,CACN,CAAC,EACD,CAAeS,IAAkB,EAAEqB,CAAgD,KACjFM,OAAO,CAAC3B,IAAI,EAAGuC,CAAC,IAAI;EAClB,MAAMC,CAAC,GAAG9C,UAAU,CAAC2B,CAAC,CAAC,GAAGA,CAAC,CAACkB,CAAC,CAAC,GAAGlB,CAAC;EAClC,OAAOb,QAAQ,CAACgC,CAAC,CAAC,GAAGA,CAAC,GAAG3C,KAAK,CAAC2C,CAAC,CAAC;AACnC,CAAC,CAAC,CACL;AAED;;;;AAIA,OAAO,MAAMC,OAAO,gBAUhBlD,IAAI,CACN,CAAC,EACD,CAAkBS,IAAkB,EAAEqC,IAAoB,EAAEhB,CAA8B,KACxFM,OAAO,CAAC3B,IAAI,EAAG4B,CAAC,IAAKN,GAAG,CAACe,IAAI,EAAGK,EAAE,IAAKrB,CAAC,CAACO,CAAC,EAAEc,EAAE,CAAC,CAAC,CAAC,CACpD;AAED;;;;AAIA,OAAO,MAAMC,EAAE,gBAGXpD,IAAI,CACN,CAAC,EACD,CAAeS,IAAiC,EAAEqC,IAAmB,KACnEI,OAAO,CAACzC,IAAI,EAAEqC,IAAI,EAAE,CAAChB,CAAC,EAAEkB,CAAC,KAAKlB,CAAC,CAACkB,CAAC,CAAC,CAAC,CACtC;AAED;;;;;;;;;;;;;;;;;;;AAmBA;AACA,OAAO,MAAMK,GAAG,GAWZC,KAAoE,IAChD;EACpB,IAAIC,MAAM,CAACC,QAAQ,IAAIF,KAAK,EAAE;IAC5B,MAAMG,GAAG,GAA4B,EAAE;IACvC,KAAK,MAAM3C,CAAC,IAAKwC,KAAoC,EAAE;MACrD,IAAIpC,MAAM,CAACJ,CAAC,CAAC,EAAE;QACb,OAAOA,CAAC;MACV;MACA2C,GAAG,CAACC,IAAI,CAAC5C,CAAC,CAACR,KAAK,CAAC;IACnB;IACA,OAAOA,KAAK,CAACmD,GAAG,CAAC;EACnB;EAEA,MAAMA,GAAG,GAAwB,EAAE;EACnC,KAAK,MAAME,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACP,KAAK,CAAC,EAAE;IACpC,MAAMxC,CAAC,GAAGwC,KAAK,CAACK,GAAG,CAAC;IACpB,IAAIzC,MAAM,CAACJ,CAAC,CAAC,EAAE;MACb,OAAOA,CAAC;IACV;IACA2C,GAAG,CAACE,GAAG,CAAC,GAAG7C,CAAC,CAACR,KAAK;EACpB;EACA,OAAOA,KAAK,CAACmD,GAAG,CAAC;AACnB,CAAC;AAEH;;;;;;;AAOA,OAAO,MAAMK,IAAI,GAAUrD,IAAkB,IAAmBS,MAAM,CAACT,IAAI,CAAC,GAAGH,KAAK,CAACG,IAAI,CAACF,IAAI,CAAC,GAAGA,IAAI,CAACE,IAAI,CAACH,KAAK,CAAC;AAElH,MAAMyD,OAAO,gBAAG3D,GAAG,CAAC2D,OAAO,EAAoB;AAE/C;;;;AAIA,OAAO,MAAMC,GAAG,GAA8DlC,CAAC,IAAI;EACjF,MAAM0B,QAAQ,GAAG1B,CAAC,CAACiC,OAAO,CAAC;EAC3B,IAAIE,KAAK,GAAyDT,QAAQ,CAACU,IAAI,EAAE;EACjF,IAAID,KAAK,CAACE,IAAI,EAAE;IACd,OAAO7D,KAAK,CAAC2D,KAAK,CAACG,KAAK,CAAQ;EAClC,CAAC,MAAM;IACL,IAAIC,OAAO,GAAGJ,KAAK,CAACG,KAAK,CAACA,KAAK;IAC/B,IAAIlD,MAAM,CAACmD,OAAO,CAAC,EAAE;MACnB,OAAOA,OAAO;IAChB;IACA,OAAO,CAACJ,KAAK,CAACE,IAAI,EAAE;MAClBF,KAAK,GAAGT,QAAQ,CAACU,IAAI,CAACG,OAAO,CAAC/D,KAAK,CAAC;MACpC,IAAI,CAAC2D,KAAK,CAACE,IAAI,EAAE;QACfE,OAAO,GAAGJ,KAAK,CAACG,KAAK,CAACA,KAAK;QAC3B,IAAIlD,MAAM,CAACmD,OAAO,CAAC,EAAE;UACnB,OAAOA,OAAO;QAChB;MACF;IACF;IACA,OAAO/D,KAAK,CAAC2D,KAAK,CAACG,KAAK,CAAC;EAC3B;AACF,CAAC;AAED;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAME,EAAE,gBAAehE,KAAK,CAAC,EAAE,CAAC;AAEvC;;;;;;AAMA,OAAO,MAAMiE,IAAI,gBAUbvE,IAAI,CAAC,CAAC,EAAE,CACVS,IAAkB,EAClB+D,GAAwB,EACxB1C,CAA0B,KAE1BM,OAAO,CAAC3B,IAAI,EAAGgE,CAAC,IACd1C,GAAG,CACDD,CAAC,CAAC2C,CAAC,CAAC,EACHzB,CAAC,KAAuC;EAAE,GAAGyB,CAAC;EAAE,CAACD,GAAG,GAAGxB;AAAC,CAAU,EACpE,CAAC,CAAC;AAEP;;;;AAIA,OAAO,MAAM0B,MAAM,gBAGf1E,IAAI,CACN,CAAC,EACD,CAAyBS,IAAkB,EAAE+D,GAAM,KACjDzC,GAAG,CAACtB,IAAI,EAAGuC,CAAC,KAAM;EAAE,CAACwB,GAAG,GAAGxB;AAAC,CAAmB,EAAC,CACnD;AAED,MAAM2B,IAAI,gBAUN3E,IAAI,CAAC,CAAC,EAAE,CACVS,IAAkB,EAClB+D,GAAwB,EACxB1C,CAAc,KAEdC,GAAG,CACDtB,IAAI,EACHgE,CAAC,KAAuC;EAAE,GAAGA,CAAC;EAAE,CAACD,GAAG,GAAG1C,CAAC,CAAC2C,CAAC;AAAC,CAAU,EACvE,CAAC;AAEJ;AACE;;;;;;AAMAE,IAAI,IAAIC,GAAG","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionStrategy.js","names":["internal","sequential","parallel","parallelN","isSequential","isParallel","isParallelN","match"],"sources":["../../src/ExecutionStrategy.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,QAAQ,MAAM,iCAAiC;AA6C3D;;;;;;AAMA,OAAO,MAAMC,UAAU,GAAsBD,QAAQ,CAACC,UAAU;AAEhE;;;;;;AAMA,OAAO,MAAMC,QAAQ,GAAsBF,QAAQ,CAACE,QAAQ;AAE5D;;;;;;AAMA,OAAO,MAAMC,SAAS,GAA+CH,QAAQ,CAACG,SAAS;AAEvF;;;;;;;AAOA,OAAO,MAAMC,YAAY,GAAoDJ,QAAQ,CAACI,YAAY;AAElG;;;;;;;AAOA,OAAO,MAAMC,UAAU,GAAkDL,QAAQ,CAACK,UAAU;AAE5F;;;;;;;AAOA,OAAO,MAAMC,WAAW,GAAmDN,QAAQ,CAACM,WAAW;AAE/F;;;;;;;AAOA,OAAO,MAAMC,KAAK,
|
|
1
|
+
{"version":3,"file":"ExecutionStrategy.js","names":["internal","sequential","parallel","parallelN","isSequential","isParallel","isParallelN","match"],"sources":["../../src/ExecutionStrategy.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,QAAQ,MAAM,iCAAiC;AA6C3D;;;;;;AAMA,OAAO,MAAMC,UAAU,GAAsBD,QAAQ,CAACC,UAAU;AAEhE;;;;;;AAMA,OAAO,MAAMC,QAAQ,GAAsBF,QAAQ,CAACE,QAAQ;AAE5D;;;;;;AAMA,OAAO,MAAMC,SAAS,GAA+CH,QAAQ,CAACG,SAAS;AAEvF;;;;;;;AAOA,OAAO,MAAMC,YAAY,GAAoDJ,QAAQ,CAACI,YAAY;AAElG;;;;;;;AAOA,OAAO,MAAMC,UAAU,GAAkDL,QAAQ,CAACK,UAAU;AAE5F;;;;;;;AAOA,OAAO,MAAMC,WAAW,GAAmDN,QAAQ,CAACM,WAAW;AAE/F;;;;;;;AAOA,OAAO,MAAMC,KAAK,GAWdP,QAAQ,CAACO,KAAK","ignoreList":[]}
|
package/dist/esm/Exit.js
CHANGED
|
@@ -42,7 +42,7 @@ export const as = core.exitAs;
|
|
|
42
42
|
* @since 2.0.0
|
|
43
43
|
* @category mapping
|
|
44
44
|
*/
|
|
45
|
-
export const
|
|
45
|
+
export const asVoid = core.exitAsVoid;
|
|
46
46
|
/**
|
|
47
47
|
* Returns a `Some<Cause<E>>` if the specified exit is a `Failure`, `None`
|
|
48
48
|
* otherwise.
|
|
@@ -189,13 +189,15 @@ export const matchEffect = core.exitMatchEffect;
|
|
|
189
189
|
* @category constructors
|
|
190
190
|
*/
|
|
191
191
|
export const succeed = core.exitSucceed;
|
|
192
|
+
const void_ = core.exitVoid;
|
|
193
|
+
export {
|
|
192
194
|
/**
|
|
193
195
|
* Represents an `Exit` which succeeds with `undefined`.
|
|
194
196
|
*
|
|
195
197
|
* @since 2.0.0
|
|
196
198
|
* @category constructors
|
|
197
199
|
*/
|
|
198
|
-
|
|
200
|
+
void_ as void };
|
|
199
201
|
/**
|
|
200
202
|
* Sequentially zips the this result with the specified result or else returns
|
|
201
203
|
* the failed `Cause<E | E2>`.
|
package/dist/esm/Exit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exit.js","names":["core","isExit","exitIsExit","isFailure","exitIsFailure","isSuccess","exitIsSuccess","isInterrupted","exitIsInterrupted","as","exitAs","
|
|
1
|
+
{"version":3,"file":"Exit.js","names":["core","isExit","exitIsExit","isFailure","exitIsFailure","isSuccess","exitIsSuccess","isInterrupted","exitIsInterrupted","as","exitAs","asVoid","exitAsVoid","causeOption","exitCauseOption","all","exitCollectAll","die","exitDie","exists","exitExists","fail","exitFail","failCause","exitFailCause","flatMap","exitFlatMap","flatMapEffect","exitFlatMapEffect","flatten","exitFlatten","forEachEffect","exitForEachEffect","fromEither","exitFromEither","fromOption","exitFromOption","getOrElse","exitGetOrElse","interrupt","exitInterrupt","map","exitMap","mapBoth","exitMapBoth","mapError","exitMapError","mapErrorCause","exitMapErrorCause","match","exitMatch","matchEffect","exitMatchEffect","succeed","exitSucceed","void_","exitVoid","void","zip","exitZip","zipLeft","exitZipLeft","zipRight","exitZipRight","zipPar","exitZipPar","zipParLeft","exitZipParLeft","zipParRight","exitZipParRight","zipWith","exitZipWith"],"sources":["../../src/Exit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Fiber.js
CHANGED
|
@@ -307,13 +307,15 @@ export const status = internal.status;
|
|
|
307
307
|
* @category constructors
|
|
308
308
|
*/
|
|
309
309
|
export const succeed = internal.succeed;
|
|
310
|
+
const void_ = internal.void;
|
|
311
|
+
export {
|
|
310
312
|
/**
|
|
311
313
|
* A fiber that has already succeeded with unit.
|
|
312
314
|
*
|
|
313
315
|
* @since 2.0.0
|
|
314
316
|
* @category constructors
|
|
315
317
|
*/
|
|
316
|
-
|
|
318
|
+
void_ as void };
|
|
317
319
|
/**
|
|
318
320
|
* Zips this fiber and the specified fiber together, producing a tuple of
|
|
319
321
|
* their output.
|
package/dist/esm/Fiber.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fiber.js","names":["core","circular","internal","fiberRuntime","FiberTypeId","RuntimeFiberTypeId","Order","isFiber","isRuntimeFiber","id","_await","await","awaitAll","fiberAwaitAll","children","all","fiberAll","done","dump","dumpAll","fail","failCause","fromEffect","getCurrentFiber","inheritAll","interrupt","interruptFiber","interrupted","interruptAs","interruptAsFiber","interruptAsFork","interruptAll","interruptAllAs","interruptFork","fiberInterruptFork","join","joinAll","fiberJoinAll","map","mapEffect","mapFiber","match","never","orElse","orElseEither","poll","pretty","roots","unsafeRoots","scoped","fiberScoped","status","succeed","
|
|
1
|
+
{"version":3,"file":"Fiber.js","names":["core","circular","internal","fiberRuntime","FiberTypeId","RuntimeFiberTypeId","Order","isFiber","isRuntimeFiber","id","_await","await","awaitAll","fiberAwaitAll","children","all","fiberAll","done","dump","dumpAll","fail","failCause","fromEffect","getCurrentFiber","inheritAll","interrupt","interruptFiber","interrupted","interruptAs","interruptAsFiber","interruptAsFork","interruptAll","interruptAllAs","interruptFork","fiberInterruptFork","join","joinAll","fiberJoinAll","map","mapEffect","mapFiber","match","never","orElse","orElseEither","poll","pretty","roots","unsafeRoots","scoped","fiberScoped","status","succeed","void_","void","zip","zipFiber","zipLeft","zipLeftFiber","zipRight","zipRightFiber","zipWith","zipWithFiber"],"sources":["../../src/Fiber.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Cause from "./Cause.js";
|
|
6
|
+
import * as Deferred from "./Deferred.js";
|
|
7
|
+
import * as Exit from "./Exit.js";
|
|
8
|
+
import * as Fiber from "./Fiber.js";
|
|
9
|
+
import * as FiberId from "./FiberId.js";
|
|
10
|
+
import * as FiberRef from "./FiberRef.js";
|
|
11
|
+
import { dual } from "./Function.js";
|
|
12
|
+
import * as Inspectable from "./Inspectable.js";
|
|
13
|
+
import * as Option from "./Option.js";
|
|
14
|
+
import { pipeArguments } from "./Pipeable.js";
|
|
15
|
+
import * as Predicate from "./Predicate.js";
|
|
16
|
+
import * as Runtime from "./Runtime.js";
|
|
17
|
+
/**
|
|
18
|
+
* @since 2.0.0
|
|
19
|
+
* @categories type ids
|
|
20
|
+
*/
|
|
21
|
+
export const TypeId = /*#__PURE__*/Symbol.for("effect/FiberHandle");
|
|
22
|
+
/**
|
|
23
|
+
* @since 2.0.0
|
|
24
|
+
* @categories refinements
|
|
25
|
+
*/
|
|
26
|
+
export const isFiberHandle = u => Predicate.hasProperty(u, TypeId);
|
|
27
|
+
const Proto = {
|
|
28
|
+
[TypeId]: TypeId,
|
|
29
|
+
toString() {
|
|
30
|
+
return Inspectable.format(this.toJSON());
|
|
31
|
+
},
|
|
32
|
+
toJSON() {
|
|
33
|
+
return {
|
|
34
|
+
_id: "FiberHandle",
|
|
35
|
+
state: this.state
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
[Inspectable.NodeInspectSymbol]() {
|
|
39
|
+
return this.toJSON();
|
|
40
|
+
},
|
|
41
|
+
pipe() {
|
|
42
|
+
return pipeArguments(this, arguments);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const unsafeMake = deferred => {
|
|
46
|
+
const self = Object.create(Proto);
|
|
47
|
+
self.state = {
|
|
48
|
+
_tag: "Open",
|
|
49
|
+
fiber: undefined
|
|
50
|
+
};
|
|
51
|
+
self.deferred = deferred;
|
|
52
|
+
return self;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* A FiberHandle can be used to store a single fiber.
|
|
56
|
+
* When the associated Scope is closed, the contained fiber will be interrupted.
|
|
57
|
+
*
|
|
58
|
+
* You can add a fiber to the handle using `FiberHandle.run`, and the fiber will
|
|
59
|
+
* be automatically removed from the FiberHandle when it completes.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* import { Effect, FiberHandle } from "effect"
|
|
63
|
+
*
|
|
64
|
+
* Effect.gen(function*(_) {
|
|
65
|
+
* const handle = yield* _(FiberHandle.make())
|
|
66
|
+
*
|
|
67
|
+
* // run some effects
|
|
68
|
+
* yield* _(FiberHandle.run(handle, Effect.never))
|
|
69
|
+
* // this will interrupt the previous fiber
|
|
70
|
+
* yield* _(FiberHandle.run(handle, Effect.never))
|
|
71
|
+
*
|
|
72
|
+
* yield* _(Effect.sleep(1000))
|
|
73
|
+
* }).pipe(
|
|
74
|
+
* Effect.scoped // The fiber will be interrupted when the scope is closed
|
|
75
|
+
* )
|
|
76
|
+
*
|
|
77
|
+
* @since 2.0.0
|
|
78
|
+
* @categories constructors
|
|
79
|
+
*/
|
|
80
|
+
export const make = () => Effect.acquireRelease(Effect.map(Deferred.make(), deferred => unsafeMake(deferred)), handle => Effect.zipRight(clear(handle), Effect.suspend(() => {
|
|
81
|
+
handle.state = {
|
|
82
|
+
_tag: "Closed"
|
|
83
|
+
};
|
|
84
|
+
return Deferred.done(handle.deferred, Exit.void);
|
|
85
|
+
})));
|
|
86
|
+
/**
|
|
87
|
+
* Create an Effect run function that is backed by a FiberHandle.
|
|
88
|
+
*
|
|
89
|
+
* @since 2.0.0
|
|
90
|
+
* @categories constructors
|
|
91
|
+
*/
|
|
92
|
+
export const makeRuntime = () => Effect.flatMap(make(), self => runtime(self)());
|
|
93
|
+
/**
|
|
94
|
+
* Set the fiber in a FiberHandle. When the fiber completes, it will be removed from the FiberHandle.
|
|
95
|
+
* If a fiber is already running, it will be interrupted unless `options.onlyIfMissing` is set.
|
|
96
|
+
*
|
|
97
|
+
* @since 2.0.0
|
|
98
|
+
* @categories combinators
|
|
99
|
+
*/
|
|
100
|
+
export const unsafeSet = /*#__PURE__*/dual(args => isFiberHandle(args[0]), (self, fiber, options) => {
|
|
101
|
+
if (self.state._tag === "Closed") {
|
|
102
|
+
fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
|
|
103
|
+
return;
|
|
104
|
+
} else if (self.state.fiber !== undefined) {
|
|
105
|
+
if (options?.onlyIfMissing === true) {
|
|
106
|
+
fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
|
|
107
|
+
return;
|
|
108
|
+
} else if (self.state.fiber === fiber) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
self.state.fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
|
|
112
|
+
self.state.fiber === undefined;
|
|
113
|
+
}
|
|
114
|
+
;
|
|
115
|
+
fiber.setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none());
|
|
116
|
+
self.state.fiber = fiber;
|
|
117
|
+
fiber.addObserver(exit => {
|
|
118
|
+
if (self.state._tag === "Open" && fiber === self.state.fiber) {
|
|
119
|
+
self.state.fiber = undefined;
|
|
120
|
+
}
|
|
121
|
+
if (Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause)) {
|
|
122
|
+
Deferred.unsafeDone(self.deferred, exit);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
/**
|
|
127
|
+
* Set the fiber in the FiberHandle. When the fiber completes, it will be removed from the FiberHandle.
|
|
128
|
+
* If a fiber already exists in the FiberHandle, it will be interrupted unless `options.onlyIfMissing` is set.
|
|
129
|
+
*
|
|
130
|
+
* @since 2.0.0
|
|
131
|
+
* @categories combinators
|
|
132
|
+
*/
|
|
133
|
+
export const set = /*#__PURE__*/dual(args => isFiberHandle(args[0]), (self, fiber, options) => Effect.fiberIdWith(fiberId => Effect.sync(() => unsafeSet(self, fiber, {
|
|
134
|
+
interruptAs: fiberId,
|
|
135
|
+
onlyIfMissing: options?.onlyIfMissing
|
|
136
|
+
}))));
|
|
137
|
+
/**
|
|
138
|
+
* Retrieve the fiber from the FiberHandle.
|
|
139
|
+
*
|
|
140
|
+
* @since 2.0.0
|
|
141
|
+
* @categories combinators
|
|
142
|
+
*/
|
|
143
|
+
export const unsafeGet = self => self.state._tag === "Closed" ? Option.none() : Option.fromNullable(self.state.fiber);
|
|
144
|
+
/**
|
|
145
|
+
* Retrieve the fiber from the FiberHandle.
|
|
146
|
+
*
|
|
147
|
+
* @since 2.0.0
|
|
148
|
+
* @categories combinators
|
|
149
|
+
*/
|
|
150
|
+
export const get = self => Effect.suspend(() => unsafeGet(self));
|
|
151
|
+
/**
|
|
152
|
+
* @since 2.0.0
|
|
153
|
+
* @categories combinators
|
|
154
|
+
*/
|
|
155
|
+
export const clear = self => Effect.uninterruptibleMask(restore => Effect.suspend(() => {
|
|
156
|
+
if (self.state._tag === "Closed" || self.state.fiber === undefined) {
|
|
157
|
+
return Effect.void;
|
|
158
|
+
}
|
|
159
|
+
return Effect.zipRight(restore(Fiber.interrupt(self.state.fiber)), Effect.sync(() => {
|
|
160
|
+
if (self.state._tag === "Open") {
|
|
161
|
+
self.state.fiber = undefined;
|
|
162
|
+
}
|
|
163
|
+
}));
|
|
164
|
+
}));
|
|
165
|
+
/**
|
|
166
|
+
* Run an Effect and add the forked fiber to the FiberHandle.
|
|
167
|
+
* When the fiber completes, it will be removed from the FiberHandle.
|
|
168
|
+
*
|
|
169
|
+
* @since 2.0.0
|
|
170
|
+
* @categories combinators
|
|
171
|
+
*/
|
|
172
|
+
export const run = function () {
|
|
173
|
+
const self = arguments[0];
|
|
174
|
+
if (Effect.isEffect(arguments[1])) {
|
|
175
|
+
const effect = arguments[1];
|
|
176
|
+
const options = arguments[2];
|
|
177
|
+
return Effect.suspend(() => {
|
|
178
|
+
if (self.state._tag === "Closed") {
|
|
179
|
+
return Effect.interrupt;
|
|
180
|
+
}
|
|
181
|
+
return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => set(self, fiber, options)));
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
const options = arguments[1];
|
|
185
|
+
return effect => Effect.suspend(() => {
|
|
186
|
+
if (self.state._tag === "Closed") {
|
|
187
|
+
return Effect.interrupt;
|
|
188
|
+
}
|
|
189
|
+
return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => set(self, fiber, options)));
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Capture a Runtime and use it to fork Effect's, adding the forked fibers to the FiberHandle.
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* import { Context, Effect, FiberHandle } from "effect"
|
|
197
|
+
*
|
|
198
|
+
* interface Users {
|
|
199
|
+
* readonly _: unique symbol
|
|
200
|
+
* }
|
|
201
|
+
* const Users = Context.GenericTag<Users, {
|
|
202
|
+
* getAll: Effect.Effect<Array<unknown>>
|
|
203
|
+
* }>("Users")
|
|
204
|
+
*
|
|
205
|
+
* Effect.gen(function*(_) {
|
|
206
|
+
* const handle = yield* _(FiberHandle.make())
|
|
207
|
+
* const run = yield* _(FiberHandle.runtime(handle)<Users>())
|
|
208
|
+
*
|
|
209
|
+
* // run an effect and set the fiber in the handle
|
|
210
|
+
* run(Effect.andThen(Users, _ => _.getAll))
|
|
211
|
+
*
|
|
212
|
+
* // this will interrupt the previous fiber
|
|
213
|
+
* run(Effect.andThen(Users, _ => _.getAll))
|
|
214
|
+
* }).pipe(
|
|
215
|
+
* Effect.scoped // The fiber will be interrupted when the scope is closed
|
|
216
|
+
* )
|
|
217
|
+
*
|
|
218
|
+
* @since 2.0.0
|
|
219
|
+
* @categories combinators
|
|
220
|
+
*/
|
|
221
|
+
export const runtime = self => () => Effect.map(Effect.runtime(), runtime => {
|
|
222
|
+
const runFork = Runtime.runFork(runtime);
|
|
223
|
+
return (effect, options) => {
|
|
224
|
+
const fiber = runFork(effect, options);
|
|
225
|
+
unsafeSet(self, fiber, options);
|
|
226
|
+
return fiber;
|
|
227
|
+
};
|
|
228
|
+
});
|
|
229
|
+
/**
|
|
230
|
+
* If any of the Fiber's in the handle terminate with a failure,
|
|
231
|
+
* the returned Effect will terminate with the first failure that occurred.
|
|
232
|
+
*
|
|
233
|
+
* @since 2.0.0
|
|
234
|
+
* @categories combinators
|
|
235
|
+
* @example
|
|
236
|
+
* import { Effect, FiberHandle } from "effect";
|
|
237
|
+
*
|
|
238
|
+
* Effect.gen(function* (_) {
|
|
239
|
+
* const handle = yield* _(FiberHandle.make());
|
|
240
|
+
* yield* _(FiberHandle.set(handle, Effect.runFork(Effect.fail("error"))));
|
|
241
|
+
*
|
|
242
|
+
* // parent fiber will fail with "error"
|
|
243
|
+
* yield* _(FiberHandle.join(handle));
|
|
244
|
+
* });
|
|
245
|
+
*/
|
|
246
|
+
export const join = self => Deferred.await(self.deferred);
|
|
247
|
+
//# sourceMappingURL=FiberHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FiberHandle.js","names":["Effect","Cause","Deferred","Exit","Fiber","FiberId","FiberRef","dual","Inspectable","Option","pipeArguments","Predicate","Runtime","TypeId","Symbol","for","isFiberHandle","u","hasProperty","Proto","toString","format","toJSON","_id","state","NodeInspectSymbol","pipe","arguments","unsafeMake","deferred","self","Object","create","_tag","fiber","undefined","make","acquireRelease","map","handle","zipRight","clear","suspend","done","void","makeRuntime","flatMap","runtime","unsafeSet","args","options","unsafeInterruptAsFork","interruptAs","none","onlyIfMissing","setFiberRef","unhandledErrorLogLevel","addObserver","exit","isFailure","isInterruptedOnly","cause","unsafeDone","set","fiberIdWith","fiberId","sync","unsafeGet","fromNullable","get","uninterruptibleMask","restore","interrupt","run","isEffect","effect","tap","forkDaemon","runFork","join","await"],"sources":["../../src/FiberHandle.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/FiberMap.js
CHANGED
|
@@ -10,6 +10,7 @@ import * as FiberId from "./FiberId.js";
|
|
|
10
10
|
import * as FiberRef from "./FiberRef.js";
|
|
11
11
|
import { dual } from "./Function.js";
|
|
12
12
|
import * as Inspectable from "./Inspectable.js";
|
|
13
|
+
import * as Iterable from "./Iterable.js";
|
|
13
14
|
import * as MutableHashMap from "./MutableHashMap.js";
|
|
14
15
|
import * as Option from "./Option.js";
|
|
15
16
|
import { pipeArguments } from "./Pipeable.js";
|
|
@@ -28,7 +29,10 @@ export const isFiberMap = u => Predicate.hasProperty(u, TypeId);
|
|
|
28
29
|
const Proto = {
|
|
29
30
|
[TypeId]: TypeId,
|
|
30
31
|
[Symbol.iterator]() {
|
|
31
|
-
|
|
32
|
+
if (this.state._tag === "Closed") {
|
|
33
|
+
return Iterable.empty();
|
|
34
|
+
}
|
|
35
|
+
return this.state.backing[Symbol.iterator]();
|
|
32
36
|
},
|
|
33
37
|
toString() {
|
|
34
38
|
return Inspectable.format(this.toJSON());
|
|
@@ -36,7 +40,7 @@ const Proto = {
|
|
|
36
40
|
toJSON() {
|
|
37
41
|
return {
|
|
38
42
|
_id: "FiberMap",
|
|
39
|
-
|
|
43
|
+
state: this.state
|
|
40
44
|
};
|
|
41
45
|
},
|
|
42
46
|
[Inspectable.NodeInspectSymbol]() {
|
|
@@ -48,7 +52,10 @@ const Proto = {
|
|
|
48
52
|
};
|
|
49
53
|
const unsafeMake = (backing, deferred) => {
|
|
50
54
|
const self = Object.create(Proto);
|
|
51
|
-
self.
|
|
55
|
+
self.state = {
|
|
56
|
+
_tag: "Open",
|
|
57
|
+
backing
|
|
58
|
+
};
|
|
52
59
|
self.deferred = deferred;
|
|
53
60
|
return self;
|
|
54
61
|
};
|
|
@@ -77,7 +84,12 @@ const unsafeMake = (backing, deferred) => {
|
|
|
77
84
|
* @since 2.0.0
|
|
78
85
|
* @categories constructors
|
|
79
86
|
*/
|
|
80
|
-
export const make = () => Effect.acquireRelease(Effect.map(Deferred.make(), deferred => unsafeMake(MutableHashMap.empty(), deferred)), clear)
|
|
87
|
+
export const make = () => Effect.acquireRelease(Effect.map(Deferred.make(), deferred => unsafeMake(MutableHashMap.empty(), deferred)), map => Effect.zipRight(clear(map), Effect.suspend(() => {
|
|
88
|
+
map.state = {
|
|
89
|
+
_tag: "Closed"
|
|
90
|
+
};
|
|
91
|
+
return Deferred.done(map.deferred, Exit.void);
|
|
92
|
+
})));
|
|
81
93
|
/**
|
|
82
94
|
* Create an Effect run function that is backed by a FiberMap.
|
|
83
95
|
*
|
|
@@ -92,21 +104,31 @@ export const makeRuntime = () => Effect.flatMap(make(), self => runtime(self)())
|
|
|
92
104
|
* @since 2.0.0
|
|
93
105
|
* @categories combinators
|
|
94
106
|
*/
|
|
95
|
-
export const unsafeSet = /*#__PURE__*/dual(args => isFiberMap(args[0]), (self, key, fiber,
|
|
96
|
-
|
|
107
|
+
export const unsafeSet = /*#__PURE__*/dual(args => isFiberMap(args[0]), (self, key, fiber, options) => {
|
|
108
|
+
if (self.state._tag === "Closed") {
|
|
109
|
+
fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const previous = MutableHashMap.get(self.state.backing, key);
|
|
97
113
|
if (previous._tag === "Some") {
|
|
98
|
-
if (
|
|
114
|
+
if (options?.onlyIfMissing === true) {
|
|
115
|
+
fiber.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
|
|
116
|
+
return;
|
|
117
|
+
} else if (previous.value === fiber) {
|
|
99
118
|
return;
|
|
100
119
|
}
|
|
101
|
-
previous.value.unsafeInterruptAsFork(interruptAs ?? FiberId.none);
|
|
120
|
+
previous.value.unsafeInterruptAsFork(options?.interruptAs ?? FiberId.none);
|
|
102
121
|
}
|
|
103
122
|
;
|
|
104
123
|
fiber.setFiberRef(FiberRef.unhandledErrorLogLevel, Option.none());
|
|
105
|
-
MutableHashMap.set(self.backing, key, fiber);
|
|
124
|
+
MutableHashMap.set(self.state.backing, key, fiber);
|
|
106
125
|
fiber.addObserver(exit => {
|
|
107
|
-
|
|
126
|
+
if (self.state._tag === "Closed") {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const current = MutableHashMap.get(self.state.backing, key);
|
|
108
130
|
if (Option.isSome(current) && fiber === current.value) {
|
|
109
|
-
MutableHashMap.remove(self.backing, key);
|
|
131
|
+
MutableHashMap.remove(self.state.backing, key);
|
|
110
132
|
}
|
|
111
133
|
if (Exit.isFailure(exit) && !Cause.isInterruptedOnly(exit.cause)) {
|
|
112
134
|
Deferred.unsafeDone(self.deferred, exit);
|
|
@@ -120,21 +142,38 @@ export const unsafeSet = /*#__PURE__*/dual(args => isFiberMap(args[0]), (self, k
|
|
|
120
142
|
* @since 2.0.0
|
|
121
143
|
* @categories combinators
|
|
122
144
|
*/
|
|
123
|
-
export const set = /*#__PURE__*/dual(
|
|
145
|
+
export const set = /*#__PURE__*/dual(args => isFiberMap(args[0]), (self, key, fiber, options) => Effect.fiberIdWith(fiberId => Effect.sync(() => unsafeSet(self, key, fiber, {
|
|
146
|
+
interruptAs: fiberId,
|
|
147
|
+
onlyIfMissing: options?.onlyIfMissing
|
|
148
|
+
}))));
|
|
124
149
|
/**
|
|
125
150
|
* Retrieve a fiber from the FiberMap.
|
|
126
151
|
*
|
|
127
152
|
* @since 2.0.0
|
|
128
153
|
* @categories combinators
|
|
129
154
|
*/
|
|
130
|
-
export const unsafeGet = /*#__PURE__*/dual(2, (self, key) => MutableHashMap.get(self.backing, key));
|
|
155
|
+
export const unsafeGet = /*#__PURE__*/dual(2, (self, key) => self.state._tag === "Closed" ? Option.none() : MutableHashMap.get(self.state.backing, key));
|
|
131
156
|
/**
|
|
132
157
|
* Retrieve a fiber from the FiberMap.
|
|
133
158
|
*
|
|
134
159
|
* @since 2.0.0
|
|
135
160
|
* @categories combinators
|
|
136
161
|
*/
|
|
137
|
-
export const get = /*#__PURE__*/dual(2, (self, key) => Effect.suspend(() =>
|
|
162
|
+
export const get = /*#__PURE__*/dual(2, (self, key) => Effect.suspend(() => unsafeGet(self, key)));
|
|
163
|
+
/**
|
|
164
|
+
* Check if a key exists in the FiberMap.
|
|
165
|
+
*
|
|
166
|
+
* @since 2.0.0
|
|
167
|
+
* @categories combinators
|
|
168
|
+
*/
|
|
169
|
+
export const unsafeHas = /*#__PURE__*/dual(2, (self, key) => self.state._tag === "Closed" ? false : MutableHashMap.has(self.state.backing, key));
|
|
170
|
+
/**
|
|
171
|
+
* Check if a key exists in the FiberMap.
|
|
172
|
+
*
|
|
173
|
+
* @since 2.0.0
|
|
174
|
+
* @categories combinators
|
|
175
|
+
*/
|
|
176
|
+
export const has = /*#__PURE__*/dual(2, (self, key) => Effect.sync(() => unsafeHas(self, key)));
|
|
138
177
|
/**
|
|
139
178
|
* Remove a fiber from the FiberMap, interrupting it if it exists.
|
|
140
179
|
*
|
|
@@ -142,20 +181,28 @@ export const get = /*#__PURE__*/dual(2, (self, key) => Effect.suspend(() => Muta
|
|
|
142
181
|
* @categories combinators
|
|
143
182
|
*/
|
|
144
183
|
export const remove = /*#__PURE__*/dual(2, (self, key) => Effect.suspend(() => {
|
|
145
|
-
|
|
184
|
+
if (self.state._tag === "Closed") {
|
|
185
|
+
return Effect.void;
|
|
186
|
+
}
|
|
187
|
+
const fiber = MutableHashMap.get(self.state.backing, key);
|
|
146
188
|
if (fiber._tag === "None") {
|
|
147
|
-
return Effect.
|
|
189
|
+
return Effect.void;
|
|
148
190
|
}
|
|
149
|
-
|
|
191
|
+
// will be removed by the observer
|
|
150
192
|
return Fiber.interrupt(fiber.value);
|
|
151
193
|
}));
|
|
152
194
|
/**
|
|
153
195
|
* @since 2.0.0
|
|
154
196
|
* @categories combinators
|
|
155
197
|
*/
|
|
156
|
-
export const clear = self => Effect.
|
|
157
|
-
|
|
158
|
-
|
|
198
|
+
export const clear = self => Effect.suspend(() => {
|
|
199
|
+
if (self.state._tag === "Closed") {
|
|
200
|
+
return Effect.void;
|
|
201
|
+
}
|
|
202
|
+
return Effect.forEach(self.state.backing, ([, fiber]) =>
|
|
203
|
+
// will be removed by the observer
|
|
204
|
+
Fiber.interrupt(fiber));
|
|
205
|
+
});
|
|
159
206
|
/**
|
|
160
207
|
* Run an Effect and add the forked fiber to the FiberMap.
|
|
161
208
|
* When the fiber completes, it will be removed from the FiberMap.
|
|
@@ -164,15 +211,27 @@ export const clear = self => Effect.zipRight(Effect.forEach(self.backing, ([_, f
|
|
|
164
211
|
* @categories combinators
|
|
165
212
|
*/
|
|
166
213
|
export const run = function () {
|
|
167
|
-
if (arguments
|
|
214
|
+
if (Effect.isEffect(arguments[2])) {
|
|
168
215
|
const self = arguments[0];
|
|
169
216
|
const key = arguments[1];
|
|
170
|
-
|
|
217
|
+
const effect = arguments[2];
|
|
218
|
+
const options = arguments[3];
|
|
219
|
+
return Effect.suspend(() => {
|
|
220
|
+
if (self.state._tag === "Closed") {
|
|
221
|
+
return Effect.interrupt;
|
|
222
|
+
}
|
|
223
|
+
return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => set(self, key, fiber, options)));
|
|
224
|
+
});
|
|
171
225
|
}
|
|
172
226
|
const self = arguments[0];
|
|
173
227
|
const key = arguments[1];
|
|
174
|
-
const
|
|
175
|
-
return Effect.
|
|
228
|
+
const options = arguments[2];
|
|
229
|
+
return effect => Effect.suspend(() => {
|
|
230
|
+
if (self.state._tag === "Closed") {
|
|
231
|
+
return Effect.interrupt;
|
|
232
|
+
}
|
|
233
|
+
return Effect.uninterruptibleMask(restore => Effect.tap(restore(Effect.forkDaemon(effect)), fiber => set(self, key, fiber, options)));
|
|
234
|
+
});
|
|
176
235
|
};
|
|
177
236
|
/**
|
|
178
237
|
* Capture a Runtime and use it to fork Effect's, adding the forked fibers to the FiberMap.
|
|
@@ -205,7 +264,7 @@ export const runtime = self => () => Effect.map(Effect.runtime(), runtime => {
|
|
|
205
264
|
const runFork = Runtime.runFork(runtime);
|
|
206
265
|
return (key, effect, options) => {
|
|
207
266
|
const fiber = runFork(effect, options);
|
|
208
|
-
unsafeSet(self, key, fiber);
|
|
267
|
+
unsafeSet(self, key, fiber, options);
|
|
209
268
|
return fiber;
|
|
210
269
|
};
|
|
211
270
|
});
|
|
@@ -213,7 +272,7 @@ export const runtime = self => () => Effect.map(Effect.runtime(), runtime => {
|
|
|
213
272
|
* @since 2.0.0
|
|
214
273
|
* @categories combinators
|
|
215
274
|
*/
|
|
216
|
-
export const size = self => Effect.sync(() => MutableHashMap.size(self.backing));
|
|
275
|
+
export const size = self => Effect.sync(() => self.state._tag === "Closed" ? 0 : MutableHashMap.size(self.state.backing));
|
|
217
276
|
/**
|
|
218
277
|
* Join all fibers in the FiberMap. If any of the Fiber's in the map terminate with a failure,
|
|
219
278
|
* the returned Effect will terminate with the first failure that occurred.
|