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
|
@@ -11,7 +11,6 @@ import type { Equivalence } from "./Equivalence.js"
|
|
|
11
11
|
import { dual, identity } from "./Function.js"
|
|
12
12
|
import type { TypeLambda } from "./HKT.js"
|
|
13
13
|
import * as Option from "./Option.js"
|
|
14
|
-
import type { NoInfer } from "./Types.js"
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* @category models
|
|
@@ -69,7 +68,7 @@ export const empty = <K extends string | symbol = never, V = never>(): Record<
|
|
|
69
68
|
* @param self - record to test for emptiness.
|
|
70
69
|
*
|
|
71
70
|
* @example
|
|
72
|
-
* import { isEmptyRecord } from "effect/
|
|
71
|
+
* import { isEmptyRecord } from "effect/Record"
|
|
73
72
|
*
|
|
74
73
|
* assert.deepStrictEqual(isEmptyRecord({}), true);
|
|
75
74
|
* assert.deepStrictEqual(isEmptyRecord({ a: 3 }), false);
|
|
@@ -86,7 +85,7 @@ export const isEmptyRecord = <K extends string, A>(self: Record<K, A>): self is
|
|
|
86
85
|
* @param self - record to test for emptiness.
|
|
87
86
|
*
|
|
88
87
|
* @example
|
|
89
|
-
* import { isEmptyReadonlyRecord } from "effect/
|
|
88
|
+
* import { isEmptyReadonlyRecord } from "effect/Record"
|
|
90
89
|
*
|
|
91
90
|
* assert.deepStrictEqual(isEmptyReadonlyRecord({}), true);
|
|
92
91
|
* assert.deepStrictEqual(isEmptyReadonlyRecord({ a: 3 }), false);
|
|
@@ -106,7 +105,7 @@ export const isEmptyReadonlyRecord: <K extends string, A>(
|
|
|
106
105
|
* @param f - A projection function that maps values of the iterable to a tuple of a key and a value.
|
|
107
106
|
*
|
|
108
107
|
* @example
|
|
109
|
-
* import { fromIterableWith } from "effect/
|
|
108
|
+
* import { fromIterableWith } from "effect/Record"
|
|
110
109
|
*
|
|
111
110
|
* const input = [1, 2, 3, 4]
|
|
112
111
|
*
|
|
@@ -148,7 +147,7 @@ export const fromIterableWith: {
|
|
|
148
147
|
* @param f - A function that extracts the key for each element.
|
|
149
148
|
*
|
|
150
149
|
* @example
|
|
151
|
-
* import { fromIterableBy } from "effect/
|
|
150
|
+
* import { fromIterableBy } from "effect/Record"
|
|
152
151
|
*
|
|
153
152
|
* const users = [
|
|
154
153
|
* { id: "2", name: "name2" },
|
|
@@ -180,7 +179,7 @@ export const fromIterableBy = <A, K extends string | symbol>(
|
|
|
180
179
|
* @param self - The iterable of key-value pairs.
|
|
181
180
|
*
|
|
182
181
|
* @example
|
|
183
|
-
* import { fromEntries } from "effect/
|
|
182
|
+
* import { fromEntries } from "effect/Record"
|
|
184
183
|
*
|
|
185
184
|
* const input: Array<[string, number]> = [["a", 1], ["b", 2]]
|
|
186
185
|
*
|
|
@@ -200,7 +199,7 @@ export const fromEntries: <Entry extends readonly [string | symbol, any]>(
|
|
|
200
199
|
* @param f - The custom mapping function to apply to each key/value of the record.
|
|
201
200
|
*
|
|
202
201
|
* @example
|
|
203
|
-
* import { collect } from "effect/
|
|
202
|
+
* import { collect } from "effect/Record"
|
|
204
203
|
*
|
|
205
204
|
* const x = { a: 1, b: 2, c: 3 }
|
|
206
205
|
* assert.deepStrictEqual(collect(x, (key, n) => [key, n]), [["a", 1], ["b", 2], ["c", 3]])
|
|
@@ -228,7 +227,7 @@ export const collect: {
|
|
|
228
227
|
* @param self - The record to transform.
|
|
229
228
|
*
|
|
230
229
|
* @example
|
|
231
|
-
* import { toEntries } from "effect/
|
|
230
|
+
* import { toEntries } from "effect/Record"
|
|
232
231
|
*
|
|
233
232
|
* const x = { a: 1, b: 2, c: 3 }
|
|
234
233
|
* assert.deepStrictEqual(toEntries(x), [["a", 1], ["b", 2], ["c", 3]])
|
|
@@ -247,7 +246,7 @@ export const toEntries: <K extends string, A>(self: ReadonlyRecord<K, A>) => Arr
|
|
|
247
246
|
* @param self - A record to calculate the number of key/value pairs in.
|
|
248
247
|
*
|
|
249
248
|
* @example
|
|
250
|
-
* import { size } from "effect/
|
|
249
|
+
* import { size } from "effect/Record";
|
|
251
250
|
*
|
|
252
251
|
* assert.deepStrictEqual(size({ a: "a", b: 1, c: true }), 3);
|
|
253
252
|
*
|
|
@@ -262,7 +261,7 @@ export const size = <K extends string, A>(self: ReadonlyRecord<K, A>): number =>
|
|
|
262
261
|
* @param key - the key to look for in the record.
|
|
263
262
|
*
|
|
264
263
|
* @example
|
|
265
|
-
* import { empty, has } from "effect/
|
|
264
|
+
* import { empty, has } from "effect/Record"
|
|
266
265
|
*
|
|
267
266
|
* assert.deepStrictEqual(has({ a: 1, b: 2 }, "a"), true);
|
|
268
267
|
* assert.deepStrictEqual(has(empty<string>(), "c"), false);
|
|
@@ -292,7 +291,7 @@ export const has: {
|
|
|
292
291
|
* @param key - Key to retrieve from record.
|
|
293
292
|
*
|
|
294
293
|
* @example
|
|
295
|
-
* import { get } from "effect/
|
|
294
|
+
* import { get } from "effect/Record"
|
|
296
295
|
* import { some, none } from "effect/Option"
|
|
297
296
|
*
|
|
298
297
|
* const person: Record<string, unknown> = { name: "John Doe", age: 35 }
|
|
@@ -320,7 +319,7 @@ export const get: {
|
|
|
320
319
|
* @param f - The function to apply to the element.
|
|
321
320
|
*
|
|
322
321
|
* @example
|
|
323
|
-
* import { modify } from "effect/
|
|
322
|
+
* import { modify } from "effect/Record"
|
|
324
323
|
* import { some, none } from "effect/Option"
|
|
325
324
|
*
|
|
326
325
|
* const f = (x: number) => x * 2
|
|
@@ -361,7 +360,7 @@ export const modify: {
|
|
|
361
360
|
* @param f - The function to apply to the element.
|
|
362
361
|
*
|
|
363
362
|
* @example
|
|
364
|
-
* import { modifyOption } from "effect/
|
|
363
|
+
* import { modifyOption } from "effect/Record"
|
|
365
364
|
* import { some, none } from "effect/Option"
|
|
366
365
|
*
|
|
367
366
|
* const f = (x: number) => x * 2
|
|
@@ -409,7 +408,7 @@ export const modifyOption: {
|
|
|
409
408
|
* @param b - The new value to replace the existing value with.
|
|
410
409
|
*
|
|
411
410
|
* @example
|
|
412
|
-
* import { empty, replaceOption } from "effect/
|
|
411
|
+
* import { empty, replaceOption } from "effect/Record"
|
|
413
412
|
* import { some, none } from "effect/Option"
|
|
414
413
|
*
|
|
415
414
|
* assert.deepStrictEqual(
|
|
@@ -447,7 +446,7 @@ export const replaceOption: {
|
|
|
447
446
|
* @param key - the key to remove from the record.
|
|
448
447
|
*
|
|
449
448
|
* @example
|
|
450
|
-
* import { remove } from "effect/
|
|
449
|
+
* import { remove } from "effect/Record"
|
|
451
450
|
*
|
|
452
451
|
* assert.deepStrictEqual(remove({ a: 1, b: 2 }, "a"), { b: 2 })
|
|
453
452
|
*
|
|
@@ -477,7 +476,7 @@ export const remove: {
|
|
|
477
476
|
* @param key - The key of the property to retrieve.
|
|
478
477
|
*
|
|
479
478
|
* @example
|
|
480
|
-
* import { pop } from "effect/
|
|
479
|
+
* import { pop } from "effect/Record"
|
|
481
480
|
* import { some, none } from 'effect/Option'
|
|
482
481
|
*
|
|
483
482
|
* assert.deepStrictEqual(pop({ a: 1, b: 2 }, "a"), some([1, { b: 2 }]))
|
|
@@ -507,7 +506,7 @@ export const pop: {
|
|
|
507
506
|
* @param f - A transformation function that will be applied to each of the values in the record.
|
|
508
507
|
*
|
|
509
508
|
* @example
|
|
510
|
-
* import { map } from "effect/
|
|
509
|
+
* import { map } from "effect/Record"
|
|
511
510
|
*
|
|
512
511
|
* const f = (n: number) => `-${n}`
|
|
513
512
|
*
|
|
@@ -538,7 +537,7 @@ export const map: {
|
|
|
538
537
|
* Maps the keys of a `ReadonlyRecord` while preserving the corresponding values.
|
|
539
538
|
*
|
|
540
539
|
* @example
|
|
541
|
-
* import { mapKeys } from "effect/
|
|
540
|
+
* import { mapKeys } from "effect/Record"
|
|
542
541
|
*
|
|
543
542
|
* assert.deepStrictEqual(mapKeys({ a: 3, b: 5 }, (key) => key.toUpperCase()), { A: 3, B: 5 })
|
|
544
543
|
*
|
|
@@ -572,7 +571,7 @@ export const mapKeys: {
|
|
|
572
571
|
* Maps entries of a `ReadonlyRecord` using the provided function, allowing modification of both keys and corresponding values.
|
|
573
572
|
*
|
|
574
573
|
* @example
|
|
575
|
-
* import { mapEntries } from "effect/
|
|
574
|
+
* import { mapEntries } from "effect/Record"
|
|
576
575
|
*
|
|
577
576
|
* assert.deepStrictEqual(mapEntries({ a: 3, b: 5 }, (a, key) => [key.toUpperCase(), a + 1]), { A: 4, B: 6 })
|
|
578
577
|
*
|
|
@@ -610,7 +609,7 @@ export const mapEntries: {
|
|
|
610
609
|
* @param f - The transformation function.
|
|
611
610
|
*
|
|
612
611
|
* @example
|
|
613
|
-
* import { filterMap } from "effect/
|
|
612
|
+
* import { filterMap } from "effect/Record"
|
|
614
613
|
* import { some, none } from 'effect/Option'
|
|
615
614
|
*
|
|
616
615
|
* const x = { a: 1, b: 2, c: 3 }
|
|
@@ -651,7 +650,7 @@ export const filterMap: {
|
|
|
651
650
|
* @param predicate - A function that returns a `boolean` value to determine if the entry should be included in the new record.
|
|
652
651
|
*
|
|
653
652
|
* @example
|
|
654
|
-
* import { filter } from "effect/
|
|
653
|
+
* import { filter } from "effect/Record"
|
|
655
654
|
*
|
|
656
655
|
* const x = { a: 1, b: 2, c: 3, d: 4 }
|
|
657
656
|
* assert.deepStrictEqual(filter(x, (n) => n > 2), { c: 3, d: 4 })
|
|
@@ -696,7 +695,7 @@ export const filter: {
|
|
|
696
695
|
* @param self - A record with `Option` values.
|
|
697
696
|
*
|
|
698
697
|
* @example
|
|
699
|
-
* import { getSomes } from "effect/
|
|
698
|
+
* import { getSomes } from "effect/Record"
|
|
700
699
|
* import { some, none } from "effect/Option"
|
|
701
700
|
*
|
|
702
701
|
* assert.deepStrictEqual(
|
|
@@ -717,7 +716,7 @@ export const getSomes: <K extends string, A>(
|
|
|
717
716
|
* Given a record with `Either` values, returns a new record containing only the `Left` values, preserving the original keys.
|
|
718
717
|
*
|
|
719
718
|
* @example
|
|
720
|
-
* import { getLefts } from "effect/
|
|
719
|
+
* import { getLefts } from "effect/Record"
|
|
721
720
|
* import { right, left } from "effect/Either"
|
|
722
721
|
*
|
|
723
722
|
* assert.deepStrictEqual(
|
|
@@ -746,7 +745,7 @@ export const getLefts = <K extends string, R, L>(
|
|
|
746
745
|
* Given a record with `Either` values, returns a new record containing only the `Right` values, preserving the original keys.
|
|
747
746
|
*
|
|
748
747
|
* @example
|
|
749
|
-
* import { getRights } from "effect/
|
|
748
|
+
* import { getRights } from "effect/Record"
|
|
750
749
|
* import { right, left } from "effect/Either"
|
|
751
750
|
*
|
|
752
751
|
* assert.deepStrictEqual(
|
|
@@ -778,7 +777,7 @@ export const getRights = <K extends string, R, L>(
|
|
|
778
777
|
* @param f - The predicate function to apply to each element.
|
|
779
778
|
*
|
|
780
779
|
* @example
|
|
781
|
-
* import { partitionMap } from "effect/
|
|
780
|
+
* import { partitionMap } from "effect/Record"
|
|
782
781
|
* import { left, right } from 'effect/Either'
|
|
783
782
|
*
|
|
784
783
|
* const x = { a: 1, b: 2, c: 3 }
|
|
@@ -825,7 +824,7 @@ export const partitionMap: {
|
|
|
825
824
|
* @param self - the record to partition.
|
|
826
825
|
*
|
|
827
826
|
* @example
|
|
828
|
-
* import { separate } from "effect/
|
|
827
|
+
* import { separate } from "effect/Record"
|
|
829
828
|
* import { left, right } from 'effect/Either'
|
|
830
829
|
*
|
|
831
830
|
* assert.deepStrictEqual(
|
|
@@ -847,7 +846,7 @@ export const separate: <K extends string, A, B>(
|
|
|
847
846
|
* @param predicate - The partitioning function to determine the partitioning of each value of the record.
|
|
848
847
|
*
|
|
849
848
|
* @example
|
|
850
|
-
* import { partition } from "effect/
|
|
849
|
+
* import { partition } from "effect/Record"
|
|
851
850
|
*
|
|
852
851
|
* assert.deepStrictEqual(
|
|
853
852
|
* partition({ a: 1, b: 3 }, (n) => n > 2),
|
|
@@ -925,7 +924,7 @@ export const values = <K extends string, A>(self: ReadonlyRecord<K, A>): Array<A
|
|
|
925
924
|
* @param values - The value you want to associate with the key.
|
|
926
925
|
*
|
|
927
926
|
* @example
|
|
928
|
-
* import { set } from "effect/
|
|
927
|
+
* import { set } from "effect/Record"
|
|
929
928
|
*
|
|
930
929
|
* assert.deepStrictEqual(set("a", 5)({ a: 1, b: 2 }), { a: 5, b: 2 });
|
|
931
930
|
* assert.deepStrictEqual(set("c", 5)({ a: 1, b: 2 }), { a: 1, b: 2, c: 5 });
|
|
@@ -962,7 +961,7 @@ export const set: {
|
|
|
962
961
|
* @param value - The new value to associate with the key.
|
|
963
962
|
*
|
|
964
963
|
* @example
|
|
965
|
-
* import { replace } from "effect/
|
|
964
|
+
* import { replace } from "effect/Record"
|
|
966
965
|
* import { some, none } from "effect/Option"
|
|
967
966
|
*
|
|
968
967
|
* assert.deepStrictEqual(replace("a", 3)({ a: 1, b: 2 }), { a: 3, b: 2 });
|
package/src/Ref.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type * as Effect from "./Effect.js"
|
|
5
5
|
import * as internal from "./internal/ref.js"
|
|
6
6
|
import type * as Option from "./Option.js"
|
|
7
|
-
import type {
|
|
7
|
+
import type { Readable } from "./Readable.js"
|
|
8
8
|
import type * as Types from "./Types.js"
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -23,7 +23,7 @@ export type RefTypeId = typeof RefTypeId
|
|
|
23
23
|
* @since 2.0.0
|
|
24
24
|
* @category models
|
|
25
25
|
*/
|
|
26
|
-
export interface Ref<in out A> extends Ref.Variance<A>,
|
|
26
|
+
export interface Ref<in out A> extends Ref.Variance<A>, Readable<A> {
|
|
27
27
|
modify<B>(f: (a: A) => readonly [B, A]): Effect.Effect<B>
|
|
28
28
|
}
|
|
29
29
|
|
package/src/RegExp.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with RegExp in TypeScript.
|
|
3
|
+
*
|
|
4
|
+
* @since 2.0.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Escapes special characters in a regular expression pattern.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import * as RegExp from "effect/RegExp"
|
|
12
|
+
*
|
|
13
|
+
* assert.deepStrictEqual(RegExp.escape("a*b"), "a\\*b")
|
|
14
|
+
*
|
|
15
|
+
* @since 2.0.0
|
|
16
|
+
*/
|
|
17
|
+
export const escape = (string: string): string => string.replace(/[/\\^$*+?.()|[\]{}]/g, "\\$&")
|
package/src/Request.ts
CHANGED
|
@@ -257,7 +257,7 @@ export interface Listeners {
|
|
|
257
257
|
* @since 2.0.0
|
|
258
258
|
*/
|
|
259
259
|
export interface Cache extends
|
|
260
|
-
_Cache.ConsumerCache<Request<any, any>,
|
|
260
|
+
_Cache.ConsumerCache<Request<any, any>, {
|
|
261
261
|
listeners: Listeners
|
|
262
262
|
handle: Deferred<unknown, unknown>
|
|
263
263
|
}>
|
package/src/RequestResolver.ts
CHANGED
|
@@ -187,13 +187,13 @@ export const around: {
|
|
|
187
187
|
*/
|
|
188
188
|
export const aroundRequests: {
|
|
189
189
|
<A, A2, R2, X, R3>(
|
|
190
|
-
before: (requests: ReadonlyArray<
|
|
191
|
-
after: (requests: ReadonlyArray<
|
|
190
|
+
before: (requests: ReadonlyArray<NoInfer<A>>) => Effect.Effect<A2, never, R2>,
|
|
191
|
+
after: (requests: ReadonlyArray<NoInfer<A>>, _: A2) => Effect.Effect<X, never, R3>
|
|
192
192
|
): <R>(self: RequestResolver<A, R>) => RequestResolver<A, R2 | R3 | R>
|
|
193
193
|
<A, R, A2, R2, X, R3>(
|
|
194
194
|
self: RequestResolver<A, R>,
|
|
195
|
-
before: (requests: ReadonlyArray<
|
|
196
|
-
after: (requests: ReadonlyArray<
|
|
195
|
+
before: (requests: ReadonlyArray<NoInfer<A>>) => Effect.Effect<A2, never, R2>,
|
|
196
|
+
after: (requests: ReadonlyArray<NoInfer<A>>, _: A2) => Effect.Effect<X, never, R3>
|
|
197
197
|
): RequestResolver<A, R | R2 | R3>
|
|
198
198
|
} = internal.aroundRequests
|
|
199
199
|
|
package/src/STM.ts
CHANGED
|
@@ -14,7 +14,7 @@ import * as stm from "./internal/stm/stm.js"
|
|
|
14
14
|
import type * as Option from "./Option.js"
|
|
15
15
|
import type { Pipeable } from "./Pipeable.js"
|
|
16
16
|
import type { Predicate, Refinement } from "./Predicate.js"
|
|
17
|
-
import type { Covariant, MergeRecord
|
|
17
|
+
import type { Covariant, MergeRecord } from "./Types.js"
|
|
18
18
|
import type * as Unify from "./Unify.js"
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -295,7 +295,7 @@ export const asSomeError: <A, E, R>(self: STM<A, E, R>) => STM<A, Option.Option<
|
|
|
295
295
|
* @since 2.0.0
|
|
296
296
|
* @category mapping
|
|
297
297
|
*/
|
|
298
|
-
export const
|
|
298
|
+
export const asVoid: <A, E, R>(self: STM<A, E, R>) => STM<void, E, R> = stm.asVoid
|
|
299
299
|
|
|
300
300
|
/**
|
|
301
301
|
* Creates an `STM` value from a partial (but pure) function.
|
|
@@ -1860,13 +1860,16 @@ export const unlessSTM: {
|
|
|
1860
1860
|
*/
|
|
1861
1861
|
export const unsome: <A, E, R>(self: STM<A, Option.Option<E>, R>) => STM<Option.Option<A>, E, R> = stm.unsome
|
|
1862
1862
|
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1863
|
+
const void_: STM<void> = stm.void
|
|
1864
|
+
export {
|
|
1865
|
+
/**
|
|
1866
|
+
* Returns an `STM` effect that succeeds with `void`.
|
|
1867
|
+
*
|
|
1868
|
+
* @since 2.0.0
|
|
1869
|
+
* @category constructors
|
|
1870
|
+
*/
|
|
1871
|
+
void_ as void
|
|
1872
|
+
}
|
|
1870
1873
|
|
|
1871
1874
|
/**
|
|
1872
1875
|
* Feeds elements of type `A` to `f` and accumulates all errors in error
|
package/src/Schedule.ts
CHANGED
|
@@ -218,7 +218,7 @@ export const as: {
|
|
|
218
218
|
* @since 2.0.0
|
|
219
219
|
* @category constructors
|
|
220
220
|
*/
|
|
221
|
-
export const
|
|
221
|
+
export const asVoid: <Out, In, R>(self: Schedule<Out, In, R>) => Schedule<void, In, R> = internal.asVoid
|
|
222
222
|
|
|
223
223
|
/**
|
|
224
224
|
* Returns a new schedule that has both the inputs and outputs of this and the
|
package/src/ScopedCache.ts
CHANGED
|
@@ -27,7 +27,9 @@ export type ScopedCacheTypeId = typeof ScopedCacheTypeId
|
|
|
27
27
|
* @since 2.0.0
|
|
28
28
|
* @category models
|
|
29
29
|
*/
|
|
30
|
-
export interface ScopedCache<in Key, out
|
|
30
|
+
export interface ScopedCache<in Key, out Value, out Error = never>
|
|
31
|
+
extends ScopedCache.Variance<Key, Value, Error>, Pipeable
|
|
32
|
+
{
|
|
31
33
|
/**
|
|
32
34
|
* Retrieves the value associated with the specified key if it exists.
|
|
33
35
|
* Otherwise returns `Option.none`.
|
|
@@ -98,7 +100,7 @@ export declare namespace ScopedCache {
|
|
|
98
100
|
* @since 2.0.0
|
|
99
101
|
* @category models
|
|
100
102
|
*/
|
|
101
|
-
export interface Variance<in Key, out
|
|
103
|
+
export interface Variance<in Key, out Value, out Error> {
|
|
102
104
|
readonly [ScopedCacheTypeId]: {
|
|
103
105
|
_Key: Types.Contravariant<Key>
|
|
104
106
|
_Error: Types.Covariant<Error>
|
|
@@ -114,13 +116,13 @@ export declare namespace ScopedCache {
|
|
|
114
116
|
* @since 2.0.0
|
|
115
117
|
* @category constructors
|
|
116
118
|
*/
|
|
117
|
-
export const make: <Key,
|
|
119
|
+
export const make: <Key, Value, Error = never, Environment = never>(
|
|
118
120
|
options: {
|
|
119
|
-
readonly lookup: Lookup<Key,
|
|
121
|
+
readonly lookup: Lookup<Key, Value, Error, Environment>
|
|
120
122
|
readonly capacity: number
|
|
121
123
|
readonly timeToLive: Duration.DurationInput
|
|
122
124
|
}
|
|
123
|
-
) => Effect.Effect<ScopedCache<Key,
|
|
125
|
+
) => Effect.Effect<ScopedCache<Key, Value, Error>, never, Scope.Scope | Environment> = internal.make
|
|
124
126
|
|
|
125
127
|
/**
|
|
126
128
|
* Constructs a new cache with the specified capacity, time to live, and
|
|
@@ -130,13 +132,13 @@ export const make: <Key, Environment, Error, Value>(
|
|
|
130
132
|
* @since 2.0.0
|
|
131
133
|
* @category constructors
|
|
132
134
|
*/
|
|
133
|
-
export const makeWith: <Key,
|
|
135
|
+
export const makeWith: <Key, Value, Error = never, Environment = never>(
|
|
134
136
|
options: {
|
|
135
137
|
readonly capacity: number
|
|
136
|
-
readonly lookup: Lookup<Key,
|
|
138
|
+
readonly lookup: Lookup<Key, Value, Error, Environment>
|
|
137
139
|
readonly timeToLive: (exit: Exit.Exit<Value, Error>) => Duration.DurationInput
|
|
138
140
|
}
|
|
139
|
-
) => Effect.Effect<ScopedCache<Key,
|
|
141
|
+
) => Effect.Effect<ScopedCache<Key, Value, Error>, never, Scope.Scope | Environment> = internal.makeWith
|
|
140
142
|
|
|
141
143
|
/**
|
|
142
144
|
* Similar to `Cache.Lookup`, but executes the lookup function within a `Scope`.
|
|
@@ -144,6 +146,6 @@ export const makeWith: <Key, Environment, Error, Value>(
|
|
|
144
146
|
* @since 2.0.0
|
|
145
147
|
* @category models
|
|
146
148
|
*/
|
|
147
|
-
export type Lookup<Key,
|
|
149
|
+
export type Lookup<Key, Value, Error = never, Environment = never> = (
|
|
148
150
|
key: Key
|
|
149
151
|
) => Effect.Effect<Value, Error, Environment | Scope.Scope>
|
package/src/SortedSet.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { pipeArguments } from "./Pipeable.js"
|
|
|
14
14
|
import type { Predicate } from "./Predicate.js"
|
|
15
15
|
import { hasProperty } from "./Predicate.js"
|
|
16
16
|
import * as RBT from "./RedBlackTree.js"
|
|
17
|
-
import type { Invariant
|
|
17
|
+
import type { Invariant } from "./Types.js"
|
|
18
18
|
|
|
19
19
|
const TypeId: unique symbol = Symbol.for("effect/SortedSet")
|
|
20
20
|
|
package/src/Stream.ts
CHANGED
|
@@ -29,7 +29,7 @@ import type * as Emit from "./StreamEmit.js"
|
|
|
29
29
|
import type * as HaltStrategy from "./StreamHaltStrategy.js"
|
|
30
30
|
import type * as Take from "./Take.js"
|
|
31
31
|
import type * as Tracer from "./Tracer.js"
|
|
32
|
-
import type { Covariant, MergeRecord
|
|
32
|
+
import type { Covariant, MergeRecord } from "./Types.js"
|
|
33
33
|
import type * as Unify from "./Unify.js"
|
|
34
34
|
|
|
35
35
|
/**
|
|
@@ -3707,7 +3707,7 @@ export const throttleEffect: {
|
|
|
3707
3707
|
} = internal.throttleEffect
|
|
3708
3708
|
|
|
3709
3709
|
/**
|
|
3710
|
-
* A stream that emits
|
|
3710
|
+
* A stream that emits void values spaced by the specified duration.
|
|
3711
3711
|
*
|
|
3712
3712
|
* @since 2.0.0
|
|
3713
3713
|
* @category constructors
|
|
@@ -3915,13 +3915,16 @@ export const unfoldEffect: <S, A, E, R>(
|
|
|
3915
3915
|
f: (s: S) => Effect.Effect<Option.Option<readonly [A, S]>, E, R>
|
|
3916
3916
|
) => Stream<A, E, R> = internal.unfoldEffect
|
|
3917
3917
|
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3918
|
+
const void_: Stream<void> = internal.void
|
|
3919
|
+
export {
|
|
3920
|
+
/**
|
|
3921
|
+
* A stream that contains a single `void` value.
|
|
3922
|
+
*
|
|
3923
|
+
* @since 2.0.0
|
|
3924
|
+
* @category constructors
|
|
3925
|
+
*/
|
|
3926
|
+
void_ as void
|
|
3927
|
+
}
|
|
3925
3928
|
|
|
3926
3929
|
/**
|
|
3927
3930
|
* Creates a stream produced from an `Effect`.
|
|
@@ -4025,7 +4028,7 @@ export const withSpan: {
|
|
|
4025
4028
|
options?: {
|
|
4026
4029
|
readonly attributes?: Record<string, unknown> | undefined
|
|
4027
4030
|
readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
|
|
4028
|
-
readonly parent?: Tracer.
|
|
4031
|
+
readonly parent?: Tracer.AnySpan | undefined
|
|
4029
4032
|
readonly root?: boolean | undefined
|
|
4030
4033
|
readonly context?: Context.Context<never> | undefined
|
|
4031
4034
|
} | undefined
|
|
@@ -4036,7 +4039,7 @@ export const withSpan: {
|
|
|
4036
4039
|
options?: {
|
|
4037
4040
|
readonly attributes?: Record<string, unknown> | undefined
|
|
4038
4041
|
readonly links?: ReadonlyArray<Tracer.SpanLink> | undefined
|
|
4039
|
-
readonly parent?: Tracer.
|
|
4042
|
+
readonly parent?: Tracer.AnySpan | undefined
|
|
4040
4043
|
readonly root?: boolean | undefined
|
|
4041
4044
|
readonly context?: Context.Context<never> | undefined
|
|
4042
4045
|
} | undefined
|
|
@@ -102,10 +102,22 @@ export const isBoth: (self: HaltStrategy) => self is Both = internal.isBoth
|
|
|
102
102
|
export const isEither: (self: HaltStrategy) => self is Either = internal.isEither
|
|
103
103
|
|
|
104
104
|
/**
|
|
105
|
+
* Folds over the specified `HaltStrategy` using the provided case functions.
|
|
106
|
+
*
|
|
105
107
|
* @since 2.0.0
|
|
106
108
|
* @category folding
|
|
107
109
|
*/
|
|
108
110
|
export const match: {
|
|
109
|
-
<Z>(
|
|
110
|
-
|
|
111
|
+
<Z>(options: {
|
|
112
|
+
readonly onLeft: () => Z
|
|
113
|
+
readonly onRight: () => Z
|
|
114
|
+
readonly onBoth: () => Z
|
|
115
|
+
readonly onEither: () => Z
|
|
116
|
+
}): (self: HaltStrategy) => Z
|
|
117
|
+
<Z>(self: HaltStrategy, options: {
|
|
118
|
+
readonly onLeft: () => Z
|
|
119
|
+
readonly onRight: () => Z
|
|
120
|
+
readonly onBoth: () => Z
|
|
121
|
+
readonly onEither: () => Z
|
|
122
|
+
}): Z
|
|
111
123
|
} = internal.match
|
package/src/String.ts
CHANGED
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
* @since 2.0.0
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import type { NonEmptyArray } from "./Array.js"
|
|
9
10
|
import * as equivalence from "./Equivalence.js"
|
|
10
11
|
import { dual } from "./Function.js"
|
|
11
|
-
import * as readonlyArray from "./internal/
|
|
12
|
+
import * as readonlyArray from "./internal/array.js"
|
|
12
13
|
import * as number from "./Number.js"
|
|
13
14
|
import * as Option from "./Option.js"
|
|
14
15
|
import * as order from "./Order.js"
|
|
15
16
|
import type * as Ordering from "./Ordering.js"
|
|
16
17
|
import type { Refinement } from "./Predicate.js"
|
|
17
18
|
import * as predicate from "./Predicate.js"
|
|
18
|
-
import type { NonEmptyArray } from "./ReadonlyArray.js"
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Tests if a value is a `string`.
|
|
@@ -624,6 +624,49 @@ export const stripMarginWith: {
|
|
|
624
624
|
*/
|
|
625
625
|
export const stripMargin = (self: string): string => stripMarginWith(self, "|")
|
|
626
626
|
|
|
627
|
+
/**
|
|
628
|
+
* @since 2.0.0
|
|
629
|
+
*/
|
|
630
|
+
export const snakeToCamel = (self: string): string => {
|
|
631
|
+
let str = self[0]
|
|
632
|
+
for (let i = 1; i < self.length; i++) {
|
|
633
|
+
str += self[i] === "_" ? self[++i].toUpperCase() : self[i]
|
|
634
|
+
}
|
|
635
|
+
return str
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* @since 2.0.0
|
|
640
|
+
*/
|
|
641
|
+
export const snakeToPascal = (self: string): string => {
|
|
642
|
+
let str = self[0].toUpperCase()
|
|
643
|
+
for (let i = 1; i < self.length; i++) {
|
|
644
|
+
str += self[i] === "_" ? self[++i].toUpperCase() : self[i]
|
|
645
|
+
}
|
|
646
|
+
return str
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* @since 2.0.0
|
|
651
|
+
*/
|
|
652
|
+
export const snakeToKebab = (self: string): string => self.replace(/_/g, "-")
|
|
653
|
+
|
|
654
|
+
/**
|
|
655
|
+
* @since 2.0.0
|
|
656
|
+
*/
|
|
657
|
+
export const camelToSnake = (self: string): string => self.replace(/([A-Z])/g, "_$1").toLowerCase()
|
|
658
|
+
|
|
659
|
+
/**
|
|
660
|
+
* @since 2.0.0
|
|
661
|
+
*/
|
|
662
|
+
export const pascalToSnake = (self: string): string =>
|
|
663
|
+
(self.slice(0, 1) + self.slice(1).replace(/([A-Z])/g, "_$1")).toLowerCase()
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* @since 2.0.0
|
|
667
|
+
*/
|
|
668
|
+
export const kebabToSnake = (self: string): string => self.replace(/-/g, "_")
|
|
669
|
+
|
|
627
670
|
class LinesIterator implements IterableIterator<string> {
|
|
628
671
|
private index: number
|
|
629
672
|
private readonly length: number
|