effect 2.4.19 → 3.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/Array/package.json +6 -0
- package/FiberHandle/package.json +6 -0
- package/Record/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/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 +306 -0
- package/dist/cjs/FiberHandle.js.map +1 -0
- package/dist/cjs/FiberMap.js +105 -28
- 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 +3 -3
- 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/{ReadonlyRecord.js → Record.js} +29 -29
- package/dist/cjs/Record.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/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 +8 -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 +3 -3
- 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 +47 -48
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +42 -28
- 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 +27 -31
- 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 +1 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- 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 +33 -33
- 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.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/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/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.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/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.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} +42 -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.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/{ReadonlyRecord.d.ts → Record.d.ts} +29 -30
- package/dist/dts/Record.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.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 +11 -7
- 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/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/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 +265 -0
- package/dist/esm/FiberHandle.js.map +1 -0
- package/dist/esm/FiberMap.js +103 -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 +3 -3
- 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/{ReadonlyRecord.js → Record.js} +29 -29
- package/dist/esm/Record.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/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 +11 -7
- 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 +3 -3
- 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 +47 -48
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/core-effect.js +39 -26
- 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 +24 -26
- 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 +1 -1
- package/dist/esm/internal/effect/circular.js.map +1 -1
- 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 +33 -33
- 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.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/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/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.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/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.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +23 -15
- package/src/{ReadonlyArray.ts → Array.ts} +50 -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/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 +433 -0
- package/src/FiberMap.ts +200 -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 +3 -4
- 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/{ReadonlyRecord.ts → Record.ts} +28 -29
- 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/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 +13 -8
- package/src/internal/{readonlyArray.ts → array.ts} +1 -1
- package/src/internal/cache.ts +40 -40
- package/src/internal/cause.ts +5 -6
- 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 +50 -53
- package/src/internal/core-effect.ts +73 -70
- package/src/internal/core-stream.ts +5 -2
- package/src/internal/core.ts +51 -50
- package/src/internal/dataSource.ts +19 -20
- package/src/internal/differ/readonlyArrayPatch.ts +6 -6
- package/src/internal/effect/circular.ts +2 -2
- 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 +45 -45
- package/src/internal/groupBy.ts +4 -4
- package/src/internal/hashMap.ts +0 -1
- 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/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/reloadable.ts +1 -1
- package/src/internal/runtime.ts +5 -5
- 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/supervisor.ts +1 -1
- package/src/internal/take.ts +1 -1
- package/src/internal/tracer.ts +2 -2
- package/src/internal/trie.ts +0 -1
- 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
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import * as RA from "../Array.js"
|
|
1
2
|
import type * as Cause from "../Cause.js"
|
|
2
3
|
import type * as ConfigError from "../ConfigError.js"
|
|
3
4
|
import * as Either from "../Either.js"
|
|
4
5
|
import { constFalse, constTrue, dual, pipe } from "../Function.js"
|
|
5
6
|
import { hasProperty } from "../Predicate.js"
|
|
6
|
-
import * as RA from "../ReadonlyArray.js"
|
|
7
7
|
import * as OpCodes from "./opCodes/configError.js"
|
|
8
8
|
|
|
9
9
|
/** @internal */
|
|
@@ -16,13 +16,14 @@ export const ConfigErrorTypeId: ConfigError.ConfigErrorTypeId = Symbol.for(
|
|
|
16
16
|
|
|
17
17
|
/** @internal */
|
|
18
18
|
export const proto = {
|
|
19
|
+
_tag: "ConfigError",
|
|
19
20
|
[ConfigErrorTypeId]: ConfigErrorTypeId
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
/** @internal */
|
|
23
24
|
export const And = (self: ConfigError.ConfigError, that: ConfigError.ConfigError): ConfigError.ConfigError => {
|
|
24
25
|
const error = Object.create(proto)
|
|
25
|
-
error.
|
|
26
|
+
error._op = OpCodes.OP_AND
|
|
26
27
|
error.left = self
|
|
27
28
|
error.right = that
|
|
28
29
|
Object.defineProperty(error, "toString", {
|
|
@@ -37,7 +38,7 @@ export const And = (self: ConfigError.ConfigError, that: ConfigError.ConfigError
|
|
|
37
38
|
/** @internal */
|
|
38
39
|
export const Or = (self: ConfigError.ConfigError, that: ConfigError.ConfigError): ConfigError.ConfigError => {
|
|
39
40
|
const error = Object.create(proto)
|
|
40
|
-
error.
|
|
41
|
+
error._op = OpCodes.OP_OR
|
|
41
42
|
error.left = self
|
|
42
43
|
error.right = that
|
|
43
44
|
Object.defineProperty(error, "toString", {
|
|
@@ -56,7 +57,7 @@ export const InvalidData = (
|
|
|
56
57
|
options: ConfigError.Options = { pathDelim: "." }
|
|
57
58
|
): ConfigError.ConfigError => {
|
|
58
59
|
const error = Object.create(proto)
|
|
59
|
-
error.
|
|
60
|
+
error._op = OpCodes.OP_INVALID_DATA
|
|
60
61
|
error.path = path
|
|
61
62
|
error.message = message
|
|
62
63
|
Object.defineProperty(error, "toString", {
|
|
@@ -76,7 +77,7 @@ export const MissingData = (
|
|
|
76
77
|
options: ConfigError.Options = { pathDelim: "." }
|
|
77
78
|
): ConfigError.ConfigError => {
|
|
78
79
|
const error = Object.create(proto)
|
|
79
|
-
error.
|
|
80
|
+
error._op = OpCodes.OP_MISSING_DATA
|
|
80
81
|
error.path = path
|
|
81
82
|
error.message = message
|
|
82
83
|
Object.defineProperty(error, "toString", {
|
|
@@ -97,7 +98,7 @@ export const SourceUnavailable = (
|
|
|
97
98
|
options: ConfigError.Options = { pathDelim: "." }
|
|
98
99
|
): ConfigError.ConfigError => {
|
|
99
100
|
const error = Object.create(proto)
|
|
100
|
-
error.
|
|
101
|
+
error._op = OpCodes.OP_SOURCE_UNAVAILABLE
|
|
101
102
|
error.path = path
|
|
102
103
|
error.message = message
|
|
103
104
|
error.cause = cause
|
|
@@ -118,7 +119,7 @@ export const Unsupported = (
|
|
|
118
119
|
options: ConfigError.Options = { pathDelim: "." }
|
|
119
120
|
): ConfigError.ConfigError => {
|
|
120
121
|
const error = Object.create(proto)
|
|
121
|
-
error.
|
|
122
|
+
error._op = OpCodes.OP_UNSUPPORTED
|
|
122
123
|
error.path = path
|
|
123
124
|
error.message = message
|
|
124
125
|
Object.defineProperty(error, "toString", {
|
|
@@ -135,26 +136,26 @@ export const Unsupported = (
|
|
|
135
136
|
export const isConfigError = (u: unknown): u is ConfigError.ConfigError => hasProperty(u, ConfigErrorTypeId)
|
|
136
137
|
|
|
137
138
|
/** @internal */
|
|
138
|
-
export const isAnd = (self: ConfigError.ConfigError): self is ConfigError.And => self.
|
|
139
|
+
export const isAnd = (self: ConfigError.ConfigError): self is ConfigError.And => self._op === OpCodes.OP_AND
|
|
139
140
|
|
|
140
141
|
/** @internal */
|
|
141
|
-
export const isOr = (self: ConfigError.ConfigError): self is ConfigError.Or => self.
|
|
142
|
+
export const isOr = (self: ConfigError.ConfigError): self is ConfigError.Or => self._op === OpCodes.OP_OR
|
|
142
143
|
|
|
143
144
|
/** @internal */
|
|
144
145
|
export const isInvalidData = (self: ConfigError.ConfigError): self is ConfigError.InvalidData =>
|
|
145
|
-
self.
|
|
146
|
+
self._op === OpCodes.OP_INVALID_DATA
|
|
146
147
|
|
|
147
148
|
/** @internal */
|
|
148
149
|
export const isMissingData = (self: ConfigError.ConfigError): self is ConfigError.MissingData =>
|
|
149
|
-
self.
|
|
150
|
+
self._op === OpCodes.OP_MISSING_DATA
|
|
150
151
|
|
|
151
152
|
/** @internal */
|
|
152
153
|
export const isSourceUnavailable = (self: ConfigError.ConfigError): self is ConfigError.SourceUnavailable =>
|
|
153
|
-
self.
|
|
154
|
+
self._op === OpCodes.OP_SOURCE_UNAVAILABLE
|
|
154
155
|
|
|
155
156
|
/** @internal */
|
|
156
157
|
export const isUnsupported = (self: ConfigError.ConfigError): self is ConfigError.Unsupported =>
|
|
157
|
-
self.
|
|
158
|
+
self._op === OpCodes.OP_UNSUPPORTED
|
|
158
159
|
|
|
159
160
|
/** @internal */
|
|
160
161
|
export const prefixed: {
|
|
@@ -164,7 +165,7 @@ export const prefixed: {
|
|
|
164
165
|
(prefix: ReadonlyArray<string>) => (self: ConfigError.ConfigError) => ConfigError.ConfigError,
|
|
165
166
|
(self: ConfigError.ConfigError, prefix: ReadonlyArray<string>) => ConfigError.ConfigError
|
|
166
167
|
>(2, (self, prefix) => {
|
|
167
|
-
switch (self.
|
|
168
|
+
switch (self._op) {
|
|
168
169
|
case OpCodes.OP_AND: {
|
|
169
170
|
return And(prefixed(self.left, prefix), prefixed(self.right, prefix))
|
|
170
171
|
}
|
|
@@ -201,12 +202,12 @@ type ConfigErrorCase = AndCase | OrCase
|
|
|
201
202
|
|
|
202
203
|
/** @internal */
|
|
203
204
|
interface AndCase {
|
|
204
|
-
readonly
|
|
205
|
+
readonly _op: "AndCase"
|
|
205
206
|
}
|
|
206
207
|
|
|
207
208
|
/** @internal */
|
|
208
209
|
interface OrCase {
|
|
209
|
-
readonly
|
|
210
|
+
readonly _op: "OrCase"
|
|
210
211
|
}
|
|
211
212
|
|
|
212
213
|
/** @internal */
|
|
@@ -218,17 +219,17 @@ export const reduceWithContext = dual<
|
|
|
218
219
|
const output: Array<Either.Either<Z, ConfigErrorCase>> = []
|
|
219
220
|
while (input.length > 0) {
|
|
220
221
|
const error = input.pop()!
|
|
221
|
-
switch (error.
|
|
222
|
+
switch (error._op) {
|
|
222
223
|
case OpCodes.OP_AND: {
|
|
223
224
|
input.push(error.right)
|
|
224
225
|
input.push(error.left)
|
|
225
|
-
output.push(Either.left({
|
|
226
|
+
output.push(Either.left({ _op: "AndCase" }))
|
|
226
227
|
break
|
|
227
228
|
}
|
|
228
229
|
case OpCodes.OP_OR: {
|
|
229
230
|
input.push(error.right)
|
|
230
231
|
input.push(error.left)
|
|
231
|
-
output.push(Either.left({
|
|
232
|
+
output.push(Either.left({ _op: "OrCase" }))
|
|
232
233
|
break
|
|
233
234
|
}
|
|
234
235
|
case OpCodes.OP_INVALID_DATA: {
|
|
@@ -252,9 +253,9 @@ export const reduceWithContext = dual<
|
|
|
252
253
|
const accumulator: Array<Z> = []
|
|
253
254
|
while (output.length > 0) {
|
|
254
255
|
const either = output.pop()!
|
|
255
|
-
switch (either.
|
|
256
|
+
switch (either._op) {
|
|
256
257
|
case "Left": {
|
|
257
|
-
switch (either.left.
|
|
258
|
+
switch (either.left._op) {
|
|
258
259
|
case "AndCase": {
|
|
259
260
|
const left = accumulator.pop()!
|
|
260
261
|
const right = accumulator.pop()!
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import * as RA from "../../Array.js"
|
|
1
2
|
import type * as ConfigError from "../../ConfigError.js"
|
|
2
3
|
import type * as PathPatch from "../../ConfigProviderPathPatch.js"
|
|
3
4
|
import * as Either from "../../Either.js"
|
|
4
5
|
import { dual, pipe } from "../../Function.js"
|
|
5
6
|
import * as List from "../../List.js"
|
|
6
7
|
import * as Option from "../../Option.js"
|
|
7
|
-
import * as RA from "../../ReadonlyArray.js"
|
|
8
8
|
import * as configError from "../configError.js"
|
|
9
9
|
|
|
10
10
|
/** @internal */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Arr from "../Array.js"
|
|
1
2
|
import type * as Config from "../Config.js"
|
|
2
3
|
import type * as ConfigError from "../ConfigError.js"
|
|
3
4
|
import type * as ConfigProvider from "../ConfigProvider.js"
|
|
@@ -12,7 +13,6 @@ import * as HashSet from "../HashSet.js"
|
|
|
12
13
|
import * as number from "../Number.js"
|
|
13
14
|
import * as Option from "../Option.js"
|
|
14
15
|
import { pipeArguments } from "../Pipeable.js"
|
|
15
|
-
import * as ReadonlyArray from "../ReadonlyArray.js"
|
|
16
16
|
import * as regexp from "../RegExp.js"
|
|
17
17
|
import type * as _config from "./config.js"
|
|
18
18
|
import * as configError from "./configError.js"
|
|
@@ -85,12 +85,12 @@ export const makeFlat = (
|
|
|
85
85
|
export const fromFlat = (flat: ConfigProvider.ConfigProvider.Flat): ConfigProvider.ConfigProvider =>
|
|
86
86
|
make({
|
|
87
87
|
load: (config) =>
|
|
88
|
-
core.flatMap(fromFlatLoop(flat,
|
|
89
|
-
Option.match(
|
|
88
|
+
core.flatMap(fromFlatLoop(flat, Arr.empty(), config, false), (chunk) =>
|
|
89
|
+
Option.match(Arr.head(chunk), {
|
|
90
90
|
onNone: () =>
|
|
91
91
|
core.fail(
|
|
92
92
|
configError.MissingData(
|
|
93
|
-
|
|
93
|
+
Arr.empty(),
|
|
94
94
|
`Expected a single value having structure: ${config}`
|
|
95
95
|
)
|
|
96
96
|
),
|
|
@@ -104,7 +104,7 @@ export const fromEnv = (
|
|
|
104
104
|
config?: Partial<ConfigProvider.ConfigProvider.FromEnvConfig>
|
|
105
105
|
): ConfigProvider.ConfigProvider => {
|
|
106
106
|
const { pathDelim, seqDelim } = Object.assign({}, { pathDelim: "_", seqDelim: "," }, config)
|
|
107
|
-
const makePathString = (path: ReadonlyArray<string>): string => pipe(path,
|
|
107
|
+
const makePathString = (path: ReadonlyArray<string>): string => pipe(path, Arr.join(pathDelim))
|
|
108
108
|
const unmakePathString = (pathString: string): ReadonlyArray<string> => pathString.split(pathDelim)
|
|
109
109
|
|
|
110
110
|
const getEnv = () =>
|
|
@@ -131,10 +131,10 @@ export const fromEnv = (
|
|
|
131
131
|
core.sync(() => {
|
|
132
132
|
const current = getEnv()
|
|
133
133
|
const keys = Object.keys(current)
|
|
134
|
-
const keyPaths =
|
|
134
|
+
const keyPaths = keys.map((value) => unmakePathString(value.toUpperCase()))
|
|
135
135
|
const filteredKeyPaths = keyPaths.filter((keyPath) => {
|
|
136
136
|
for (let i = 0; i < path.length; i++) {
|
|
137
|
-
const pathComponent = pipe(path,
|
|
137
|
+
const pathComponent = pipe(path, Arr.unsafeGet(i))
|
|
138
138
|
const currentElement = keyPath[i]
|
|
139
139
|
if (currentElement === undefined || pathComponent !== currentElement) {
|
|
140
140
|
return false
|
|
@@ -154,11 +154,11 @@ export const fromMap = (
|
|
|
154
154
|
config?: Partial<ConfigProvider.ConfigProvider.FromMapConfig>
|
|
155
155
|
): ConfigProvider.ConfigProvider => {
|
|
156
156
|
const { pathDelim, seqDelim } = Object.assign({ seqDelim: ",", pathDelim: "." }, config)
|
|
157
|
-
const makePathString = (path: ReadonlyArray<string>): string => pipe(path,
|
|
157
|
+
const makePathString = (path: ReadonlyArray<string>): string => pipe(path, Arr.join(pathDelim))
|
|
158
158
|
const unmakePathString = (pathString: string): ReadonlyArray<string> => pathString.split(pathDelim)
|
|
159
159
|
const mapWithIndexSplit = splitIndexInKeys(
|
|
160
160
|
map,
|
|
161
|
-
(str) =>
|
|
161
|
+
(str) => unmakePathString(str),
|
|
162
162
|
makePathString
|
|
163
163
|
)
|
|
164
164
|
const load = <A>(
|
|
@@ -180,10 +180,10 @@ export const fromMap = (
|
|
|
180
180
|
path: ReadonlyArray<string>
|
|
181
181
|
): Effect.Effect<HashSet.HashSet<string>, ConfigError.ConfigError> =>
|
|
182
182
|
core.sync(() => {
|
|
183
|
-
const keyPaths =
|
|
183
|
+
const keyPaths = Arr.fromIterable(mapWithIndexSplit.keys()).map(unmakePathString)
|
|
184
184
|
const filteredKeyPaths = keyPaths.filter((keyPath) => {
|
|
185
185
|
for (let i = 0; i < path.length; i++) {
|
|
186
|
-
const pathComponent = pipe(path,
|
|
186
|
+
const pathComponent = pipe(path, Arr.unsafeGet(i))
|
|
187
187
|
const currentElement = keyPath[i]
|
|
188
188
|
if (currentElement === undefined || pathComponent !== currentElement) {
|
|
189
189
|
return false
|
|
@@ -203,14 +203,14 @@ const extend = <A, B>(
|
|
|
203
203
|
left: ReadonlyArray<A>,
|
|
204
204
|
right: ReadonlyArray<B>
|
|
205
205
|
): [ReadonlyArray<A>, ReadonlyArray<B>] => {
|
|
206
|
-
const leftPad =
|
|
206
|
+
const leftPad = Arr.unfold(
|
|
207
207
|
left.length,
|
|
208
208
|
(index) =>
|
|
209
209
|
index >= right.length ?
|
|
210
210
|
Option.none() :
|
|
211
211
|
Option.some([leftDef(index), index + 1])
|
|
212
212
|
)
|
|
213
|
-
const rightPad =
|
|
213
|
+
const rightPad = Arr.unfold(
|
|
214
214
|
right.length,
|
|
215
215
|
(index) =>
|
|
216
216
|
index >= left.length ?
|
|
@@ -244,7 +244,7 @@ const fromFlatLoop = <A>(
|
|
|
244
244
|
const op = config as _config.ConfigPrimitive
|
|
245
245
|
switch (op._tag) {
|
|
246
246
|
case OpCodes.OP_CONSTANT: {
|
|
247
|
-
return core.succeed(
|
|
247
|
+
return core.succeed(Arr.of(op.value)) as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
|
|
248
248
|
}
|
|
249
249
|
case OpCodes.OP_DESCRIBED: {
|
|
250
250
|
return core.suspend(
|
|
@@ -296,7 +296,7 @@ const fromFlatLoop = <A>(
|
|
|
296
296
|
return core.suspend(() =>
|
|
297
297
|
fromFlatLoop(
|
|
298
298
|
flat,
|
|
299
|
-
concat(prefix,
|
|
299
|
+
concat(prefix, Arr.of(op.name)),
|
|
300
300
|
op.config,
|
|
301
301
|
split
|
|
302
302
|
)
|
|
@@ -310,7 +310,7 @@ const fromFlatLoop = <A>(
|
|
|
310
310
|
flat.load(prefix, op, split),
|
|
311
311
|
core.flatMap((values) => {
|
|
312
312
|
if (values.length === 0) {
|
|
313
|
-
const name = pipe(
|
|
313
|
+
const name = pipe(Arr.last(prefix), Option.getOrElse(() => "<n/a>"))
|
|
314
314
|
return core.fail(configError.MissingData([], `Expected ${op.description} with name ${name}`))
|
|
315
315
|
}
|
|
316
316
|
return core.succeed(values)
|
|
@@ -329,20 +329,20 @@ const fromFlatLoop = <A>(
|
|
|
329
329
|
core.flatMap((indices) => {
|
|
330
330
|
if (indices.length === 0) {
|
|
331
331
|
return core.suspend(() =>
|
|
332
|
-
core.map(fromFlatLoop(flat, patchedPrefix, op.config, true),
|
|
332
|
+
core.map(fromFlatLoop(flat, patchedPrefix, op.config, true), Arr.of)
|
|
333
333
|
) as unknown as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
|
|
334
334
|
}
|
|
335
335
|
return pipe(
|
|
336
336
|
core.forEachSequential(
|
|
337
337
|
indices,
|
|
338
|
-
(index) => fromFlatLoop(flat,
|
|
338
|
+
(index) => fromFlatLoop(flat, Arr.append(prefix, `[${index}]`), op.config, true)
|
|
339
339
|
),
|
|
340
340
|
core.map((chunkChunk) => {
|
|
341
|
-
const flattened =
|
|
341
|
+
const flattened = Arr.flatten(chunkChunk)
|
|
342
342
|
if (flattened.length === 0) {
|
|
343
|
-
return
|
|
343
|
+
return Arr.of(Arr.empty<A>())
|
|
344
344
|
}
|
|
345
|
-
return
|
|
345
|
+
return Arr.of(flattened)
|
|
346
346
|
})
|
|
347
347
|
) as unknown as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
|
|
348
348
|
})
|
|
@@ -363,21 +363,18 @@ const fromFlatLoop = <A>(
|
|
|
363
363
|
core.forEachSequential((key) =>
|
|
364
364
|
fromFlatLoop(
|
|
365
365
|
flat,
|
|
366
|
-
concat(prefix,
|
|
366
|
+
concat(prefix, Arr.of(key)),
|
|
367
367
|
op.valueConfig,
|
|
368
368
|
split
|
|
369
369
|
)
|
|
370
370
|
),
|
|
371
|
-
core.map((
|
|
372
|
-
if (
|
|
373
|
-
return
|
|
371
|
+
core.map((matrix) => {
|
|
372
|
+
if (matrix.length === 0) {
|
|
373
|
+
return Arr.of(HashMap.empty())
|
|
374
374
|
}
|
|
375
|
-
const matrix = values.map((x) => Array.from(x))
|
|
376
375
|
return pipe(
|
|
377
376
|
transpose(matrix),
|
|
378
|
-
|
|
379
|
-
HashMap.fromIterable(ReadonlyArray.zip(ReadonlyArray.fromIterable(keys), values))
|
|
380
|
-
)
|
|
377
|
+
Arr.map((values) => HashMap.fromIterable(Arr.zip(Arr.fromIterable(keys), values)))
|
|
381
378
|
)
|
|
382
379
|
})
|
|
383
380
|
)
|
|
@@ -407,17 +404,17 @@ const fromFlatLoop = <A>(
|
|
|
407
404
|
return core.fail(right.left)
|
|
408
405
|
}
|
|
409
406
|
if (Either.isRight(left) && Either.isRight(right)) {
|
|
410
|
-
const path = pipe(prefix,
|
|
407
|
+
const path = pipe(prefix, Arr.join("."))
|
|
411
408
|
const fail = fromFlatLoopFail(prefix, path)
|
|
412
409
|
const [lefts, rights] = extend(
|
|
413
410
|
fail,
|
|
414
411
|
fail,
|
|
415
|
-
pipe(left.right,
|
|
416
|
-
pipe(right.right,
|
|
412
|
+
pipe(left.right, Arr.map(Either.right)),
|
|
413
|
+
pipe(right.right, Arr.map(Either.right))
|
|
417
414
|
)
|
|
418
415
|
return pipe(
|
|
419
416
|
lefts,
|
|
420
|
-
|
|
417
|
+
Arr.zip(rights),
|
|
421
418
|
core.forEachSequential(([left, right]) =>
|
|
422
419
|
pipe(
|
|
423
420
|
core.zip(left, right),
|
|
@@ -590,8 +587,8 @@ export const within = dual<
|
|
|
590
587
|
f: (self: ConfigProvider.ConfigProvider) => ConfigProvider.ConfigProvider
|
|
591
588
|
) => ConfigProvider.ConfigProvider
|
|
592
589
|
>(3, (self, path, f) => {
|
|
593
|
-
const unnest =
|
|
594
|
-
const nest =
|
|
590
|
+
const unnest = Arr.reduce(path, self, (provider, name) => unnested(provider, name))
|
|
591
|
+
const nest = Arr.reduceRight(path, f(unnest), (provider, name) => nested(provider, name))
|
|
595
592
|
return orElse(nest, () => self)
|
|
596
593
|
})
|
|
597
594
|
|
|
@@ -612,7 +609,7 @@ const parsePrimitive = <A>(
|
|
|
612
609
|
primitive.parse(text),
|
|
613
610
|
core.mapBoth({
|
|
614
611
|
onFailure: configError.prefixed(path),
|
|
615
|
-
onSuccess:
|
|
612
|
+
onSuccess: Arr.of
|
|
616
613
|
})
|
|
617
614
|
)
|
|
618
615
|
}
|
|
@@ -631,8 +628,8 @@ const indicesFrom = (quotedIndices: HashSet.HashSet<string>): Effect.Effect<Read
|
|
|
631
628
|
pipe(
|
|
632
629
|
core.forEachSequential(quotedIndices, parseQuotedIndex),
|
|
633
630
|
core.mapBoth({
|
|
634
|
-
onFailure: () =>
|
|
635
|
-
onSuccess:
|
|
631
|
+
onFailure: () => Arr.empty<number>(),
|
|
632
|
+
onSuccess: Arr.sort(number.Order)
|
|
636
633
|
}),
|
|
637
634
|
core.either,
|
|
638
635
|
core.map(Either.merge)
|
|
@@ -664,10 +661,10 @@ const splitIndexInKeys = (
|
|
|
664
661
|
for (const [pathString, value] of map) {
|
|
665
662
|
const keyWithIndex = pipe(
|
|
666
663
|
unmakePathString(pathString),
|
|
667
|
-
|
|
664
|
+
Arr.flatMap((key) =>
|
|
668
665
|
Option.match(splitIndexFrom(key), {
|
|
669
|
-
onNone: () =>
|
|
670
|
-
onSome: ([key, index]) =>
|
|
666
|
+
onNone: () => Arr.of(key),
|
|
667
|
+
onSome: ([key, index]) => Arr.make(key, `[${index}]`)
|
|
671
668
|
})
|
|
672
669
|
)
|
|
673
670
|
)
|
|
@@ -720,7 +717,7 @@ interface JsonArray extends Array<string | number | boolean | null | JsonArray |
|
|
|
720
717
|
/** @internal */
|
|
721
718
|
export const fromJson = (json: unknown): ConfigProvider.ConfigProvider => {
|
|
722
719
|
const hiddenDelimiter = "\ufeff"
|
|
723
|
-
const indexedEntries =
|
|
720
|
+
const indexedEntries = Arr.map(
|
|
724
721
|
getIndexedEntries(json as JsonMap),
|
|
725
722
|
([key, value]): [string, string] => [configPathToString(key).join(hiddenDelimiter), value]
|
|
726
723
|
)
|
|
@@ -762,38 +759,38 @@ const getIndexedEntries = (
|
|
|
762
759
|
value: string | number | boolean | JsonMap | JsonArray | null
|
|
763
760
|
): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> => {
|
|
764
761
|
if (typeof value === "string") {
|
|
765
|
-
return
|
|
762
|
+
return Arr.make([path, value] as [ReadonlyArray<KeyComponent>, string])
|
|
766
763
|
}
|
|
767
764
|
if (typeof value === "number" || typeof value === "boolean") {
|
|
768
|
-
return
|
|
765
|
+
return Arr.make([path, String(value)] as [ReadonlyArray<KeyComponent>, string])
|
|
769
766
|
}
|
|
770
|
-
if (
|
|
767
|
+
if (Arr.isArray(value)) {
|
|
771
768
|
return loopArray(path, value)
|
|
772
769
|
}
|
|
773
770
|
if (typeof value === "object" && value !== null) {
|
|
774
771
|
return loopObject(path, value)
|
|
775
772
|
}
|
|
776
|
-
return
|
|
773
|
+
return Arr.empty<[ReadonlyArray<KeyComponent>, string]>()
|
|
777
774
|
}
|
|
778
775
|
const loopArray = (
|
|
779
776
|
path: ReadonlyArray<KeyComponent>,
|
|
780
777
|
values: JsonArray
|
|
781
778
|
): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> =>
|
|
782
|
-
|
|
783
|
-
onEmpty: () =>
|
|
784
|
-
onNonEmpty:
|
|
779
|
+
Arr.match(values, {
|
|
780
|
+
onEmpty: () => Arr.make([path, "<nil>"] as [ReadonlyArray<KeyComponent>, string]),
|
|
781
|
+
onNonEmpty: Arr.flatMap((value, index) => loopAny(Arr.append(path, keyIndex(index)), value))
|
|
785
782
|
})
|
|
786
783
|
const loopObject = (
|
|
787
784
|
path: ReadonlyArray<KeyComponent>,
|
|
788
785
|
value: JsonMap
|
|
789
786
|
): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> =>
|
|
790
787
|
Object.entries(value).flatMap(([key, value]) => {
|
|
791
|
-
const newPath =
|
|
788
|
+
const newPath = Arr.append(path, keyName(key))
|
|
792
789
|
const result = loopAny(newPath, value)
|
|
793
|
-
if (
|
|
794
|
-
return
|
|
790
|
+
if (Arr.isEmptyReadonlyArray(result)) {
|
|
791
|
+
return Arr.make([newPath, ""] as [ReadonlyArray<KeyComponent>, string])
|
|
795
792
|
}
|
|
796
793
|
return result
|
|
797
794
|
})
|
|
798
|
-
return loopObject(
|
|
795
|
+
return loopObject(Arr.empty(), config)
|
|
799
796
|
}
|