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/src/MutableRef.ts
CHANGED
|
@@ -32,19 +32,20 @@ const TypeId = "~effect/MutableRef"
|
|
|
32
32
|
*
|
|
33
33
|
* **Example** (Creating and updating refs)
|
|
34
34
|
*
|
|
35
|
-
* ```ts
|
|
35
|
+
* ```ts import.meta.vitest
|
|
36
36
|
* import { MutableRef } from "effect"
|
|
37
37
|
*
|
|
38
38
|
* // Create a mutable reference
|
|
39
39
|
* const ref: MutableRef.MutableRef<number> = MutableRef.make(42)
|
|
40
40
|
*
|
|
41
41
|
* // Read the current value
|
|
42
|
-
*
|
|
43
|
-
*
|
|
42
|
+
* ref.current // => 42
|
|
43
|
+
* MutableRef.get(ref) // => 42
|
|
44
44
|
*
|
|
45
45
|
* // Update the value
|
|
46
46
|
* ref.current = 100
|
|
47
|
-
*
|
|
47
|
+
*
|
|
48
|
+
* MutableRef.get(ref) // => 100
|
|
48
49
|
*
|
|
49
50
|
* // Use with complex types
|
|
50
51
|
* interface Config {
|
|
@@ -59,7 +60,8 @@ const TypeId = "~effect/MutableRef"
|
|
|
59
60
|
*
|
|
60
61
|
* // Update through the interface
|
|
61
62
|
* config.current = { timeout: 10000, retries: 5 }
|
|
62
|
-
*
|
|
63
|
+
*
|
|
64
|
+
* config.current // => { timeout: 10000, retries: 5 }
|
|
63
65
|
* ```
|
|
64
66
|
*
|
|
65
67
|
* @category models
|
|
@@ -90,21 +92,24 @@ const MutableRefProto: Omit<MutableRef<unknown>, "current"> = {
|
|
|
90
92
|
*
|
|
91
93
|
* **Example** (Creating mutable refs)
|
|
92
94
|
*
|
|
93
|
-
* ```ts
|
|
95
|
+
* ```ts import.meta.vitest
|
|
94
96
|
* import { MutableRef } from "effect"
|
|
95
97
|
*
|
|
96
98
|
* // Create a counter reference
|
|
97
99
|
* const counter = MutableRef.make(0)
|
|
98
|
-
*
|
|
100
|
+
*
|
|
101
|
+
* MutableRef.get(counter) // => 0
|
|
99
102
|
*
|
|
100
103
|
* // Create a configuration reference
|
|
101
104
|
* const config = MutableRef.make({ debug: false, timeout: 5000 })
|
|
102
|
-
*
|
|
105
|
+
*
|
|
106
|
+
* MutableRef.get(config) // => { debug: false, timeout: 5000 }
|
|
103
107
|
*
|
|
104
108
|
* // Create a string reference
|
|
105
109
|
* const status = MutableRef.make("idle")
|
|
106
110
|
* MutableRef.set(status, "running")
|
|
107
|
-
*
|
|
111
|
+
*
|
|
112
|
+
* MutableRef.get(status) // => "running"
|
|
108
113
|
* ```
|
|
109
114
|
*
|
|
110
115
|
* @category constructors
|
|
@@ -128,20 +133,22 @@ export const make = <T>(value: T): MutableRef<T> => {
|
|
|
128
133
|
*
|
|
129
134
|
* **Example** (Comparing and setting values)
|
|
130
135
|
*
|
|
131
|
-
* ```ts
|
|
136
|
+
* ```ts import.meta.vitest
|
|
132
137
|
* import { MutableRef } from "effect"
|
|
133
138
|
*
|
|
134
139
|
* const ref = MutableRef.make("initial")
|
|
135
140
|
*
|
|
136
141
|
* // Successful compare and set
|
|
137
142
|
* const updated = MutableRef.compareAndSet(ref, "initial", "updated")
|
|
138
|
-
*
|
|
139
|
-
*
|
|
143
|
+
*
|
|
144
|
+
* updated // => true
|
|
145
|
+
* MutableRef.get(ref) // => "updated"
|
|
140
146
|
*
|
|
141
147
|
* // Failed compare and set (value doesn't match)
|
|
142
148
|
* const failed = MutableRef.compareAndSet(ref, "initial", "failed")
|
|
143
|
-
*
|
|
144
|
-
*
|
|
149
|
+
*
|
|
150
|
+
* failed // => false
|
|
151
|
+
* MutableRef.get(ref) // => "updated"
|
|
145
152
|
*
|
|
146
153
|
* // Thread-safe counter increment
|
|
147
154
|
* const counter = MutableRef.make(5)
|
|
@@ -150,12 +157,16 @@ export const make = <T>(value: T): MutableRef<T> => {
|
|
|
150
157
|
* current = MutableRef.get(counter)
|
|
151
158
|
* } while (!MutableRef.compareAndSet(counter, current, current + 1))
|
|
152
159
|
*
|
|
160
|
+
* MutableRef.get(counter) // => 6
|
|
161
|
+
*
|
|
153
162
|
* // Pipe-able version
|
|
154
163
|
* const casUpdate = MutableRef.compareAndSet("updated", "final")
|
|
155
|
-
*
|
|
164
|
+
*
|
|
165
|
+
* casUpdate(ref) // => true
|
|
166
|
+
* MutableRef.get(ref) // => "final"
|
|
156
167
|
* ```
|
|
157
168
|
*
|
|
158
|
-
* @category
|
|
169
|
+
* @category mutations
|
|
159
170
|
* @since 2.0.0
|
|
160
171
|
*/
|
|
161
172
|
export const compareAndSet: {
|
|
@@ -171,20 +182,22 @@ export const compareAndSet: {
|
|
|
171
182
|
*
|
|
172
183
|
* **Example** (Comparing and setting values)
|
|
173
184
|
*
|
|
174
|
-
* ```ts
|
|
185
|
+
* ```ts import.meta.vitest
|
|
175
186
|
* import { MutableRef } from "effect"
|
|
176
187
|
*
|
|
177
188
|
* const ref = MutableRef.make("initial")
|
|
178
189
|
*
|
|
179
190
|
* // Successful compare and set
|
|
180
191
|
* const updated = MutableRef.compareAndSet(ref, "initial", "updated")
|
|
181
|
-
*
|
|
182
|
-
*
|
|
192
|
+
*
|
|
193
|
+
* updated // => true
|
|
194
|
+
* MutableRef.get(ref) // => "updated"
|
|
183
195
|
*
|
|
184
196
|
* // Failed compare and set (value doesn't match)
|
|
185
197
|
* const failed = MutableRef.compareAndSet(ref, "initial", "failed")
|
|
186
|
-
*
|
|
187
|
-
*
|
|
198
|
+
*
|
|
199
|
+
* failed // => false
|
|
200
|
+
* MutableRef.get(ref) // => "updated"
|
|
188
201
|
*
|
|
189
202
|
* // Thread-safe counter increment
|
|
190
203
|
* const counter = MutableRef.make(5)
|
|
@@ -193,12 +206,16 @@ export const compareAndSet: {
|
|
|
193
206
|
* current = MutableRef.get(counter)
|
|
194
207
|
* } while (!MutableRef.compareAndSet(counter, current, current + 1))
|
|
195
208
|
*
|
|
209
|
+
* MutableRef.get(counter) // => 6
|
|
210
|
+
*
|
|
196
211
|
* // Pipe-able version
|
|
197
212
|
* const casUpdate = MutableRef.compareAndSet("updated", "final")
|
|
198
|
-
*
|
|
213
|
+
*
|
|
214
|
+
* casUpdate(ref) // => true
|
|
215
|
+
* MutableRef.get(ref) // => "final"
|
|
199
216
|
* ```
|
|
200
217
|
*
|
|
201
|
-
* @category
|
|
218
|
+
* @category mutations
|
|
202
219
|
* @since 2.0.0
|
|
203
220
|
*/
|
|
204
221
|
<T>(oldValue: T, newValue: T): (self: MutableRef<T>) => boolean
|
|
@@ -214,20 +231,22 @@ export const compareAndSet: {
|
|
|
214
231
|
*
|
|
215
232
|
* **Example** (Comparing and setting values)
|
|
216
233
|
*
|
|
217
|
-
* ```ts
|
|
234
|
+
* ```ts import.meta.vitest
|
|
218
235
|
* import { MutableRef } from "effect"
|
|
219
236
|
*
|
|
220
237
|
* const ref = MutableRef.make("initial")
|
|
221
238
|
*
|
|
222
239
|
* // Successful compare and set
|
|
223
240
|
* const updated = MutableRef.compareAndSet(ref, "initial", "updated")
|
|
224
|
-
*
|
|
225
|
-
*
|
|
241
|
+
*
|
|
242
|
+
* updated // => true
|
|
243
|
+
* MutableRef.get(ref) // => "updated"
|
|
226
244
|
*
|
|
227
245
|
* // Failed compare and set (value doesn't match)
|
|
228
246
|
* const failed = MutableRef.compareAndSet(ref, "initial", "failed")
|
|
229
|
-
*
|
|
230
|
-
*
|
|
247
|
+
*
|
|
248
|
+
* failed // => false
|
|
249
|
+
* MutableRef.get(ref) // => "updated"
|
|
231
250
|
*
|
|
232
251
|
* // Thread-safe counter increment
|
|
233
252
|
* const counter = MutableRef.make(5)
|
|
@@ -236,12 +255,16 @@ export const compareAndSet: {
|
|
|
236
255
|
* current = MutableRef.get(counter)
|
|
237
256
|
* } while (!MutableRef.compareAndSet(counter, current, current + 1))
|
|
238
257
|
*
|
|
258
|
+
* MutableRef.get(counter) // => 6
|
|
259
|
+
*
|
|
239
260
|
* // Pipe-able version
|
|
240
261
|
* const casUpdate = MutableRef.compareAndSet("updated", "final")
|
|
241
|
-
*
|
|
262
|
+
*
|
|
263
|
+
* casUpdate(ref) // => true
|
|
264
|
+
* MutableRef.get(ref) // => "final"
|
|
242
265
|
* ```
|
|
243
266
|
*
|
|
244
|
-
* @category
|
|
267
|
+
* @category mutations
|
|
245
268
|
* @since 2.0.0
|
|
246
269
|
*/
|
|
247
270
|
<T>(self: MutableRef<T>, oldValue: T, newValue: T): boolean
|
|
@@ -266,29 +289,32 @@ export const compareAndSet: {
|
|
|
266
289
|
*
|
|
267
290
|
* **Example** (Decrementing numeric refs)
|
|
268
291
|
*
|
|
269
|
-
* ```ts
|
|
292
|
+
* ```ts import.meta.vitest
|
|
270
293
|
* import { MutableRef } from "effect"
|
|
271
294
|
*
|
|
272
295
|
* const counter = MutableRef.make(5)
|
|
273
296
|
*
|
|
274
297
|
* // Decrement the counter
|
|
275
298
|
* MutableRef.decrement(counter)
|
|
276
|
-
*
|
|
299
|
+
*
|
|
300
|
+
* MutableRef.get(counter) // => 4
|
|
277
301
|
*
|
|
278
302
|
* // Chain operations
|
|
279
303
|
* MutableRef.decrement(counter)
|
|
280
304
|
* MutableRef.decrement(counter)
|
|
281
|
-
*
|
|
305
|
+
*
|
|
306
|
+
* MutableRef.get(counter) // => 2
|
|
282
307
|
*
|
|
283
308
|
* // Useful for countdown scenarios
|
|
284
309
|
* const countdown = MutableRef.make(10)
|
|
285
310
|
* while (MutableRef.get(countdown) > 0) {
|
|
286
|
-
* console.log(MutableRef.get(countdown))
|
|
287
311
|
* MutableRef.decrement(countdown)
|
|
288
312
|
* }
|
|
313
|
+
*
|
|
314
|
+
* MutableRef.get(countdown) // => 0
|
|
289
315
|
* ```
|
|
290
316
|
*
|
|
291
|
-
* @category
|
|
317
|
+
* @category mutations
|
|
292
318
|
* @since 2.0.0
|
|
293
319
|
*/
|
|
294
320
|
export const decrement = (self: MutableRef<number>): MutableRef<number> => update(self, (n) => n - 1)
|
|
@@ -303,29 +329,35 @@ export const decrement = (self: MutableRef<number>): MutableRef<number> => updat
|
|
|
303
329
|
*
|
|
304
330
|
* **Example** (Decrementing and reading refs)
|
|
305
331
|
*
|
|
306
|
-
* ```ts
|
|
332
|
+
* ```ts import.meta.vitest
|
|
307
333
|
* import { MutableRef } from "effect"
|
|
308
334
|
*
|
|
309
335
|
* const counter = MutableRef.make(5)
|
|
310
336
|
*
|
|
311
337
|
* // Decrement and get the new value
|
|
312
338
|
* const newValue = MutableRef.decrementAndGet(counter)
|
|
313
|
-
*
|
|
314
|
-
*
|
|
339
|
+
*
|
|
340
|
+
* newValue // => 4
|
|
341
|
+
* MutableRef.get(counter) // => 4
|
|
315
342
|
*
|
|
316
343
|
* // Use in expressions
|
|
317
344
|
* const lives = MutableRef.make(3)
|
|
318
|
-
*
|
|
345
|
+
* const message = `Lives remaining: ${MutableRef.decrementAndGet(lives)}`
|
|
346
|
+
*
|
|
347
|
+
* message // => "Lives remaining: 2"
|
|
319
348
|
*
|
|
320
349
|
* // Conditional logic based on decremented value
|
|
321
350
|
* const attempts = MutableRef.make(3)
|
|
351
|
+
* let retries = 0
|
|
322
352
|
* while (MutableRef.decrementAndGet(attempts) >= 0) {
|
|
323
|
-
*
|
|
324
|
-
* // retry logic
|
|
353
|
+
* retries += 1
|
|
325
354
|
* }
|
|
355
|
+
*
|
|
356
|
+
* retries // => 3
|
|
357
|
+
* MutableRef.get(attempts) // => -1
|
|
326
358
|
* ```
|
|
327
359
|
*
|
|
328
|
-
* @category
|
|
360
|
+
* @category mutations
|
|
329
361
|
* @since 2.0.0
|
|
330
362
|
*/
|
|
331
363
|
export const decrementAndGet = (self: MutableRef<number>): number => updateAndGet(self, (n) => n - 1)
|
|
@@ -339,27 +371,31 @@ export const decrementAndGet = (self: MutableRef<number>): number => updateAndGe
|
|
|
339
371
|
*
|
|
340
372
|
* **Example** (Reading current values)
|
|
341
373
|
*
|
|
342
|
-
* ```ts
|
|
374
|
+
* ```ts import.meta.vitest
|
|
343
375
|
* import { MutableRef } from "effect"
|
|
344
376
|
*
|
|
345
377
|
* const ref = MutableRef.make("hello")
|
|
346
|
-
*
|
|
378
|
+
*
|
|
379
|
+
* MutableRef.get(ref) // => "hello"
|
|
347
380
|
*
|
|
348
381
|
* MutableRef.set(ref, "world")
|
|
349
|
-
*
|
|
382
|
+
*
|
|
383
|
+
* MutableRef.get(ref) // => "world"
|
|
350
384
|
*
|
|
351
385
|
* // Reading complex objects
|
|
352
386
|
* const config = MutableRef.make({ port: 3000, host: "localhost" })
|
|
353
387
|
* const currentConfig = MutableRef.get(config)
|
|
354
|
-
*
|
|
388
|
+
*
|
|
389
|
+
* currentConfig // => { port: 3000, host: "localhost" }
|
|
355
390
|
*
|
|
356
391
|
* // Multiple reads return the same value
|
|
357
392
|
* const value1 = MutableRef.get(ref)
|
|
358
393
|
* const value2 = MutableRef.get(ref)
|
|
359
|
-
*
|
|
394
|
+
*
|
|
395
|
+
* value1 === value2 // => true
|
|
360
396
|
* ```
|
|
361
397
|
*
|
|
362
|
-
* @category
|
|
398
|
+
* @category getters
|
|
363
399
|
* @since 2.0.0
|
|
364
400
|
*/
|
|
365
401
|
export const get = <T>(self: MutableRef<T>): T => self.current
|
|
@@ -373,30 +409,38 @@ export const get = <T>(self: MutableRef<T>): T => self.current
|
|
|
373
409
|
*
|
|
374
410
|
* **Example** (Reading before decrementing)
|
|
375
411
|
*
|
|
376
|
-
* ```ts
|
|
412
|
+
* ```ts import.meta.vitest
|
|
377
413
|
* import { MutableRef } from "effect"
|
|
378
414
|
*
|
|
379
415
|
* const counter = MutableRef.make(5)
|
|
380
416
|
*
|
|
381
417
|
* // Get current value and then decrement
|
|
382
418
|
* const previousValue = MutableRef.getAndDecrement(counter)
|
|
383
|
-
*
|
|
384
|
-
*
|
|
419
|
+
*
|
|
420
|
+
* previousValue // => 5
|
|
421
|
+
* MutableRef.get(counter) // => 4
|
|
385
422
|
*
|
|
386
423
|
* // Useful for processing where you need the original value
|
|
387
424
|
* const itemsLeft = MutableRef.make(10)
|
|
425
|
+
* const processedItems: Array<number> = []
|
|
388
426
|
* while (MutableRef.get(itemsLeft) > 0) {
|
|
389
427
|
* const currentItem = MutableRef.getAndDecrement(itemsLeft)
|
|
390
|
-
*
|
|
428
|
+
* processedItems.push(currentItem)
|
|
391
429
|
* }
|
|
392
430
|
*
|
|
431
|
+
* processedItems // => [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
|
|
432
|
+
* MutableRef.get(itemsLeft) // => 0
|
|
433
|
+
*
|
|
393
434
|
* // Post-decrement semantics (like i-- in other languages)
|
|
394
435
|
* const index = MutableRef.make(3)
|
|
395
436
|
* const currentIndex = MutableRef.getAndDecrement(index)
|
|
396
|
-
*
|
|
437
|
+
* const nextIndex = MutableRef.get(index)
|
|
438
|
+
*
|
|
439
|
+
* currentIndex // => 3
|
|
440
|
+
* nextIndex // => 2
|
|
397
441
|
* ```
|
|
398
442
|
*
|
|
399
|
-
* @category
|
|
443
|
+
* @category mutations
|
|
400
444
|
* @since 2.0.0
|
|
401
445
|
*/
|
|
402
446
|
export const getAndDecrement = (self: MutableRef<number>): number => getAndUpdate(self, (n) => n - 1)
|
|
@@ -410,38 +454,45 @@ export const getAndDecrement = (self: MutableRef<number>): number => getAndUpdat
|
|
|
410
454
|
*
|
|
411
455
|
* **Example** (Reading before incrementing)
|
|
412
456
|
*
|
|
413
|
-
* ```ts
|
|
457
|
+
* ```ts import.meta.vitest
|
|
414
458
|
* import { MutableRef } from "effect"
|
|
415
459
|
*
|
|
416
460
|
* const counter = MutableRef.make(5)
|
|
417
461
|
*
|
|
418
462
|
* // Get current value and then increment
|
|
419
463
|
* const previousValue = MutableRef.getAndIncrement(counter)
|
|
420
|
-
*
|
|
421
|
-
*
|
|
464
|
+
*
|
|
465
|
+
* previousValue // => 5
|
|
466
|
+
* MutableRef.get(counter) // => 6
|
|
422
467
|
*
|
|
423
468
|
* // Useful for ID generation
|
|
424
469
|
* const idGenerator = MutableRef.make(0)
|
|
425
470
|
* const getId = () => MutableRef.getAndIncrement(idGenerator)
|
|
471
|
+
* const ids = [getId(), getId(), getId()]
|
|
426
472
|
*
|
|
427
|
-
*
|
|
428
|
-
* console.log(getId()) // 1
|
|
429
|
-
* console.log(getId()) // 2
|
|
473
|
+
* ids // => [0, 1, 2]
|
|
430
474
|
*
|
|
431
475
|
* // Post-increment semantics (like i++ in other languages)
|
|
432
476
|
* const position = MutableRef.make(0)
|
|
433
477
|
* const currentPos = MutableRef.getAndIncrement(position)
|
|
434
|
-
*
|
|
478
|
+
* const nextPos = MutableRef.get(position)
|
|
479
|
+
*
|
|
480
|
+
* currentPos // => 0
|
|
481
|
+
* nextPos // => 1
|
|
435
482
|
*
|
|
436
483
|
* // Useful for iteration counters
|
|
437
484
|
* const iterations = MutableRef.make(0)
|
|
485
|
+
* const visited: Array<number> = []
|
|
438
486
|
* while (MutableRef.get(iterations) < 5) {
|
|
439
487
|
* const iteration = MutableRef.getAndIncrement(iterations)
|
|
440
|
-
*
|
|
488
|
+
* visited.push(iteration)
|
|
441
489
|
* }
|
|
490
|
+
*
|
|
491
|
+
* visited // => [0, 1, 2, 3, 4]
|
|
492
|
+
* MutableRef.get(iterations) // => 5
|
|
442
493
|
* ```
|
|
443
494
|
*
|
|
444
|
-
* @category
|
|
495
|
+
* @category mutations
|
|
445
496
|
* @since 2.0.0
|
|
446
497
|
*/
|
|
447
498
|
export const getAndIncrement = (self: MutableRef<number>): number => getAndUpdate(self, (n) => n + 1)
|
|
@@ -456,34 +507,41 @@ export const getAndIncrement = (self: MutableRef<number>): number => getAndUpdat
|
|
|
456
507
|
*
|
|
457
508
|
* **Example** (Reading before setting)
|
|
458
509
|
*
|
|
459
|
-
* ```ts
|
|
510
|
+
* ```ts import.meta.vitest
|
|
460
511
|
* import { MutableRef } from "effect"
|
|
461
512
|
*
|
|
462
513
|
* const ref = MutableRef.make("old")
|
|
463
514
|
*
|
|
464
515
|
* // Set new value and get the previous one
|
|
465
516
|
* const previous = MutableRef.getAndSet(ref, "new")
|
|
466
|
-
*
|
|
467
|
-
*
|
|
517
|
+
*
|
|
518
|
+
* previous // => "old"
|
|
519
|
+
* MutableRef.get(ref) // => "new"
|
|
468
520
|
*
|
|
469
521
|
* // Swapping values
|
|
470
522
|
* const counter = MutableRef.make(5)
|
|
471
523
|
* const oldValue = MutableRef.getAndSet(counter, 10)
|
|
472
|
-
*
|
|
524
|
+
* const newValue = MutableRef.get(counter)
|
|
525
|
+
*
|
|
526
|
+
* oldValue // => 5
|
|
527
|
+
* newValue // => 10
|
|
473
528
|
*
|
|
474
529
|
* // Pipe-able version
|
|
475
530
|
* const setValue = MutableRef.getAndSet("final")
|
|
476
531
|
* const previousValue = setValue(ref)
|
|
477
|
-
*
|
|
532
|
+
*
|
|
533
|
+
* previousValue // => "new"
|
|
534
|
+
* MutableRef.get(ref) // => "final"
|
|
478
535
|
*
|
|
479
536
|
* // Useful for atomic swaps in algorithms
|
|
480
537
|
* const buffer = MutableRef.make<Array<string>>(["a", "b", "c"])
|
|
481
538
|
* const oldBuffer = MutableRef.getAndSet(buffer, [])
|
|
482
|
-
*
|
|
483
|
-
*
|
|
539
|
+
*
|
|
540
|
+
* oldBuffer // => ["a", "b", "c"]
|
|
541
|
+
* MutableRef.get(buffer) // => []
|
|
484
542
|
* ```
|
|
485
543
|
*
|
|
486
|
-
* @category
|
|
544
|
+
* @category mutations
|
|
487
545
|
* @since 2.0.0
|
|
488
546
|
*/
|
|
489
547
|
export const getAndSet: {
|
|
@@ -497,34 +555,41 @@ export const getAndSet: {
|
|
|
497
555
|
*
|
|
498
556
|
* **Example** (Reading before setting)
|
|
499
557
|
*
|
|
500
|
-
* ```ts
|
|
558
|
+
* ```ts import.meta.vitest
|
|
501
559
|
* import { MutableRef } from "effect"
|
|
502
560
|
*
|
|
503
561
|
* const ref = MutableRef.make("old")
|
|
504
562
|
*
|
|
505
563
|
* // Set new value and get the previous one
|
|
506
564
|
* const previous = MutableRef.getAndSet(ref, "new")
|
|
507
|
-
*
|
|
508
|
-
*
|
|
565
|
+
*
|
|
566
|
+
* previous // => "old"
|
|
567
|
+
* MutableRef.get(ref) // => "new"
|
|
509
568
|
*
|
|
510
569
|
* // Swapping values
|
|
511
570
|
* const counter = MutableRef.make(5)
|
|
512
571
|
* const oldValue = MutableRef.getAndSet(counter, 10)
|
|
513
|
-
*
|
|
572
|
+
* const newValue = MutableRef.get(counter)
|
|
573
|
+
*
|
|
574
|
+
* oldValue // => 5
|
|
575
|
+
* newValue // => 10
|
|
514
576
|
*
|
|
515
577
|
* // Pipe-able version
|
|
516
578
|
* const setValue = MutableRef.getAndSet("final")
|
|
517
579
|
* const previousValue = setValue(ref)
|
|
518
|
-
*
|
|
580
|
+
*
|
|
581
|
+
* previousValue // => "new"
|
|
582
|
+
* MutableRef.get(ref) // => "final"
|
|
519
583
|
*
|
|
520
584
|
* // Useful for atomic swaps in algorithms
|
|
521
585
|
* const buffer = MutableRef.make<Array<string>>(["a", "b", "c"])
|
|
522
586
|
* const oldBuffer = MutableRef.getAndSet(buffer, [])
|
|
523
|
-
*
|
|
524
|
-
*
|
|
587
|
+
*
|
|
588
|
+
* oldBuffer // => ["a", "b", "c"]
|
|
589
|
+
* MutableRef.get(buffer) // => []
|
|
525
590
|
* ```
|
|
526
591
|
*
|
|
527
|
-
* @category
|
|
592
|
+
* @category mutations
|
|
528
593
|
* @since 2.0.0
|
|
529
594
|
*/
|
|
530
595
|
<T>(value: T): (self: MutableRef<T>) => T
|
|
@@ -538,34 +603,41 @@ export const getAndSet: {
|
|
|
538
603
|
*
|
|
539
604
|
* **Example** (Reading before setting)
|
|
540
605
|
*
|
|
541
|
-
* ```ts
|
|
606
|
+
* ```ts import.meta.vitest
|
|
542
607
|
* import { MutableRef } from "effect"
|
|
543
608
|
*
|
|
544
609
|
* const ref = MutableRef.make("old")
|
|
545
610
|
*
|
|
546
611
|
* // Set new value and get the previous one
|
|
547
612
|
* const previous = MutableRef.getAndSet(ref, "new")
|
|
548
|
-
*
|
|
549
|
-
*
|
|
613
|
+
*
|
|
614
|
+
* previous // => "old"
|
|
615
|
+
* MutableRef.get(ref) // => "new"
|
|
550
616
|
*
|
|
551
617
|
* // Swapping values
|
|
552
618
|
* const counter = MutableRef.make(5)
|
|
553
619
|
* const oldValue = MutableRef.getAndSet(counter, 10)
|
|
554
|
-
*
|
|
620
|
+
* const newValue = MutableRef.get(counter)
|
|
621
|
+
*
|
|
622
|
+
* oldValue // => 5
|
|
623
|
+
* newValue // => 10
|
|
555
624
|
*
|
|
556
625
|
* // Pipe-able version
|
|
557
626
|
* const setValue = MutableRef.getAndSet("final")
|
|
558
627
|
* const previousValue = setValue(ref)
|
|
559
|
-
*
|
|
628
|
+
*
|
|
629
|
+
* previousValue // => "new"
|
|
630
|
+
* MutableRef.get(ref) // => "final"
|
|
560
631
|
*
|
|
561
632
|
* // Useful for atomic swaps in algorithms
|
|
562
633
|
* const buffer = MutableRef.make<Array<string>>(["a", "b", "c"])
|
|
563
634
|
* const oldBuffer = MutableRef.getAndSet(buffer, [])
|
|
564
|
-
*
|
|
565
|
-
*
|
|
635
|
+
*
|
|
636
|
+
* oldBuffer // => ["a", "b", "c"]
|
|
637
|
+
* MutableRef.get(buffer) // => []
|
|
566
638
|
* ```
|
|
567
639
|
*
|
|
568
|
-
* @category
|
|
640
|
+
* @category mutations
|
|
569
641
|
* @since 2.0.0
|
|
570
642
|
*/
|
|
571
643
|
<T>(self: MutableRef<T>, value: T): T
|
|
@@ -589,40 +661,46 @@ export const getAndSet: {
|
|
|
589
661
|
*
|
|
590
662
|
* **Example** (Reading before updating)
|
|
591
663
|
*
|
|
592
|
-
* ```ts
|
|
664
|
+
* ```ts import.meta.vitest
|
|
593
665
|
* import { MutableRef } from "effect"
|
|
594
666
|
*
|
|
595
667
|
* const counter = MutableRef.make(5)
|
|
596
668
|
*
|
|
597
669
|
* // Increment and get the old value
|
|
598
670
|
* const oldValue = MutableRef.getAndUpdate(counter, (n) => n + 1)
|
|
599
|
-
*
|
|
600
|
-
*
|
|
671
|
+
*
|
|
672
|
+
* oldValue // => 5
|
|
673
|
+
* MutableRef.get(counter) // => 6
|
|
601
674
|
*
|
|
602
675
|
* // Double the value and get the previous one
|
|
603
676
|
* const previous = MutableRef.getAndUpdate(counter, (n) => n * 2)
|
|
604
|
-
*
|
|
605
|
-
*
|
|
677
|
+
*
|
|
678
|
+
* previous // => 6
|
|
679
|
+
* MutableRef.get(counter) // => 12
|
|
606
680
|
*
|
|
607
681
|
* // Transform string and get old value
|
|
608
682
|
* const message = MutableRef.make("hello")
|
|
609
683
|
* const oldMessage = MutableRef.getAndUpdate(message, (s) => s.toUpperCase())
|
|
610
|
-
*
|
|
611
|
-
*
|
|
684
|
+
*
|
|
685
|
+
* oldMessage // => "hello"
|
|
686
|
+
* MutableRef.get(message) // => "HELLO"
|
|
612
687
|
*
|
|
613
688
|
* // Pipe-able version
|
|
614
689
|
* const addOne = MutableRef.getAndUpdate((n: number) => n + 1)
|
|
615
690
|
* const result = addOne(counter)
|
|
616
|
-
*
|
|
691
|
+
*
|
|
692
|
+
* result // => 12
|
|
693
|
+
* MutableRef.get(counter) // => 13
|
|
617
694
|
*
|
|
618
695
|
* // Useful for implementing atomic operations
|
|
619
696
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
620
697
|
* const oldList = MutableRef.getAndUpdate(list, (arr) => [...arr, 4])
|
|
621
|
-
*
|
|
622
|
-
*
|
|
698
|
+
*
|
|
699
|
+
* oldList // => [1, 2, 3]
|
|
700
|
+
* MutableRef.get(list) // => [1, 2, 3, 4]
|
|
623
701
|
* ```
|
|
624
702
|
*
|
|
625
|
-
* @category
|
|
703
|
+
* @category mutations
|
|
626
704
|
* @since 2.0.0
|
|
627
705
|
*/
|
|
628
706
|
export const getAndUpdate: {
|
|
@@ -637,40 +715,46 @@ export const getAndUpdate: {
|
|
|
637
715
|
*
|
|
638
716
|
* **Example** (Reading before updating)
|
|
639
717
|
*
|
|
640
|
-
* ```ts
|
|
718
|
+
* ```ts import.meta.vitest
|
|
641
719
|
* import { MutableRef } from "effect"
|
|
642
720
|
*
|
|
643
721
|
* const counter = MutableRef.make(5)
|
|
644
722
|
*
|
|
645
723
|
* // Increment and get the old value
|
|
646
724
|
* const oldValue = MutableRef.getAndUpdate(counter, (n) => n + 1)
|
|
647
|
-
*
|
|
648
|
-
*
|
|
725
|
+
*
|
|
726
|
+
* oldValue // => 5
|
|
727
|
+
* MutableRef.get(counter) // => 6
|
|
649
728
|
*
|
|
650
729
|
* // Double the value and get the previous one
|
|
651
730
|
* const previous = MutableRef.getAndUpdate(counter, (n) => n * 2)
|
|
652
|
-
*
|
|
653
|
-
*
|
|
731
|
+
*
|
|
732
|
+
* previous // => 6
|
|
733
|
+
* MutableRef.get(counter) // => 12
|
|
654
734
|
*
|
|
655
735
|
* // Transform string and get old value
|
|
656
736
|
* const message = MutableRef.make("hello")
|
|
657
737
|
* const oldMessage = MutableRef.getAndUpdate(message, (s) => s.toUpperCase())
|
|
658
|
-
*
|
|
659
|
-
*
|
|
738
|
+
*
|
|
739
|
+
* oldMessage // => "hello"
|
|
740
|
+
* MutableRef.get(message) // => "HELLO"
|
|
660
741
|
*
|
|
661
742
|
* // Pipe-able version
|
|
662
743
|
* const addOne = MutableRef.getAndUpdate((n: number) => n + 1)
|
|
663
744
|
* const result = addOne(counter)
|
|
664
|
-
*
|
|
745
|
+
*
|
|
746
|
+
* result // => 12
|
|
747
|
+
* MutableRef.get(counter) // => 13
|
|
665
748
|
*
|
|
666
749
|
* // Useful for implementing atomic operations
|
|
667
750
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
668
751
|
* const oldList = MutableRef.getAndUpdate(list, (arr) => [...arr, 4])
|
|
669
|
-
*
|
|
670
|
-
*
|
|
752
|
+
*
|
|
753
|
+
* oldList // => [1, 2, 3]
|
|
754
|
+
* MutableRef.get(list) // => [1, 2, 3, 4]
|
|
671
755
|
* ```
|
|
672
756
|
*
|
|
673
|
-
* @category
|
|
757
|
+
* @category mutations
|
|
674
758
|
* @since 2.0.0
|
|
675
759
|
*/
|
|
676
760
|
<T>(f: (value: T) => T): (self: MutableRef<T>) => T
|
|
@@ -685,40 +769,46 @@ export const getAndUpdate: {
|
|
|
685
769
|
*
|
|
686
770
|
* **Example** (Reading before updating)
|
|
687
771
|
*
|
|
688
|
-
* ```ts
|
|
772
|
+
* ```ts import.meta.vitest
|
|
689
773
|
* import { MutableRef } from "effect"
|
|
690
774
|
*
|
|
691
775
|
* const counter = MutableRef.make(5)
|
|
692
776
|
*
|
|
693
777
|
* // Increment and get the old value
|
|
694
778
|
* const oldValue = MutableRef.getAndUpdate(counter, (n) => n + 1)
|
|
695
|
-
*
|
|
696
|
-
*
|
|
779
|
+
*
|
|
780
|
+
* oldValue // => 5
|
|
781
|
+
* MutableRef.get(counter) // => 6
|
|
697
782
|
*
|
|
698
783
|
* // Double the value and get the previous one
|
|
699
784
|
* const previous = MutableRef.getAndUpdate(counter, (n) => n * 2)
|
|
700
|
-
*
|
|
701
|
-
*
|
|
785
|
+
*
|
|
786
|
+
* previous // => 6
|
|
787
|
+
* MutableRef.get(counter) // => 12
|
|
702
788
|
*
|
|
703
789
|
* // Transform string and get old value
|
|
704
790
|
* const message = MutableRef.make("hello")
|
|
705
791
|
* const oldMessage = MutableRef.getAndUpdate(message, (s) => s.toUpperCase())
|
|
706
|
-
*
|
|
707
|
-
*
|
|
792
|
+
*
|
|
793
|
+
* oldMessage // => "hello"
|
|
794
|
+
* MutableRef.get(message) // => "HELLO"
|
|
708
795
|
*
|
|
709
796
|
* // Pipe-able version
|
|
710
797
|
* const addOne = MutableRef.getAndUpdate((n: number) => n + 1)
|
|
711
798
|
* const result = addOne(counter)
|
|
712
|
-
*
|
|
799
|
+
*
|
|
800
|
+
* result // => 12
|
|
801
|
+
* MutableRef.get(counter) // => 13
|
|
713
802
|
*
|
|
714
803
|
* // Useful for implementing atomic operations
|
|
715
804
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
716
805
|
* const oldList = MutableRef.getAndUpdate(list, (arr) => [...arr, 4])
|
|
717
|
-
*
|
|
718
|
-
*
|
|
806
|
+
*
|
|
807
|
+
* oldList // => [1, 2, 3]
|
|
808
|
+
* MutableRef.get(list) // => [1, 2, 3, 4]
|
|
719
809
|
* ```
|
|
720
810
|
*
|
|
721
|
-
* @category
|
|
811
|
+
* @category mutations
|
|
722
812
|
* @since 2.0.0
|
|
723
813
|
*/
|
|
724
814
|
<T>(self: MutableRef<T>, f: (value: T) => T): T
|
|
@@ -737,32 +827,37 @@ export const getAndUpdate: {
|
|
|
737
827
|
*
|
|
738
828
|
* **Example** (Incrementing numeric refs)
|
|
739
829
|
*
|
|
740
|
-
* ```ts
|
|
830
|
+
* ```ts import.meta.vitest
|
|
741
831
|
* import { MutableRef } from "effect"
|
|
742
832
|
*
|
|
743
833
|
* const counter = MutableRef.make(5)
|
|
744
834
|
*
|
|
745
835
|
* // Increment the counter
|
|
746
836
|
* MutableRef.increment(counter)
|
|
747
|
-
*
|
|
837
|
+
*
|
|
838
|
+
* MutableRef.get(counter) // => 6
|
|
748
839
|
*
|
|
749
840
|
* // Chain operations
|
|
750
841
|
* MutableRef.increment(counter)
|
|
751
842
|
* MutableRef.increment(counter)
|
|
752
|
-
*
|
|
843
|
+
*
|
|
844
|
+
* MutableRef.get(counter) // => 8
|
|
753
845
|
*
|
|
754
846
|
* // Useful for simple counting
|
|
755
847
|
* const visits = MutableRef.make(0)
|
|
756
848
|
* MutableRef.increment(visits) // User visited
|
|
757
849
|
* MutableRef.increment(visits) // Another visit
|
|
758
|
-
*
|
|
850
|
+
*
|
|
851
|
+
* MutableRef.get(visits) // => 2
|
|
759
852
|
*
|
|
760
853
|
* // Returns the reference for chaining
|
|
761
854
|
* const result = MutableRef.increment(counter)
|
|
762
|
-
*
|
|
855
|
+
*
|
|
856
|
+
* result === counter // => true
|
|
857
|
+
* MutableRef.get(counter) // => 9
|
|
763
858
|
* ```
|
|
764
859
|
*
|
|
765
|
-
* @category
|
|
860
|
+
* @category mutations
|
|
766
861
|
* @since 2.0.0
|
|
767
862
|
*/
|
|
768
863
|
export const increment = (self: MutableRef<number>): MutableRef<number> => update(self, (n) => n + 1)
|
|
@@ -777,33 +872,38 @@ export const increment = (self: MutableRef<number>): MutableRef<number> => updat
|
|
|
777
872
|
*
|
|
778
873
|
* **Example** (Incrementing and reading refs)
|
|
779
874
|
*
|
|
780
|
-
* ```ts
|
|
875
|
+
* ```ts import.meta.vitest
|
|
781
876
|
* import { MutableRef } from "effect"
|
|
782
877
|
*
|
|
783
878
|
* const counter = MutableRef.make(5)
|
|
784
879
|
*
|
|
785
880
|
* // Increment and get the new value
|
|
786
881
|
* const newValue = MutableRef.incrementAndGet(counter)
|
|
787
|
-
*
|
|
788
|
-
*
|
|
882
|
+
*
|
|
883
|
+
* newValue // => 6
|
|
884
|
+
* MutableRef.get(counter) // => 6
|
|
789
885
|
*
|
|
790
886
|
* // Use in expressions
|
|
791
887
|
* const score = MutableRef.make(100)
|
|
792
|
-
*
|
|
888
|
+
* const message = `New score: ${MutableRef.incrementAndGet(score)}`
|
|
889
|
+
*
|
|
890
|
+
* message // => "New score: 101"
|
|
793
891
|
*
|
|
794
892
|
* // Pre-increment semantics (like ++i in other languages)
|
|
795
893
|
* const level = MutableRef.make(0)
|
|
796
894
|
* const nextLevel = MutableRef.incrementAndGet(level)
|
|
797
|
-
*
|
|
895
|
+
*
|
|
896
|
+
* nextLevel // => 1
|
|
798
897
|
*
|
|
799
898
|
* // Conditional logic based on incremented value
|
|
800
899
|
* const attempts = MutableRef.make(0)
|
|
801
|
-
*
|
|
802
|
-
*
|
|
803
|
-
*
|
|
900
|
+
* const tooManyAttempts = MutableRef.incrementAndGet(attempts) > 3
|
|
901
|
+
*
|
|
902
|
+
* tooManyAttempts // => false
|
|
903
|
+
* MutableRef.get(attempts) // => 1
|
|
804
904
|
* ```
|
|
805
905
|
*
|
|
806
|
-
* @category
|
|
906
|
+
* @category mutations
|
|
807
907
|
* @since 2.0.0
|
|
808
908
|
*/
|
|
809
909
|
export const incrementAndGet = (self: MutableRef<number>): number => updateAndGet(self, (n) => n + 1)
|
|
@@ -818,38 +918,44 @@ export const incrementAndGet = (self: MutableRef<number>): number => updateAndGe
|
|
|
818
918
|
*
|
|
819
919
|
* **Example** (Setting values)
|
|
820
920
|
*
|
|
821
|
-
* ```ts
|
|
921
|
+
* ```ts import.meta.vitest
|
|
822
922
|
* import { MutableRef } from "effect"
|
|
823
923
|
*
|
|
824
924
|
* const ref = MutableRef.make("initial")
|
|
825
925
|
*
|
|
826
926
|
* // Set a new value
|
|
827
927
|
* MutableRef.set(ref, "updated")
|
|
828
|
-
*
|
|
928
|
+
*
|
|
929
|
+
* MutableRef.get(ref) // => "updated"
|
|
829
930
|
*
|
|
830
931
|
* // Chain set operations (since it returns the ref)
|
|
831
932
|
* const result = MutableRef.set(ref, "final")
|
|
832
|
-
*
|
|
833
|
-
*
|
|
933
|
+
*
|
|
934
|
+
* result === ref // => true
|
|
935
|
+
* MutableRef.get(ref) // => "final"
|
|
834
936
|
*
|
|
835
937
|
* // Set complex objects
|
|
836
938
|
* const config = MutableRef.make({ debug: false, verbose: false })
|
|
837
939
|
* MutableRef.set(config, { debug: true, verbose: true })
|
|
838
|
-
*
|
|
940
|
+
*
|
|
941
|
+
* MutableRef.get(config) // => { debug: true, verbose: true }
|
|
839
942
|
*
|
|
840
943
|
* // Pipe-able version
|
|
841
944
|
* const setValue = MutableRef.set("new value")
|
|
842
945
|
* setValue(ref)
|
|
843
|
-
*
|
|
946
|
+
*
|
|
947
|
+
* MutableRef.get(ref) // => "new value"
|
|
844
948
|
*
|
|
845
949
|
* // Useful for state management
|
|
846
950
|
* const state = MutableRef.make<"idle" | "loading" | "success" | "error">("idle")
|
|
847
951
|
* MutableRef.set(state, "loading")
|
|
848
952
|
* // ... perform async operation
|
|
849
953
|
* MutableRef.set(state, "success")
|
|
954
|
+
*
|
|
955
|
+
* MutableRef.get(state) // => "success"
|
|
850
956
|
* ```
|
|
851
957
|
*
|
|
852
|
-
* @category
|
|
958
|
+
* @category mutations
|
|
853
959
|
* @since 2.0.0
|
|
854
960
|
*/
|
|
855
961
|
export const set: {
|
|
@@ -863,38 +969,44 @@ export const set: {
|
|
|
863
969
|
*
|
|
864
970
|
* **Example** (Setting values)
|
|
865
971
|
*
|
|
866
|
-
* ```ts
|
|
972
|
+
* ```ts import.meta.vitest
|
|
867
973
|
* import { MutableRef } from "effect"
|
|
868
974
|
*
|
|
869
975
|
* const ref = MutableRef.make("initial")
|
|
870
976
|
*
|
|
871
977
|
* // Set a new value
|
|
872
978
|
* MutableRef.set(ref, "updated")
|
|
873
|
-
*
|
|
979
|
+
*
|
|
980
|
+
* MutableRef.get(ref) // => "updated"
|
|
874
981
|
*
|
|
875
982
|
* // Chain set operations (since it returns the ref)
|
|
876
983
|
* const result = MutableRef.set(ref, "final")
|
|
877
|
-
*
|
|
878
|
-
*
|
|
984
|
+
*
|
|
985
|
+
* result === ref // => true
|
|
986
|
+
* MutableRef.get(ref) // => "final"
|
|
879
987
|
*
|
|
880
988
|
* // Set complex objects
|
|
881
989
|
* const config = MutableRef.make({ debug: false, verbose: false })
|
|
882
990
|
* MutableRef.set(config, { debug: true, verbose: true })
|
|
883
|
-
*
|
|
991
|
+
*
|
|
992
|
+
* MutableRef.get(config) // => { debug: true, verbose: true }
|
|
884
993
|
*
|
|
885
994
|
* // Pipe-able version
|
|
886
995
|
* const setValue = MutableRef.set("new value")
|
|
887
996
|
* setValue(ref)
|
|
888
|
-
*
|
|
997
|
+
*
|
|
998
|
+
* MutableRef.get(ref) // => "new value"
|
|
889
999
|
*
|
|
890
1000
|
* // Useful for state management
|
|
891
1001
|
* const state = MutableRef.make<"idle" | "loading" | "success" | "error">("idle")
|
|
892
1002
|
* MutableRef.set(state, "loading")
|
|
893
1003
|
* // ... perform async operation
|
|
894
1004
|
* MutableRef.set(state, "success")
|
|
1005
|
+
*
|
|
1006
|
+
* MutableRef.get(state) // => "success"
|
|
895
1007
|
* ```
|
|
896
1008
|
*
|
|
897
|
-
* @category
|
|
1009
|
+
* @category mutations
|
|
898
1010
|
* @since 2.0.0
|
|
899
1011
|
*/
|
|
900
1012
|
<T>(value: T): (self: MutableRef<T>) => MutableRef<T>
|
|
@@ -908,38 +1020,44 @@ export const set: {
|
|
|
908
1020
|
*
|
|
909
1021
|
* **Example** (Setting values)
|
|
910
1022
|
*
|
|
911
|
-
* ```ts
|
|
1023
|
+
* ```ts import.meta.vitest
|
|
912
1024
|
* import { MutableRef } from "effect"
|
|
913
1025
|
*
|
|
914
1026
|
* const ref = MutableRef.make("initial")
|
|
915
1027
|
*
|
|
916
1028
|
* // Set a new value
|
|
917
1029
|
* MutableRef.set(ref, "updated")
|
|
918
|
-
*
|
|
1030
|
+
*
|
|
1031
|
+
* MutableRef.get(ref) // => "updated"
|
|
919
1032
|
*
|
|
920
1033
|
* // Chain set operations (since it returns the ref)
|
|
921
1034
|
* const result = MutableRef.set(ref, "final")
|
|
922
|
-
*
|
|
923
|
-
*
|
|
1035
|
+
*
|
|
1036
|
+
* result === ref // => true
|
|
1037
|
+
* MutableRef.get(ref) // => "final"
|
|
924
1038
|
*
|
|
925
1039
|
* // Set complex objects
|
|
926
1040
|
* const config = MutableRef.make({ debug: false, verbose: false })
|
|
927
1041
|
* MutableRef.set(config, { debug: true, verbose: true })
|
|
928
|
-
*
|
|
1042
|
+
*
|
|
1043
|
+
* MutableRef.get(config) // => { debug: true, verbose: true }
|
|
929
1044
|
*
|
|
930
1045
|
* // Pipe-able version
|
|
931
1046
|
* const setValue = MutableRef.set("new value")
|
|
932
1047
|
* setValue(ref)
|
|
933
|
-
*
|
|
1048
|
+
*
|
|
1049
|
+
* MutableRef.get(ref) // => "new value"
|
|
934
1050
|
*
|
|
935
1051
|
* // Useful for state management
|
|
936
1052
|
* const state = MutableRef.make<"idle" | "loading" | "success" | "error">("idle")
|
|
937
1053
|
* MutableRef.set(state, "loading")
|
|
938
1054
|
* // ... perform async operation
|
|
939
1055
|
* MutableRef.set(state, "success")
|
|
1056
|
+
*
|
|
1057
|
+
* MutableRef.get(state) // => "success"
|
|
940
1058
|
* ```
|
|
941
1059
|
*
|
|
942
|
-
* @category
|
|
1060
|
+
* @category mutations
|
|
943
1061
|
* @since 2.0.0
|
|
944
1062
|
*/
|
|
945
1063
|
<T>(self: MutableRef<T>, value: T): MutableRef<T>
|
|
@@ -961,34 +1079,40 @@ export const set: {
|
|
|
961
1079
|
*
|
|
962
1080
|
* **Example** (Setting and reading values)
|
|
963
1081
|
*
|
|
964
|
-
* ```ts
|
|
1082
|
+
* ```ts import.meta.vitest
|
|
965
1083
|
* import { MutableRef } from "effect"
|
|
966
1084
|
*
|
|
967
1085
|
* const ref = MutableRef.make("old")
|
|
968
1086
|
*
|
|
969
1087
|
* // Set and get the new value
|
|
970
1088
|
* const newValue = MutableRef.setAndGet(ref, "new")
|
|
971
|
-
*
|
|
972
|
-
*
|
|
1089
|
+
*
|
|
1090
|
+
* newValue // => "new"
|
|
1091
|
+
* MutableRef.get(ref) // => "new"
|
|
973
1092
|
*
|
|
974
1093
|
* // Useful for assignments that need the value
|
|
975
1094
|
* const counter = MutableRef.make(0)
|
|
976
1095
|
* const currentValue = MutableRef.setAndGet(counter, 42)
|
|
977
|
-
*
|
|
1096
|
+
*
|
|
1097
|
+
* currentValue // => 42
|
|
978
1098
|
*
|
|
979
1099
|
* // Pipe-able version
|
|
980
1100
|
* const setValue = MutableRef.setAndGet("final")
|
|
981
1101
|
* const result = setValue(ref)
|
|
982
|
-
*
|
|
1102
|
+
*
|
|
1103
|
+
* result // => "final"
|
|
983
1104
|
*
|
|
984
1105
|
* // Difference from set: returns value instead of reference
|
|
985
1106
|
* const ref1 = MutableRef.make(1)
|
|
986
1107
|
* const returnedRef = MutableRef.set(ref1, 2) // Returns MutableRef
|
|
987
1108
|
* const returnedValue = MutableRef.setAndGet(ref1, 3) // Returns value
|
|
988
|
-
*
|
|
1109
|
+
*
|
|
1110
|
+
* returnedRef === ref1 // => true
|
|
1111
|
+
* returnedValue // => 3
|
|
1112
|
+
* MutableRef.get(ref1) // => 3
|
|
989
1113
|
* ```
|
|
990
1114
|
*
|
|
991
|
-
* @category
|
|
1115
|
+
* @category mutations
|
|
992
1116
|
* @since 2.0.0
|
|
993
1117
|
*/
|
|
994
1118
|
export const setAndGet: {
|
|
@@ -1002,34 +1126,40 @@ export const setAndGet: {
|
|
|
1002
1126
|
*
|
|
1003
1127
|
* **Example** (Setting and reading values)
|
|
1004
1128
|
*
|
|
1005
|
-
* ```ts
|
|
1129
|
+
* ```ts import.meta.vitest
|
|
1006
1130
|
* import { MutableRef } from "effect"
|
|
1007
1131
|
*
|
|
1008
1132
|
* const ref = MutableRef.make("old")
|
|
1009
1133
|
*
|
|
1010
1134
|
* // Set and get the new value
|
|
1011
1135
|
* const newValue = MutableRef.setAndGet(ref, "new")
|
|
1012
|
-
*
|
|
1013
|
-
*
|
|
1136
|
+
*
|
|
1137
|
+
* newValue // => "new"
|
|
1138
|
+
* MutableRef.get(ref) // => "new"
|
|
1014
1139
|
*
|
|
1015
1140
|
* // Useful for assignments that need the value
|
|
1016
1141
|
* const counter = MutableRef.make(0)
|
|
1017
1142
|
* const currentValue = MutableRef.setAndGet(counter, 42)
|
|
1018
|
-
*
|
|
1143
|
+
*
|
|
1144
|
+
* currentValue // => 42
|
|
1019
1145
|
*
|
|
1020
1146
|
* // Pipe-able version
|
|
1021
1147
|
* const setValue = MutableRef.setAndGet("final")
|
|
1022
1148
|
* const result = setValue(ref)
|
|
1023
|
-
*
|
|
1149
|
+
*
|
|
1150
|
+
* result // => "final"
|
|
1024
1151
|
*
|
|
1025
1152
|
* // Difference from set: returns value instead of reference
|
|
1026
1153
|
* const ref1 = MutableRef.make(1)
|
|
1027
1154
|
* const returnedRef = MutableRef.set(ref1, 2) // Returns MutableRef
|
|
1028
1155
|
* const returnedValue = MutableRef.setAndGet(ref1, 3) // Returns value
|
|
1029
|
-
*
|
|
1156
|
+
*
|
|
1157
|
+
* returnedRef === ref1 // => true
|
|
1158
|
+
* returnedValue // => 3
|
|
1159
|
+
* MutableRef.get(ref1) // => 3
|
|
1030
1160
|
* ```
|
|
1031
1161
|
*
|
|
1032
|
-
* @category
|
|
1162
|
+
* @category mutations
|
|
1033
1163
|
* @since 2.0.0
|
|
1034
1164
|
*/
|
|
1035
1165
|
<T>(value: T): (self: MutableRef<T>) => T
|
|
@@ -1043,34 +1173,40 @@ export const setAndGet: {
|
|
|
1043
1173
|
*
|
|
1044
1174
|
* **Example** (Setting and reading values)
|
|
1045
1175
|
*
|
|
1046
|
-
* ```ts
|
|
1176
|
+
* ```ts import.meta.vitest
|
|
1047
1177
|
* import { MutableRef } from "effect"
|
|
1048
1178
|
*
|
|
1049
1179
|
* const ref = MutableRef.make("old")
|
|
1050
1180
|
*
|
|
1051
1181
|
* // Set and get the new value
|
|
1052
1182
|
* const newValue = MutableRef.setAndGet(ref, "new")
|
|
1053
|
-
*
|
|
1054
|
-
*
|
|
1183
|
+
*
|
|
1184
|
+
* newValue // => "new"
|
|
1185
|
+
* MutableRef.get(ref) // => "new"
|
|
1055
1186
|
*
|
|
1056
1187
|
* // Useful for assignments that need the value
|
|
1057
1188
|
* const counter = MutableRef.make(0)
|
|
1058
1189
|
* const currentValue = MutableRef.setAndGet(counter, 42)
|
|
1059
|
-
*
|
|
1190
|
+
*
|
|
1191
|
+
* currentValue // => 42
|
|
1060
1192
|
*
|
|
1061
1193
|
* // Pipe-able version
|
|
1062
1194
|
* const setValue = MutableRef.setAndGet("final")
|
|
1063
1195
|
* const result = setValue(ref)
|
|
1064
|
-
*
|
|
1196
|
+
*
|
|
1197
|
+
* result // => "final"
|
|
1065
1198
|
*
|
|
1066
1199
|
* // Difference from set: returns value instead of reference
|
|
1067
1200
|
* const ref1 = MutableRef.make(1)
|
|
1068
1201
|
* const returnedRef = MutableRef.set(ref1, 2) // Returns MutableRef
|
|
1069
1202
|
* const returnedValue = MutableRef.setAndGet(ref1, 3) // Returns value
|
|
1070
|
-
*
|
|
1203
|
+
*
|
|
1204
|
+
* returnedRef === ref1 // => true
|
|
1205
|
+
* returnedValue // => 3
|
|
1206
|
+
* MutableRef.get(ref1) // => 3
|
|
1071
1207
|
* ```
|
|
1072
1208
|
*
|
|
1073
|
-
* @category
|
|
1209
|
+
* @category mutations
|
|
1074
1210
|
* @since 2.0.0
|
|
1075
1211
|
*/
|
|
1076
1212
|
<T>(self: MutableRef<T>, value: T): T
|
|
@@ -1093,42 +1229,48 @@ export const setAndGet: {
|
|
|
1093
1229
|
*
|
|
1094
1230
|
* **Example** (Updating values)
|
|
1095
1231
|
*
|
|
1096
|
-
* ```ts
|
|
1232
|
+
* ```ts import.meta.vitest
|
|
1097
1233
|
* import { MutableRef } from "effect"
|
|
1098
1234
|
*
|
|
1099
1235
|
* const counter = MutableRef.make(5)
|
|
1100
1236
|
*
|
|
1101
1237
|
* // Increment the counter
|
|
1102
1238
|
* MutableRef.update(counter, (n) => n + 1)
|
|
1103
|
-
*
|
|
1239
|
+
*
|
|
1240
|
+
* MutableRef.get(counter) // => 6
|
|
1104
1241
|
*
|
|
1105
1242
|
* // Chain updates (since it returns the ref)
|
|
1106
1243
|
* const result = MutableRef.update(counter, (n) => n * 2)
|
|
1107
|
-
*
|
|
1108
|
-
*
|
|
1244
|
+
*
|
|
1245
|
+
* result === counter // => true
|
|
1246
|
+
* MutableRef.get(counter) // => 12
|
|
1109
1247
|
*
|
|
1110
1248
|
* // Transform string
|
|
1111
1249
|
* const message = MutableRef.make("hello")
|
|
1112
1250
|
* MutableRef.update(message, (s) => s.toUpperCase())
|
|
1113
|
-
*
|
|
1251
|
+
*
|
|
1252
|
+
* MutableRef.get(message) // => "HELLO"
|
|
1114
1253
|
*
|
|
1115
1254
|
* // Update complex objects
|
|
1116
1255
|
* const user = MutableRef.make({ name: "Alice", age: 30 })
|
|
1117
1256
|
* MutableRef.update(user, (u) => ({ ...u, age: u.age + 1 }))
|
|
1118
|
-
*
|
|
1257
|
+
*
|
|
1258
|
+
* MutableRef.get(user) // => { name: "Alice", age: 31 }
|
|
1119
1259
|
*
|
|
1120
1260
|
* // Pipe-able version
|
|
1121
1261
|
* const double = MutableRef.update((n: number) => n * 2)
|
|
1122
1262
|
* double(counter)
|
|
1123
|
-
*
|
|
1263
|
+
*
|
|
1264
|
+
* MutableRef.get(counter) // => 24
|
|
1124
1265
|
*
|
|
1125
1266
|
* // Array operations
|
|
1126
1267
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
1127
1268
|
* MutableRef.update(list, (arr) => [...arr, 4])
|
|
1128
|
-
*
|
|
1269
|
+
*
|
|
1270
|
+
* MutableRef.get(list) // => [1, 2, 3, 4]
|
|
1129
1271
|
* ```
|
|
1130
1272
|
*
|
|
1131
|
-
* @category
|
|
1273
|
+
* @category mutations
|
|
1132
1274
|
* @since 2.0.0
|
|
1133
1275
|
*/
|
|
1134
1276
|
export const update: {
|
|
@@ -1143,42 +1285,48 @@ export const update: {
|
|
|
1143
1285
|
*
|
|
1144
1286
|
* **Example** (Updating values)
|
|
1145
1287
|
*
|
|
1146
|
-
* ```ts
|
|
1288
|
+
* ```ts import.meta.vitest
|
|
1147
1289
|
* import { MutableRef } from "effect"
|
|
1148
1290
|
*
|
|
1149
1291
|
* const counter = MutableRef.make(5)
|
|
1150
1292
|
*
|
|
1151
1293
|
* // Increment the counter
|
|
1152
1294
|
* MutableRef.update(counter, (n) => n + 1)
|
|
1153
|
-
*
|
|
1295
|
+
*
|
|
1296
|
+
* MutableRef.get(counter) // => 6
|
|
1154
1297
|
*
|
|
1155
1298
|
* // Chain updates (since it returns the ref)
|
|
1156
1299
|
* const result = MutableRef.update(counter, (n) => n * 2)
|
|
1157
|
-
*
|
|
1158
|
-
*
|
|
1300
|
+
*
|
|
1301
|
+
* result === counter // => true
|
|
1302
|
+
* MutableRef.get(counter) // => 12
|
|
1159
1303
|
*
|
|
1160
1304
|
* // Transform string
|
|
1161
1305
|
* const message = MutableRef.make("hello")
|
|
1162
1306
|
* MutableRef.update(message, (s) => s.toUpperCase())
|
|
1163
|
-
*
|
|
1307
|
+
*
|
|
1308
|
+
* MutableRef.get(message) // => "HELLO"
|
|
1164
1309
|
*
|
|
1165
1310
|
* // Update complex objects
|
|
1166
1311
|
* const user = MutableRef.make({ name: "Alice", age: 30 })
|
|
1167
1312
|
* MutableRef.update(user, (u) => ({ ...u, age: u.age + 1 }))
|
|
1168
|
-
*
|
|
1313
|
+
*
|
|
1314
|
+
* MutableRef.get(user) // => { name: "Alice", age: 31 }
|
|
1169
1315
|
*
|
|
1170
1316
|
* // Pipe-able version
|
|
1171
1317
|
* const double = MutableRef.update((n: number) => n * 2)
|
|
1172
1318
|
* double(counter)
|
|
1173
|
-
*
|
|
1319
|
+
*
|
|
1320
|
+
* MutableRef.get(counter) // => 24
|
|
1174
1321
|
*
|
|
1175
1322
|
* // Array operations
|
|
1176
1323
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
1177
1324
|
* MutableRef.update(list, (arr) => [...arr, 4])
|
|
1178
|
-
*
|
|
1325
|
+
*
|
|
1326
|
+
* MutableRef.get(list) // => [1, 2, 3, 4]
|
|
1179
1327
|
* ```
|
|
1180
1328
|
*
|
|
1181
|
-
* @category
|
|
1329
|
+
* @category mutations
|
|
1182
1330
|
* @since 2.0.0
|
|
1183
1331
|
*/
|
|
1184
1332
|
<T>(f: (value: T) => T): (self: MutableRef<T>) => MutableRef<T>
|
|
@@ -1193,42 +1341,48 @@ export const update: {
|
|
|
1193
1341
|
*
|
|
1194
1342
|
* **Example** (Updating values)
|
|
1195
1343
|
*
|
|
1196
|
-
* ```ts
|
|
1344
|
+
* ```ts import.meta.vitest
|
|
1197
1345
|
* import { MutableRef } from "effect"
|
|
1198
1346
|
*
|
|
1199
1347
|
* const counter = MutableRef.make(5)
|
|
1200
1348
|
*
|
|
1201
1349
|
* // Increment the counter
|
|
1202
1350
|
* MutableRef.update(counter, (n) => n + 1)
|
|
1203
|
-
*
|
|
1351
|
+
*
|
|
1352
|
+
* MutableRef.get(counter) // => 6
|
|
1204
1353
|
*
|
|
1205
1354
|
* // Chain updates (since it returns the ref)
|
|
1206
1355
|
* const result = MutableRef.update(counter, (n) => n * 2)
|
|
1207
|
-
*
|
|
1208
|
-
*
|
|
1356
|
+
*
|
|
1357
|
+
* result === counter // => true
|
|
1358
|
+
* MutableRef.get(counter) // => 12
|
|
1209
1359
|
*
|
|
1210
1360
|
* // Transform string
|
|
1211
1361
|
* const message = MutableRef.make("hello")
|
|
1212
1362
|
* MutableRef.update(message, (s) => s.toUpperCase())
|
|
1213
|
-
*
|
|
1363
|
+
*
|
|
1364
|
+
* MutableRef.get(message) // => "HELLO"
|
|
1214
1365
|
*
|
|
1215
1366
|
* // Update complex objects
|
|
1216
1367
|
* const user = MutableRef.make({ name: "Alice", age: 30 })
|
|
1217
1368
|
* MutableRef.update(user, (u) => ({ ...u, age: u.age + 1 }))
|
|
1218
|
-
*
|
|
1369
|
+
*
|
|
1370
|
+
* MutableRef.get(user) // => { name: "Alice", age: 31 }
|
|
1219
1371
|
*
|
|
1220
1372
|
* // Pipe-able version
|
|
1221
1373
|
* const double = MutableRef.update((n: number) => n * 2)
|
|
1222
1374
|
* double(counter)
|
|
1223
|
-
*
|
|
1375
|
+
*
|
|
1376
|
+
* MutableRef.get(counter) // => 24
|
|
1224
1377
|
*
|
|
1225
1378
|
* // Array operations
|
|
1226
1379
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
1227
1380
|
* MutableRef.update(list, (arr) => [...arr, 4])
|
|
1228
|
-
*
|
|
1381
|
+
*
|
|
1382
|
+
* MutableRef.get(list) // => [1, 2, 3, 4]
|
|
1229
1383
|
* ```
|
|
1230
1384
|
*
|
|
1231
|
-
* @category
|
|
1385
|
+
* @category mutations
|
|
1232
1386
|
* @since 2.0.0
|
|
1233
1387
|
*/
|
|
1234
1388
|
<T>(self: MutableRef<T>, f: (value: T) => T): MutableRef<T>
|
|
@@ -1248,44 +1402,50 @@ export const update: {
|
|
|
1248
1402
|
*
|
|
1249
1403
|
* **Example** (Updating and reading values)
|
|
1250
1404
|
*
|
|
1251
|
-
* ```ts
|
|
1405
|
+
* ```ts import.meta.vitest
|
|
1252
1406
|
* import { MutableRef } from "effect"
|
|
1253
1407
|
*
|
|
1254
1408
|
* const counter = MutableRef.make(5)
|
|
1255
1409
|
*
|
|
1256
1410
|
* // Increment and get the new value
|
|
1257
1411
|
* const newValue = MutableRef.updateAndGet(counter, (n) => n + 1)
|
|
1258
|
-
*
|
|
1259
|
-
*
|
|
1412
|
+
*
|
|
1413
|
+
* newValue // => 6
|
|
1414
|
+
* MutableRef.get(counter) // => 6
|
|
1260
1415
|
*
|
|
1261
1416
|
* // Double the value and get the result
|
|
1262
1417
|
* const doubled = MutableRef.updateAndGet(counter, (n) => n * 2)
|
|
1263
|
-
*
|
|
1418
|
+
*
|
|
1419
|
+
* doubled // => 12
|
|
1264
1420
|
*
|
|
1265
1421
|
* // Transform string and get result
|
|
1266
1422
|
* const message = MutableRef.make("hello")
|
|
1267
1423
|
* const upperCase = MutableRef.updateAndGet(message, (s) => s.toUpperCase())
|
|
1268
|
-
*
|
|
1424
|
+
*
|
|
1425
|
+
* upperCase // => "HELLO"
|
|
1269
1426
|
*
|
|
1270
1427
|
* // Pipe-able version
|
|
1271
1428
|
* const increment = MutableRef.updateAndGet((n: number) => n + 1)
|
|
1272
1429
|
* const result = increment(counter)
|
|
1273
|
-
*
|
|
1430
|
+
*
|
|
1431
|
+
* result // => 13
|
|
1274
1432
|
*
|
|
1275
1433
|
* // Useful for calculations that need the result
|
|
1276
1434
|
* const score = MutableRef.make(100)
|
|
1277
1435
|
* const bonus = 50
|
|
1278
1436
|
* const newScore = MutableRef.updateAndGet(score, (s) => s + bonus)
|
|
1279
|
-
*
|
|
1437
|
+
*
|
|
1438
|
+
* newScore // => 150
|
|
1280
1439
|
*
|
|
1281
1440
|
* // Array transformations
|
|
1282
1441
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
1283
1442
|
* const newList = MutableRef.updateAndGet(list, (arr) => arr.map((x) => x * 2))
|
|
1284
|
-
*
|
|
1285
|
-
*
|
|
1443
|
+
*
|
|
1444
|
+
* newList // => [2, 4, 6]
|
|
1445
|
+
* MutableRef.get(list) // => [2, 4, 6]
|
|
1286
1446
|
* ```
|
|
1287
1447
|
*
|
|
1288
|
-
* @category
|
|
1448
|
+
* @category mutations
|
|
1289
1449
|
* @since 2.0.0
|
|
1290
1450
|
*/
|
|
1291
1451
|
export const updateAndGet: {
|
|
@@ -1300,44 +1460,50 @@ export const updateAndGet: {
|
|
|
1300
1460
|
*
|
|
1301
1461
|
* **Example** (Updating and reading values)
|
|
1302
1462
|
*
|
|
1303
|
-
* ```ts
|
|
1463
|
+
* ```ts import.meta.vitest
|
|
1304
1464
|
* import { MutableRef } from "effect"
|
|
1305
1465
|
*
|
|
1306
1466
|
* const counter = MutableRef.make(5)
|
|
1307
1467
|
*
|
|
1308
1468
|
* // Increment and get the new value
|
|
1309
1469
|
* const newValue = MutableRef.updateAndGet(counter, (n) => n + 1)
|
|
1310
|
-
*
|
|
1311
|
-
*
|
|
1470
|
+
*
|
|
1471
|
+
* newValue // => 6
|
|
1472
|
+
* MutableRef.get(counter) // => 6
|
|
1312
1473
|
*
|
|
1313
1474
|
* // Double the value and get the result
|
|
1314
1475
|
* const doubled = MutableRef.updateAndGet(counter, (n) => n * 2)
|
|
1315
|
-
*
|
|
1476
|
+
*
|
|
1477
|
+
* doubled // => 12
|
|
1316
1478
|
*
|
|
1317
1479
|
* // Transform string and get result
|
|
1318
1480
|
* const message = MutableRef.make("hello")
|
|
1319
1481
|
* const upperCase = MutableRef.updateAndGet(message, (s) => s.toUpperCase())
|
|
1320
|
-
*
|
|
1482
|
+
*
|
|
1483
|
+
* upperCase // => "HELLO"
|
|
1321
1484
|
*
|
|
1322
1485
|
* // Pipe-able version
|
|
1323
1486
|
* const increment = MutableRef.updateAndGet((n: number) => n + 1)
|
|
1324
1487
|
* const result = increment(counter)
|
|
1325
|
-
*
|
|
1488
|
+
*
|
|
1489
|
+
* result // => 13
|
|
1326
1490
|
*
|
|
1327
1491
|
* // Useful for calculations that need the result
|
|
1328
1492
|
* const score = MutableRef.make(100)
|
|
1329
1493
|
* const bonus = 50
|
|
1330
1494
|
* const newScore = MutableRef.updateAndGet(score, (s) => s + bonus)
|
|
1331
|
-
*
|
|
1495
|
+
*
|
|
1496
|
+
* newScore // => 150
|
|
1332
1497
|
*
|
|
1333
1498
|
* // Array transformations
|
|
1334
1499
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
1335
1500
|
* const newList = MutableRef.updateAndGet(list, (arr) => arr.map((x) => x * 2))
|
|
1336
|
-
*
|
|
1337
|
-
*
|
|
1501
|
+
*
|
|
1502
|
+
* newList // => [2, 4, 6]
|
|
1503
|
+
* MutableRef.get(list) // => [2, 4, 6]
|
|
1338
1504
|
* ```
|
|
1339
1505
|
*
|
|
1340
|
-
* @category
|
|
1506
|
+
* @category mutations
|
|
1341
1507
|
* @since 2.0.0
|
|
1342
1508
|
*/
|
|
1343
1509
|
<T>(f: (value: T) => T): (self: MutableRef<T>) => T
|
|
@@ -1352,44 +1518,50 @@ export const updateAndGet: {
|
|
|
1352
1518
|
*
|
|
1353
1519
|
* **Example** (Updating and reading values)
|
|
1354
1520
|
*
|
|
1355
|
-
* ```ts
|
|
1521
|
+
* ```ts import.meta.vitest
|
|
1356
1522
|
* import { MutableRef } from "effect"
|
|
1357
1523
|
*
|
|
1358
1524
|
* const counter = MutableRef.make(5)
|
|
1359
1525
|
*
|
|
1360
1526
|
* // Increment and get the new value
|
|
1361
1527
|
* const newValue = MutableRef.updateAndGet(counter, (n) => n + 1)
|
|
1362
|
-
*
|
|
1363
|
-
*
|
|
1528
|
+
*
|
|
1529
|
+
* newValue // => 6
|
|
1530
|
+
* MutableRef.get(counter) // => 6
|
|
1364
1531
|
*
|
|
1365
1532
|
* // Double the value and get the result
|
|
1366
1533
|
* const doubled = MutableRef.updateAndGet(counter, (n) => n * 2)
|
|
1367
|
-
*
|
|
1534
|
+
*
|
|
1535
|
+
* doubled // => 12
|
|
1368
1536
|
*
|
|
1369
1537
|
* // Transform string and get result
|
|
1370
1538
|
* const message = MutableRef.make("hello")
|
|
1371
1539
|
* const upperCase = MutableRef.updateAndGet(message, (s) => s.toUpperCase())
|
|
1372
|
-
*
|
|
1540
|
+
*
|
|
1541
|
+
* upperCase // => "HELLO"
|
|
1373
1542
|
*
|
|
1374
1543
|
* // Pipe-able version
|
|
1375
1544
|
* const increment = MutableRef.updateAndGet((n: number) => n + 1)
|
|
1376
1545
|
* const result = increment(counter)
|
|
1377
|
-
*
|
|
1546
|
+
*
|
|
1547
|
+
* result // => 13
|
|
1378
1548
|
*
|
|
1379
1549
|
* // Useful for calculations that need the result
|
|
1380
1550
|
* const score = MutableRef.make(100)
|
|
1381
1551
|
* const bonus = 50
|
|
1382
1552
|
* const newScore = MutableRef.updateAndGet(score, (s) => s + bonus)
|
|
1383
|
-
*
|
|
1553
|
+
*
|
|
1554
|
+
* newScore // => 150
|
|
1384
1555
|
*
|
|
1385
1556
|
* // Array transformations
|
|
1386
1557
|
* const list = MutableRef.make<Array<number>>([1, 2, 3])
|
|
1387
1558
|
* const newList = MutableRef.updateAndGet(list, (arr) => arr.map((x) => x * 2))
|
|
1388
|
-
*
|
|
1389
|
-
*
|
|
1559
|
+
*
|
|
1560
|
+
* newList // => [2, 4, 6]
|
|
1561
|
+
* MutableRef.get(list) // => [2, 4, 6]
|
|
1390
1562
|
* ```
|
|
1391
1563
|
*
|
|
1392
|
-
* @category
|
|
1564
|
+
* @category mutations
|
|
1393
1565
|
* @since 2.0.0
|
|
1394
1566
|
*/
|
|
1395
1567
|
<T>(self: MutableRef<T>, f: (value: T) => T): T
|
|
@@ -1409,40 +1581,45 @@ export const updateAndGet: {
|
|
|
1409
1581
|
*
|
|
1410
1582
|
* **Example** (Toggling boolean refs)
|
|
1411
1583
|
*
|
|
1412
|
-
* ```ts
|
|
1584
|
+
* ```ts import.meta.vitest
|
|
1413
1585
|
* import { MutableRef } from "effect"
|
|
1414
1586
|
*
|
|
1415
1587
|
* const flag = MutableRef.make(false)
|
|
1416
1588
|
*
|
|
1417
1589
|
* // Toggle the flag
|
|
1418
1590
|
* MutableRef.toggle(flag)
|
|
1419
|
-
*
|
|
1591
|
+
*
|
|
1592
|
+
* MutableRef.get(flag) // => true
|
|
1420
1593
|
*
|
|
1421
1594
|
* // Toggle again
|
|
1422
1595
|
* MutableRef.toggle(flag)
|
|
1423
|
-
*
|
|
1596
|
+
*
|
|
1597
|
+
* MutableRef.get(flag) // => false
|
|
1424
1598
|
*
|
|
1425
1599
|
* // Useful for state switches
|
|
1426
1600
|
* const isVisible = MutableRef.make(true)
|
|
1427
1601
|
* MutableRef.toggle(isVisible) // Hide
|
|
1428
|
-
*
|
|
1602
|
+
*
|
|
1603
|
+
* MutableRef.get(isVisible) // => false
|
|
1429
1604
|
*
|
|
1430
1605
|
* // Toggle button implementation
|
|
1431
1606
|
* const darkMode = MutableRef.make(false)
|
|
1432
1607
|
* const toggleDarkMode = () => {
|
|
1433
1608
|
* MutableRef.toggle(darkMode)
|
|
1434
|
-
*
|
|
1609
|
+
* return MutableRef.get(darkMode) ? "ON" : "OFF"
|
|
1435
1610
|
* }
|
|
1436
1611
|
*
|
|
1437
|
-
* toggleDarkMode() // "
|
|
1438
|
-
* toggleDarkMode() // "
|
|
1612
|
+
* toggleDarkMode() // => "ON"
|
|
1613
|
+
* toggleDarkMode() // => "OFF"
|
|
1439
1614
|
*
|
|
1440
1615
|
* // Returns the reference for chaining
|
|
1441
1616
|
* const result = MutableRef.toggle(flag)
|
|
1442
|
-
*
|
|
1617
|
+
*
|
|
1618
|
+
* result === flag // => true
|
|
1619
|
+
* MutableRef.get(flag) // => true
|
|
1443
1620
|
* ```
|
|
1444
1621
|
*
|
|
1445
|
-
* @category
|
|
1622
|
+
* @category mutations
|
|
1446
1623
|
* @since 2.0.0
|
|
1447
1624
|
*/
|
|
1448
1625
|
export const toggle = (self: MutableRef<boolean>): MutableRef<boolean> => update(self, (_) => !_)
|