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/Option.d.ts
CHANGED
|
@@ -163,17 +163,16 @@ export declare namespace Option {
|
|
|
163
163
|
*
|
|
164
164
|
* **Example** (Extracting the value type)
|
|
165
165
|
*
|
|
166
|
-
* ```ts
|
|
167
|
-
* import
|
|
168
|
-
*
|
|
169
|
-
* declare const myOption: Option.Option<string>
|
|
166
|
+
* ```ts import.meta.vitest
|
|
167
|
+
* import { Option } from "effect"
|
|
170
168
|
*
|
|
171
|
-
*
|
|
172
|
-
* // ▼
|
|
169
|
+
* const myOption: Option.Option<string> = Option.some("value")
|
|
173
170
|
* type MyType = Option.Option.Value<typeof myOption>
|
|
171
|
+
*
|
|
172
|
+
* const witness: MyType = "value"
|
|
174
173
|
* ```
|
|
175
174
|
*
|
|
176
|
-
* @category
|
|
175
|
+
* @category utility types
|
|
177
176
|
* @since 2.0.0
|
|
178
177
|
*/
|
|
179
178
|
type Value<T extends Option<any>> = [T] extends [Option<infer _A>] ? _A : never;
|
|
@@ -203,7 +202,7 @@ export interface OptionUnifyIgnore {
|
|
|
203
202
|
* Use when defining higher-kinded abstractions that must accept optional-value
|
|
204
203
|
* types as one of their type-lambda inputs.
|
|
205
204
|
*
|
|
206
|
-
* @category
|
|
205
|
+
* @category utility types
|
|
207
206
|
* @since 2.0.0
|
|
208
207
|
*/
|
|
209
208
|
export interface OptionTypeLambda extends TypeLambda {
|
|
@@ -224,15 +223,12 @@ export interface OptionTypeLambda extends TypeLambda {
|
|
|
224
223
|
*
|
|
225
224
|
* **Example** (Creating an empty Option)
|
|
226
225
|
*
|
|
227
|
-
* ```ts
|
|
226
|
+
* ```ts import.meta.vitest
|
|
228
227
|
* import { Option } from "effect"
|
|
229
228
|
*
|
|
230
229
|
* // ┌─── Option<never>
|
|
231
230
|
* // ▼
|
|
232
|
-
* const noValue = Option.none()
|
|
233
|
-
*
|
|
234
|
-
* console.log(noValue)
|
|
235
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
231
|
+
* const noValue = Option.none() // => Option.none()
|
|
236
232
|
* ```
|
|
237
233
|
*
|
|
238
234
|
* @see {@link some} for the opposite operation.
|
|
@@ -256,15 +252,12 @@ export declare const none: <A = never>() => Option<A>;
|
|
|
256
252
|
*
|
|
257
253
|
* **Example** (Wrapping a value)
|
|
258
254
|
*
|
|
259
|
-
* ```ts
|
|
255
|
+
* ```ts import.meta.vitest
|
|
260
256
|
* import { Option } from "effect"
|
|
261
257
|
*
|
|
262
258
|
* // ┌─── Option<number>
|
|
263
259
|
* // ▼
|
|
264
|
-
* const value = Option.some(1)
|
|
265
|
-
*
|
|
266
|
-
* console.log(value)
|
|
267
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 1 }
|
|
260
|
+
* const value = Option.some(1) // => Option.some(1)
|
|
268
261
|
* ```
|
|
269
262
|
*
|
|
270
263
|
* @see {@link none} for the opposite operation.
|
|
@@ -288,17 +281,12 @@ export declare const some: <A>(value: A) => Option<A>;
|
|
|
288
281
|
*
|
|
289
282
|
* **Example** (Checking if a value is an Option)
|
|
290
283
|
*
|
|
291
|
-
* ```ts
|
|
284
|
+
* ```ts import.meta.vitest
|
|
292
285
|
* import { Option } from "effect"
|
|
293
286
|
*
|
|
294
|
-
*
|
|
295
|
-
* //
|
|
296
|
-
*
|
|
297
|
-
* console.log(Option.isOption(Option.none()))
|
|
298
|
-
* // Output: true
|
|
299
|
-
*
|
|
300
|
-
* console.log(Option.isOption({}))
|
|
301
|
-
* // Output: false
|
|
287
|
+
* Option.isOption(Option.some(1)) // => true
|
|
288
|
+
* Option.isOption(Option.none()) // => true
|
|
289
|
+
* Option.isOption({}) // => false
|
|
302
290
|
* ```
|
|
303
291
|
*
|
|
304
292
|
* @see {@link isNone} to check for `None` specifically
|
|
@@ -321,14 +309,11 @@ export declare const isOption: (input: unknown) => input is Option<unknown>;
|
|
|
321
309
|
*
|
|
322
310
|
* **Example** (Checking for None)
|
|
323
311
|
*
|
|
324
|
-
* ```ts
|
|
312
|
+
* ```ts import.meta.vitest
|
|
325
313
|
* import { Option } from "effect"
|
|
326
314
|
*
|
|
327
|
-
*
|
|
328
|
-
* //
|
|
329
|
-
*
|
|
330
|
-
* console.log(Option.isNone(Option.none()))
|
|
331
|
-
* // Output: true
|
|
315
|
+
* Option.isNone(Option.some(1)) // => false
|
|
316
|
+
* Option.isNone(Option.none()) // => true
|
|
332
317
|
* ```
|
|
333
318
|
*
|
|
334
319
|
* @see {@link isSome} for the opposite check.
|
|
@@ -350,14 +335,11 @@ export declare const isNone: <A>(self: Option<A>) => self is None<A>;
|
|
|
350
335
|
*
|
|
351
336
|
* **Example** (Checking for Some)
|
|
352
337
|
*
|
|
353
|
-
* ```ts
|
|
338
|
+
* ```ts import.meta.vitest
|
|
354
339
|
* import { Option } from "effect"
|
|
355
340
|
*
|
|
356
|
-
*
|
|
357
|
-
* //
|
|
358
|
-
*
|
|
359
|
-
* console.log(Option.isSome(Option.none()))
|
|
360
|
-
* // Output: false
|
|
341
|
+
* Option.isSome(Option.some(1)) // => true
|
|
342
|
+
* Option.isSome(Option.none()) // => false
|
|
361
343
|
* ```
|
|
362
344
|
*
|
|
363
345
|
* @see {@link isNone} for the opposite check.
|
|
@@ -382,16 +364,13 @@ export declare const isSome: <A>(self: Option<A>) => self is Some<A>;
|
|
|
382
364
|
*
|
|
383
365
|
* **Example** (Matching on an Option)
|
|
384
366
|
*
|
|
385
|
-
* ```ts
|
|
367
|
+
* ```ts import.meta.vitest
|
|
386
368
|
* import { Option } from "effect"
|
|
387
369
|
*
|
|
388
|
-
*
|
|
370
|
+
* Option.match(Option.some(1), {
|
|
389
371
|
* onNone: () => "Option is empty",
|
|
390
372
|
* onSome: (value) => `Option has a value: ${value}`
|
|
391
|
-
* })
|
|
392
|
-
*
|
|
393
|
-
* console.log(message)
|
|
394
|
-
* // Output: "Option has a value: 1"
|
|
373
|
+
* }) // => "Option has a value: 1"
|
|
395
374
|
* ```
|
|
396
375
|
*
|
|
397
376
|
* @see {@link getOrElse} for unwrapping with a default
|
|
@@ -416,16 +395,13 @@ export declare const match: {
|
|
|
416
395
|
*
|
|
417
396
|
* **Example** (Matching on an Option)
|
|
418
397
|
*
|
|
419
|
-
* ```ts
|
|
398
|
+
* ```ts import.meta.vitest
|
|
420
399
|
* import { Option } from "effect"
|
|
421
400
|
*
|
|
422
|
-
*
|
|
401
|
+
* Option.match(Option.some(1), {
|
|
423
402
|
* onNone: () => "Option is empty",
|
|
424
403
|
* onSome: (value) => `Option has a value: ${value}`
|
|
425
|
-
* })
|
|
426
|
-
*
|
|
427
|
-
* console.log(message)
|
|
428
|
-
* // Output: "Option has a value: 1"
|
|
404
|
+
* }) // => "Option has a value: 1"
|
|
429
405
|
* ```
|
|
430
406
|
*
|
|
431
407
|
* @see {@link getOrElse} for unwrapping with a default
|
|
@@ -453,16 +429,13 @@ export declare const match: {
|
|
|
453
429
|
*
|
|
454
430
|
* **Example** (Matching on an Option)
|
|
455
431
|
*
|
|
456
|
-
* ```ts
|
|
432
|
+
* ```ts import.meta.vitest
|
|
457
433
|
* import { Option } from "effect"
|
|
458
434
|
*
|
|
459
|
-
*
|
|
435
|
+
* Option.match(Option.some(1), {
|
|
460
436
|
* onNone: () => "Option is empty",
|
|
461
437
|
* onSome: (value) => `Option has a value: ${value}`
|
|
462
|
-
* })
|
|
463
|
-
*
|
|
464
|
-
* console.log(message)
|
|
465
|
-
* // Output: "Option has a value: 1"
|
|
438
|
+
* }) // => "Option has a value: 1"
|
|
466
439
|
* ```
|
|
467
440
|
*
|
|
468
441
|
* @see {@link getOrElse} for unwrapping with a default
|
|
@@ -491,7 +464,7 @@ export declare const match: {
|
|
|
491
464
|
*
|
|
492
465
|
* **Example** (Converting a parser to a type guard)
|
|
493
466
|
*
|
|
494
|
-
* ```ts
|
|
467
|
+
* ```ts import.meta.vitest
|
|
495
468
|
* import { Option } from "effect"
|
|
496
469
|
*
|
|
497
470
|
* type MyData = string | number
|
|
@@ -503,11 +476,8 @@ export declare const match: {
|
|
|
503
476
|
* // ▼
|
|
504
477
|
* const isString = Option.toRefinement(parseString)
|
|
505
478
|
*
|
|
506
|
-
*
|
|
507
|
-
* //
|
|
508
|
-
*
|
|
509
|
-
* console.log(isString(1))
|
|
510
|
-
* // Output: false
|
|
479
|
+
* isString("a") // => true
|
|
480
|
+
* isString(1) // => false
|
|
511
481
|
* ```
|
|
512
482
|
*
|
|
513
483
|
* @see {@link liftPredicate} for the reverse direction
|
|
@@ -532,14 +502,11 @@ export declare const toRefinement: <A, B extends A>(f: (a: A) => Option<B>) => (
|
|
|
532
502
|
*
|
|
533
503
|
* **Example** (Getting the first element)
|
|
534
504
|
*
|
|
535
|
-
* ```ts
|
|
505
|
+
* ```ts import.meta.vitest
|
|
536
506
|
* import { Option } from "effect"
|
|
537
507
|
*
|
|
538
|
-
*
|
|
539
|
-
* //
|
|
540
|
-
*
|
|
541
|
-
* console.log(Option.fromIterable([]))
|
|
542
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
508
|
+
* Option.fromIterable([1, 2, 3]) // => Option.some(1)
|
|
509
|
+
* Option.fromIterable([]) // => Option.none()
|
|
543
510
|
* ```
|
|
544
511
|
*
|
|
545
512
|
* @see {@link toArray} for the inverse direction
|
|
@@ -563,14 +530,11 @@ export declare const fromIterable: <A>(collection: Iterable<A>) => Option<A>;
|
|
|
563
530
|
*
|
|
564
531
|
* **Example** (Extracting the success side)
|
|
565
532
|
*
|
|
566
|
-
* ```ts
|
|
533
|
+
* ```ts import.meta.vitest
|
|
567
534
|
* import { Option, Result } from "effect"
|
|
568
535
|
*
|
|
569
|
-
*
|
|
570
|
-
* //
|
|
571
|
-
*
|
|
572
|
-
* console.log(Option.getSuccess(Result.fail("err")))
|
|
573
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
536
|
+
* Option.getSuccess(Result.succeed("ok")) // => Option.some("ok")
|
|
537
|
+
* Option.getSuccess(Result.fail("err")) // => Option.none()
|
|
574
538
|
* ```
|
|
575
539
|
*
|
|
576
540
|
* @see {@link getFailure} for the opposite operation.
|
|
@@ -594,14 +558,11 @@ export declare const getSuccess: <A, E>(self: Result<A, E>) => Option<A>;
|
|
|
594
558
|
*
|
|
595
559
|
* **Example** (Extracting the failure side)
|
|
596
560
|
*
|
|
597
|
-
* ```ts
|
|
561
|
+
* ```ts import.meta.vitest
|
|
598
562
|
* import { Option, Result } from "effect"
|
|
599
563
|
*
|
|
600
|
-
*
|
|
601
|
-
* //
|
|
602
|
-
*
|
|
603
|
-
* console.log(Option.getFailure(Result.fail("err")))
|
|
604
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'err' }
|
|
564
|
+
* Option.getFailure(Result.succeed("ok")) // => Option.none()
|
|
565
|
+
* Option.getFailure(Result.fail("err")) // => Option.some("err")
|
|
605
566
|
* ```
|
|
606
567
|
*
|
|
607
568
|
* @see {@link getSuccess} for the opposite operation.
|
|
@@ -626,14 +587,11 @@ export declare const getFailure: <A, E>(self: Result<A, E>) => Option<E>;
|
|
|
626
587
|
*
|
|
627
588
|
* **Example** (Unwrapping with a fallback)
|
|
628
589
|
*
|
|
629
|
-
* ```ts
|
|
590
|
+
* ```ts import.meta.vitest
|
|
630
591
|
* import { Option } from "effect"
|
|
631
592
|
*
|
|
632
|
-
*
|
|
633
|
-
* //
|
|
634
|
-
*
|
|
635
|
-
* console.log(Option.none().pipe(Option.getOrElse(() => 0)))
|
|
636
|
-
* // Output: 0
|
|
593
|
+
* Option.some(1).pipe(Option.getOrElse(() => 0)) // => 1
|
|
594
|
+
* Option.none().pipe(Option.getOrElse(() => 0)) // => 0
|
|
637
595
|
* ```
|
|
638
596
|
*
|
|
639
597
|
* @see {@link getOrNull} to fall back to `null`
|
|
@@ -660,14 +618,11 @@ export declare const getOrElse: {
|
|
|
660
618
|
*
|
|
661
619
|
* **Example** (Unwrapping with a fallback)
|
|
662
620
|
*
|
|
663
|
-
* ```ts
|
|
621
|
+
* ```ts import.meta.vitest
|
|
664
622
|
* import { Option } from "effect"
|
|
665
623
|
*
|
|
666
|
-
*
|
|
667
|
-
* //
|
|
668
|
-
*
|
|
669
|
-
* console.log(Option.none().pipe(Option.getOrElse(() => 0)))
|
|
670
|
-
* // Output: 0
|
|
624
|
+
* Option.some(1).pipe(Option.getOrElse(() => 0)) // => 1
|
|
625
|
+
* Option.none().pipe(Option.getOrElse(() => 0)) // => 0
|
|
671
626
|
* ```
|
|
672
627
|
*
|
|
673
628
|
* @see {@link getOrNull} to fall back to `null`
|
|
@@ -694,14 +649,11 @@ export declare const getOrElse: {
|
|
|
694
649
|
*
|
|
695
650
|
* **Example** (Unwrapping with a fallback)
|
|
696
651
|
*
|
|
697
|
-
* ```ts
|
|
652
|
+
* ```ts import.meta.vitest
|
|
698
653
|
* import { Option } from "effect"
|
|
699
654
|
*
|
|
700
|
-
*
|
|
701
|
-
* //
|
|
702
|
-
*
|
|
703
|
-
* console.log(Option.none().pipe(Option.getOrElse(() => 0)))
|
|
704
|
-
* // Output: 0
|
|
655
|
+
* Option.some(1).pipe(Option.getOrElse(() => 0)) // => 1
|
|
656
|
+
* Option.none().pipe(Option.getOrElse(() => 0)) // => 0
|
|
705
657
|
* ```
|
|
706
658
|
*
|
|
707
659
|
* @see {@link getOrNull} to fall back to `null`
|
|
@@ -729,14 +681,11 @@ export declare const getOrElse: {
|
|
|
729
681
|
*
|
|
730
682
|
* **Example** (Providing a fallback Option)
|
|
731
683
|
*
|
|
732
|
-
* ```ts
|
|
684
|
+
* ```ts import.meta.vitest
|
|
733
685
|
* import { Option } from "effect"
|
|
734
686
|
*
|
|
735
|
-
*
|
|
736
|
-
*
|
|
737
|
-
*
|
|
738
|
-
* console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
|
|
739
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
|
|
687
|
+
* Option.none().pipe(Option.orElse(() => Option.some("b"))) // => Option.some("b")
|
|
688
|
+
* Option.some("a").pipe(Option.orElse(() => Option.some("b"))) // => Option.some("a")
|
|
740
689
|
* ```
|
|
741
690
|
*
|
|
742
691
|
* @see {@link orElseSome} to wrap the fallback value in `Some` automatically
|
|
@@ -762,14 +711,11 @@ export declare const orElse: {
|
|
|
762
711
|
*
|
|
763
712
|
* **Example** (Providing a fallback Option)
|
|
764
713
|
*
|
|
765
|
-
* ```ts
|
|
714
|
+
* ```ts import.meta.vitest
|
|
766
715
|
* import { Option } from "effect"
|
|
767
716
|
*
|
|
768
|
-
*
|
|
769
|
-
*
|
|
770
|
-
*
|
|
771
|
-
* console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
|
|
772
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
|
|
717
|
+
* Option.none().pipe(Option.orElse(() => Option.some("b"))) // => Option.some("b")
|
|
718
|
+
* Option.some("a").pipe(Option.orElse(() => Option.some("b"))) // => Option.some("a")
|
|
773
719
|
* ```
|
|
774
720
|
*
|
|
775
721
|
* @see {@link orElseSome} to wrap the fallback value in `Some` automatically
|
|
@@ -795,14 +741,11 @@ export declare const orElse: {
|
|
|
795
741
|
*
|
|
796
742
|
* **Example** (Providing a fallback Option)
|
|
797
743
|
*
|
|
798
|
-
* ```ts
|
|
744
|
+
* ```ts import.meta.vitest
|
|
799
745
|
* import { Option } from "effect"
|
|
800
746
|
*
|
|
801
|
-
*
|
|
802
|
-
*
|
|
803
|
-
*
|
|
804
|
-
* console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
|
|
805
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
|
|
747
|
+
* Option.none().pipe(Option.orElse(() => Option.some("b"))) // => Option.some("b")
|
|
748
|
+
* Option.some("a").pipe(Option.orElse(() => Option.some("b"))) // => Option.some("a")
|
|
806
749
|
* ```
|
|
807
750
|
*
|
|
808
751
|
* @see {@link orElseSome} to wrap the fallback value in `Some` automatically
|
|
@@ -828,14 +771,11 @@ export declare const orElse: {
|
|
|
828
771
|
*
|
|
829
772
|
* **Example** (Providing a fallback value)
|
|
830
773
|
*
|
|
831
|
-
* ```ts
|
|
774
|
+
* ```ts import.meta.vitest
|
|
832
775
|
* import { Option } from "effect"
|
|
833
776
|
*
|
|
834
|
-
*
|
|
835
|
-
*
|
|
836
|
-
*
|
|
837
|
-
* console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
|
|
838
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
|
|
777
|
+
* Option.none().pipe(Option.orElseSome(() => "b")) // => Option.some("b")
|
|
778
|
+
* Option.some("a").pipe(Option.orElseSome(() => "b")) // => Option.some("a")
|
|
839
779
|
* ```
|
|
840
780
|
*
|
|
841
781
|
* @see {@link orElse} when the fallback is itself an `Option`
|
|
@@ -859,14 +799,11 @@ export declare const orElseSome: {
|
|
|
859
799
|
*
|
|
860
800
|
* **Example** (Providing a fallback value)
|
|
861
801
|
*
|
|
862
|
-
* ```ts
|
|
802
|
+
* ```ts import.meta.vitest
|
|
863
803
|
* import { Option } from "effect"
|
|
864
804
|
*
|
|
865
|
-
*
|
|
866
|
-
*
|
|
867
|
-
*
|
|
868
|
-
* console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
|
|
869
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
|
|
805
|
+
* Option.none().pipe(Option.orElseSome(() => "b")) // => Option.some("b")
|
|
806
|
+
* Option.some("a").pipe(Option.orElseSome(() => "b")) // => Option.some("a")
|
|
870
807
|
* ```
|
|
871
808
|
*
|
|
872
809
|
* @see {@link orElse} when the fallback is itself an `Option`
|
|
@@ -890,14 +827,11 @@ export declare const orElseSome: {
|
|
|
890
827
|
*
|
|
891
828
|
* **Example** (Providing a fallback value)
|
|
892
829
|
*
|
|
893
|
-
* ```ts
|
|
830
|
+
* ```ts import.meta.vitest
|
|
894
831
|
* import { Option } from "effect"
|
|
895
832
|
*
|
|
896
|
-
*
|
|
897
|
-
*
|
|
898
|
-
*
|
|
899
|
-
* console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
|
|
900
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
|
|
833
|
+
* Option.none().pipe(Option.orElseSome(() => "b")) // => Option.some("b")
|
|
834
|
+
* Option.some("a").pipe(Option.orElseSome(() => "b")) // => Option.some("a")
|
|
901
835
|
* ```
|
|
902
836
|
*
|
|
903
837
|
* @see {@link orElse} when the fallback is itself an `Option`
|
|
@@ -923,14 +857,13 @@ export declare const orElseSome: {
|
|
|
923
857
|
*
|
|
924
858
|
* **Example** (Tracking value source)
|
|
925
859
|
*
|
|
926
|
-
* ```ts
|
|
927
|
-
* import { Option } from "effect"
|
|
860
|
+
* ```ts import.meta.vitest
|
|
861
|
+
* import { Option, Result } from "effect"
|
|
928
862
|
*
|
|
929
|
-
*
|
|
930
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Failure', value: 'primary' } }
|
|
863
|
+
* const fallback = () => Option.some("fallback")
|
|
931
864
|
*
|
|
932
|
-
*
|
|
933
|
-
*
|
|
865
|
+
* Option.orElseResult(Option.some("primary"), fallback) // => Option.some(Result.fail("primary"))
|
|
866
|
+
* Option.orElseResult(Option.none(), fallback) // => Option.some(Result.succeed("fallback"))
|
|
934
867
|
* ```
|
|
935
868
|
*
|
|
936
869
|
* @see {@link orElse} for the simpler variant without source tracking
|
|
@@ -955,14 +888,13 @@ export declare const orElseResult: {
|
|
|
955
888
|
*
|
|
956
889
|
* **Example** (Tracking value source)
|
|
957
890
|
*
|
|
958
|
-
* ```ts
|
|
959
|
-
* import { Option } from "effect"
|
|
891
|
+
* ```ts import.meta.vitest
|
|
892
|
+
* import { Option, Result } from "effect"
|
|
960
893
|
*
|
|
961
|
-
*
|
|
962
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Failure', value: 'primary' } }
|
|
894
|
+
* const fallback = () => Option.some("fallback")
|
|
963
895
|
*
|
|
964
|
-
*
|
|
965
|
-
*
|
|
896
|
+
* Option.orElseResult(Option.some("primary"), fallback) // => Option.some(Result.fail("primary"))
|
|
897
|
+
* Option.orElseResult(Option.none(), fallback) // => Option.some(Result.succeed("fallback"))
|
|
966
898
|
* ```
|
|
967
899
|
*
|
|
968
900
|
* @see {@link orElse} for the simpler variant without source tracking
|
|
@@ -987,14 +919,13 @@ export declare const orElseResult: {
|
|
|
987
919
|
*
|
|
988
920
|
* **Example** (Tracking value source)
|
|
989
921
|
*
|
|
990
|
-
* ```ts
|
|
991
|
-
* import { Option } from "effect"
|
|
922
|
+
* ```ts import.meta.vitest
|
|
923
|
+
* import { Option, Result } from "effect"
|
|
992
924
|
*
|
|
993
|
-
*
|
|
994
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: { _tag: 'Failure', value: 'primary' } }
|
|
925
|
+
* const fallback = () => Option.some("fallback")
|
|
995
926
|
*
|
|
996
|
-
*
|
|
997
|
-
*
|
|
927
|
+
* Option.orElseResult(Option.some("primary"), fallback) // => Option.some(Result.fail("primary"))
|
|
928
|
+
* Option.orElseResult(Option.none(), fallback) // => Option.some(Result.succeed("fallback"))
|
|
998
929
|
* ```
|
|
999
930
|
*
|
|
1000
931
|
* @see {@link orElse} for the simpler variant without source tracking
|
|
@@ -1019,15 +950,14 @@ export declare const orElseResult: {
|
|
|
1019
950
|
*
|
|
1020
951
|
* **Example** (Finding the first Some)
|
|
1021
952
|
*
|
|
1022
|
-
* ```ts
|
|
953
|
+
* ```ts import.meta.vitest
|
|
1023
954
|
* import { Option } from "effect"
|
|
1024
955
|
*
|
|
1025
|
-
*
|
|
956
|
+
* Option.firstSomeOf([
|
|
1026
957
|
* Option.none(),
|
|
1027
958
|
* Option.some(1),
|
|
1028
959
|
* Option.some(2)
|
|
1029
|
-
* ]))
|
|
1030
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 1 }
|
|
960
|
+
* ]) // => Option.some(1)
|
|
1031
961
|
* ```
|
|
1032
962
|
*
|
|
1033
963
|
* @see {@link orElse} for a two-option fallback
|
|
@@ -1051,17 +981,12 @@ export declare const firstSomeOf: <T, C extends Iterable<Option<T>> = Iterable<O
|
|
|
1051
981
|
*
|
|
1052
982
|
* **Example** (Converting nullable values to an Option)
|
|
1053
983
|
*
|
|
1054
|
-
* ```ts
|
|
984
|
+
* ```ts import.meta.vitest
|
|
1055
985
|
* import { Option } from "effect"
|
|
1056
986
|
*
|
|
1057
|
-
*
|
|
1058
|
-
* //
|
|
1059
|
-
*
|
|
1060
|
-
* console.log(Option.fromNullishOr(null))
|
|
1061
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1062
|
-
*
|
|
1063
|
-
* console.log(Option.fromNullishOr(1))
|
|
1064
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 1 }
|
|
987
|
+
* Option.fromNullishOr(undefined) // => Option.none()
|
|
988
|
+
* Option.fromNullishOr(null) // => Option.none()
|
|
989
|
+
* Option.fromNullishOr(1) // => Option.some(1)
|
|
1065
990
|
* ```
|
|
1066
991
|
*
|
|
1067
992
|
* @see {@link fromNullOr} to only treat `null` as absent
|
|
@@ -1088,17 +1013,12 @@ export declare const fromNullishOr: <A>(a: A) => Option<NonNullable<A>>;
|
|
|
1088
1013
|
*
|
|
1089
1014
|
* **Example** (Converting possibly undefined values to an Option)
|
|
1090
1015
|
*
|
|
1091
|
-
* ```ts
|
|
1016
|
+
* ```ts import.meta.vitest
|
|
1092
1017
|
* import { Option } from "effect"
|
|
1093
1018
|
*
|
|
1094
|
-
*
|
|
1095
|
-
* //
|
|
1096
|
-
*
|
|
1097
|
-
* console.log(Option.fromUndefinedOr(null))
|
|
1098
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: null }
|
|
1099
|
-
*
|
|
1100
|
-
* console.log(Option.fromUndefinedOr(42))
|
|
1101
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 42 }
|
|
1019
|
+
* Option.fromUndefinedOr(undefined) // => Option.none()
|
|
1020
|
+
* Option.fromUndefinedOr(null) // => Option.some(null)
|
|
1021
|
+
* Option.fromUndefinedOr(42) // => Option.some(42)
|
|
1102
1022
|
* ```
|
|
1103
1023
|
*
|
|
1104
1024
|
* @see {@link fromNullishOr} to treat both `null` and `undefined` as absent
|
|
@@ -1124,17 +1044,12 @@ export declare const fromUndefinedOr: <A>(a: A) => Option<Exclude<A, undefined>>
|
|
|
1124
1044
|
*
|
|
1125
1045
|
* **Example** (Converting possibly null values to an Option)
|
|
1126
1046
|
*
|
|
1127
|
-
* ```ts
|
|
1047
|
+
* ```ts import.meta.vitest
|
|
1128
1048
|
* import { Option } from "effect"
|
|
1129
1049
|
*
|
|
1130
|
-
*
|
|
1131
|
-
* //
|
|
1132
|
-
*
|
|
1133
|
-
* console.log(Option.fromNullOr(undefined))
|
|
1134
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: undefined }
|
|
1135
|
-
*
|
|
1136
|
-
* console.log(Option.fromNullOr(42))
|
|
1137
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 42 }
|
|
1050
|
+
* Option.fromNullOr(null) // => Option.none()
|
|
1051
|
+
* Option.fromNullOr(undefined) // => Option.some(undefined)
|
|
1052
|
+
* Option.fromNullOr(42) // => Option.some(42)
|
|
1138
1053
|
* ```
|
|
1139
1054
|
*
|
|
1140
1055
|
* @see {@link fromNullishOr} to treat both `null` and `undefined` as absent
|
|
@@ -1159,7 +1074,7 @@ export declare const fromNullOr: <A>(a: A) => Option<Exclude<A, null>>;
|
|
|
1159
1074
|
*
|
|
1160
1075
|
* **Example** (Lifting a parser)
|
|
1161
1076
|
*
|
|
1162
|
-
* ```ts
|
|
1077
|
+
* ```ts import.meta.vitest
|
|
1163
1078
|
* import { Option } from "effect"
|
|
1164
1079
|
*
|
|
1165
1080
|
* const parse = (s: string): number | undefined => {
|
|
@@ -1169,11 +1084,8 @@ export declare const fromNullOr: <A>(a: A) => Option<Exclude<A, null>>;
|
|
|
1169
1084
|
*
|
|
1170
1085
|
* const parseOption = Option.liftNullishOr(parse)
|
|
1171
1086
|
*
|
|
1172
|
-
*
|
|
1173
|
-
*
|
|
1174
|
-
*
|
|
1175
|
-
* console.log(parseOption("not a number"))
|
|
1176
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1087
|
+
* parseOption("1") // => Option.some(1)
|
|
1088
|
+
* parseOption("not a number") // => Option.none()
|
|
1177
1089
|
* ```
|
|
1178
1090
|
*
|
|
1179
1091
|
* @see {@link fromNullishOr} for converting a single value
|
|
@@ -1197,14 +1109,11 @@ export declare const liftNullishOr: <A extends ReadonlyArray<unknown>, B>(f: (..
|
|
|
1197
1109
|
*
|
|
1198
1110
|
* **Example** (Unwrapping to null)
|
|
1199
1111
|
*
|
|
1200
|
-
* ```ts
|
|
1112
|
+
* ```ts import.meta.vitest
|
|
1201
1113
|
* import { Option } from "effect"
|
|
1202
1114
|
*
|
|
1203
|
-
*
|
|
1204
|
-
* //
|
|
1205
|
-
*
|
|
1206
|
-
* console.log(Option.getOrNull(Option.none()))
|
|
1207
|
-
* // Output: null
|
|
1115
|
+
* Option.getOrNull(Option.some(1)) // => 1
|
|
1116
|
+
* Option.getOrNull(Option.none()) // => null
|
|
1208
1117
|
* ```
|
|
1209
1118
|
*
|
|
1210
1119
|
* @see {@link getOrUndefined} to return `undefined` instead
|
|
@@ -1229,14 +1138,11 @@ export declare const getOrNull: <A>(self: Option<A>) => A | null;
|
|
|
1229
1138
|
*
|
|
1230
1139
|
* **Example** (Unwrapping to undefined)
|
|
1231
1140
|
*
|
|
1232
|
-
* ```ts
|
|
1141
|
+
* ```ts import.meta.vitest
|
|
1233
1142
|
* import { Option } from "effect"
|
|
1234
1143
|
*
|
|
1235
|
-
*
|
|
1236
|
-
* //
|
|
1237
|
-
*
|
|
1238
|
-
* console.log(Option.getOrUndefined(Option.none()))
|
|
1239
|
-
* // Output: undefined
|
|
1144
|
+
* Option.getOrUndefined(Option.some(1)) // => 1
|
|
1145
|
+
* Option.getOrUndefined(Option.none()) // => undefined
|
|
1240
1146
|
* ```
|
|
1241
1147
|
*
|
|
1242
1148
|
* @see {@link getOrNull} to return `null` instead
|
|
@@ -1260,16 +1166,13 @@ export declare const getOrUndefined: <A>(self: Option<A>) => A | undefined;
|
|
|
1260
1166
|
*
|
|
1261
1167
|
* **Example** (Lifting JSON.parse)
|
|
1262
1168
|
*
|
|
1263
|
-
* ```ts
|
|
1169
|
+
* ```ts import.meta.vitest
|
|
1264
1170
|
* import { Option } from "effect"
|
|
1265
1171
|
*
|
|
1266
1172
|
* const parse = Option.liftThrowable(JSON.parse)
|
|
1267
1173
|
*
|
|
1268
|
-
*
|
|
1269
|
-
* //
|
|
1270
|
-
*
|
|
1271
|
-
* console.log(parse(""))
|
|
1272
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1174
|
+
* parse("1") // => Option.some(1)
|
|
1175
|
+
* parse("") // => Option.none()
|
|
1273
1176
|
* ```
|
|
1274
1177
|
*
|
|
1275
1178
|
* @see {@link liftNullishOr} for nullable-returning functions
|
|
@@ -1293,14 +1196,16 @@ export declare const liftThrowable: <A extends ReadonlyArray<unknown>, B>(f: (..
|
|
|
1293
1196
|
*
|
|
1294
1197
|
* **Example** (Throwing a custom error)
|
|
1295
1198
|
*
|
|
1296
|
-
* ```ts
|
|
1297
|
-
* import { Option } from "effect"
|
|
1199
|
+
* ```ts import.meta.vitest
|
|
1200
|
+
* import { Option, Result } from "effect"
|
|
1298
1201
|
*
|
|
1299
|
-
*
|
|
1300
|
-
* // Output: 1
|
|
1202
|
+
* Option.getOrThrowWith(Option.some(1), () => new Error("missing")) // => 1
|
|
1301
1203
|
*
|
|
1302
|
-
*
|
|
1303
|
-
*
|
|
1204
|
+
* const failure = Result.try({
|
|
1205
|
+
* try: () => Option.getOrThrowWith(Option.none(), () => new Error("missing")),
|
|
1206
|
+
* catch: (error) => (error as Error).message
|
|
1207
|
+
* })
|
|
1208
|
+
* Result.getFailure(failure).pipe(Option.getOrElse(() => "no error")) // => "missing"
|
|
1304
1209
|
* ```
|
|
1305
1210
|
*
|
|
1306
1211
|
* @see {@link getOrThrow} for a version with a default error
|
|
@@ -1325,14 +1230,16 @@ export declare const getOrThrowWith: {
|
|
|
1325
1230
|
*
|
|
1326
1231
|
* **Example** (Throwing a custom error)
|
|
1327
1232
|
*
|
|
1328
|
-
* ```ts
|
|
1329
|
-
* import { Option } from "effect"
|
|
1233
|
+
* ```ts import.meta.vitest
|
|
1234
|
+
* import { Option, Result } from "effect"
|
|
1330
1235
|
*
|
|
1331
|
-
*
|
|
1332
|
-
* // Output: 1
|
|
1236
|
+
* Option.getOrThrowWith(Option.some(1), () => new Error("missing")) // => 1
|
|
1333
1237
|
*
|
|
1334
|
-
*
|
|
1335
|
-
*
|
|
1238
|
+
* const failure = Result.try({
|
|
1239
|
+
* try: () => Option.getOrThrowWith(Option.none(), () => new Error("missing")),
|
|
1240
|
+
* catch: (error) => (error as Error).message
|
|
1241
|
+
* })
|
|
1242
|
+
* Result.getFailure(failure).pipe(Option.getOrElse(() => "no error")) // => "missing"
|
|
1336
1243
|
* ```
|
|
1337
1244
|
*
|
|
1338
1245
|
* @see {@link getOrThrow} for a version with a default error
|
|
@@ -1357,14 +1264,16 @@ export declare const getOrThrowWith: {
|
|
|
1357
1264
|
*
|
|
1358
1265
|
* **Example** (Throwing a custom error)
|
|
1359
1266
|
*
|
|
1360
|
-
* ```ts
|
|
1361
|
-
* import { Option } from "effect"
|
|
1267
|
+
* ```ts import.meta.vitest
|
|
1268
|
+
* import { Option, Result } from "effect"
|
|
1362
1269
|
*
|
|
1363
|
-
*
|
|
1364
|
-
* // Output: 1
|
|
1270
|
+
* Option.getOrThrowWith(Option.some(1), () => new Error("missing")) // => 1
|
|
1365
1271
|
*
|
|
1366
|
-
*
|
|
1367
|
-
*
|
|
1272
|
+
* const failure = Result.try({
|
|
1273
|
+
* try: () => Option.getOrThrowWith(Option.none(), () => new Error("missing")),
|
|
1274
|
+
* catch: (error) => (error as Error).message
|
|
1275
|
+
* })
|
|
1276
|
+
* Result.getFailure(failure).pipe(Option.getOrElse(() => "no error")) // => "missing"
|
|
1368
1277
|
* ```
|
|
1369
1278
|
*
|
|
1370
1279
|
* @see {@link getOrThrow} for a version with a default error
|
|
@@ -1390,14 +1299,16 @@ export declare const getOrThrowWith: {
|
|
|
1390
1299
|
*
|
|
1391
1300
|
* **Example** (Throwing a default error)
|
|
1392
1301
|
*
|
|
1393
|
-
* ```ts
|
|
1394
|
-
* import { Option } from "effect"
|
|
1302
|
+
* ```ts import.meta.vitest
|
|
1303
|
+
* import { Option, Result } from "effect"
|
|
1395
1304
|
*
|
|
1396
|
-
*
|
|
1397
|
-
* // Output: 1
|
|
1305
|
+
* Option.getOrThrow(Option.some(1)) // => 1
|
|
1398
1306
|
*
|
|
1399
|
-
*
|
|
1400
|
-
*
|
|
1307
|
+
* const failure = Result.try({
|
|
1308
|
+
* try: () => Option.getOrThrow(Option.none()),
|
|
1309
|
+
* catch: (error) => (error as Error).message
|
|
1310
|
+
* })
|
|
1311
|
+
* Result.getFailure(failure).pipe(Option.getOrElse(() => "no error")) // => "getOrThrow called on a None"
|
|
1401
1312
|
* ```
|
|
1402
1313
|
*
|
|
1403
1314
|
* @see {@link getOrThrowWith} for a custom error
|
|
@@ -1423,14 +1334,11 @@ export declare const getOrThrow: <A>(self: Option<A>) => A;
|
|
|
1423
1334
|
*
|
|
1424
1335
|
* **Example** (Mapping over an Option)
|
|
1425
1336
|
*
|
|
1426
|
-
* ```ts
|
|
1337
|
+
* ```ts import.meta.vitest
|
|
1427
1338
|
* import { Option } from "effect"
|
|
1428
1339
|
*
|
|
1429
|
-
*
|
|
1430
|
-
*
|
|
1431
|
-
*
|
|
1432
|
-
* console.log(Option.map(Option.none(), (n: number) => n * 2))
|
|
1433
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1340
|
+
* Option.map(Option.some(2), (n) => n * 2) // => Option.some(4)
|
|
1341
|
+
* Option.map(Option.none(), (n: number) => n * 2) // => Option.none()
|
|
1434
1342
|
* ```
|
|
1435
1343
|
*
|
|
1436
1344
|
* @see {@link flatMap} when `f` returns an `Option`
|
|
@@ -1456,14 +1364,11 @@ export declare const map: {
|
|
|
1456
1364
|
*
|
|
1457
1365
|
* **Example** (Mapping over an Option)
|
|
1458
1366
|
*
|
|
1459
|
-
* ```ts
|
|
1367
|
+
* ```ts import.meta.vitest
|
|
1460
1368
|
* import { Option } from "effect"
|
|
1461
1369
|
*
|
|
1462
|
-
*
|
|
1463
|
-
*
|
|
1464
|
-
*
|
|
1465
|
-
* console.log(Option.map(Option.none(), (n: number) => n * 2))
|
|
1466
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1370
|
+
* Option.map(Option.some(2), (n) => n * 2) // => Option.some(4)
|
|
1371
|
+
* Option.map(Option.none(), (n: number) => n * 2) // => Option.none()
|
|
1467
1372
|
* ```
|
|
1468
1373
|
*
|
|
1469
1374
|
* @see {@link flatMap} when `f` returns an `Option`
|
|
@@ -1489,14 +1394,11 @@ export declare const map: {
|
|
|
1489
1394
|
*
|
|
1490
1395
|
* **Example** (Mapping over an Option)
|
|
1491
1396
|
*
|
|
1492
|
-
* ```ts
|
|
1397
|
+
* ```ts import.meta.vitest
|
|
1493
1398
|
* import { Option } from "effect"
|
|
1494
1399
|
*
|
|
1495
|
-
*
|
|
1496
|
-
*
|
|
1497
|
-
*
|
|
1498
|
-
* console.log(Option.map(Option.none(), (n: number) => n * 2))
|
|
1499
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1400
|
+
* Option.map(Option.some(2), (n) => n * 2) // => Option.some(4)
|
|
1401
|
+
* Option.map(Option.none(), (n: number) => n * 2) // => Option.none()
|
|
1500
1402
|
* ```
|
|
1501
1403
|
*
|
|
1502
1404
|
* @see {@link flatMap} when `f` returns an `Option`
|
|
@@ -1517,14 +1419,11 @@ export declare const map: {
|
|
|
1517
1419
|
*
|
|
1518
1420
|
* **Example** (Replacing a value)
|
|
1519
1421
|
*
|
|
1520
|
-
* ```ts
|
|
1422
|
+
* ```ts import.meta.vitest
|
|
1521
1423
|
* import { Option } from "effect"
|
|
1522
1424
|
*
|
|
1523
|
-
*
|
|
1524
|
-
*
|
|
1525
|
-
*
|
|
1526
|
-
* console.log(Option.as(Option.none(), "new value"))
|
|
1527
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1425
|
+
* Option.as(Option.some(42), "new value") // => Option.some("new value")
|
|
1426
|
+
* Option.as(Option.none(), "new value") // => Option.none()
|
|
1528
1427
|
* ```
|
|
1529
1428
|
*
|
|
1530
1429
|
* @see {@link asVoid} to replace with `undefined`
|
|
@@ -1544,14 +1443,11 @@ export declare const as: {
|
|
|
1544
1443
|
*
|
|
1545
1444
|
* **Example** (Replacing a value)
|
|
1546
1445
|
*
|
|
1547
|
-
* ```ts
|
|
1446
|
+
* ```ts import.meta.vitest
|
|
1548
1447
|
* import { Option } from "effect"
|
|
1549
1448
|
*
|
|
1550
|
-
*
|
|
1551
|
-
*
|
|
1552
|
-
*
|
|
1553
|
-
* console.log(Option.as(Option.none(), "new value"))
|
|
1554
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1449
|
+
* Option.as(Option.some(42), "new value") // => Option.some("new value")
|
|
1450
|
+
* Option.as(Option.none(), "new value") // => Option.none()
|
|
1555
1451
|
* ```
|
|
1556
1452
|
*
|
|
1557
1453
|
* @see {@link asVoid} to replace with `undefined`
|
|
@@ -1571,14 +1467,11 @@ export declare const as: {
|
|
|
1571
1467
|
*
|
|
1572
1468
|
* **Example** (Replacing a value)
|
|
1573
1469
|
*
|
|
1574
|
-
* ```ts
|
|
1470
|
+
* ```ts import.meta.vitest
|
|
1575
1471
|
* import { Option } from "effect"
|
|
1576
1472
|
*
|
|
1577
|
-
*
|
|
1578
|
-
*
|
|
1579
|
-
*
|
|
1580
|
-
* console.log(Option.as(Option.none(), "new value"))
|
|
1581
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1473
|
+
* Option.as(Option.some(42), "new value") // => Option.some("new value")
|
|
1474
|
+
* Option.as(Option.none(), "new value") // => Option.none()
|
|
1582
1475
|
* ```
|
|
1583
1476
|
*
|
|
1584
1477
|
* @see {@link asVoid} to replace with `undefined`
|
|
@@ -1600,14 +1493,11 @@ export declare const as: {
|
|
|
1600
1493
|
*
|
|
1601
1494
|
* **Example** (Voiding the value)
|
|
1602
1495
|
*
|
|
1603
|
-
* ```ts
|
|
1496
|
+
* ```ts import.meta.vitest
|
|
1604
1497
|
* import { Option } from "effect"
|
|
1605
1498
|
*
|
|
1606
|
-
*
|
|
1607
|
-
* //
|
|
1608
|
-
*
|
|
1609
|
-
* console.log(Option.asVoid(Option.none()))
|
|
1610
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1499
|
+
* Option.asVoid(Option.some(42)) // => Option.some(undefined)
|
|
1500
|
+
* Option.asVoid(Option.none()) // => Option.none()
|
|
1611
1501
|
* ```
|
|
1612
1502
|
*
|
|
1613
1503
|
* @see {@link as} to replace with a specific constant
|
|
@@ -1627,11 +1517,10 @@ export {
|
|
|
1627
1517
|
*
|
|
1628
1518
|
* **Example** (Referencing Option.void)
|
|
1629
1519
|
*
|
|
1630
|
-
* ```ts
|
|
1520
|
+
* ```ts import.meta.vitest
|
|
1631
1521
|
* import { Option } from "effect"
|
|
1632
1522
|
*
|
|
1633
|
-
*
|
|
1634
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: undefined }
|
|
1523
|
+
* Option.void // => Option.some(undefined)
|
|
1635
1524
|
* ```
|
|
1636
1525
|
*
|
|
1637
1526
|
* @see {@link asVoid} to convert an existing `Option` to `Option<void>`
|
|
@@ -1657,7 +1546,7 @@ void_ as void };
|
|
|
1657
1546
|
*
|
|
1658
1547
|
* **Example** (Chaining optional lookups)
|
|
1659
1548
|
*
|
|
1660
|
-
* ```ts
|
|
1549
|
+
* ```ts import.meta.vitest
|
|
1661
1550
|
* import { Option } from "effect"
|
|
1662
1551
|
*
|
|
1663
1552
|
* interface User {
|
|
@@ -1670,12 +1559,9 @@ void_ as void };
|
|
|
1670
1559
|
* address: Option.some({ street: Option.some("123 Main St") })
|
|
1671
1560
|
* }
|
|
1672
1561
|
*
|
|
1673
|
-
*
|
|
1562
|
+
* user.address.pipe(
|
|
1674
1563
|
* Option.flatMap((addr) => addr.street)
|
|
1675
|
-
* )
|
|
1676
|
-
*
|
|
1677
|
-
* console.log(street)
|
|
1678
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
|
|
1564
|
+
* ) // => Option.some("123 Main St")
|
|
1679
1565
|
* ```
|
|
1680
1566
|
*
|
|
1681
1567
|
* @see {@link map} when `f` returns a plain value
|
|
@@ -1703,7 +1589,7 @@ export declare const flatMap: {
|
|
|
1703
1589
|
*
|
|
1704
1590
|
* **Example** (Chaining optional lookups)
|
|
1705
1591
|
*
|
|
1706
|
-
* ```ts
|
|
1592
|
+
* ```ts import.meta.vitest
|
|
1707
1593
|
* import { Option } from "effect"
|
|
1708
1594
|
*
|
|
1709
1595
|
* interface User {
|
|
@@ -1716,12 +1602,9 @@ export declare const flatMap: {
|
|
|
1716
1602
|
* address: Option.some({ street: Option.some("123 Main St") })
|
|
1717
1603
|
* }
|
|
1718
1604
|
*
|
|
1719
|
-
*
|
|
1605
|
+
* user.address.pipe(
|
|
1720
1606
|
* Option.flatMap((addr) => addr.street)
|
|
1721
|
-
* )
|
|
1722
|
-
*
|
|
1723
|
-
* console.log(street)
|
|
1724
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
|
|
1607
|
+
* ) // => Option.some("123 Main St")
|
|
1725
1608
|
* ```
|
|
1726
1609
|
*
|
|
1727
1610
|
* @see {@link map} when `f` returns a plain value
|
|
@@ -1749,7 +1632,7 @@ export declare const flatMap: {
|
|
|
1749
1632
|
*
|
|
1750
1633
|
* **Example** (Chaining optional lookups)
|
|
1751
1634
|
*
|
|
1752
|
-
* ```ts
|
|
1635
|
+
* ```ts import.meta.vitest
|
|
1753
1636
|
* import { Option } from "effect"
|
|
1754
1637
|
*
|
|
1755
1638
|
* interface User {
|
|
@@ -1762,12 +1645,9 @@ export declare const flatMap: {
|
|
|
1762
1645
|
* address: Option.some({ street: Option.some("123 Main St") })
|
|
1763
1646
|
* }
|
|
1764
1647
|
*
|
|
1765
|
-
*
|
|
1648
|
+
* user.address.pipe(
|
|
1766
1649
|
* Option.flatMap((addr) => addr.street)
|
|
1767
|
-
* )
|
|
1768
|
-
*
|
|
1769
|
-
* console.log(street)
|
|
1770
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
|
|
1650
|
+
* ) // => Option.some("123 Main St")
|
|
1771
1651
|
* ```
|
|
1772
1652
|
*
|
|
1773
1653
|
* @see {@link map} when `f` returns a plain value
|
|
@@ -1797,20 +1677,17 @@ export declare const flatMap: {
|
|
|
1797
1677
|
*
|
|
1798
1678
|
* **Example** (Chaining with andThen)
|
|
1799
1679
|
*
|
|
1800
|
-
* ```ts
|
|
1680
|
+
* ```ts import.meta.vitest
|
|
1801
1681
|
* import { Option } from "effect"
|
|
1802
1682
|
*
|
|
1803
1683
|
* // Chain with a function returning Option
|
|
1804
|
-
*
|
|
1805
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1684
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
1806
1685
|
*
|
|
1807
1686
|
* // Chain with a static value
|
|
1808
|
-
*
|
|
1809
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1687
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
1810
1688
|
*
|
|
1811
1689
|
* // Chain with None - skips
|
|
1812
|
-
*
|
|
1813
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1690
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
1814
1691
|
* ```
|
|
1815
1692
|
*
|
|
1816
1693
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -1838,20 +1715,17 @@ export declare const andThen: {
|
|
|
1838
1715
|
*
|
|
1839
1716
|
* **Example** (Chaining with andThen)
|
|
1840
1717
|
*
|
|
1841
|
-
* ```ts
|
|
1718
|
+
* ```ts import.meta.vitest
|
|
1842
1719
|
* import { Option } from "effect"
|
|
1843
1720
|
*
|
|
1844
1721
|
* // Chain with a function returning Option
|
|
1845
|
-
*
|
|
1846
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1722
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
1847
1723
|
*
|
|
1848
1724
|
* // Chain with a static value
|
|
1849
|
-
*
|
|
1850
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1725
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
1851
1726
|
*
|
|
1852
1727
|
* // Chain with None - skips
|
|
1853
|
-
*
|
|
1854
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1728
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
1855
1729
|
* ```
|
|
1856
1730
|
*
|
|
1857
1731
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -1879,20 +1753,17 @@ export declare const andThen: {
|
|
|
1879
1753
|
*
|
|
1880
1754
|
* **Example** (Chaining with andThen)
|
|
1881
1755
|
*
|
|
1882
|
-
* ```ts
|
|
1756
|
+
* ```ts import.meta.vitest
|
|
1883
1757
|
* import { Option } from "effect"
|
|
1884
1758
|
*
|
|
1885
1759
|
* // Chain with a function returning Option
|
|
1886
|
-
*
|
|
1887
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1760
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
1888
1761
|
*
|
|
1889
1762
|
* // Chain with a static value
|
|
1890
|
-
*
|
|
1891
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1763
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
1892
1764
|
*
|
|
1893
1765
|
* // Chain with None - skips
|
|
1894
|
-
*
|
|
1895
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1766
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
1896
1767
|
* ```
|
|
1897
1768
|
*
|
|
1898
1769
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -1920,20 +1791,17 @@ export declare const andThen: {
|
|
|
1920
1791
|
*
|
|
1921
1792
|
* **Example** (Chaining with andThen)
|
|
1922
1793
|
*
|
|
1923
|
-
* ```ts
|
|
1794
|
+
* ```ts import.meta.vitest
|
|
1924
1795
|
* import { Option } from "effect"
|
|
1925
1796
|
*
|
|
1926
1797
|
* // Chain with a function returning Option
|
|
1927
|
-
*
|
|
1928
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1798
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
1929
1799
|
*
|
|
1930
1800
|
* // Chain with a static value
|
|
1931
|
-
*
|
|
1932
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1801
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
1933
1802
|
*
|
|
1934
1803
|
* // Chain with None - skips
|
|
1935
|
-
*
|
|
1936
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1804
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
1937
1805
|
* ```
|
|
1938
1806
|
*
|
|
1939
1807
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -1961,20 +1829,17 @@ export declare const andThen: {
|
|
|
1961
1829
|
*
|
|
1962
1830
|
* **Example** (Chaining with andThen)
|
|
1963
1831
|
*
|
|
1964
|
-
* ```ts
|
|
1832
|
+
* ```ts import.meta.vitest
|
|
1965
1833
|
* import { Option } from "effect"
|
|
1966
1834
|
*
|
|
1967
1835
|
* // Chain with a function returning Option
|
|
1968
|
-
*
|
|
1969
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1836
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
1970
1837
|
*
|
|
1971
1838
|
* // Chain with a static value
|
|
1972
|
-
*
|
|
1973
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1839
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
1974
1840
|
*
|
|
1975
1841
|
* // Chain with None - skips
|
|
1976
|
-
*
|
|
1977
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1842
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
1978
1843
|
* ```
|
|
1979
1844
|
*
|
|
1980
1845
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -2002,20 +1867,17 @@ export declare const andThen: {
|
|
|
2002
1867
|
*
|
|
2003
1868
|
* **Example** (Chaining with andThen)
|
|
2004
1869
|
*
|
|
2005
|
-
* ```ts
|
|
1870
|
+
* ```ts import.meta.vitest
|
|
2006
1871
|
* import { Option } from "effect"
|
|
2007
1872
|
*
|
|
2008
1873
|
* // Chain with a function returning Option
|
|
2009
|
-
*
|
|
2010
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1874
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
2011
1875
|
*
|
|
2012
1876
|
* // Chain with a static value
|
|
2013
|
-
*
|
|
2014
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1877
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
2015
1878
|
*
|
|
2016
1879
|
* // Chain with None - skips
|
|
2017
|
-
*
|
|
2018
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1880
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
2019
1881
|
* ```
|
|
2020
1882
|
*
|
|
2021
1883
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -2043,20 +1905,17 @@ export declare const andThen: {
|
|
|
2043
1905
|
*
|
|
2044
1906
|
* **Example** (Chaining with andThen)
|
|
2045
1907
|
*
|
|
2046
|
-
* ```ts
|
|
1908
|
+
* ```ts import.meta.vitest
|
|
2047
1909
|
* import { Option } from "effect"
|
|
2048
1910
|
*
|
|
2049
1911
|
* // Chain with a function returning Option
|
|
2050
|
-
*
|
|
2051
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1912
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
2052
1913
|
*
|
|
2053
1914
|
* // Chain with a static value
|
|
2054
|
-
*
|
|
2055
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1915
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
2056
1916
|
*
|
|
2057
1917
|
* // Chain with None - skips
|
|
2058
|
-
*
|
|
2059
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1918
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
2060
1919
|
* ```
|
|
2061
1920
|
*
|
|
2062
1921
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -2084,20 +1943,17 @@ export declare const andThen: {
|
|
|
2084
1943
|
*
|
|
2085
1944
|
* **Example** (Chaining with andThen)
|
|
2086
1945
|
*
|
|
2087
|
-
* ```ts
|
|
1946
|
+
* ```ts import.meta.vitest
|
|
2088
1947
|
* import { Option } from "effect"
|
|
2089
1948
|
*
|
|
2090
1949
|
* // Chain with a function returning Option
|
|
2091
|
-
*
|
|
2092
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1950
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
2093
1951
|
*
|
|
2094
1952
|
* // Chain with a static value
|
|
2095
|
-
*
|
|
2096
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1953
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
2097
1954
|
*
|
|
2098
1955
|
* // Chain with None - skips
|
|
2099
|
-
*
|
|
2100
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1956
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
2101
1957
|
* ```
|
|
2102
1958
|
*
|
|
2103
1959
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -2125,20 +1981,17 @@ export declare const andThen: {
|
|
|
2125
1981
|
*
|
|
2126
1982
|
* **Example** (Chaining with andThen)
|
|
2127
1983
|
*
|
|
2128
|
-
* ```ts
|
|
1984
|
+
* ```ts import.meta.vitest
|
|
2129
1985
|
* import { Option } from "effect"
|
|
2130
1986
|
*
|
|
2131
1987
|
* // Chain with a function returning Option
|
|
2132
|
-
*
|
|
2133
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 10 }
|
|
1988
|
+
* Option.andThen(Option.some(5), (x) => Option.some(x * 2)) // => Option.some(10)
|
|
2134
1989
|
*
|
|
2135
1990
|
* // Chain with a static value
|
|
2136
|
-
*
|
|
2137
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: "hello" }
|
|
1991
|
+
* Option.andThen(Option.some(5), "hello") // => Option.some("hello")
|
|
2138
1992
|
*
|
|
2139
1993
|
* // Chain with None - skips
|
|
2140
|
-
*
|
|
2141
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
1994
|
+
* Option.andThen(Option.none(), (x) => Option.some(x * 2)) // => Option.none()
|
|
2142
1995
|
* ```
|
|
2143
1996
|
*
|
|
2144
1997
|
* @see {@link flatMap} for the standard monadic bind
|
|
@@ -2165,7 +2018,7 @@ export declare const andThen: {
|
|
|
2165
2018
|
*
|
|
2166
2019
|
* **Example** (Navigating optional properties)
|
|
2167
2020
|
*
|
|
2168
|
-
* ```ts
|
|
2021
|
+
* ```ts import.meta.vitest
|
|
2169
2022
|
* import { Option } from "effect"
|
|
2170
2023
|
*
|
|
2171
2024
|
* interface Employee {
|
|
@@ -2176,12 +2029,9 @@ export declare const andThen: {
|
|
|
2176
2029
|
* company: { address: { street: { name: "high street" } } }
|
|
2177
2030
|
* }
|
|
2178
2031
|
*
|
|
2179
|
-
*
|
|
2180
|
-
* Option.
|
|
2181
|
-
*
|
|
2182
|
-
* )
|
|
2183
|
-
* )
|
|
2184
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
|
|
2032
|
+
* Option.some(emp).pipe(
|
|
2033
|
+
* Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
|
|
2034
|
+
* ) // => Option.some("high street")
|
|
2185
2035
|
* ```
|
|
2186
2036
|
*
|
|
2187
2037
|
* @see {@link flatMap} when the function already returns `Option`
|
|
@@ -2207,7 +2057,7 @@ export declare const flatMapNullishOr: {
|
|
|
2207
2057
|
*
|
|
2208
2058
|
* **Example** (Navigating optional properties)
|
|
2209
2059
|
*
|
|
2210
|
-
* ```ts
|
|
2060
|
+
* ```ts import.meta.vitest
|
|
2211
2061
|
* import { Option } from "effect"
|
|
2212
2062
|
*
|
|
2213
2063
|
* interface Employee {
|
|
@@ -2218,12 +2068,9 @@ export declare const flatMapNullishOr: {
|
|
|
2218
2068
|
* company: { address: { street: { name: "high street" } } }
|
|
2219
2069
|
* }
|
|
2220
2070
|
*
|
|
2221
|
-
*
|
|
2222
|
-
* Option.
|
|
2223
|
-
*
|
|
2224
|
-
* )
|
|
2225
|
-
* )
|
|
2226
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
|
|
2071
|
+
* Option.some(emp).pipe(
|
|
2072
|
+
* Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
|
|
2073
|
+
* ) // => Option.some("high street")
|
|
2227
2074
|
* ```
|
|
2228
2075
|
*
|
|
2229
2076
|
* @see {@link flatMap} when the function already returns `Option`
|
|
@@ -2249,7 +2096,7 @@ export declare const flatMapNullishOr: {
|
|
|
2249
2096
|
*
|
|
2250
2097
|
* **Example** (Navigating optional properties)
|
|
2251
2098
|
*
|
|
2252
|
-
* ```ts
|
|
2099
|
+
* ```ts import.meta.vitest
|
|
2253
2100
|
* import { Option } from "effect"
|
|
2254
2101
|
*
|
|
2255
2102
|
* interface Employee {
|
|
@@ -2260,12 +2107,9 @@ export declare const flatMapNullishOr: {
|
|
|
2260
2107
|
* company: { address: { street: { name: "high street" } } }
|
|
2261
2108
|
* }
|
|
2262
2109
|
*
|
|
2263
|
-
*
|
|
2264
|
-
* Option.
|
|
2265
|
-
*
|
|
2266
|
-
* )
|
|
2267
|
-
* )
|
|
2268
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
|
|
2110
|
+
* Option.some(emp).pipe(
|
|
2111
|
+
* Option.flatMapNullishOr((e) => e.company?.address?.street?.name)
|
|
2112
|
+
* ) // => Option.some("high street")
|
|
2269
2113
|
* ```
|
|
2270
2114
|
*
|
|
2271
2115
|
* @see {@link flatMap} when the function already returns `Option`
|
|
@@ -2291,14 +2135,11 @@ export declare const flatMapNullishOr: {
|
|
|
2291
2135
|
*
|
|
2292
2136
|
* **Example** (Flattening nested Options)
|
|
2293
2137
|
*
|
|
2294
|
-
* ```ts
|
|
2138
|
+
* ```ts import.meta.vitest
|
|
2295
2139
|
* import { Option } from "effect"
|
|
2296
2140
|
*
|
|
2297
|
-
*
|
|
2298
|
-
* //
|
|
2299
|
-
*
|
|
2300
|
-
* console.log(Option.flatten(Option.some(Option.none())))
|
|
2301
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2141
|
+
* Option.flatten(Option.some(Option.some("value"))) // => Option.some("value")
|
|
2142
|
+
* Option.flatten(Option.some(Option.none())) // => Option.none()
|
|
2302
2143
|
* ```
|
|
2303
2144
|
*
|
|
2304
2145
|
* @see {@link flatMap} which is `map` + `flatten`
|
|
@@ -2322,14 +2163,11 @@ export declare const flatten: <A>(self: Option<Option<A>>) => Option<A>;
|
|
|
2322
2163
|
*
|
|
2323
2164
|
* **Example** (Keeping the second value)
|
|
2324
2165
|
*
|
|
2325
|
-
* ```ts
|
|
2166
|
+
* ```ts import.meta.vitest
|
|
2326
2167
|
* import { Option } from "effect"
|
|
2327
2168
|
*
|
|
2328
|
-
*
|
|
2329
|
-
*
|
|
2330
|
-
*
|
|
2331
|
-
* console.log(Option.zipRight(Option.none(), Option.some("hello")))
|
|
2332
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2169
|
+
* Option.zipRight(Option.some(1), Option.some("hello")) // => Option.some("hello")
|
|
2170
|
+
* Option.zipRight(Option.none(), Option.some("hello")) // => Option.none()
|
|
2333
2171
|
* ```
|
|
2334
2172
|
*
|
|
2335
2173
|
* @see {@link zipLeft} to keep the first value instead
|
|
@@ -2354,14 +2192,11 @@ export declare const zipRight: {
|
|
|
2354
2192
|
*
|
|
2355
2193
|
* **Example** (Keeping the second value)
|
|
2356
2194
|
*
|
|
2357
|
-
* ```ts
|
|
2195
|
+
* ```ts import.meta.vitest
|
|
2358
2196
|
* import { Option } from "effect"
|
|
2359
2197
|
*
|
|
2360
|
-
*
|
|
2361
|
-
*
|
|
2362
|
-
*
|
|
2363
|
-
* console.log(Option.zipRight(Option.none(), Option.some("hello")))
|
|
2364
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2198
|
+
* Option.zipRight(Option.some(1), Option.some("hello")) // => Option.some("hello")
|
|
2199
|
+
* Option.zipRight(Option.none(), Option.some("hello")) // => Option.none()
|
|
2365
2200
|
* ```
|
|
2366
2201
|
*
|
|
2367
2202
|
* @see {@link zipLeft} to keep the first value instead
|
|
@@ -2386,14 +2221,11 @@ export declare const zipRight: {
|
|
|
2386
2221
|
*
|
|
2387
2222
|
* **Example** (Keeping the second value)
|
|
2388
2223
|
*
|
|
2389
|
-
* ```ts
|
|
2224
|
+
* ```ts import.meta.vitest
|
|
2390
2225
|
* import { Option } from "effect"
|
|
2391
2226
|
*
|
|
2392
|
-
*
|
|
2393
|
-
*
|
|
2394
|
-
*
|
|
2395
|
-
* console.log(Option.zipRight(Option.none(), Option.some("hello")))
|
|
2396
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2227
|
+
* Option.zipRight(Option.some(1), Option.some("hello")) // => Option.some("hello")
|
|
2228
|
+
* Option.zipRight(Option.none(), Option.some("hello")) // => Option.none()
|
|
2397
2229
|
* ```
|
|
2398
2230
|
*
|
|
2399
2231
|
* @see {@link zipLeft} to keep the first value instead
|
|
@@ -2419,14 +2251,11 @@ export declare const zipRight: {
|
|
|
2419
2251
|
*
|
|
2420
2252
|
* **Example** (Keeping the first value)
|
|
2421
2253
|
*
|
|
2422
|
-
* ```ts
|
|
2254
|
+
* ```ts import.meta.vitest
|
|
2423
2255
|
* import { Option } from "effect"
|
|
2424
2256
|
*
|
|
2425
|
-
*
|
|
2426
|
-
*
|
|
2427
|
-
*
|
|
2428
|
-
* console.log(Option.zipLeft(Option.some("hello"), Option.none()))
|
|
2429
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2257
|
+
* Option.zipLeft(Option.some("hello"), Option.some(1)) // => Option.some("hello")
|
|
2258
|
+
* Option.zipLeft(Option.some("hello"), Option.none()) // => Option.none()
|
|
2430
2259
|
* ```
|
|
2431
2260
|
*
|
|
2432
2261
|
* @see {@link zipRight} to keep the second value instead
|
|
@@ -2451,14 +2280,11 @@ export declare const zipLeft: {
|
|
|
2451
2280
|
*
|
|
2452
2281
|
* **Example** (Keeping the first value)
|
|
2453
2282
|
*
|
|
2454
|
-
* ```ts
|
|
2283
|
+
* ```ts import.meta.vitest
|
|
2455
2284
|
* import { Option } from "effect"
|
|
2456
2285
|
*
|
|
2457
|
-
*
|
|
2458
|
-
*
|
|
2459
|
-
*
|
|
2460
|
-
* console.log(Option.zipLeft(Option.some("hello"), Option.none()))
|
|
2461
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2286
|
+
* Option.zipLeft(Option.some("hello"), Option.some(1)) // => Option.some("hello")
|
|
2287
|
+
* Option.zipLeft(Option.some("hello"), Option.none()) // => Option.none()
|
|
2462
2288
|
* ```
|
|
2463
2289
|
*
|
|
2464
2290
|
* @see {@link zipRight} to keep the second value instead
|
|
@@ -2483,14 +2309,11 @@ export declare const zipLeft: {
|
|
|
2483
2309
|
*
|
|
2484
2310
|
* **Example** (Keeping the first value)
|
|
2485
2311
|
*
|
|
2486
|
-
* ```ts
|
|
2312
|
+
* ```ts import.meta.vitest
|
|
2487
2313
|
* import { Option } from "effect"
|
|
2488
2314
|
*
|
|
2489
|
-
*
|
|
2490
|
-
*
|
|
2491
|
-
*
|
|
2492
|
-
* console.log(Option.zipLeft(Option.some("hello"), Option.none()))
|
|
2493
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2315
|
+
* Option.zipLeft(Option.some("hello"), Option.some(1)) // => Option.some("hello")
|
|
2316
|
+
* Option.zipLeft(Option.some("hello"), Option.none()) // => Option.none()
|
|
2494
2317
|
* ```
|
|
2495
2318
|
*
|
|
2496
2319
|
* @see {@link zipRight} to keep the second value instead
|
|
@@ -2517,7 +2340,7 @@ export declare const zipLeft: {
|
|
|
2517
2340
|
*
|
|
2518
2341
|
* **Example** (Composing parsers)
|
|
2519
2342
|
*
|
|
2520
|
-
* ```ts
|
|
2343
|
+
* ```ts import.meta.vitest
|
|
2521
2344
|
* import { Option } from "effect"
|
|
2522
2345
|
*
|
|
2523
2346
|
* const parse = (s: string): Option.Option<number> =>
|
|
@@ -2528,11 +2351,8 @@ export declare const zipLeft: {
|
|
|
2528
2351
|
*
|
|
2529
2352
|
* const parseAndDouble = Option.composeK(parse, double)
|
|
2530
2353
|
*
|
|
2531
|
-
*
|
|
2532
|
-
*
|
|
2533
|
-
*
|
|
2534
|
-
* console.log(parseAndDouble("not a number"))
|
|
2535
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2354
|
+
* parseAndDouble("42") // => Option.some(84)
|
|
2355
|
+
* parseAndDouble("not a number") // => Option.none()
|
|
2536
2356
|
* ```
|
|
2537
2357
|
*
|
|
2538
2358
|
* @see {@link flatMap} for single-step chaining
|
|
@@ -2557,7 +2377,7 @@ export declare const composeK: {
|
|
|
2557
2377
|
*
|
|
2558
2378
|
* **Example** (Composing parsers)
|
|
2559
2379
|
*
|
|
2560
|
-
* ```ts
|
|
2380
|
+
* ```ts import.meta.vitest
|
|
2561
2381
|
* import { Option } from "effect"
|
|
2562
2382
|
*
|
|
2563
2383
|
* const parse = (s: string): Option.Option<number> =>
|
|
@@ -2568,11 +2388,8 @@ export declare const composeK: {
|
|
|
2568
2388
|
*
|
|
2569
2389
|
* const parseAndDouble = Option.composeK(parse, double)
|
|
2570
2390
|
*
|
|
2571
|
-
*
|
|
2572
|
-
*
|
|
2573
|
-
*
|
|
2574
|
-
* console.log(parseAndDouble("not a number"))
|
|
2575
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2391
|
+
* parseAndDouble("42") // => Option.some(84)
|
|
2392
|
+
* parseAndDouble("not a number") // => Option.none()
|
|
2576
2393
|
* ```
|
|
2577
2394
|
*
|
|
2578
2395
|
* @see {@link flatMap} for single-step chaining
|
|
@@ -2597,7 +2414,7 @@ export declare const composeK: {
|
|
|
2597
2414
|
*
|
|
2598
2415
|
* **Example** (Composing parsers)
|
|
2599
2416
|
*
|
|
2600
|
-
* ```ts
|
|
2417
|
+
* ```ts import.meta.vitest
|
|
2601
2418
|
* import { Option } from "effect"
|
|
2602
2419
|
*
|
|
2603
2420
|
* const parse = (s: string): Option.Option<number> =>
|
|
@@ -2608,11 +2425,8 @@ export declare const composeK: {
|
|
|
2608
2425
|
*
|
|
2609
2426
|
* const parseAndDouble = Option.composeK(parse, double)
|
|
2610
2427
|
*
|
|
2611
|
-
*
|
|
2612
|
-
*
|
|
2613
|
-
*
|
|
2614
|
-
* console.log(parseAndDouble("not a number"))
|
|
2615
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2428
|
+
* parseAndDouble("42") // => Option.some(84)
|
|
2429
|
+
* parseAndDouble("not a number") // => Option.none()
|
|
2616
2430
|
* ```
|
|
2617
2431
|
*
|
|
2618
2432
|
* @see {@link flatMap} for single-step chaining
|
|
@@ -2639,17 +2453,14 @@ export declare const composeK: {
|
|
|
2639
2453
|
*
|
|
2640
2454
|
* **Example** (Validating without transforming)
|
|
2641
2455
|
*
|
|
2642
|
-
* ```ts
|
|
2456
|
+
* ```ts import.meta.vitest
|
|
2643
2457
|
* import { Option } from "effect"
|
|
2644
2458
|
*
|
|
2645
2459
|
* const getInteger = (n: number) =>
|
|
2646
2460
|
* Number.isInteger(n) ? Option.some(n) : Option.none()
|
|
2647
2461
|
*
|
|
2648
|
-
*
|
|
2649
|
-
*
|
|
2650
|
-
*
|
|
2651
|
-
* console.log(Option.tap(Option.some(1.14), getInteger))
|
|
2652
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2462
|
+
* Option.tap(Option.some(1), getInteger) // => Option.some(1)
|
|
2463
|
+
* Option.tap(Option.some(1.14), getInteger) // => Option.none()
|
|
2653
2464
|
* ```
|
|
2654
2465
|
*
|
|
2655
2466
|
* @see {@link flatMap} when you want to transform the value
|
|
@@ -2676,17 +2487,14 @@ export declare const tap: {
|
|
|
2676
2487
|
*
|
|
2677
2488
|
* **Example** (Validating without transforming)
|
|
2678
2489
|
*
|
|
2679
|
-
* ```ts
|
|
2490
|
+
* ```ts import.meta.vitest
|
|
2680
2491
|
* import { Option } from "effect"
|
|
2681
2492
|
*
|
|
2682
2493
|
* const getInteger = (n: number) =>
|
|
2683
2494
|
* Number.isInteger(n) ? Option.some(n) : Option.none()
|
|
2684
2495
|
*
|
|
2685
|
-
*
|
|
2686
|
-
*
|
|
2687
|
-
*
|
|
2688
|
-
* console.log(Option.tap(Option.some(1.14), getInteger))
|
|
2689
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2496
|
+
* Option.tap(Option.some(1), getInteger) // => Option.some(1)
|
|
2497
|
+
* Option.tap(Option.some(1.14), getInteger) // => Option.none()
|
|
2690
2498
|
* ```
|
|
2691
2499
|
*
|
|
2692
2500
|
* @see {@link flatMap} when you want to transform the value
|
|
@@ -2713,17 +2521,14 @@ export declare const tap: {
|
|
|
2713
2521
|
*
|
|
2714
2522
|
* **Example** (Validating without transforming)
|
|
2715
2523
|
*
|
|
2716
|
-
* ```ts
|
|
2524
|
+
* ```ts import.meta.vitest
|
|
2717
2525
|
* import { Option } from "effect"
|
|
2718
2526
|
*
|
|
2719
2527
|
* const getInteger = (n: number) =>
|
|
2720
2528
|
* Number.isInteger(n) ? Option.some(n) : Option.none()
|
|
2721
2529
|
*
|
|
2722
|
-
*
|
|
2723
|
-
*
|
|
2724
|
-
*
|
|
2725
|
-
* console.log(Option.tap(Option.some(1.14), getInteger))
|
|
2726
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2530
|
+
* Option.tap(Option.some(1), getInteger) // => Option.some(1)
|
|
2531
|
+
* Option.tap(Option.some(1.14), getInteger) // => Option.none()
|
|
2727
2532
|
* ```
|
|
2728
2533
|
*
|
|
2729
2534
|
* @see {@link flatMap} when you want to transform the value
|
|
@@ -2750,14 +2555,11 @@ export declare const tap: {
|
|
|
2750
2555
|
*
|
|
2751
2556
|
* **Example** (Pairing two Options)
|
|
2752
2557
|
*
|
|
2753
|
-
* ```ts
|
|
2558
|
+
* ```ts import.meta.vitest
|
|
2754
2559
|
* import { Option } from "effect"
|
|
2755
2560
|
*
|
|
2756
|
-
*
|
|
2757
|
-
*
|
|
2758
|
-
*
|
|
2759
|
-
* console.log(Option.product(Option.none(), Option.some(42)))
|
|
2760
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2561
|
+
* Option.product(Option.some("hello"), Option.some(42)) // => Option.some(["hello", 42])
|
|
2562
|
+
* Option.product(Option.none(), Option.some(42)) // => Option.none()
|
|
2761
2563
|
* ```
|
|
2762
2564
|
*
|
|
2763
2565
|
* @see {@link zipWith} to combine with a function instead of a tuple
|
|
@@ -2783,17 +2585,14 @@ export declare const product: <A, B>(self: Option<A>, that: Option<B>) => Option
|
|
|
2783
2585
|
*
|
|
2784
2586
|
* **Example** (Combining many Options)
|
|
2785
2587
|
*
|
|
2786
|
-
* ```ts
|
|
2588
|
+
* ```ts import.meta.vitest
|
|
2787
2589
|
* import { Option } from "effect"
|
|
2788
2590
|
*
|
|
2789
2591
|
* const first = Option.some(1)
|
|
2790
2592
|
* const rest = [Option.some(2), Option.some(3)]
|
|
2791
2593
|
*
|
|
2792
|
-
*
|
|
2793
|
-
*
|
|
2794
|
-
*
|
|
2795
|
-
* console.log(Option.productMany(first, [Option.some(2), Option.none()]))
|
|
2796
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
2594
|
+
* Option.productMany(first, rest) // => Option.some([1, 2, 3])
|
|
2595
|
+
* Option.productMany(first, [Option.some(2), Option.none()]) // => Option.none()
|
|
2797
2596
|
* ```
|
|
2798
2597
|
*
|
|
2799
2598
|
* @see {@link product} for combining exactly two
|
|
@@ -2821,7 +2620,7 @@ export declare const productMany: <A>(self: Option<A>, collection: Iterable<Opti
|
|
|
2821
2620
|
*
|
|
2822
2621
|
* **Example** (Combining a tuple and a struct)
|
|
2823
2622
|
*
|
|
2824
|
-
* ```ts
|
|
2623
|
+
* ```ts import.meta.vitest
|
|
2825
2624
|
* import { Option } from "effect"
|
|
2826
2625
|
*
|
|
2827
2626
|
* const maybeName: Option.Option<string> = Option.some("John")
|
|
@@ -2829,17 +2628,11 @@ export declare const productMany: <A>(self: Option<A>, collection: Iterable<Opti
|
|
|
2829
2628
|
*
|
|
2830
2629
|
* // ┌─── Option<[string, number]>
|
|
2831
2630
|
* // ▼
|
|
2832
|
-
* const tuple = Option.all([maybeName, maybeAge])
|
|
2833
|
-
* console.log(tuple)
|
|
2834
|
-
* // Output:
|
|
2835
|
-
* // { _id: 'Option', _tag: 'Some', value: [ 'John', 25 ] }
|
|
2631
|
+
* const tuple = Option.all([maybeName, maybeAge]) // => Option.some(["John", 25])
|
|
2836
2632
|
*
|
|
2837
2633
|
* // ┌─── Option<{ name: string; age: number; }>
|
|
2838
2634
|
* // ▼
|
|
2839
|
-
* const struct = Option.all({ name: maybeName, age: maybeAge })
|
|
2840
|
-
* console.log(struct)
|
|
2841
|
-
* // Output:
|
|
2842
|
-
* // { _id: 'Option', _tag: 'Some', value: { name: 'John', age: 25 } }
|
|
2635
|
+
* const struct = Option.all({ name: maybeName, age: maybeAge }) // => Option.some({ name: "John", age: 25 })
|
|
2843
2636
|
* ```
|
|
2844
2637
|
*
|
|
2845
2638
|
* @see {@link product} for combining exactly two
|
|
@@ -2868,18 +2661,14 @@ export declare const all: <const I extends Iterable<Option<any>> | Record<string
|
|
|
2868
2661
|
*
|
|
2869
2662
|
* **Example** (Combining with a function)
|
|
2870
2663
|
*
|
|
2871
|
-
* ```ts
|
|
2664
|
+
* ```ts import.meta.vitest
|
|
2872
2665
|
* import { Option } from "effect"
|
|
2873
2666
|
*
|
|
2874
|
-
*
|
|
2667
|
+
* Option.zipWith(
|
|
2875
2668
|
* Option.some("John"),
|
|
2876
2669
|
* Option.some(25),
|
|
2877
2670
|
* (name, age) => ({ name: name.toUpperCase(), age })
|
|
2878
|
-
* )
|
|
2879
|
-
*
|
|
2880
|
-
* console.log(person)
|
|
2881
|
-
* // Output:
|
|
2882
|
-
* // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
|
|
2671
|
+
* ) // => Option.some({ name: "JOHN", age: 25 })
|
|
2883
2672
|
* ```
|
|
2884
2673
|
*
|
|
2885
2674
|
* @see {@link product} to combine into a tuple instead
|
|
@@ -2904,18 +2693,14 @@ export declare const zipWith: {
|
|
|
2904
2693
|
*
|
|
2905
2694
|
* **Example** (Combining with a function)
|
|
2906
2695
|
*
|
|
2907
|
-
* ```ts
|
|
2696
|
+
* ```ts import.meta.vitest
|
|
2908
2697
|
* import { Option } from "effect"
|
|
2909
2698
|
*
|
|
2910
|
-
*
|
|
2699
|
+
* Option.zipWith(
|
|
2911
2700
|
* Option.some("John"),
|
|
2912
2701
|
* Option.some(25),
|
|
2913
2702
|
* (name, age) => ({ name: name.toUpperCase(), age })
|
|
2914
|
-
* )
|
|
2915
|
-
*
|
|
2916
|
-
* console.log(person)
|
|
2917
|
-
* // Output:
|
|
2918
|
-
* // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
|
|
2703
|
+
* ) // => Option.some({ name: "JOHN", age: 25 })
|
|
2919
2704
|
* ```
|
|
2920
2705
|
*
|
|
2921
2706
|
* @see {@link product} to combine into a tuple instead
|
|
@@ -2940,18 +2725,14 @@ export declare const zipWith: {
|
|
|
2940
2725
|
*
|
|
2941
2726
|
* **Example** (Combining with a function)
|
|
2942
2727
|
*
|
|
2943
|
-
* ```ts
|
|
2728
|
+
* ```ts import.meta.vitest
|
|
2944
2729
|
* import { Option } from "effect"
|
|
2945
2730
|
*
|
|
2946
|
-
*
|
|
2731
|
+
* Option.zipWith(
|
|
2947
2732
|
* Option.some("John"),
|
|
2948
2733
|
* Option.some(25),
|
|
2949
2734
|
* (name, age) => ({ name: name.toUpperCase(), age })
|
|
2950
|
-
* )
|
|
2951
|
-
*
|
|
2952
|
-
* console.log(person)
|
|
2953
|
-
* // Output:
|
|
2954
|
-
* // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
|
|
2735
|
+
* ) // => Option.some({ name: "JOHN", age: 25 })
|
|
2955
2736
|
* ```
|
|
2956
2737
|
*
|
|
2957
2738
|
* @see {@link product} to combine into a tuple instead
|
|
@@ -2978,16 +2759,15 @@ export declare const zipWith: {
|
|
|
2978
2759
|
*
|
|
2979
2760
|
* **Example** (Summing present values)
|
|
2980
2761
|
*
|
|
2981
|
-
* ```ts
|
|
2762
|
+
* ```ts import.meta.vitest
|
|
2982
2763
|
* import { Option, pipe } from "effect"
|
|
2983
2764
|
*
|
|
2984
2765
|
* const items = [Option.some(1), Option.none(), Option.some(2), Option.none()]
|
|
2985
2766
|
*
|
|
2986
|
-
*
|
|
2987
|
-
* // Output: 3
|
|
2767
|
+
* pipe(items, Option.reduceCompact(0, (b, a) => b + a)) // => 3
|
|
2988
2768
|
* ```
|
|
2989
2769
|
*
|
|
2990
|
-
* @category
|
|
2770
|
+
* @category folding
|
|
2991
2771
|
* @since 2.0.0
|
|
2992
2772
|
*/
|
|
2993
2773
|
export declare const reduceCompact: {
|
|
@@ -3007,16 +2787,15 @@ export declare const reduceCompact: {
|
|
|
3007
2787
|
*
|
|
3008
2788
|
* **Example** (Summing present values)
|
|
3009
2789
|
*
|
|
3010
|
-
* ```ts
|
|
2790
|
+
* ```ts import.meta.vitest
|
|
3011
2791
|
* import { Option, pipe } from "effect"
|
|
3012
2792
|
*
|
|
3013
2793
|
* const items = [Option.some(1), Option.none(), Option.some(2), Option.none()]
|
|
3014
2794
|
*
|
|
3015
|
-
*
|
|
3016
|
-
* // Output: 3
|
|
2795
|
+
* pipe(items, Option.reduceCompact(0, (b, a) => b + a)) // => 3
|
|
3017
2796
|
* ```
|
|
3018
2797
|
*
|
|
3019
|
-
* @category
|
|
2798
|
+
* @category folding
|
|
3020
2799
|
* @since 2.0.0
|
|
3021
2800
|
*/
|
|
3022
2801
|
<B, A>(b: B, f: (b: B, a: A) => B): (self: Iterable<Option<A>>) => B;
|
|
@@ -3036,16 +2815,15 @@ export declare const reduceCompact: {
|
|
|
3036
2815
|
*
|
|
3037
2816
|
* **Example** (Summing present values)
|
|
3038
2817
|
*
|
|
3039
|
-
* ```ts
|
|
2818
|
+
* ```ts import.meta.vitest
|
|
3040
2819
|
* import { Option, pipe } from "effect"
|
|
3041
2820
|
*
|
|
3042
2821
|
* const items = [Option.some(1), Option.none(), Option.some(2), Option.none()]
|
|
3043
2822
|
*
|
|
3044
|
-
*
|
|
3045
|
-
* // Output: 3
|
|
2823
|
+
* pipe(items, Option.reduceCompact(0, (b, a) => b + a)) // => 3
|
|
3046
2824
|
* ```
|
|
3047
2825
|
*
|
|
3048
|
-
* @category
|
|
2826
|
+
* @category folding
|
|
3049
2827
|
* @since 2.0.0
|
|
3050
2828
|
*/
|
|
3051
2829
|
<A, B>(self: Iterable<Option<A>>, b: B, f: (b: B, a: A) => B): B;
|
|
@@ -3065,14 +2843,11 @@ export declare const reduceCompact: {
|
|
|
3065
2843
|
*
|
|
3066
2844
|
* **Example** (Converting to an array)
|
|
3067
2845
|
*
|
|
3068
|
-
* ```ts
|
|
2846
|
+
* ```ts import.meta.vitest
|
|
3069
2847
|
* import { Option } from "effect"
|
|
3070
2848
|
*
|
|
3071
|
-
*
|
|
3072
|
-
* //
|
|
3073
|
-
*
|
|
3074
|
-
* console.log(Option.toArray(Option.none()))
|
|
3075
|
-
* // Output: []
|
|
2849
|
+
* Option.toArray(Option.some(1)) // => [1]
|
|
2850
|
+
* Option.toArray(Option.none()) // => []
|
|
3076
2851
|
* ```
|
|
3077
2852
|
*
|
|
3078
2853
|
* @see {@link fromIterable} for the inverse direction
|
|
@@ -3097,7 +2872,7 @@ export declare const toArray: <A>(self: Option<A>) => Array<A>;
|
|
|
3097
2872
|
*
|
|
3098
2873
|
* **Example** (Partitioning by Result)
|
|
3099
2874
|
*
|
|
3100
|
-
* ```ts
|
|
2875
|
+
* ```ts import.meta.vitest
|
|
3101
2876
|
* import { Option, Result } from "effect"
|
|
3102
2877
|
*
|
|
3103
2878
|
* const parseNumber = (s: string): Result.Result<number, string> => {
|
|
@@ -3105,14 +2880,9 @@ export declare const toArray: <A>(self: Option<A>) => Array<A>;
|
|
|
3105
2880
|
* return isNaN(n) ? Result.fail("Not a number") : Result.succeed(n)
|
|
3106
2881
|
* }
|
|
3107
2882
|
*
|
|
3108
|
-
*
|
|
3109
|
-
*
|
|
3110
|
-
*
|
|
3111
|
-
* console.log(Option.partitionMap(Option.some("abc"), parseNumber))
|
|
3112
|
-
* // Output: [{ _id: 'Option', _tag: 'Some', value: 'Not a number' }, { _id: 'Option', _tag: 'None' }]
|
|
3113
|
-
*
|
|
3114
|
-
* console.log(Option.partitionMap(Option.none(), parseNumber))
|
|
3115
|
-
* // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'None' }]
|
|
2883
|
+
* Option.partitionMap(Option.some("42"), parseNumber) // => [Option.none(), Option.some(42)]
|
|
2884
|
+
* Option.partitionMap(Option.some("abc"), parseNumber) // => [Option.some("Not a number"), Option.none()]
|
|
2885
|
+
* Option.partitionMap(Option.none(), parseNumber) // => [Option.none(), Option.none()]
|
|
3116
2886
|
* ```
|
|
3117
2887
|
*
|
|
3118
2888
|
* @see {@link filter} for simple predicate-based filtering
|
|
@@ -3137,7 +2907,7 @@ export declare const partitionMap: {
|
|
|
3137
2907
|
*
|
|
3138
2908
|
* **Example** (Partitioning by Result)
|
|
3139
2909
|
*
|
|
3140
|
-
* ```ts
|
|
2910
|
+
* ```ts import.meta.vitest
|
|
3141
2911
|
* import { Option, Result } from "effect"
|
|
3142
2912
|
*
|
|
3143
2913
|
* const parseNumber = (s: string): Result.Result<number, string> => {
|
|
@@ -3145,14 +2915,9 @@ export declare const partitionMap: {
|
|
|
3145
2915
|
* return isNaN(n) ? Result.fail("Not a number") : Result.succeed(n)
|
|
3146
2916
|
* }
|
|
3147
2917
|
*
|
|
3148
|
-
*
|
|
3149
|
-
*
|
|
3150
|
-
*
|
|
3151
|
-
* console.log(Option.partitionMap(Option.some("abc"), parseNumber))
|
|
3152
|
-
* // Output: [{ _id: 'Option', _tag: 'Some', value: 'Not a number' }, { _id: 'Option', _tag: 'None' }]
|
|
3153
|
-
*
|
|
3154
|
-
* console.log(Option.partitionMap(Option.none(), parseNumber))
|
|
3155
|
-
* // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'None' }]
|
|
2918
|
+
* Option.partitionMap(Option.some("42"), parseNumber) // => [Option.none(), Option.some(42)]
|
|
2919
|
+
* Option.partitionMap(Option.some("abc"), parseNumber) // => [Option.some("Not a number"), Option.none()]
|
|
2920
|
+
* Option.partitionMap(Option.none(), parseNumber) // => [Option.none(), Option.none()]
|
|
3156
2921
|
* ```
|
|
3157
2922
|
*
|
|
3158
2923
|
* @see {@link filter} for simple predicate-based filtering
|
|
@@ -3177,7 +2942,7 @@ export declare const partitionMap: {
|
|
|
3177
2942
|
*
|
|
3178
2943
|
* **Example** (Partitioning by Result)
|
|
3179
2944
|
*
|
|
3180
|
-
* ```ts
|
|
2945
|
+
* ```ts import.meta.vitest
|
|
3181
2946
|
* import { Option, Result } from "effect"
|
|
3182
2947
|
*
|
|
3183
2948
|
* const parseNumber = (s: string): Result.Result<number, string> => {
|
|
@@ -3185,14 +2950,9 @@ export declare const partitionMap: {
|
|
|
3185
2950
|
* return isNaN(n) ? Result.fail("Not a number") : Result.succeed(n)
|
|
3186
2951
|
* }
|
|
3187
2952
|
*
|
|
3188
|
-
*
|
|
3189
|
-
*
|
|
3190
|
-
*
|
|
3191
|
-
* console.log(Option.partitionMap(Option.some("abc"), parseNumber))
|
|
3192
|
-
* // Output: [{ _id: 'Option', _tag: 'Some', value: 'Not a number' }, { _id: 'Option', _tag: 'None' }]
|
|
3193
|
-
*
|
|
3194
|
-
* console.log(Option.partitionMap(Option.none(), parseNumber))
|
|
3195
|
-
* // Output: [{ _id: 'Option', _tag: 'None' }, { _id: 'Option', _tag: 'None' }]
|
|
2953
|
+
* Option.partitionMap(Option.some("42"), parseNumber) // => [Option.none(), Option.some(42)]
|
|
2954
|
+
* Option.partitionMap(Option.some("abc"), parseNumber) // => [Option.some("Not a number"), Option.none()]
|
|
2955
|
+
* Option.partitionMap(Option.none(), parseNumber) // => [Option.none(), Option.none()]
|
|
3196
2956
|
* ```
|
|
3197
2957
|
*
|
|
3198
2958
|
* @see {@link filter} for simple predicate-based filtering
|
|
@@ -3217,14 +2977,13 @@ export declare const partitionMap: {
|
|
|
3217
2977
|
*
|
|
3218
2978
|
* **Example** (Filtering and transforming)
|
|
3219
2979
|
*
|
|
3220
|
-
* ```ts
|
|
2980
|
+
* ```ts import.meta.vitest
|
|
3221
2981
|
* import { Option, Result } from "effect"
|
|
3222
2982
|
*
|
|
3223
|
-
*
|
|
2983
|
+
* Option.filterMap(
|
|
3224
2984
|
* Option.some(2),
|
|
3225
2985
|
* (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
|
|
3226
|
-
* ))
|
|
3227
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
|
|
2986
|
+
* ) // => Option.some("Even: 2")
|
|
3228
2987
|
* ```
|
|
3229
2988
|
*
|
|
3230
2989
|
* @see {@link filter} for predicate-based filtering
|
|
@@ -3248,14 +3007,13 @@ export declare const filterMap: {
|
|
|
3248
3007
|
*
|
|
3249
3008
|
* **Example** (Filtering and transforming)
|
|
3250
3009
|
*
|
|
3251
|
-
* ```ts
|
|
3010
|
+
* ```ts import.meta.vitest
|
|
3252
3011
|
* import { Option, Result } from "effect"
|
|
3253
3012
|
*
|
|
3254
|
-
*
|
|
3013
|
+
* Option.filterMap(
|
|
3255
3014
|
* Option.some(2),
|
|
3256
3015
|
* (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
|
|
3257
|
-
* ))
|
|
3258
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
|
|
3016
|
+
* ) // => Option.some("Even: 2")
|
|
3259
3017
|
* ```
|
|
3260
3018
|
*
|
|
3261
3019
|
* @see {@link filter} for predicate-based filtering
|
|
@@ -3279,14 +3037,13 @@ export declare const filterMap: {
|
|
|
3279
3037
|
*
|
|
3280
3038
|
* **Example** (Filtering and transforming)
|
|
3281
3039
|
*
|
|
3282
|
-
* ```ts
|
|
3040
|
+
* ```ts import.meta.vitest
|
|
3283
3041
|
* import { Option, Result } from "effect"
|
|
3284
3042
|
*
|
|
3285
|
-
*
|
|
3043
|
+
* Option.filterMap(
|
|
3286
3044
|
* Option.some(2),
|
|
3287
3045
|
* (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
|
|
3288
|
-
* ))
|
|
3289
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
|
|
3046
|
+
* ) // => Option.some("Even: 2")
|
|
3290
3047
|
* ```
|
|
3291
3048
|
*
|
|
3292
3049
|
* @see {@link filter} for predicate-based filtering
|
|
@@ -3314,20 +3071,15 @@ export declare const filterMap: {
|
|
|
3314
3071
|
*
|
|
3315
3072
|
* **Example** (Filtering with a predicate)
|
|
3316
3073
|
*
|
|
3317
|
-
* ```ts
|
|
3074
|
+
* ```ts import.meta.vitest
|
|
3318
3075
|
* import { Option } from "effect"
|
|
3319
3076
|
*
|
|
3320
3077
|
* const removeEmpty = (input: Option.Option<string>) =>
|
|
3321
3078
|
* Option.filter(input, (value) => value !== "")
|
|
3322
3079
|
*
|
|
3323
|
-
*
|
|
3324
|
-
* //
|
|
3325
|
-
*
|
|
3326
|
-
* console.log(removeEmpty(Option.some("")))
|
|
3327
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3328
|
-
*
|
|
3329
|
-
* console.log(removeEmpty(Option.none()))
|
|
3330
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3080
|
+
* removeEmpty(Option.some("hello")) // => Option.some("hello")
|
|
3081
|
+
* removeEmpty(Option.some("")) // => Option.none()
|
|
3082
|
+
* removeEmpty(Option.none()) // => Option.none()
|
|
3331
3083
|
* ```
|
|
3332
3084
|
*
|
|
3333
3085
|
* @see {@link filterMap} to transform and filter simultaneously
|
|
@@ -3355,20 +3107,15 @@ export declare const filter: {
|
|
|
3355
3107
|
*
|
|
3356
3108
|
* **Example** (Filtering with a predicate)
|
|
3357
3109
|
*
|
|
3358
|
-
* ```ts
|
|
3110
|
+
* ```ts import.meta.vitest
|
|
3359
3111
|
* import { Option } from "effect"
|
|
3360
3112
|
*
|
|
3361
3113
|
* const removeEmpty = (input: Option.Option<string>) =>
|
|
3362
3114
|
* Option.filter(input, (value) => value !== "")
|
|
3363
3115
|
*
|
|
3364
|
-
*
|
|
3365
|
-
* //
|
|
3366
|
-
*
|
|
3367
|
-
* console.log(removeEmpty(Option.some("")))
|
|
3368
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3369
|
-
*
|
|
3370
|
-
* console.log(removeEmpty(Option.none()))
|
|
3371
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3116
|
+
* removeEmpty(Option.some("hello")) // => Option.some("hello")
|
|
3117
|
+
* removeEmpty(Option.some("")) // => Option.none()
|
|
3118
|
+
* removeEmpty(Option.none()) // => Option.none()
|
|
3372
3119
|
* ```
|
|
3373
3120
|
*
|
|
3374
3121
|
* @see {@link filterMap} to transform and filter simultaneously
|
|
@@ -3396,20 +3143,15 @@ export declare const filter: {
|
|
|
3396
3143
|
*
|
|
3397
3144
|
* **Example** (Filtering with a predicate)
|
|
3398
3145
|
*
|
|
3399
|
-
* ```ts
|
|
3146
|
+
* ```ts import.meta.vitest
|
|
3400
3147
|
* import { Option } from "effect"
|
|
3401
3148
|
*
|
|
3402
3149
|
* const removeEmpty = (input: Option.Option<string>) =>
|
|
3403
3150
|
* Option.filter(input, (value) => value !== "")
|
|
3404
3151
|
*
|
|
3405
|
-
*
|
|
3406
|
-
* //
|
|
3407
|
-
*
|
|
3408
|
-
* console.log(removeEmpty(Option.some("")))
|
|
3409
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3410
|
-
*
|
|
3411
|
-
* console.log(removeEmpty(Option.none()))
|
|
3412
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3152
|
+
* removeEmpty(Option.some("hello")) // => Option.some("hello")
|
|
3153
|
+
* removeEmpty(Option.some("")) // => Option.none()
|
|
3154
|
+
* removeEmpty(Option.none()) // => Option.none()
|
|
3413
3155
|
* ```
|
|
3414
3156
|
*
|
|
3415
3157
|
* @see {@link filterMap} to transform and filter simultaneously
|
|
@@ -3437,20 +3179,15 @@ export declare const filter: {
|
|
|
3437
3179
|
*
|
|
3438
3180
|
* **Example** (Filtering with a predicate)
|
|
3439
3181
|
*
|
|
3440
|
-
* ```ts
|
|
3182
|
+
* ```ts import.meta.vitest
|
|
3441
3183
|
* import { Option } from "effect"
|
|
3442
3184
|
*
|
|
3443
3185
|
* const removeEmpty = (input: Option.Option<string>) =>
|
|
3444
3186
|
* Option.filter(input, (value) => value !== "")
|
|
3445
3187
|
*
|
|
3446
|
-
*
|
|
3447
|
-
* //
|
|
3448
|
-
*
|
|
3449
|
-
* console.log(removeEmpty(Option.some("")))
|
|
3450
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3451
|
-
*
|
|
3452
|
-
* console.log(removeEmpty(Option.none()))
|
|
3453
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3188
|
+
* removeEmpty(Option.some("hello")) // => Option.some("hello")
|
|
3189
|
+
* removeEmpty(Option.some("")) // => Option.none()
|
|
3190
|
+
* removeEmpty(Option.none()) // => Option.none()
|
|
3454
3191
|
* ```
|
|
3455
3192
|
*
|
|
3456
3193
|
* @see {@link filterMap} to transform and filter simultaneously
|
|
@@ -3478,20 +3215,15 @@ export declare const filter: {
|
|
|
3478
3215
|
*
|
|
3479
3216
|
* **Example** (Filtering with a predicate)
|
|
3480
3217
|
*
|
|
3481
|
-
* ```ts
|
|
3218
|
+
* ```ts import.meta.vitest
|
|
3482
3219
|
* import { Option } from "effect"
|
|
3483
3220
|
*
|
|
3484
3221
|
* const removeEmpty = (input: Option.Option<string>) =>
|
|
3485
3222
|
* Option.filter(input, (value) => value !== "")
|
|
3486
3223
|
*
|
|
3487
|
-
*
|
|
3488
|
-
* //
|
|
3489
|
-
*
|
|
3490
|
-
* console.log(removeEmpty(Option.some("")))
|
|
3491
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3492
|
-
*
|
|
3493
|
-
* console.log(removeEmpty(Option.none()))
|
|
3494
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3224
|
+
* removeEmpty(Option.some("hello")) // => Option.some("hello")
|
|
3225
|
+
* removeEmpty(Option.some("")) // => Option.none()
|
|
3226
|
+
* removeEmpty(Option.none()) // => Option.none()
|
|
3495
3227
|
* ```
|
|
3496
3228
|
*
|
|
3497
3229
|
* @see {@link filterMap} to transform and filter simultaneously
|
|
@@ -3518,19 +3250,14 @@ export declare const filter: {
|
|
|
3518
3250
|
*
|
|
3519
3251
|
* **Example** (Comparing Options)
|
|
3520
3252
|
*
|
|
3521
|
-
* ```ts
|
|
3253
|
+
* ```ts import.meta.vitest
|
|
3522
3254
|
* import { Equivalence, Option } from "effect"
|
|
3523
3255
|
*
|
|
3524
3256
|
* const eq = Option.makeEquivalence(Equivalence.strictEqual<number>())
|
|
3525
3257
|
*
|
|
3526
|
-
*
|
|
3527
|
-
* //
|
|
3528
|
-
*
|
|
3529
|
-
* console.log(eq(Option.some(1), Option.some(2)))
|
|
3530
|
-
* // Output: false
|
|
3531
|
-
*
|
|
3532
|
-
* console.log(eq(Option.none(), Option.none()))
|
|
3533
|
-
* // Output: true
|
|
3258
|
+
* eq(Option.some(1), Option.some(1)) // => true
|
|
3259
|
+
* eq(Option.some(1), Option.some(2)) // => false
|
|
3260
|
+
* eq(Option.none(), Option.none()) // => true
|
|
3534
3261
|
* ```
|
|
3535
3262
|
*
|
|
3536
3263
|
* @category instances
|
|
@@ -3554,19 +3281,14 @@ export declare const makeEquivalence: <A>(isEquivalent: Equivalence.Equivalence<
|
|
|
3554
3281
|
*
|
|
3555
3282
|
* **Example** (Ordering Options)
|
|
3556
3283
|
*
|
|
3557
|
-
* ```ts
|
|
3284
|
+
* ```ts import.meta.vitest
|
|
3558
3285
|
* import { Number as N, Option } from "effect"
|
|
3559
3286
|
*
|
|
3560
3287
|
* const ord = Option.makeOrder(N.Order)
|
|
3561
3288
|
*
|
|
3562
|
-
*
|
|
3563
|
-
* //
|
|
3564
|
-
*
|
|
3565
|
-
* console.log(ord(Option.some(1), Option.none()))
|
|
3566
|
-
* // Output: 1
|
|
3567
|
-
*
|
|
3568
|
-
* console.log(ord(Option.some(1), Option.some(2)))
|
|
3569
|
-
* // Output: -1
|
|
3289
|
+
* ord(Option.none(), Option.some(1)) // => -1
|
|
3290
|
+
* ord(Option.some(1), Option.none()) // => 1
|
|
3291
|
+
* ord(Option.some(1), Option.some(2)) // => -1
|
|
3570
3292
|
* ```
|
|
3571
3293
|
*
|
|
3572
3294
|
* @category sorting
|
|
@@ -3588,16 +3310,13 @@ export declare const makeOrder: <A>(O: Order<A>) => Order<Option<A>>;
|
|
|
3588
3310
|
*
|
|
3589
3311
|
* **Example** (Lifting addition)
|
|
3590
3312
|
*
|
|
3591
|
-
* ```ts
|
|
3313
|
+
* ```ts import.meta.vitest
|
|
3592
3314
|
* import { Option } from "effect"
|
|
3593
3315
|
*
|
|
3594
3316
|
* const addOptions = Option.lift2((a: number, b: number) => a + b)
|
|
3595
3317
|
*
|
|
3596
|
-
*
|
|
3597
|
-
*
|
|
3598
|
-
*
|
|
3599
|
-
* console.log(addOptions(Option.some(2), Option.none()))
|
|
3600
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3318
|
+
* addOptions(Option.some(2), Option.some(3)) // => Option.some(5)
|
|
3319
|
+
* addOptions(Option.some(2), Option.none()) // => Option.none()
|
|
3601
3320
|
* ```
|
|
3602
3321
|
*
|
|
3603
3322
|
* @see {@link zipWith} for a non-lifted variant
|
|
@@ -3626,16 +3345,13 @@ export declare const lift2: <A, B, C>(f: (a: A, b: B) => C) => {
|
|
|
3626
3345
|
*
|
|
3627
3346
|
* **Example** (Validating positive numbers)
|
|
3628
3347
|
*
|
|
3629
|
-
* ```ts
|
|
3348
|
+
* ```ts import.meta.vitest
|
|
3630
3349
|
* import { Option } from "effect"
|
|
3631
3350
|
*
|
|
3632
3351
|
* const parsePositive = Option.liftPredicate((n: number) => n > 0)
|
|
3633
3352
|
*
|
|
3634
|
-
*
|
|
3635
|
-
* //
|
|
3636
|
-
*
|
|
3637
|
-
* console.log(parsePositive(-1))
|
|
3638
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3353
|
+
* parsePositive(1) // => Option.some(1)
|
|
3354
|
+
* parsePositive(-1) // => Option.none()
|
|
3639
3355
|
* ```
|
|
3640
3356
|
*
|
|
3641
3357
|
* @see {@link filter} to apply a predicate to an existing `Option`
|
|
@@ -3663,16 +3379,13 @@ export declare const liftPredicate: {
|
|
|
3663
3379
|
*
|
|
3664
3380
|
* **Example** (Validating positive numbers)
|
|
3665
3381
|
*
|
|
3666
|
-
* ```ts
|
|
3382
|
+
* ```ts import.meta.vitest
|
|
3667
3383
|
* import { Option } from "effect"
|
|
3668
3384
|
*
|
|
3669
3385
|
* const parsePositive = Option.liftPredicate((n: number) => n > 0)
|
|
3670
3386
|
*
|
|
3671
|
-
*
|
|
3672
|
-
* //
|
|
3673
|
-
*
|
|
3674
|
-
* console.log(parsePositive(-1))
|
|
3675
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3387
|
+
* parsePositive(1) // => Option.some(1)
|
|
3388
|
+
* parsePositive(-1) // => Option.none()
|
|
3676
3389
|
* ```
|
|
3677
3390
|
*
|
|
3678
3391
|
* @see {@link filter} to apply a predicate to an existing `Option`
|
|
@@ -3699,16 +3412,13 @@ export declare const liftPredicate: {
|
|
|
3699
3412
|
*
|
|
3700
3413
|
* **Example** (Validating positive numbers)
|
|
3701
3414
|
*
|
|
3702
|
-
* ```ts
|
|
3415
|
+
* ```ts import.meta.vitest
|
|
3703
3416
|
* import { Option } from "effect"
|
|
3704
3417
|
*
|
|
3705
3418
|
* const parsePositive = Option.liftPredicate((n: number) => n > 0)
|
|
3706
3419
|
*
|
|
3707
|
-
*
|
|
3708
|
-
* //
|
|
3709
|
-
*
|
|
3710
|
-
* console.log(parsePositive(-1))
|
|
3711
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3420
|
+
* parsePositive(1) // => Option.some(1)
|
|
3421
|
+
* parsePositive(-1) // => Option.none()
|
|
3712
3422
|
* ```
|
|
3713
3423
|
*
|
|
3714
3424
|
* @see {@link filter} to apply a predicate to an existing `Option`
|
|
@@ -3735,16 +3445,13 @@ export declare const liftPredicate: {
|
|
|
3735
3445
|
*
|
|
3736
3446
|
* **Example** (Validating positive numbers)
|
|
3737
3447
|
*
|
|
3738
|
-
* ```ts
|
|
3448
|
+
* ```ts import.meta.vitest
|
|
3739
3449
|
* import { Option } from "effect"
|
|
3740
3450
|
*
|
|
3741
3451
|
* const parsePositive = Option.liftPredicate((n: number) => n > 0)
|
|
3742
3452
|
*
|
|
3743
|
-
*
|
|
3744
|
-
* //
|
|
3745
|
-
*
|
|
3746
|
-
* console.log(parsePositive(-1))
|
|
3747
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
3453
|
+
* parsePositive(1) // => Option.some(1)
|
|
3454
|
+
* parsePositive(-1) // => Option.none()
|
|
3748
3455
|
* ```
|
|
3749
3456
|
*
|
|
3750
3457
|
* @see {@link filter} to apply a predicate to an existing `Option`
|
|
@@ -3771,24 +3478,19 @@ export declare const liftPredicate: {
|
|
|
3771
3478
|
*
|
|
3772
3479
|
* **Example** (Checking with custom equivalence)
|
|
3773
3480
|
*
|
|
3774
|
-
* ```ts
|
|
3481
|
+
* ```ts import.meta.vitest
|
|
3775
3482
|
* import { Equivalence, Option } from "effect"
|
|
3776
3483
|
*
|
|
3777
3484
|
* const check = Option.containsWith(Equivalence.strictEqual<number>())
|
|
3778
3485
|
*
|
|
3779
|
-
*
|
|
3780
|
-
* //
|
|
3781
|
-
*
|
|
3782
|
-
* console.log(Option.some(1).pipe(check(2)))
|
|
3783
|
-
* // Output: false
|
|
3784
|
-
*
|
|
3785
|
-
* console.log(Option.none().pipe(check(2)))
|
|
3786
|
-
* // Output: false
|
|
3486
|
+
* Option.some(2).pipe(check(2)) // => true
|
|
3487
|
+
* Option.some(1).pipe(check(2)) // => false
|
|
3488
|
+
* Option.none().pipe(check(2)) // => false
|
|
3787
3489
|
* ```
|
|
3788
3490
|
*
|
|
3789
3491
|
* @see {@link contains} for a version using default equality
|
|
3790
3492
|
*
|
|
3791
|
-
* @category
|
|
3493
|
+
* @category predicates
|
|
3792
3494
|
* @since 2.0.0
|
|
3793
3495
|
*/
|
|
3794
3496
|
export declare const containsWith: <A>(isEquivalent: (self: A, that: A) => boolean) => {
|
|
@@ -3811,23 +3513,18 @@ export declare const containsWith: <A>(isEquivalent: (self: A, that: A) => boole
|
|
|
3811
3513
|
*
|
|
3812
3514
|
* **Example** (Checking containment)
|
|
3813
3515
|
*
|
|
3814
|
-
* ```ts
|
|
3516
|
+
* ```ts import.meta.vitest
|
|
3815
3517
|
* import { Option } from "effect"
|
|
3816
3518
|
*
|
|
3817
|
-
*
|
|
3818
|
-
* //
|
|
3819
|
-
*
|
|
3820
|
-
* console.log(Option.some(1).pipe(Option.contains(2)))
|
|
3821
|
-
* // Output: false
|
|
3822
|
-
*
|
|
3823
|
-
* console.log(Option.none().pipe(Option.contains(2)))
|
|
3824
|
-
* // Output: false
|
|
3519
|
+
* Option.some(2).pipe(Option.contains(2)) // => true
|
|
3520
|
+
* Option.some(1).pipe(Option.contains(2)) // => false
|
|
3521
|
+
* Option.none().pipe(Option.contains(2)) // => false
|
|
3825
3522
|
* ```
|
|
3826
3523
|
*
|
|
3827
3524
|
* @see {@link containsWith} for custom equality
|
|
3828
3525
|
* @see {@link exists} to test with a predicate
|
|
3829
3526
|
*
|
|
3830
|
-
* @category
|
|
3527
|
+
* @category predicates
|
|
3831
3528
|
* @since 2.0.0
|
|
3832
3529
|
*/
|
|
3833
3530
|
export declare const contains: {
|
|
@@ -3847,23 +3544,18 @@ export declare const contains: {
|
|
|
3847
3544
|
*
|
|
3848
3545
|
* **Example** (Checking containment)
|
|
3849
3546
|
*
|
|
3850
|
-
* ```ts
|
|
3547
|
+
* ```ts import.meta.vitest
|
|
3851
3548
|
* import { Option } from "effect"
|
|
3852
3549
|
*
|
|
3853
|
-
*
|
|
3854
|
-
* //
|
|
3855
|
-
*
|
|
3856
|
-
* console.log(Option.some(1).pipe(Option.contains(2)))
|
|
3857
|
-
* // Output: false
|
|
3858
|
-
*
|
|
3859
|
-
* console.log(Option.none().pipe(Option.contains(2)))
|
|
3860
|
-
* // Output: false
|
|
3550
|
+
* Option.some(2).pipe(Option.contains(2)) // => true
|
|
3551
|
+
* Option.some(1).pipe(Option.contains(2)) // => false
|
|
3552
|
+
* Option.none().pipe(Option.contains(2)) // => false
|
|
3861
3553
|
* ```
|
|
3862
3554
|
*
|
|
3863
3555
|
* @see {@link containsWith} for custom equality
|
|
3864
3556
|
* @see {@link exists} to test with a predicate
|
|
3865
3557
|
*
|
|
3866
|
-
* @category
|
|
3558
|
+
* @category predicates
|
|
3867
3559
|
* @since 2.0.0
|
|
3868
3560
|
*/
|
|
3869
3561
|
<A>(a: A): (self: Option<A>) => boolean;
|
|
@@ -3883,23 +3575,18 @@ export declare const contains: {
|
|
|
3883
3575
|
*
|
|
3884
3576
|
* **Example** (Checking containment)
|
|
3885
3577
|
*
|
|
3886
|
-
* ```ts
|
|
3578
|
+
* ```ts import.meta.vitest
|
|
3887
3579
|
* import { Option } from "effect"
|
|
3888
3580
|
*
|
|
3889
|
-
*
|
|
3890
|
-
* //
|
|
3891
|
-
*
|
|
3892
|
-
* console.log(Option.some(1).pipe(Option.contains(2)))
|
|
3893
|
-
* // Output: false
|
|
3894
|
-
*
|
|
3895
|
-
* console.log(Option.none().pipe(Option.contains(2)))
|
|
3896
|
-
* // Output: false
|
|
3581
|
+
* Option.some(2).pipe(Option.contains(2)) // => true
|
|
3582
|
+
* Option.some(1).pipe(Option.contains(2)) // => false
|
|
3583
|
+
* Option.none().pipe(Option.contains(2)) // => false
|
|
3897
3584
|
* ```
|
|
3898
3585
|
*
|
|
3899
3586
|
* @see {@link containsWith} for custom equality
|
|
3900
3587
|
* @see {@link exists} to test with a predicate
|
|
3901
3588
|
*
|
|
3902
|
-
* @category
|
|
3589
|
+
* @category predicates
|
|
3903
3590
|
* @since 2.0.0
|
|
3904
3591
|
*/
|
|
3905
3592
|
<A>(self: Option<A>, a: A): boolean;
|
|
@@ -3920,25 +3607,20 @@ export declare const contains: {
|
|
|
3920
3607
|
*
|
|
3921
3608
|
* **Example** (Testing a condition)
|
|
3922
3609
|
*
|
|
3923
|
-
* ```ts
|
|
3610
|
+
* ```ts import.meta.vitest
|
|
3924
3611
|
* import { Option } from "effect"
|
|
3925
3612
|
*
|
|
3926
3613
|
* const isEven = (n: number) => n % 2 === 0
|
|
3927
3614
|
*
|
|
3928
|
-
*
|
|
3929
|
-
* //
|
|
3930
|
-
*
|
|
3931
|
-
* console.log(Option.some(1).pipe(Option.exists(isEven)))
|
|
3932
|
-
* // Output: false
|
|
3933
|
-
*
|
|
3934
|
-
* console.log(Option.none().pipe(Option.exists(isEven)))
|
|
3935
|
-
* // Output: false
|
|
3615
|
+
* Option.some(2).pipe(Option.exists(isEven)) // => true
|
|
3616
|
+
* Option.some(1).pipe(Option.exists(isEven)) // => false
|
|
3617
|
+
* Option.none().pipe(Option.exists(isEven)) // => false
|
|
3936
3618
|
* ```
|
|
3937
3619
|
*
|
|
3938
3620
|
* @see {@link filter} to keep or discard based on a predicate
|
|
3939
3621
|
* @see {@link contains} to test for a specific value
|
|
3940
3622
|
*
|
|
3941
|
-
* @category
|
|
3623
|
+
* @category predicates
|
|
3942
3624
|
* @since 2.0.0
|
|
3943
3625
|
*/
|
|
3944
3626
|
export declare const exists: {
|
|
@@ -3958,25 +3640,20 @@ export declare const exists: {
|
|
|
3958
3640
|
*
|
|
3959
3641
|
* **Example** (Testing a condition)
|
|
3960
3642
|
*
|
|
3961
|
-
* ```ts
|
|
3643
|
+
* ```ts import.meta.vitest
|
|
3962
3644
|
* import { Option } from "effect"
|
|
3963
3645
|
*
|
|
3964
3646
|
* const isEven = (n: number) => n % 2 === 0
|
|
3965
3647
|
*
|
|
3966
|
-
*
|
|
3967
|
-
* //
|
|
3968
|
-
*
|
|
3969
|
-
* console.log(Option.some(1).pipe(Option.exists(isEven)))
|
|
3970
|
-
* // Output: false
|
|
3971
|
-
*
|
|
3972
|
-
* console.log(Option.none().pipe(Option.exists(isEven)))
|
|
3973
|
-
* // Output: false
|
|
3648
|
+
* Option.some(2).pipe(Option.exists(isEven)) // => true
|
|
3649
|
+
* Option.some(1).pipe(Option.exists(isEven)) // => false
|
|
3650
|
+
* Option.none().pipe(Option.exists(isEven)) // => false
|
|
3974
3651
|
* ```
|
|
3975
3652
|
*
|
|
3976
3653
|
* @see {@link filter} to keep or discard based on a predicate
|
|
3977
3654
|
* @see {@link contains} to test for a specific value
|
|
3978
3655
|
*
|
|
3979
|
-
* @category
|
|
3656
|
+
* @category predicates
|
|
3980
3657
|
* @since 2.0.0
|
|
3981
3658
|
*/
|
|
3982
3659
|
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Option<A>) => self is Option<B>;
|
|
@@ -3996,25 +3673,20 @@ export declare const exists: {
|
|
|
3996
3673
|
*
|
|
3997
3674
|
* **Example** (Testing a condition)
|
|
3998
3675
|
*
|
|
3999
|
-
* ```ts
|
|
3676
|
+
* ```ts import.meta.vitest
|
|
4000
3677
|
* import { Option } from "effect"
|
|
4001
3678
|
*
|
|
4002
3679
|
* const isEven = (n: number) => n % 2 === 0
|
|
4003
3680
|
*
|
|
4004
|
-
*
|
|
4005
|
-
* //
|
|
4006
|
-
*
|
|
4007
|
-
* console.log(Option.some(1).pipe(Option.exists(isEven)))
|
|
4008
|
-
* // Output: false
|
|
4009
|
-
*
|
|
4010
|
-
* console.log(Option.none().pipe(Option.exists(isEven)))
|
|
4011
|
-
* // Output: false
|
|
3681
|
+
* Option.some(2).pipe(Option.exists(isEven)) // => true
|
|
3682
|
+
* Option.some(1).pipe(Option.exists(isEven)) // => false
|
|
3683
|
+
* Option.none().pipe(Option.exists(isEven)) // => false
|
|
4012
3684
|
* ```
|
|
4013
3685
|
*
|
|
4014
3686
|
* @see {@link filter} to keep or discard based on a predicate
|
|
4015
3687
|
* @see {@link contains} to test for a specific value
|
|
4016
3688
|
*
|
|
4017
|
-
* @category
|
|
3689
|
+
* @category predicates
|
|
4018
3690
|
* @since 2.0.0
|
|
4019
3691
|
*/
|
|
4020
3692
|
<A>(predicate: Predicate<NoInfer<A>>): (self: Option<A>) => boolean;
|
|
@@ -4034,25 +3706,20 @@ export declare const exists: {
|
|
|
4034
3706
|
*
|
|
4035
3707
|
* **Example** (Testing a condition)
|
|
4036
3708
|
*
|
|
4037
|
-
* ```ts
|
|
3709
|
+
* ```ts import.meta.vitest
|
|
4038
3710
|
* import { Option } from "effect"
|
|
4039
3711
|
*
|
|
4040
3712
|
* const isEven = (n: number) => n % 2 === 0
|
|
4041
3713
|
*
|
|
4042
|
-
*
|
|
4043
|
-
* //
|
|
4044
|
-
*
|
|
4045
|
-
* console.log(Option.some(1).pipe(Option.exists(isEven)))
|
|
4046
|
-
* // Output: false
|
|
4047
|
-
*
|
|
4048
|
-
* console.log(Option.none().pipe(Option.exists(isEven)))
|
|
4049
|
-
* // Output: false
|
|
3714
|
+
* Option.some(2).pipe(Option.exists(isEven)) // => true
|
|
3715
|
+
* Option.some(1).pipe(Option.exists(isEven)) // => false
|
|
3716
|
+
* Option.none().pipe(Option.exists(isEven)) // => false
|
|
4050
3717
|
* ```
|
|
4051
3718
|
*
|
|
4052
3719
|
* @see {@link filter} to keep or discard based on a predicate
|
|
4053
3720
|
* @see {@link contains} to test for a specific value
|
|
4054
3721
|
*
|
|
4055
|
-
* @category
|
|
3722
|
+
* @category predicates
|
|
4056
3723
|
* @since 2.0.0
|
|
4057
3724
|
*/
|
|
4058
3725
|
<A, B extends A>(self: Option<A>, refinement: Refinement<A, B>): self is Option<B>;
|
|
@@ -4072,25 +3739,20 @@ export declare const exists: {
|
|
|
4072
3739
|
*
|
|
4073
3740
|
* **Example** (Testing a condition)
|
|
4074
3741
|
*
|
|
4075
|
-
* ```ts
|
|
3742
|
+
* ```ts import.meta.vitest
|
|
4076
3743
|
* import { Option } from "effect"
|
|
4077
3744
|
*
|
|
4078
3745
|
* const isEven = (n: number) => n % 2 === 0
|
|
4079
3746
|
*
|
|
4080
|
-
*
|
|
4081
|
-
* //
|
|
4082
|
-
*
|
|
4083
|
-
* console.log(Option.some(1).pipe(Option.exists(isEven)))
|
|
4084
|
-
* // Output: false
|
|
4085
|
-
*
|
|
4086
|
-
* console.log(Option.none().pipe(Option.exists(isEven)))
|
|
4087
|
-
* // Output: false
|
|
3747
|
+
* Option.some(2).pipe(Option.exists(isEven)) // => true
|
|
3748
|
+
* Option.some(1).pipe(Option.exists(isEven)) // => false
|
|
3749
|
+
* Option.none().pipe(Option.exists(isEven)) // => false
|
|
4088
3750
|
* ```
|
|
4089
3751
|
*
|
|
4090
3752
|
* @see {@link filter} to keep or discard based on a predicate
|
|
4091
3753
|
* @see {@link contains} to test for a specific value
|
|
4092
3754
|
*
|
|
4093
|
-
* @category
|
|
3755
|
+
* @category predicates
|
|
4094
3756
|
* @since 2.0.0
|
|
4095
3757
|
*/
|
|
4096
3758
|
<A>(self: Option<A>, predicate: Predicate<A>): boolean;
|
|
@@ -4106,24 +3768,22 @@ export declare const exists: {
|
|
|
4106
3768
|
*
|
|
4107
3769
|
* **Example** (Starting do notation)
|
|
4108
3770
|
*
|
|
4109
|
-
* ```ts
|
|
3771
|
+
* ```ts import.meta.vitest
|
|
4110
3772
|
* import { Option, pipe } from "effect"
|
|
4111
|
-
* import * as assert from "node:assert"
|
|
4112
3773
|
*
|
|
4113
|
-
*
|
|
3774
|
+
* pipe(
|
|
4114
3775
|
* Option.some(2),
|
|
4115
3776
|
* Option.bindTo("x"),
|
|
4116
3777
|
* Option.bind("y", () => Option.some(3)),
|
|
4117
3778
|
* Option.let("sum", ({ x, y }) => x + y)
|
|
4118
|
-
* )
|
|
4119
|
-
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
3779
|
+
* ) // => Option.some({ x: 2, y: 3, sum: 5 })
|
|
4120
3780
|
* ```
|
|
4121
3781
|
*
|
|
4122
3782
|
* @see {@link Do} for starting with an empty record
|
|
4123
3783
|
* @see {@link bind} to add `Option` values
|
|
4124
3784
|
* @see {@link let_ let} to add plain values
|
|
4125
3785
|
*
|
|
4126
|
-
* @category
|
|
3786
|
+
* @category mapping
|
|
4127
3787
|
* @since 2.0.0
|
|
4128
3788
|
*/
|
|
4129
3789
|
export declare const bindTo: {
|
|
@@ -4138,24 +3798,22 @@ export declare const bindTo: {
|
|
|
4138
3798
|
*
|
|
4139
3799
|
* **Example** (Starting do notation)
|
|
4140
3800
|
*
|
|
4141
|
-
* ```ts
|
|
3801
|
+
* ```ts import.meta.vitest
|
|
4142
3802
|
* import { Option, pipe } from "effect"
|
|
4143
|
-
* import * as assert from "node:assert"
|
|
4144
3803
|
*
|
|
4145
|
-
*
|
|
3804
|
+
* pipe(
|
|
4146
3805
|
* Option.some(2),
|
|
4147
3806
|
* Option.bindTo("x"),
|
|
4148
3807
|
* Option.bind("y", () => Option.some(3)),
|
|
4149
3808
|
* Option.let("sum", ({ x, y }) => x + y)
|
|
4150
|
-
* )
|
|
4151
|
-
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
3809
|
+
* ) // => Option.some({ x: 2, y: 3, sum: 5 })
|
|
4152
3810
|
* ```
|
|
4153
3811
|
*
|
|
4154
3812
|
* @see {@link Do} for starting with an empty record
|
|
4155
3813
|
* @see {@link bind} to add `Option` values
|
|
4156
3814
|
* @see {@link let_ let} to add plain values
|
|
4157
3815
|
*
|
|
4158
|
-
* @category
|
|
3816
|
+
* @category mapping
|
|
4159
3817
|
* @since 2.0.0
|
|
4160
3818
|
*/
|
|
4161
3819
|
<N extends string>(name: N): <A>(self: Option<A>) => Option<{
|
|
@@ -4172,24 +3830,22 @@ export declare const bindTo: {
|
|
|
4172
3830
|
*
|
|
4173
3831
|
* **Example** (Starting do notation)
|
|
4174
3832
|
*
|
|
4175
|
-
* ```ts
|
|
3833
|
+
* ```ts import.meta.vitest
|
|
4176
3834
|
* import { Option, pipe } from "effect"
|
|
4177
|
-
* import * as assert from "node:assert"
|
|
4178
3835
|
*
|
|
4179
|
-
*
|
|
3836
|
+
* pipe(
|
|
4180
3837
|
* Option.some(2),
|
|
4181
3838
|
* Option.bindTo("x"),
|
|
4182
3839
|
* Option.bind("y", () => Option.some(3)),
|
|
4183
3840
|
* Option.let("sum", ({ x, y }) => x + y)
|
|
4184
|
-
* )
|
|
4185
|
-
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
3841
|
+
* ) // => Option.some({ x: 2, y: 3, sum: 5 })
|
|
4186
3842
|
* ```
|
|
4187
3843
|
*
|
|
4188
3844
|
* @see {@link Do} for starting with an empty record
|
|
4189
3845
|
* @see {@link bind} to add `Option` values
|
|
4190
3846
|
* @see {@link let_ let} to add plain values
|
|
4191
3847
|
*
|
|
4192
|
-
* @category
|
|
3848
|
+
* @category mapping
|
|
4193
3849
|
* @since 2.0.0
|
|
4194
3850
|
*/
|
|
4195
3851
|
<A, N extends string>(self: Option<A>, name: N): Option<{
|
|
@@ -4215,24 +3871,22 @@ export {
|
|
|
4215
3871
|
*
|
|
4216
3872
|
* **Example** (Adding a computed value)
|
|
4217
3873
|
*
|
|
4218
|
-
* ```ts
|
|
3874
|
+
* ```ts import.meta.vitest
|
|
4219
3875
|
* import { Option, pipe } from "effect"
|
|
4220
|
-
* import * as assert from "node:assert"
|
|
4221
3876
|
*
|
|
4222
|
-
*
|
|
3877
|
+
* pipe(
|
|
4223
3878
|
* Option.Do,
|
|
4224
3879
|
* Option.bind("x", () => Option.some(2)),
|
|
4225
3880
|
* Option.bind("y", () => Option.some(3)),
|
|
4226
3881
|
* Option.let("sum", ({ x, y }) => x + y)
|
|
4227
|
-
* )
|
|
4228
|
-
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
3882
|
+
* ) // => Option.some({ x: 2, y: 3, sum: 5 })
|
|
4229
3883
|
* ```
|
|
4230
3884
|
*
|
|
4231
3885
|
* @see {@link Do} for starting the chain
|
|
4232
3886
|
* @see {@link bind} to add `Option` values
|
|
4233
3887
|
* @see {@link bindTo} to start by naming an existing `Option`
|
|
4234
3888
|
*
|
|
4235
|
-
* @category
|
|
3889
|
+
* @category mapping
|
|
4236
3890
|
* @since 2.0.0
|
|
4237
3891
|
*/
|
|
4238
3892
|
let_ as let };
|
|
@@ -4246,25 +3900,23 @@ let_ as let };
|
|
|
4246
3900
|
*
|
|
4247
3901
|
* **Example** (Binding Option values)
|
|
4248
3902
|
*
|
|
4249
|
-
* ```ts
|
|
3903
|
+
* ```ts import.meta.vitest
|
|
4250
3904
|
* import { Option, pipe } from "effect"
|
|
4251
|
-
* import * as assert from "node:assert"
|
|
4252
3905
|
*
|
|
4253
|
-
*
|
|
3906
|
+
* pipe(
|
|
4254
3907
|
* Option.Do,
|
|
4255
3908
|
* Option.bind("x", () => Option.some(2)),
|
|
4256
3909
|
* Option.bind("y", () => Option.some(3)),
|
|
4257
3910
|
* Option.let("sum", ({ x, y }) => x + y),
|
|
4258
3911
|
* Option.filter(({ x, y }) => x * y > 5)
|
|
4259
|
-
* )
|
|
4260
|
-
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
3912
|
+
* ) // => Option.some({ x: 2, y: 3, sum: 5 })
|
|
4261
3913
|
* ```
|
|
4262
3914
|
*
|
|
4263
3915
|
* @see {@link Do} for starting the chain
|
|
4264
3916
|
* @see {@link let_ let} to add plain values
|
|
4265
3917
|
* @see {@link bindTo} to start by naming an existing `Option`
|
|
4266
3918
|
*
|
|
4267
|
-
* @category
|
|
3919
|
+
* @category sequencing
|
|
4268
3920
|
* @since 2.0.0
|
|
4269
3921
|
*/
|
|
4270
3922
|
export declare const bind: {
|
|
@@ -4278,25 +3930,23 @@ export declare const bind: {
|
|
|
4278
3930
|
*
|
|
4279
3931
|
* **Example** (Binding Option values)
|
|
4280
3932
|
*
|
|
4281
|
-
* ```ts
|
|
3933
|
+
* ```ts import.meta.vitest
|
|
4282
3934
|
* import { Option, pipe } from "effect"
|
|
4283
|
-
* import * as assert from "node:assert"
|
|
4284
3935
|
*
|
|
4285
|
-
*
|
|
3936
|
+
* pipe(
|
|
4286
3937
|
* Option.Do,
|
|
4287
3938
|
* Option.bind("x", () => Option.some(2)),
|
|
4288
3939
|
* Option.bind("y", () => Option.some(3)),
|
|
4289
3940
|
* Option.let("sum", ({ x, y }) => x + y),
|
|
4290
3941
|
* Option.filter(({ x, y }) => x * y > 5)
|
|
4291
|
-
* )
|
|
4292
|
-
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
3942
|
+
* ) // => Option.some({ x: 2, y: 3, sum: 5 })
|
|
4293
3943
|
* ```
|
|
4294
3944
|
*
|
|
4295
3945
|
* @see {@link Do} for starting the chain
|
|
4296
3946
|
* @see {@link let_ let} to add plain values
|
|
4297
3947
|
* @see {@link bindTo} to start by naming an existing `Option`
|
|
4298
3948
|
*
|
|
4299
|
-
* @category
|
|
3949
|
+
* @category sequencing
|
|
4300
3950
|
* @since 2.0.0
|
|
4301
3951
|
*/
|
|
4302
3952
|
<N extends string, A extends object, B>(name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => Option<B>): (self: Option<A>) => Option<{
|
|
@@ -4312,25 +3962,23 @@ export declare const bind: {
|
|
|
4312
3962
|
*
|
|
4313
3963
|
* **Example** (Binding Option values)
|
|
4314
3964
|
*
|
|
4315
|
-
* ```ts
|
|
3965
|
+
* ```ts import.meta.vitest
|
|
4316
3966
|
* import { Option, pipe } from "effect"
|
|
4317
|
-
* import * as assert from "node:assert"
|
|
4318
3967
|
*
|
|
4319
|
-
*
|
|
3968
|
+
* pipe(
|
|
4320
3969
|
* Option.Do,
|
|
4321
3970
|
* Option.bind("x", () => Option.some(2)),
|
|
4322
3971
|
* Option.bind("y", () => Option.some(3)),
|
|
4323
3972
|
* Option.let("sum", ({ x, y }) => x + y),
|
|
4324
3973
|
* Option.filter(({ x, y }) => x * y > 5)
|
|
4325
|
-
* )
|
|
4326
|
-
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
3974
|
+
* ) // => Option.some({ x: 2, y: 3, sum: 5 })
|
|
4327
3975
|
* ```
|
|
4328
3976
|
*
|
|
4329
3977
|
* @see {@link Do} for starting the chain
|
|
4330
3978
|
* @see {@link let_ let} to add plain values
|
|
4331
3979
|
* @see {@link bindTo} to start by naming an existing `Option`
|
|
4332
3980
|
*
|
|
4333
|
-
* @category
|
|
3981
|
+
* @category sequencing
|
|
4334
3982
|
* @since 2.0.0
|
|
4335
3983
|
*/
|
|
4336
3984
|
<A extends object, N extends string, B>(self: Option<A>, name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => Option<B>): Option<{
|
|
@@ -4348,25 +3996,23 @@ export declare const bind: {
|
|
|
4348
3996
|
*
|
|
4349
3997
|
* **Example** (Building Option pipelines with do notation)
|
|
4350
3998
|
*
|
|
4351
|
-
* ```ts
|
|
3999
|
+
* ```ts import.meta.vitest
|
|
4352
4000
|
* import { Option, pipe } from "effect"
|
|
4353
|
-
* import * as assert from "node:assert"
|
|
4354
4001
|
*
|
|
4355
|
-
*
|
|
4002
|
+
* pipe(
|
|
4356
4003
|
* Option.Do,
|
|
4357
4004
|
* Option.bind("x", () => Option.some(2)),
|
|
4358
4005
|
* Option.bind("y", () => Option.some(3)),
|
|
4359
4006
|
* Option.let("sum", ({ x, y }) => x + y),
|
|
4360
4007
|
* Option.filter(({ x, y }) => x * y > 5)
|
|
4361
|
-
* )
|
|
4362
|
-
* assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
|
|
4008
|
+
* ) // => Option.some({ x: 2, y: 3, sum: 5 })
|
|
4363
4009
|
* ```
|
|
4364
4010
|
*
|
|
4365
4011
|
* @see {@link bind} to add `Option` values
|
|
4366
4012
|
* @see {@link let_ let} to add plain values
|
|
4367
4013
|
* @see {@link bindTo} to start by naming an existing `Option`
|
|
4368
4014
|
*
|
|
4369
|
-
* @category
|
|
4015
|
+
* @category constructors
|
|
4370
4016
|
* @since 2.0.0
|
|
4371
4017
|
*/
|
|
4372
4018
|
export declare const Do: Option<{}>;
|
|
@@ -4387,21 +4033,17 @@ export declare const Do: Option<{}>;
|
|
|
4387
4033
|
*
|
|
4388
4034
|
* **Example** (Sequencing Option computations with generator syntax)
|
|
4389
4035
|
*
|
|
4390
|
-
* ```ts
|
|
4036
|
+
* ```ts import.meta.vitest
|
|
4391
4037
|
* import { Option } from "effect"
|
|
4392
4038
|
*
|
|
4393
4039
|
* const maybeName: Option.Option<string> = Option.some("John")
|
|
4394
4040
|
* const maybeAge: Option.Option<number> = Option.some(25)
|
|
4395
4041
|
*
|
|
4396
|
-
*
|
|
4042
|
+
* Option.gen(function*() {
|
|
4397
4043
|
* const name = (yield* maybeName).toUpperCase()
|
|
4398
4044
|
* const age = yield* maybeAge
|
|
4399
4045
|
* return { name, age }
|
|
4400
|
-
* })
|
|
4401
|
-
*
|
|
4402
|
-
* console.log(person)
|
|
4403
|
-
* // Output:
|
|
4404
|
-
* // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
|
|
4046
|
+
* }) // => Option.some({ name: "JOHN", age: 25 })
|
|
4405
4047
|
* ```
|
|
4406
4048
|
*
|
|
4407
4049
|
* @see {@link Do} / {@link bind} for the do notation alternative
|
|
@@ -4429,17 +4071,16 @@ export declare const gen: Gen.Gen<OptionTypeLambda>;
|
|
|
4429
4071
|
*
|
|
4430
4072
|
* **Example** (Reducing with first-wins semantics)
|
|
4431
4073
|
*
|
|
4432
|
-
* ```ts
|
|
4074
|
+
* ```ts import.meta.vitest
|
|
4433
4075
|
* import { Number, Option } from "effect"
|
|
4434
4076
|
*
|
|
4435
4077
|
* const reducer = Option.makeReducer(Number.ReducerSum)
|
|
4436
|
-
*
|
|
4437
|
-
* // Output: { _id: 'Option', _tag: 'Some', value: 3 }
|
|
4078
|
+
* reducer.combineAll([Option.some(1), Option.none(), Option.some(2)]) // => Option.some(3)
|
|
4438
4079
|
* ```
|
|
4439
4080
|
*
|
|
4440
4081
|
* @see {@link makeReducerFailFast} for fail-fast semantics
|
|
4441
4082
|
*
|
|
4442
|
-
* @category
|
|
4083
|
+
* @category constructors
|
|
4443
4084
|
* @since 4.0.0
|
|
4444
4085
|
*/
|
|
4445
4086
|
export declare function makeReducer<A>(combiner: Combiner.Combiner<A>): Reducer.Reducer<Option<A>>;
|
|
@@ -4460,20 +4101,17 @@ export declare function makeReducer<A>(combiner: Combiner.Combiner<A>): Reducer.
|
|
|
4460
4101
|
*
|
|
4461
4102
|
* **Example** (Fail-fast combining)
|
|
4462
4103
|
*
|
|
4463
|
-
* ```ts
|
|
4104
|
+
* ```ts import.meta.vitest
|
|
4464
4105
|
* import { Number, Option } from "effect"
|
|
4465
4106
|
*
|
|
4466
4107
|
* const combiner = Option.makeCombinerFailFast(Number.ReducerSum)
|
|
4467
|
-
*
|
|
4468
|
-
*
|
|
4469
|
-
*
|
|
4470
|
-
* console.log(combiner.combine(Option.some(1), Option.none()))
|
|
4471
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
4108
|
+
* combiner.combine(Option.some(1), Option.some(2)) // => Option.some(3)
|
|
4109
|
+
* combiner.combine(Option.some(1), Option.none()) // => Option.none()
|
|
4472
4110
|
* ```
|
|
4473
4111
|
*
|
|
4474
4112
|
* @see {@link makeReducerFailFast} to get a full `Reducer`
|
|
4475
4113
|
*
|
|
4476
|
-
* @category
|
|
4114
|
+
* @category constructors
|
|
4477
4115
|
* @since 4.0.0
|
|
4478
4116
|
*/
|
|
4479
4117
|
export declare function makeCombinerFailFast<A>(combiner: Combiner.Combiner<A>): Combiner.Combiner<Option<A>>;
|
|
@@ -4494,21 +4132,18 @@ export declare function makeCombinerFailFast<A>(combiner: Combiner.Combiner<A>):
|
|
|
4494
4132
|
*
|
|
4495
4133
|
* **Example** (Fail-fast reducing)
|
|
4496
4134
|
*
|
|
4497
|
-
* ```ts
|
|
4135
|
+
* ```ts import.meta.vitest
|
|
4498
4136
|
* import { Number, Option } from "effect"
|
|
4499
4137
|
*
|
|
4500
4138
|
* const reducer = Option.makeReducerFailFast(Number.ReducerSum)
|
|
4501
|
-
*
|
|
4502
|
-
*
|
|
4503
|
-
*
|
|
4504
|
-
* console.log(reducer.combineAll([Option.some(1), Option.none()]))
|
|
4505
|
-
* // Output: { _id: 'Option', _tag: 'None' }
|
|
4139
|
+
* reducer.combineAll([Option.some(1), Option.some(2)]) // => Option.some(3)
|
|
4140
|
+
* reducer.combineAll([Option.some(1), Option.none()]) // => Option.none()
|
|
4506
4141
|
* ```
|
|
4507
4142
|
*
|
|
4508
4143
|
* @see {@link makeCombinerFailFast} for just the combiner
|
|
4509
4144
|
* @see {@link makeReducer} for non-fail-fast semantics
|
|
4510
4145
|
*
|
|
4511
|
-
* @category
|
|
4146
|
+
* @category constructors
|
|
4512
4147
|
* @since 4.0.0
|
|
4513
4148
|
*/
|
|
4514
4149
|
export declare function makeReducerFailFast<A>(reducer: Reducer.Reducer<A>): Reducer.Reducer<Option<A>>;
|