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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Array 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,7 @@ 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
|
|
16
|
+
import * as regexp from "../RegExp.js"
|
|
16
17
|
import type * as _config from "./config.js"
|
|
17
18
|
import * as configError from "./configError.js"
|
|
18
19
|
import * as pathPatch from "./configProvider/pathPatch.js"
|
|
@@ -84,12 +85,12 @@ export const makeFlat = (
|
|
|
84
85
|
export const fromFlat = (flat: ConfigProvider.ConfigProvider.Flat): ConfigProvider.ConfigProvider =>
|
|
85
86
|
make({
|
|
86
87
|
load: (config) =>
|
|
87
|
-
core.flatMap(fromFlatLoop(flat,
|
|
88
|
-
Option.match(
|
|
88
|
+
core.flatMap(fromFlatLoop(flat, Array.empty(), config, false), (chunk) =>
|
|
89
|
+
Option.match(Array.head(chunk), {
|
|
89
90
|
onNone: () =>
|
|
90
91
|
core.fail(
|
|
91
92
|
configError.MissingData(
|
|
92
|
-
|
|
93
|
+
Array.empty(),
|
|
93
94
|
`Expected a single value having structure: ${config}`
|
|
94
95
|
)
|
|
95
96
|
),
|
|
@@ -103,7 +104,7 @@ export const fromEnv = (
|
|
|
103
104
|
config?: Partial<ConfigProvider.ConfigProvider.FromEnvConfig>
|
|
104
105
|
): ConfigProvider.ConfigProvider => {
|
|
105
106
|
const { pathDelim, seqDelim } = Object.assign({}, { pathDelim: "_", seqDelim: "," }, config)
|
|
106
|
-
const makePathString = (path: ReadonlyArray<string>): string => pipe(path,
|
|
107
|
+
const makePathString = (path: ReadonlyArray<string>): string => pipe(path, Array.join(pathDelim))
|
|
107
108
|
const unmakePathString = (pathString: string): ReadonlyArray<string> => pathString.split(pathDelim)
|
|
108
109
|
|
|
109
110
|
const getEnv = () =>
|
|
@@ -130,10 +131,10 @@ export const fromEnv = (
|
|
|
130
131
|
core.sync(() => {
|
|
131
132
|
const current = getEnv()
|
|
132
133
|
const keys = Object.keys(current)
|
|
133
|
-
const keyPaths =
|
|
134
|
+
const keyPaths = keys.map((value) => unmakePathString(value.toUpperCase()))
|
|
134
135
|
const filteredKeyPaths = keyPaths.filter((keyPath) => {
|
|
135
136
|
for (let i = 0; i < path.length; i++) {
|
|
136
|
-
const pathComponent = pipe(path,
|
|
137
|
+
const pathComponent = pipe(path, Array.unsafeGet(i))
|
|
137
138
|
const currentElement = keyPath[i]
|
|
138
139
|
if (currentElement === undefined || pathComponent !== currentElement) {
|
|
139
140
|
return false
|
|
@@ -153,11 +154,11 @@ export const fromMap = (
|
|
|
153
154
|
config?: Partial<ConfigProvider.ConfigProvider.FromMapConfig>
|
|
154
155
|
): ConfigProvider.ConfigProvider => {
|
|
155
156
|
const { pathDelim, seqDelim } = Object.assign({ seqDelim: ",", pathDelim: "." }, config)
|
|
156
|
-
const makePathString = (path: ReadonlyArray<string>): string => pipe(path,
|
|
157
|
+
const makePathString = (path: ReadonlyArray<string>): string => pipe(path, Array.join(pathDelim))
|
|
157
158
|
const unmakePathString = (pathString: string): ReadonlyArray<string> => pathString.split(pathDelim)
|
|
158
159
|
const mapWithIndexSplit = splitIndexInKeys(
|
|
159
160
|
map,
|
|
160
|
-
(str) =>
|
|
161
|
+
(str) => unmakePathString(str),
|
|
161
162
|
makePathString
|
|
162
163
|
)
|
|
163
164
|
const load = <A>(
|
|
@@ -179,10 +180,10 @@ export const fromMap = (
|
|
|
179
180
|
path: ReadonlyArray<string>
|
|
180
181
|
): Effect.Effect<HashSet.HashSet<string>, ConfigError.ConfigError> =>
|
|
181
182
|
core.sync(() => {
|
|
182
|
-
const keyPaths = Array.
|
|
183
|
+
const keyPaths = Array.fromIterable(mapWithIndexSplit.keys()).map(unmakePathString)
|
|
183
184
|
const filteredKeyPaths = keyPaths.filter((keyPath) => {
|
|
184
185
|
for (let i = 0; i < path.length; i++) {
|
|
185
|
-
const pathComponent = pipe(path,
|
|
186
|
+
const pathComponent = pipe(path, Array.unsafeGet(i))
|
|
186
187
|
const currentElement = keyPath[i]
|
|
187
188
|
if (currentElement === undefined || pathComponent !== currentElement) {
|
|
188
189
|
return false
|
|
@@ -202,14 +203,14 @@ const extend = <A, B>(
|
|
|
202
203
|
left: ReadonlyArray<A>,
|
|
203
204
|
right: ReadonlyArray<B>
|
|
204
205
|
): [ReadonlyArray<A>, ReadonlyArray<B>] => {
|
|
205
|
-
const leftPad =
|
|
206
|
+
const leftPad = Array.unfold(
|
|
206
207
|
left.length,
|
|
207
208
|
(index) =>
|
|
208
209
|
index >= right.length ?
|
|
209
210
|
Option.none() :
|
|
210
211
|
Option.some([leftDef(index), index + 1])
|
|
211
212
|
)
|
|
212
|
-
const rightPad =
|
|
213
|
+
const rightPad = Array.unfold(
|
|
213
214
|
right.length,
|
|
214
215
|
(index) =>
|
|
215
216
|
index >= left.length ?
|
|
@@ -243,7 +244,7 @@ const fromFlatLoop = <A>(
|
|
|
243
244
|
const op = config as _config.ConfigPrimitive
|
|
244
245
|
switch (op._tag) {
|
|
245
246
|
case OpCodes.OP_CONSTANT: {
|
|
246
|
-
return core.succeed(
|
|
247
|
+
return core.succeed(Array.of(op.value)) as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
|
|
247
248
|
}
|
|
248
249
|
case OpCodes.OP_DESCRIBED: {
|
|
249
250
|
return core.suspend(
|
|
@@ -295,7 +296,7 @@ const fromFlatLoop = <A>(
|
|
|
295
296
|
return core.suspend(() =>
|
|
296
297
|
fromFlatLoop(
|
|
297
298
|
flat,
|
|
298
|
-
concat(prefix,
|
|
299
|
+
concat(prefix, Array.of(op.name)),
|
|
299
300
|
op.config,
|
|
300
301
|
split
|
|
301
302
|
)
|
|
@@ -309,7 +310,7 @@ const fromFlatLoop = <A>(
|
|
|
309
310
|
flat.load(prefix, op, split),
|
|
310
311
|
core.flatMap((values) => {
|
|
311
312
|
if (values.length === 0) {
|
|
312
|
-
const name = pipe(
|
|
313
|
+
const name = pipe(Array.last(prefix), Option.getOrElse(() => "<n/a>"))
|
|
313
314
|
return core.fail(configError.MissingData([], `Expected ${op.description} with name ${name}`))
|
|
314
315
|
}
|
|
315
316
|
return core.succeed(values)
|
|
@@ -328,20 +329,20 @@ const fromFlatLoop = <A>(
|
|
|
328
329
|
core.flatMap((indices) => {
|
|
329
330
|
if (indices.length === 0) {
|
|
330
331
|
return core.suspend(() =>
|
|
331
|
-
core.map(fromFlatLoop(flat, patchedPrefix, op.config, true),
|
|
332
|
+
core.map(fromFlatLoop(flat, patchedPrefix, op.config, true), Array.of)
|
|
332
333
|
) as unknown as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
|
|
333
334
|
}
|
|
334
335
|
return pipe(
|
|
335
336
|
core.forEachSequential(
|
|
336
337
|
indices,
|
|
337
|
-
(index) => fromFlatLoop(flat,
|
|
338
|
+
(index) => fromFlatLoop(flat, Array.append(prefix, `[${index}]`), op.config, true)
|
|
338
339
|
),
|
|
339
340
|
core.map((chunkChunk) => {
|
|
340
|
-
const flattened =
|
|
341
|
+
const flattened = Array.flatten(chunkChunk)
|
|
341
342
|
if (flattened.length === 0) {
|
|
342
|
-
return
|
|
343
|
+
return Array.of(Array.empty<A>())
|
|
343
344
|
}
|
|
344
|
-
return
|
|
345
|
+
return Array.of(flattened)
|
|
345
346
|
})
|
|
346
347
|
) as unknown as Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
|
|
347
348
|
})
|
|
@@ -362,21 +363,18 @@ const fromFlatLoop = <A>(
|
|
|
362
363
|
core.forEachSequential((key) =>
|
|
363
364
|
fromFlatLoop(
|
|
364
365
|
flat,
|
|
365
|
-
concat(prefix,
|
|
366
|
+
concat(prefix, Array.of(key)),
|
|
366
367
|
op.valueConfig,
|
|
367
368
|
split
|
|
368
369
|
)
|
|
369
370
|
),
|
|
370
|
-
core.map((
|
|
371
|
-
if (
|
|
372
|
-
return
|
|
371
|
+
core.map((matrix) => {
|
|
372
|
+
if (matrix.length === 0) {
|
|
373
|
+
return Array.of(HashMap.empty())
|
|
373
374
|
}
|
|
374
|
-
const matrix = values.map((x) => Array.from(x))
|
|
375
375
|
return pipe(
|
|
376
376
|
transpose(matrix),
|
|
377
|
-
|
|
378
|
-
HashMap.fromIterable(ReadonlyArray.zip(ReadonlyArray.fromIterable(keys), values))
|
|
379
|
-
)
|
|
377
|
+
Array.map((values) => HashMap.fromIterable(Array.zip(Array.fromIterable(keys), values)))
|
|
380
378
|
)
|
|
381
379
|
})
|
|
382
380
|
)
|
|
@@ -406,17 +404,17 @@ const fromFlatLoop = <A>(
|
|
|
406
404
|
return core.fail(right.left)
|
|
407
405
|
}
|
|
408
406
|
if (Either.isRight(left) && Either.isRight(right)) {
|
|
409
|
-
const path = pipe(prefix,
|
|
407
|
+
const path = pipe(prefix, Array.join("."))
|
|
410
408
|
const fail = fromFlatLoopFail(prefix, path)
|
|
411
409
|
const [lefts, rights] = extend(
|
|
412
410
|
fail,
|
|
413
411
|
fail,
|
|
414
|
-
pipe(left.right,
|
|
415
|
-
pipe(right.right,
|
|
412
|
+
pipe(left.right, Array.map(Either.right)),
|
|
413
|
+
pipe(right.right, Array.map(Either.right))
|
|
416
414
|
)
|
|
417
415
|
return pipe(
|
|
418
416
|
lefts,
|
|
419
|
-
|
|
417
|
+
Array.zip(rights),
|
|
420
418
|
core.forEachSequential(([left, right]) =>
|
|
421
419
|
pipe(
|
|
422
420
|
core.zip(left, right),
|
|
@@ -589,13 +587,13 @@ export const within = dual<
|
|
|
589
587
|
f: (self: ConfigProvider.ConfigProvider) => ConfigProvider.ConfigProvider
|
|
590
588
|
) => ConfigProvider.ConfigProvider
|
|
591
589
|
>(3, (self, path, f) => {
|
|
592
|
-
const unnest =
|
|
593
|
-
const nest =
|
|
590
|
+
const unnest = Array.reduce(path, self, (provider, name) => unnested(provider, name))
|
|
591
|
+
const nest = Array.reduceRight(path, f(unnest), (provider, name) => nested(provider, name))
|
|
594
592
|
return orElse(nest, () => self)
|
|
595
593
|
})
|
|
596
594
|
|
|
597
595
|
const splitPathString = (text: string, delim: string): ReadonlyArray<string> => {
|
|
598
|
-
const split = text.split(new RegExp(`\\s*${
|
|
596
|
+
const split = text.split(new RegExp(`\\s*${regexp.escape(delim)}\\s*`))
|
|
599
597
|
return split
|
|
600
598
|
}
|
|
601
599
|
|
|
@@ -611,7 +609,7 @@ const parsePrimitive = <A>(
|
|
|
611
609
|
primitive.parse(text),
|
|
612
610
|
core.mapBoth({
|
|
613
611
|
onFailure: configError.prefixed(path),
|
|
614
|
-
onSuccess:
|
|
612
|
+
onSuccess: Array.of
|
|
615
613
|
})
|
|
616
614
|
)
|
|
617
615
|
}
|
|
@@ -626,14 +624,12 @@ const transpose = <A>(array: ReadonlyArray<ReadonlyArray<A>>): ReadonlyArray<Rea
|
|
|
626
624
|
return Object.keys(array[0]).map((column) => array.map((row) => row[column as any]))
|
|
627
625
|
}
|
|
628
626
|
|
|
629
|
-
const escapeRegex = (string: string): string => string.replace(/[/\-\\^$*+?.()|[\]{}]/g, "\\$&")
|
|
630
|
-
|
|
631
627
|
const indicesFrom = (quotedIndices: HashSet.HashSet<string>): Effect.Effect<ReadonlyArray<number>> =>
|
|
632
628
|
pipe(
|
|
633
629
|
core.forEachSequential(quotedIndices, parseQuotedIndex),
|
|
634
630
|
core.mapBoth({
|
|
635
|
-
onFailure: () =>
|
|
636
|
-
onSuccess:
|
|
631
|
+
onFailure: () => Array.empty<number>(),
|
|
632
|
+
onSuccess: Array.sort(number.Order)
|
|
637
633
|
}),
|
|
638
634
|
core.either,
|
|
639
635
|
core.map(Either.merge)
|
|
@@ -665,10 +661,10 @@ const splitIndexInKeys = (
|
|
|
665
661
|
for (const [pathString, value] of map) {
|
|
666
662
|
const keyWithIndex = pipe(
|
|
667
663
|
unmakePathString(pathString),
|
|
668
|
-
|
|
664
|
+
Array.flatMap((key) =>
|
|
669
665
|
Option.match(splitIndexFrom(key), {
|
|
670
|
-
onNone: () =>
|
|
671
|
-
onSome: ([key, index]) =>
|
|
666
|
+
onNone: () => Array.of(key),
|
|
667
|
+
onSome: ([key, index]) => Array.make(key, `[${index}]`)
|
|
672
668
|
})
|
|
673
669
|
)
|
|
674
670
|
)
|
|
@@ -721,7 +717,7 @@ interface JsonArray extends Array<string | number | boolean | null | JsonArray |
|
|
|
721
717
|
/** @internal */
|
|
722
718
|
export const fromJson = (json: unknown): ConfigProvider.ConfigProvider => {
|
|
723
719
|
const hiddenDelimiter = "\ufeff"
|
|
724
|
-
const indexedEntries =
|
|
720
|
+
const indexedEntries = Array.map(
|
|
725
721
|
getIndexedEntries(json as JsonMap),
|
|
726
722
|
([key, value]): [string, string] => [configPathToString(key).join(hiddenDelimiter), value]
|
|
727
723
|
)
|
|
@@ -763,10 +759,10 @@ const getIndexedEntries = (
|
|
|
763
759
|
value: string | number | boolean | JsonMap | JsonArray | null
|
|
764
760
|
): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> => {
|
|
765
761
|
if (typeof value === "string") {
|
|
766
|
-
return
|
|
762
|
+
return Array.make([path, value] as [ReadonlyArray<KeyComponent>, string])
|
|
767
763
|
}
|
|
768
764
|
if (typeof value === "number" || typeof value === "boolean") {
|
|
769
|
-
return
|
|
765
|
+
return Array.make([path, String(value)] as [ReadonlyArray<KeyComponent>, string])
|
|
770
766
|
}
|
|
771
767
|
if (Array.isArray(value)) {
|
|
772
768
|
return loopArray(path, value)
|
|
@@ -774,27 +770,27 @@ const getIndexedEntries = (
|
|
|
774
770
|
if (typeof value === "object" && value !== null) {
|
|
775
771
|
return loopObject(path, value)
|
|
776
772
|
}
|
|
777
|
-
return
|
|
773
|
+
return Array.empty<[ReadonlyArray<KeyComponent>, string]>()
|
|
778
774
|
}
|
|
779
775
|
const loopArray = (
|
|
780
776
|
path: ReadonlyArray<KeyComponent>,
|
|
781
777
|
values: JsonArray
|
|
782
778
|
): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> =>
|
|
783
|
-
|
|
784
|
-
onEmpty: () =>
|
|
785
|
-
onNonEmpty:
|
|
779
|
+
Array.match(values, {
|
|
780
|
+
onEmpty: () => Array.make([path, "<nil>"] as [ReadonlyArray<KeyComponent>, string]),
|
|
781
|
+
onNonEmpty: Array.flatMap((value, index) => loopAny(Array.append(path, keyIndex(index)), value))
|
|
786
782
|
})
|
|
787
783
|
const loopObject = (
|
|
788
784
|
path: ReadonlyArray<KeyComponent>,
|
|
789
785
|
value: JsonMap
|
|
790
786
|
): ReadonlyArray<[path: ReadonlyArray<KeyComponent>, value: string]> =>
|
|
791
787
|
Object.entries(value).flatMap(([key, value]) => {
|
|
792
|
-
const newPath =
|
|
788
|
+
const newPath = Array.append(path, keyName(key))
|
|
793
789
|
const result = loopAny(newPath, value)
|
|
794
|
-
if (
|
|
795
|
-
return
|
|
790
|
+
if (Array.isEmptyReadonlyArray(result)) {
|
|
791
|
+
return Array.make([newPath, ""] as [ReadonlyArray<KeyComponent>, string])
|
|
796
792
|
}
|
|
797
793
|
return result
|
|
798
794
|
})
|
|
799
|
-
return loopObject(
|
|
795
|
+
return loopObject(Array.empty(), config)
|
|
800
796
|
}
|