effect 4.0.0-beta.102 → 4.0.0-beta.103
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 +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +381 -407
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +433 -756
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +200 -325
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +207 -267
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +107 -135
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +146 -188
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +64 -84
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +405 -254
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +166 -101
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +167 -277
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +122 -176
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +729 -768
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +514 -440
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +834 -1173
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +326 -439
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +180 -49
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +96 -31
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +20 -33
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +18 -30
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +225 -173
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +336 -265
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +194 -68
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +115 -80
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +233 -33
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +232 -32
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +151 -274
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +171 -214
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +68 -77
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +57 -66
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +13 -15
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +9 -10
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +60 -80
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +16 -23
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +562 -660
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +307 -362
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +253 -256
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +104 -96
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +216 -308
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +132 -186
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2841 -3247
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1322 -1546
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +22 -40
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +22 -40
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +33 -37
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +29 -21
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +103 -105
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +77 -79
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +51 -27
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +50 -26
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +13 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -28
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +116 -192
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +82 -130
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +82 -146
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +48 -87
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +152 -105
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +106 -73
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +213 -168
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +114 -89
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +123 -81
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +85 -59
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +153 -264
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +42 -147
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +61 -33
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +26 -15
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +25 -33
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +48 -49
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +76 -145
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +40 -57
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +360 -714
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +168 -297
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +12 -6
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +47 -83
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +46 -68
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +319 -411
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +122 -166
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +1 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +177 -284
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +68 -109
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +12 -12
- package/dist/Inspectable.js +8 -8
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +620 -786
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +228 -306
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +11 -13
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +44 -102
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +8 -8
- package/dist/JsonPointer.js +8 -8
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +98 -44
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +297 -234
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +23 -35
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +16 -28
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +359 -260
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +195 -175
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +42 -29
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +31 -21
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +6 -2
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +6 -2
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +114 -214
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +41 -76
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +218 -467
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +204 -450
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +7 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +7 -5
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +217 -252
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +150 -183
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +442 -993
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +198 -642
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +144 -173
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +68 -79
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +84 -89
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +44 -47
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +71 -370
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +59 -284
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +420 -243
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +209 -120
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +21 -14
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +15 -13
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +7 -137
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +5 -93
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +196 -233
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +90 -109
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +97 -189
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +187 -290
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +447 -812
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +211 -392
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +109 -109
- package/dist/Order.js +91 -91
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +20 -23
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +8 -9
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +38 -41
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +3 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +6 -5
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +2 -2
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +3 -3
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +4 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -2
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +200 -181
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +100 -108
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +7 -7
- package/dist/PrimaryKey.js +5 -5
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +425 -494
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +373 -362
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +24 -18
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +11 -9
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +200 -159
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +162 -132
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +49 -74
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +35 -54
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +121 -63
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +42 -21
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +24 -13
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +15 -9
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +291 -488
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +111 -202
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -2
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +7 -2
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +25 -25
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +19 -20
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +8 -15
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +6 -12
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +95 -165
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +75 -122
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +102 -168
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -168
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +10 -14
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +10 -14
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +31 -21
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +16 -13
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +201 -90
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +87 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +302 -470
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +133 -217
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +50 -75
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +39 -60
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +290 -1636
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +162 -803
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +5 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +18 -6
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +644 -642
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +491 -527
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +27 -50
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +366 -279
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.d.ts +7 -6
- package/dist/SchemaError.d.ts.map +1 -1
- package/dist/SchemaError.js +7 -6
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +217 -174
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +218 -185
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +62 -190
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +73 -265
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +2 -2
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +123 -75
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +22 -36
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -26
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +114 -74
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +120 -85
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +123 -151
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +72 -92
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +3 -3
- package/dist/ScopedRef.js +2 -2
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +96 -10
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +78 -39
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +117 -107
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +107 -100
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +1 -1
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +2415 -2949
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1078 -1381
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +262 -308
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +184 -215
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +109 -114
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +41 -50
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +282 -250
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +104 -92
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +3 -3
- package/dist/Symbol.js +3 -3
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +100 -54
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +41 -24
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +287 -679
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +109 -251
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +92 -127
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +42 -57
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +201 -121
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +85 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +62 -46
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +30 -22
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +631 -779
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +268 -330
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +297 -236
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +130 -100
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +126 -95
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +74 -56
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +101 -88
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +87 -66
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +200 -180
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +160 -136
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +97 -66
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +67 -45
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +51 -32
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +23 -15
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +129 -95
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +85 -70
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +97 -70
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +44 -34
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +126 -67
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +45 -65
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +6 -9
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +23 -16
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +3 -7
- package/dist/Utils.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +4 -0
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/doNotation.js.map +1 -1
- package/dist/internal/effect.js +77 -40
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/persistence.d.ts +2 -0
- package/dist/internal/persistence.d.ts.map +1 -0
- package/dist/internal/persistence.js +3 -0
- package/dist/internal/persistence.js.map +1 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +8 -15
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/parser.d.ts +14 -0
- package/dist/internal/schema/parser.d.ts.map +1 -0
- package/dist/internal/schema/parser.js +13 -0
- package/dist/internal/schema/parser.js.map +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/toArbitrary.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +87 -107
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +13 -9
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +8 -7
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +8 -7
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +57 -28
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +50 -18
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +29 -29
- package/dist/testing/TestSchema.js +25 -25
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +95 -118
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +94 -117
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +132 -97
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +55 -51
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +32 -28
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +26 -21
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +107 -67
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +104 -64
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpProtocol.d.ts +30 -0
- package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/McpProtocol.js +20 -0
- package/dist/unstable/ai/McpProtocol.js.map +1 -0
- package/dist/unstable/ai/McpSchema.d.ts +141 -75
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +58 -50
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -59
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +694 -241
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +8 -19
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -20
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +112 -38
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +53 -17
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +28 -14
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +9 -4
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +46 -13
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +18 -7
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -3
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +59 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +48 -39
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +26 -8
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +18 -4
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +4 -0
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +4 -0
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
- package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
- package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +14 -15
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +273 -69
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +111 -33
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliConfig.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +69 -76
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +57 -61
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +35 -54
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -42
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +705 -107
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +238 -42
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +292 -78
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +128 -46
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +370 -149
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +344 -136
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -14
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +23 -14
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js +17 -7
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +2 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
- package/dist/unstable/cluster/ClusterSchema.js +8 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +8 -8
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +4 -2
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/Envelope.js +3 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +6 -4
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +9 -9
- package/dist/unstable/cluster/Message.js +6 -6
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
- package/dist/unstable/cluster/MessageStorage.js +5 -5
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -4
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +1 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +16 -16
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
- package/dist/unstable/cluster/RunnerStorage.js +1 -1
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +6 -6
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +19 -10
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +3 -2
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
- package/dist/unstable/cluster/ShardingConfig.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +8 -8
- package/dist/unstable/cluster/Snowflake.js +8 -8
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/index.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -5
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/devtools/index.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +6 -8
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +72 -8
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +58 -8
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +20 -20
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
- package/dist/unstable/eventlog/EventJournal.js +13 -13
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
- package/dist/unstable/eventlog/EventLogRemote.js +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +45 -21
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +30 -18
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +1 -1
- package/dist/unstable/http/Etag.js +1 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +2 -2
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +5 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +11 -5
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +51 -44
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +46 -17
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +2 -0
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +2 -2
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.js +3 -3
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +6 -9
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +6 -9
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +164 -39
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +76 -0
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +32 -0
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +88 -89
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +78 -79
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +13 -13
- package/dist/unstable/http/HttpServer.js +6 -6
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -2
- package/dist/unstable/http/HttpServerError.js +2 -2
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.js +4 -4
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +10 -0
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +35 -7
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.js +5 -5
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +33 -63
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +14 -28
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +10 -18
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +9 -17
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.d.ts +2 -0
- package/dist/unstable/http/internal/compression.d.ts.map +1 -0
- package/dist/unstable/http/internal/compression.js +155 -0
- package/dist/unstable/http/internal/compression.js.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +11 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.js +13 -13
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
- 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 -6
- package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
- package/dist/unstable/httpapi/OpenApi.js +13 -13
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/index.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +17 -4
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +16 -7
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +21 -12
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +10 -3
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +3 -0
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +22 -13
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +8 -8
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
- package/dist/unstable/persistence/PersistedQueue.js +6 -6
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +3 -3
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +91 -15
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +24 -13
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.js +1 -1
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +64 -21
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +14 -5
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +10 -10
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +25 -22
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +14 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +4 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +1 -1
- package/dist/unstable/reactivity/Hydration.js +1 -1
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +35 -33
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +12 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +12 -11
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
- package/dist/unstable/rpc/RpcGroup.js +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +6 -6
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +175 -96
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +13 -13
- package/dist/unstable/rpc/RpcServer.js +17 -13
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +52 -50
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +35 -33
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +5 -5
- package/dist/unstable/schema/VariantSchema.js +2 -2
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +11 -3
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -4
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/socket/index.js.map +1 -1
- 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 +2 -2
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.js +2 -2
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +5 -5
- package/dist/unstable/sql/SqlResolver.js +2 -2
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +6 -6
- package/dist/unstable/sql/Statement.js +15 -15
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.js +2 -2
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +6 -6
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
- package/dist/unstable/workers/WorkerRunner.js +1 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +2 -2
- package/dist/unstable/workflow/Activity.js +2 -2
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
- package/dist/unstable/workflow/DurableDeferred.js +5 -5
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +22 -20
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +21 -21
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +13 -14
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.js.map +1 -1
- package/dist/unstable/workflow/internal/crypto.js.map +1 -1
- package/package.json +5 -6
- package/src/Array.ts +982 -1045
- package/src/BigDecimal.ts +433 -756
- package/src/BigInt.ts +213 -269
- package/src/Boolean.ts +146 -188
- package/src/Cache.ts +409 -255
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +891 -816
- package/src/ChannelSchema.ts +1 -1
- package/src/Chunk.ts +841 -1181
- package/src/Clock.ts +181 -49
- package/src/Combiner.ts +20 -33
- package/src/Config.ts +615 -332
- package/src/ConfigProvider.ts +214 -120
- package/src/Console.ts +289 -39
- package/src/Context.ts +319 -378
- package/src/Cron.ts +68 -77
- package/src/Crypto.ts +13 -15
- package/src/Data.ts +60 -80
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +216 -308
- package/src/Effect.ts +2893 -3279
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +49 -39
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +13 -55
- package/src/Exit.ts +116 -192
- package/src/Fiber.ts +81 -148
- package/src/FiberHandle.ts +152 -105
- package/src/FiberMap.ts +225 -174
- package/src/FiberSet.ts +124 -82
- package/src/FileSystem.ts +155 -263
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +54 -56
- package/src/Function.ts +76 -145
- package/src/Graph.ts +416 -770
- package/src/HKT.ts +12 -6
- package/src/Hash.ts +52 -83
- package/src/HashMap.ts +319 -411
- package/src/HashRing.ts +1 -0
- package/src/HashSet.ts +177 -284
- package/src/Inspectable.ts +12 -12
- package/src/Iterable.ts +620 -786
- package/src/JsonPatch.ts +58 -112
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +402 -244
- package/src/Latch.ts +23 -35
- package/src/Layer.ts +359 -260
- package/src/LayerMap.ts +49 -29
- package/src/LayerRef.ts +6 -2
- package/src/LogLevel.ts +114 -214
- package/src/Logger.ts +344 -697
- package/src/ManagedRuntime.ts +7 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +516 -1089
- package/src/MutableHashMap.ts +218 -255
- package/src/MutableHashSet.ts +84 -89
- package/src/MutableList.ts +73 -370
- package/src/MutableRef.ts +420 -243
- package/src/Newtype.ts +21 -14
- package/src/NonEmptyIterable.ts +7 -137
- package/src/Number.ts +196 -233
- package/src/Optic.ts +243 -383
- package/src/Option.ts +447 -812
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/Path.ts +38 -41
- package/src/Pipeable.ts +6 -5
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +4 -2
- package/src/Predicate.ts +200 -181
- package/src/PrimaryKey.ts +7 -7
- package/src/PubSub.ts +526 -552
- package/src/Pull.ts +24 -18
- package/src/Queue.ts +200 -159
- package/src/Random.ts +49 -74
- package/src/RcMap.ts +121 -63
- package/src/RcRef.ts +24 -13
- package/src/Record.ts +291 -488
- package/src/Redactable.ts +10 -3
- package/src/Redacted.ts +25 -25
- package/src/Reducer.ts +8 -15
- package/src/Ref.ts +221 -361
- package/src/References.ts +102 -168
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +31 -21
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +312 -484
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +308 -1734
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +716 -745
- package/src/SchemaAST.ts +466 -358
- package/src/SchemaError.ts +7 -6
- package/src/SchemaGetter.ts +242 -190
- package/src/SchemaIssue.ts +89 -275
- package/src/SchemaParser.ts +180 -93
- package/src/SchemaRepresentation.ts +22 -40
- package/src/SchemaTransformation.ts +129 -88
- package/src/Scope.ts +123 -151
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +152 -51
- package/src/Sink.ts +128 -113
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2602 -3123
- package/src/String.ts +275 -312
- package/src/Struct.ts +109 -114
- package/src/SubscriptionRef.ts +284 -252
- package/src/Symbol.ts +3 -3
- package/src/Terminal.ts +2 -2
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +92 -127
- package/src/TxChunk.ts +201 -121
- package/src/TxDeferred.ts +62 -46
- package/src/TxHashMap.ts +645 -799
- package/src/TxHashSet.ts +443 -356
- package/src/TxPriorityQueue.ts +130 -98
- package/src/TxPubSub.ts +107 -80
- package/src/TxQueue.ts +214 -183
- package/src/TxReentrantLock.ts +97 -66
- package/src/TxRef.ts +51 -32
- package/src/TxSemaphore.ts +129 -95
- package/src/TxSubscriptionRef.ts +97 -70
- package/src/Types.ts +126 -67
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/internal/core.ts +2 -2
- package/src/internal/dateTime.ts +6 -0
- package/src/internal/effect.ts +93 -48
- package/src/internal/persistence.ts +2 -0
- package/src/internal/references.ts +3 -2
- package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
- package/src/internal/schema/fromRepresentation.ts +10 -16
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
- package/src/internal/schema/toRepresentation.ts +104 -119
- package/src/internal/trie.ts +10 -11
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +72 -30
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +29 -29
- package/src/unstable/ai/AiError.ts +95 -118
- package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
- package/src/unstable/ai/Chat.ts +132 -97
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +107 -67
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +60 -50
- package/src/unstable/ai/McpServer.ts +930 -304
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
- package/src/unstable/ai/Prompt.ts +145 -43
- package/src/unstable/ai/Response.ts +28 -14
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +59 -44
- package/src/unstable/ai/Toolkit.ts +26 -8
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
- package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
- package/src/unstable/ai/internal/structured-output.ts +13 -18
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +69 -76
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +705 -107
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +1 -1
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +292 -78
- package/src/unstable/cli/Primitive.ts +370 -149
- package/src/unstable/cli/Prompt.ts +28 -14
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
- package/src/unstable/cluster/Entity.ts +15 -16
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +6 -4
- package/src/unstable/cluster/Message.ts +9 -9
- package/src/unstable/cluster/MessageStorage.ts +15 -15
- package/src/unstable/cluster/Reply.ts +4 -6
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +41 -8
- package/src/unstable/cluster/RunnerStorage.ts +2 -2
- package/src/unstable/cluster/Runners.ts +23 -12
- package/src/unstable/cluster/Sharding.ts +7 -8
- package/src/unstable/cluster/ShardingConfig.ts +3 -3
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
- package/src/unstable/cluster/internal/entityManager.ts +11 -15
- package/src/unstable/encoding/Msgpack.ts +6 -8
- package/src/unstable/encoding/Sse.ts +98 -16
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +15 -15
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +2 -2
- package/src/unstable/eventlog/EventLogRemote.ts +1 -1
- package/src/unstable/eventlog/EventLogServer.ts +41 -7
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- package/src/unstable/http/Cookies.ts +35 -21
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientRequest.ts +2 -0
- package/src/unstable/http/HttpClientResponse.ts +4 -4
- package/src/unstable/http/HttpEffect.ts +8 -8
- package/src/unstable/http/HttpMethod.ts +6 -9
- package/src/unstable/http/HttpMiddleware.ts +202 -39
- package/src/unstable/http/HttpPlatform.ts +95 -0
- package/src/unstable/http/HttpRouter.ts +102 -98
- package/src/unstable/http/HttpServer.ts +13 -13
- package/src/unstable/http/HttpServerError.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +4 -4
- package/src/unstable/http/HttpServerResponse.ts +30 -0
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +6 -6
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +10 -18
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
- package/src/unstable/httpapi/HttpApiClient.ts +14 -14
- package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
- package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
- package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
- package/src/unstable/httpapi/OpenApi.ts +13 -13
- package/src/unstable/observability/OtlpExporter.ts +31 -19
- package/src/unstable/observability/OtlpMetrics.ts +4 -1
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/PrometheusMetrics.ts +13 -4
- package/src/unstable/observability/internal/otlpEnv.ts +1 -1
- package/src/unstable/observability/internal/protobuf.ts +3 -0
- package/src/unstable/persistence/KeyValueStore.ts +72 -49
- package/src/unstable/persistence/Persistable.ts +8 -8
- package/src/unstable/persistence/PersistedQueue.ts +6 -6
- package/src/unstable/persistence/Persistence.ts +126 -19
- package/src/unstable/persistence/RateLimiter.ts +26 -15
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +21 -10
- package/src/unstable/reactivity/AsyncResult.ts +12 -13
- package/src/unstable/reactivity/Atom.ts +28 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +24 -3
- package/src/unstable/reactivity/AtomRpc.ts +5 -4
- package/src/unstable/reactivity/Hydration.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +35 -33
- package/src/unstable/rpc/RpcClient.ts +16 -15
- package/src/unstable/rpc/RpcGroup.ts +8 -8
- package/src/unstable/rpc/RpcMessage.ts +31 -30
- package/src/unstable/rpc/RpcMiddleware.ts +10 -10
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +167 -68
- package/src/unstable/rpc/RpcServer.ts +18 -15
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/schema/Model.ts +52 -50
- package/src/unstable/schema/VariantSchema.ts +5 -5
- package/src/unstable/socket/Socket.ts +17 -4
- package/src/unstable/sql/SqlClient.ts +5 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +5 -5
- package/src/unstable/sql/Statement.ts +24 -23
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +2 -2
- package/src/unstable/workers/WorkerError.ts +7 -7
- package/src/unstable/workers/WorkerRunner.ts +1 -1
- package/src/unstable/workflow/Activity.ts +2 -2
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +10 -10
- package/src/unstable/workflow/DurableQueue.ts +22 -20
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +1 -1
- package/src/unstable/workflow/WorkflowProxy.ts +4 -2
- package/dist/internal/version.d.ts +0 -3
- package/dist/internal/version.d.ts.map +0 -1
- package/dist/internal/version.js +0 -2
- package/dist/internal/version.js.map +0 -1
- package/src/internal/version.ts +0 -2
package/dist/Chunk.js
CHANGED
|
@@ -35,7 +35,7 @@ const emptyArray = [];
|
|
|
35
35
|
*
|
|
36
36
|
* **Example** (Comparing chunks for equivalence)
|
|
37
37
|
*
|
|
38
|
-
* ```ts
|
|
38
|
+
* ```ts import.meta.vitest
|
|
39
39
|
* import { Chunk, Equivalence } from "effect"
|
|
40
40
|
*
|
|
41
41
|
* const chunk1 = Chunk.make(1, 2, 3)
|
|
@@ -43,8 +43,8 @@ const emptyArray = [];
|
|
|
43
43
|
* const chunk3 = Chunk.make(1, 2, 4)
|
|
44
44
|
*
|
|
45
45
|
* const eq = Chunk.makeEquivalence(Equivalence.strictEqual<number>())
|
|
46
|
-
*
|
|
47
|
-
*
|
|
46
|
+
* eq(chunk1, chunk2) // => true
|
|
47
|
+
* eq(chunk1, chunk3) // => false
|
|
48
48
|
* ```
|
|
49
49
|
*
|
|
50
50
|
* @category instances
|
|
@@ -146,18 +146,18 @@ const makeChunk = backing => {
|
|
|
146
146
|
*
|
|
147
147
|
* **Example** (Checking for chunks)
|
|
148
148
|
*
|
|
149
|
-
* ```ts
|
|
149
|
+
* ```ts import.meta.vitest
|
|
150
150
|
* import { Chunk } from "effect"
|
|
151
151
|
*
|
|
152
152
|
* const chunk = Chunk.make(1, 2, 3)
|
|
153
153
|
* const array = [1, 2, 3]
|
|
154
154
|
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
155
|
+
* Chunk.isChunk(chunk) // => true
|
|
156
|
+
* Chunk.isChunk(array) // => false
|
|
157
|
+
* Chunk.isChunk("string") // => false
|
|
158
158
|
* ```
|
|
159
159
|
*
|
|
160
|
-
* @category
|
|
160
|
+
* @category guards
|
|
161
161
|
* @since 2.0.0
|
|
162
162
|
*/
|
|
163
163
|
export const isChunk = u => hasProperty(u, TypeId);
|
|
@@ -169,11 +169,10 @@ const _empty = /*#__PURE__*/makeChunk({
|
|
|
169
169
|
*
|
|
170
170
|
* **Example** (Creating an empty chunk)
|
|
171
171
|
*
|
|
172
|
-
* ```ts
|
|
172
|
+
* ```ts import.meta.vitest
|
|
173
173
|
* import { Chunk } from "effect"
|
|
174
174
|
*
|
|
175
|
-
*
|
|
176
|
-
* console.log(Chunk.size(emptyChunk)) // 0
|
|
175
|
+
* Chunk.size(Chunk.empty()) // => 0
|
|
177
176
|
* ```
|
|
178
177
|
*
|
|
179
178
|
* @category constructors
|
|
@@ -185,11 +184,10 @@ export const empty = () => _empty;
|
|
|
185
184
|
*
|
|
186
185
|
* **Example** (Creating a non-empty chunk)
|
|
187
186
|
*
|
|
188
|
-
* ```ts
|
|
187
|
+
* ```ts import.meta.vitest
|
|
189
188
|
* import { Chunk } from "effect"
|
|
190
189
|
*
|
|
191
|
-
*
|
|
192
|
-
* console.log(Chunk.toArray(chunk)) // [1, 2, 3, 4]
|
|
190
|
+
* Chunk.toArray(Chunk.make(1, 2, 3, 4)) // => [1, 2, 3, 4]
|
|
193
191
|
* ```
|
|
194
192
|
*
|
|
195
193
|
* @category constructors
|
|
@@ -201,11 +199,10 @@ export const make = (...as) => fromNonEmptyArrayUnsafe(as);
|
|
|
201
199
|
*
|
|
202
200
|
* **Example** (Creating a single-element chunk)
|
|
203
201
|
*
|
|
204
|
-
* ```ts
|
|
202
|
+
* ```ts import.meta.vitest
|
|
205
203
|
* import { Chunk } from "effect"
|
|
206
204
|
*
|
|
207
|
-
*
|
|
208
|
-
* console.log(Chunk.toArray(chunk)) // ["hello"]
|
|
205
|
+
* Chunk.toArray(Chunk.of("hello")) // => ["hello"]
|
|
209
206
|
* ```
|
|
210
207
|
*
|
|
211
208
|
* @category constructors
|
|
@@ -220,11 +217,10 @@ export const of = a => makeChunk({
|
|
|
220
217
|
*
|
|
221
218
|
* **Example** (Creating chunks from iterables)
|
|
222
219
|
*
|
|
223
|
-
* ```ts
|
|
220
|
+
* ```ts import.meta.vitest
|
|
224
221
|
* import { Chunk } from "effect"
|
|
225
222
|
*
|
|
226
|
-
*
|
|
227
|
-
* console.log(Chunk.toArray(chunk)) // [1, 2, 3]
|
|
223
|
+
* Chunk.toArray(Chunk.fromIterable([1, 2, 3])) // => [1, 2, 3]
|
|
228
224
|
* ```
|
|
229
225
|
*
|
|
230
226
|
* @category constructors
|
|
@@ -270,17 +266,16 @@ const toArray_ = self => toReadonlyArray(self).slice();
|
|
|
270
266
|
*
|
|
271
267
|
* **Example** (Converting chunks to mutable arrays)
|
|
272
268
|
*
|
|
273
|
-
* ```ts
|
|
269
|
+
* ```ts import.meta.vitest
|
|
274
270
|
* import { Chunk } from "effect"
|
|
275
271
|
*
|
|
276
272
|
* const chunk = Chunk.make(1, 2, 3)
|
|
277
273
|
* const array = Chunk.toArray(chunk)
|
|
278
|
-
*
|
|
279
|
-
*
|
|
274
|
+
* array // => [1, 2, 3]
|
|
275
|
+
* Array.isArray(array) // => true
|
|
280
276
|
*
|
|
281
277
|
* // With empty chunk
|
|
282
|
-
*
|
|
283
|
-
* console.log(Chunk.toArray(emptyChunk)) // []
|
|
278
|
+
* Chunk.toArray(Chunk.empty<number>()) // => []
|
|
284
279
|
* ```
|
|
285
280
|
*
|
|
286
281
|
* @category converting
|
|
@@ -319,19 +314,18 @@ const toReadonlyArray_ = self => {
|
|
|
319
314
|
*
|
|
320
315
|
* **Example** (Converting chunks to readonly arrays)
|
|
321
316
|
*
|
|
322
|
-
* ```ts
|
|
317
|
+
* ```ts import.meta.vitest
|
|
323
318
|
* import { Chunk } from "effect"
|
|
324
319
|
*
|
|
325
320
|
* const chunk = Chunk.make(1, 2, 3)
|
|
326
321
|
* const readonlyArray = Chunk.toReadonlyArray(chunk)
|
|
327
|
-
*
|
|
322
|
+
* readonlyArray // => [1, 2, 3]
|
|
328
323
|
*
|
|
329
324
|
* // The result is read-only, modifications would cause TypeScript errors
|
|
330
325
|
* // readonlyArray[0] = 10 // TypeScript error
|
|
331
326
|
*
|
|
332
327
|
* // With empty chunk
|
|
333
|
-
*
|
|
334
|
-
* console.log(Chunk.toReadonlyArray(emptyChunk)) // []
|
|
328
|
+
* Chunk.toReadonlyArray(Chunk.empty<number>()) // => []
|
|
335
329
|
* ```
|
|
336
330
|
*
|
|
337
331
|
* @category converting
|
|
@@ -376,16 +370,14 @@ const reverseChunk = self => {
|
|
|
376
370
|
*
|
|
377
371
|
* **Example** (Reversing chunks)
|
|
378
372
|
*
|
|
379
|
-
* ```ts
|
|
373
|
+
* ```ts import.meta.vitest
|
|
380
374
|
* import { Chunk } from "effect"
|
|
381
375
|
*
|
|
382
376
|
* const chunk = Chunk.make(1, 2, 3)
|
|
383
|
-
*
|
|
384
|
-
*
|
|
385
|
-
* console.log(Chunk.toArray(result)) // [3, 2, 1]
|
|
377
|
+
* Chunk.toArray(Chunk.reverse(chunk)) // => [3, 2, 1]
|
|
386
378
|
* ```
|
|
387
379
|
*
|
|
388
|
-
* @category
|
|
380
|
+
* @category transforming
|
|
389
381
|
* @since 2.0.0
|
|
390
382
|
*/
|
|
391
383
|
export const reverse = reverseChunk;
|
|
@@ -395,21 +387,20 @@ export const reverse = reverseChunk;
|
|
|
395
387
|
*
|
|
396
388
|
* **Example** (Accessing elements safely)
|
|
397
389
|
*
|
|
398
|
-
* ```ts
|
|
399
|
-
* import { Chunk } from "effect"
|
|
390
|
+
* ```ts import.meta.vitest
|
|
391
|
+
* import { Chunk, Option } from "effect"
|
|
400
392
|
*
|
|
401
393
|
* const chunk = Chunk.make("a", "b", "c", "d")
|
|
402
394
|
*
|
|
403
|
-
*
|
|
404
|
-
*
|
|
405
|
-
*
|
|
395
|
+
* Chunk.get(chunk, 1) // => Option.some("b")
|
|
396
|
+
* Chunk.get(chunk, 10) // => Option.none()
|
|
397
|
+
* Chunk.get(chunk, -1) // => Option.none()
|
|
406
398
|
*
|
|
407
399
|
* // Using pipe syntax
|
|
408
|
-
*
|
|
409
|
-
* console.log(result) // Option.some("c")
|
|
400
|
+
* chunk.pipe(Chunk.get(2)) // => Option.some("c")
|
|
410
401
|
* ```
|
|
411
402
|
*
|
|
412
|
-
* @category
|
|
403
|
+
* @category getters
|
|
413
404
|
* @since 2.0.0
|
|
414
405
|
*/
|
|
415
406
|
export const get = /*#__PURE__*/dual(2, (self, index) => index < 0 || index >= self.length ? O.none() : O.some(getUnsafe(self, index)));
|
|
@@ -427,16 +418,16 @@ export const get = /*#__PURE__*/dual(2, (self, index) => index < 0 || index >= s
|
|
|
427
418
|
*
|
|
428
419
|
* **Example** (Creating chunks without copying arrays)
|
|
429
420
|
*
|
|
430
|
-
* ```ts
|
|
421
|
+
* ```ts import.meta.vitest
|
|
431
422
|
* import { Chunk } from "effect"
|
|
432
423
|
*
|
|
433
424
|
* const array = [1, 2, 3, 4, 5]
|
|
434
425
|
* const chunk = Chunk.fromArrayUnsafe(array)
|
|
435
|
-
*
|
|
426
|
+
* Chunk.toArray(chunk) // => [1, 2, 3, 4, 5]
|
|
436
427
|
*
|
|
437
428
|
* // Warning: Since this doesn't copy the array, mutations affect the chunk
|
|
438
429
|
* array[0] = 999
|
|
439
|
-
*
|
|
430
|
+
* Chunk.toArray(chunk) // => [999, 2, 3, 4, 5]
|
|
440
431
|
* ```
|
|
441
432
|
*
|
|
442
433
|
* @category unsafe
|
|
@@ -460,15 +451,15 @@ export const fromArrayUnsafe = self => self.length === 0 ? empty() : self.length
|
|
|
460
451
|
*
|
|
461
452
|
* **Example** (Creating non-empty chunks without copying arrays)
|
|
462
453
|
*
|
|
463
|
-
* ```ts
|
|
454
|
+
* ```ts import.meta.vitest
|
|
464
455
|
* import { Array, Chunk } from "effect"
|
|
465
456
|
*
|
|
466
457
|
* const nonEmptyArray = Array.make(1, 2, 3, 4, 5)
|
|
467
458
|
* const chunk = Chunk.fromNonEmptyArrayUnsafe(nonEmptyArray)
|
|
468
|
-
*
|
|
459
|
+
* Chunk.toArray(chunk) // => [1, 2, 3, 4, 5]
|
|
469
460
|
*
|
|
470
461
|
* // The result is guaranteed to be non-empty
|
|
471
|
-
*
|
|
462
|
+
* Chunk.isNonEmpty(chunk) // => true
|
|
472
463
|
* ```
|
|
473
464
|
*
|
|
474
465
|
* @category unsafe
|
|
@@ -489,16 +480,16 @@ export const fromNonEmptyArrayUnsafe = self => fromArrayUnsafe(self);
|
|
|
489
480
|
*
|
|
490
481
|
* **Example** (Accessing elements unsafely)
|
|
491
482
|
*
|
|
492
|
-
* ```ts
|
|
483
|
+
* ```ts import.meta.vitest
|
|
493
484
|
* import { Chunk, Option } from "effect"
|
|
494
485
|
*
|
|
495
486
|
* const chunk = Chunk.make("a", "b", "c", "d")
|
|
496
487
|
*
|
|
497
|
-
*
|
|
498
|
-
*
|
|
488
|
+
* Chunk.getUnsafe(chunk, 1) // => "b"
|
|
489
|
+
* Chunk.getUnsafe(chunk, 3) // => "d"
|
|
499
490
|
*
|
|
500
491
|
* // Use Chunk.get when the index may be out of bounds
|
|
501
|
-
*
|
|
492
|
+
* Option.isNone(Chunk.get(chunk, 10)) // => true
|
|
502
493
|
* ```
|
|
503
494
|
*
|
|
504
495
|
* @category unsafe
|
|
@@ -545,17 +536,15 @@ export const getUnsafe = /*#__PURE__*/dual(2, (self, index) => {
|
|
|
545
536
|
*
|
|
546
537
|
* **Example** (Appending an element)
|
|
547
538
|
*
|
|
548
|
-
* ```ts
|
|
539
|
+
* ```ts import.meta.vitest
|
|
549
540
|
* import { Chunk } from "effect"
|
|
550
541
|
*
|
|
551
542
|
* const chunk = Chunk.make(1, 2, 3)
|
|
552
|
-
*
|
|
553
|
-
* console.log(Chunk.toArray(newChunk)) // [1, 2, 3, 4]
|
|
543
|
+
* Chunk.toArray(Chunk.append(chunk, 4)) // => [1, 2, 3, 4]
|
|
554
544
|
*
|
|
555
545
|
* // Appending to empty chunk
|
|
556
546
|
* const emptyChunk = Chunk.empty<number>()
|
|
557
|
-
*
|
|
558
|
-
* console.log(Chunk.toArray(singleElement)) // [42]
|
|
547
|
+
* Chunk.toArray(Chunk.append(emptyChunk, 42)) // => [42]
|
|
559
548
|
* ```
|
|
560
549
|
*
|
|
561
550
|
* @see {@link prepend} for adding one element before the existing elements
|
|
@@ -570,17 +559,15 @@ export const append = /*#__PURE__*/dual(2, (self, a) => appendAll(self, of(a)));
|
|
|
570
559
|
*
|
|
571
560
|
* **Example** (Prepending an element)
|
|
572
561
|
*
|
|
573
|
-
* ```ts
|
|
562
|
+
* ```ts import.meta.vitest
|
|
574
563
|
* import { Chunk } from "effect"
|
|
575
564
|
*
|
|
576
565
|
* const chunk = Chunk.make(2, 3, 4)
|
|
577
|
-
*
|
|
578
|
-
* console.log(Chunk.toArray(newChunk)) // [1, 2, 3, 4]
|
|
566
|
+
* Chunk.toArray(Chunk.prepend(chunk, 1)) // => [1, 2, 3, 4]
|
|
579
567
|
*
|
|
580
568
|
* // Prepending to empty chunk
|
|
581
569
|
* const emptyChunk = Chunk.empty<string>()
|
|
582
|
-
*
|
|
583
|
-
* console.log(Chunk.toArray(singleElement)) // ["first"]
|
|
570
|
+
* Chunk.toArray(Chunk.prepend(emptyChunk, "first")) // => ["first"]
|
|
584
571
|
* ```
|
|
585
572
|
*
|
|
586
573
|
* @category combining
|
|
@@ -592,18 +579,18 @@ export const prepend = /*#__PURE__*/dual(2, (self, elem) => appendAll(of(elem),
|
|
|
592
579
|
*
|
|
593
580
|
* **Example** (Taking elements from the start)
|
|
594
581
|
*
|
|
595
|
-
* ```ts
|
|
582
|
+
* ```ts import.meta.vitest
|
|
596
583
|
* import { Chunk } from "effect"
|
|
597
584
|
*
|
|
598
585
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
599
|
-
*
|
|
600
|
-
* console.log(Chunk.toArray(result)) // [1, 2, 3]
|
|
586
|
+
* Chunk.toArray(Chunk.take(chunk, 3)) // => [1, 2, 3]
|
|
601
587
|
* ```
|
|
602
588
|
*
|
|
603
|
-
* @category
|
|
589
|
+
* @category filtering
|
|
604
590
|
* @since 2.0.0
|
|
605
591
|
*/
|
|
606
|
-
export const take = /*#__PURE__*/dual(2, (self,
|
|
592
|
+
export const take = /*#__PURE__*/dual(2, (self, _n) => {
|
|
593
|
+
const n = Math.floor(_n);
|
|
607
594
|
if (n <= 0) {
|
|
608
595
|
return _empty;
|
|
609
596
|
} else if (n >= self.length) {
|
|
@@ -647,18 +634,18 @@ export const take = /*#__PURE__*/dual(2, (self, n) => {
|
|
|
647
634
|
*
|
|
648
635
|
* **Example** (Dropping elements from the start)
|
|
649
636
|
*
|
|
650
|
-
* ```ts
|
|
637
|
+
* ```ts import.meta.vitest
|
|
651
638
|
* import { Chunk } from "effect"
|
|
652
639
|
*
|
|
653
640
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
654
|
-
*
|
|
655
|
-
* console.log(Chunk.toArray(result)) // [3, 4, 5]
|
|
641
|
+
* Chunk.toArray(Chunk.drop(chunk, 2)) // => [3, 4, 5]
|
|
656
642
|
* ```
|
|
657
643
|
*
|
|
658
|
-
* @category
|
|
644
|
+
* @category filtering
|
|
659
645
|
* @since 2.0.0
|
|
660
646
|
*/
|
|
661
|
-
export const drop = /*#__PURE__*/dual(2, (self,
|
|
647
|
+
export const drop = /*#__PURE__*/dual(2, (self, _n) => {
|
|
648
|
+
const n = Math.floor(_n);
|
|
662
649
|
if (n <= 0) {
|
|
663
650
|
return self;
|
|
664
651
|
} else if (n >= self.length) {
|
|
@@ -702,15 +689,14 @@ export const drop = /*#__PURE__*/dual(2, (self, n) => {
|
|
|
702
689
|
*
|
|
703
690
|
* **Example** (Dropping elements from the end)
|
|
704
691
|
*
|
|
705
|
-
* ```ts
|
|
692
|
+
* ```ts import.meta.vitest
|
|
706
693
|
* import { Chunk } from "effect"
|
|
707
694
|
*
|
|
708
695
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
709
|
-
*
|
|
710
|
-
* console.log(Chunk.toArray(result)) // [1, 2, 3]
|
|
696
|
+
* Chunk.toArray(Chunk.dropRight(chunk, 2)) // => [1, 2, 3]
|
|
711
697
|
* ```
|
|
712
698
|
*
|
|
713
|
-
* @category
|
|
699
|
+
* @category filtering
|
|
714
700
|
* @since 2.0.0
|
|
715
701
|
*/
|
|
716
702
|
export const dropRight = /*#__PURE__*/dual(2, (self, n) => take(self, Math.max(0, self.length - n)));
|
|
@@ -719,15 +705,14 @@ export const dropRight = /*#__PURE__*/dual(2, (self, n) => take(self, Math.max(0
|
|
|
719
705
|
*
|
|
720
706
|
* **Example** (Dropping elements while a predicate matches)
|
|
721
707
|
*
|
|
722
|
-
* ```ts
|
|
708
|
+
* ```ts import.meta.vitest
|
|
723
709
|
* import { Chunk } from "effect"
|
|
724
710
|
*
|
|
725
711
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
726
|
-
*
|
|
727
|
-
* console.log(Chunk.toArray(result)) // [3, 4, 5]
|
|
712
|
+
* Chunk.toArray(Chunk.dropWhile(chunk, (n) => n < 3)) // => [3, 4, 5]
|
|
728
713
|
* ```
|
|
729
714
|
*
|
|
730
|
-
* @category
|
|
715
|
+
* @category filtering
|
|
731
716
|
* @since 2.0.0
|
|
732
717
|
*/
|
|
733
718
|
export const dropWhile = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
@@ -745,16 +730,13 @@ export const dropWhile = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
|
745
730
|
*
|
|
746
731
|
* **Example** (Prepending all elements)
|
|
747
732
|
*
|
|
748
|
-
* ```ts
|
|
733
|
+
* ```ts import.meta.vitest
|
|
749
734
|
* import { Chunk } from "effect"
|
|
750
735
|
*
|
|
751
|
-
*
|
|
736
|
+
* Chunk.make(1, 2).pipe(
|
|
752
737
|
* Chunk.prependAll(Chunk.make("a", "b")),
|
|
753
738
|
* Chunk.toArray
|
|
754
|
-
* )
|
|
755
|
-
*
|
|
756
|
-
* console.log(result)
|
|
757
|
-
* // [ "a", "b", 1, 2 ]
|
|
739
|
+
* ) // => ["a", "b", 1, 2]
|
|
758
740
|
* ```
|
|
759
741
|
*
|
|
760
742
|
* @category combining
|
|
@@ -772,16 +754,13 @@ export const prependAll = /*#__PURE__*/dual(2, (self, that) => appendAll(that, s
|
|
|
772
754
|
*
|
|
773
755
|
* **Example** (Appending all elements)
|
|
774
756
|
*
|
|
775
|
-
* ```ts
|
|
757
|
+
* ```ts import.meta.vitest
|
|
776
758
|
* import { Chunk } from "effect"
|
|
777
759
|
*
|
|
778
|
-
*
|
|
760
|
+
* Chunk.make(1, 2).pipe(
|
|
779
761
|
* Chunk.appendAll(Chunk.make("a", "b")),
|
|
780
762
|
* Chunk.toArray
|
|
781
|
-
* )
|
|
782
|
-
*
|
|
783
|
-
* console.log(result)
|
|
784
|
-
* // [ 1, 2, "a", "b" ]
|
|
763
|
+
* ) // => [1, 2, "a", "b"]
|
|
785
764
|
* ```
|
|
786
765
|
*
|
|
787
766
|
* @see {@link prependAll} for concatenating chunks in the opposite order
|
|
@@ -879,7 +858,7 @@ export const appendAll = /*#__PURE__*/dual(2, (self, that) => {
|
|
|
879
858
|
*
|
|
880
859
|
* **Example** (Filtering and mapping values)
|
|
881
860
|
*
|
|
882
|
-
* ```ts
|
|
861
|
+
* ```ts import.meta.vitest
|
|
883
862
|
* import { Chunk, Result } from "effect"
|
|
884
863
|
*
|
|
885
864
|
* const chunk = Chunk.make("1", "2", "hello", "3", "world")
|
|
@@ -887,14 +866,14 @@ export const appendAll = /*#__PURE__*/dual(2, (self, that) => {
|
|
|
887
866
|
* const num = parseInt(str)
|
|
888
867
|
* return isNaN(num) ? Result.failVoid : Result.succeed(num)
|
|
889
868
|
* })
|
|
890
|
-
*
|
|
869
|
+
* Chunk.toArray(numbers) // => [1, 2, 3]
|
|
891
870
|
*
|
|
892
871
|
* // With index parameter
|
|
893
872
|
* const evenIndexNumbers = Chunk.filterMap(chunk, (str, i) => {
|
|
894
873
|
* const num = parseInt(str)
|
|
895
874
|
* return isNaN(num) || i % 2 !== 0 ? Result.failVoid : Result.succeed(num)
|
|
896
875
|
* })
|
|
897
|
-
*
|
|
876
|
+
* Chunk.toArray(evenIndexNumbers) // => [1]
|
|
898
877
|
* ```
|
|
899
878
|
*
|
|
900
879
|
* @category filtering
|
|
@@ -916,17 +895,17 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
916
895
|
*
|
|
917
896
|
* **Example** (Filtering values)
|
|
918
897
|
*
|
|
919
|
-
* ```ts
|
|
898
|
+
* ```ts import.meta.vitest
|
|
920
899
|
* import { Chunk } from "effect"
|
|
921
900
|
*
|
|
922
901
|
* const chunk = Chunk.make(1, 2, 3, 4, 5, 6)
|
|
923
902
|
* const evenNumbers = Chunk.filter(chunk, (n) => n % 2 === 0)
|
|
924
|
-
*
|
|
903
|
+
* Chunk.toArray(evenNumbers) // => [2, 4, 6]
|
|
925
904
|
*
|
|
926
905
|
* // With refinement
|
|
927
906
|
* const mixed = Chunk.make("hello", 42, "world", 100)
|
|
928
907
|
* const numbers = Chunk.filter(mixed, (x): x is number => typeof x === "number")
|
|
929
|
-
*
|
|
908
|
+
* Chunk.toArray(numbers) // => [42, 100]
|
|
930
909
|
* ```
|
|
931
910
|
*
|
|
932
911
|
* @category filtering
|
|
@@ -938,23 +917,19 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => fromArrayUnsafe(
|
|
|
938
917
|
*
|
|
939
918
|
* **Example** (Filtering and mapping while values match)
|
|
940
919
|
*
|
|
941
|
-
* ```ts
|
|
920
|
+
* ```ts import.meta.vitest
|
|
942
921
|
* import { Chunk, Result } from "effect"
|
|
943
922
|
*
|
|
944
923
|
* const chunk = Chunk.make("1", "2", "hello", "3", "4")
|
|
945
|
-
*
|
|
946
|
-
* const
|
|
947
|
-
* return isNaN(
|
|
948
|
-
* })
|
|
949
|
-
* console.log(Chunk.toArray(result)) // [1, 2]
|
|
950
|
-
* // Stops at "hello" and doesn't process "3", "4"
|
|
924
|
+
* Chunk.toArray(Chunk.filterMapWhile(chunk, (s) => {
|
|
925
|
+
* const n = Number(s)
|
|
926
|
+
* return Number.isNaN(n) ? Result.failVoid : Result.succeed(n)
|
|
927
|
+
* })) // => [1, 2]
|
|
951
928
|
*
|
|
952
|
-
*
|
|
953
|
-
*
|
|
954
|
-
*
|
|
955
|
-
*
|
|
956
|
-
* })
|
|
957
|
-
* console.log(Chunk.toArray(allNumbers)) // [1, 2, 3, 4]
|
|
929
|
+
* Chunk.toArray(Chunk.filterMap(chunk, (s) => {
|
|
930
|
+
* const n = Number(s)
|
|
931
|
+
* return Number.isNaN(n) ? Result.failVoid : Result.succeed(n)
|
|
932
|
+
* })) // => [1, 2, 3, 4]
|
|
958
933
|
* ```
|
|
959
934
|
*
|
|
960
935
|
* @category filtering
|
|
@@ -977,12 +952,11 @@ export const filterMapWhile = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
977
952
|
*
|
|
978
953
|
* **Example** (Compacting optional values)
|
|
979
954
|
*
|
|
980
|
-
* ```ts
|
|
955
|
+
* ```ts import.meta.vitest
|
|
981
956
|
* import { Chunk, Option } from "effect"
|
|
982
957
|
*
|
|
983
958
|
* const chunk = Chunk.make(Option.some(1), Option.none(), Option.some(3))
|
|
984
|
-
*
|
|
985
|
-
* console.log(Chunk.toArray(result)) // [1, 3]
|
|
959
|
+
* Chunk.toArray(Chunk.compact(chunk)) // => [1, 3]
|
|
986
960
|
* ```
|
|
987
961
|
*
|
|
988
962
|
* @category filtering
|
|
@@ -1002,12 +976,12 @@ export const compact = self => {
|
|
|
1002
976
|
*
|
|
1003
977
|
* **Example** (Flat mapping chunks)
|
|
1004
978
|
*
|
|
1005
|
-
* ```ts
|
|
979
|
+
* ```ts import.meta.vitest
|
|
1006
980
|
* import { Chunk } from "effect"
|
|
1007
981
|
*
|
|
1008
982
|
* const chunk = Chunk.make(1, 2, 3)
|
|
1009
983
|
* const duplicated = Chunk.flatMap(chunk, (n) => Chunk.make(n, n))
|
|
1010
|
-
*
|
|
984
|
+
* Chunk.toArray(duplicated) // => [1, 1, 2, 2, 3, 3]
|
|
1011
985
|
*
|
|
1012
986
|
* // Flattening nested arrays
|
|
1013
987
|
* const words = Chunk.make("hello", "world")
|
|
@@ -1015,11 +989,11 @@ export const compact = self => {
|
|
|
1015
989
|
* words,
|
|
1016
990
|
* (word) => Chunk.fromIterable(word.split(""))
|
|
1017
991
|
* )
|
|
1018
|
-
*
|
|
992
|
+
* Chunk.toArray(letters).join("") // => "helloworld"
|
|
1019
993
|
*
|
|
1020
994
|
* // With index parameter
|
|
1021
995
|
* const indexed = Chunk.flatMap(chunk, (n, i) => Chunk.make(n + i))
|
|
1022
|
-
*
|
|
996
|
+
* Chunk.toArray(indexed) // => [1, 3, 5]
|
|
1023
997
|
* ```
|
|
1024
998
|
*
|
|
1025
999
|
* @category sequencing
|
|
@@ -1048,26 +1022,19 @@ export const flatMap = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1048
1022
|
*
|
|
1049
1023
|
* **Example** (Iterating over chunk values)
|
|
1050
1024
|
*
|
|
1051
|
-
* ```ts
|
|
1025
|
+
* ```ts import.meta.vitest
|
|
1052
1026
|
* import { Chunk } from "effect"
|
|
1053
1027
|
*
|
|
1054
1028
|
* const chunk = Chunk.make(1, 2, 3, 4)
|
|
1055
1029
|
*
|
|
1056
|
-
*
|
|
1057
|
-
* Chunk.forEach(chunk, (n) =>
|
|
1058
|
-
* //
|
|
1059
|
-
* // Value: 1
|
|
1060
|
-
* // Value: 2
|
|
1061
|
-
* // Value: 3
|
|
1062
|
-
* // Value: 4
|
|
1030
|
+
* const values: Array<string> = []
|
|
1031
|
+
* Chunk.forEach(chunk, (n) => values.push(`Value: ${n}`))
|
|
1032
|
+
* values // => ["Value: 1", "Value: 2", "Value: 3", "Value: 4"]
|
|
1063
1033
|
*
|
|
1064
1034
|
* // With index parameter
|
|
1065
|
-
*
|
|
1066
|
-
*
|
|
1067
|
-
* // Index 0: 1
|
|
1068
|
-
* // Index 1: 2
|
|
1069
|
-
* // Index 2: 3
|
|
1070
|
-
* // Index 3: 4
|
|
1035
|
+
* const indexed: Array<string> = []
|
|
1036
|
+
* Chunk.forEach(chunk, (n, i) => indexed.push(`Index ${i}: ${n}`))
|
|
1037
|
+
* indexed // => ["Index 0: 1", "Index 1: 2", "Index 2: 3", "Index 3: 4"]
|
|
1071
1038
|
* ```
|
|
1072
1039
|
*
|
|
1073
1040
|
* @category combinators
|
|
@@ -1079,7 +1046,7 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => toReadonlyArray(self).f
|
|
|
1079
1046
|
*
|
|
1080
1047
|
* **Example** (Flattening nested chunks)
|
|
1081
1048
|
*
|
|
1082
|
-
* ```ts
|
|
1049
|
+
* ```ts import.meta.vitest
|
|
1083
1050
|
* import { Chunk } from "effect"
|
|
1084
1051
|
*
|
|
1085
1052
|
* const nested = Chunk.make(
|
|
@@ -1087,8 +1054,7 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => toReadonlyArray(self).f
|
|
|
1087
1054
|
* Chunk.make(3, 4, 5),
|
|
1088
1055
|
* Chunk.make(6)
|
|
1089
1056
|
* )
|
|
1090
|
-
*
|
|
1091
|
-
* console.log(Chunk.toArray(flattened)) // [1, 2, 3, 4, 5, 6]
|
|
1057
|
+
* Chunk.toArray(Chunk.flatten(nested)) // => [1, 2, 3, 4, 5, 6]
|
|
1092
1058
|
*
|
|
1093
1059
|
* // With empty chunks
|
|
1094
1060
|
* const withEmpty = Chunk.make(
|
|
@@ -1096,7 +1062,7 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => toReadonlyArray(self).f
|
|
|
1096
1062
|
* Chunk.empty<number>(),
|
|
1097
1063
|
* Chunk.make(3, 4)
|
|
1098
1064
|
* )
|
|
1099
|
-
*
|
|
1065
|
+
* Chunk.toArray(Chunk.flatten(withEmpty)) // => [1, 2, 3, 4]
|
|
1100
1066
|
* ```
|
|
1101
1067
|
*
|
|
1102
1068
|
* @category sequencing
|
|
@@ -1122,25 +1088,23 @@ export const flatten = /*#__PURE__*/flatMap(identity);
|
|
|
1122
1088
|
*
|
|
1123
1089
|
* **Example** (Splitting into fixed-size chunks)
|
|
1124
1090
|
*
|
|
1125
|
-
* ```ts
|
|
1091
|
+
* ```ts import.meta.vitest
|
|
1126
1092
|
* import { Chunk } from "effect"
|
|
1127
1093
|
*
|
|
1128
1094
|
* const chunk = Chunk.make(1, 2, 3, 4, 5, 6, 7, 8, 9)
|
|
1129
1095
|
* const chunked = Chunk.chunksOf(chunk, 3)
|
|
1130
1096
|
*
|
|
1131
|
-
*
|
|
1132
|
-
* // [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
|
1097
|
+
* Chunk.toArray(chunked).map(Chunk.toArray) // => [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
|
1133
1098
|
*
|
|
1134
1099
|
* // When length is not evenly divisible
|
|
1135
1100
|
* const chunk2 = Chunk.make(1, 2, 3, 4, 5)
|
|
1136
1101
|
* const chunked2 = Chunk.chunksOf(chunk2, 2)
|
|
1137
|
-
*
|
|
1138
|
-
* // [[1, 2], [3, 4], [5]]
|
|
1102
|
+
* Chunk.toArray(chunked2).map(Chunk.toArray) // => [[1, 2], [3, 4], [5]]
|
|
1139
1103
|
* ```
|
|
1140
1104
|
*
|
|
1141
1105
|
* @see {@link split} for splitting into a target number of chunks instead of a fixed chunk size
|
|
1142
1106
|
*
|
|
1143
|
-
* @category
|
|
1107
|
+
* @category splitting
|
|
1144
1108
|
* @since 2.0.0
|
|
1145
1109
|
*/
|
|
1146
1110
|
export const chunksOf = /*#__PURE__*/dual(2, (self, n) => {
|
|
@@ -1167,26 +1131,25 @@ export const chunksOf = /*#__PURE__*/dual(2, (self, n) => {
|
|
|
1167
1131
|
*
|
|
1168
1132
|
* **Example** (Intersecting chunks)
|
|
1169
1133
|
*
|
|
1170
|
-
* ```ts
|
|
1134
|
+
* ```ts import.meta.vitest
|
|
1171
1135
|
* import { Chunk } from "effect"
|
|
1172
1136
|
*
|
|
1173
1137
|
* const chunk1 = Chunk.make(1, 2, 3, 4)
|
|
1174
1138
|
* const chunk2 = Chunk.make(3, 4, 5, 6)
|
|
1175
|
-
*
|
|
1176
|
-
* console.log(Chunk.toArray(result)) // [3, 4]
|
|
1139
|
+
* Chunk.toArray(Chunk.intersection(chunk1, chunk2)) // => [3, 4]
|
|
1177
1140
|
*
|
|
1178
1141
|
* // With strings
|
|
1179
1142
|
* const words1 = Chunk.make("hello", "world", "foo")
|
|
1180
1143
|
* const words2 = Chunk.make("world", "bar", "foo")
|
|
1181
|
-
*
|
|
1144
|
+
* Chunk.toArray(Chunk.intersection(words1, words2)) // => ["world", "foo"]
|
|
1182
1145
|
*
|
|
1183
1146
|
* // No intersection
|
|
1184
1147
|
* const chunk3 = Chunk.make(1, 2)
|
|
1185
1148
|
* const chunk4 = Chunk.make(3, 4)
|
|
1186
|
-
*
|
|
1149
|
+
* Chunk.toArray(Chunk.intersection(chunk3, chunk4)) // => []
|
|
1187
1150
|
* ```
|
|
1188
1151
|
*
|
|
1189
|
-
* @category
|
|
1152
|
+
* @category set operations
|
|
1190
1153
|
* @since 2.0.0
|
|
1191
1154
|
*/
|
|
1192
1155
|
export const intersection = /*#__PURE__*/dual(2, (self, that) => fromArrayUnsafe(RA.intersection(toReadonlyArray(self), toReadonlyArray(that))));
|
|
@@ -1195,14 +1158,14 @@ export const intersection = /*#__PURE__*/dual(2, (self, that) => fromArrayUnsafe
|
|
|
1195
1158
|
*
|
|
1196
1159
|
* **Example** (Checking for empty chunks)
|
|
1197
1160
|
*
|
|
1198
|
-
* ```ts
|
|
1161
|
+
* ```ts import.meta.vitest
|
|
1199
1162
|
* import { Chunk } from "effect"
|
|
1200
1163
|
*
|
|
1201
|
-
*
|
|
1202
|
-
*
|
|
1164
|
+
* Chunk.isEmpty(Chunk.empty()) // => true
|
|
1165
|
+
* Chunk.isEmpty(Chunk.make(1, 2, 3)) // => false
|
|
1203
1166
|
* ```
|
|
1204
1167
|
*
|
|
1205
|
-
* @category
|
|
1168
|
+
* @category predicates
|
|
1206
1169
|
* @since 2.0.0
|
|
1207
1170
|
*/
|
|
1208
1171
|
export const isEmpty = self => self.length === 0;
|
|
@@ -1211,14 +1174,14 @@ export const isEmpty = self => self.length === 0;
|
|
|
1211
1174
|
*
|
|
1212
1175
|
* **Example** (Checking for non-empty chunks)
|
|
1213
1176
|
*
|
|
1214
|
-
* ```ts
|
|
1177
|
+
* ```ts import.meta.vitest
|
|
1215
1178
|
* import { Chunk } from "effect"
|
|
1216
1179
|
*
|
|
1217
|
-
*
|
|
1218
|
-
*
|
|
1180
|
+
* Chunk.isNonEmpty(Chunk.empty()) // => false
|
|
1181
|
+
* Chunk.isNonEmpty(Chunk.make(1, 2, 3)) // => true
|
|
1219
1182
|
* ```
|
|
1220
1183
|
*
|
|
1221
|
-
* @category
|
|
1184
|
+
* @category guards
|
|
1222
1185
|
* @since 2.0.0
|
|
1223
1186
|
*/
|
|
1224
1187
|
export const isNonEmpty = self => self.length > 0;
|
|
@@ -1227,14 +1190,14 @@ export const isNonEmpty = self => self.length > 0;
|
|
|
1227
1190
|
*
|
|
1228
1191
|
* **Example** (Getting the first element)
|
|
1229
1192
|
*
|
|
1230
|
-
* ```ts
|
|
1231
|
-
* import { Chunk } from "effect"
|
|
1193
|
+
* ```ts import.meta.vitest
|
|
1194
|
+
* import { Chunk, Option } from "effect"
|
|
1232
1195
|
*
|
|
1233
|
-
*
|
|
1234
|
-
*
|
|
1196
|
+
* Chunk.head(Chunk.empty()) // => Option.none()
|
|
1197
|
+
* Chunk.head(Chunk.make(1, 2, 3)) // => Option.some(1)
|
|
1235
1198
|
* ```
|
|
1236
1199
|
*
|
|
1237
|
-
* @category
|
|
1200
|
+
* @category getters
|
|
1238
1201
|
* @since 2.0.0
|
|
1239
1202
|
*/
|
|
1240
1203
|
export const head = /*#__PURE__*/get(0);
|
|
@@ -1252,17 +1215,17 @@ export const head = /*#__PURE__*/get(0);
|
|
|
1252
1215
|
*
|
|
1253
1216
|
* **Example** (Getting the first element unsafely)
|
|
1254
1217
|
*
|
|
1255
|
-
* ```ts
|
|
1218
|
+
* ```ts import.meta.vitest
|
|
1256
1219
|
* import { Chunk, Option } from "effect"
|
|
1257
1220
|
*
|
|
1258
1221
|
* const chunk = Chunk.make(1, 2, 3, 4)
|
|
1259
|
-
*
|
|
1222
|
+
* Chunk.headUnsafe(chunk) // => 1
|
|
1260
1223
|
*
|
|
1261
1224
|
* const singleElement = Chunk.make("hello")
|
|
1262
|
-
*
|
|
1225
|
+
* Chunk.headUnsafe(singleElement) // => "hello"
|
|
1263
1226
|
*
|
|
1264
1227
|
* // Use Chunk.head when the chunk may be empty
|
|
1265
|
-
*
|
|
1228
|
+
* Option.isNone(Chunk.head(Chunk.empty())) // => true
|
|
1266
1229
|
* ```
|
|
1267
1230
|
*
|
|
1268
1231
|
* @category unsafe
|
|
@@ -1274,20 +1237,20 @@ export const headUnsafe = self => getUnsafe(self, 0);
|
|
|
1274
1237
|
*
|
|
1275
1238
|
* **Example** (Getting the first element of a non-empty chunk)
|
|
1276
1239
|
*
|
|
1277
|
-
* ```ts
|
|
1240
|
+
* ```ts import.meta.vitest
|
|
1278
1241
|
* import { Chunk } from "effect"
|
|
1279
1242
|
*
|
|
1280
1243
|
* const nonEmptyChunk = Chunk.make(1, 2, 3, 4)
|
|
1281
|
-
*
|
|
1244
|
+
* Chunk.headNonEmpty(nonEmptyChunk) // => 1
|
|
1282
1245
|
*
|
|
1283
1246
|
* const singleElement = Chunk.make("hello")
|
|
1284
|
-
*
|
|
1247
|
+
* Chunk.headNonEmpty(singleElement) // => "hello"
|
|
1285
1248
|
*
|
|
1286
1249
|
* // Type safety: this function only accepts NonEmptyChunk
|
|
1287
1250
|
* // Chunk.headNonEmpty(Chunk.empty()) // TypeScript error
|
|
1288
1251
|
* ```
|
|
1289
1252
|
*
|
|
1290
|
-
* @category
|
|
1253
|
+
* @category getters
|
|
1291
1254
|
* @since 2.0.0
|
|
1292
1255
|
*/
|
|
1293
1256
|
export const headNonEmpty = headUnsafe;
|
|
@@ -1296,14 +1259,14 @@ export const headNonEmpty = headUnsafe;
|
|
|
1296
1259
|
*
|
|
1297
1260
|
* **Example** (Getting the last element)
|
|
1298
1261
|
*
|
|
1299
|
-
* ```ts
|
|
1300
|
-
* import { Chunk } from "effect"
|
|
1262
|
+
* ```ts import.meta.vitest
|
|
1263
|
+
* import { Chunk, Option } from "effect"
|
|
1301
1264
|
*
|
|
1302
|
-
*
|
|
1303
|
-
*
|
|
1265
|
+
* Chunk.last(Chunk.empty()) // => Option.none()
|
|
1266
|
+
* Chunk.last(Chunk.make(1, 2, 3)) // => Option.some(3)
|
|
1304
1267
|
* ```
|
|
1305
1268
|
*
|
|
1306
|
-
* @category
|
|
1269
|
+
* @category getters
|
|
1307
1270
|
* @since 2.0.0
|
|
1308
1271
|
*/
|
|
1309
1272
|
export const last = self => get(self, self.length - 1);
|
|
@@ -1321,17 +1284,17 @@ export const last = self => get(self, self.length - 1);
|
|
|
1321
1284
|
*
|
|
1322
1285
|
* **Example** (Getting the last element unsafely)
|
|
1323
1286
|
*
|
|
1324
|
-
* ```ts
|
|
1287
|
+
* ```ts import.meta.vitest
|
|
1325
1288
|
* import { Chunk, Option } from "effect"
|
|
1326
1289
|
*
|
|
1327
1290
|
* const chunk = Chunk.make(1, 2, 3, 4)
|
|
1328
|
-
*
|
|
1291
|
+
* Chunk.lastUnsafe(chunk) // => 4
|
|
1329
1292
|
*
|
|
1330
1293
|
* const singleElement = Chunk.make("hello")
|
|
1331
|
-
*
|
|
1294
|
+
* Chunk.lastUnsafe(singleElement) // => "hello"
|
|
1332
1295
|
*
|
|
1333
1296
|
* // Use Chunk.last when the chunk may be empty
|
|
1334
|
-
*
|
|
1297
|
+
* Option.isNone(Chunk.last(Chunk.empty())) // => true
|
|
1335
1298
|
* ```
|
|
1336
1299
|
*
|
|
1337
1300
|
* @category unsafe
|
|
@@ -1343,20 +1306,20 @@ export const lastUnsafe = self => getUnsafe(self, self.length - 1);
|
|
|
1343
1306
|
*
|
|
1344
1307
|
* **Example** (Getting the last element of a non-empty chunk)
|
|
1345
1308
|
*
|
|
1346
|
-
* ```ts
|
|
1309
|
+
* ```ts import.meta.vitest
|
|
1347
1310
|
* import { Chunk } from "effect"
|
|
1348
1311
|
*
|
|
1349
1312
|
* const nonEmptyChunk = Chunk.make(1, 2, 3, 4)
|
|
1350
|
-
*
|
|
1313
|
+
* Chunk.lastNonEmpty(nonEmptyChunk) // => 4
|
|
1351
1314
|
*
|
|
1352
1315
|
* const singleElement = Chunk.make("hello")
|
|
1353
|
-
*
|
|
1316
|
+
* Chunk.lastNonEmpty(singleElement) // => "hello"
|
|
1354
1317
|
*
|
|
1355
1318
|
* // Type safety: this function only accepts NonEmptyChunk
|
|
1356
1319
|
* // Chunk.lastNonEmpty(Chunk.empty()) // TypeScript error
|
|
1357
1320
|
* ```
|
|
1358
1321
|
*
|
|
1359
|
-
* @category
|
|
1322
|
+
* @category getters
|
|
1360
1323
|
* @since 3.4.0
|
|
1361
1324
|
*/
|
|
1362
1325
|
export const lastNonEmpty = lastUnsafe;
|
|
@@ -1366,12 +1329,10 @@ export const lastNonEmpty = lastUnsafe;
|
|
|
1366
1329
|
*
|
|
1367
1330
|
* **Example** (Mapping values)
|
|
1368
1331
|
*
|
|
1369
|
-
* ```ts
|
|
1332
|
+
* ```ts import.meta.vitest
|
|
1370
1333
|
* import { Chunk } from "effect"
|
|
1371
1334
|
*
|
|
1372
|
-
*
|
|
1373
|
-
*
|
|
1374
|
-
* console.log(Chunk.toArray(result)) // [2, 3]
|
|
1335
|
+
* Chunk.toArray(Chunk.map(Chunk.make(1, 2), (n) => n + 1)) // => [2, 3]
|
|
1375
1336
|
* ```
|
|
1376
1337
|
*
|
|
1377
1338
|
* @category mapping
|
|
@@ -1383,7 +1344,7 @@ export const map = /*#__PURE__*/dual(2, (self, f) => self.backing._tag === "ISin
|
|
|
1383
1344
|
*
|
|
1384
1345
|
* **Example** (Mapping with accumulated state)
|
|
1385
1346
|
*
|
|
1386
|
-
* ```ts
|
|
1347
|
+
* ```ts import.meta.vitest
|
|
1387
1348
|
* import { Chunk } from "effect"
|
|
1388
1349
|
*
|
|
1389
1350
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
@@ -1392,8 +1353,8 @@ export const map = /*#__PURE__*/dual(2, (self, f) => self.backing._tag === "ISin
|
|
|
1392
1353
|
* state + current // output running sum
|
|
1393
1354
|
* ])
|
|
1394
1355
|
*
|
|
1395
|
-
*
|
|
1396
|
-
*
|
|
1356
|
+
* finalState // => 15
|
|
1357
|
+
* Chunk.toArray(mapped) // => [1, 3, 6, 10, 15]
|
|
1397
1358
|
*
|
|
1398
1359
|
* // Building a string with indices
|
|
1399
1360
|
* const words = Chunk.make("hello", "world", "effect")
|
|
@@ -1401,8 +1362,8 @@ export const map = /*#__PURE__*/dual(2, (self, f) => self.backing._tag === "ISin
|
|
|
1401
1362
|
* index + 1,
|
|
1402
1363
|
* `${index}: ${word}`
|
|
1403
1364
|
* ])
|
|
1404
|
-
*
|
|
1405
|
-
*
|
|
1365
|
+
* count // => 3
|
|
1366
|
+
* Chunk.toArray(indexed) // => ["0: hello", "1: world", "2: effect"]
|
|
1406
1367
|
* ```
|
|
1407
1368
|
*
|
|
1408
1369
|
* @category folding
|
|
@@ -1421,15 +1382,15 @@ export const mapAccum = /*#__PURE__*/dual(3, (self, s, f) => {
|
|
|
1421
1382
|
*
|
|
1422
1383
|
* **Example** (Partitioning with a Result)
|
|
1423
1384
|
*
|
|
1424
|
-
* ```ts
|
|
1385
|
+
* ```ts import.meta.vitest
|
|
1425
1386
|
* import { Chunk, Result } from "effect"
|
|
1426
1387
|
*
|
|
1427
1388
|
* const [excluded, satisfying] = Chunk.partition(Chunk.make(1, -2, 3), (n, i) =>
|
|
1428
1389
|
* n > 0 ? Result.succeed(n + i) : Result.fail(`negative:${n}`)
|
|
1429
1390
|
* )
|
|
1430
1391
|
*
|
|
1431
|
-
*
|
|
1432
|
-
*
|
|
1392
|
+
* Chunk.toArray(excluded) // => ["negative:-2"]
|
|
1393
|
+
* Chunk.toArray(satisfying) // => [1, 5]
|
|
1433
1394
|
* ```
|
|
1434
1395
|
*
|
|
1435
1396
|
* @category filtering
|
|
@@ -1450,7 +1411,7 @@ export const partition = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1450
1411
|
*
|
|
1451
1412
|
* **Example** (Separating failures and successes)
|
|
1452
1413
|
*
|
|
1453
|
-
* ```ts
|
|
1414
|
+
* ```ts import.meta.vitest
|
|
1454
1415
|
* import { Chunk, Result } from "effect"
|
|
1455
1416
|
*
|
|
1456
1417
|
* const chunk = Chunk.make(
|
|
@@ -1462,14 +1423,14 @@ export const partition = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1462
1423
|
* )
|
|
1463
1424
|
*
|
|
1464
1425
|
* const [errors, values] = Chunk.separate(chunk)
|
|
1465
|
-
*
|
|
1466
|
-
*
|
|
1426
|
+
* Chunk.toArray(errors) // => ["error1", "error2"]
|
|
1427
|
+
* Chunk.toArray(values) // => [1, 2, 3]
|
|
1467
1428
|
*
|
|
1468
1429
|
* // All successes
|
|
1469
1430
|
* const allSuccesses = Chunk.make(Result.succeed(1), Result.succeed(2))
|
|
1470
1431
|
* const [noErrors, allValues] = Chunk.separate(allSuccesses)
|
|
1471
|
-
*
|
|
1472
|
-
*
|
|
1432
|
+
* Chunk.toArray(noErrors) // => []
|
|
1433
|
+
* Chunk.toArray(allValues) // => [1, 2]
|
|
1473
1434
|
* ```
|
|
1474
1435
|
*
|
|
1475
1436
|
* @category filtering
|
|
@@ -1481,14 +1442,13 @@ export const separate = self => pipe(RA.separate(toReadonlyArray(self)), ([l, r]
|
|
|
1481
1442
|
*
|
|
1482
1443
|
* **Example** (Getting chunk size)
|
|
1483
1444
|
*
|
|
1484
|
-
* ```ts
|
|
1445
|
+
* ```ts import.meta.vitest
|
|
1485
1446
|
* import { Chunk } from "effect"
|
|
1486
1447
|
*
|
|
1487
|
-
*
|
|
1488
|
-
* console.log(Chunk.size(chunk)) // 3
|
|
1448
|
+
* Chunk.size(Chunk.make(1, 2, 3)) // => 3
|
|
1489
1449
|
* ```
|
|
1490
1450
|
*
|
|
1491
|
-
* @category
|
|
1451
|
+
* @category getters
|
|
1492
1452
|
* @since 2.0.0
|
|
1493
1453
|
*/
|
|
1494
1454
|
export const size = self => self.length;
|
|
@@ -1497,21 +1457,18 @@ export const size = self => self.length;
|
|
|
1497
1457
|
*
|
|
1498
1458
|
* **Example** (Sorting chunks)
|
|
1499
1459
|
*
|
|
1500
|
-
* ```ts
|
|
1460
|
+
* ```ts import.meta.vitest
|
|
1501
1461
|
* import { Chunk, Order } from "effect"
|
|
1502
1462
|
*
|
|
1503
1463
|
* const numbers = Chunk.make(3, 1, 4, 1, 5, 9, 2, 6)
|
|
1504
|
-
*
|
|
1505
|
-
* console.log(Chunk.toArray(sorted)) // [1, 1, 2, 3, 4, 5, 6, 9]
|
|
1464
|
+
* Chunk.toArray(Chunk.sort(numbers, Order.Number)) // => [1, 1, 2, 3, 4, 5, 6, 9]
|
|
1506
1465
|
*
|
|
1507
1466
|
* // Reverse order
|
|
1508
|
-
*
|
|
1509
|
-
* console.log(Chunk.toArray(reverseSorted)) // [9, 6, 5, 4, 3, 2, 1, 1]
|
|
1467
|
+
* Chunk.toArray(Chunk.sort(numbers, Order.flip(Order.Number))) // => [9, 6, 5, 4, 3, 2, 1, 1]
|
|
1510
1468
|
*
|
|
1511
1469
|
* // String sorting
|
|
1512
1470
|
* const words = Chunk.make("banana", "apple", "cherry")
|
|
1513
|
-
*
|
|
1514
|
-
* console.log(Chunk.toArray(sortedWords)) // ["apple", "banana", "cherry"]
|
|
1471
|
+
* Chunk.toArray(Chunk.sort(words, Order.String)) // => ["apple", "banana", "cherry"]
|
|
1515
1472
|
* ```
|
|
1516
1473
|
*
|
|
1517
1474
|
* @category sorting
|
|
@@ -1523,7 +1480,7 @@ export const sort = /*#__PURE__*/dual(2, (self, O) => fromArrayUnsafe(RA.sort(to
|
|
|
1523
1480
|
*
|
|
1524
1481
|
* **Example** (Sorting chunks by a derived value)
|
|
1525
1482
|
*
|
|
1526
|
-
* ```ts
|
|
1483
|
+
* ```ts import.meta.vitest
|
|
1527
1484
|
* import { Chunk, Order } from "effect"
|
|
1528
1485
|
*
|
|
1529
1486
|
* const people = Chunk.make(
|
|
@@ -1534,18 +1491,15 @@ export const sort = /*#__PURE__*/dual(2, (self, O) => fromArrayUnsafe(RA.sort(to
|
|
|
1534
1491
|
*
|
|
1535
1492
|
* // Sort by age
|
|
1536
1493
|
* const byAge = Chunk.sortWith(people, (person) => person.age, Order.Number)
|
|
1537
|
-
*
|
|
1538
|
-
* // [{ name: "Bob", age: 25 }, { name: "Alice", age: 30 }, { name: "Charlie", age: 35 }]
|
|
1494
|
+
* Chunk.toArray(byAge).map((person) => person.name) // => ["Bob", "Alice", "Charlie"]
|
|
1539
1495
|
*
|
|
1540
1496
|
* // Sort by name
|
|
1541
1497
|
* const byName = Chunk.sortWith(people, (person) => person.name, Order.String)
|
|
1542
|
-
*
|
|
1543
|
-
* // [{ name: "Alice", age: 30 }, { name: "Bob", age: 25 }, { name: "Charlie", age: 35 }]
|
|
1498
|
+
* Chunk.toArray(byName).map((person) => person.name) // => ["Alice", "Bob", "Charlie"]
|
|
1544
1499
|
*
|
|
1545
1500
|
* // Sort by string length
|
|
1546
1501
|
* const words = Chunk.make("a", "abc", "ab")
|
|
1547
|
-
*
|
|
1548
|
-
* console.log(Chunk.toArray(byLength)) // ["a", "ab", "abc"]
|
|
1502
|
+
* Chunk.toArray(Chunk.sortWith(words, (word) => word.length, Order.Number)) // => ["a", "ab", "abc"]
|
|
1549
1503
|
* ```
|
|
1550
1504
|
*
|
|
1551
1505
|
* @category sorting
|
|
@@ -1557,23 +1511,23 @@ export const sortWith = /*#__PURE__*/dual(3, (self, f, order) => sort(self, Orde
|
|
|
1557
1511
|
*
|
|
1558
1512
|
* **Example** (Splitting at an index)
|
|
1559
1513
|
*
|
|
1560
|
-
* ```ts
|
|
1514
|
+
* ```ts import.meta.vitest
|
|
1561
1515
|
* import { Chunk } from "effect"
|
|
1562
1516
|
*
|
|
1563
1517
|
* const chunk = Chunk.make(1, 2, 3, 4, 5, 6)
|
|
1564
1518
|
* const [before, after] = Chunk.splitAt(chunk, 3)
|
|
1565
|
-
*
|
|
1566
|
-
*
|
|
1519
|
+
* Chunk.toArray(before) // => [1, 2, 3]
|
|
1520
|
+
* Chunk.toArray(after) // => [4, 5, 6]
|
|
1567
1521
|
*
|
|
1568
1522
|
* // Split at index 0
|
|
1569
1523
|
* const [empty, all] = Chunk.splitAt(chunk, 0)
|
|
1570
|
-
*
|
|
1571
|
-
*
|
|
1524
|
+
* Chunk.toArray(empty) // => []
|
|
1525
|
+
* Chunk.toArray(all) // => [1, 2, 3, 4, 5, 6]
|
|
1572
1526
|
*
|
|
1573
1527
|
* // Split beyond length
|
|
1574
1528
|
* const [allElements, empty2] = Chunk.splitAt(chunk, 10)
|
|
1575
|
-
*
|
|
1576
|
-
*
|
|
1529
|
+
* Chunk.toArray(allElements) // => [1, 2, 3, 4, 5, 6]
|
|
1530
|
+
* Chunk.toArray(empty2) // => []
|
|
1577
1531
|
* ```
|
|
1578
1532
|
*
|
|
1579
1533
|
* @category splitting
|
|
@@ -1592,18 +1546,18 @@ export const splitAt = /*#__PURE__*/dual(2, (self, n) => [take(self, n), drop(se
|
|
|
1592
1546
|
*
|
|
1593
1547
|
* **Example** (Splitting non-empty chunks at an index)
|
|
1594
1548
|
*
|
|
1595
|
-
* ```ts
|
|
1549
|
+
* ```ts import.meta.vitest
|
|
1596
1550
|
* import { Chunk } from "effect"
|
|
1597
1551
|
*
|
|
1598
1552
|
* const nonEmptyChunk = Chunk.make(1, 2, 3, 4, 5, 6)
|
|
1599
1553
|
* const [before, after] = Chunk.splitNonEmptyAt(nonEmptyChunk, 3)
|
|
1600
|
-
*
|
|
1601
|
-
*
|
|
1554
|
+
* Chunk.toArray(before) // => [1, 2, 3]
|
|
1555
|
+
* Chunk.toArray(after) // => [4, 5, 6]
|
|
1602
1556
|
*
|
|
1603
1557
|
* // Split at 1 (minimum)
|
|
1604
1558
|
* const [first, rest] = Chunk.splitNonEmptyAt(nonEmptyChunk, 1)
|
|
1605
|
-
*
|
|
1606
|
-
*
|
|
1559
|
+
* Chunk.toArray(first) // => [1]
|
|
1560
|
+
* Chunk.toArray(rest) // => [2, 3, 4, 5, 6]
|
|
1607
1561
|
*
|
|
1608
1562
|
* // The first part is guaranteed to be NonEmptyChunk
|
|
1609
1563
|
* // while the second part may be empty
|
|
@@ -1626,24 +1580,21 @@ export const splitNonEmptyAt = /*#__PURE__*/dual(2, (self, n) => {
|
|
|
1626
1580
|
*
|
|
1627
1581
|
* **Example** (Splitting chunks into groups)
|
|
1628
1582
|
*
|
|
1629
|
-
* ```ts
|
|
1583
|
+
* ```ts import.meta.vitest
|
|
1630
1584
|
* import { Chunk } from "effect"
|
|
1631
1585
|
*
|
|
1632
1586
|
* const chunk = Chunk.make(1, 2, 3, 4, 5, 6, 7, 8, 9)
|
|
1633
1587
|
* const chunks = Chunk.split(chunk, 3)
|
|
1634
|
-
*
|
|
1635
|
-
* // [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
|
1588
|
+
* Chunk.toArray(chunks).map(Chunk.toArray) // => [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
|
1636
1589
|
*
|
|
1637
1590
|
* // Uneven split
|
|
1638
1591
|
* const chunk2 = Chunk.make(1, 2, 3, 4, 5, 6, 7, 8)
|
|
1639
1592
|
* const chunks2 = Chunk.split(chunk2, 3)
|
|
1640
|
-
*
|
|
1641
|
-
* // [[1, 2, 3], [4, 5, 6], [7, 8]]
|
|
1593
|
+
* Chunk.toArray(chunks2).map(Chunk.toArray) // => [[1, 2, 3], [4, 5, 6], [7, 8]]
|
|
1642
1594
|
*
|
|
1643
1595
|
* // Split into 1 chunk
|
|
1644
1596
|
* const chunks3 = Chunk.split(chunk, 1)
|
|
1645
|
-
*
|
|
1646
|
-
* // [[1, 2, 3, 4, 5, 6, 7, 8, 9]]
|
|
1597
|
+
* Chunk.toArray(chunks3).map(Chunk.toArray) // => [[1, 2, 3, 4, 5, 6, 7, 8, 9]]
|
|
1647
1598
|
* ```
|
|
1648
1599
|
*
|
|
1649
1600
|
* @category splitting
|
|
@@ -1656,23 +1607,23 @@ export const split = /*#__PURE__*/dual(2, (self, n) => chunksOf(self, Math.ceil(
|
|
|
1656
1607
|
*
|
|
1657
1608
|
* **Example** (Splitting at a matching element)
|
|
1658
1609
|
*
|
|
1659
|
-
* ```ts
|
|
1610
|
+
* ```ts import.meta.vitest
|
|
1660
1611
|
* import { Chunk } from "effect"
|
|
1661
1612
|
*
|
|
1662
1613
|
* const chunk = Chunk.make(1, 2, 3, 4, 5, 6)
|
|
1663
1614
|
* const [before, fromMatch] = Chunk.splitWhere(chunk, (n) => n > 3)
|
|
1664
|
-
*
|
|
1665
|
-
*
|
|
1615
|
+
* Chunk.toArray(before) // => [1, 2, 3]
|
|
1616
|
+
* Chunk.toArray(fromMatch) // => [4, 5, 6]
|
|
1666
1617
|
*
|
|
1667
1618
|
* // No match found
|
|
1668
1619
|
* const [all, empty] = Chunk.splitWhere(chunk, (n) => n > 10)
|
|
1669
|
-
*
|
|
1670
|
-
*
|
|
1620
|
+
* Chunk.toArray(all) // => [1, 2, 3, 4, 5, 6]
|
|
1621
|
+
* Chunk.toArray(empty) // => []
|
|
1671
1622
|
*
|
|
1672
1623
|
* // Match on first element
|
|
1673
1624
|
* const [emptyBefore, allFromFirst] = Chunk.splitWhere(chunk, (n) => n === 1)
|
|
1674
|
-
*
|
|
1675
|
-
*
|
|
1625
|
+
* Chunk.toArray(emptyBefore) // => []
|
|
1626
|
+
* Chunk.toArray(allFromFirst) // => [1, 2, 3, 4, 5, 6]
|
|
1676
1627
|
* ```
|
|
1677
1628
|
*
|
|
1678
1629
|
* @category splitting
|
|
@@ -1694,20 +1645,19 @@ export const splitWhere = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
|
1694
1645
|
*
|
|
1695
1646
|
* **Example** (Getting the tail safely)
|
|
1696
1647
|
*
|
|
1697
|
-
* ```ts
|
|
1698
|
-
* import { Chunk } from "effect"
|
|
1648
|
+
* ```ts import.meta.vitest
|
|
1649
|
+
* import { Chunk, Option } from "effect"
|
|
1699
1650
|
*
|
|
1700
1651
|
* const chunk = Chunk.make(1, 2, 3, 4)
|
|
1701
|
-
*
|
|
1652
|
+
* Chunk.tail(chunk) // => Option.some(Chunk.make(2, 3, 4))
|
|
1702
1653
|
*
|
|
1703
1654
|
* const singleElement = Chunk.make(1)
|
|
1704
|
-
*
|
|
1655
|
+
* Chunk.tail(singleElement) // => Option.some(Chunk.empty())
|
|
1705
1656
|
*
|
|
1706
|
-
*
|
|
1707
|
-
* console.log(Chunk.tail(empty)) // Option.none()
|
|
1657
|
+
* Chunk.tail(Chunk.empty<number>()) // => Option.none()
|
|
1708
1658
|
* ```
|
|
1709
1659
|
*
|
|
1710
|
-
* @category
|
|
1660
|
+
* @category getters
|
|
1711
1661
|
* @since 2.0.0
|
|
1712
1662
|
*/
|
|
1713
1663
|
export const tail = self => self.length > 0 ? O.some(drop(self, 1)) : O.none();
|
|
@@ -1716,22 +1666,20 @@ export const tail = self => self.length > 0 ? O.some(drop(self, 1)) : O.none();
|
|
|
1716
1666
|
*
|
|
1717
1667
|
* **Example** (Getting the tail of a non-empty chunk)
|
|
1718
1668
|
*
|
|
1719
|
-
* ```ts
|
|
1669
|
+
* ```ts import.meta.vitest
|
|
1720
1670
|
* import { Chunk } from "effect"
|
|
1721
1671
|
*
|
|
1722
1672
|
* const nonEmptyChunk = Chunk.make(1, 2, 3, 4)
|
|
1723
|
-
*
|
|
1724
|
-
* console.log(Chunk.toArray(result)) // [2, 3, 4]
|
|
1673
|
+
* Chunk.toArray(Chunk.tailNonEmpty(nonEmptyChunk)) // => [2, 3, 4]
|
|
1725
1674
|
*
|
|
1726
1675
|
* const singleElement = Chunk.make(1)
|
|
1727
|
-
*
|
|
1728
|
-
* console.log(Chunk.toArray(resultSingle)) // []
|
|
1676
|
+
* Chunk.toArray(Chunk.tailNonEmpty(singleElement)) // => []
|
|
1729
1677
|
*
|
|
1730
1678
|
* // Type safety: this function only accepts NonEmptyChunk
|
|
1731
1679
|
* // Chunk.tailNonEmpty(Chunk.empty()) // TypeScript error
|
|
1732
1680
|
* ```
|
|
1733
1681
|
*
|
|
1734
|
-
* @category
|
|
1682
|
+
* @category getters
|
|
1735
1683
|
* @since 2.0.0
|
|
1736
1684
|
*/
|
|
1737
1685
|
export const tailNonEmpty = self => drop(self, 1);
|
|
@@ -1740,23 +1688,20 @@ export const tailNonEmpty = self => drop(self, 1);
|
|
|
1740
1688
|
*
|
|
1741
1689
|
* **Example** (Taking elements from the end)
|
|
1742
1690
|
*
|
|
1743
|
-
* ```ts
|
|
1691
|
+
* ```ts import.meta.vitest
|
|
1744
1692
|
* import { Chunk } from "effect"
|
|
1745
1693
|
*
|
|
1746
1694
|
* const chunk = Chunk.make(1, 2, 3, 4, 5, 6)
|
|
1747
|
-
*
|
|
1748
|
-
* console.log(Chunk.toArray(lastThree)) // [4, 5, 6]
|
|
1695
|
+
* Chunk.toArray(Chunk.takeRight(chunk, 3)) // => [4, 5, 6]
|
|
1749
1696
|
*
|
|
1750
1697
|
* // Take more than available
|
|
1751
|
-
*
|
|
1752
|
-
* console.log(Chunk.toArray(all)) // [1, 2, 3, 4, 5, 6]
|
|
1698
|
+
* Chunk.toArray(Chunk.takeRight(chunk, 10)) // => [1, 2, 3, 4, 5, 6]
|
|
1753
1699
|
*
|
|
1754
1700
|
* // Take zero
|
|
1755
|
-
*
|
|
1756
|
-
* console.log(Chunk.toArray(none)) // []
|
|
1701
|
+
* Chunk.toArray(Chunk.takeRight(chunk, 0)) // => []
|
|
1757
1702
|
* ```
|
|
1758
1703
|
*
|
|
1759
|
-
* @category
|
|
1704
|
+
* @category filtering
|
|
1760
1705
|
* @since 2.0.0
|
|
1761
1706
|
*/
|
|
1762
1707
|
export const takeRight = /*#__PURE__*/dual(2, (self, n) => drop(self, self.length - n));
|
|
@@ -1765,24 +1710,21 @@ export const takeRight = /*#__PURE__*/dual(2, (self, n) => drop(self, self.lengt
|
|
|
1765
1710
|
*
|
|
1766
1711
|
* **Example** (Taking elements while a predicate matches)
|
|
1767
1712
|
*
|
|
1768
|
-
* ```ts
|
|
1713
|
+
* ```ts import.meta.vitest
|
|
1769
1714
|
* import { Chunk } from "effect"
|
|
1770
1715
|
*
|
|
1771
1716
|
* const chunk = Chunk.make(1, 2, 3, 4, 3, 2, 1)
|
|
1772
|
-
*
|
|
1773
|
-
* console.log(Chunk.toArray(result)) // [1, 2, 3]
|
|
1717
|
+
* Chunk.toArray(Chunk.takeWhile(chunk, (n) => n < 4)) // => [1, 2, 3]
|
|
1774
1718
|
*
|
|
1775
1719
|
* // Empty if first element doesn't match
|
|
1776
|
-
*
|
|
1777
|
-
* console.log(Chunk.toArray(none)) // []
|
|
1720
|
+
* Chunk.toArray(Chunk.takeWhile(chunk, (n) => n > 5)) // => []
|
|
1778
1721
|
*
|
|
1779
1722
|
* // Takes all if all match
|
|
1780
1723
|
* const small = Chunk.make(1, 2, 3)
|
|
1781
|
-
*
|
|
1782
|
-
* console.log(Chunk.toArray(all)) // [1, 2, 3]
|
|
1724
|
+
* Chunk.toArray(Chunk.takeWhile(small, (n) => n < 10)) // => [1, 2, 3]
|
|
1783
1725
|
* ```
|
|
1784
1726
|
*
|
|
1785
|
-
* @category
|
|
1727
|
+
* @category filtering
|
|
1786
1728
|
* @since 2.0.0
|
|
1787
1729
|
*/
|
|
1788
1730
|
export const takeWhile = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
@@ -1801,22 +1743,20 @@ export const takeWhile = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
|
1801
1743
|
*
|
|
1802
1744
|
* **Example** (Unioning chunks)
|
|
1803
1745
|
*
|
|
1804
|
-
* ```ts
|
|
1746
|
+
* ```ts import.meta.vitest
|
|
1805
1747
|
* import { Chunk } from "effect"
|
|
1806
1748
|
*
|
|
1807
1749
|
* const chunk1 = Chunk.make(1, 2, 3)
|
|
1808
1750
|
* const chunk2 = Chunk.make(3, 4, 5)
|
|
1809
|
-
*
|
|
1810
|
-
* console.log(Chunk.toArray(result)) // [1, 2, 3, 4, 5]
|
|
1751
|
+
* Chunk.toArray(Chunk.union(chunk1, chunk2)) // => [1, 2, 3, 4, 5]
|
|
1811
1752
|
*
|
|
1812
1753
|
* // Handles duplicates within the same chunk
|
|
1813
1754
|
* const withDupes1 = Chunk.make(1, 1, 2)
|
|
1814
1755
|
* const withDupes2 = Chunk.make(2, 3, 3)
|
|
1815
|
-
*
|
|
1816
|
-
* console.log(Chunk.toArray(unified)) // [1, 2, 3]
|
|
1756
|
+
* Chunk.toArray(Chunk.union(withDupes1, withDupes2)) // => [1, 2, 3]
|
|
1817
1757
|
* ```
|
|
1818
1758
|
*
|
|
1819
|
-
* @category
|
|
1759
|
+
* @category set operations
|
|
1820
1760
|
* @since 2.0.0
|
|
1821
1761
|
*/
|
|
1822
1762
|
export const union = /*#__PURE__*/dual(2, (self, that) => fromArrayUnsafe(RA.union(toReadonlyArray(self), toReadonlyArray(that))));
|
|
@@ -1826,25 +1766,22 @@ export const union = /*#__PURE__*/dual(2, (self, that) => fromArrayUnsafe(RA.uni
|
|
|
1826
1766
|
*
|
|
1827
1767
|
* **Example** (Removing duplicate values)
|
|
1828
1768
|
*
|
|
1829
|
-
* ```ts
|
|
1769
|
+
* ```ts import.meta.vitest
|
|
1830
1770
|
* import { Chunk } from "effect"
|
|
1831
1771
|
*
|
|
1832
1772
|
* const chunk = Chunk.make(1, 2, 2, 3, 1, 4, 3)
|
|
1833
|
-
*
|
|
1834
|
-
* console.log(Chunk.toArray(result)) // [1, 2, 3, 4]
|
|
1773
|
+
* Chunk.toArray(Chunk.dedupe(chunk)) // => [1, 2, 3, 4]
|
|
1835
1774
|
*
|
|
1836
1775
|
* // Empty chunk
|
|
1837
1776
|
* const empty = Chunk.empty<number>()
|
|
1838
|
-
*
|
|
1839
|
-
* console.log(Chunk.toArray(emptyDeduped)) // []
|
|
1777
|
+
* Chunk.toArray(Chunk.dedupe(empty)) // => []
|
|
1840
1778
|
*
|
|
1841
1779
|
* // No duplicates
|
|
1842
1780
|
* const unique = Chunk.make(1, 2, 3)
|
|
1843
|
-
*
|
|
1844
|
-
* console.log(Chunk.toArray(uniqueDeduped)) // [1, 2, 3]
|
|
1781
|
+
* Chunk.toArray(Chunk.dedupe(unique)) // => [1, 2, 3]
|
|
1845
1782
|
* ```
|
|
1846
1783
|
*
|
|
1847
|
-
* @category
|
|
1784
|
+
* @category deduplication
|
|
1848
1785
|
* @since 2.0.0
|
|
1849
1786
|
*/
|
|
1850
1787
|
export const dedupe = self => fromArrayUnsafe(RA.dedupe(toReadonlyArray(self)));
|
|
@@ -1853,17 +1790,15 @@ export const dedupe = self => fromArrayUnsafe(RA.dedupe(toReadonlyArray(self)));
|
|
|
1853
1790
|
*
|
|
1854
1791
|
* **Example** (Removing adjacent duplicates)
|
|
1855
1792
|
*
|
|
1856
|
-
* ```ts
|
|
1793
|
+
* ```ts import.meta.vitest
|
|
1857
1794
|
* import { Chunk } from "effect"
|
|
1858
1795
|
*
|
|
1859
1796
|
* const chunk = Chunk.make(1, 1, 2, 2, 2, 3, 1, 1)
|
|
1860
|
-
*
|
|
1861
|
-
* console.log(Chunk.toArray(result)) // [1, 2, 3, 1]
|
|
1797
|
+
* Chunk.toArray(Chunk.dedupeAdjacent(chunk)) // => [1, 2, 3, 1]
|
|
1862
1798
|
*
|
|
1863
1799
|
* // Only removes adjacent duplicates, not all duplicates
|
|
1864
1800
|
* const mixed = Chunk.make("a", "a", "b", "a", "a")
|
|
1865
|
-
*
|
|
1866
|
-
* console.log(Chunk.toArray(mixedResult)) // ["a", "b", "a"]
|
|
1801
|
+
* Chunk.toArray(Chunk.dedupeAdjacent(mixed)) // => ["a", "b", "a"]
|
|
1867
1802
|
* ```
|
|
1868
1803
|
*
|
|
1869
1804
|
* @category filtering
|
|
@@ -1879,7 +1814,7 @@ export const dedupeAdjacent = self => fromArrayUnsafe(RA.dedupeAdjacent(self));
|
|
|
1879
1814
|
*
|
|
1880
1815
|
* **Example** (Unzipping pairs)
|
|
1881
1816
|
*
|
|
1882
|
-
* ```ts
|
|
1817
|
+
* ```ts import.meta.vitest
|
|
1883
1818
|
* import { Chunk } from "effect"
|
|
1884
1819
|
*
|
|
1885
1820
|
* const pairs = Chunk.make(
|
|
@@ -1888,17 +1823,17 @@ export const dedupeAdjacent = self => fromArrayUnsafe(RA.dedupeAdjacent(self));
|
|
|
1888
1823
|
* [3, "c"] as const
|
|
1889
1824
|
* )
|
|
1890
1825
|
* const [numbers, letters] = Chunk.unzip(pairs)
|
|
1891
|
-
*
|
|
1892
|
-
*
|
|
1826
|
+
* Chunk.toArray(numbers) // => [1, 2, 3]
|
|
1827
|
+
* Chunk.toArray(letters) // => ["a", "b", "c"]
|
|
1893
1828
|
*
|
|
1894
1829
|
* // Empty chunk
|
|
1895
1830
|
* const empty = Chunk.empty<[number, string]>()
|
|
1896
1831
|
* const [emptyNums, emptyStrs] = Chunk.unzip(empty)
|
|
1897
|
-
*
|
|
1898
|
-
*
|
|
1832
|
+
* Chunk.toArray(emptyNums) // => []
|
|
1833
|
+
* Chunk.toArray(emptyStrs) // => []
|
|
1899
1834
|
* ```
|
|
1900
1835
|
*
|
|
1901
|
-
* @category
|
|
1836
|
+
* @category splitting
|
|
1902
1837
|
* @since 2.0.0
|
|
1903
1838
|
*/
|
|
1904
1839
|
export const unzip = self => {
|
|
@@ -1910,19 +1845,17 @@ export const unzip = self => {
|
|
|
1910
1845
|
*
|
|
1911
1846
|
* **Example** (Zipping chunks with a function)
|
|
1912
1847
|
*
|
|
1913
|
-
* ```ts
|
|
1848
|
+
* ```ts import.meta.vitest
|
|
1914
1849
|
* import { Chunk } from "effect"
|
|
1915
1850
|
*
|
|
1916
1851
|
* const numbers = Chunk.make(1, 2, 3)
|
|
1917
1852
|
* const letters = Chunk.make("a", "b", "c")
|
|
1918
|
-
*
|
|
1919
|
-
* console.log(Chunk.toArray(result)) // ["1-a", "2-b", "3-c"]
|
|
1853
|
+
* Chunk.toArray(Chunk.zipWith(numbers, letters, (n, l) => `${n}-${l}`)) // => ["1-a", "2-b", "3-c"]
|
|
1920
1854
|
*
|
|
1921
1855
|
* // Different lengths - takes minimum
|
|
1922
1856
|
* const short = Chunk.make(1, 2)
|
|
1923
1857
|
* const long = Chunk.make("a", "b", "c", "d")
|
|
1924
|
-
*
|
|
1925
|
-
* console.log(Chunk.toArray(mixed)) // [[1, "a"], [2, "b"]]
|
|
1858
|
+
* Chunk.toArray(Chunk.zipWith(short, long, (n, l) => [n, l])) // => [[1, "a"], [2, "b"]]
|
|
1926
1859
|
* ```
|
|
1927
1860
|
*
|
|
1928
1861
|
* @category zipping
|
|
@@ -1934,19 +1867,17 @@ export const zipWith = /*#__PURE__*/dual(3, (self, that, f) => fromArrayUnsafe(R
|
|
|
1934
1867
|
*
|
|
1935
1868
|
* **Example** (Zipping chunks)
|
|
1936
1869
|
*
|
|
1937
|
-
* ```ts
|
|
1870
|
+
* ```ts import.meta.vitest
|
|
1938
1871
|
* import { Chunk } from "effect"
|
|
1939
1872
|
*
|
|
1940
1873
|
* const numbers = Chunk.make(1, 2, 3)
|
|
1941
1874
|
* const letters = Chunk.make("a", "b", "c")
|
|
1942
|
-
*
|
|
1943
|
-
* console.log(Chunk.toArray(result)) // [[1, "a"], [2, "b"], [3, "c"]]
|
|
1875
|
+
* Chunk.toArray(Chunk.zip(numbers, letters)) // => [[1, "a"], [2, "b"], [3, "c"]]
|
|
1944
1876
|
*
|
|
1945
1877
|
* // Different lengths - takes minimum length
|
|
1946
1878
|
* const short = Chunk.make(1, 2)
|
|
1947
1879
|
* const long = Chunk.make("a", "b", "c", "d")
|
|
1948
|
-
*
|
|
1949
|
-
* console.log(Chunk.toArray(zipped)) // [[1, "a"], [2, "b"]]
|
|
1880
|
+
* Chunk.toArray(Chunk.zip(short, long)) // => [[1, "a"], [2, "b"]]
|
|
1950
1881
|
* ```
|
|
1951
1882
|
*
|
|
1952
1883
|
* @category zipping
|
|
@@ -1958,23 +1889,20 @@ export const zip = /*#__PURE__*/dual(2, (self, that) => zipWith(self, that, (a,
|
|
|
1958
1889
|
*
|
|
1959
1890
|
* **Example** (Removing an element)
|
|
1960
1891
|
*
|
|
1961
|
-
* ```ts
|
|
1892
|
+
* ```ts import.meta.vitest
|
|
1962
1893
|
* import { Chunk } from "effect"
|
|
1963
1894
|
*
|
|
1964
1895
|
* const chunk = Chunk.make("a", "b", "c", "d")
|
|
1965
|
-
*
|
|
1966
|
-
* console.log(Chunk.toArray(result)) // ["a", "c", "d"]
|
|
1896
|
+
* Chunk.toArray(Chunk.remove(chunk, 1)) // => ["a", "c", "d"]
|
|
1967
1897
|
*
|
|
1968
1898
|
* // Remove first element
|
|
1969
|
-
*
|
|
1970
|
-
* console.log(Chunk.toArray(removeFirst)) // ["b", "c", "d"]
|
|
1899
|
+
* Chunk.toArray(Chunk.remove(chunk, 0)) // => ["b", "c", "d"]
|
|
1971
1900
|
*
|
|
1972
1901
|
* // Index out of bounds returns same chunk
|
|
1973
|
-
*
|
|
1974
|
-
* console.log(Chunk.toArray(outOfBounds)) // ["a", "b", "c", "d"]
|
|
1902
|
+
* Chunk.toArray(Chunk.remove(chunk, 10)) // => ["a", "b", "c", "d"]
|
|
1975
1903
|
* ```
|
|
1976
1904
|
*
|
|
1977
|
-
* @category
|
|
1905
|
+
* @category transforming
|
|
1978
1906
|
* @since 2.0.0
|
|
1979
1907
|
*/
|
|
1980
1908
|
export const remove = /*#__PURE__*/dual(2, (self, i) => fromArrayUnsafe(RA.remove(toReadonlyArray(self), i)));
|
|
@@ -1984,23 +1912,20 @@ export const remove = /*#__PURE__*/dual(2, (self, i) => fromArrayUnsafe(RA.remov
|
|
|
1984
1912
|
*
|
|
1985
1913
|
* **Example** (Modifying an element)
|
|
1986
1914
|
*
|
|
1987
|
-
* ```ts
|
|
1988
|
-
* import { Chunk } from "effect"
|
|
1915
|
+
* ```ts import.meta.vitest
|
|
1916
|
+
* import { Chunk, Option } from "effect"
|
|
1989
1917
|
*
|
|
1990
1918
|
* const chunk = Chunk.make(1, 2, 3, 4)
|
|
1991
|
-
*
|
|
1992
|
-
* console.log(result) // Option.some(Chunk.make(1, 20, 3, 4))
|
|
1919
|
+
* Chunk.modify(chunk, 1, (n) => n * 10) // => Option.some(Chunk.make(1, 20, 3, 4))
|
|
1993
1920
|
*
|
|
1994
1921
|
* // Index out of bounds returns None
|
|
1995
|
-
*
|
|
1996
|
-
* console.log(outOfBounds) // Option.none()
|
|
1922
|
+
* chunk.pipe(Chunk.modify(10, (n) => n * 10)) // => Option.none()
|
|
1997
1923
|
*
|
|
1998
1924
|
* // Negative index returns None
|
|
1999
|
-
*
|
|
2000
|
-
* console.log(negative) // Option.none()
|
|
1925
|
+
* chunk.pipe(Chunk.modify(-1, (n) => n * 10)) // => Option.none()
|
|
2001
1926
|
* ```
|
|
2002
1927
|
*
|
|
2003
|
-
* @category
|
|
1928
|
+
* @category transforming
|
|
2004
1929
|
* @since 2.0.0
|
|
2005
1930
|
*/
|
|
2006
1931
|
export const modify = /*#__PURE__*/dual(3, (self, i, f) => pipe(RA.modify(toReadonlyArray(self), i, f), O.map(fromArrayUnsafe)));
|
|
@@ -2010,23 +1935,20 @@ export const modify = /*#__PURE__*/dual(3, (self, i, f) => pipe(RA.modify(toRead
|
|
|
2010
1935
|
*
|
|
2011
1936
|
* **Example** (Replacing an element)
|
|
2012
1937
|
*
|
|
2013
|
-
* ```ts
|
|
2014
|
-
* import { Chunk } from "effect"
|
|
1938
|
+
* ```ts import.meta.vitest
|
|
1939
|
+
* import { Chunk, Option } from "effect"
|
|
2015
1940
|
*
|
|
2016
1941
|
* const chunk = Chunk.make("a", "b", "c", "d")
|
|
2017
|
-
*
|
|
2018
|
-
* console.log(result) // Option.some(Chunk.make("a", "X", "c", "d"))
|
|
1942
|
+
* Chunk.replace(chunk, 1, "X") // => Option.some(Chunk.make("a", "X", "c", "d"))
|
|
2019
1943
|
*
|
|
2020
1944
|
* // Index out of bounds returns None
|
|
2021
|
-
*
|
|
2022
|
-
* console.log(outOfBounds) // Option.none()
|
|
1945
|
+
* chunk.pipe(Chunk.replace(10, "Y")) // => Option.none()
|
|
2023
1946
|
*
|
|
2024
1947
|
* // Negative index returns None
|
|
2025
|
-
*
|
|
2026
|
-
* console.log(negative) // Option.none()
|
|
1948
|
+
* chunk.pipe(Chunk.replace(-1, "Z")) // => Option.none()
|
|
2027
1949
|
* ```
|
|
2028
1950
|
*
|
|
2029
|
-
* @category
|
|
1951
|
+
* @category transforming
|
|
2030
1952
|
* @since 2.0.0
|
|
2031
1953
|
*/
|
|
2032
1954
|
export const replace = /*#__PURE__*/dual(3, (self, i, b) => modify(self, i, () => b));
|
|
@@ -2039,11 +1961,10 @@ export const replace = /*#__PURE__*/dual(3, (self, i, b) => modify(self, i, () =
|
|
|
2039
1961
|
*
|
|
2040
1962
|
* **Example** (Generating chunks from indices)
|
|
2041
1963
|
*
|
|
2042
|
-
* ```ts
|
|
1964
|
+
* ```ts import.meta.vitest
|
|
2043
1965
|
* import { Chunk } from "effect"
|
|
2044
1966
|
*
|
|
2045
|
-
*
|
|
2046
|
-
* console.log(Chunk.toArray(chunk)) // [0, 2, 4, 6, 8]
|
|
1967
|
+
* Chunk.toArray(Chunk.makeBy(5, (i) => i * 2)) // => [0, 2, 4, 6, 8]
|
|
2047
1968
|
* ```
|
|
2048
1969
|
*
|
|
2049
1970
|
* @category constructors
|
|
@@ -2061,11 +1982,10 @@ export const makeBy = /*#__PURE__*/dual(2, (n, f) => fromIterable(RA.makeBy(n, f
|
|
|
2061
1982
|
*
|
|
2062
1983
|
* **Example** (Creating a range)
|
|
2063
1984
|
*
|
|
2064
|
-
* ```ts
|
|
1985
|
+
* ```ts import.meta.vitest
|
|
2065
1986
|
* import { Chunk } from "effect"
|
|
2066
1987
|
*
|
|
2067
|
-
*
|
|
2068
|
-
* console.log(Chunk.toArray(chunk)) // [1, 2, 3, 4, 5]
|
|
1988
|
+
* Chunk.toArray(Chunk.range(1, 5)) // => [1, 2, 3, 4, 5]
|
|
2069
1989
|
* ```
|
|
2070
1990
|
*
|
|
2071
1991
|
* @category constructors
|
|
@@ -2080,24 +2000,23 @@ export const range = (start, end) => start <= end ? makeBy(end - start + 1, i =>
|
|
|
2080
2000
|
*
|
|
2081
2001
|
* **Example** (Checking membership)
|
|
2082
2002
|
*
|
|
2083
|
-
* ```ts
|
|
2003
|
+
* ```ts import.meta.vitest
|
|
2084
2004
|
* import { Chunk } from "effect"
|
|
2085
2005
|
*
|
|
2086
2006
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
2087
|
-
*
|
|
2088
|
-
*
|
|
2007
|
+
* Chunk.contains(chunk, 3) // => true
|
|
2008
|
+
* Chunk.contains(chunk, 6) // => false
|
|
2089
2009
|
*
|
|
2090
2010
|
* // Works with strings
|
|
2091
2011
|
* const words = Chunk.make("apple", "banana", "cherry")
|
|
2092
|
-
*
|
|
2093
|
-
*
|
|
2012
|
+
* Chunk.contains(words, "banana") // => true
|
|
2013
|
+
* Chunk.contains(words, "grape") // => false
|
|
2094
2014
|
*
|
|
2095
2015
|
* // Empty chunk
|
|
2096
|
-
*
|
|
2097
|
-
* console.log(Chunk.contains(empty, 1)) // false
|
|
2016
|
+
* Chunk.contains(Chunk.empty<number>(), 1) // => false
|
|
2098
2017
|
* ```
|
|
2099
2018
|
*
|
|
2100
|
-
* @category
|
|
2019
|
+
* @category predicates
|
|
2101
2020
|
* @since 2.0.0
|
|
2102
2021
|
*/
|
|
2103
2022
|
export const contains = RA.contains;
|
|
@@ -2106,7 +2025,7 @@ export const contains = RA.contains;
|
|
|
2106
2025
|
*
|
|
2107
2026
|
* **Example** (Checking membership with custom equivalence)
|
|
2108
2027
|
*
|
|
2109
|
-
* ```ts
|
|
2028
|
+
* ```ts import.meta.vitest
|
|
2110
2029
|
* import { Chunk } from "effect"
|
|
2111
2030
|
*
|
|
2112
2031
|
* const chunk = Chunk.make({ id: 1, name: "Alice" }, { id: 2, name: "Bob" })
|
|
@@ -2115,19 +2034,19 @@ export const contains = RA.contains;
|
|
|
2115
2034
|
* const containsById = Chunk.containsWith<{ id: number; name: string }>((a, b) =>
|
|
2116
2035
|
* a.id === b.id
|
|
2117
2036
|
* )
|
|
2118
|
-
*
|
|
2119
|
-
*
|
|
2037
|
+
* containsById(chunk, { id: 1, name: "Different" }) // => true
|
|
2038
|
+
* containsById(chunk, { id: 3, name: "Charlie" }) // => false
|
|
2120
2039
|
*
|
|
2121
2040
|
* // Case-insensitive string comparison
|
|
2122
2041
|
* const words = Chunk.make("Apple", "Banana", "Cherry")
|
|
2123
2042
|
* const containsCaseInsensitive = Chunk.containsWith<string>((a, b) =>
|
|
2124
2043
|
* a.toLowerCase() === b.toLowerCase()
|
|
2125
2044
|
* )
|
|
2126
|
-
*
|
|
2127
|
-
*
|
|
2045
|
+
* containsCaseInsensitive(words, "apple") // => true
|
|
2046
|
+
* containsCaseInsensitive(words, "grape") // => false
|
|
2128
2047
|
* ```
|
|
2129
2048
|
*
|
|
2130
|
-
* @category
|
|
2049
|
+
* @category predicates
|
|
2131
2050
|
* @since 2.0.0
|
|
2132
2051
|
*/
|
|
2133
2052
|
export const containsWith = RA.containsWith;
|
|
@@ -2137,17 +2056,14 @@ export const containsWith = RA.containsWith;
|
|
|
2137
2056
|
*
|
|
2138
2057
|
* **Example** (Finding the first matching element)
|
|
2139
2058
|
*
|
|
2140
|
-
* ```ts
|
|
2059
|
+
* ```ts import.meta.vitest
|
|
2141
2060
|
* import { Chunk, Option } from "effect"
|
|
2142
2061
|
*
|
|
2143
2062
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
2144
|
-
*
|
|
2145
|
-
* console.log(Option.isSome(result)) // true
|
|
2146
|
-
* console.log(Option.getOrElse(result, () => 0)) // 4
|
|
2063
|
+
* Chunk.findFirst(chunk, (n) => n > 3) // => Option.some(4)
|
|
2147
2064
|
*
|
|
2148
2065
|
* // No match found
|
|
2149
|
-
*
|
|
2150
|
-
* console.log(Option.isNone(notFound)) // true
|
|
2066
|
+
* Chunk.findFirst(chunk, (n) => n > 10) // => Option.none()
|
|
2151
2067
|
*
|
|
2152
2068
|
* // With type refinement
|
|
2153
2069
|
* const mixed = Chunk.make(1, "hello", 2, "world", 3)
|
|
@@ -2155,10 +2071,10 @@ export const containsWith = RA.containsWith;
|
|
|
2155
2071
|
* mixed,
|
|
2156
2072
|
* (x): x is string => typeof x === "string"
|
|
2157
2073
|
* )
|
|
2158
|
-
*
|
|
2074
|
+
* firstString // => Option.some("hello")
|
|
2159
2075
|
* ```
|
|
2160
2076
|
*
|
|
2161
|
-
* @category
|
|
2077
|
+
* @category searching
|
|
2162
2078
|
* @since 2.0.0
|
|
2163
2079
|
*/
|
|
2164
2080
|
export const findFirst = RA.findFirst;
|
|
@@ -2167,23 +2083,20 @@ export const findFirst = RA.findFirst;
|
|
|
2167
2083
|
*
|
|
2168
2084
|
* **Example** (Finding the first matching index)
|
|
2169
2085
|
*
|
|
2170
|
-
* ```ts
|
|
2171
|
-
* import { Chunk } from "effect"
|
|
2086
|
+
* ```ts import.meta.vitest
|
|
2087
|
+
* import { Chunk, Option } from "effect"
|
|
2172
2088
|
*
|
|
2173
2089
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
2174
|
-
*
|
|
2175
|
-
* console.log(result) // Option.some(3)
|
|
2090
|
+
* Chunk.findFirstIndex(chunk, (n) => n > 3) // => Option.some(3)
|
|
2176
2091
|
*
|
|
2177
2092
|
* // No match found
|
|
2178
|
-
*
|
|
2179
|
-
* console.log(notFound) // Option.none()
|
|
2093
|
+
* Chunk.findFirstIndex(chunk, (n) => n > 10) // => Option.none()
|
|
2180
2094
|
*
|
|
2181
2095
|
* // Find first even number
|
|
2182
|
-
*
|
|
2183
|
-
* console.log(firstEven) // Option.some(1)
|
|
2096
|
+
* Chunk.findFirstIndex(chunk, (n) => n % 2 === 0) // => Option.some(1)
|
|
2184
2097
|
* ```
|
|
2185
2098
|
*
|
|
2186
|
-
* @category
|
|
2099
|
+
* @category searching
|
|
2187
2100
|
* @since 2.0.0
|
|
2188
2101
|
*/
|
|
2189
2102
|
export const findFirstIndex = /*#__PURE__*/dual(2, (self, predicate) => RA.findFirstIndex(self, predicate));
|
|
@@ -2192,24 +2105,20 @@ export const findFirstIndex = /*#__PURE__*/dual(2, (self, predicate) => RA.findF
|
|
|
2192
2105
|
*
|
|
2193
2106
|
* **Example** (Finding the last matching element)
|
|
2194
2107
|
*
|
|
2195
|
-
* ```ts
|
|
2108
|
+
* ```ts import.meta.vitest
|
|
2196
2109
|
* import { Chunk, Option } from "effect"
|
|
2197
2110
|
*
|
|
2198
2111
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
2199
|
-
*
|
|
2200
|
-
* console.log(Option.isSome(result)) // true
|
|
2201
|
-
* console.log(Option.getOrElse(result, () => 0)) // 3
|
|
2112
|
+
* Chunk.findLast(chunk, (n) => n < 4) // => Option.some(3)
|
|
2202
2113
|
*
|
|
2203
2114
|
* // No match found
|
|
2204
|
-
*
|
|
2205
|
-
* console.log(Option.isNone(notFound)) // true
|
|
2115
|
+
* Chunk.findLast(chunk, (n) => n > 10) // => Option.none()
|
|
2206
2116
|
*
|
|
2207
2117
|
* // Find last even number
|
|
2208
|
-
*
|
|
2209
|
-
* console.log(Option.getOrElse(lastEven, () => 0)) // 4
|
|
2118
|
+
* Chunk.findLast(chunk, (n) => n % 2 === 0) // => Option.some(4)
|
|
2210
2119
|
* ```
|
|
2211
2120
|
*
|
|
2212
|
-
* @category
|
|
2121
|
+
* @category searching
|
|
2213
2122
|
* @since 2.0.0
|
|
2214
2123
|
*/
|
|
2215
2124
|
export const findLast = RA.findLast;
|
|
@@ -2218,23 +2127,20 @@ export const findLast = RA.findLast;
|
|
|
2218
2127
|
*
|
|
2219
2128
|
* **Example** (Finding the last matching index)
|
|
2220
2129
|
*
|
|
2221
|
-
* ```ts
|
|
2222
|
-
* import { Chunk } from "effect"
|
|
2130
|
+
* ```ts import.meta.vitest
|
|
2131
|
+
* import { Chunk, Option } from "effect"
|
|
2223
2132
|
*
|
|
2224
2133
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
2225
|
-
*
|
|
2226
|
-
* console.log(result) // Option.some(2)
|
|
2134
|
+
* Chunk.findLastIndex(chunk, (n) => n < 4) // => Option.some(2)
|
|
2227
2135
|
*
|
|
2228
2136
|
* // No match found
|
|
2229
|
-
*
|
|
2230
|
-
* console.log(notFound) // Option.none()
|
|
2137
|
+
* Chunk.findLastIndex(chunk, (n) => n > 10) // => Option.none()
|
|
2231
2138
|
*
|
|
2232
2139
|
* // Find last even number index
|
|
2233
|
-
*
|
|
2234
|
-
* console.log(lastEven) // Option.some(3)
|
|
2140
|
+
* Chunk.findLastIndex(chunk, (n) => n % 2 === 0) // => Option.some(3)
|
|
2235
2141
|
* ```
|
|
2236
2142
|
*
|
|
2237
|
-
* @category
|
|
2143
|
+
* @category searching
|
|
2238
2144
|
* @since 2.0.0
|
|
2239
2145
|
*/
|
|
2240
2146
|
export const findLastIndex = /*#__PURE__*/dual(2, (self, predicate) => RA.findLastIndex(self, predicate));
|
|
@@ -2243,26 +2149,24 @@ export const findLastIndex = /*#__PURE__*/dual(2, (self, predicate) => RA.findLa
|
|
|
2243
2149
|
*
|
|
2244
2150
|
* **Example** (Checking every element)
|
|
2245
2151
|
*
|
|
2246
|
-
* ```ts
|
|
2152
|
+
* ```ts import.meta.vitest
|
|
2247
2153
|
* import { Chunk } from "effect"
|
|
2248
2154
|
*
|
|
2249
2155
|
* const allPositive = Chunk.make(1, 2, 3, 4, 5)
|
|
2250
|
-
*
|
|
2251
|
-
*
|
|
2156
|
+
* Chunk.every(allPositive, (n) => n > 0) // => true
|
|
2157
|
+
* Chunk.every(allPositive, (n) => n > 3) // => false
|
|
2252
2158
|
*
|
|
2253
2159
|
* // Empty chunk returns true
|
|
2254
|
-
*
|
|
2255
|
-
* console.log(Chunk.every(empty, (n) => n > 0)) // true
|
|
2160
|
+
* Chunk.every(Chunk.empty<number>(), (n) => n > 0) // => true
|
|
2256
2161
|
*
|
|
2257
2162
|
* // Type refinement
|
|
2258
2163
|
* const mixed = Chunk.make(1, 2, 3)
|
|
2259
2164
|
* if (Chunk.every(mixed, (x): x is number => typeof x === "number")) {
|
|
2260
2165
|
* // mixed is now typed as Chunk<number>
|
|
2261
|
-
* console.log("All elements are numbers")
|
|
2262
2166
|
* }
|
|
2263
2167
|
* ```
|
|
2264
2168
|
*
|
|
2265
|
-
* @category
|
|
2169
|
+
* @category guards
|
|
2266
2170
|
* @since 2.0.0
|
|
2267
2171
|
*/
|
|
2268
2172
|
export const every = /*#__PURE__*/dual(2, (self, refinement) => RA.fromIterable(self).every(refinement));
|
|
@@ -2271,23 +2175,22 @@ export const every = /*#__PURE__*/dual(2, (self, refinement) => RA.fromIterable(
|
|
|
2271
2175
|
*
|
|
2272
2176
|
* **Example** (Checking for some matching element)
|
|
2273
2177
|
*
|
|
2274
|
-
* ```ts
|
|
2178
|
+
* ```ts import.meta.vitest
|
|
2275
2179
|
* import { Chunk } from "effect"
|
|
2276
2180
|
*
|
|
2277
2181
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
2278
|
-
*
|
|
2279
|
-
*
|
|
2182
|
+
* Chunk.some(chunk, (n) => n > 4) // => true
|
|
2183
|
+
* Chunk.some(chunk, (n) => n > 10) // => false
|
|
2280
2184
|
*
|
|
2281
2185
|
* // Empty chunk returns false
|
|
2282
|
-
*
|
|
2283
|
-
* console.log(Chunk.some(empty, (n) => n > 0)) // false
|
|
2186
|
+
* Chunk.some(Chunk.empty<number>(), (n) => n > 0) // => false
|
|
2284
2187
|
*
|
|
2285
2188
|
* // Check for specific value
|
|
2286
2189
|
* const words = Chunk.make("apple", "banana", "cherry")
|
|
2287
|
-
*
|
|
2190
|
+
* Chunk.some(words, (word) => word.includes("ban")) // => true
|
|
2288
2191
|
* ```
|
|
2289
2192
|
*
|
|
2290
|
-
* @category
|
|
2193
|
+
* @category guards
|
|
2291
2194
|
* @since 2.0.0
|
|
2292
2195
|
*/
|
|
2293
2196
|
export const some = /*#__PURE__*/dual(2, (self, predicate) => RA.fromIterable(self).some(predicate));
|
|
@@ -2296,24 +2199,20 @@ export const some = /*#__PURE__*/dual(2, (self, predicate) => RA.fromIterable(se
|
|
|
2296
2199
|
*
|
|
2297
2200
|
* **Example** (Joining chunks into a string)
|
|
2298
2201
|
*
|
|
2299
|
-
* ```ts
|
|
2202
|
+
* ```ts import.meta.vitest
|
|
2300
2203
|
* import { Chunk } from "effect"
|
|
2301
2204
|
*
|
|
2302
2205
|
* const chunk = Chunk.make("apple", "banana", "cherry")
|
|
2303
|
-
*
|
|
2304
|
-
* console.log(result) // "apple, banana, cherry"
|
|
2206
|
+
* Chunk.join(chunk, ", ") // => "apple, banana, cherry"
|
|
2305
2207
|
*
|
|
2306
2208
|
* // With different separator
|
|
2307
|
-
*
|
|
2308
|
-
* console.log(withPipe) // "apple | banana | cherry"
|
|
2209
|
+
* Chunk.join(chunk, " | ") // => "apple | banana | cherry"
|
|
2309
2210
|
*
|
|
2310
2211
|
* // Empty chunk
|
|
2311
|
-
*
|
|
2312
|
-
* console.log(Chunk.join(empty, ", ")) // ""
|
|
2212
|
+
* Chunk.join(Chunk.empty<string>(), ", ") // => ""
|
|
2313
2213
|
*
|
|
2314
2214
|
* // Single element
|
|
2315
|
-
*
|
|
2316
|
-
* console.log(Chunk.join(single, ", ")) // "hello"
|
|
2215
|
+
* Chunk.join(Chunk.make("hello"), ", ") // => "hello"
|
|
2317
2216
|
* ```
|
|
2318
2217
|
*
|
|
2319
2218
|
* @category folding
|
|
@@ -2325,21 +2224,18 @@ export const join = RA.join;
|
|
|
2325
2224
|
*
|
|
2326
2225
|
* **Example** (Reducing from the left)
|
|
2327
2226
|
*
|
|
2328
|
-
* ```ts
|
|
2227
|
+
* ```ts import.meta.vitest
|
|
2329
2228
|
* import { Chunk } from "effect"
|
|
2330
2229
|
*
|
|
2331
2230
|
* const chunk = Chunk.make(1, 2, 3, 4, 5)
|
|
2332
|
-
*
|
|
2333
|
-
* console.log(sum) // 15
|
|
2231
|
+
* Chunk.reduce(chunk, 0, (acc, n) => acc + n) // => 15
|
|
2334
2232
|
*
|
|
2335
2233
|
* // String concatenation with index
|
|
2336
2234
|
* const words = Chunk.make("a", "b", "c")
|
|
2337
|
-
*
|
|
2338
|
-
* console.log(result) // "0:a 1:b 2:c "
|
|
2235
|
+
* Chunk.reduce(words, "", (acc, word, i) => acc + `${i}:${word} `).trimEnd() // => "0:a 1:b 2:c"
|
|
2339
2236
|
*
|
|
2340
2237
|
* // Find maximum
|
|
2341
|
-
*
|
|
2342
|
-
* console.log(max) // 5
|
|
2238
|
+
* Chunk.reduce(chunk, -Infinity, (acc, n) => Math.max(acc, n)) // => 5
|
|
2343
2239
|
* ```
|
|
2344
2240
|
*
|
|
2345
2241
|
* @category folding
|
|
@@ -2351,25 +2247,22 @@ export const reduce = RA.reduce;
|
|
|
2351
2247
|
*
|
|
2352
2248
|
* **Example** (Reducing from the right)
|
|
2353
2249
|
*
|
|
2354
|
-
* ```ts
|
|
2250
|
+
* ```ts import.meta.vitest
|
|
2355
2251
|
* import { Chunk } from "effect"
|
|
2356
2252
|
*
|
|
2357
2253
|
* const chunk = Chunk.make(1, 2, 3, 4)
|
|
2358
|
-
*
|
|
2359
|
-
* console.log(result) // 10
|
|
2254
|
+
* Chunk.reduceRight(chunk, 0, (acc, n) => acc + n) // => 10
|
|
2360
2255
|
*
|
|
2361
2256
|
* // String building (right to left)
|
|
2362
2257
|
* const words = Chunk.make("a", "b", "c")
|
|
2363
|
-
*
|
|
2258
|
+
* Chunk.reduceRight(
|
|
2364
2259
|
* words,
|
|
2365
2260
|
* "",
|
|
2366
2261
|
* (acc, word, i) => acc + `${i}:${word} `
|
|
2367
|
-
* )
|
|
2368
|
-
* console.log(reversed) // "2:c 1:b 0:a "
|
|
2262
|
+
* ).trim() // => "2:c 1:b 0:a"
|
|
2369
2263
|
*
|
|
2370
2264
|
* // Subtract from right to left
|
|
2371
|
-
*
|
|
2372
|
-
* console.log(subtraction) // -2 (4 - (3 - (2 - (1 - 0))))
|
|
2265
|
+
* Chunk.reduceRight(chunk, 0, (acc, n) => n - acc) // => -2
|
|
2373
2266
|
* ```
|
|
2374
2267
|
*
|
|
2375
2268
|
* @category folding
|
|
@@ -2382,7 +2275,7 @@ export const reduceRight = RA.reduceRight;
|
|
|
2382
2275
|
*
|
|
2383
2276
|
* **Example** (Computing difference with custom equivalence)
|
|
2384
2277
|
*
|
|
2385
|
-
* ```ts
|
|
2278
|
+
* ```ts import.meta.vitest
|
|
2386
2279
|
* import { Chunk } from "effect"
|
|
2387
2280
|
*
|
|
2388
2281
|
* const chunk1 = Chunk.make({ id: 1, name: "Alice" }, { id: 2, name: "Bob" })
|
|
@@ -2392,8 +2285,7 @@ export const reduceRight = RA.reduceRight;
|
|
|
2392
2285
|
* const byId = Chunk.differenceWith<{ id: number; name: string }>((a, b) =>
|
|
2393
2286
|
* a.id === b.id
|
|
2394
2287
|
* )
|
|
2395
|
-
*
|
|
2396
|
-
* console.log(Chunk.toArray(result)) // [{ id: 2, name: "Bob" }]
|
|
2288
|
+
* Chunk.toArray(byId(chunk1, chunk2)) // => [{ id: 2, name: "Bob" }]
|
|
2397
2289
|
*
|
|
2398
2290
|
* // String comparison case-insensitive
|
|
2399
2291
|
* const words1 = Chunk.make("Apple", "Banana", "Cherry")
|
|
@@ -2401,8 +2293,7 @@ export const reduceRight = RA.reduceRight;
|
|
|
2401
2293
|
* const caseInsensitive = Chunk.differenceWith<string>((a, b) =>
|
|
2402
2294
|
* a.toLowerCase() === b.toLowerCase()
|
|
2403
2295
|
* )
|
|
2404
|
-
*
|
|
2405
|
-
* console.log(Chunk.toArray(wordDiff)) // ["Banana", "Cherry"]
|
|
2296
|
+
* Chunk.toArray(caseInsensitive(words1, words2)) // => ["Banana", "Cherry"]
|
|
2406
2297
|
* ```
|
|
2407
2298
|
*
|
|
2408
2299
|
* @category filtering
|
|
@@ -2417,24 +2308,20 @@ export const differenceWith = isEquivalent => {
|
|
|
2417
2308
|
*
|
|
2418
2309
|
* **Example** (Computing chunk difference)
|
|
2419
2310
|
*
|
|
2420
|
-
* ```ts
|
|
2311
|
+
* ```ts import.meta.vitest
|
|
2421
2312
|
* import { Chunk } from "effect"
|
|
2422
2313
|
*
|
|
2423
2314
|
* const chunk1 = Chunk.make(1, 2, 3, 4, 5)
|
|
2424
2315
|
* const chunk2 = Chunk.make(3, 4, 6, 7)
|
|
2425
|
-
*
|
|
2426
|
-
* console.log(Chunk.toArray(result)) // [1, 2, 5]
|
|
2316
|
+
* Chunk.toArray(Chunk.difference(chunk1, chunk2)) // => [1, 2, 5]
|
|
2427
2317
|
*
|
|
2428
2318
|
* // String difference
|
|
2429
2319
|
* const words1 = Chunk.make("apple", "banana", "cherry")
|
|
2430
2320
|
* const words2 = Chunk.make("banana", "grape")
|
|
2431
|
-
*
|
|
2432
|
-
* console.log(Chunk.toArray(wordDiff)) // ["apple", "cherry"]
|
|
2321
|
+
* Chunk.toArray(Chunk.difference(words1, words2)) // => ["apple", "cherry"]
|
|
2433
2322
|
*
|
|
2434
2323
|
* // Empty second chunk returns original
|
|
2435
|
-
*
|
|
2436
|
-
* const unchanged = Chunk.difference(chunk1, empty)
|
|
2437
|
-
* console.log(Chunk.toArray(unchanged)) // [1, 2, 3, 4, 5]
|
|
2324
|
+
* Chunk.toArray(Chunk.difference(chunk1, Chunk.empty<number>())) // => [1, 2, 3, 4, 5]
|
|
2438
2325
|
* ```
|
|
2439
2326
|
*
|
|
2440
2327
|
* @category filtering
|