effect 4.0.0-beta.4 → 4.0.0-beta.41
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/dist/Array.d.ts +213 -385
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +149 -102
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +82 -45
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +87 -38
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +39 -32
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +32 -29
- package/dist/BigInt.js.map +1 -1
- package/dist/Brand.d.ts +1 -1
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +33 -2
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +19 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +130 -35
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +96 -45
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +112 -304
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +56 -88
- package/dist/Chunk.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +169 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +69 -11
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +11 -7
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +120 -63
- package/dist/Cron.js.map +1 -1
- package/dist/Data.d.ts +535 -366
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +72 -253
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +15 -60
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +7 -5
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +7 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +62 -32
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +108 -78
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1225 -951
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +398 -338
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +60 -3
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +70 -13
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +245 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Exit.d.ts +24 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -4
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +5 -3
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +9 -8
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +8 -7
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +20 -19
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +6 -6
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +18 -17
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +17 -13
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +34 -38
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +1 -9
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +2 -10
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +65 -65
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +60 -62
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +26 -19
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +7 -5
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +50 -50
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +106 -34
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +175 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +130 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +306 -129
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +93 -48
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +9 -8
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +3 -3
- package/dist/LayerMap.js.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +2 -2
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +21 -9
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +4 -6
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +3 -5
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +7 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +8 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +7 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +8 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/Newtype.d.ts +291 -0
- package/dist/Newtype.d.ts.map +1 -0
- package/dist/Newtype.js +161 -0
- package/dist/Newtype.js.map +1 -0
- package/dist/Number.d.ts +74 -18
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +34 -15
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +25 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +6 -1
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +19 -14
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +146 -15
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +174 -61
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +8 -6
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +18 -10
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +9 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +7 -5
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +63 -160
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +37 -56
- package/dist/Record.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +242 -226
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +240 -247
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +25 -45
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +10 -30
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +2 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -2
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +66 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +79 -6
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +174 -291
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +160 -134
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +34 -123
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +31 -123
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2722 -247
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +1947 -224
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +7 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +131 -25
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +5 -5
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +18 -18
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +44 -54
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +55 -2
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +46 -45
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +49 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +173 -13
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +307 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/Semaphore.js +222 -0
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +76 -52
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +45 -29
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +18 -15
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +16 -4
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +18 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +284 -431
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +189 -88
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +114 -47
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +29 -47
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +23 -7
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +3 -3
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +85 -117
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Terminal.d.ts +2 -1
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +5 -4
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +2 -1
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +44 -31
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +13 -9
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +197 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +159 -140
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +51 -44
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +36 -36
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +16 -15
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +416 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +170 -10
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +23 -8
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +80 -23
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts +137 -65
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +38 -66
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +806 -55
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +806 -55
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +77 -71
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +284 -201
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +7 -5
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/option.js +6 -0
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.d.ts +2 -0
- package/dist/internal/references.d.ts.map +1 -0
- package/dist/internal/references.js +51 -0
- package/dist/internal/references.js.map +1 -0
- package/dist/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/representation.js +75 -106
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/to-codec.js +7 -10
- package/dist/internal/schema/to-codec.js.map +1 -1
- package/dist/internal/trie.js +8 -7
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -7
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +266 -32
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +296 -23
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +64 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +64 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +136 -54
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +28 -23
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -0
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +35 -7
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +38 -44
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
- package/dist/unstable/ai/EmbeddingModel.js +127 -0
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
- package/dist/unstable/ai/LanguageModel.d.ts +117 -47
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +258 -59
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +183 -88
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +57 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +66 -13
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +193 -51
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +4 -0
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
- package/dist/unstable/ai/ResponseIdTracker.js +68 -0
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
- package/dist/unstable/ai/Tool.d.ts +34 -4
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +28 -10
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +4 -11
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +22 -1
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +22 -1
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +0 -5
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +2 -4
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +1 -3
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +27 -60
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +25 -57
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +3 -2
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +65 -10
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +371 -58
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +328 -67
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +16 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +23 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- package/dist/unstable/cli/Flag.d.ts +2 -2
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +81 -11
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +4 -4
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +7 -7
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +2 -2
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +259 -85
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +8 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +8 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +40 -14
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +72 -46
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +16 -4
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/config.js +42 -0
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +125 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +61 -43
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +18 -0
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +21 -1
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +3 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +35 -29
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -8
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +8 -7
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +4 -4
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +18 -15
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +15 -7
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +33 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +36 -20
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +8 -7
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -3
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runner.d.ts.map +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +9 -8
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +2 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +11 -9
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js +3 -3
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +51 -39
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +26 -25
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +24 -24
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +25 -19
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +24 -18
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +4 -3
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +40 -40
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +9 -2
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +9 -9
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventJournal.js +2 -2
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +3 -2
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/eventlog/SqlEventLogJournal.js +2 -2
- package/dist/unstable/eventlog/SqlEventLogJournal.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +52 -7
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +27 -6
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +5 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +19 -2
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +40 -11
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +1 -1
- package/dist/unstable/http/HttpClient.d.ts +117 -15
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +191 -13
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +131 -21
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +6 -1
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +7 -5
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +46 -54
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +24 -32
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +3 -2
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +2 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +7 -7
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +2 -2
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +22 -34
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +39 -45
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +15 -3
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +301 -7
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +50 -3
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +236 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
- package/dist/unstable/http/HttpStaticServer.js +353 -0
- package/dist/unstable/http/HttpStaticServer.js.map +1 -0
- package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
- package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js +27 -15
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/Url.d.ts +604 -0
- package/dist/unstable/http/Url.d.ts.map +1 -0
- package/dist/unstable/http/Url.js +256 -0
- package/dist/unstable/http/Url.js.map +1 -0
- package/dist/unstable/http/UrlParams.d.ts +19 -10
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +6 -7
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +8 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +8 -0
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +40 -27
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +83 -7
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +78 -10
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +207 -101
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +49 -43
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +31 -14
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +125 -32
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +46 -15
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +32 -3
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -3
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +20 -2
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +1 -0
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +34 -26
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +3 -3
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +7 -3
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +73 -12
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +108 -25
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +17 -15
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +45 -15
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +54 -11
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +47 -21
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +6 -5
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -3
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +53 -43
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +3 -5
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +8 -8
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +17 -2
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +39 -11
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +6 -10
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +20 -19
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +3 -2
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +22 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +15 -0
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +6 -6
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +6 -6
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +6 -5
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +12 -9
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +2 -2
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +1 -1
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +237 -17
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +260 -4
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +17 -8
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +17 -6
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +5 -0
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +13 -0
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +8 -8
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +5 -4
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +17 -5
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +153 -12
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +304 -447
- package/src/BigDecimal.ts +117 -66
- package/src/BigInt.ts +49 -41
- package/src/Brand.ts +1 -1
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +37 -2
- package/src/Channel.ts +582 -154
- package/src/Chunk.ts +149 -331
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +195 -25
- package/src/Cron.ts +155 -63
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +75 -256
- package/src/Deferred.ts +8 -6
- package/src/Duration.ts +122 -66
- package/src/Effect.ts +1484 -1157
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/Equivalence.ts +114 -52
- package/src/ErrorReporter.ts +458 -0
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +12 -3
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +22 -22
- package/src/FileSystem.ts +34 -31
- package/src/Filter.ts +52 -63
- package/src/Formatter.ts +253 -51
- package/src/Function.ts +2 -10
- package/src/Graph.ts +131 -117
- package/src/HashMap.ts +26 -19
- package/src/Iterable.ts +117 -63
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +194 -0
- package/src/Layer.ts +394 -160
- package/src/LayerMap.ts +11 -9
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +35 -22
- package/src/Metric.ts +6 -8
- package/src/MutableHashMap.ts +9 -0
- package/src/MutableHashSet.ts +9 -0
- package/src/Newtype.ts +308 -0
- package/src/Number.ts +85 -26
- package/src/Optic.ts +948 -19
- package/src/Option.ts +34 -24
- package/src/Order.ts +39 -32
- package/src/PartitionedSemaphore.ts +288 -56
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +30 -20
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +11 -9
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +94 -199
- package/src/Reducer.ts +166 -7
- package/src/References.ts +283 -287
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +29 -49
- package/src/Resource.ts +2 -1
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +458 -449
- package/src/Scheduler.ts +49 -126
- package/src/Schema.ts +3298 -392
- package/src/SchemaAST.ts +172 -33
- package/src/SchemaGetter.ts +19 -21
- package/src/SchemaParser.ts +92 -27
- package/src/SchemaRepresentation.ts +51 -26
- package/src/SchemaTransformation.ts +198 -13
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +444 -0
- package/src/ServiceMap.ts +144 -97
- package/src/Sink.ts +83 -28
- package/src/Stdio.ts +27 -4
- package/src/Stream.ts +687 -617
- package/src/String.ts +122 -69
- package/src/Struct.ts +33 -7
- package/src/SubscriptionRef.ts +101 -120
- package/src/SynchronizedRef.ts +3 -2
- package/src/Terminal.ts +2 -1
- package/src/Tracer.ts +6 -5
- package/src/Trie.ts +44 -31
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +409 -343
- package/src/TxHashSet.ts +113 -118
- package/src/TxPriorityQueue.ts +766 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +217 -44
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +73 -19
- package/src/Utils.ts +137 -111
- package/src/index.ts +816 -56
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +91 -96
- package/src/internal/effect.ts +844 -432
- package/src/internal/hashMap.ts +12 -10
- package/src/internal/option.ts +7 -0
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/references.ts +72 -0
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/representation.ts +73 -94
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/schema/to-codec.ts +7 -17
- package/src/internal/trie.ts +21 -15
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +332 -35
- package/src/testing/index.ts +64 -1
- package/src/unstable/ai/AiError.ts +111 -54
- package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -0
- package/src/unstable/ai/Chat.ts +134 -85
- package/src/unstable/ai/EmbeddingModel.ts +209 -0
- package/src/unstable/ai/LanguageModel.ts +683 -253
- package/src/unstable/ai/McpSchema.ts +73 -13
- package/src/unstable/ai/McpServer.ts +271 -61
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -0
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/ResponseIdTracker.ts +97 -0
- package/src/unstable/ai/Tool.ts +42 -16
- package/src/unstable/ai/Toolkit.ts +5 -14
- package/src/unstable/ai/index.ts +24 -1
- package/src/unstable/ai/internal/codec-transformer.ts +0 -7
- package/src/unstable/cli/Argument.ts +2 -4
- package/src/unstable/cli/CliError.ts +47 -59
- package/src/unstable/cli/CliOutput.ts +85 -13
- package/src/unstable/cli/Command.ts +801 -192
- package/src/unstable/cli/Completions.ts +36 -0
- package/src/unstable/cli/Flag.ts +2 -2
- package/src/unstable/cli/GlobalFlag.ts +242 -0
- package/src/unstable/cli/HelpDoc.ts +91 -11
- package/src/unstable/cli/Param.ts +15 -11
- package/src/unstable/cli/Primitive.ts +2 -2
- package/src/unstable/cli/Prompt.ts +265 -101
- package/src/unstable/cli/index.ts +10 -0
- package/src/unstable/cli/internal/command.ts +109 -63
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +10 -4
- package/src/unstable/cli/internal/config.ts +49 -0
- package/src/unstable/cli/internal/help.ts +171 -0
- package/src/unstable/cli/internal/parser.ts +71 -63
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +29 -1
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +62 -37
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- package/src/unstable/cluster/Entity.ts +25 -22
- package/src/unstable/cluster/EntityAddress.ts +1 -1
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/Message.ts +28 -15
- package/src/unstable/cluster/MessageStorage.ts +66 -36
- package/src/unstable/cluster/Reply.ts +7 -4
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +10 -13
- package/src/unstable/cluster/Runners.ts +14 -12
- package/src/unstable/cluster/ShardId.ts +2 -2
- package/src/unstable/cluster/Sharding.ts +66 -49
- package/src/unstable/cluster/ShardingConfig.ts +36 -37
- package/src/unstable/cluster/SqlMessageStorage.ts +31 -19
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +50 -34
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/devtools/DevToolsClient.ts +23 -18
- package/src/unstable/devtools/DevToolsSchema.ts +16 -3
- package/src/unstable/encoding/Ndjson.ts +17 -17
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventJournal.ts +2 -2
- package/src/unstable/eventlog/EventLog.ts +3 -2
- package/src/unstable/eventlog/SqlEventLogJournal.ts +2 -2
- package/src/unstable/http/Cookies.ts +94 -11
- package/src/unstable/http/Etag.ts +5 -3
- package/src/unstable/http/Headers.ts +68 -18
- package/src/unstable/http/HttpClient.ts +376 -34
- package/src/unstable/http/HttpClientRequest.ts +151 -39
- package/src/unstable/http/HttpClientResponse.ts +12 -6
- package/src/unstable/http/HttpEffect.ts +54 -68
- package/src/unstable/http/HttpIncomingMessage.ts +3 -2
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +25 -39
- package/src/unstable/http/HttpPlatform.ts +3 -2
- package/src/unstable/http/HttpRouter.ts +9 -9
- package/src/unstable/http/HttpServer.ts +3 -9
- package/src/unstable/http/HttpServerError.ts +45 -47
- package/src/unstable/http/HttpServerRequest.ts +407 -16
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +345 -7
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/HttpTraceContext.ts +31 -17
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/Url.ts +650 -0
- package/src/unstable/http/UrlParams.ts +31 -19
- package/src/unstable/http/index.ts +10 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -6
- package/src/unstable/httpapi/HttpApiBuilder.ts +106 -41
- package/src/unstable/httpapi/HttpApiClient.ts +180 -28
- package/src/unstable/httpapi/HttpApiEndpoint.ts +216 -104
- package/src/unstable/httpapi/HttpApiError.ts +108 -30
- package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +83 -22
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSchema.ts +21 -3
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +44 -29
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +8 -5
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +12 -8
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +3 -3
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +212 -54
- package/src/unstable/reactivity/AtomHttpApi.ts +81 -41
- package/src/unstable/reactivity/AtomRegistry.ts +66 -12
- package/src/unstable/reactivity/AtomRpc.ts +51 -20
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +12 -12
- package/src/unstable/rpc/RpcClient.ts +67 -96
- package/src/unstable/rpc/RpcGroup.ts +7 -7
- package/src/unstable/rpc/RpcMiddleware.ts +15 -9
- package/src/unstable/rpc/RpcSchema.ts +23 -5
- package/src/unstable/rpc/RpcSerialization.ts +49 -11
- package/src/unstable/rpc/RpcServer.ts +31 -35
- package/src/unstable/rpc/Utils.ts +3 -2
- package/src/unstable/schema/Model.ts +31 -0
- package/src/unstable/schema/VariantSchema.ts +10 -10
- package/src/unstable/socket/Socket.ts +31 -27
- package/src/unstable/sql/Migrator.ts +7 -5
- package/src/unstable/sql/SqlClient.ts +6 -4
- package/src/unstable/sql/SqlError.ts +365 -11
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlResolver.ts +17 -7
- package/src/unstable/sql/SqlSchema.ts +42 -26
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/Activity.ts +23 -0
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +8 -8
- package/src/unstable/workflow/Workflow.ts +7 -3
- package/src/unstable/workflow/WorkflowEngine.ts +211 -19
- package/dist/NullOr.d.ts +0 -149
- package/dist/NullOr.d.ts.map +0 -1
- package/dist/NullOr.js +0 -152
- package/dist/NullOr.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.js +0 -23
- package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
- package/src/NullOr.ts +0 -204
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
- package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/src/Array.ts
CHANGED
|
@@ -85,7 +85,6 @@
|
|
|
85
85
|
*/
|
|
86
86
|
import * as Equal from "./Equal.ts"
|
|
87
87
|
import * as Equivalence from "./Equivalence.ts"
|
|
88
|
-
import * as Filter from "./Filter.ts"
|
|
89
88
|
import type { LazyArg } from "./Function.ts"
|
|
90
89
|
import { dual, identity } from "./Function.ts"
|
|
91
90
|
import type { TypeLambda } from "./HKT.ts"
|
|
@@ -1768,18 +1767,18 @@ export const last = <A>(self: ReadonlyArray<A>): Option.Option<A> =>
|
|
|
1768
1767
|
export const lastNonEmpty = <A>(self: NonEmptyReadonlyArray<A>): A => self[self.length - 1]
|
|
1769
1768
|
|
|
1770
1769
|
/**
|
|
1771
|
-
* Returns all elements except the first,
|
|
1770
|
+
* Returns all elements except the first, wrapped in an `Option`.
|
|
1772
1771
|
*
|
|
1773
1772
|
* - Allocates a new array via `slice(1)`.
|
|
1774
|
-
* - Returns `
|
|
1773
|
+
* - Returns `Option.none()` for empty inputs.
|
|
1775
1774
|
*
|
|
1776
1775
|
* **Example** (Getting the tail)
|
|
1777
1776
|
*
|
|
1778
1777
|
* ```ts
|
|
1779
1778
|
* import { Array } from "effect"
|
|
1780
1779
|
*
|
|
1781
|
-
* console.log(Array.tail([1, 2, 3, 4])) // [2, 3, 4]
|
|
1782
|
-
* console.log(Array.tail([])) //
|
|
1780
|
+
* console.log(Array.tail([1, 2, 3, 4])) // Option.some([2, 3, 4])
|
|
1781
|
+
* console.log(Array.tail([])) // Option.none()
|
|
1783
1782
|
* ```
|
|
1784
1783
|
*
|
|
1785
1784
|
* @see {@link tailNonEmpty} — when the array is known non-empty
|
|
@@ -1788,9 +1787,9 @@ export const lastNonEmpty = <A>(self: NonEmptyReadonlyArray<A>): A => self[self.
|
|
|
1788
1787
|
* @category getters
|
|
1789
1788
|
* @since 2.0.0
|
|
1790
1789
|
*/
|
|
1791
|
-
export function tail<A>(self: Iterable<A>): Array<A
|
|
1790
|
+
export function tail<A>(self: Iterable<A>): Option.Option<Array<A>> {
|
|
1792
1791
|
const as = fromIterable(self)
|
|
1793
|
-
return isReadonlyArrayNonEmpty(as) ? tailNonEmpty(as) :
|
|
1792
|
+
return isReadonlyArrayNonEmpty(as) ? Option.some(tailNonEmpty(as)) : Option.none()
|
|
1794
1793
|
}
|
|
1795
1794
|
|
|
1796
1795
|
/**
|
|
@@ -1813,18 +1812,18 @@ export function tail<A>(self: Iterable<A>): Array<A> | undefined {
|
|
|
1813
1812
|
export const tailNonEmpty = <A>(self: NonEmptyReadonlyArray<A>): Array<A> => self.slice(1)
|
|
1814
1813
|
|
|
1815
1814
|
/**
|
|
1816
|
-
* Returns all elements except the last,
|
|
1815
|
+
* Returns all elements except the last, wrapped in an `Option`.
|
|
1817
1816
|
*
|
|
1818
1817
|
* - Allocates a new array via `slice(0, -1)`.
|
|
1819
|
-
* - Returns `
|
|
1818
|
+
* - Returns `Option.none()` for empty inputs.
|
|
1820
1819
|
*
|
|
1821
1820
|
* **Example** (Getting init)
|
|
1822
1821
|
*
|
|
1823
1822
|
* ```ts
|
|
1824
1823
|
* import { Array } from "effect"
|
|
1825
1824
|
*
|
|
1826
|
-
* console.log(Array.init([1, 2, 3, 4])) // [1, 2, 3]
|
|
1827
|
-
* console.log(Array.init([])) //
|
|
1825
|
+
* console.log(Array.init([1, 2, 3, 4])) // Option.some([1, 2, 3])
|
|
1826
|
+
* console.log(Array.init([])) // Option.none()
|
|
1828
1827
|
* ```
|
|
1829
1828
|
*
|
|
1830
1829
|
* @see {@link initNonEmpty} — when the array is known non-empty
|
|
@@ -1833,9 +1832,9 @@ export const tailNonEmpty = <A>(self: NonEmptyReadonlyArray<A>): Array<A> => sel
|
|
|
1833
1832
|
* @category getters
|
|
1834
1833
|
* @since 2.0.0
|
|
1835
1834
|
*/
|
|
1836
|
-
export function init<A>(self: Iterable<A>): Array<A
|
|
1835
|
+
export function init<A>(self: Iterable<A>): Option.Option<Array<A>> {
|
|
1837
1836
|
const as = fromIterable(self)
|
|
1838
|
-
return isReadonlyArrayNonEmpty(as) ? initNonEmpty(as) :
|
|
1837
|
+
return isReadonlyArrayNonEmpty(as) ? Option.some(initNonEmpty(as)) : Option.none()
|
|
1839
1838
|
}
|
|
1840
1839
|
|
|
1841
1840
|
/**
|
|
@@ -2088,7 +2087,7 @@ export const takeWhile: {
|
|
|
2088
2087
|
* @category getters
|
|
2089
2088
|
* @since 2.0.0
|
|
2090
2089
|
*/
|
|
2091
|
-
<A, B
|
|
2090
|
+
<A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Array<B>
|
|
2092
2091
|
/**
|
|
2093
2092
|
* Takes elements from the start while the predicate holds, stopping at the
|
|
2094
2093
|
* first element that fails.
|
|
@@ -2111,59 +2110,61 @@ export const takeWhile: {
|
|
|
2111
2110
|
* @category getters
|
|
2112
2111
|
* @since 2.0.0
|
|
2113
2112
|
*/
|
|
2114
|
-
<A
|
|
2113
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Array<A>
|
|
2114
|
+
} = dual(2, <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Array<A> => {
|
|
2115
|
+
let i = 0
|
|
2116
|
+
const out: Array<A> = []
|
|
2117
|
+
for (const a of self) {
|
|
2118
|
+
if (!predicate(a, i)) {
|
|
2119
|
+
break
|
|
2120
|
+
}
|
|
2121
|
+
out.push(a)
|
|
2122
|
+
i++
|
|
2123
|
+
}
|
|
2124
|
+
return out
|
|
2125
|
+
})
|
|
2126
|
+
|
|
2127
|
+
/**
|
|
2128
|
+
* Takes elements from the start while a `Filter` succeeds, collecting transformed values.
|
|
2129
|
+
*
|
|
2130
|
+
* - The filter receives `(element, index)`.
|
|
2131
|
+
* - Stops at the first filter failure.
|
|
2132
|
+
*
|
|
2133
|
+
* @category getters
|
|
2134
|
+
* @since 4.0.0
|
|
2135
|
+
*/
|
|
2136
|
+
export const takeWhileFilter: {
|
|
2115
2137
|
/**
|
|
2116
|
-
* Takes elements from the start while
|
|
2117
|
-
* first element that fails.
|
|
2118
|
-
*
|
|
2119
|
-
* - Supports refinements for type narrowing.
|
|
2120
|
-
* - The predicate receives `(element, index)`.
|
|
2121
|
-
*
|
|
2122
|
-
* **Example** (Taking while condition holds)
|
|
2123
|
-
*
|
|
2124
|
-
* ```ts
|
|
2125
|
-
* import { Array } from "effect"
|
|
2138
|
+
* Takes elements from the start while a `Filter` succeeds, collecting transformed values.
|
|
2126
2139
|
*
|
|
2127
|
-
*
|
|
2128
|
-
*
|
|
2129
|
-
*
|
|
2130
|
-
* @see {@link take} — take a fixed count
|
|
2131
|
-
* @see {@link dropWhile} — drop while predicate holds
|
|
2132
|
-
* @see {@link span} — split into matching prefix + rest
|
|
2140
|
+
* - The filter receives `(element, index)`.
|
|
2141
|
+
* - Stops at the first filter failure.
|
|
2133
2142
|
*
|
|
2134
2143
|
* @category getters
|
|
2135
|
-
* @since
|
|
2144
|
+
* @since 4.0.0
|
|
2136
2145
|
*/
|
|
2137
|
-
<A>(
|
|
2146
|
+
<A, B, X>(f: (input: NoInfer<A>, i: number) => Result.Result<B, X>): (self: Iterable<A>) => Array<B>
|
|
2138
2147
|
/**
|
|
2139
|
-
* Takes elements from the start while
|
|
2140
|
-
* first element that fails.
|
|
2148
|
+
* Takes elements from the start while a `Filter` succeeds, collecting transformed values.
|
|
2141
2149
|
*
|
|
2142
|
-
* -
|
|
2143
|
-
* -
|
|
2144
|
-
*
|
|
2145
|
-
* **Example** (Taking while condition holds)
|
|
2146
|
-
*
|
|
2147
|
-
* ```ts
|
|
2148
|
-
* import { Array } from "effect"
|
|
2149
|
-
*
|
|
2150
|
-
* console.log(Array.takeWhile([1, 3, 2, 4, 1, 2], (x) => x < 4)) // [1, 3, 2]
|
|
2151
|
-
* ```
|
|
2152
|
-
*
|
|
2153
|
-
* @see {@link take} — take a fixed count
|
|
2154
|
-
* @see {@link dropWhile} — drop while predicate holds
|
|
2155
|
-
* @see {@link span} — split into matching prefix + rest
|
|
2150
|
+
* - The filter receives `(element, index)`.
|
|
2151
|
+
* - Stops at the first filter failure.
|
|
2156
2152
|
*
|
|
2157
2153
|
* @category getters
|
|
2158
|
-
* @since
|
|
2154
|
+
* @since 4.0.0
|
|
2159
2155
|
*/
|
|
2160
|
-
<A, B, X>(
|
|
2161
|
-
|
|
2156
|
+
<A, B, X>(
|
|
2157
|
+
self: Iterable<A>,
|
|
2158
|
+
f: (input: NoInfer<A>, i: number) => Result.Result<B, X>
|
|
2159
|
+
): Array<B>
|
|
2160
|
+
} = dual(2, <A, B, X>(self: Iterable<A>, f: (input: NoInfer<A>, i: number) => Result.Result<B, X>): Array<B> => {
|
|
2162
2161
|
let i = 0
|
|
2163
|
-
const out: Array<
|
|
2162
|
+
const out: Array<B> = []
|
|
2164
2163
|
for (const a of self) {
|
|
2165
|
-
const result =
|
|
2166
|
-
if (Result.isFailure(result))
|
|
2164
|
+
const result = f(a, i)
|
|
2165
|
+
if (Result.isFailure(result)) {
|
|
2166
|
+
break
|
|
2167
|
+
}
|
|
2167
2168
|
out.push(result.success)
|
|
2168
2169
|
i++
|
|
2169
2170
|
}
|
|
@@ -2504,54 +2505,58 @@ export const dropWhile: {
|
|
|
2504
2505
|
* @category getters
|
|
2505
2506
|
* @since 2.0.0
|
|
2506
2507
|
*/
|
|
2507
|
-
<A
|
|
2508
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Array<A>
|
|
2509
|
+
} = dual(2, <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Array<A> => {
|
|
2510
|
+
const input = fromIterable(self)
|
|
2511
|
+
let i = 0
|
|
2512
|
+
while (i < input.length) {
|
|
2513
|
+
if (!predicate(input[i], i)) {
|
|
2514
|
+
break
|
|
2515
|
+
}
|
|
2516
|
+
i++
|
|
2517
|
+
}
|
|
2518
|
+
return input.slice(i)
|
|
2519
|
+
})
|
|
2520
|
+
|
|
2521
|
+
/**
|
|
2522
|
+
* Drops elements from the start while a `Filter` succeeds.
|
|
2523
|
+
*
|
|
2524
|
+
* - The filter receives `(element, index)`.
|
|
2525
|
+
* - Returns the remaining original elements after the first filter failure.
|
|
2526
|
+
*
|
|
2527
|
+
* @category getters
|
|
2528
|
+
* @since 4.0.0
|
|
2529
|
+
*/
|
|
2530
|
+
export const dropWhileFilter: {
|
|
2508
2531
|
/**
|
|
2509
|
-
* Drops elements from the start while
|
|
2532
|
+
* Drops elements from the start while a `Filter` succeeds.
|
|
2510
2533
|
*
|
|
2511
|
-
* - The
|
|
2512
|
-
*
|
|
2513
|
-
* **Example** (Dropping while condition holds)
|
|
2514
|
-
*
|
|
2515
|
-
* ```ts
|
|
2516
|
-
* import { Array } from "effect"
|
|
2517
|
-
*
|
|
2518
|
-
* console.log(Array.dropWhile([1, 2, 3, 4, 5], (x) => x < 4)) // [4, 5]
|
|
2519
|
-
* ```
|
|
2520
|
-
*
|
|
2521
|
-
* @see {@link takeWhile} — keep the matching prefix instead
|
|
2522
|
-
* @see {@link drop} — drop a fixed count
|
|
2534
|
+
* - The filter receives `(element, index)`.
|
|
2535
|
+
* - Returns the remaining original elements after the first filter failure.
|
|
2523
2536
|
*
|
|
2524
2537
|
* @category getters
|
|
2525
|
-
* @since
|
|
2538
|
+
* @since 4.0.0
|
|
2526
2539
|
*/
|
|
2527
|
-
<A>(
|
|
2540
|
+
<A, B, X>(f: (input: NoInfer<A>, i: number) => Result.Result<B, X>): (self: Iterable<A>) => Array<A>
|
|
2528
2541
|
/**
|
|
2529
|
-
* Drops elements from the start while
|
|
2530
|
-
*
|
|
2531
|
-
* - The predicate receives `(element, index)`.
|
|
2532
|
-
*
|
|
2533
|
-
* **Example** (Dropping while condition holds)
|
|
2534
|
-
*
|
|
2535
|
-
* ```ts
|
|
2536
|
-
* import { Array } from "effect"
|
|
2537
|
-
*
|
|
2538
|
-
* console.log(Array.dropWhile([1, 2, 3, 4, 5], (x) => x < 4)) // [4, 5]
|
|
2539
|
-
* ```
|
|
2542
|
+
* Drops elements from the start while a `Filter` succeeds.
|
|
2540
2543
|
*
|
|
2541
|
-
*
|
|
2542
|
-
*
|
|
2544
|
+
* - The filter receives `(element, index)`.
|
|
2545
|
+
* - Returns the remaining original elements after the first filter failure.
|
|
2543
2546
|
*
|
|
2544
2547
|
* @category getters
|
|
2545
|
-
* @since
|
|
2548
|
+
* @since 4.0.0
|
|
2546
2549
|
*/
|
|
2547
|
-
<A, B, X>(self: Iterable<A>, f:
|
|
2550
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<B, X>): Array<A>
|
|
2548
2551
|
} = dual(
|
|
2549
2552
|
2,
|
|
2550
|
-
<A>(self: Iterable<A>, f:
|
|
2553
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<B, X>): Array<A> => {
|
|
2551
2554
|
const input = fromIterable(self)
|
|
2552
2555
|
let i = 0
|
|
2553
|
-
|
|
2554
|
-
if (Result.isFailure(
|
|
2556
|
+
while (i < input.length) {
|
|
2557
|
+
if (Result.isFailure(f(input[i], i))) {
|
|
2558
|
+
break
|
|
2559
|
+
}
|
|
2555
2560
|
i++
|
|
2556
2561
|
}
|
|
2557
2562
|
return input.slice(i)
|
|
@@ -2559,15 +2564,15 @@ export const dropWhile: {
|
|
|
2559
2564
|
)
|
|
2560
2565
|
|
|
2561
2566
|
/**
|
|
2562
|
-
* Returns the index of the first element matching the predicate,
|
|
2563
|
-
*
|
|
2567
|
+
* Returns the index of the first element matching the predicate, wrapped in an
|
|
2568
|
+
* `Option`.
|
|
2564
2569
|
*
|
|
2565
2570
|
* **Example** (Finding an index)
|
|
2566
2571
|
*
|
|
2567
2572
|
* ```ts
|
|
2568
2573
|
* import { Array } from "effect"
|
|
2569
2574
|
*
|
|
2570
|
-
* console.log(Array.findFirstIndex([5, 3, 8, 9], (x) => x > 5)) // 2
|
|
2575
|
+
* console.log(Array.findFirstIndex([5, 3, 8, 9], (x) => x > 5)) // Option.some(2)
|
|
2571
2576
|
* ```
|
|
2572
2577
|
*
|
|
2573
2578
|
* @see {@link findLastIndex} — search from the end
|
|
@@ -2578,15 +2583,15 @@ export const dropWhile: {
|
|
|
2578
2583
|
*/
|
|
2579
2584
|
export const findFirstIndex: {
|
|
2580
2585
|
/**
|
|
2581
|
-
* Returns the index of the first element matching the predicate,
|
|
2582
|
-
*
|
|
2586
|
+
* Returns the index of the first element matching the predicate, wrapped in an
|
|
2587
|
+
* `Option`.
|
|
2583
2588
|
*
|
|
2584
2589
|
* **Example** (Finding an index)
|
|
2585
2590
|
*
|
|
2586
2591
|
* ```ts
|
|
2587
2592
|
* import { Array } from "effect"
|
|
2588
2593
|
*
|
|
2589
|
-
* console.log(Array.findFirstIndex([5, 3, 8, 9], (x) => x > 5)) // 2
|
|
2594
|
+
* console.log(Array.findFirstIndex([5, 3, 8, 9], (x) => x > 5)) // Option.some(2)
|
|
2590
2595
|
* ```
|
|
2591
2596
|
*
|
|
2592
2597
|
* @see {@link findLastIndex} — search from the end
|
|
@@ -2595,17 +2600,17 @@ export const findFirstIndex: {
|
|
|
2595
2600
|
* @category elements
|
|
2596
2601
|
* @since 2.0.0
|
|
2597
2602
|
*/
|
|
2598
|
-
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => number
|
|
2603
|
+
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Option.Option<number>
|
|
2599
2604
|
/**
|
|
2600
|
-
* Returns the index of the first element matching the predicate,
|
|
2601
|
-
*
|
|
2605
|
+
* Returns the index of the first element matching the predicate, wrapped in an
|
|
2606
|
+
* `Option`.
|
|
2602
2607
|
*
|
|
2603
2608
|
* **Example** (Finding an index)
|
|
2604
2609
|
*
|
|
2605
2610
|
* ```ts
|
|
2606
2611
|
* import { Array } from "effect"
|
|
2607
2612
|
*
|
|
2608
|
-
* console.log(Array.findFirstIndex([5, 3, 8, 9], (x) => x > 5)) // 2
|
|
2613
|
+
* console.log(Array.findFirstIndex([5, 3, 8, 9], (x) => x > 5)) // Option.some(2)
|
|
2609
2614
|
* ```
|
|
2610
2615
|
*
|
|
2611
2616
|
* @see {@link findLastIndex} — search from the end
|
|
@@ -2614,27 +2619,28 @@ export const findFirstIndex: {
|
|
|
2614
2619
|
* @category elements
|
|
2615
2620
|
* @since 2.0.0
|
|
2616
2621
|
*/
|
|
2617
|
-
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): number
|
|
2618
|
-
} = dual(2, <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): number
|
|
2622
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Option.Option<number>
|
|
2623
|
+
} = dual(2, <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Option.Option<number> => {
|
|
2619
2624
|
let i = 0
|
|
2620
2625
|
for (const a of self) {
|
|
2621
2626
|
if (predicate(a, i)) {
|
|
2622
|
-
return i
|
|
2627
|
+
return Option.some(i)
|
|
2623
2628
|
}
|
|
2624
2629
|
i++
|
|
2625
2630
|
}
|
|
2631
|
+
return Option.none()
|
|
2626
2632
|
})
|
|
2627
2633
|
|
|
2628
2634
|
/**
|
|
2629
|
-
* Returns the index of the last element matching the predicate,
|
|
2630
|
-
*
|
|
2635
|
+
* Returns the index of the last element matching the predicate, wrapped in an
|
|
2636
|
+
* `Option`.
|
|
2631
2637
|
*
|
|
2632
2638
|
* **Example** (Finding the last matching index)
|
|
2633
2639
|
*
|
|
2634
2640
|
* ```ts
|
|
2635
2641
|
* import { Array } from "effect"
|
|
2636
2642
|
*
|
|
2637
|
-
* console.log(Array.findLastIndex([1, 3, 8, 9], (x) => x < 5)) // 1
|
|
2643
|
+
* console.log(Array.findLastIndex([1, 3, 8, 9], (x) => x < 5)) // Option.some(1)
|
|
2638
2644
|
* ```
|
|
2639
2645
|
*
|
|
2640
2646
|
* @see {@link findFirstIndex} — search from the start
|
|
@@ -2645,15 +2651,15 @@ export const findFirstIndex: {
|
|
|
2645
2651
|
*/
|
|
2646
2652
|
export const findLastIndex: {
|
|
2647
2653
|
/**
|
|
2648
|
-
* Returns the index of the last element matching the predicate,
|
|
2649
|
-
*
|
|
2654
|
+
* Returns the index of the last element matching the predicate, wrapped in an
|
|
2655
|
+
* `Option`.
|
|
2650
2656
|
*
|
|
2651
2657
|
* **Example** (Finding the last matching index)
|
|
2652
2658
|
*
|
|
2653
2659
|
* ```ts
|
|
2654
2660
|
* import { Array } from "effect"
|
|
2655
2661
|
*
|
|
2656
|
-
* console.log(Array.findLastIndex([1, 3, 8, 9], (x) => x < 5)) // 1
|
|
2662
|
+
* console.log(Array.findLastIndex([1, 3, 8, 9], (x) => x < 5)) // Option.some(1)
|
|
2657
2663
|
* ```
|
|
2658
2664
|
*
|
|
2659
2665
|
* @see {@link findFirstIndex} — search from the start
|
|
@@ -2662,17 +2668,17 @@ export const findLastIndex: {
|
|
|
2662
2668
|
* @category elements
|
|
2663
2669
|
* @since 2.0.0
|
|
2664
2670
|
*/
|
|
2665
|
-
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => number
|
|
2671
|
+
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Option.Option<number>
|
|
2666
2672
|
/**
|
|
2667
|
-
* Returns the index of the last element matching the predicate,
|
|
2668
|
-
*
|
|
2673
|
+
* Returns the index of the last element matching the predicate, wrapped in an
|
|
2674
|
+
* `Option`.
|
|
2669
2675
|
*
|
|
2670
2676
|
* **Example** (Finding the last matching index)
|
|
2671
2677
|
*
|
|
2672
2678
|
* ```ts
|
|
2673
2679
|
* import { Array } from "effect"
|
|
2674
2680
|
*
|
|
2675
|
-
* console.log(Array.findLastIndex([1, 3, 8, 9], (x) => x < 5)) // 1
|
|
2681
|
+
* console.log(Array.findLastIndex([1, 3, 8, 9], (x) => x < 5)) // Option.some(1)
|
|
2676
2682
|
* ```
|
|
2677
2683
|
*
|
|
2678
2684
|
* @see {@link findFirstIndex} — search from the start
|
|
@@ -2681,14 +2687,15 @@ export const findLastIndex: {
|
|
|
2681
2687
|
* @category elements
|
|
2682
2688
|
* @since 2.0.0
|
|
2683
2689
|
*/
|
|
2684
|
-
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): number
|
|
2685
|
-
} = dual(2, <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): number
|
|
2690
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Option.Option<number>
|
|
2691
|
+
} = dual(2, <A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Option.Option<number> => {
|
|
2686
2692
|
const input = fromIterable(self)
|
|
2687
2693
|
for (let i = input.length - 1; i >= 0; i--) {
|
|
2688
2694
|
if (predicate(input[i], i)) {
|
|
2689
|
-
return i
|
|
2695
|
+
return Option.some(i)
|
|
2690
2696
|
}
|
|
2691
2697
|
}
|
|
2698
|
+
return Option.none()
|
|
2692
2699
|
})
|
|
2693
2700
|
|
|
2694
2701
|
/**
|
|
@@ -2863,14 +2870,14 @@ export const findFirst: {
|
|
|
2863
2870
|
|
|
2864
2871
|
/**
|
|
2865
2872
|
* Returns a tuple `[element, index]` of the first element matching a
|
|
2866
|
-
* predicate,
|
|
2873
|
+
* predicate, wrapped in an `Option`.
|
|
2867
2874
|
*
|
|
2868
2875
|
* **Example** (Finding element with its index)
|
|
2869
2876
|
*
|
|
2870
2877
|
* ```ts
|
|
2871
2878
|
* import { Array } from "effect"
|
|
2872
2879
|
*
|
|
2873
|
-
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // [4, 3]
|
|
2880
|
+
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some([4, 3])
|
|
2874
2881
|
* ```
|
|
2875
2882
|
*
|
|
2876
2883
|
* @see {@link findFirst} — get only the element
|
|
@@ -2882,14 +2889,14 @@ export const findFirst: {
|
|
|
2882
2889
|
export const findFirstWithIndex: {
|
|
2883
2890
|
/**
|
|
2884
2891
|
* Returns a tuple `[element, index]` of the first element matching a
|
|
2885
|
-
* predicate,
|
|
2892
|
+
* predicate, wrapped in an `Option`.
|
|
2886
2893
|
*
|
|
2887
2894
|
* **Example** (Finding element with its index)
|
|
2888
2895
|
*
|
|
2889
2896
|
* ```ts
|
|
2890
2897
|
* import { Array } from "effect"
|
|
2891
2898
|
*
|
|
2892
|
-
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // [4, 3]
|
|
2899
|
+
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some([4, 3])
|
|
2893
2900
|
* ```
|
|
2894
2901
|
*
|
|
2895
2902
|
* @see {@link findFirst} — get only the element
|
|
@@ -2898,17 +2905,17 @@ export const findFirstWithIndex: {
|
|
|
2898
2905
|
* @category elements
|
|
2899
2906
|
* @since 3.17.0
|
|
2900
2907
|
*/
|
|
2901
|
-
<A, B>(f: (a: NoInfer<A>, i: number) => Option.Option<B>): (self: Iterable<A>) => [B, number]
|
|
2908
|
+
<A, B>(f: (a: NoInfer<A>, i: number) => Option.Option<B>): (self: Iterable<A>) => Option.Option<[B, number]>
|
|
2902
2909
|
/**
|
|
2903
2910
|
* Returns a tuple `[element, index]` of the first element matching a
|
|
2904
|
-
* predicate,
|
|
2911
|
+
* predicate, wrapped in an `Option`.
|
|
2905
2912
|
*
|
|
2906
2913
|
* **Example** (Finding element with its index)
|
|
2907
2914
|
*
|
|
2908
2915
|
* ```ts
|
|
2909
2916
|
* import { Array } from "effect"
|
|
2910
2917
|
*
|
|
2911
|
-
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // [4, 3]
|
|
2918
|
+
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some([4, 3])
|
|
2912
2919
|
* ```
|
|
2913
2920
|
*
|
|
2914
2921
|
* @see {@link findFirst} — get only the element
|
|
@@ -2917,17 +2924,17 @@ export const findFirstWithIndex: {
|
|
|
2917
2924
|
* @category elements
|
|
2918
2925
|
* @since 3.17.0
|
|
2919
2926
|
*/
|
|
2920
|
-
<A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: Iterable<A>) => [B, number]
|
|
2927
|
+
<A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: Iterable<A>) => Option.Option<[B, number]>
|
|
2921
2928
|
/**
|
|
2922
2929
|
* Returns a tuple `[element, index]` of the first element matching a
|
|
2923
|
-
* predicate,
|
|
2930
|
+
* predicate, wrapped in an `Option`.
|
|
2924
2931
|
*
|
|
2925
2932
|
* **Example** (Finding element with its index)
|
|
2926
2933
|
*
|
|
2927
2934
|
* ```ts
|
|
2928
2935
|
* import { Array } from "effect"
|
|
2929
2936
|
*
|
|
2930
|
-
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // [4, 3]
|
|
2937
|
+
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some([4, 3])
|
|
2931
2938
|
* ```
|
|
2932
2939
|
*
|
|
2933
2940
|
* @see {@link findFirst} — get only the element
|
|
@@ -2936,17 +2943,17 @@ export const findFirstWithIndex: {
|
|
|
2936
2943
|
* @category elements
|
|
2937
2944
|
* @since 3.17.0
|
|
2938
2945
|
*/
|
|
2939
|
-
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => [A, number]
|
|
2946
|
+
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Option.Option<[A, number]>
|
|
2940
2947
|
/**
|
|
2941
2948
|
* Returns a tuple `[element, index]` of the first element matching a
|
|
2942
|
-
* predicate,
|
|
2949
|
+
* predicate, wrapped in an `Option`.
|
|
2943
2950
|
*
|
|
2944
2951
|
* **Example** (Finding element with its index)
|
|
2945
2952
|
*
|
|
2946
2953
|
* ```ts
|
|
2947
2954
|
* import { Array } from "effect"
|
|
2948
2955
|
*
|
|
2949
|
-
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // [4, 3]
|
|
2956
|
+
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some([4, 3])
|
|
2950
2957
|
* ```
|
|
2951
2958
|
*
|
|
2952
2959
|
* @see {@link findFirst} — get only the element
|
|
@@ -2955,17 +2962,17 @@ export const findFirstWithIndex: {
|
|
|
2955
2962
|
* @category elements
|
|
2956
2963
|
* @since 3.17.0
|
|
2957
2964
|
*/
|
|
2958
|
-
<A, B>(self: Iterable<A>, f: (a: A, i: number) => Option.Option<B>): [B, number]
|
|
2965
|
+
<A, B>(self: Iterable<A>, f: (a: A, i: number) => Option.Option<B>): Option.Option<[B, number]>
|
|
2959
2966
|
/**
|
|
2960
2967
|
* Returns a tuple `[element, index]` of the first element matching a
|
|
2961
|
-
* predicate,
|
|
2968
|
+
* predicate, wrapped in an `Option`.
|
|
2962
2969
|
*
|
|
2963
2970
|
* **Example** (Finding element with its index)
|
|
2964
2971
|
*
|
|
2965
2972
|
* ```ts
|
|
2966
2973
|
* import { Array } from "effect"
|
|
2967
2974
|
*
|
|
2968
|
-
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // [4, 3]
|
|
2975
|
+
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some([4, 3])
|
|
2969
2976
|
* ```
|
|
2970
2977
|
*
|
|
2971
2978
|
* @see {@link findFirst} — get only the element
|
|
@@ -2974,17 +2981,17 @@ export const findFirstWithIndex: {
|
|
|
2974
2981
|
* @category elements
|
|
2975
2982
|
* @since 3.17.0
|
|
2976
2983
|
*/
|
|
2977
|
-
<A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): [B, number]
|
|
2984
|
+
<A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Option.Option<[B, number]>
|
|
2978
2985
|
/**
|
|
2979
2986
|
* Returns a tuple `[element, index]` of the first element matching a
|
|
2980
|
-
* predicate,
|
|
2987
|
+
* predicate, wrapped in an `Option`.
|
|
2981
2988
|
*
|
|
2982
2989
|
* **Example** (Finding element with its index)
|
|
2983
2990
|
*
|
|
2984
2991
|
* ```ts
|
|
2985
2992
|
* import { Array } from "effect"
|
|
2986
2993
|
*
|
|
2987
|
-
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // [4, 3]
|
|
2994
|
+
* console.log(Array.findFirstWithIndex([1, 2, 3, 4, 5], (x) => x > 3)) // Option.some([4, 3])
|
|
2988
2995
|
* ```
|
|
2989
2996
|
*
|
|
2990
2997
|
* @see {@link findFirst} — get only the element
|
|
@@ -2993,27 +3000,28 @@ export const findFirstWithIndex: {
|
|
|
2993
3000
|
* @category elements
|
|
2994
3001
|
* @since 3.17.0
|
|
2995
3002
|
*/
|
|
2996
|
-
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): [A, number]
|
|
3003
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Option.Option<[A, number]>
|
|
2997
3004
|
} = dual(
|
|
2998
3005
|
2,
|
|
2999
3006
|
<A>(
|
|
3000
3007
|
self: Iterable<A>,
|
|
3001
3008
|
f: ((a: A, i: number) => boolean) | ((a: A, i: number) => Option.Option<A>)
|
|
3002
|
-
): [A, number]
|
|
3009
|
+
): Option.Option<[A, number]> => {
|
|
3003
3010
|
let i = 0
|
|
3004
3011
|
for (const a of self) {
|
|
3005
3012
|
const o = f(a, i)
|
|
3006
3013
|
if (typeof o === "boolean") {
|
|
3007
3014
|
if (o) {
|
|
3008
|
-
return [a, i]
|
|
3015
|
+
return Option.some([a, i])
|
|
3009
3016
|
}
|
|
3010
3017
|
} else {
|
|
3011
3018
|
if (Option.isSome(o)) {
|
|
3012
|
-
return [o.value, i]
|
|
3019
|
+
return Option.some([o.value, i])
|
|
3013
3020
|
}
|
|
3014
3021
|
}
|
|
3015
3022
|
i++
|
|
3016
3023
|
}
|
|
3024
|
+
return Option.none()
|
|
3017
3025
|
}
|
|
3018
3026
|
)
|
|
3019
3027
|
|
|
@@ -3196,8 +3204,8 @@ export const findLast: {
|
|
|
3196
3204
|
)
|
|
3197
3205
|
|
|
3198
3206
|
/**
|
|
3199
|
-
* Inserts an element at the specified index, returning a new `NonEmptyArray
|
|
3200
|
-
*
|
|
3207
|
+
* Inserts an element at the specified index, returning a new `NonEmptyArray`
|
|
3208
|
+
* wrapped in an `Option`.
|
|
3201
3209
|
*
|
|
3202
3210
|
* - Valid indices: `0` to `length` (inclusive — inserting at `length` appends).
|
|
3203
3211
|
* - Does not mutate the input.
|
|
@@ -3207,7 +3215,7 @@ export const findLast: {
|
|
|
3207
3215
|
* ```ts
|
|
3208
3216
|
* import { Array } from "effect"
|
|
3209
3217
|
*
|
|
3210
|
-
* console.log(Array.insertAt(["a", "b", "c", "e"], 3, "d")) // ["a", "b", "c", "d", "e"]
|
|
3218
|
+
* console.log(Array.insertAt(["a", "b", "c", "e"], 3, "d")) // Option.some(["a", "b", "c", "d", "e"])
|
|
3211
3219
|
* ```
|
|
3212
3220
|
*
|
|
3213
3221
|
* @see {@link replace} — replace an existing element
|
|
@@ -3218,8 +3226,8 @@ export const findLast: {
|
|
|
3218
3226
|
*/
|
|
3219
3227
|
export const insertAt: {
|
|
3220
3228
|
/**
|
|
3221
|
-
* Inserts an element at the specified index, returning a new `NonEmptyArray
|
|
3222
|
-
*
|
|
3229
|
+
* Inserts an element at the specified index, returning a new `NonEmptyArray`
|
|
3230
|
+
* wrapped in an `Option`.
|
|
3223
3231
|
*
|
|
3224
3232
|
* - Valid indices: `0` to `length` (inclusive — inserting at `length` appends).
|
|
3225
3233
|
* - Does not mutate the input.
|
|
@@ -3229,7 +3237,7 @@ export const insertAt: {
|
|
|
3229
3237
|
* ```ts
|
|
3230
3238
|
* import { Array } from "effect"
|
|
3231
3239
|
*
|
|
3232
|
-
* console.log(Array.insertAt(["a", "b", "c", "e"], 3, "d")) // ["a", "b", "c", "d", "e"]
|
|
3240
|
+
* console.log(Array.insertAt(["a", "b", "c", "e"], 3, "d")) // Option.some(["a", "b", "c", "d", "e"])
|
|
3233
3241
|
* ```
|
|
3234
3242
|
*
|
|
3235
3243
|
* @see {@link replace} — replace an existing element
|
|
@@ -3238,10 +3246,10 @@ export const insertAt: {
|
|
|
3238
3246
|
* @category elements
|
|
3239
3247
|
* @since 2.0.0
|
|
3240
3248
|
*/
|
|
3241
|
-
<B>(i: number, b: B): <A>(self: Iterable<A>) => NonEmptyArray<A | B
|
|
3249
|
+
<B>(i: number, b: B): <A>(self: Iterable<A>) => Option.Option<NonEmptyArray<A | B>>
|
|
3242
3250
|
/**
|
|
3243
|
-
* Inserts an element at the specified index, returning a new `NonEmptyArray
|
|
3244
|
-
*
|
|
3251
|
+
* Inserts an element at the specified index, returning a new `NonEmptyArray`
|
|
3252
|
+
* wrapped in an `Option`.
|
|
3245
3253
|
*
|
|
3246
3254
|
* - Valid indices: `0` to `length` (inclusive — inserting at `length` appends).
|
|
3247
3255
|
* - Does not mutate the input.
|
|
@@ -3251,7 +3259,7 @@ export const insertAt: {
|
|
|
3251
3259
|
* ```ts
|
|
3252
3260
|
* import { Array } from "effect"
|
|
3253
3261
|
*
|
|
3254
|
-
* console.log(Array.insertAt(["a", "b", "c", "e"], 3, "d")) // ["a", "b", "c", "d", "e"]
|
|
3262
|
+
* console.log(Array.insertAt(["a", "b", "c", "e"], 3, "d")) // Option.some(["a", "b", "c", "d", "e"])
|
|
3255
3263
|
* ```
|
|
3256
3264
|
*
|
|
3257
3265
|
* @see {@link replace} — replace an existing element
|
|
@@ -3260,19 +3268,19 @@ export const insertAt: {
|
|
|
3260
3268
|
* @category elements
|
|
3261
3269
|
* @since 2.0.0
|
|
3262
3270
|
*/
|
|
3263
|
-
<A, B>(self: Iterable<A>, i: number, b: B): NonEmptyArray<A | B
|
|
3264
|
-
} = dual(3, <A, B>(self: Iterable<A>, i: number, b: B): NonEmptyArray<A | B
|
|
3271
|
+
<A, B>(self: Iterable<A>, i: number, b: B): Option.Option<NonEmptyArray<A | B>>
|
|
3272
|
+
} = dual(3, <A, B>(self: Iterable<A>, i: number, b: B): Option.Option<NonEmptyArray<A | B>> => {
|
|
3265
3273
|
const out: Array<A | B> = Array.from(self) // copy because `splice` mutates the array
|
|
3266
3274
|
if (i < 0 || i > out.length) {
|
|
3267
|
-
return
|
|
3275
|
+
return Option.none()
|
|
3268
3276
|
}
|
|
3269
3277
|
out.splice(i, 0, b)
|
|
3270
|
-
return out as any
|
|
3278
|
+
return Option.some(out as any)
|
|
3271
3279
|
})
|
|
3272
3280
|
|
|
3273
3281
|
/**
|
|
3274
3282
|
* Replaces the element at the specified index with a new value, returning a new
|
|
3275
|
-
* array,
|
|
3283
|
+
* array, wrapped in an `Option`.
|
|
3276
3284
|
*
|
|
3277
3285
|
* - Does not mutate the input.
|
|
3278
3286
|
*
|
|
@@ -3281,7 +3289,7 @@ export const insertAt: {
|
|
|
3281
3289
|
* ```ts
|
|
3282
3290
|
* import { Array } from "effect"
|
|
3283
3291
|
*
|
|
3284
|
-
* console.log(Array.replace([1, 2, 3], 1, 4)) // [1, 4, 3]
|
|
3292
|
+
* console.log(Array.replace([1, 2, 3], 1, 4)) // Option.some([1, 4, 3])
|
|
3285
3293
|
* ```
|
|
3286
3294
|
*
|
|
3287
3295
|
* @see {@link modify} — transform an element with a function
|
|
@@ -3293,7 +3301,7 @@ export const insertAt: {
|
|
|
3293
3301
|
export const replace: {
|
|
3294
3302
|
/**
|
|
3295
3303
|
* Replaces the element at the specified index with a new value, returning a new
|
|
3296
|
-
* array,
|
|
3304
|
+
* array, wrapped in an `Option`.
|
|
3297
3305
|
*
|
|
3298
3306
|
* - Does not mutate the input.
|
|
3299
3307
|
*
|
|
@@ -3302,7 +3310,7 @@ export const replace: {
|
|
|
3302
3310
|
* ```ts
|
|
3303
3311
|
* import { Array } from "effect"
|
|
3304
3312
|
*
|
|
3305
|
-
* console.log(Array.replace([1, 2, 3], 1, 4)) // [1, 4, 3]
|
|
3313
|
+
* console.log(Array.replace([1, 2, 3], 1, 4)) // Option.some([1, 4, 3])
|
|
3306
3314
|
* ```
|
|
3307
3315
|
*
|
|
3308
3316
|
* @see {@link modify} — transform an element with a function
|
|
@@ -3313,10 +3321,10 @@ export const replace: {
|
|
|
3313
3321
|
*/
|
|
3314
3322
|
<B>(i: number, b: B): <A, S extends Iterable<A> = Iterable<A>>(
|
|
3315
3323
|
self: S
|
|
3316
|
-
) => ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B
|
|
3324
|
+
) => Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>
|
|
3317
3325
|
/**
|
|
3318
3326
|
* Replaces the element at the specified index with a new value, returning a new
|
|
3319
|
-
* array,
|
|
3327
|
+
* array, wrapped in an `Option`.
|
|
3320
3328
|
*
|
|
3321
3329
|
* - Does not mutate the input.
|
|
3322
3330
|
*
|
|
@@ -3325,7 +3333,7 @@ export const replace: {
|
|
|
3325
3333
|
* ```ts
|
|
3326
3334
|
* import { Array } from "effect"
|
|
3327
3335
|
*
|
|
3328
|
-
* console.log(Array.replace([1, 2, 3], 1, 4)) // [1, 4, 3]
|
|
3336
|
+
* console.log(Array.replace([1, 2, 3], 1, 4)) // Option.some([1, 4, 3])
|
|
3329
3337
|
* ```
|
|
3330
3338
|
*
|
|
3331
3339
|
* @see {@link modify} — transform an element with a function
|
|
@@ -3334,15 +3342,15 @@ export const replace: {
|
|
|
3334
3342
|
* @category elements
|
|
3335
3343
|
* @since 2.0.0
|
|
3336
3344
|
*/
|
|
3337
|
-
<A, B, S extends Iterable<A> = Iterable<A>>(self: S, i: number, b: B): ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B
|
|
3345
|
+
<A, B, S extends Iterable<A> = Iterable<A>>(self: S, i: number, b: B): Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>
|
|
3338
3346
|
} = dual(
|
|
3339
3347
|
3,
|
|
3340
|
-
<A, B>(self: Iterable<A>, i: number, b: B): Array<A | B
|
|
3348
|
+
<A, B>(self: Iterable<A>, i: number, b: B): Option.Option<Array<A | B>> => modify(self, i, () => b)
|
|
3341
3349
|
)
|
|
3342
3350
|
|
|
3343
3351
|
/**
|
|
3344
3352
|
* Applies a function to the element at the specified index, returning a new
|
|
3345
|
-
* array,
|
|
3353
|
+
* array, wrapped in an `Option`.
|
|
3346
3354
|
*
|
|
3347
3355
|
* - Does not mutate the input.
|
|
3348
3356
|
*
|
|
@@ -3351,8 +3359,8 @@ export const replace: {
|
|
|
3351
3359
|
* ```ts
|
|
3352
3360
|
* import { Array } from "effect"
|
|
3353
3361
|
*
|
|
3354
|
-
* console.log(Array.modify([1, 2, 3, 4], 2, (n) => n * 2)) // [1, 2, 6, 4]
|
|
3355
|
-
* console.log(Array.modify([1, 2, 3, 4], 5, (n) => n * 2)) //
|
|
3362
|
+
* console.log(Array.modify([1, 2, 3, 4], 2, (n) => n * 2)) // Option.some([1, 2, 6, 4])
|
|
3363
|
+
* console.log(Array.modify([1, 2, 3, 4], 5, (n) => n * 2)) // Option.none()
|
|
3356
3364
|
* ```
|
|
3357
3365
|
*
|
|
3358
3366
|
* @see {@link replace} — set a fixed value at an index
|
|
@@ -3365,7 +3373,7 @@ export const replace: {
|
|
|
3365
3373
|
export const modify: {
|
|
3366
3374
|
/**
|
|
3367
3375
|
* Applies a function to the element at the specified index, returning a new
|
|
3368
|
-
* array,
|
|
3376
|
+
* array, wrapped in an `Option`.
|
|
3369
3377
|
*
|
|
3370
3378
|
* - Does not mutate the input.
|
|
3371
3379
|
*
|
|
@@ -3374,8 +3382,8 @@ export const modify: {
|
|
|
3374
3382
|
* ```ts
|
|
3375
3383
|
* import { Array } from "effect"
|
|
3376
3384
|
*
|
|
3377
|
-
* console.log(Array.modify([1, 2, 3, 4], 2, (n) => n * 2)) // [1, 2, 6, 4]
|
|
3378
|
-
* console.log(Array.modify([1, 2, 3, 4], 5, (n) => n * 2)) //
|
|
3385
|
+
* console.log(Array.modify([1, 2, 3, 4], 2, (n) => n * 2)) // Option.some([1, 2, 6, 4])
|
|
3386
|
+
* console.log(Array.modify([1, 2, 3, 4], 5, (n) => n * 2)) // Option.none()
|
|
3379
3387
|
* ```
|
|
3380
3388
|
*
|
|
3381
3389
|
* @see {@link replace} — set a fixed value at an index
|
|
@@ -3385,10 +3393,10 @@ export const modify: {
|
|
|
3385
3393
|
* @category elements
|
|
3386
3394
|
* @since 2.0.0
|
|
3387
3395
|
*/
|
|
3388
|
-
<A, B, S extends Iterable<A> = Iterable<A>>(i: number, f: (a: ReadonlyArray.Infer<S>) => B): (self: S) => ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B
|
|
3396
|
+
<A, B, S extends Iterable<A> = Iterable<A>>(i: number, f: (a: ReadonlyArray.Infer<S>) => B): (self: S) => Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>
|
|
3389
3397
|
/**
|
|
3390
3398
|
* Applies a function to the element at the specified index, returning a new
|
|
3391
|
-
* array,
|
|
3399
|
+
* array, wrapped in an `Option`.
|
|
3392
3400
|
*
|
|
3393
3401
|
* - Does not mutate the input.
|
|
3394
3402
|
*
|
|
@@ -3397,8 +3405,8 @@ export const modify: {
|
|
|
3397
3405
|
* ```ts
|
|
3398
3406
|
* import { Array } from "effect"
|
|
3399
3407
|
*
|
|
3400
|
-
* console.log(Array.modify([1, 2, 3, 4], 2, (n) => n * 2)) // [1, 2, 6, 4]
|
|
3401
|
-
* console.log(Array.modify([1, 2, 3, 4], 5, (n) => n * 2)) //
|
|
3408
|
+
* console.log(Array.modify([1, 2, 3, 4], 2, (n) => n * 2)) // Option.some([1, 2, 6, 4])
|
|
3409
|
+
* console.log(Array.modify([1, 2, 3, 4], 5, (n) => n * 2)) // Option.none()
|
|
3402
3410
|
* ```
|
|
3403
3411
|
*
|
|
3404
3412
|
* @see {@link replace} — set a fixed value at an index
|
|
@@ -3408,16 +3416,16 @@ export const modify: {
|
|
|
3408
3416
|
* @category elements
|
|
3409
3417
|
* @since 2.0.0
|
|
3410
3418
|
*/
|
|
3411
|
-
<A, B, S extends Iterable<A> = Iterable<A>>(self: S, i: number, f: (a: ReadonlyArray.Infer<S>) => B): ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B
|
|
3412
|
-
} = dual(3, <A, B>(self: Iterable<A>, i: number, f: (a: A) => B): Array<A | B
|
|
3419
|
+
<A, B, S extends Iterable<A> = Iterable<A>>(self: S, i: number, f: (a: ReadonlyArray.Infer<S>) => B): Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>
|
|
3420
|
+
} = dual(3, <A, B>(self: Iterable<A>, i: number, f: (a: A) => B): Option.Option<Array<A | B>> => {
|
|
3413
3421
|
const arr = Array.from(self)
|
|
3414
3422
|
if (isOutOfBounds(i, arr)) {
|
|
3415
|
-
return
|
|
3423
|
+
return Option.none()
|
|
3416
3424
|
}
|
|
3417
3425
|
const out: Array<A | B> = arr
|
|
3418
3426
|
const b = f(arr[i])
|
|
3419
3427
|
out[i] = b
|
|
3420
|
-
return out
|
|
3428
|
+
return Option.some(out)
|
|
3421
3429
|
})
|
|
3422
3430
|
|
|
3423
3431
|
/**
|
|
@@ -6272,98 +6280,6 @@ export const flatMap: {
|
|
|
6272
6280
|
export const flatten: <const S extends ReadonlyArray<ReadonlyArray<any>>>(self: S) => ReadonlyArray.Flatten<S> =
|
|
6273
6281
|
flatMap(identity) as any
|
|
6274
6282
|
|
|
6275
|
-
/**
|
|
6276
|
-
* Maps each element to a `Result`, then separates failures and successes into
|
|
6277
|
-
* two arrays.
|
|
6278
|
-
*
|
|
6279
|
-
* - Returns `[failures, successes]`.
|
|
6280
|
-
*
|
|
6281
|
-
* **Example** (Partitioning by Result)
|
|
6282
|
-
*
|
|
6283
|
-
* ```ts
|
|
6284
|
-
* import { Array, Result } from "effect"
|
|
6285
|
-
*
|
|
6286
|
-
* const result = Array.partitionMap(
|
|
6287
|
-
* [1, 2, 3, 4, 5],
|
|
6288
|
-
* (x) => x % 2 === 0 ? Result.succeed(x) : Result.fail(x)
|
|
6289
|
-
* )
|
|
6290
|
-
* console.log(result) // [[1, 3, 5], [2, 4]]
|
|
6291
|
-
* ```
|
|
6292
|
-
*
|
|
6293
|
-
* @see {@link partition} — partition by predicate
|
|
6294
|
-
* @see {@link separate} — partition an array of Results
|
|
6295
|
-
*
|
|
6296
|
-
* @category filtering
|
|
6297
|
-
* @since 2.0.0
|
|
6298
|
-
*/
|
|
6299
|
-
export const partitionMap: {
|
|
6300
|
-
/**
|
|
6301
|
-
* Maps each element to a `Result`, then separates failures and successes into
|
|
6302
|
-
* two arrays.
|
|
6303
|
-
*
|
|
6304
|
-
* - Returns `[failures, successes]`.
|
|
6305
|
-
*
|
|
6306
|
-
* **Example** (Partitioning by Result)
|
|
6307
|
-
*
|
|
6308
|
-
* ```ts
|
|
6309
|
-
* import { Array, Result } from "effect"
|
|
6310
|
-
*
|
|
6311
|
-
* const result = Array.partitionMap(
|
|
6312
|
-
* [1, 2, 3, 4, 5],
|
|
6313
|
-
* (x) => x % 2 === 0 ? Result.succeed(x) : Result.fail(x)
|
|
6314
|
-
* )
|
|
6315
|
-
* console.log(result) // [[1, 3, 5], [2, 4]]
|
|
6316
|
-
* ```
|
|
6317
|
-
*
|
|
6318
|
-
* @see {@link partition} — partition by predicate
|
|
6319
|
-
* @see {@link separate} — partition an array of Results
|
|
6320
|
-
*
|
|
6321
|
-
* @category filtering
|
|
6322
|
-
* @since 2.0.0
|
|
6323
|
-
*/
|
|
6324
|
-
<A, B, C>(f: (a: A, i: number) => Result.Result<C, B>): (self: Iterable<A>) => [fails: Array<B>, successes: Array<C>]
|
|
6325
|
-
/**
|
|
6326
|
-
* Maps each element to a `Result`, then separates failures and successes into
|
|
6327
|
-
* two arrays.
|
|
6328
|
-
*
|
|
6329
|
-
* - Returns `[failures, successes]`.
|
|
6330
|
-
*
|
|
6331
|
-
* **Example** (Partitioning by Result)
|
|
6332
|
-
*
|
|
6333
|
-
* ```ts
|
|
6334
|
-
* import { Array, Result } from "effect"
|
|
6335
|
-
*
|
|
6336
|
-
* const result = Array.partitionMap(
|
|
6337
|
-
* [1, 2, 3, 4, 5],
|
|
6338
|
-
* (x) => x % 2 === 0 ? Result.succeed(x) : Result.fail(x)
|
|
6339
|
-
* )
|
|
6340
|
-
* console.log(result) // [[1, 3, 5], [2, 4]]
|
|
6341
|
-
* ```
|
|
6342
|
-
*
|
|
6343
|
-
* @see {@link partition} — partition by predicate
|
|
6344
|
-
* @see {@link separate} — partition an array of Results
|
|
6345
|
-
*
|
|
6346
|
-
* @category filtering
|
|
6347
|
-
* @since 2.0.0
|
|
6348
|
-
*/
|
|
6349
|
-
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Result.Result<C, B>): [fails: Array<B>, successes: Array<C>]
|
|
6350
|
-
} = dual(
|
|
6351
|
-
2,
|
|
6352
|
-
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Result.Result<C, B>): [fails: Array<B>, successes: Array<C>] => {
|
|
6353
|
-
const failures: Array<B> = []
|
|
6354
|
-
const successes: Array<C> = []
|
|
6355
|
-
const as = fromIterable(self)
|
|
6356
|
-
for (let i = 0; i < as.length; i++) {
|
|
6357
|
-
const e = f(as[i], i)
|
|
6358
|
-
if (Result.isFailure(e)) {
|
|
6359
|
-
failures.push(e.failure)
|
|
6360
|
-
} else {
|
|
6361
|
-
successes.push(e.success)
|
|
6362
|
-
}
|
|
6363
|
-
}
|
|
6364
|
-
return [failures, successes]
|
|
6365
|
-
}
|
|
6366
|
-
)
|
|
6367
6283
|
/**
|
|
6368
6284
|
* Extracts all `Some` values from an iterable of `Option`s, discarding `None`s.
|
|
6369
6285
|
*
|
|
@@ -6459,65 +6375,100 @@ export const getSuccesses = <T extends Iterable<Result.Result<any, any>>>(
|
|
|
6459
6375
|
}
|
|
6460
6376
|
|
|
6461
6377
|
/**
|
|
6462
|
-
* Keeps
|
|
6378
|
+
* Keeps transformed values for elements where a `Filter` succeeds.
|
|
6463
6379
|
*
|
|
6464
|
-
* - The
|
|
6465
|
-
* -
|
|
6380
|
+
* - The filter receives `(element, index)`.
|
|
6381
|
+
* - Failures are discarded.
|
|
6466
6382
|
*
|
|
6467
|
-
* **Example** (
|
|
6383
|
+
* **Example** (Filter and transform)
|
|
6468
6384
|
*
|
|
6469
6385
|
* ```ts
|
|
6470
|
-
* import { Array } from "effect"
|
|
6386
|
+
* import { Array, Result } from "effect"
|
|
6471
6387
|
*
|
|
6472
|
-
* console.log(Array.
|
|
6388
|
+
* console.log(Array.filterMap([1, 2, 3, 4], (n) => n % 2 === 0 ? Result.succeed(n * 10) : Result.failVoid))
|
|
6389
|
+
* // [20, 40]
|
|
6473
6390
|
* ```
|
|
6474
6391
|
*
|
|
6475
|
-
* @see {@link
|
|
6392
|
+
* @see {@link filter} — keep original elements matching a predicate
|
|
6476
6393
|
*
|
|
6477
6394
|
* @category filtering
|
|
6478
|
-
* @since
|
|
6395
|
+
* @since 4.0.0
|
|
6479
6396
|
*/
|
|
6480
|
-
export const
|
|
6397
|
+
export const filterMap: {
|
|
6481
6398
|
/**
|
|
6482
|
-
* Keeps
|
|
6399
|
+
* Keeps transformed values for elements where a `Filter` succeeds.
|
|
6483
6400
|
*
|
|
6484
|
-
* - The
|
|
6485
|
-
* -
|
|
6401
|
+
* - The filter receives `(element, index)`.
|
|
6402
|
+
* - Failures are discarded.
|
|
6486
6403
|
*
|
|
6487
|
-
* **Example** (
|
|
6404
|
+
* **Example** (Filter and transform)
|
|
6488
6405
|
*
|
|
6489
6406
|
* ```ts
|
|
6490
|
-
* import { Array } from "effect"
|
|
6407
|
+
* import { Array, Result } from "effect"
|
|
6491
6408
|
*
|
|
6492
|
-
* console.log(Array.
|
|
6409
|
+
* console.log(Array.filterMap([1, 2, 3, 4], (n) => n % 2 === 0 ? Result.succeed(n * 10) : Result.failVoid))
|
|
6410
|
+
* // [20, 40]
|
|
6493
6411
|
* ```
|
|
6494
6412
|
*
|
|
6495
|
-
* @see {@link
|
|
6413
|
+
* @see {@link filter} — keep original elements matching a predicate
|
|
6496
6414
|
*
|
|
6497
6415
|
* @category filtering
|
|
6498
|
-
* @since
|
|
6416
|
+
* @since 4.0.0
|
|
6499
6417
|
*/
|
|
6500
|
-
<A, B
|
|
6418
|
+
<A, B, X>(f: (input: NoInfer<A>, i: number) => Result.Result<B, X>): (self: Iterable<A>) => Array<B>
|
|
6501
6419
|
/**
|
|
6502
|
-
* Keeps
|
|
6420
|
+
* Keeps transformed values for elements where a `Filter` succeeds.
|
|
6503
6421
|
*
|
|
6504
|
-
* - The
|
|
6505
|
-
* -
|
|
6422
|
+
* - The filter receives `(element, index)`.
|
|
6423
|
+
* - Failures are discarded.
|
|
6506
6424
|
*
|
|
6507
|
-
* **Example** (
|
|
6425
|
+
* **Example** (Filter and transform)
|
|
6508
6426
|
*
|
|
6509
6427
|
* ```ts
|
|
6510
|
-
* import { Array } from "effect"
|
|
6428
|
+
* import { Array, Result } from "effect"
|
|
6511
6429
|
*
|
|
6512
|
-
* console.log(Array.
|
|
6430
|
+
* console.log(Array.filterMap([1, 2, 3, 4], (n) => n % 2 === 0 ? Result.succeed(n * 10) : Result.failVoid))
|
|
6431
|
+
* // [20, 40]
|
|
6513
6432
|
* ```
|
|
6514
6433
|
*
|
|
6515
|
-
* @see {@link
|
|
6434
|
+
* @see {@link filter} — keep original elements matching a predicate
|
|
6516
6435
|
*
|
|
6517
6436
|
* @category filtering
|
|
6518
|
-
* @since
|
|
6437
|
+
* @since 4.0.0
|
|
6519
6438
|
*/
|
|
6520
|
-
<A>(
|
|
6439
|
+
<A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<B, X>): Array<B>
|
|
6440
|
+
} = dual(2, <A, B, X>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<B, X>): Array<B> => {
|
|
6441
|
+
const as = fromIterable(self)
|
|
6442
|
+
const out: Array<B> = []
|
|
6443
|
+
for (let i = 0; i < as.length; i++) {
|
|
6444
|
+
const result = f(as[i], i)
|
|
6445
|
+
if (Result.isSuccess(result)) {
|
|
6446
|
+
out.push(result.success)
|
|
6447
|
+
}
|
|
6448
|
+
}
|
|
6449
|
+
return out
|
|
6450
|
+
})
|
|
6451
|
+
|
|
6452
|
+
/**
|
|
6453
|
+
* Keeps only elements satisfying a predicate (or refinement).
|
|
6454
|
+
*
|
|
6455
|
+
* - The predicate receives `(element, index)`.
|
|
6456
|
+
* - Supports refinements for type narrowing.
|
|
6457
|
+
*
|
|
6458
|
+
* **Example** (Filtering even numbers)
|
|
6459
|
+
*
|
|
6460
|
+
* ```ts
|
|
6461
|
+
* import { Array } from "effect"
|
|
6462
|
+
*
|
|
6463
|
+
* console.log(Array.filter([1, 2, 3, 4], (x) => x % 2 === 0)) // [2, 4]
|
|
6464
|
+
* ```
|
|
6465
|
+
*
|
|
6466
|
+
* @see {@link partition} — split into matching and non-matching
|
|
6467
|
+
*
|
|
6468
|
+
* @category filtering
|
|
6469
|
+
* @since 2.0.0
|
|
6470
|
+
*/
|
|
6471
|
+
export const filter: {
|
|
6521
6472
|
/**
|
|
6522
6473
|
* Keeps only elements satisfying a predicate (or refinement).
|
|
6523
6474
|
*
|
|
@@ -6537,7 +6488,7 @@ export const filter: {
|
|
|
6537
6488
|
* @category filtering
|
|
6538
6489
|
* @since 2.0.0
|
|
6539
6490
|
*/
|
|
6540
|
-
<A, B
|
|
6491
|
+
<A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (self: Iterable<A>) => Array<B>
|
|
6541
6492
|
/**
|
|
6542
6493
|
* Keeps only elements satisfying a predicate (or refinement).
|
|
6543
6494
|
*
|
|
@@ -6557,7 +6508,7 @@ export const filter: {
|
|
|
6557
6508
|
* @category filtering
|
|
6558
6509
|
* @since 2.0.0
|
|
6559
6510
|
*/
|
|
6560
|
-
<A
|
|
6511
|
+
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => Array<A>
|
|
6561
6512
|
/**
|
|
6562
6513
|
* Keeps only elements satisfying a predicate (or refinement).
|
|
6563
6514
|
*
|
|
@@ -6577,7 +6528,7 @@ export const filter: {
|
|
|
6577
6528
|
* @category filtering
|
|
6578
6529
|
* @since 2.0.0
|
|
6579
6530
|
*/
|
|
6580
|
-
<A>(self: Iterable<A>,
|
|
6531
|
+
<A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Array<B>
|
|
6581
6532
|
/**
|
|
6582
6533
|
* Keeps only elements satisfying a predicate (or refinement).
|
|
6583
6534
|
*
|
|
@@ -6597,16 +6548,15 @@ export const filter: {
|
|
|
6597
6548
|
* @category filtering
|
|
6598
6549
|
* @since 2.0.0
|
|
6599
6550
|
*/
|
|
6600
|
-
<A
|
|
6551
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Array<A>
|
|
6601
6552
|
} = dual(
|
|
6602
6553
|
2,
|
|
6603
|
-
<A>(self: Iterable<A>,
|
|
6554
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Array<A> => {
|
|
6604
6555
|
const as = fromIterable(self)
|
|
6605
|
-
const out: Array<
|
|
6556
|
+
const out: Array<A> = []
|
|
6606
6557
|
for (let i = 0; i < as.length; i++) {
|
|
6607
|
-
|
|
6608
|
-
|
|
6609
|
-
out.push(result.success)
|
|
6558
|
+
if (predicate(as[i], i)) {
|
|
6559
|
+
out.push(as[i])
|
|
6610
6560
|
}
|
|
6611
6561
|
}
|
|
6612
6562
|
return out
|
|
@@ -6614,190 +6564,93 @@ export const filter: {
|
|
|
6614
6564
|
)
|
|
6615
6565
|
|
|
6616
6566
|
/**
|
|
6617
|
-
* Splits an iterable
|
|
6618
|
-
* elements that satisfy it.
|
|
6567
|
+
* Splits an iterable using a `Filter` into failures and successes.
|
|
6619
6568
|
*
|
|
6620
6569
|
* - Returns `[excluded, satisfying]`.
|
|
6621
|
-
* -
|
|
6570
|
+
* - The filter receives `(element, index)`.
|
|
6622
6571
|
*
|
|
6623
|
-
* **Example** (Partitioning
|
|
6572
|
+
* **Example** (Partitioning with a filter)
|
|
6624
6573
|
*
|
|
6625
6574
|
* ```ts
|
|
6626
|
-
* import { Array } from "effect"
|
|
6575
|
+
* import { Array, Result } from "effect"
|
|
6627
6576
|
*
|
|
6628
|
-
* console.log(Array.partition([1, 2, 3
|
|
6577
|
+
* console.log(Array.partition([1, -2, 3], (n, i) =>
|
|
6578
|
+
* n > 0 ? Result.succeed(n + i) : Result.fail(`negative:${n}`)
|
|
6579
|
+
* ))
|
|
6580
|
+
* // [["negative:-2"], [1, 5]]
|
|
6629
6581
|
* ```
|
|
6630
6582
|
*
|
|
6631
6583
|
* @see {@link filter} — keep only matching elements
|
|
6632
6584
|
* @see {@link partitionMap} — partition using a Result-returning function
|
|
6633
6585
|
*
|
|
6634
|
-
* Also accepts a `Filter` to split elements with custom pass/fail payloads.
|
|
6635
|
-
*
|
|
6636
6586
|
* @category filtering
|
|
6637
6587
|
* @since 2.0.0
|
|
6638
6588
|
*/
|
|
6639
6589
|
export const partition: {
|
|
6640
6590
|
/**
|
|
6641
|
-
* Splits an iterable
|
|
6642
|
-
* elements that satisfy it.
|
|
6591
|
+
* Splits an iterable using a `Filter` into failures and successes.
|
|
6643
6592
|
*
|
|
6644
6593
|
* - Returns `[excluded, satisfying]`.
|
|
6645
|
-
* -
|
|
6594
|
+
* - The filter receives `(element, index)`.
|
|
6646
6595
|
*
|
|
6647
|
-
* **Example** (Partitioning
|
|
6596
|
+
* **Example** (Partitioning with a filter)
|
|
6648
6597
|
*
|
|
6649
6598
|
* ```ts
|
|
6650
|
-
* import { Array } from "effect"
|
|
6651
|
-
*
|
|
6652
|
-
* console.log(Array.partition([1, 2, 3, 4], (n) => n % 2 === 0)) // [[1, 3], [2, 4]]
|
|
6653
|
-
* ```
|
|
6654
|
-
*
|
|
6655
|
-
* @see {@link filter} — keep only matching elements
|
|
6656
|
-
* @see {@link partitionMap} — partition using a Result-returning function
|
|
6657
|
-
*
|
|
6658
|
-
* Also accepts a `Filter` to split elements with custom pass/fail payloads.
|
|
6659
|
-
*
|
|
6660
|
-
* @category filtering
|
|
6661
|
-
* @since 2.0.0
|
|
6662
|
-
*/
|
|
6663
|
-
<A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (
|
|
6664
|
-
self: Iterable<A>
|
|
6665
|
-
) => [excluded: Array<Exclude<A, B>>, satisfying: Array<B>]
|
|
6666
|
-
/**
|
|
6667
|
-
* Splits an iterable into two arrays: elements that fail the predicate and
|
|
6668
|
-
* elements that satisfy it.
|
|
6669
|
-
*
|
|
6670
|
-
* - Returns `[excluded, satisfying]`.
|
|
6671
|
-
* - Supports refinements for type narrowing.
|
|
6672
|
-
*
|
|
6673
|
-
* **Example** (Partitioning by predicate)
|
|
6674
|
-
*
|
|
6675
|
-
* ```ts
|
|
6676
|
-
* import { Array } from "effect"
|
|
6677
|
-
*
|
|
6678
|
-
* console.log(Array.partition([1, 2, 3, 4], (n) => n % 2 === 0)) // [[1, 3], [2, 4]]
|
|
6679
|
-
* ```
|
|
6680
|
-
*
|
|
6681
|
-
* @see {@link filter} — keep only matching elements
|
|
6682
|
-
* @see {@link partitionMap} — partition using a Result-returning function
|
|
6683
|
-
*
|
|
6684
|
-
* Also accepts a `Filter` to split elements with custom pass/fail payloads.
|
|
6685
|
-
*
|
|
6686
|
-
* @category filtering
|
|
6687
|
-
* @since 2.0.0
|
|
6688
|
-
*/
|
|
6689
|
-
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: Iterable<A>) => [excluded: Array<A>, satisfying: Array<A>]
|
|
6690
|
-
/**
|
|
6691
|
-
* Splits an iterable into two arrays: elements that fail the predicate and
|
|
6692
|
-
* elements that satisfy it.
|
|
6693
|
-
*
|
|
6694
|
-
* - Returns `[excluded, satisfying]`.
|
|
6695
|
-
* - Supports refinements for type narrowing.
|
|
6696
|
-
*
|
|
6697
|
-
* **Example** (Partitioning by predicate)
|
|
6698
|
-
*
|
|
6699
|
-
* ```ts
|
|
6700
|
-
* import { Array } from "effect"
|
|
6701
|
-
*
|
|
6702
|
-
* console.log(Array.partition([1, 2, 3, 4], (n) => n % 2 === 0)) // [[1, 3], [2, 4]]
|
|
6703
|
-
* ```
|
|
6704
|
-
*
|
|
6705
|
-
* @see {@link filter} — keep only matching elements
|
|
6706
|
-
* @see {@link partitionMap} — partition using a Result-returning function
|
|
6707
|
-
*
|
|
6708
|
-
* Also accepts a `Filter` to split elements with custom pass/fail payloads.
|
|
6709
|
-
*
|
|
6710
|
-
* @category filtering
|
|
6711
|
-
* @since 2.0.0
|
|
6712
|
-
*/
|
|
6713
|
-
<A, Pass, Fail>(f: Filter.Filter<A, Pass, Fail>): (self: Iterable<A>) => [excluded: Array<Fail>, satisfying: Array<Pass>]
|
|
6714
|
-
/**
|
|
6715
|
-
* Splits an iterable into two arrays: elements that fail the predicate and
|
|
6716
|
-
* elements that satisfy it.
|
|
6717
|
-
*
|
|
6718
|
-
* - Returns `[excluded, satisfying]`.
|
|
6719
|
-
* - Supports refinements for type narrowing.
|
|
6720
|
-
*
|
|
6721
|
-
* **Example** (Partitioning by predicate)
|
|
6722
|
-
*
|
|
6723
|
-
* ```ts
|
|
6724
|
-
* import { Array } from "effect"
|
|
6725
|
-
*
|
|
6726
|
-
* console.log(Array.partition([1, 2, 3, 4], (n) => n % 2 === 0)) // [[1, 3], [2, 4]]
|
|
6727
|
-
* ```
|
|
6728
|
-
*
|
|
6729
|
-
* @see {@link filter} — keep only matching elements
|
|
6730
|
-
* @see {@link partitionMap} — partition using a Result-returning function
|
|
6731
|
-
*
|
|
6732
|
-
* Also accepts a `Filter` to split elements with custom pass/fail payloads.
|
|
6733
|
-
*
|
|
6734
|
-
* @category filtering
|
|
6735
|
-
* @since 2.0.0
|
|
6736
|
-
*/
|
|
6737
|
-
<A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): [excluded: Array<Exclude<A, B>>, satisfying: Array<B>]
|
|
6738
|
-
/**
|
|
6739
|
-
* Splits an iterable into two arrays: elements that fail the predicate and
|
|
6740
|
-
* elements that satisfy it.
|
|
6741
|
-
*
|
|
6742
|
-
* - Returns `[excluded, satisfying]`.
|
|
6743
|
-
* - Supports refinements for type narrowing.
|
|
6744
|
-
*
|
|
6745
|
-
* **Example** (Partitioning by predicate)
|
|
6746
|
-
*
|
|
6747
|
-
* ```ts
|
|
6748
|
-
* import { Array } from "effect"
|
|
6599
|
+
* import { Array, Result } from "effect"
|
|
6749
6600
|
*
|
|
6750
|
-
* console.log(Array.partition([1, 2, 3
|
|
6601
|
+
* console.log(Array.partition([1, -2, 3], (n, i) =>
|
|
6602
|
+
* n > 0 ? Result.succeed(n + i) : Result.fail(`negative:${n}`)
|
|
6603
|
+
* ))
|
|
6604
|
+
* // [["negative:-2"], [1, 5]]
|
|
6751
6605
|
* ```
|
|
6752
6606
|
*
|
|
6753
6607
|
* @see {@link filter} — keep only matching elements
|
|
6754
6608
|
* @see {@link partitionMap} — partition using a Result-returning function
|
|
6755
6609
|
*
|
|
6756
|
-
* Also accepts a `Filter` to split elements with custom pass/fail payloads.
|
|
6757
|
-
*
|
|
6758
6610
|
* @category filtering
|
|
6759
6611
|
* @since 2.0.0
|
|
6760
6612
|
*/
|
|
6761
|
-
<A>(
|
|
6613
|
+
<A, Pass, Fail>(f: (input: NoInfer<A>, i: number) => Result.Result<Pass, Fail>): (self: Iterable<A>) => [excluded: Array<Fail>, satisfying: Array<Pass>]
|
|
6762
6614
|
/**
|
|
6763
|
-
* Splits an iterable
|
|
6764
|
-
* elements that satisfy it.
|
|
6615
|
+
* Splits an iterable using a `Filter` into failures and successes.
|
|
6765
6616
|
*
|
|
6766
6617
|
* - Returns `[excluded, satisfying]`.
|
|
6767
|
-
* -
|
|
6618
|
+
* - The filter receives `(element, index)`.
|
|
6768
6619
|
*
|
|
6769
|
-
* **Example** (Partitioning
|
|
6620
|
+
* **Example** (Partitioning with a filter)
|
|
6770
6621
|
*
|
|
6771
6622
|
* ```ts
|
|
6772
|
-
* import { Array } from "effect"
|
|
6623
|
+
* import { Array, Result } from "effect"
|
|
6773
6624
|
*
|
|
6774
|
-
* console.log(Array.partition([1, 2, 3
|
|
6625
|
+
* console.log(Array.partition([1, -2, 3], (n, i) =>
|
|
6626
|
+
* n > 0 ? Result.succeed(n + i) : Result.fail(`negative:${n}`)
|
|
6627
|
+
* ))
|
|
6628
|
+
* // [["negative:-2"], [1, 5]]
|
|
6775
6629
|
* ```
|
|
6776
6630
|
*
|
|
6777
6631
|
* @see {@link filter} — keep only matching elements
|
|
6778
6632
|
* @see {@link partitionMap} — partition using a Result-returning function
|
|
6779
6633
|
*
|
|
6780
|
-
* Also accepts a `Filter` to split elements with custom pass/fail payloads.
|
|
6781
|
-
*
|
|
6782
6634
|
* @category filtering
|
|
6783
6635
|
* @since 2.0.0
|
|
6784
6636
|
*/
|
|
6785
|
-
<A, Pass, Fail>(self: Iterable<A>, f:
|
|
6637
|
+
<A, Pass, Fail>(self: Iterable<A>, f: (input: A, i: number) => Result.Result<Pass, Fail>): [excluded: Array<Fail>, satisfying: Array<Pass>]
|
|
6786
6638
|
} = dual(
|
|
6787
6639
|
2,
|
|
6788
|
-
<A>(
|
|
6640
|
+
<A, Pass, Fail>(
|
|
6789
6641
|
self: Iterable<A>,
|
|
6790
|
-
f:
|
|
6791
|
-
): [excluded: Array<
|
|
6792
|
-
const excluded: Array<
|
|
6793
|
-
const satisfying: Array<
|
|
6794
|
-
|
|
6795
|
-
for (
|
|
6796
|
-
const result = f(
|
|
6797
|
-
if (result
|
|
6798
|
-
|
|
6799
|
-
else
|
|
6800
|
-
|
|
6642
|
+
f: (input: A, i: number) => Result.Result<Pass, Fail>
|
|
6643
|
+
): [excluded: Array<Fail>, satisfying: Array<Pass>] => {
|
|
6644
|
+
const excluded: Array<Fail> = []
|
|
6645
|
+
const satisfying: Array<Pass> = []
|
|
6646
|
+
let i = 0
|
|
6647
|
+
for (const a of self) {
|
|
6648
|
+
const result = f(a, i++)
|
|
6649
|
+
if (Result.isSuccess(result)) {
|
|
6650
|
+
satisfying.push(result.success)
|
|
6651
|
+
} else {
|
|
6652
|
+
excluded.push(result.failure)
|
|
6653
|
+
}
|
|
6801
6654
|
}
|
|
6802
6655
|
return [excluded, satisfying]
|
|
6803
6656
|
}
|
|
@@ -6831,7 +6684,7 @@ export const separate: <T extends Iterable<Result.Result<any, any>>>(
|
|
|
6831
6684
|
) => [
|
|
6832
6685
|
failures: Array<Result.Result.Failure<ReadonlyArray.Infer<T>>>,
|
|
6833
6686
|
successes: Array<Result.Result.Success<ReadonlyArray.Infer<T>>>
|
|
6834
|
-
] =
|
|
6687
|
+
] = partition(identity)
|
|
6835
6688
|
|
|
6836
6689
|
/**
|
|
6837
6690
|
* Folds an iterable from left to right into a single value.
|
|
@@ -7523,14 +7376,15 @@ export const max: {
|
|
|
7523
7376
|
|
|
7524
7377
|
/**
|
|
7525
7378
|
* Builds an array by repeatedly applying a function to a seed value. The
|
|
7526
|
-
* function returns `[element, nextSeed]` to continue, or
|
|
7379
|
+
* function returns `Option.some([element, nextSeed])` to continue, or
|
|
7380
|
+
* `Option.none()` to stop.
|
|
7527
7381
|
*
|
|
7528
7382
|
* **Example** (Generating a sequence)
|
|
7529
7383
|
*
|
|
7530
7384
|
* ```ts
|
|
7531
|
-
* import { Array } from "effect"
|
|
7385
|
+
* import { Array, Option } from "effect"
|
|
7532
7386
|
*
|
|
7533
|
-
* console.log(Array.unfold(1, (n) => n <= 5 ? [n, n + 1] :
|
|
7387
|
+
* console.log(Array.unfold(1, (n) => n <= 5 ? Option.some([n, n + 1]) : Option.none()))
|
|
7534
7388
|
* // [1, 2, 3, 4, 5]
|
|
7535
7389
|
* ```
|
|
7536
7390
|
*
|
|
@@ -7540,12 +7394,15 @@ export const max: {
|
|
|
7540
7394
|
* @category constructors
|
|
7541
7395
|
* @since 2.0.0
|
|
7542
7396
|
*/
|
|
7543
|
-
export const unfold = <B, A>(b: B, f: (b: B) => readonly [A, B]
|
|
7397
|
+
export const unfold = <B, A>(b: B, f: (b: B) => Option.Option<readonly [A, B]>): Array<A> => {
|
|
7544
7398
|
const out: Array<A> = []
|
|
7545
7399
|
let next: B = b
|
|
7546
|
-
|
|
7547
|
-
|
|
7548
|
-
|
|
7400
|
+
while (true) {
|
|
7401
|
+
const o = f(next)
|
|
7402
|
+
if (Option.isNone(o)) {
|
|
7403
|
+
break
|
|
7404
|
+
}
|
|
7405
|
+
const [a, b] = o.value
|
|
7549
7406
|
out.push(a)
|
|
7550
7407
|
next = b
|
|
7551
7408
|
}
|