effect 2.0.0-next.50 → 2.0.0-next.52
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/BigDecimal/dist/effect-BigDecimal.cjs.d.mts +2 -0
- package/BigDecimal/dist/effect-BigDecimal.cjs.d.mts.map +1 -0
- package/BigDecimal/dist/effect-BigDecimal.cjs.d.ts +2 -0
- package/BigDecimal/dist/effect-BigDecimal.cjs.d.ts.map +1 -0
- package/BigDecimal/dist/effect-BigDecimal.cjs.dev.js +914 -0
- package/BigDecimal/dist/effect-BigDecimal.cjs.js +7 -0
- package/BigDecimal/dist/effect-BigDecimal.cjs.mjs +38 -0
- package/BigDecimal/dist/effect-BigDecimal.cjs.prod.js +914 -0
- package/BigDecimal/dist/effect-BigDecimal.esm.js +869 -0
- package/BigDecimal/package.json +4 -0
- package/Cache/dist/effect-Cache.cjs.dev.js +21 -21
- package/Cache/dist/effect-Cache.cjs.prod.js +21 -21
- package/Cause/dist/effect-Cause.cjs.dev.js +4 -4
- package/Cause/dist/effect-Cause.cjs.prod.js +4 -4
- package/Channel/dist/effect-Channel.cjs.dev.js +33 -33
- package/Channel/dist/effect-Channel.cjs.prod.js +33 -33
- package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +28 -28
- package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +28 -28
- package/Chunk/dist/effect-Chunk.cjs.dev.js +2 -7
- package/Chunk/dist/effect-Chunk.cjs.mjs +0 -1
- package/Chunk/dist/effect-Chunk.cjs.prod.js +2 -7
- package/Chunk/dist/effect-Chunk.esm.js +3 -7
- package/Clock/dist/effect-Clock.cjs.dev.js +10 -10
- package/Clock/dist/effect-Clock.cjs.prod.js +10 -10
- package/Config/dist/effect-Config.cjs.dev.js +7 -7
- package/Config/dist/effect-Config.cjs.prod.js +7 -7
- package/ConfigError/dist/effect-ConfigError.cjs.dev.js +1 -1
- package/ConfigError/dist/effect-ConfigError.cjs.prod.js +1 -1
- package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +9 -9
- package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +9 -9
- package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +2 -2
- package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +2 -2
- package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +1 -1
- package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +1 -1
- package/Console/dist/effect-Console.cjs.dev.js +25 -25
- package/Console/dist/effect-Console.cjs.prod.js +25 -25
- package/Data/dist/effect-Data.cjs.dev.js +148 -58
- package/Data/dist/effect-Data.cjs.prod.js +148 -58
- package/Data/dist/effect-Data.esm.js +121 -31
- package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +10 -10
- package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +10 -10
- package/Deferred/dist/effect-Deferred.cjs.dev.js +4 -4
- package/Deferred/dist/effect-Deferred.cjs.prod.js +4 -4
- package/Differ/dist/effect-Differ.cjs.dev.js +1 -1
- package/Differ/dist/effect-Differ.cjs.prod.js +1 -1
- package/Effect/dist/effect-Effect.cjs.dev.js +27 -27
- package/Effect/dist/effect-Effect.cjs.prod.js +27 -27
- package/Exit/dist/effect-Exit.cjs.dev.js +4 -4
- package/Exit/dist/effect-Exit.cjs.prod.js +4 -4
- package/Fiber/dist/effect-Fiber.cjs.dev.js +22 -22
- package/Fiber/dist/effect-Fiber.cjs.prod.js +22 -22
- package/FiberId/dist/effect-FiberId.cjs.dev.js +2 -2
- package/FiberId/dist/effect-FiberId.cjs.prod.js +2 -2
- package/FiberRef/dist/effect-FiberRef.cjs.dev.js +22 -22
- package/FiberRef/dist/effect-FiberRef.cjs.prod.js +22 -22
- package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +5 -5
- package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +5 -5
- package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +6 -6
- package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +6 -6
- package/GroupBy/dist/effect-GroupBy.cjs.dev.js +34 -34
- package/GroupBy/dist/effect-GroupBy.cjs.prod.js +34 -34
- package/HashMap/dist/effect-HashMap.cjs.dev.js +1 -1
- package/HashMap/dist/effect-HashMap.cjs.prod.js +1 -1
- package/HashSet/dist/effect-HashSet.cjs.dev.js +1 -1
- package/HashSet/dist/effect-HashSet.cjs.prod.js +1 -1
- package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +22 -22
- package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +22 -22
- package/Layer/dist/effect-Layer.cjs.dev.js +28 -28
- package/Layer/dist/effect-Layer.cjs.prod.js +28 -28
- package/List/dist/effect-List.cjs.dev.js +4 -7
- package/List/dist/effect-List.cjs.mjs +0 -1
- package/List/dist/effect-List.cjs.prod.js +4 -7
- package/List/dist/effect-List.esm.js +5 -7
- package/LogLevel/dist/effect-LogLevel.cjs.dev.js +4 -4
- package/LogLevel/dist/effect-LogLevel.cjs.prod.js +4 -4
- package/Logger/dist/effect-Logger.cjs.dev.js +26 -26
- package/Logger/dist/effect-Logger.cjs.prod.js +26 -26
- package/Match/dist/effect-Match.cjs.dev.js +1 -1
- package/Match/dist/effect-Match.cjs.prod.js +1 -1
- package/Match/dist/effect-Match.esm.js +1 -1
- package/Metric/dist/effect-Metric.cjs.dev.js +20 -20
- package/Metric/dist/effect-Metric.cjs.prod.js +20 -20
- package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +1 -1
- package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +1 -1
- package/MetricHook/dist/effect-MetricHook.cjs.dev.js +2 -2
- package/MetricHook/dist/effect-MetricHook.cjs.prod.js +2 -2
- package/MetricKey/dist/effect-MetricKey.cjs.dev.js +2 -2
- package/MetricKey/dist/effect-MetricKey.cjs.prod.js +2 -2
- package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +22 -22
- package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +22 -22
- package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +3 -3
- package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +3 -3
- package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +1 -1
- package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +1 -1
- package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +1 -1
- package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +1 -1
- package/Pool/dist/effect-Pool.cjs.dev.js +22 -22
- package/Pool/dist/effect-Pool.cjs.prod.js +22 -22
- package/PubSub/dist/effect-PubSub.cjs.dev.js +21 -21
- package/PubSub/dist/effect-PubSub.cjs.prod.js +21 -21
- package/Queue/dist/effect-Queue.cjs.dev.js +21 -21
- package/Queue/dist/effect-Queue.cjs.prod.js +21 -21
- package/Random/dist/effect-Random.cjs.dev.js +10 -10
- package/Random/dist/effect-Random.cjs.prod.js +10 -10
- package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +1 -4
- package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.mjs +0 -1
- package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +1 -4
- package/ReadonlyArray/dist/effect-ReadonlyArray.esm.js +2 -4
- package/Ref/dist/effect-Ref.cjs.dev.js +5 -5
- package/Ref/dist/effect-Ref.cjs.prod.js +5 -5
- package/Reloadable/dist/effect-Reloadable.cjs.dev.js +26 -26
- package/Reloadable/dist/effect-Reloadable.cjs.prod.js +26 -26
- package/Request/dist/effect-Request.cjs.dev.js +21 -21
- package/Request/dist/effect-Request.cjs.prod.js +21 -21
- package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +28 -28
- package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +28 -28
- package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +28 -28
- package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +28 -28
- package/Resource/dist/effect-Resource.cjs.dev.js +24 -24
- package/Resource/dist/effect-Resource.cjs.prod.js +24 -24
- package/Runtime/dist/effect-Runtime.cjs.dev.js +23 -23
- package/Runtime/dist/effect-Runtime.cjs.prod.js +23 -23
- package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +26 -26
- package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +26 -26
- package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +2 -2
- package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +2 -2
- package/STM/dist/effect-STM.cjs.dev.js +36 -36
- package/STM/dist/effect-STM.cjs.prod.js +36 -36
- package/Schedule/dist/effect-Schedule.cjs.dev.js +15 -15
- package/Schedule/dist/effect-Schedule.cjs.prod.js +15 -15
- package/Scheduler/dist/effect-Scheduler.cjs.dev.js +4 -4
- package/Scheduler/dist/effect-Scheduler.cjs.prod.js +4 -4
- package/Scope/dist/effect-Scope.cjs.dev.js +20 -20
- package/Scope/dist/effect-Scope.cjs.prod.js +20 -20
- package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +27 -27
- package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +27 -27
- package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +24 -24
- package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +24 -24
- package/Sink/dist/effect-Sink.cjs.dev.js +31 -31
- package/Sink/dist/effect-Sink.cjs.prod.js +31 -31
- package/Stream/dist/effect-Stream.cjs.dev.js +34 -34
- package/Stream/dist/effect-Stream.cjs.prod.js +34 -34
- package/Streamable/dist/effect-Streamable.cjs.dev.js +34 -34
- package/Streamable/dist/effect-Streamable.cjs.prod.js +34 -34
- package/Struct/dist/effect-Struct.cjs.dev.js +0 -1
- package/Struct/dist/effect-Struct.cjs.prod.js +0 -1
- package/Struct/dist/effect-Struct.esm.js +0 -1
- package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +33 -33
- package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +33 -33
- package/Supervisor/dist/effect-Supervisor.cjs.dev.js +26 -26
- package/Supervisor/dist/effect-Supervisor.cjs.prod.js +26 -26
- package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +23 -23
- package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +23 -23
- package/TArray/dist/effect-TArray.cjs.dev.js +38 -38
- package/TArray/dist/effect-TArray.cjs.prod.js +38 -38
- package/TDeferred/dist/effect-TDeferred.cjs.dev.js +37 -37
- package/TDeferred/dist/effect-TDeferred.cjs.prod.js +37 -37
- package/TMap/dist/effect-TMap.cjs.dev.js +39 -39
- package/TMap/dist/effect-TMap.cjs.prod.js +39 -39
- package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +36 -36
- package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +36 -36
- package/TPubSub/dist/effect-TPubSub.cjs.dev.js +38 -38
- package/TPubSub/dist/effect-TPubSub.cjs.prod.js +38 -38
- package/TQueue/dist/effect-TQueue.cjs.dev.js +38 -38
- package/TQueue/dist/effect-TQueue.cjs.prod.js +38 -38
- package/TRandom/dist/effect-TRandom.cjs.dev.js +38 -38
- package/TRandom/dist/effect-TRandom.cjs.prod.js +38 -38
- package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +36 -36
- package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +36 -36
- package/TRef/dist/effect-TRef.cjs.dev.js +36 -36
- package/TRef/dist/effect-TRef.cjs.prod.js +36 -36
- package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +37 -37
- package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +37 -37
- package/TSet/dist/effect-TSet.cjs.dev.js +39 -39
- package/TSet/dist/effect-TSet.cjs.prod.js +39 -39
- package/Take/dist/effect-Take.cjs.dev.js +28 -28
- package/Take/dist/effect-Take.cjs.prod.js +28 -28
- package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +1 -1
- package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +1 -1
- package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +15 -15
- package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +15 -15
- package/TestClock/dist/effect-TestClock.cjs.dev.js +25 -25
- package/TestClock/dist/effect-TestClock.cjs.prod.js +25 -25
- package/TestContext/dist/effect-TestContext.cjs.dev.js +27 -27
- package/TestContext/dist/effect-TestContext.cjs.prod.js +27 -27
- package/TestLive/dist/effect-TestLive.cjs.dev.js +10 -10
- package/TestLive/dist/effect-TestLive.cjs.prod.js +10 -10
- package/TestServices/dist/effect-TestServices.cjs.dev.js +27 -27
- package/TestServices/dist/effect-TestServices.cjs.prod.js +27 -27
- package/TestSized/dist/effect-TestSized.cjs.dev.js +4 -4
- package/TestSized/dist/effect-TestSized.cjs.prod.js +4 -4
- package/Tracer/dist/effect-Tracer.cjs.dev.js +10 -10
- package/Tracer/dist/effect-Tracer.cjs.prod.js +10 -10
- package/dist/{HashSet-251c8294.cjs.prod.js → HashSet-09ade044.cjs.prod.js} +1 -1
- package/dist/{HashSet-c12c037b.cjs.dev.js → HashSet-e9659fd4.cjs.dev.js} +1 -1
- package/dist/{Ref-00103de4.cjs.prod.js → Ref-50f14c13.cjs.prod.js} +1 -1
- package/dist/{Ref-f990026b.cjs.dev.js → Ref-d3a3826b.cjs.dev.js} +1 -1
- package/dist/{cache-d709d5cb.cjs.dev.js → cache-2a5d8381.cjs.dev.js} +4 -4
- package/dist/{cache-0b148e42.cjs.prod.js → cache-8f0c08cb.cjs.prod.js} +4 -4
- package/dist/{circular-6d2bb353.cjs.dev.js → circular-2effda94.cjs.dev.js} +4 -4
- package/dist/{circular-aa705e70.cjs.dev.js → circular-39e86dc8.cjs.dev.js} +7 -7
- package/dist/{circular-5b6f6504.cjs.prod.js → circular-4f03acf3.cjs.prod.js} +4 -4
- package/dist/{circular-952618e5.cjs.prod.js → circular-acb40239.cjs.prod.js} +7 -7
- package/dist/{config-f0bd27af.cjs.prod.js → config-00e6170c.cjs.prod.js} +3 -3
- package/dist/{config-8a7bf1ae.cjs.dev.js → config-beaa306c.cjs.dev.js} +3 -3
- package/dist/{configProvider-ae007b10.cjs.prod.js → configProvider-290d13e7.cjs.prod.js} +4 -4
- package/dist/{configProvider-3d85d4ef.cjs.dev.js → configProvider-aef50f41.cjs.dev.js} +4 -4
- package/dist/{core-d3f4e713.cjs.prod.js → core-279496f0.cjs.prod.js} +2 -2
- package/dist/{core-473934ce.cjs.prod.js → core-35439f06.cjs.prod.js} +2 -2
- package/dist/{core-dd1edd7a.cjs.dev.js → core-7445bfd4.cjs.dev.js} +2 -2
- package/dist/{core-b4bf44d3.cjs.dev.js → core-a0828fef.cjs.dev.js} +2 -2
- package/dist/{core-effect-f4b1aad8.cjs.dev.js → core-effect-02a7f1d7.cjs.dev.js} +6 -6
- package/dist/{core-effect-6666f2dc.cjs.prod.js → core-effect-460f968a.cjs.prod.js} +6 -6
- package/dist/{dataSource-d5d7f338.cjs.prod.js → dataSource-94fb44f9.cjs.prod.js} +2 -2
- package/dist/{dataSource-9f78e828.cjs.dev.js → dataSource-da4a602c.cjs.dev.js} +2 -2
- package/dist/declarations/src/BigDecimal.d.ts +622 -0
- package/dist/declarations/src/BigDecimal.d.ts.map +1 -0
- package/dist/declarations/src/Chunk.d.ts +14 -11
- package/dist/declarations/src/Chunk.d.ts.map +1 -1
- package/dist/declarations/src/Data.d.ts +195 -46
- package/dist/declarations/src/Data.d.ts.map +1 -1
- package/dist/declarations/src/List.d.ts +15 -10
- package/dist/declarations/src/List.d.ts.map +1 -1
- package/dist/declarations/src/Match.d.ts.map +1 -1
- package/dist/declarations/src/ReadonlyArray.d.ts +13 -8
- package/dist/declarations/src/ReadonlyArray.d.ts.map +1 -1
- package/dist/declarations/src/Struct.d.ts +3 -2
- package/dist/declarations/src/Struct.d.ts.map +1 -1
- package/dist/declarations/src/index.d.ts +16 -0
- package/dist/declarations/src/index.d.ts.map +1 -1
- package/dist/{defaultServices-8ea5e664.cjs.prod.js → defaultServices-61911fd4.cjs.prod.js} +2 -2
- package/dist/{defaultServices-6a9a2d2b.cjs.dev.js → defaultServices-f3f93337.cjs.dev.js} +2 -2
- package/dist/effect.cjs.dev.js +3 -0
- package/dist/effect.cjs.mjs +1 -0
- package/dist/effect.cjs.prod.js +3 -0
- package/dist/effect.esm.js +2 -0
- package/dist/{fiber-3d944398.cjs.dev.js → fiber-cac583ce.cjs.dev.js} +3 -3
- package/dist/{fiber-cbd0613f.cjs.prod.js → fiber-f67dca7d.cjs.prod.js} +3 -3
- package/dist/{fiberRefs-99808a27.cjs.prod.js → fiberRefs-59b59378.cjs.prod.js} +1 -1
- package/dist/{fiberRefs-ccc37f30.cjs.dev.js → fiberRefs-6bd9745e.cjs.dev.js} +1 -1
- package/dist/{fiberRuntime-f1e80ca7.cjs.prod.js → fiberRuntime-26f406c3.cjs.prod.js} +27 -23
- package/dist/{fiberRuntime-0c1e7478.cjs.dev.js → fiberRuntime-976a3e6f.cjs.dev.js} +27 -23
- package/dist/{groupBy-8ae74e3b.cjs.dev.js → groupBy-7fc93bc9.cjs.dev.js} +4 -4
- package/dist/{groupBy-30f6e9ba.cjs.prod.js → groupBy-8977b420.cjs.prod.js} +4 -4
- package/dist/{layer-bfb9802a.cjs.prod.js → layer-abbc91aa.cjs.prod.js} +8 -8
- package/dist/{layer-c284cf0d.cjs.dev.js → layer-c197624f.cjs.dev.js} +8 -8
- package/dist/{patch-cda9b6c8.cjs.dev.js → patch-2d425849.cjs.dev.js} +1 -1
- package/dist/{patch-256bc574.cjs.prod.js → patch-b7689042.cjs.prod.js} +1 -1
- package/dist/{pathPatch-31ce8101.cjs.dev.js → pathPatch-18fa425e.cjs.dev.js} +1 -1
- package/dist/{pathPatch-40b92af6.cjs.prod.js → pathPatch-b6020485.cjs.prod.js} +1 -1
- package/dist/{pool-f6ca2038.cjs.dev.js → pool-810c2214.cjs.dev.js} +5 -5
- package/dist/{pool-122f0fad.cjs.prod.js → pool-868dfa39.cjs.prod.js} +5 -5
- package/dist/{query-5cc0ddf8.cjs.prod.js → query-927b504e.cjs.prod.js} +5 -5
- package/dist/{query-7bffa3c3.cjs.dev.js → query-c6684e39.cjs.dev.js} +5 -5
- package/dist/{queue-e326fd89.cjs.prod.js → queue-062806c7.cjs.prod.js} +2 -2
- package/dist/{queue-4166cfdb.cjs.dev.js → queue-a0fc274d.cjs.dev.js} +2 -2
- package/dist/{registry-081e18a3.cjs.prod.js → registry-9268ec7c.cjs.prod.js} +1 -1
- package/dist/{registry-377855a9.cjs.dev.js → registry-e5ad2d74.cjs.dev.js} +1 -1
- package/dist/{runtime-d4514ab5.cjs.dev.js → runtime-340bd70b.cjs.dev.js} +5 -5
- package/dist/{runtime-4078f059.cjs.prod.js → runtime-ce0ad0ed.cjs.prod.js} +5 -5
- package/dist/{schedule-f036b254.cjs.prod.js → schedule-04b40c50.cjs.prod.js} +3 -3
- package/dist/{schedule-31e38871.cjs.dev.js → schedule-74c6207a.cjs.dev.js} +3 -3
- package/dist/{scopedRef-5ecf6468.cjs.dev.js → scopedRef-4f0dd122.cjs.dev.js} +6 -6
- package/dist/{scopedRef-8ce21228.cjs.prod.js → scopedRef-d429ec83.cjs.prod.js} +6 -6
- package/dist/{singleProducerAsyncInput-8879d87c.cjs.prod.js → singleProducerAsyncInput-06a9076a.cjs.prod.js} +1 -1
- package/dist/{singleProducerAsyncInput-ece7387b.cjs.dev.js → singleProducerAsyncInput-72c05452.cjs.dev.js} +1 -1
- package/dist/{sink-1794329b.cjs.dev.js → sink-301d2bb4.cjs.dev.js} +3 -3
- package/dist/{sink-9208df8d.cjs.prod.js → sink-46df55d3.cjs.prod.js} +3 -3
- package/dist/{stm-b080be31.cjs.dev.js → stm-0b50e3c1.cjs.dev.js} +3 -3
- package/dist/{stm-6ad7b384.cjs.prod.js → stm-c0489b43.cjs.prod.js} +3 -3
- package/dist/{stream-e19805ca.cjs.prod.js → stream-0c3160ef.cjs.prod.js} +4 -4
- package/dist/{stream-09aeeac3.cjs.dev.js → stream-44cdd7cb.cjs.dev.js} +4 -4
- package/dist/{synchronizedRef-cc04ecbd.cjs.prod.js → synchronizedRef-2f71b820.cjs.prod.js} +1 -1
- package/dist/{synchronizedRef-8fa16866.cjs.dev.js → synchronizedRef-78797507.cjs.dev.js} +1 -1
- package/dist/{tArray-5e42c290.cjs.prod.js → tArray-006f45b0.cjs.prod.js} +3 -3
- package/dist/{tArray-7d470ed7.cjs.dev.js → tArray-556355cd.cjs.dev.js} +3 -3
- package/dist/{tMap-f0df0ea0.cjs.dev.js → tMap-52d00ffb.cjs.dev.js} +4 -4
- package/dist/{tMap-a2cfde88.cjs.prod.js → tMap-9680b82b.cjs.prod.js} +4 -4
- package/dist/{tQueue-b80e940e.cjs.prod.js → tQueue-51cf109e.cjs.prod.js} +3 -3
- package/dist/{tQueue-085f70b5.cjs.dev.js → tQueue-ca56a2a8.cjs.dev.js} +3 -3
- package/dist/{tRef-42a212cb.cjs.prod.js → tRef-4a2a9689.cjs.prod.js} +1 -1
- package/dist/{tRef-2e495254.cjs.dev.js → tRef-b98e2e2a.cjs.dev.js} +1 -1
- package/internal/HashMap/node.esm.js +1 -1
- package/internal/fiberRuntime.esm.js +9 -8
- package/internal/query.esm.js +2 -2
- package/internal/supervisor/patch.esm.js +3 -3
- package/internal/supervisor.esm.js +5 -1
- package/package.json +10 -5
- package/src/BigDecimal.ts +977 -0
- package/src/Chunk.ts +17 -13
- package/src/Data.ts +222 -94
- package/src/List.ts +17 -11
- package/src/Match.ts +2 -2
- package/src/ReadonlyArray.ts +18 -9
- package/src/Struct.ts +3 -2
- package/src/index.ts +17 -0
- package/src/internal/Data.ts +2 -1
- package/src/internal/HashMap/node.ts +1 -1
- package/src/internal/fiberRuntime.ts +56 -45
- package/src/internal/query.ts +12 -8
- package/src/internal/supervisor/patch.ts +2 -2
- package/src/internal/supervisor.ts +5 -0
- package/src/tsconfig.json +0 -1
- /package/dist/{FiberId-0f0b7779.cjs.prod.js → FiberId-88cc0067.cjs.prod.js} +0 -0
- /package/dist/{FiberId-6595cf4c.cjs.dev.js → FiberId-f329d0e3.cjs.dev.js} +0 -0
- /package/dist/{RuntimeFlagsPatch-7d62915d.cjs.dev.js → RuntimeFlagsPatch-063c5864.cjs.dev.js} +0 -0
- /package/dist/{RuntimeFlagsPatch-3890e860.cjs.prod.js → RuntimeFlagsPatch-233ac7d7.cjs.prod.js} +0 -0
- /package/dist/{boundaries-ebe66d32.cjs.prod.js → boundaries-0e5ddf7b.cjs.prod.js} +0 -0
- /package/dist/{boundaries-8dfe50cb.cjs.dev.js → boundaries-ce70e4e4.cjs.dev.js} +0 -0
- /package/dist/{configError-9021016b.cjs.prod.js → configError-72f57cd6.cjs.prod.js} +0 -0
- /package/dist/{configError-0c09b93c.cjs.dev.js → configError-834bedc1.cjs.dev.js} +0 -0
- /package/dist/{configSecret-0bdfadd8.cjs.prod.js → configSecret-80d3e36b.cjs.prod.js} +0 -0
- /package/dist/{configSecret-938818ad.cjs.dev.js → configSecret-abf643d8.cjs.dev.js} +0 -0
- /package/dist/{hook-ad5af092.cjs.dev.js → hook-13f4db1e.cjs.dev.js} +0 -0
- /package/dist/{hook-cab99f9e.cjs.prod.js → hook-8a020c3f.cjs.prod.js} +0 -0
- /package/dist/{key-9c7368c8.cjs.prod.js → key-2cf383a2.cjs.prod.js} +0 -0
- /package/dist/{key-e3189bbd.cjs.dev.js → key-4b5f6a7d.cjs.dev.js} +0 -0
- /package/dist/{take-114476e5.cjs.prod.js → take-07165139.cjs.prod.js} +0 -0
- /package/dist/{take-d4fa1beb.cjs.dev.js → take-689a29d5.cjs.dev.js} +0 -0
package/src/Chunk.ts
CHANGED
|
@@ -822,6 +822,21 @@ export const last = <A>(self: Chunk<A>): Option<A> => get(self, self.length - 1)
|
|
|
822
822
|
*/
|
|
823
823
|
export const unsafeLast = <A>(self: Chunk<A>): A => unsafeGet(self, self.length - 1)
|
|
824
824
|
|
|
825
|
+
/**
|
|
826
|
+
* @since 2.0.0
|
|
827
|
+
*/
|
|
828
|
+
export declare namespace Chunk {
|
|
829
|
+
/**
|
|
830
|
+
* @since 2.0.0
|
|
831
|
+
*/
|
|
832
|
+
export type Infer<T extends Chunk<any>> = T extends Chunk<infer A> ? A : never
|
|
833
|
+
|
|
834
|
+
/**
|
|
835
|
+
* @since 2.0.0
|
|
836
|
+
*/
|
|
837
|
+
export type With<T extends Chunk<any>, A> = T extends NonEmptyChunk<any> ? NonEmptyChunk<A> : Chunk<A>
|
|
838
|
+
}
|
|
839
|
+
|
|
825
840
|
/**
|
|
826
841
|
* Returns a chunk with the elements mapped by the specified f function.
|
|
827
842
|
*
|
|
@@ -829,24 +844,13 @@ export const unsafeLast = <A>(self: Chunk<A>): A => unsafeGet(self, self.length
|
|
|
829
844
|
* @category mapping
|
|
830
845
|
*/
|
|
831
846
|
export const map: {
|
|
832
|
-
<
|
|
833
|
-
<
|
|
847
|
+
<T extends Chunk<any>, B>(f: (a: Chunk.Infer<T>, i: number) => B): (self: T) => Chunk.With<T, B>
|
|
848
|
+
<T extends Chunk<any>, B>(self: T, f: (a: Chunk.Infer<T>, i: number) => B): Chunk.With<T, B>
|
|
834
849
|
} = dual(2, <A, B>(self: Chunk<A>, f: (a: A, i: number) => B): Chunk<B> =>
|
|
835
850
|
self.backing._tag === "ISingleton" ?
|
|
836
851
|
of(f(self.backing.a, 0)) :
|
|
837
852
|
unsafeFromArray(pipe(toReadonlyArray(self), RA.map((a, i) => f(a, i)))))
|
|
838
853
|
|
|
839
|
-
/**
|
|
840
|
-
* Returns a non empty chunk with the elements mapped by the specified f function.
|
|
841
|
-
*
|
|
842
|
-
* @since 2.0.0
|
|
843
|
-
* @category mapping
|
|
844
|
-
*/
|
|
845
|
-
export const mapNonEmpty: {
|
|
846
|
-
<A, B>(f: (a: A, i: number) => B): (self: NonEmptyChunk<A>) => NonEmptyChunk<B>
|
|
847
|
-
<A, B>(self: NonEmptyChunk<A>, f: (a: A, i: number) => B): NonEmptyChunk<B>
|
|
848
|
-
} = map as any
|
|
849
|
-
|
|
850
854
|
/**
|
|
851
855
|
* Statefully maps over the chunk, producing new elements of type `B`.
|
|
852
856
|
*
|
package/src/Data.ts
CHANGED
|
@@ -14,8 +14,8 @@ import type * as Types from "./Types"
|
|
|
14
14
|
* @category models
|
|
15
15
|
* @since 2.0.0
|
|
16
16
|
*/
|
|
17
|
-
export type Data<A
|
|
18
|
-
&
|
|
17
|
+
export type Data<A> =
|
|
18
|
+
& { readonly [P in keyof A]: A[P] }
|
|
19
19
|
& Equal.Equal
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -36,41 +36,93 @@ export declare namespace Case {
|
|
|
36
36
|
* @since 2.0.0
|
|
37
37
|
* @category models
|
|
38
38
|
*/
|
|
39
|
-
export interface Constructor<A extends Case,
|
|
40
|
-
(
|
|
39
|
+
export interface Constructor<A extends Case, Tag extends keyof A = never> {
|
|
40
|
+
(
|
|
41
|
+
args: Types.Equals<Omit<A, Tag | keyof Equal.Equal>, {}> extends true ? void
|
|
42
|
+
: { readonly [P in keyof A as P extends Tag | keyof Equal.Equal ? never : P]: A[P] }
|
|
43
|
+
): A
|
|
41
44
|
}
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
/**
|
|
48
|
+
* @example
|
|
49
|
+
* import * as Data from "effect/Data"
|
|
50
|
+
* import * as Equal from "effect/Equal"
|
|
51
|
+
*
|
|
52
|
+
* const alice = Data.struct({ name: "Alice", age: 30 })
|
|
53
|
+
*
|
|
54
|
+
* const bob = Data.struct({ name: "Bob", age: 40 })
|
|
55
|
+
*
|
|
56
|
+
* assert.deepStrictEqual(Equal.equals(alice, alice), true)
|
|
57
|
+
* assert.deepStrictEqual(Equal.equals(alice, Data.struct({ name: "Alice", age: 30 })), true)
|
|
58
|
+
*
|
|
59
|
+
* assert.deepStrictEqual(Equal.equals(alice, { name: "Alice", age: 30 }), false)
|
|
60
|
+
* assert.deepStrictEqual(Equal.equals(alice, bob), false)
|
|
61
|
+
*
|
|
45
62
|
* @category constructors
|
|
46
63
|
* @since 2.0.0
|
|
47
64
|
*/
|
|
48
|
-
export const struct: <
|
|
65
|
+
export const struct: <A extends Record<string, any>>(a: A) => Data<{ readonly [P in keyof A]: A[P] }> = internal.struct
|
|
49
66
|
|
|
50
67
|
/**
|
|
51
68
|
* @category constructors
|
|
52
69
|
* @since 2.0.0
|
|
53
70
|
*/
|
|
54
|
-
export const unsafeStruct = <
|
|
71
|
+
export const unsafeStruct = <A extends Record<string, any>>(as: A): Data<{ readonly [P in keyof A]: A[P] }> =>
|
|
55
72
|
Object.setPrototypeOf(as, internal.StructProto)
|
|
56
73
|
|
|
57
74
|
/**
|
|
75
|
+
* @example
|
|
76
|
+
* import * as Data from "effect/Data"
|
|
77
|
+
* import * as Equal from "effect/Equal"
|
|
78
|
+
*
|
|
79
|
+
* const alice = Data.tuple("Alice", 30)
|
|
80
|
+
*
|
|
81
|
+
* const bob = Data.tuple("Bob", 40)
|
|
82
|
+
*
|
|
83
|
+
* assert.deepStrictEqual(Equal.equals(alice, alice), true)
|
|
84
|
+
* assert.deepStrictEqual(Equal.equals(alice, Data.tuple("Alice", 30)), true)
|
|
85
|
+
*
|
|
86
|
+
* assert.deepStrictEqual(Equal.equals(alice, ["Alice", 30]), false)
|
|
87
|
+
* assert.deepStrictEqual(Equal.equals(alice, bob), false)
|
|
88
|
+
*
|
|
58
89
|
* @category constructors
|
|
59
90
|
* @since 2.0.0
|
|
60
91
|
*/
|
|
61
|
-
export const tuple = <As extends ReadonlyArray<any>>(...as: As): Data<As
|
|
92
|
+
export const tuple = <As extends ReadonlyArray<any>>(...as: As): Data<Readonly<As>> => unsafeArray(as)
|
|
62
93
|
|
|
63
94
|
/**
|
|
95
|
+
* @example
|
|
96
|
+
* import * as Data from "effect/Data"
|
|
97
|
+
* import * as Equal from "effect/Equal"
|
|
98
|
+
*
|
|
99
|
+
* const alice = Data.struct({ name: "Alice", age: 30 })
|
|
100
|
+
* const bob = Data.struct({ name: "Bob", age: 40 })
|
|
101
|
+
*
|
|
102
|
+
* const persons = Data.array([alice, bob])
|
|
103
|
+
*
|
|
104
|
+
* assert.deepStrictEqual(
|
|
105
|
+
* Equal.equals(
|
|
106
|
+
* persons,
|
|
107
|
+
* Data.array([
|
|
108
|
+
* Data.struct({ name: "Alice", age: 30 }),
|
|
109
|
+
* Data.struct({ name: "Bob", age: 40 })
|
|
110
|
+
* ])
|
|
111
|
+
* ),
|
|
112
|
+
* true
|
|
113
|
+
* )
|
|
114
|
+
*
|
|
64
115
|
* @category constructors
|
|
65
116
|
* @since 2.0.0
|
|
66
117
|
*/
|
|
67
|
-
export const array = <As extends ReadonlyArray<any>>(as: As): Data<As
|
|
118
|
+
export const array = <As extends ReadonlyArray<any>>(as: As): Data<Readonly<As>> =>
|
|
119
|
+
unsafeArray(as.slice(0) as unknown as As)
|
|
68
120
|
|
|
69
121
|
/**
|
|
70
122
|
* @category constructors
|
|
71
123
|
* @since 2.0.0
|
|
72
124
|
*/
|
|
73
|
-
export const unsafeArray = <As extends ReadonlyArray<any>>(as: As): Data<As
|
|
125
|
+
export const unsafeArray = <As extends ReadonlyArray<any>>(as: As): Data<Readonly<As>> =>
|
|
74
126
|
Object.setPrototypeOf(as, internal.ArrayProto)
|
|
75
127
|
|
|
76
128
|
const _case = <A extends Case>(): Case.Constructor<A> => (args) =>
|
|
@@ -80,6 +132,27 @@ export {
|
|
|
80
132
|
/**
|
|
81
133
|
* Provides a constructor for the specified `Case`.
|
|
82
134
|
*
|
|
135
|
+
* @example
|
|
136
|
+
* import * as Data from "effect/Data"
|
|
137
|
+
* import * as Equal from "effect/Equal"
|
|
138
|
+
*
|
|
139
|
+
* // Extending Data.Case to implement Equal
|
|
140
|
+
* interface Person extends Data.Case {
|
|
141
|
+
* readonly name: string
|
|
142
|
+
* }
|
|
143
|
+
*
|
|
144
|
+
* // Creating a constructor for the specified Case
|
|
145
|
+
* const Person = Data.case<Person>()
|
|
146
|
+
*
|
|
147
|
+
* // Creating instances of Person
|
|
148
|
+
* const mike1 = Person({ name: "Mike" })
|
|
149
|
+
* const mike2 = Person({ name: "Mike" })
|
|
150
|
+
* const john = Person({ name: "John" })
|
|
151
|
+
*
|
|
152
|
+
* // Checking equality
|
|
153
|
+
* assert.deepStrictEqual(Equal.equals(mike1, mike2), true)
|
|
154
|
+
* assert.deepStrictEqual(Equal.equals(mike1, john), false)
|
|
155
|
+
*
|
|
83
156
|
* @since 2.0.0
|
|
84
157
|
* @category constructors
|
|
85
158
|
*/
|
|
@@ -89,10 +162,24 @@ export {
|
|
|
89
162
|
/**
|
|
90
163
|
* Provides a tagged constructor for the specified `Case`.
|
|
91
164
|
*
|
|
165
|
+
* @example
|
|
166
|
+
* import * as Data from "effect/Data"
|
|
167
|
+
*
|
|
168
|
+
* interface Person extends Data.Case {
|
|
169
|
+
* readonly _tag: "Person" // the tag
|
|
170
|
+
* readonly name: string
|
|
171
|
+
* }
|
|
172
|
+
*
|
|
173
|
+
* const Person = Data.tagged<Person>("Person")
|
|
174
|
+
*
|
|
175
|
+
* const mike = Person({ name: "Mike" })
|
|
176
|
+
*
|
|
177
|
+
* assert.deepEqual(mike, { _tag: "Person", name: "Mike" })
|
|
178
|
+
*
|
|
92
179
|
* @since 2.0.0
|
|
93
180
|
* @category constructors
|
|
94
181
|
*/
|
|
95
|
-
export const tagged = <A extends Case & { _tag: string }>(
|
|
182
|
+
export const tagged = <A extends Case & { readonly _tag: string }>(
|
|
96
183
|
tag: A["_tag"]
|
|
97
184
|
): Case.Constructor<A, "_tag"> =>
|
|
98
185
|
(args) => {
|
|
@@ -101,40 +188,75 @@ export const tagged = <A extends Case & { _tag: string }>(
|
|
|
101
188
|
return value
|
|
102
189
|
}
|
|
103
190
|
|
|
191
|
+
/**
|
|
192
|
+
* Provides a constructor for a Case Class.
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* import * as Data from "effect/Data"
|
|
196
|
+
* import * as Equal from "effect/Equal"
|
|
197
|
+
*
|
|
198
|
+
* class Person extends Data.Class<{ readonly name: string }> {}
|
|
199
|
+
*
|
|
200
|
+
* // Creating instances of Person
|
|
201
|
+
* const mike1 = new Person({ name: "Mike" })
|
|
202
|
+
* const mike2 = new Person({ name: "Mike" })
|
|
203
|
+
* const john = new Person({ name: "John" })
|
|
204
|
+
*
|
|
205
|
+
* // Checking equality
|
|
206
|
+
* assert.deepStrictEqual(Equal.equals(mike1, mike2), true)
|
|
207
|
+
* assert.deepStrictEqual(Equal.equals(mike1, john), false)
|
|
208
|
+
*
|
|
209
|
+
* @since 2.0.0
|
|
210
|
+
* @category constructors
|
|
211
|
+
*/
|
|
212
|
+
export const Class: new<A extends Record<string, any>>(
|
|
213
|
+
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
214
|
+
: { readonly [P in keyof A as P extends keyof Equal.Equal ? never : P]: A[P] }
|
|
215
|
+
) => Data<Readonly<A>> = internal.Structural as any
|
|
216
|
+
|
|
104
217
|
/**
|
|
105
218
|
* Provides a Tagged constructor for a Case Class.
|
|
106
219
|
*
|
|
220
|
+
* @example
|
|
221
|
+
* import * as Data from "effect/Data"
|
|
222
|
+
* import * as Equal from "effect/Equal"
|
|
223
|
+
*
|
|
224
|
+
* class Person extends Data.TaggedClass("Person")<{ readonly name: string }> {}
|
|
225
|
+
*
|
|
226
|
+
* // Creating instances of Person
|
|
227
|
+
* const mike1 = new Person({ name: "Mike" })
|
|
228
|
+
* const mike2 = new Person({ name: "Mike" })
|
|
229
|
+
* const john = new Person({ name: "John" })
|
|
230
|
+
*
|
|
231
|
+
* // Checking equality
|
|
232
|
+
* assert.deepStrictEqual(Equal.equals(mike1, mike2), true)
|
|
233
|
+
* assert.deepStrictEqual(Equal.equals(mike1, john), false)
|
|
234
|
+
*
|
|
235
|
+
* assert.deepStrictEqual(mike1._tag, "Person")
|
|
236
|
+
*
|
|
107
237
|
* @since 2.0.0
|
|
108
238
|
* @category constructors
|
|
109
239
|
*/
|
|
110
240
|
export const TaggedClass = <Tag extends string>(
|
|
111
241
|
tag: Tag
|
|
112
242
|
): new<A extends Record<string, any>>(
|
|
113
|
-
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
114
|
-
|
|
243
|
+
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
244
|
+
: { readonly [P in keyof A as P extends "_tag" | keyof Equal.Equal ? never : P]: A[P] }
|
|
245
|
+
) => Data<Readonly<A> & { readonly _tag: Tag }> => {
|
|
115
246
|
class Base extends Class<any> {
|
|
116
247
|
readonly _tag = tag
|
|
117
248
|
}
|
|
118
249
|
return Base as any
|
|
119
250
|
}
|
|
120
251
|
|
|
121
|
-
/**
|
|
122
|
-
* Provides a constructor for a Case Class.
|
|
123
|
-
*
|
|
124
|
-
* @since 2.0.0
|
|
125
|
-
* @category constructors
|
|
126
|
-
*/
|
|
127
|
-
export const Class: new<A extends Record<string, any>>(
|
|
128
|
-
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void : Omit<A, keyof Equal.Equal>
|
|
129
|
-
) => Data<A> = internal.Structural as any
|
|
130
|
-
|
|
131
252
|
/**
|
|
132
253
|
* @since 2.0.0
|
|
133
254
|
* @category constructors
|
|
134
255
|
*/
|
|
135
256
|
export const Structural: new<A>(
|
|
136
|
-
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
137
|
-
|
|
257
|
+
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
258
|
+
: { readonly [P in keyof A as P extends keyof Equal.Equal ? never : P]: A[P] }
|
|
259
|
+
) => Case = internal.Structural as any
|
|
138
260
|
|
|
139
261
|
/**
|
|
140
262
|
* Create a tagged enum data type, which is a union of `Data` structs.
|
|
@@ -143,8 +265,8 @@ export const Structural: new<A>(
|
|
|
143
265
|
* import * as Data from "effect/Data"
|
|
144
266
|
*
|
|
145
267
|
* type HttpError = Data.TaggedEnum<{
|
|
146
|
-
* BadRequest: { status: 400, message: string }
|
|
147
|
-
* NotFound: { status: 404, message: string }
|
|
268
|
+
* BadRequest: { readonly status: 400, readonly message: string }
|
|
269
|
+
* NotFound: { readonly status: 404, readonly message: string }
|
|
148
270
|
* }>
|
|
149
271
|
*
|
|
150
272
|
* // Equivalent to:
|
|
@@ -166,8 +288,9 @@ export const Structural: new<A>(
|
|
|
166
288
|
*/
|
|
167
289
|
export type TaggedEnum<
|
|
168
290
|
A extends Record<string, Record<string, any>> & UntaggedChildren<A>
|
|
169
|
-
> = keyof A extends infer Tag
|
|
170
|
-
|
|
291
|
+
> = keyof A extends infer Tag ? Tag extends keyof A ? Data<
|
|
292
|
+
Types.Simplify<{ readonly _tag: Tag } & { readonly [K in keyof A[Tag]]: A[Tag][K] }>
|
|
293
|
+
>
|
|
171
294
|
: never
|
|
172
295
|
: never
|
|
173
296
|
|
|
@@ -219,20 +342,18 @@ export declare namespace TaggedEnum {
|
|
|
219
342
|
* @since 2.0.0
|
|
220
343
|
*/
|
|
221
344
|
export type Args<
|
|
222
|
-
A extends
|
|
223
|
-
K extends A["_tag"]
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
> extends infer T ? {} extends T ? void
|
|
228
|
-
: T
|
|
345
|
+
A extends { readonly _tag: string } & Equal.Equal,
|
|
346
|
+
K extends A["_tag"],
|
|
347
|
+
E = Extract<A, { readonly _tag: K }>
|
|
348
|
+
> = { readonly [K in keyof E as K extends "_tag" | keyof Case ? never : K]: E[K] } extends infer T ?
|
|
349
|
+
{} extends T ? void : T
|
|
229
350
|
: never
|
|
230
351
|
|
|
231
352
|
/**
|
|
232
353
|
* @since 2.0.0
|
|
233
354
|
*/
|
|
234
355
|
export type Value<
|
|
235
|
-
A extends
|
|
356
|
+
A extends { readonly _tag: string } & Equal.Equal,
|
|
236
357
|
K extends A["_tag"]
|
|
237
358
|
> = Extract<A, { readonly _tag: K }>
|
|
238
359
|
}
|
|
@@ -246,73 +367,86 @@ export declare namespace TaggedEnum {
|
|
|
246
367
|
* @example
|
|
247
368
|
* import * as Data from "effect/Data"
|
|
248
369
|
*
|
|
249
|
-
* const
|
|
250
|
-
* | Data.Data<{ _tag: "BadRequest"; status: 400; message: string }>
|
|
251
|
-
* | Data.Data<{ _tag: "NotFound"; status: 404; message: string }>
|
|
370
|
+
* const { BadRequest, NotFound } = Data.taggedEnum<
|
|
371
|
+
* | Data.Data<{ readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }>
|
|
372
|
+
* | Data.Data<{ readonly _tag: "NotFound"; readonly status: 404; readonly message: string }>
|
|
252
373
|
* >()
|
|
253
374
|
*
|
|
254
|
-
* const notFound =
|
|
375
|
+
* const notFound = NotFound({ status: 404, message: "Not Found" })
|
|
255
376
|
*
|
|
256
377
|
* @example
|
|
257
378
|
* import * as Data from "effect/Data"
|
|
258
379
|
*
|
|
259
380
|
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
260
|
-
* Failure: { error: E }
|
|
261
|
-
* Success: { value: A }
|
|
381
|
+
* Failure: { readonly error: E }
|
|
382
|
+
* Success: { readonly value: A }
|
|
262
383
|
* }>
|
|
263
384
|
* interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
|
|
264
385
|
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
265
386
|
* }
|
|
266
|
-
* const
|
|
387
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
|
|
267
388
|
*
|
|
268
|
-
* const success =
|
|
389
|
+
* const success = Success({ value: 1 })
|
|
269
390
|
*
|
|
270
391
|
* @category constructors
|
|
271
392
|
* @since 2.0.0
|
|
272
393
|
*/
|
|
273
394
|
export const taggedEnum: {
|
|
274
|
-
<Z extends TaggedEnum.WithGenerics<1>>():
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
395
|
+
<Z extends TaggedEnum.WithGenerics<1>>(): {
|
|
396
|
+
readonly [Tag in Z["taggedEnum"]["_tag"]]: <A>(
|
|
397
|
+
args: TaggedEnum.Args<
|
|
398
|
+
TaggedEnum.Kind<Z, A>,
|
|
399
|
+
Tag,
|
|
400
|
+
Extract<TaggedEnum.Kind<Z, A>, { readonly _tag: Tag }>
|
|
401
|
+
>
|
|
402
|
+
) => TaggedEnum.Value<TaggedEnum.Kind<Z, A>, Tag>
|
|
403
|
+
}
|
|
281
404
|
|
|
282
|
-
<Z extends TaggedEnum.WithGenerics<2>>():
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
405
|
+
<Z extends TaggedEnum.WithGenerics<2>>(): {
|
|
406
|
+
readonly [Tag in Z["taggedEnum"]["_tag"]]: <A, B>(
|
|
407
|
+
args: TaggedEnum.Args<
|
|
408
|
+
TaggedEnum.Kind<Z, A, B>,
|
|
409
|
+
Tag,
|
|
410
|
+
Extract<TaggedEnum.Kind<Z, A, B>, { readonly _tag: Tag }>
|
|
411
|
+
>
|
|
412
|
+
) => TaggedEnum.Value<TaggedEnum.Kind<Z, A, B>, Tag>
|
|
413
|
+
}
|
|
289
414
|
|
|
290
|
-
<Z extends TaggedEnum.WithGenerics<3>>():
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
415
|
+
<Z extends TaggedEnum.WithGenerics<3>>(): {
|
|
416
|
+
readonly [Tag in Z["taggedEnum"]["_tag"]]: <A, B, C>(
|
|
417
|
+
args: TaggedEnum.Args<
|
|
418
|
+
TaggedEnum.Kind<Z, A, B, C>,
|
|
419
|
+
Tag,
|
|
420
|
+
Extract<TaggedEnum.Kind<Z, A, B, C>, { readonly _tag: Tag }>
|
|
421
|
+
>
|
|
422
|
+
) => TaggedEnum.Value<TaggedEnum.Kind<Z, A, B, C>, Tag>
|
|
423
|
+
}
|
|
297
424
|
|
|
298
|
-
<Z extends TaggedEnum.WithGenerics<4>>():
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
425
|
+
<Z extends TaggedEnum.WithGenerics<4>>(): {
|
|
426
|
+
readonly [Tag in Z["taggedEnum"]["_tag"]]: <A, B, C, D>(
|
|
427
|
+
args: TaggedEnum.Args<
|
|
428
|
+
TaggedEnum.Kind<Z, A, B, C, D>,
|
|
429
|
+
Tag,
|
|
430
|
+
Extract<TaggedEnum.Kind<Z, A, B, C, D>, { readonly _tag: Tag }>
|
|
431
|
+
>
|
|
432
|
+
) => TaggedEnum.Value<TaggedEnum.Kind<Z, A, B, C, D>, Tag>
|
|
433
|
+
}
|
|
305
434
|
|
|
306
|
-
<A extends
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
} = () =>
|
|
435
|
+
<A extends { readonly _tag: string } & Equal.Equal>(): {
|
|
436
|
+
readonly [Tag in A["_tag"]]: Case.Constructor<Extract<A, { readonly _tag: Tag }>, "_tag">
|
|
437
|
+
}
|
|
438
|
+
} = () =>
|
|
439
|
+
new Proxy({}, {
|
|
440
|
+
get(_target, tag, _receiver) {
|
|
441
|
+
return tagged(tag as string)
|
|
442
|
+
}
|
|
443
|
+
}) as any
|
|
310
444
|
|
|
311
445
|
/**
|
|
312
446
|
* @since 2.0.0
|
|
313
447
|
* @category models
|
|
314
448
|
*/
|
|
315
|
-
export interface YieldableError extends Case, Pipeable, Error {
|
|
449
|
+
export interface YieldableError extends Case, Pipeable, Readonly<Error> {
|
|
316
450
|
readonly [Effectable.EffectTypeId]: Effect.Effect.VarianceStruct<never, this, never>
|
|
317
451
|
readonly [Effectable.StreamTypeId]: Effect.Effect.VarianceStruct<never, this, never>
|
|
318
452
|
readonly [Effectable.SinkTypeId]: Sink.Sink.VarianceStruct<never, this, unknown, never, never>
|
|
@@ -327,21 +461,13 @@ export interface YieldableError extends Case, Pipeable, Error {
|
|
|
327
461
|
>
|
|
328
462
|
}
|
|
329
463
|
|
|
330
|
-
const YieldableErrorMessage = Symbol.for("effect/Data/YieldableError/message")
|
|
331
464
|
const YieldableErrorProto = {
|
|
332
465
|
...Effectable.StructuralCommitPrototype,
|
|
333
|
-
__proto__: globalThis.Error.prototype,
|
|
334
466
|
commit() {
|
|
335
467
|
return Effect.fail(this)
|
|
336
468
|
},
|
|
337
469
|
toString(this: globalThis.Error) {
|
|
338
470
|
return `${this.name}: ${this.message}`
|
|
339
|
-
},
|
|
340
|
-
get message() {
|
|
341
|
-
return (this as any)[YieldableErrorMessage] ?? JSON.stringify(this)
|
|
342
|
-
},
|
|
343
|
-
set message(value: string) {
|
|
344
|
-
;(this as any)[YieldableErrorMessage] = value
|
|
345
471
|
}
|
|
346
472
|
}
|
|
347
473
|
|
|
@@ -352,15 +478,16 @@ const YieldableErrorProto = {
|
|
|
352
478
|
* @category constructors
|
|
353
479
|
*/
|
|
354
480
|
export const Error: new<A extends Record<string, any>>(
|
|
355
|
-
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
481
|
+
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
482
|
+
: { readonly [P in keyof A as P extends keyof Equal.Equal ? never : P]: A[P] }
|
|
483
|
+
) => YieldableError & Readonly<A> = (function() {
|
|
484
|
+
class Base extends globalThis.Error {
|
|
485
|
+
constructor(args: any) {
|
|
486
|
+
super()
|
|
359
487
|
Object.assign(this, args)
|
|
360
488
|
}
|
|
361
|
-
globalThis.Error.captureStackTrace(this, this.constructor)
|
|
362
489
|
}
|
|
363
|
-
Base.prototype
|
|
490
|
+
Object.assign(Base.prototype, YieldableErrorProto)
|
|
364
491
|
return Base as any
|
|
365
492
|
})()
|
|
366
493
|
|
|
@@ -369,11 +496,12 @@ export const Error: new<A extends Record<string, any>>(
|
|
|
369
496
|
* @category constructors
|
|
370
497
|
*/
|
|
371
498
|
export const TaggedError = <Tag extends string>(tag: Tag): new<A extends Record<string, any>>(
|
|
372
|
-
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
373
|
-
|
|
499
|
+
args: Types.Equals<Omit<A, keyof Equal.Equal>, {}> extends true ? void
|
|
500
|
+
: { readonly [P in keyof A as P extends "_tag" | keyof Equal.Equal ? never : P]: A[P] }
|
|
501
|
+
) => YieldableError & { readonly _tag: Tag } & Readonly<A> => {
|
|
374
502
|
class Base extends Error<{}> {
|
|
375
503
|
readonly _tag = tag
|
|
376
504
|
}
|
|
377
|
-
Base.prototype.name = tag
|
|
505
|
+
;(Base.prototype as any).name = tag
|
|
378
506
|
return Base as any
|
|
379
507
|
}
|
package/src/List.ts
CHANGED
|
@@ -710,6 +710,21 @@ export const head = <A>(self: List<A>): Option.Option<A> => isNil(self) ? Option
|
|
|
710
710
|
*/
|
|
711
711
|
export const last = <A>(self: List<A>): Option.Option<A> => isNil(self) ? Option.none() : Option.some(unsafeLast(self)!)
|
|
712
712
|
|
|
713
|
+
/**
|
|
714
|
+
* @since 2.0.0
|
|
715
|
+
*/
|
|
716
|
+
export declare namespace List {
|
|
717
|
+
/**
|
|
718
|
+
* @since 2.0.0
|
|
719
|
+
*/
|
|
720
|
+
export type Infer<T extends List<any>> = T extends List<infer A> ? A : never
|
|
721
|
+
|
|
722
|
+
/**
|
|
723
|
+
* @since 2.0.0
|
|
724
|
+
*/
|
|
725
|
+
export type With<T extends List<any>, A> = T extends Cons<any> ? Cons<A> : List<A>
|
|
726
|
+
}
|
|
727
|
+
|
|
713
728
|
/**
|
|
714
729
|
* Applies the specified mapping function to each element of the list.
|
|
715
730
|
*
|
|
@@ -717,8 +732,8 @@ export const last = <A>(self: List<A>): Option.Option<A> => isNil(self) ? Option
|
|
|
717
732
|
* @category combinators
|
|
718
733
|
*/
|
|
719
734
|
export const map: {
|
|
720
|
-
<
|
|
721
|
-
<
|
|
735
|
+
<T extends List<any>, B>(f: (a: List.Infer<T>, i: number) => B): (self: T) => List.With<T, B>
|
|
736
|
+
<T extends List<any>, B>(self: T, f: (a: List.Infer<T>, i: number) => B): List.With<T, B>
|
|
722
737
|
} = dual(2, <A, B>(self: List<A>, f: (a: A) => B): List<B> => {
|
|
723
738
|
if (isNil(self)) {
|
|
724
739
|
return self as unknown as List<B>
|
|
@@ -736,15 +751,6 @@ export const map: {
|
|
|
736
751
|
}
|
|
737
752
|
})
|
|
738
753
|
|
|
739
|
-
/**
|
|
740
|
-
* @since 2.0.0
|
|
741
|
-
* @category combinators
|
|
742
|
-
*/
|
|
743
|
-
export const mapNonEmpty: {
|
|
744
|
-
<A, B>(f: (a: A) => B): (self: Cons<A>) => Cons<B>
|
|
745
|
-
<A, B>(self: Cons<A>, f: (a: A) => B): Cons<B>
|
|
746
|
-
} = map as any
|
|
747
|
-
|
|
748
754
|
/**
|
|
749
755
|
* Partition a list into two lists, where the first list contains all elements
|
|
750
756
|
* that did not satisfy the specified predicate, and the second list contains
|
package/src/Match.ts
CHANGED
|
@@ -538,7 +538,7 @@ export const exhaustive: <I, F, A, Pr>(
|
|
|
538
538
|
* @since 1.0.0
|
|
539
539
|
* @category type ids
|
|
540
540
|
*/
|
|
541
|
-
export const SafeRefinementId = Symbol.for("
|
|
541
|
+
export const SafeRefinementId = Symbol.for("effect/SafeRefinement")
|
|
542
542
|
|
|
543
543
|
/**
|
|
544
544
|
* @since 1.0.0
|
|
@@ -554,7 +554,7 @@ export interface SafeRefinement<A, R = A> {
|
|
|
554
554
|
readonly [SafeRefinementId]: (a: A) => R
|
|
555
555
|
}
|
|
556
556
|
|
|
557
|
-
const Fail = Symbol.for("
|
|
557
|
+
const Fail = Symbol.for("effect/Fail")
|
|
558
558
|
type Fail = typeof Fail
|
|
559
559
|
|
|
560
560
|
/**
|
package/src/ReadonlyArray.ts
CHANGED
|
@@ -1508,22 +1508,31 @@ export const empty: <A = never>() => Array<A> = () => []
|
|
|
1508
1508
|
export const of = <A>(a: A): NonEmptyArray<A> => [a]
|
|
1509
1509
|
|
|
1510
1510
|
/**
|
|
1511
|
-
* @category mapping
|
|
1512
1511
|
* @since 2.0.0
|
|
1513
1512
|
*/
|
|
1514
|
-
export
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1513
|
+
export declare namespace ReadonlyArray {
|
|
1514
|
+
/**
|
|
1515
|
+
* @since 2.0.0
|
|
1516
|
+
*/
|
|
1517
|
+
export type Infer<T extends ReadonlyArray<any>> = T[number]
|
|
1518
|
+
|
|
1519
|
+
/**
|
|
1520
|
+
* @since 2.0.0
|
|
1521
|
+
*/
|
|
1522
|
+
export type With<T extends ReadonlyArray<any>, A> = T extends NonEmptyReadonlyArray<any> ? NonEmptyArray<A>
|
|
1523
|
+
: Array<A>
|
|
1524
|
+
}
|
|
1518
1525
|
|
|
1519
1526
|
/**
|
|
1520
1527
|
* @category mapping
|
|
1521
1528
|
* @since 2.0.0
|
|
1522
1529
|
*/
|
|
1523
|
-
export const
|
|
1524
|
-
<
|
|
1525
|
-
|
|
1526
|
-
|
|
1530
|
+
export const map: {
|
|
1531
|
+
<T extends ReadonlyArray<any>, B>(
|
|
1532
|
+
f: (a: ReadonlyArray.Infer<T>, i: number) => B
|
|
1533
|
+
): (self: T) => ReadonlyArray.With<T, B>
|
|
1534
|
+
<T extends ReadonlyArray<any>, B>(self: T, f: (a: ReadonlyArray.Infer<T>, i: number) => B): ReadonlyArray.With<T, B>
|
|
1535
|
+
} = dual(2, <A, B>(self: ReadonlyArray<A>, f: (a: A, i: number) => B): Array<B> => self.map(f))
|
|
1527
1536
|
|
|
1528
1537
|
/**
|
|
1529
1538
|
* @category sequencing
|
package/src/Struct.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import * as Equivalence from "./Equivalence"
|
|
8
8
|
import { dual } from "./Function"
|
|
9
9
|
import * as order from "./Order"
|
|
10
|
+
import type { Simplify } from "./Types"
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Create a new object by picking properties of an existing object.
|
|
@@ -22,7 +23,7 @@ import * as order from "./Order"
|
|
|
22
23
|
export const pick = <S, Keys extends readonly [keyof S, ...Array<keyof S>]>(
|
|
23
24
|
...keys: Keys
|
|
24
25
|
) =>
|
|
25
|
-
(s: S):
|
|
26
|
+
(s: S): Simplify<Pick<S, Keys[number]>> => {
|
|
26
27
|
const out: any = {}
|
|
27
28
|
for (const k of keys) {
|
|
28
29
|
out[k] = s[k]
|
|
@@ -44,7 +45,7 @@ export const pick = <S, Keys extends readonly [keyof S, ...Array<keyof S>]>(
|
|
|
44
45
|
export const omit = <S, Keys extends readonly [keyof S, ...Array<keyof S>]>(
|
|
45
46
|
...keys: Keys
|
|
46
47
|
) =>
|
|
47
|
-
(s: S):
|
|
48
|
+
(s: S): Simplify<Omit<S, Keys[number]>> => {
|
|
48
49
|
const out: any = { ...s }
|
|
49
50
|
for (const k of keys) {
|
|
50
51
|
delete out[k]
|