effect 4.0.0-beta.102 → 4.0.0-beta.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +381 -407
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +433 -756
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +200 -325
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +207 -267
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +107 -135
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +146 -188
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +64 -84
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +405 -254
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +166 -101
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +167 -277
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +122 -176
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +729 -768
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +514 -440
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +834 -1173
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +326 -439
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +180 -49
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +96 -31
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +20 -33
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +18 -30
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +225 -173
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +336 -265
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +194 -68
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +115 -80
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +233 -33
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +232 -32
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +151 -274
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +171 -214
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +68 -77
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +57 -66
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +13 -15
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +9 -10
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +60 -80
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +16 -23
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +562 -660
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +307 -362
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +253 -256
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +104 -96
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +216 -308
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +132 -186
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2841 -3247
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1322 -1546
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +22 -40
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +22 -40
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +33 -37
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +29 -21
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +103 -105
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +77 -79
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +51 -27
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +50 -26
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +13 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -28
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +116 -192
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +82 -130
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +82 -146
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +48 -87
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +152 -105
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +106 -73
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +213 -168
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +114 -89
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +123 -81
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +85 -59
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +153 -264
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +42 -147
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +61 -33
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +26 -15
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +25 -33
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +48 -49
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +76 -145
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +40 -57
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +360 -714
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +168 -297
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +12 -6
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +47 -83
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +46 -68
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +319 -411
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +122 -166
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +1 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +177 -284
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +68 -109
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +12 -12
- package/dist/Inspectable.js +8 -8
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +620 -786
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +228 -306
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +11 -13
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +44 -102
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +8 -8
- package/dist/JsonPointer.js +8 -8
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +98 -44
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +297 -234
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +23 -35
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +16 -28
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +359 -260
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +195 -175
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +42 -29
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +31 -21
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +6 -2
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +6 -2
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +114 -214
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +41 -76
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +218 -467
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +204 -450
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +7 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +7 -5
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +217 -252
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +150 -183
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +442 -993
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +198 -642
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +144 -173
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +68 -79
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +84 -89
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +44 -47
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +71 -370
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +59 -284
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +420 -243
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +209 -120
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +21 -14
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +15 -13
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +7 -137
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +5 -93
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +196 -233
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +90 -109
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +97 -189
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +187 -290
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +447 -812
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +211 -392
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +109 -109
- package/dist/Order.js +91 -91
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +20 -23
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +8 -9
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +38 -41
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +3 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +6 -5
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +2 -2
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +3 -3
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +4 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -2
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +200 -181
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +100 -108
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +7 -7
- package/dist/PrimaryKey.js +5 -5
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +425 -494
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +373 -362
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +24 -18
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +11 -9
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +200 -159
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +162 -132
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +49 -74
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +35 -54
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +121 -63
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +42 -21
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +24 -13
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +15 -9
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +291 -488
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +111 -202
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -2
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +7 -2
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +25 -25
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +19 -20
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +8 -15
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +6 -12
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +95 -165
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +75 -122
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +102 -168
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -168
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +10 -14
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +10 -14
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +31 -21
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +16 -13
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +201 -90
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +87 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +302 -470
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +133 -217
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +50 -75
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +39 -60
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +290 -1636
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +162 -803
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +5 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +18 -6
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +644 -642
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +491 -527
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +27 -50
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +366 -279
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.d.ts +7 -6
- package/dist/SchemaError.d.ts.map +1 -1
- package/dist/SchemaError.js +7 -6
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +217 -174
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +218 -185
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +62 -190
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +73 -265
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +2 -2
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +123 -75
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +22 -36
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -26
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +114 -74
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +120 -85
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +123 -151
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +72 -92
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +3 -3
- package/dist/ScopedRef.js +2 -2
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +96 -10
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +78 -39
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +117 -107
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +107 -100
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +1 -1
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +2415 -2949
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1078 -1381
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +262 -308
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +184 -215
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +109 -114
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +41 -50
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +282 -250
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +104 -92
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +3 -3
- package/dist/Symbol.js +3 -3
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +100 -54
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +41 -24
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +287 -679
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +109 -251
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +92 -127
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +42 -57
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +201 -121
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +85 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +62 -46
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +30 -22
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +631 -779
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +268 -330
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +297 -236
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +130 -100
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +126 -95
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +74 -56
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +101 -88
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +87 -66
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +200 -180
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +160 -136
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +97 -66
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +67 -45
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +51 -32
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +23 -15
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +129 -95
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +85 -70
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +97 -70
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +44 -34
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +126 -67
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +45 -65
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +6 -9
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +23 -16
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +3 -7
- package/dist/Utils.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +4 -0
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/doNotation.js.map +1 -1
- package/dist/internal/effect.js +77 -40
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/persistence.d.ts +2 -0
- package/dist/internal/persistence.d.ts.map +1 -0
- package/dist/internal/persistence.js +3 -0
- package/dist/internal/persistence.js.map +1 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +8 -15
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/parser.d.ts +14 -0
- package/dist/internal/schema/parser.d.ts.map +1 -0
- package/dist/internal/schema/parser.js +13 -0
- package/dist/internal/schema/parser.js.map +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/toArbitrary.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +87 -107
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +13 -9
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +8 -7
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +8 -7
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +57 -28
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +50 -18
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +29 -29
- package/dist/testing/TestSchema.js +25 -25
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +95 -118
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +94 -117
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +132 -97
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +55 -51
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +32 -28
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +26 -21
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +107 -67
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +104 -64
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpProtocol.d.ts +30 -0
- package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/McpProtocol.js +20 -0
- package/dist/unstable/ai/McpProtocol.js.map +1 -0
- package/dist/unstable/ai/McpSchema.d.ts +141 -75
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +58 -50
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -59
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +694 -241
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +8 -19
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -20
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +112 -38
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +53 -17
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +28 -14
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +9 -4
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +46 -13
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +18 -7
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -3
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +59 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +48 -39
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +26 -8
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +18 -4
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +4 -0
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +4 -0
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
- package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
- package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +14 -15
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +273 -69
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +111 -33
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliConfig.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +69 -76
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +57 -61
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +35 -54
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -42
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +705 -107
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +238 -42
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +292 -78
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +128 -46
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +370 -149
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +344 -136
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -14
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +23 -14
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js +17 -7
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +2 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
- package/dist/unstable/cluster/ClusterSchema.js +8 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +8 -8
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +4 -2
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/Envelope.js +3 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +6 -4
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +9 -9
- package/dist/unstable/cluster/Message.js +6 -6
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
- package/dist/unstable/cluster/MessageStorage.js +5 -5
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -4
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +1 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +16 -16
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
- package/dist/unstable/cluster/RunnerStorage.js +1 -1
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +6 -6
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +19 -10
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +3 -2
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
- package/dist/unstable/cluster/ShardingConfig.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +8 -8
- package/dist/unstable/cluster/Snowflake.js +8 -8
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/index.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -5
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/devtools/index.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +6 -8
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +72 -8
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +58 -8
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +20 -20
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
- package/dist/unstable/eventlog/EventJournal.js +13 -13
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
- package/dist/unstable/eventlog/EventLogRemote.js +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +45 -21
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +30 -18
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +1 -1
- package/dist/unstable/http/Etag.js +1 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +2 -2
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +5 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +11 -5
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +51 -44
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +46 -17
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +2 -0
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +2 -2
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.js +3 -3
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +6 -9
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +6 -9
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +164 -39
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +76 -0
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +32 -0
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +88 -89
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +78 -79
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +13 -13
- package/dist/unstable/http/HttpServer.js +6 -6
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -2
- package/dist/unstable/http/HttpServerError.js +2 -2
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.js +4 -4
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +10 -0
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +35 -7
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.js +5 -5
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +33 -63
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +14 -28
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +10 -18
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +9 -17
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.d.ts +2 -0
- package/dist/unstable/http/internal/compression.d.ts.map +1 -0
- package/dist/unstable/http/internal/compression.js +155 -0
- package/dist/unstable/http/internal/compression.js.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +11 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.js +13 -13
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
- package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
- package/dist/unstable/httpapi/OpenApi.js +13 -13
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/index.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +17 -4
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +16 -7
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +21 -12
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +10 -3
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +3 -0
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +22 -13
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +8 -8
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
- package/dist/unstable/persistence/PersistedQueue.js +6 -6
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +3 -3
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +91 -15
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +24 -13
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.js +1 -1
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +64 -21
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +14 -5
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +10 -10
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +25 -22
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +14 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +4 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +1 -1
- package/dist/unstable/reactivity/Hydration.js +1 -1
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +35 -33
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +12 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +12 -11
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
- package/dist/unstable/rpc/RpcGroup.js +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +6 -6
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +175 -96
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +13 -13
- package/dist/unstable/rpc/RpcServer.js +17 -13
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +52 -50
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +35 -33
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +5 -5
- package/dist/unstable/schema/VariantSchema.js +2 -2
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +11 -3
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -4
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/socket/index.js.map +1 -1
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +2 -2
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.js +2 -2
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +5 -5
- package/dist/unstable/sql/SqlResolver.js +2 -2
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +6 -6
- package/dist/unstable/sql/Statement.js +15 -15
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.js +2 -2
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +6 -6
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
- package/dist/unstable/workers/WorkerRunner.js +1 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +2 -2
- package/dist/unstable/workflow/Activity.js +2 -2
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
- package/dist/unstable/workflow/DurableDeferred.js +5 -5
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +22 -20
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +21 -21
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +13 -14
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.js.map +1 -1
- package/dist/unstable/workflow/internal/crypto.js.map +1 -1
- package/package.json +5 -6
- package/src/Array.ts +982 -1045
- package/src/BigDecimal.ts +433 -756
- package/src/BigInt.ts +213 -269
- package/src/Boolean.ts +146 -188
- package/src/Cache.ts +409 -255
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +891 -816
- package/src/ChannelSchema.ts +1 -1
- package/src/Chunk.ts +841 -1181
- package/src/Clock.ts +181 -49
- package/src/Combiner.ts +20 -33
- package/src/Config.ts +615 -332
- package/src/ConfigProvider.ts +214 -120
- package/src/Console.ts +289 -39
- package/src/Context.ts +319 -378
- package/src/Cron.ts +68 -77
- package/src/Crypto.ts +13 -15
- package/src/Data.ts +60 -80
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +216 -308
- package/src/Effect.ts +2893 -3279
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +49 -39
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +13 -55
- package/src/Exit.ts +116 -192
- package/src/Fiber.ts +81 -148
- package/src/FiberHandle.ts +152 -105
- package/src/FiberMap.ts +225 -174
- package/src/FiberSet.ts +124 -82
- package/src/FileSystem.ts +155 -263
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +54 -56
- package/src/Function.ts +76 -145
- package/src/Graph.ts +416 -770
- package/src/HKT.ts +12 -6
- package/src/Hash.ts +52 -83
- package/src/HashMap.ts +319 -411
- package/src/HashRing.ts +1 -0
- package/src/HashSet.ts +177 -284
- package/src/Inspectable.ts +12 -12
- package/src/Iterable.ts +620 -786
- package/src/JsonPatch.ts +58 -112
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +402 -244
- package/src/Latch.ts +23 -35
- package/src/Layer.ts +359 -260
- package/src/LayerMap.ts +49 -29
- package/src/LayerRef.ts +6 -2
- package/src/LogLevel.ts +114 -214
- package/src/Logger.ts +344 -697
- package/src/ManagedRuntime.ts +7 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +516 -1089
- package/src/MutableHashMap.ts +218 -255
- package/src/MutableHashSet.ts +84 -89
- package/src/MutableList.ts +73 -370
- package/src/MutableRef.ts +420 -243
- package/src/Newtype.ts +21 -14
- package/src/NonEmptyIterable.ts +7 -137
- package/src/Number.ts +196 -233
- package/src/Optic.ts +243 -383
- package/src/Option.ts +447 -812
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/Path.ts +38 -41
- package/src/Pipeable.ts +6 -5
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +4 -2
- package/src/Predicate.ts +200 -181
- package/src/PrimaryKey.ts +7 -7
- package/src/PubSub.ts +526 -552
- package/src/Pull.ts +24 -18
- package/src/Queue.ts +200 -159
- package/src/Random.ts +49 -74
- package/src/RcMap.ts +121 -63
- package/src/RcRef.ts +24 -13
- package/src/Record.ts +291 -488
- package/src/Redactable.ts +10 -3
- package/src/Redacted.ts +25 -25
- package/src/Reducer.ts +8 -15
- package/src/Ref.ts +221 -361
- package/src/References.ts +102 -168
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +31 -21
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +312 -484
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +308 -1734
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +716 -745
- package/src/SchemaAST.ts +466 -358
- package/src/SchemaError.ts +7 -6
- package/src/SchemaGetter.ts +242 -190
- package/src/SchemaIssue.ts +89 -275
- package/src/SchemaParser.ts +180 -93
- package/src/SchemaRepresentation.ts +22 -40
- package/src/SchemaTransformation.ts +129 -88
- package/src/Scope.ts +123 -151
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +152 -51
- package/src/Sink.ts +128 -113
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2602 -3123
- package/src/String.ts +275 -312
- package/src/Struct.ts +109 -114
- package/src/SubscriptionRef.ts +284 -252
- package/src/Symbol.ts +3 -3
- package/src/Terminal.ts +2 -2
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +92 -127
- package/src/TxChunk.ts +201 -121
- package/src/TxDeferred.ts +62 -46
- package/src/TxHashMap.ts +645 -799
- package/src/TxHashSet.ts +443 -356
- package/src/TxPriorityQueue.ts +130 -98
- package/src/TxPubSub.ts +107 -80
- package/src/TxQueue.ts +214 -183
- package/src/TxReentrantLock.ts +97 -66
- package/src/TxRef.ts +51 -32
- package/src/TxSemaphore.ts +129 -95
- package/src/TxSubscriptionRef.ts +97 -70
- package/src/Types.ts +126 -67
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/internal/core.ts +2 -2
- package/src/internal/dateTime.ts +6 -0
- package/src/internal/effect.ts +93 -48
- package/src/internal/persistence.ts +2 -0
- package/src/internal/references.ts +3 -2
- package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
- package/src/internal/schema/fromRepresentation.ts +10 -16
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
- package/src/internal/schema/toRepresentation.ts +104 -119
- package/src/internal/trie.ts +10 -11
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +72 -30
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +29 -29
- package/src/unstable/ai/AiError.ts +95 -118
- package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
- package/src/unstable/ai/Chat.ts +132 -97
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +107 -67
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +60 -50
- package/src/unstable/ai/McpServer.ts +930 -304
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
- package/src/unstable/ai/Prompt.ts +145 -43
- package/src/unstable/ai/Response.ts +28 -14
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +59 -44
- package/src/unstable/ai/Toolkit.ts +26 -8
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
- package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
- package/src/unstable/ai/internal/structured-output.ts +13 -18
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +69 -76
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +705 -107
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +1 -1
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +292 -78
- package/src/unstable/cli/Primitive.ts +370 -149
- package/src/unstable/cli/Prompt.ts +28 -14
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
- package/src/unstable/cluster/Entity.ts +15 -16
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +6 -4
- package/src/unstable/cluster/Message.ts +9 -9
- package/src/unstable/cluster/MessageStorage.ts +15 -15
- package/src/unstable/cluster/Reply.ts +4 -6
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +41 -8
- package/src/unstable/cluster/RunnerStorage.ts +2 -2
- package/src/unstable/cluster/Runners.ts +23 -12
- package/src/unstable/cluster/Sharding.ts +7 -8
- package/src/unstable/cluster/ShardingConfig.ts +3 -3
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
- package/src/unstable/cluster/internal/entityManager.ts +11 -15
- package/src/unstable/encoding/Msgpack.ts +6 -8
- package/src/unstable/encoding/Sse.ts +98 -16
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +15 -15
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +2 -2
- package/src/unstable/eventlog/EventLogRemote.ts +1 -1
- package/src/unstable/eventlog/EventLogServer.ts +41 -7
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- package/src/unstable/http/Cookies.ts +35 -21
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientRequest.ts +2 -0
- package/src/unstable/http/HttpClientResponse.ts +4 -4
- package/src/unstable/http/HttpEffect.ts +8 -8
- package/src/unstable/http/HttpMethod.ts +6 -9
- package/src/unstable/http/HttpMiddleware.ts +202 -39
- package/src/unstable/http/HttpPlatform.ts +95 -0
- package/src/unstable/http/HttpRouter.ts +102 -98
- package/src/unstable/http/HttpServer.ts +13 -13
- package/src/unstable/http/HttpServerError.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +4 -4
- package/src/unstable/http/HttpServerResponse.ts +30 -0
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +6 -6
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +10 -18
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
- package/src/unstable/httpapi/HttpApiClient.ts +14 -14
- package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
- package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
- package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
- package/src/unstable/httpapi/OpenApi.ts +13 -13
- package/src/unstable/observability/OtlpExporter.ts +31 -19
- package/src/unstable/observability/OtlpMetrics.ts +4 -1
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/PrometheusMetrics.ts +13 -4
- package/src/unstable/observability/internal/otlpEnv.ts +1 -1
- package/src/unstable/observability/internal/protobuf.ts +3 -0
- package/src/unstable/persistence/KeyValueStore.ts +72 -49
- package/src/unstable/persistence/Persistable.ts +8 -8
- package/src/unstable/persistence/PersistedQueue.ts +6 -6
- package/src/unstable/persistence/Persistence.ts +126 -19
- package/src/unstable/persistence/RateLimiter.ts +26 -15
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +21 -10
- package/src/unstable/reactivity/AsyncResult.ts +12 -13
- package/src/unstable/reactivity/Atom.ts +28 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +24 -3
- package/src/unstable/reactivity/AtomRpc.ts +5 -4
- package/src/unstable/reactivity/Hydration.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +35 -33
- package/src/unstable/rpc/RpcClient.ts +16 -15
- package/src/unstable/rpc/RpcGroup.ts +8 -8
- package/src/unstable/rpc/RpcMessage.ts +31 -30
- package/src/unstable/rpc/RpcMiddleware.ts +10 -10
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +167 -68
- package/src/unstable/rpc/RpcServer.ts +18 -15
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/schema/Model.ts +52 -50
- package/src/unstable/schema/VariantSchema.ts +5 -5
- package/src/unstable/socket/Socket.ts +17 -4
- package/src/unstable/sql/SqlClient.ts +5 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +5 -5
- package/src/unstable/sql/Statement.ts +24 -23
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +2 -2
- package/src/unstable/workers/WorkerError.ts +7 -7
- package/src/unstable/workers/WorkerRunner.ts +1 -1
- package/src/unstable/workflow/Activity.ts +2 -2
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +10 -10
- package/src/unstable/workflow/DurableQueue.ts +22 -20
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +1 -1
- package/src/unstable/workflow/WorkflowProxy.ts +4 -2
- package/dist/internal/version.d.ts +0 -3
- package/dist/internal/version.d.ts.map +0 -1
- package/dist/internal/version.js +0 -2
- package/dist/internal/version.js.map +0 -1
- package/src/internal/version.ts +0 -2
package/dist/TxHashMap.js
CHANGED
|
@@ -42,7 +42,7 @@ const TxHashMapProto = {
|
|
|
42
42
|
*
|
|
43
43
|
* **Example** (Creating an empty map)
|
|
44
44
|
*
|
|
45
|
-
* ```ts
|
|
45
|
+
* ```ts import.meta.vitest
|
|
46
46
|
* import { Effect, TxHashMap } from "effect"
|
|
47
47
|
*
|
|
48
48
|
* const program = Effect.gen(function*() {
|
|
@@ -50,17 +50,15 @@ const TxHashMapProto = {
|
|
|
50
50
|
* const emptyMap = yield* TxHashMap.empty<string, number>()
|
|
51
51
|
*
|
|
52
52
|
* // Verify it's empty
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* const size = yield* TxHashMap.size(emptyMap)
|
|
57
|
-
* console.log(size) // 0
|
|
53
|
+
* yield* TxHashMap.isEmpty(emptyMap) // => true
|
|
54
|
+
* yield* TxHashMap.size(emptyMap) // => 0
|
|
58
55
|
*
|
|
59
56
|
* // Start adding elements
|
|
60
57
|
* yield* TxHashMap.set(emptyMap, "first", 1)
|
|
61
|
-
*
|
|
62
|
-
* console.log(newSize) // 1
|
|
58
|
+
* return yield* TxHashMap.size(emptyMap)
|
|
63
59
|
* })
|
|
60
|
+
*
|
|
61
|
+
* await Effect.runPromise(program) // => 1
|
|
64
62
|
* ```
|
|
65
63
|
*
|
|
66
64
|
* @category constructors
|
|
@@ -77,8 +75,8 @@ export const empty = () => Effect.gen(function* () {
|
|
|
77
75
|
*
|
|
78
76
|
* **Example** (Creating a map from entries)
|
|
79
77
|
*
|
|
80
|
-
* ```ts
|
|
81
|
-
* import { Effect, TxHashMap } from "effect"
|
|
78
|
+
* ```ts import.meta.vitest
|
|
79
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
82
80
|
*
|
|
83
81
|
* const program = Effect.gen(function*() {
|
|
84
82
|
* // Create a user directory
|
|
@@ -89,16 +87,14 @@ export const empty = () => Effect.gen(function* () {
|
|
|
89
87
|
* )
|
|
90
88
|
*
|
|
91
89
|
* // Check the initial size
|
|
92
|
-
*
|
|
93
|
-
* console.log(size) // 3
|
|
90
|
+
* yield* TxHashMap.size(userMap) // => 3
|
|
94
91
|
*
|
|
95
92
|
* // Access users
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* const nonExistent = yield* TxHashMap.get(userMap, "david")
|
|
100
|
-
* console.log(nonExistent) // Option.none()
|
|
93
|
+
* yield* TxHashMap.get(userMap, "alice") // => Option.some({ name: "Alice Smith", role: "admin" })
|
|
94
|
+
* return yield* TxHashMap.get(userMap, "david")
|
|
101
95
|
* })
|
|
96
|
+
*
|
|
97
|
+
* await Effect.runPromise(program) // => Option.none()
|
|
102
98
|
* ```
|
|
103
99
|
*
|
|
104
100
|
* @category constructors
|
|
@@ -116,8 +112,8 @@ export const make = (...entries) => Effect.gen(function* () {
|
|
|
116
112
|
*
|
|
117
113
|
* **Example** (Creating a map from an iterable)
|
|
118
114
|
*
|
|
119
|
-
* ```ts
|
|
120
|
-
* import { Effect, TxHashMap } from "effect"
|
|
115
|
+
* ```ts import.meta.vitest
|
|
116
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
121
117
|
*
|
|
122
118
|
* const program = Effect.gen(function*() {
|
|
123
119
|
* // Create from various iterable sources
|
|
@@ -131,16 +127,15 @@ export const make = (...entries) => Effect.gen(function* () {
|
|
|
131
127
|
* const configMap = yield* TxHashMap.fromIterable(configEntries)
|
|
132
128
|
*
|
|
133
129
|
* // Verify the configuration was loaded
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
* const dbHost = yield* TxHashMap.get(configMap, "database.host")
|
|
138
|
-
* console.log(dbHost) // Option.some("localhost")
|
|
130
|
+
* yield* TxHashMap.size(configMap) // => 4
|
|
131
|
+
* yield* TxHashMap.get(configMap, "database.host") // => Option.some("localhost")
|
|
139
132
|
*
|
|
140
133
|
* // Can also create from Map, Set of tuples, etc.
|
|
141
134
|
* const jsMap = new Map([["key1", "value1"], ["key2", "value2"]])
|
|
142
|
-
*
|
|
135
|
+
* return yield* TxHashMap.fromIterable(jsMap)
|
|
143
136
|
* })
|
|
137
|
+
*
|
|
138
|
+
* await Effect.runPromise(program)
|
|
144
139
|
* ```
|
|
145
140
|
*
|
|
146
141
|
* @category constructors
|
|
@@ -158,7 +153,7 @@ export const fromIterable = entries => Effect.gen(function* () {
|
|
|
158
153
|
*
|
|
159
154
|
* **Example** (Looking up values safely)
|
|
160
155
|
*
|
|
161
|
-
* ```ts
|
|
156
|
+
* ```ts import.meta.vitest
|
|
162
157
|
* import { Effect, Option, TxHashMap } from "effect"
|
|
163
158
|
*
|
|
164
159
|
* const program = Effect.gen(function*() {
|
|
@@ -168,18 +163,14 @@ export const fromIterable = entries => Effect.gen(function* () {
|
|
|
168
163
|
* )
|
|
169
164
|
*
|
|
170
165
|
* // Safe lookup - returns Option
|
|
171
|
-
*
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
* const nonExistent = yield* TxHashMap.get(userMap, "charlie")
|
|
175
|
-
* console.log(nonExistent) // Option.none()
|
|
166
|
+
* yield* TxHashMap.get(userMap, "alice") // => Option.some({ name: "Alice", role: "admin" })
|
|
167
|
+
* yield* TxHashMap.get(userMap, "charlie") // => Option.none()
|
|
176
168
|
*
|
|
177
169
|
* // Use with pipe syntax for type-safe access
|
|
178
|
-
*
|
|
179
|
-
* if (bobRole._tag === "Some") {
|
|
180
|
-
* console.log(bobRole.value.role) // "user"
|
|
181
|
-
* }
|
|
170
|
+
* return yield* TxHashMap.get(userMap, "bob")
|
|
182
171
|
* })
|
|
172
|
+
*
|
|
173
|
+
* await Effect.runPromise(program) // => Option.some({ name: "Bob", role: "user" })
|
|
183
174
|
* ```
|
|
184
175
|
*
|
|
185
176
|
* @category combinators
|
|
@@ -199,8 +190,8 @@ export const get = /*#__PURE__*/dual(2, (self, key) => Effect.gen(function* () {
|
|
|
199
190
|
*
|
|
200
191
|
* **Example** (Setting values)
|
|
201
192
|
*
|
|
202
|
-
* ```ts
|
|
203
|
-
* import { Effect, TxHashMap } from "effect"
|
|
193
|
+
* ```ts import.meta.vitest
|
|
194
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
204
195
|
*
|
|
205
196
|
* const program = Effect.gen(function*() {
|
|
206
197
|
* const inventory = yield* TxHashMap.make(
|
|
@@ -210,17 +201,18 @@ export const get = /*#__PURE__*/dual(2, (self, key) => Effect.gen(function* () {
|
|
|
210
201
|
*
|
|
211
202
|
* // Update existing item
|
|
212
203
|
* yield* TxHashMap.set(inventory, "laptop", 3)
|
|
213
|
-
*
|
|
214
|
-
* console.log(laptopStock) // Option.some(3)
|
|
204
|
+
* yield* TxHashMap.get(inventory, "laptop") // => Option.some(3)
|
|
215
205
|
*
|
|
216
206
|
* // Add new item
|
|
217
207
|
* yield* TxHashMap.set(inventory, "keyboard", 15)
|
|
218
|
-
*
|
|
219
|
-
* console.log(keyboardStock) // Option.some(15)
|
|
208
|
+
* yield* TxHashMap.get(inventory, "keyboard") // => Option.some(15)
|
|
220
209
|
*
|
|
221
210
|
* // Use with pipe syntax
|
|
222
211
|
* yield* TxHashMap.set("tablet", 8)(inventory)
|
|
212
|
+
* return yield* TxHashMap.get(inventory, "tablet")
|
|
223
213
|
* })
|
|
214
|
+
*
|
|
215
|
+
* await Effect.runPromise(program) // => Option.some(8)
|
|
224
216
|
* ```
|
|
225
217
|
*
|
|
226
218
|
* @category combinators
|
|
@@ -232,7 +224,7 @@ export const set = /*#__PURE__*/dual(3, (self, key, value) => TxRef.update(self.
|
|
|
232
224
|
*
|
|
233
225
|
* **Example** (Checking for keys)
|
|
234
226
|
*
|
|
235
|
-
* ```ts
|
|
227
|
+
* ```ts import.meta.vitest
|
|
236
228
|
* import { Effect, TxHashMap } from "effect"
|
|
237
229
|
*
|
|
238
230
|
* const program = Effect.gen(function*() {
|
|
@@ -243,19 +235,17 @@ export const set = /*#__PURE__*/dual(3, (self, key, value) => TxRef.update(self.
|
|
|
243
235
|
* )
|
|
244
236
|
*
|
|
245
237
|
* // Check if users exist
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
* const hasDavid = yield* TxHashMap.has(permissions, "david")
|
|
250
|
-
* console.log(hasDavid) // false
|
|
238
|
+
* yield* TxHashMap.has(permissions, "alice") // => true
|
|
239
|
+
* yield* TxHashMap.has(permissions, "david") // => false
|
|
251
240
|
*
|
|
252
241
|
* // Use direct method call for type-safe access
|
|
253
|
-
*
|
|
254
|
-
* console.log(hasBob) // true
|
|
242
|
+
* return yield* TxHashMap.has(permissions, "bob")
|
|
255
243
|
* })
|
|
244
|
+
*
|
|
245
|
+
* await Effect.runPromise(program) // => true
|
|
256
246
|
* ```
|
|
257
247
|
*
|
|
258
|
-
* @category
|
|
248
|
+
* @category predicates
|
|
259
249
|
* @since 2.0.0
|
|
260
250
|
*/
|
|
261
251
|
export const has = /*#__PURE__*/dual(2, (self, key) => Effect.gen(function* () {
|
|
@@ -272,7 +262,7 @@ export const has = /*#__PURE__*/dual(2, (self, key) => Effect.gen(function* () {
|
|
|
272
262
|
*
|
|
273
263
|
* **Example** (Removing keys)
|
|
274
264
|
*
|
|
275
|
-
* ```ts
|
|
265
|
+
* ```ts import.meta.vitest
|
|
276
266
|
* import { Effect, TxHashMap } from "effect"
|
|
277
267
|
*
|
|
278
268
|
* const program = Effect.gen(function*() {
|
|
@@ -283,20 +273,17 @@ export const has = /*#__PURE__*/dual(2, (self, key) => Effect.gen(function* () {
|
|
|
283
273
|
* )
|
|
284
274
|
*
|
|
285
275
|
* // Remove expired user
|
|
286
|
-
*
|
|
287
|
-
* console.log(removed) // true (key existed and was removed)
|
|
276
|
+
* yield* TxHashMap.remove(cache, "user:3") // => true
|
|
288
277
|
*
|
|
289
278
|
* // Try to remove non-existent key
|
|
290
|
-
*
|
|
291
|
-
* console.log(notRemoved) // false (key didn't exist)
|
|
279
|
+
* yield* TxHashMap.remove(cache, "user:999") // => false
|
|
292
280
|
*
|
|
293
281
|
* // Verify removal
|
|
294
|
-
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
* const size = yield* TxHashMap.size(cache)
|
|
298
|
-
* console.log(size) // 2
|
|
282
|
+
* yield* TxHashMap.has(cache, "user:3") // => false
|
|
283
|
+
* return yield* TxHashMap.size(cache)
|
|
299
284
|
* })
|
|
285
|
+
*
|
|
286
|
+
* await Effect.runPromise(program) // => 2
|
|
300
287
|
* ```
|
|
301
288
|
*
|
|
302
289
|
* @category combinators
|
|
@@ -320,7 +307,7 @@ export const remove = /*#__PURE__*/dual(2, (self, key) => Effect.gen(function* (
|
|
|
320
307
|
*
|
|
321
308
|
* **Example** (Clearing all entries)
|
|
322
309
|
*
|
|
323
|
-
* ```ts
|
|
310
|
+
* ```ts import.meta.vitest
|
|
324
311
|
* import { Effect, TxHashMap } from "effect"
|
|
325
312
|
*
|
|
326
313
|
* const program = Effect.gen(function*() {
|
|
@@ -331,19 +318,17 @@ export const remove = /*#__PURE__*/dual(2, (self, key) => Effect.gen(function* (
|
|
|
331
318
|
* )
|
|
332
319
|
*
|
|
333
320
|
* // Check initial state
|
|
334
|
-
*
|
|
335
|
-
* console.log(initialSize) // 3
|
|
321
|
+
* yield* TxHashMap.size(sessionMap) // => 3
|
|
336
322
|
*
|
|
337
323
|
* // Clear all sessions (e.g., during maintenance)
|
|
338
324
|
* yield* TxHashMap.clear(sessionMap)
|
|
339
325
|
*
|
|
340
326
|
* // Verify cleared
|
|
341
|
-
*
|
|
342
|
-
*
|
|
343
|
-
*
|
|
344
|
-
* const isEmpty = yield* TxHashMap.isEmpty(sessionMap)
|
|
345
|
-
* console.log(isEmpty) // true
|
|
327
|
+
* yield* TxHashMap.size(sessionMap) // => 0
|
|
328
|
+
* return yield* TxHashMap.isEmpty(sessionMap)
|
|
346
329
|
* })
|
|
330
|
+
*
|
|
331
|
+
* await Effect.runPromise(program) // => true
|
|
347
332
|
* ```
|
|
348
333
|
*
|
|
349
334
|
* @category combinators
|
|
@@ -355,7 +340,7 @@ export const clear = self => TxRef.set(self.ref, HashMap.empty());
|
|
|
355
340
|
*
|
|
356
341
|
* **Example** (Counting entries)
|
|
357
342
|
*
|
|
358
|
-
* ```ts
|
|
343
|
+
* ```ts import.meta.vitest
|
|
359
344
|
* import { Effect, TxHashMap } from "effect"
|
|
360
345
|
*
|
|
361
346
|
* const program = Effect.gen(function*() {
|
|
@@ -365,19 +350,18 @@ export const clear = self => TxRef.set(self.ref, HashMap.empty());
|
|
|
365
350
|
* ["users", 50]
|
|
366
351
|
* )
|
|
367
352
|
*
|
|
368
|
-
*
|
|
369
|
-
* console.log(count) // 3
|
|
353
|
+
* yield* TxHashMap.size(metrics) // => 3
|
|
370
354
|
*
|
|
371
355
|
* // Add more metrics
|
|
372
356
|
* yield* TxHashMap.set(metrics, "response_time", 250)
|
|
373
|
-
*
|
|
374
|
-
* console.log(newCount) // 4
|
|
357
|
+
* yield* TxHashMap.size(metrics) // => 4
|
|
375
358
|
*
|
|
376
359
|
* // Remove a metric
|
|
377
360
|
* yield* TxHashMap.remove(metrics, "errors")
|
|
378
|
-
*
|
|
379
|
-
* console.log(finalCount) // 3
|
|
361
|
+
* return yield* TxHashMap.size(metrics)
|
|
380
362
|
* })
|
|
363
|
+
*
|
|
364
|
+
* await Effect.runPromise(program) // => 3
|
|
381
365
|
* ```
|
|
382
366
|
*
|
|
383
367
|
* @category combinators
|
|
@@ -392,28 +376,27 @@ export const size = self => Effect.gen(function* () {
|
|
|
392
376
|
*
|
|
393
377
|
* **Example** (Checking for an empty map)
|
|
394
378
|
*
|
|
395
|
-
* ```ts
|
|
379
|
+
* ```ts import.meta.vitest
|
|
396
380
|
* import { Effect, TxHashMap } from "effect"
|
|
397
381
|
*
|
|
398
382
|
* const program = Effect.gen(function*() {
|
|
399
383
|
* // Start with empty map
|
|
400
384
|
* const cache = yield* TxHashMap.empty<string, any>()
|
|
401
|
-
*
|
|
402
|
-
* console.log(empty) // true
|
|
385
|
+
* yield* TxHashMap.isEmpty(cache) // => true
|
|
403
386
|
*
|
|
404
387
|
* // Add an item
|
|
405
388
|
* yield* TxHashMap.set(cache, "key1", "value1")
|
|
406
|
-
*
|
|
407
|
-
* console.log(stillEmpty) // false
|
|
389
|
+
* yield* TxHashMap.isEmpty(cache) // => false
|
|
408
390
|
*
|
|
409
391
|
* // Clear and check again
|
|
410
392
|
* yield* TxHashMap.clear(cache)
|
|
411
|
-
*
|
|
412
|
-
* console.log(emptyAgain) // true
|
|
393
|
+
* return yield* TxHashMap.isEmpty(cache)
|
|
413
394
|
* })
|
|
395
|
+
*
|
|
396
|
+
* await Effect.runPromise(program) // => true
|
|
414
397
|
* ```
|
|
415
398
|
*
|
|
416
|
-
* @category
|
|
399
|
+
* @category predicates
|
|
417
400
|
* @since 2.0.0
|
|
418
401
|
*/
|
|
419
402
|
export const isEmpty = self => Effect.gen(function* () {
|
|
@@ -425,23 +408,23 @@ export const isEmpty = self => Effect.gen(function* () {
|
|
|
425
408
|
*
|
|
426
409
|
* **Example** (Checking for a non-empty map)
|
|
427
410
|
*
|
|
428
|
-
* ```ts
|
|
411
|
+
* ```ts import.meta.vitest
|
|
429
412
|
* import { Effect, TxHashMap } from "effect"
|
|
430
413
|
*
|
|
431
414
|
* const program = Effect.gen(function*() {
|
|
432
415
|
* const inventory = yield* TxHashMap.make(["laptop", 5])
|
|
433
416
|
*
|
|
434
|
-
*
|
|
435
|
-
* console.log(hasItems) // true
|
|
417
|
+
* yield* TxHashMap.isNonEmpty(inventory) // => true
|
|
436
418
|
*
|
|
437
419
|
* // Clear inventory
|
|
438
420
|
* yield* TxHashMap.clear(inventory)
|
|
439
|
-
*
|
|
440
|
-
* console.log(stillHasItems) // false
|
|
421
|
+
* return yield* TxHashMap.isNonEmpty(inventory)
|
|
441
422
|
* })
|
|
423
|
+
*
|
|
424
|
+
* await Effect.runPromise(program) // => false
|
|
442
425
|
* ```
|
|
443
426
|
*
|
|
444
|
-
* @category
|
|
427
|
+
* @category predicates
|
|
445
428
|
* @since 4.0.0
|
|
446
429
|
*/
|
|
447
430
|
export const isNonEmpty = self => Effect.map(isEmpty(self), empty => !empty);
|
|
@@ -455,8 +438,8 @@ export const isNonEmpty = self => Effect.map(isEmpty(self), empty => !empty);
|
|
|
455
438
|
*
|
|
456
439
|
* **Example** (Updating existing values)
|
|
457
440
|
*
|
|
458
|
-
* ```ts
|
|
459
|
-
* import { Effect, TxHashMap } from "effect"
|
|
441
|
+
* ```ts import.meta.vitest
|
|
442
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
460
443
|
*
|
|
461
444
|
* const program = Effect.gen(function*() {
|
|
462
445
|
* const counters = yield* TxHashMap.make(
|
|
@@ -470,10 +453,9 @@ export const isNonEmpty = self => Effect.map(isEmpty(self), empty => !empty);
|
|
|
470
453
|
* "downloads",
|
|
471
454
|
* (count) => count + 1
|
|
472
455
|
* )
|
|
473
|
-
*
|
|
456
|
+
* oldDownloads // => Option.some(100)
|
|
474
457
|
*
|
|
475
|
-
*
|
|
476
|
-
* console.log(newDownloads) // Option.some(101)
|
|
458
|
+
* yield* TxHashMap.get(counters, "downloads") // => Option.some(101)
|
|
477
459
|
*
|
|
478
460
|
* // Try to modify non-existent key
|
|
479
461
|
* const nonExistent = yield* TxHashMap.modify(
|
|
@@ -481,11 +463,14 @@ export const isNonEmpty = self => Effect.map(isEmpty(self), empty => !empty);
|
|
|
481
463
|
* "clicks",
|
|
482
464
|
* (count) => count + 1
|
|
483
465
|
* )
|
|
484
|
-
*
|
|
466
|
+
* nonExistent // => Option.none()
|
|
485
467
|
*
|
|
486
468
|
* // Update views counter with direct method call
|
|
487
469
|
* yield* TxHashMap.modify(counters, "views", (views) => views * 2)
|
|
470
|
+
* return yield* TxHashMap.get(counters, "views")
|
|
488
471
|
* })
|
|
472
|
+
*
|
|
473
|
+
* await Effect.runPromise(program) // => Option.some(500)
|
|
489
474
|
* ```
|
|
490
475
|
*
|
|
491
476
|
* @category combinators
|
|
@@ -512,42 +497,34 @@ export const modify = /*#__PURE__*/dual(3, (self, key, f) => Effect.gen(function
|
|
|
512
497
|
*
|
|
513
498
|
* **Example** (Updating values with Option)
|
|
514
499
|
*
|
|
515
|
-
* ```ts
|
|
516
|
-
* import { Effect, TxHashMap } from "effect"
|
|
500
|
+
* ```ts import.meta.vitest
|
|
501
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
517
502
|
*
|
|
518
503
|
* const program = Effect.gen(function*() {
|
|
519
504
|
* const storage = yield* TxHashMap.make<string, string | number>([
|
|
520
505
|
* "file1.txt",
|
|
521
506
|
* "content1"
|
|
522
507
|
* ], ["access_count", 0])
|
|
508
|
+
* const increment = Option.map((value: string | number) => typeof value === "number" ? value + 1 : value)
|
|
523
509
|
*
|
|
524
510
|
* // Increment existing counter
|
|
525
|
-
* yield* TxHashMap.modifyAt(storage, "access_count",
|
|
526
|
-
*
|
|
527
|
-
* ? { ...current, value: current.value + 1 }
|
|
528
|
-
* : current
|
|
529
|
-
* )
|
|
530
|
-
* const count1 = yield* TxHashMap.get(storage, "access_count")
|
|
531
|
-
* console.log(count1) // Option.some(1)
|
|
511
|
+
* yield* TxHashMap.modifyAt(storage, "access_count", increment)
|
|
512
|
+
* yield* TxHashMap.get(storage, "access_count") // => Option.some(1)
|
|
532
513
|
*
|
|
533
514
|
* // Increment existing counter again
|
|
534
|
-
* yield* TxHashMap.modifyAt(storage, "access_count",
|
|
535
|
-
*
|
|
536
|
-
* ? { ...current, value: current.value + 1 }
|
|
537
|
-
* : current
|
|
538
|
-
* )
|
|
539
|
-
* const count2 = yield* TxHashMap.get(storage, "access_count")
|
|
540
|
-
* console.log(count2) // Option.some(2)
|
|
515
|
+
* yield* TxHashMap.modifyAt(storage, "access_count", increment)
|
|
516
|
+
* yield* TxHashMap.get(storage, "access_count") // => Option.some(2)
|
|
541
517
|
*
|
|
542
518
|
* // Update an existing string entry
|
|
543
|
-
* yield* TxHashMap.modifyAt(
|
|
544
|
-
*
|
|
545
|
-
*
|
|
546
|
-
*
|
|
519
|
+
* yield* TxHashMap.modifyAt(
|
|
520
|
+
* storage,
|
|
521
|
+
* "file1.txt",
|
|
522
|
+
* Option.map((value) => typeof value === "string" ? `${value}.bak` : value)
|
|
547
523
|
* )
|
|
548
|
-
*
|
|
549
|
-
* console.log(backup) // Option.some("content1.bak")
|
|
524
|
+
* return yield* TxHashMap.get(storage, "file1.txt")
|
|
550
525
|
* })
|
|
526
|
+
*
|
|
527
|
+
* await Effect.runPromise(program) // => Option.some("content1.bak")
|
|
551
528
|
* ```
|
|
552
529
|
*
|
|
553
530
|
* @category combinators
|
|
@@ -568,7 +545,7 @@ export const modifyAt = /*#__PURE__*/dual(3, (self, key, f) => Effect.gen(functi
|
|
|
568
545
|
*
|
|
569
546
|
* **Example** (Reading keys)
|
|
570
547
|
*
|
|
571
|
-
* ```ts
|
|
548
|
+
* ```ts import.meta.vitest
|
|
572
549
|
* import { Effect, Option, TxHashMap } from "effect"
|
|
573
550
|
*
|
|
574
551
|
* const program = Effect.gen(function*() {
|
|
@@ -578,17 +555,21 @@ export const modifyAt = /*#__PURE__*/dual(3, (self, key, f) => Effect.gen(functi
|
|
|
578
555
|
* ["charlie", "moderator"]
|
|
579
556
|
* )
|
|
580
557
|
*
|
|
581
|
-
* const usernames = yield* TxHashMap.keys(userRoles)
|
|
582
|
-
*
|
|
558
|
+
* const usernames = (yield* TxHashMap.keys(userRoles)).sort()
|
|
559
|
+
* usernames // => ["alice", "bob", "charlie"]
|
|
583
560
|
*
|
|
584
561
|
* // Useful for iteration
|
|
562
|
+
* const assignments: Array<string> = []
|
|
585
563
|
* for (const username of usernames) {
|
|
586
564
|
* const role = yield* TxHashMap.get(userRoles, username)
|
|
587
565
|
* if (role._tag === "Some") {
|
|
588
|
-
*
|
|
566
|
+
* assignments.push(`${username}: ${role.value}`)
|
|
589
567
|
* }
|
|
590
568
|
* }
|
|
569
|
+
* return assignments
|
|
591
570
|
* })
|
|
571
|
+
*
|
|
572
|
+
* await Effect.runPromise(program) // => ["alice: admin", "bob: user", "charlie: moderator"]
|
|
592
573
|
* ```
|
|
593
574
|
*
|
|
594
575
|
* @category combinators
|
|
@@ -603,7 +584,7 @@ export const keys = self => Effect.gen(function* () {
|
|
|
603
584
|
*
|
|
604
585
|
* **Example** (Reading values)
|
|
605
586
|
*
|
|
606
|
-
* ```ts
|
|
587
|
+
* ```ts import.meta.vitest
|
|
607
588
|
* import { Effect, TxHashMap } from "effect"
|
|
608
589
|
*
|
|
609
590
|
* const program = Effect.gen(function*() {
|
|
@@ -613,18 +594,19 @@ export const keys = self => Effect.gen(function* () {
|
|
|
613
594
|
* ["charlie", 92]
|
|
614
595
|
* )
|
|
615
596
|
*
|
|
616
|
-
* const allScores = yield* TxHashMap.values(scores)
|
|
617
|
-
*
|
|
597
|
+
* const allScores = (yield* TxHashMap.values(scores)).sort((a, b) => a - b)
|
|
598
|
+
* allScores // => [87, 92, 95]
|
|
618
599
|
*
|
|
619
600
|
* // Calculate average
|
|
620
601
|
* const average = allScores.reduce((sum, score) => sum + score, 0) /
|
|
621
602
|
* allScores.length
|
|
622
|
-
*
|
|
603
|
+
* average.toFixed(2) // => "91.33"
|
|
623
604
|
*
|
|
624
605
|
* // Find maximum
|
|
625
|
-
*
|
|
626
|
-
* console.log(maxScore) // 95
|
|
606
|
+
* return Math.max(...allScores)
|
|
627
607
|
* })
|
|
608
|
+
*
|
|
609
|
+
* await Effect.runPromise(program) // => 95
|
|
628
610
|
* ```
|
|
629
611
|
*
|
|
630
612
|
* @category combinators
|
|
@@ -639,7 +621,7 @@ export const values = self => Effect.gen(function* () {
|
|
|
639
621
|
*
|
|
640
622
|
* **Example** (Reading entries)
|
|
641
623
|
*
|
|
642
|
-
* ```ts
|
|
624
|
+
* ```ts import.meta.vitest
|
|
643
625
|
* import { Effect, TxHashMap } from "effect"
|
|
644
626
|
*
|
|
645
627
|
* const program = Effect.gen(function*() {
|
|
@@ -649,19 +631,10 @@ export const values = self => Effect.gen(function* () {
|
|
|
649
631
|
* ["ssl", "false"]
|
|
650
632
|
* )
|
|
651
633
|
*
|
|
652
|
-
*
|
|
653
|
-
* const sortedEntries = allEntries.toSorted(([left], [right]) => left.localeCompare(right))
|
|
654
|
-
* console.log(sortedEntries)
|
|
655
|
-
* // [["host", "localhost"], ["port", "3000"], ["ssl", "false"]]
|
|
656
|
-
*
|
|
657
|
-
* // Process configuration entries
|
|
658
|
-
* for (const [key, value] of sortedEntries) {
|
|
659
|
-
* console.log(`${key}=${value}`)
|
|
660
|
-
* }
|
|
661
|
-
* // host=localhost
|
|
662
|
-
* // port=3000
|
|
663
|
-
* // ssl=false
|
|
634
|
+
* return (yield* TxHashMap.entries(config)).toSorted(([left], [right]) => left.localeCompare(right))
|
|
664
635
|
* })
|
|
636
|
+
*
|
|
637
|
+
* await Effect.runPromise(program) // => [["host", "localhost"], ["port", "3000"], ["ssl", "false"]]
|
|
665
638
|
* ```
|
|
666
639
|
*
|
|
667
640
|
* @category combinators
|
|
@@ -676,8 +649,8 @@ export const entries = self => Effect.gen(function* () {
|
|
|
676
649
|
*
|
|
677
650
|
* **Example** (Taking immutable snapshots)
|
|
678
651
|
*
|
|
679
|
-
* ```ts
|
|
680
|
-
* import { Effect, HashMap, TxHashMap } from "effect"
|
|
652
|
+
* ```ts import.meta.vitest
|
|
653
|
+
* import { Effect, HashMap, Option, TxHashMap } from "effect"
|
|
681
654
|
*
|
|
682
655
|
* const program = Effect.gen(function*() {
|
|
683
656
|
* const liveData = yield* TxHashMap.make(
|
|
@@ -694,13 +667,14 @@ export const entries = self => Effect.gen(function* () {
|
|
|
694
667
|
* yield* TxHashMap.set(liveData, "wind_speed", 5.3)
|
|
695
668
|
*
|
|
696
669
|
* // Snapshot remains unchanged
|
|
697
|
-
*
|
|
698
|
-
*
|
|
670
|
+
* HashMap.size(snapshot) // => 3
|
|
671
|
+
* HashMap.get(snapshot, "temperature") // => Option.some(22.5)
|
|
699
672
|
*
|
|
700
673
|
* // Can use regular HashMap operations on snapshot
|
|
701
|
-
*
|
|
702
|
-
* const humidityReading = HashMap.get(snapshot, "humidity")
|
|
674
|
+
* return HashMap.get(snapshot, "humidity")
|
|
703
675
|
* })
|
|
676
|
+
*
|
|
677
|
+
* await Effect.runPromise(program) // => Option.some(45.2)
|
|
704
678
|
* ```
|
|
705
679
|
*
|
|
706
680
|
* @category combinators
|
|
@@ -718,8 +692,8 @@ export const snapshot = self => TxRef.get(self.ref);
|
|
|
718
692
|
*
|
|
719
693
|
* **Example** (Merging HashMaps)
|
|
720
694
|
*
|
|
721
|
-
* ```ts
|
|
722
|
-
* import { Effect, HashMap, TxHashMap } from "effect"
|
|
695
|
+
* ```ts import.meta.vitest
|
|
696
|
+
* import { Effect, HashMap, Option, TxHashMap } from "effect"
|
|
723
697
|
*
|
|
724
698
|
* const program = Effect.gen(function*() {
|
|
725
699
|
* // Create initial user preferences
|
|
@@ -740,18 +714,13 @@ export const snapshot = self => TxRef.get(self.ref);
|
|
|
740
714
|
* yield* TxHashMap.union(userPrefs, newSettings)
|
|
741
715
|
*
|
|
742
716
|
* // Check the merged result
|
|
743
|
-
*
|
|
744
|
-
*
|
|
745
|
-
*
|
|
746
|
-
*
|
|
747
|
-
* console.log(language) // Option.some("en") - preserved
|
|
748
|
-
*
|
|
749
|
-
* const timezone = yield* TxHashMap.get(userPrefs, "timezone")
|
|
750
|
-
* console.log(timezone) // Option.some("UTC") - newly added
|
|
751
|
-
*
|
|
752
|
-
* const size = yield* TxHashMap.size(userPrefs)
|
|
753
|
-
* console.log(size) // 5 total settings
|
|
717
|
+
* yield* TxHashMap.get(userPrefs, "theme") // => Option.some("dark")
|
|
718
|
+
* yield* TxHashMap.get(userPrefs, "language") // => Option.some("en")
|
|
719
|
+
* yield* TxHashMap.get(userPrefs, "timezone") // => Option.some("UTC")
|
|
720
|
+
* return yield* TxHashMap.size(userPrefs)
|
|
754
721
|
* })
|
|
722
|
+
*
|
|
723
|
+
* await Effect.runPromise(program) // => 5
|
|
755
724
|
* ```
|
|
756
725
|
*
|
|
757
726
|
* @category combinators
|
|
@@ -768,8 +737,8 @@ export const union = /*#__PURE__*/dual(2, (self, other) => TxRef.update(self.ref
|
|
|
768
737
|
*
|
|
769
738
|
* **Example** (Removing multiple keys)
|
|
770
739
|
*
|
|
771
|
-
* ```ts
|
|
772
|
-
* import { Effect, TxHashMap } from "effect"
|
|
740
|
+
* ```ts import.meta.vitest
|
|
741
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
773
742
|
*
|
|
774
743
|
* const program = Effect.gen(function*() {
|
|
775
744
|
* // Create a cache with temporary data
|
|
@@ -781,23 +750,24 @@ export const union = /*#__PURE__*/dual(2, (self, other) => TxRef.update(self.ref
|
|
|
781
750
|
* ["temp_data_2", { value: "also_temporary" }]
|
|
782
751
|
* )
|
|
783
752
|
*
|
|
784
|
-
*
|
|
753
|
+
* yield* TxHashMap.size(cache) // => 5
|
|
785
754
|
*
|
|
786
755
|
* // Remove expired sessions and temporary data
|
|
787
756
|
* const keysToRemove = ["session_1", "session_2", "temp_data_1", "temp_data_2"]
|
|
788
757
|
* yield* TxHashMap.removeMany(cache, keysToRemove)
|
|
789
758
|
*
|
|
790
|
-
*
|
|
759
|
+
* yield* TxHashMap.size(cache) // => 1
|
|
791
760
|
*
|
|
792
761
|
* // Verify only the valid session remains
|
|
793
|
-
*
|
|
794
|
-
* console.log(remainingSession) // Option.some({ user: "charlie", expires: "2024-12-31" })
|
|
762
|
+
* yield* TxHashMap.get(cache, "session_3") // => Option.some({ user: "charlie", expires: "2024-12-31" })
|
|
795
763
|
*
|
|
796
764
|
* // Can also remove from Set, Array, or any iterable
|
|
797
765
|
* const moreKeysToRemove = new Set(["session_3"])
|
|
798
766
|
* yield* TxHashMap.removeMany(cache, moreKeysToRemove)
|
|
799
|
-
*
|
|
767
|
+
* return yield* TxHashMap.isEmpty(cache)
|
|
800
768
|
* })
|
|
769
|
+
*
|
|
770
|
+
* await Effect.runPromise(program) // => true
|
|
801
771
|
* ```
|
|
802
772
|
*
|
|
803
773
|
* @category combinators
|
|
@@ -814,8 +784,8 @@ export const removeMany = /*#__PURE__*/dual(2, (self, keys) => TxRef.update(self
|
|
|
814
784
|
*
|
|
815
785
|
* **Example** (Setting multiple entries)
|
|
816
786
|
*
|
|
817
|
-
* ```ts
|
|
818
|
-
* import { Effect, TxHashMap } from "effect"
|
|
787
|
+
* ```ts import.meta.vitest
|
|
788
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
819
789
|
*
|
|
820
790
|
* const program = Effect.gen(function*() {
|
|
821
791
|
* // Create an empty product catalog
|
|
@@ -836,7 +806,7 @@ export const removeMany = /*#__PURE__*/dual(2, (self, keys) => TxRef.update(self
|
|
|
836
806
|
*
|
|
837
807
|
* yield* TxHashMap.setMany(catalog, initialProducts)
|
|
838
808
|
*
|
|
839
|
-
*
|
|
809
|
+
* yield* TxHashMap.size(catalog) // => 4
|
|
840
810
|
*
|
|
841
811
|
* // Update prices with a new batch
|
|
842
812
|
* const priceUpdates: Array<
|
|
@@ -849,16 +819,18 @@ export const removeMany = /*#__PURE__*/dual(2, (self, keys) => TxRef.update(self
|
|
|
849
819
|
*
|
|
850
820
|
* yield* TxHashMap.setMany(catalog, priceUpdates)
|
|
851
821
|
*
|
|
852
|
-
*
|
|
822
|
+
* yield* TxHashMap.size(catalog) // => 5
|
|
853
823
|
*
|
|
854
824
|
* // Verify the updates
|
|
855
|
-
*
|
|
856
|
-
* console.log(laptop) // Option.some({ price: 899, stock: 5 })
|
|
825
|
+
* yield* TxHashMap.get(catalog, "laptop") // => Option.some({ price: 899, stock: 5 })
|
|
857
826
|
*
|
|
858
827
|
* // Can also use Map, Set of tuples, or any iterable of entries
|
|
859
828
|
* const jsMap = new Map([["tablet", { price: 399, stock: 3 }]])
|
|
860
829
|
* yield* TxHashMap.setMany(catalog, jsMap)
|
|
830
|
+
* return yield* TxHashMap.get(catalog, "tablet")
|
|
861
831
|
* })
|
|
832
|
+
*
|
|
833
|
+
* await Effect.runPromise(program) // => Option.some({ price: 399, stock: 3 })
|
|
862
834
|
* ```
|
|
863
835
|
*
|
|
864
836
|
* @category combinators
|
|
@@ -870,16 +842,16 @@ export const setMany = /*#__PURE__*/dual(2, (self, entries) => TxRef.update(self
|
|
|
870
842
|
*
|
|
871
843
|
* **Example** (Checking TxHashMap values)
|
|
872
844
|
*
|
|
873
|
-
* ```ts
|
|
874
|
-
* import { Effect, TxHashMap } from "effect"
|
|
845
|
+
* ```ts import.meta.vitest
|
|
846
|
+
* import { Effect, Exit, TxHashMap } from "effect"
|
|
875
847
|
*
|
|
876
848
|
* const program = Effect.gen(function*() {
|
|
877
849
|
* const txMap = yield* TxHashMap.make(["key", "value"])
|
|
878
850
|
*
|
|
879
|
-
*
|
|
880
|
-
*
|
|
881
|
-
*
|
|
882
|
-
*
|
|
851
|
+
* TxHashMap.isTxHashMap(txMap) // => true
|
|
852
|
+
* TxHashMap.isTxHashMap({}) // => false
|
|
853
|
+
* TxHashMap.isTxHashMap(null) // => false
|
|
854
|
+
* TxHashMap.isTxHashMap("not a map") // => false
|
|
883
855
|
*
|
|
884
856
|
* // Useful for type guards in runtime checks
|
|
885
857
|
* const validateInput = (value: unknown) => {
|
|
@@ -889,7 +861,12 @@ export const setMany = /*#__PURE__*/dual(2, (self, entries) => TxRef.update(self
|
|
|
889
861
|
* }
|
|
890
862
|
* return Effect.fail("Invalid input")
|
|
891
863
|
* }
|
|
864
|
+
*
|
|
865
|
+
* yield* Effect.exit(validateInput(null)) // => Exit.fail("Invalid input")
|
|
866
|
+
* return yield* Effect.exit(validateInput(txMap))
|
|
892
867
|
* })
|
|
868
|
+
*
|
|
869
|
+
* await Effect.runPromise(program) // => Exit.succeed("Valid TxHashMap")
|
|
893
870
|
* ```
|
|
894
871
|
*
|
|
895
872
|
* @category guards
|
|
@@ -909,8 +886,8 @@ export const isTxHashMap = value => {
|
|
|
909
886
|
*
|
|
910
887
|
* **Example** (Looking up values with precomputed hashes)
|
|
911
888
|
*
|
|
912
|
-
* ```ts
|
|
913
|
-
* import { Effect, Hash, TxHashMap } from "effect"
|
|
889
|
+
* ```ts import.meta.vitest
|
|
890
|
+
* import { Effect, Hash, Option, TxHashMap } from "effect"
|
|
914
891
|
*
|
|
915
892
|
* const program = Effect.gen(function*() {
|
|
916
893
|
* // Create a cache with user sessions
|
|
@@ -925,16 +902,17 @@ export const isTxHashMap = value => {
|
|
|
925
902
|
*
|
|
926
903
|
* // Use hash-optimized lookup for performance in hot paths
|
|
927
904
|
* const session = yield* TxHashMap.getHash(cache, sessionId, precomputedHash)
|
|
928
|
-
*
|
|
905
|
+
* session // => Option.some({ userId: "user1", lastActive: 1_700_000_000_000 })
|
|
929
906
|
*
|
|
930
907
|
* // This avoids recomputing the hash when you already have it
|
|
931
|
-
*
|
|
908
|
+
* return yield* TxHashMap.getHash(
|
|
932
909
|
* cache,
|
|
933
910
|
* "invalid",
|
|
934
911
|
* Hash.string("invalid")
|
|
935
912
|
* )
|
|
936
|
-
* console.log(invalidSession) // Option.none()
|
|
937
913
|
* })
|
|
914
|
+
*
|
|
915
|
+
* await Effect.runPromise(program) // => Option.none()
|
|
938
916
|
* ```
|
|
939
917
|
*
|
|
940
918
|
* @category combinators
|
|
@@ -952,7 +930,7 @@ export const getHash = /*#__PURE__*/dual(3, (self, key, hash) => TxRef.get(self.
|
|
|
952
930
|
*
|
|
953
931
|
* **Example** (Checking keys with precomputed hashes)
|
|
954
932
|
*
|
|
955
|
-
* ```ts
|
|
933
|
+
* ```ts import.meta.vitest
|
|
956
934
|
* import { Effect, Hash, TxHashMap } from "effect"
|
|
957
935
|
*
|
|
958
936
|
* const program = Effect.gen(function*() {
|
|
@@ -967,29 +945,30 @@ export const getHash = /*#__PURE__*/dual(3, (self, key, hash) => TxRef.get(self.
|
|
|
967
945
|
* const roleHash = Hash.string(role)
|
|
968
946
|
*
|
|
969
947
|
* // Use hash-optimized existence check
|
|
970
|
-
*
|
|
971
|
-
* console.log(hasAdminRole) // true
|
|
948
|
+
* yield* TxHashMap.hasHash(permissions, role, roleHash) // => true
|
|
972
949
|
*
|
|
973
950
|
* // Check non-existent role
|
|
974
|
-
*
|
|
951
|
+
* yield* TxHashMap.hasHash(
|
|
975
952
|
* permissions,
|
|
976
953
|
* "guest",
|
|
977
954
|
* Hash.string("guest")
|
|
978
|
-
* )
|
|
979
|
-
* console.log(hasGuestRole) // false
|
|
955
|
+
* ) // => false
|
|
980
956
|
*
|
|
981
957
|
* // Useful in hot paths where hash is computed once and reused
|
|
982
958
|
* const roles = ["admin", "user", "moderator"]
|
|
983
959
|
* const roleHashes = roles.map((role) => [role, Hash.string(role)] as const)
|
|
984
|
-
*
|
|
960
|
+
* const results: Array<string> = []
|
|
985
961
|
* for (const [role, hash] of roleHashes) {
|
|
986
962
|
* const exists = yield* TxHashMap.hasHash(permissions, role, hash)
|
|
987
|
-
*
|
|
963
|
+
* results.push(`Role ${role}: ${exists}`)
|
|
988
964
|
* }
|
|
965
|
+
* return results
|
|
989
966
|
* })
|
|
967
|
+
*
|
|
968
|
+
* await Effect.runPromise(program) // => ["Role admin: true", "Role user: true", "Role moderator: false"]
|
|
990
969
|
* ```
|
|
991
970
|
*
|
|
992
|
-
* @category
|
|
971
|
+
* @category predicates
|
|
993
972
|
* @since 4.0.0
|
|
994
973
|
*/
|
|
995
974
|
export const hasHash = /*#__PURE__*/dual(3, (self, key, hash) => TxRef.get(self.ref).pipe(Effect.map(map => HashMap.hasHash(map, key, hash))));
|
|
@@ -1003,8 +982,8 @@ export const hasHash = /*#__PURE__*/dual(3, (self, key, hash) => TxRef.get(self.
|
|
|
1003
982
|
*
|
|
1004
983
|
* **Example** (Mapping values)
|
|
1005
984
|
*
|
|
1006
|
-
* ```ts
|
|
1007
|
-
* import { Effect, TxHashMap } from "effect"
|
|
985
|
+
* ```ts import.meta.vitest
|
|
986
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
1008
987
|
*
|
|
1009
988
|
* const program = Effect.gen(function*() {
|
|
1010
989
|
* // Create a user profile map
|
|
@@ -1021,21 +1000,20 @@ export const hasHash = /*#__PURE__*/dual(3, (self, key, hash) => TxRef.get(self.
|
|
|
1021
1000
|
* )
|
|
1022
1001
|
*
|
|
1023
1002
|
* // Check the transformed values
|
|
1024
|
-
*
|
|
1025
|
-
* console.log(aliceGreeting) // Option.some("Hello, Alice! (User: alice)")
|
|
1003
|
+
* yield* TxHashMap.get(greetings, "alice") // => Option.some("Hello, Alice! (User: alice)")
|
|
1026
1004
|
*
|
|
1027
1005
|
* // Data-last usage with pipe
|
|
1028
1006
|
* const ages = yield* profiles.pipe(
|
|
1029
1007
|
* TxHashMap.map((profile) => profile.age)
|
|
1030
1008
|
* )
|
|
1031
1009
|
*
|
|
1032
|
-
*
|
|
1033
|
-
* console.log(aliceAge) // Option.some(30)
|
|
1010
|
+
* yield* TxHashMap.get(ages, "alice") // => Option.some(30)
|
|
1034
1011
|
*
|
|
1035
1012
|
* // Original map is unchanged
|
|
1036
|
-
*
|
|
1037
|
-
* console.log(originalAlice) // Option.some({ name: "Alice", age: 30, active: true })
|
|
1013
|
+
* return yield* TxHashMap.get(profiles, "alice")
|
|
1038
1014
|
* })
|
|
1015
|
+
*
|
|
1016
|
+
* await Effect.runPromise(program) // => Option.some({ name: "Alice", age: 30, active: true })
|
|
1039
1017
|
* ```
|
|
1040
1018
|
*
|
|
1041
1019
|
* @category combinators
|
|
@@ -1056,7 +1034,7 @@ export const map = /*#__PURE__*/dual(2, (self, f) => Effect.gen(function* () {
|
|
|
1056
1034
|
*
|
|
1057
1035
|
* **Example** (Filtering entries)
|
|
1058
1036
|
*
|
|
1059
|
-
* ```ts
|
|
1037
|
+
* ```ts import.meta.vitest
|
|
1060
1038
|
* import { Effect, TxHashMap } from "effect"
|
|
1061
1039
|
*
|
|
1062
1040
|
* const program = Effect.gen(function*() {
|
|
@@ -1074,24 +1052,24 @@ export const map = /*#__PURE__*/dual(2, (self, f) => Effect.gen(function* () {
|
|
|
1074
1052
|
* (product) => product.category === "electronics" && product.stock > 0
|
|
1075
1053
|
* )
|
|
1076
1054
|
*
|
|
1077
|
-
*
|
|
1078
|
-
* console.log(size) // 2 (laptop and mouse)
|
|
1055
|
+
* yield* TxHashMap.size(electronicsInStock) // => 2
|
|
1079
1056
|
*
|
|
1080
1057
|
* // Data-last usage with pipe
|
|
1081
1058
|
* const expensiveItems = yield* inventory.pipe(
|
|
1082
1059
|
* TxHashMap.filter((product) => product.price > 500)
|
|
1083
1060
|
* )
|
|
1084
1061
|
*
|
|
1085
|
-
*
|
|
1086
|
-
* console.log(expensiveSize) // 2 (laptop and phone)
|
|
1062
|
+
* yield* TxHashMap.size(expensiveItems) // => 2
|
|
1087
1063
|
*
|
|
1088
1064
|
* // Type guard usage
|
|
1089
|
-
*
|
|
1065
|
+
* return yield* TxHashMap.filter(
|
|
1090
1066
|
* inventory,
|
|
1091
1067
|
* (product): product is typeof product & { price: number } =>
|
|
1092
1068
|
* product.price > 50
|
|
1093
1069
|
* )
|
|
1094
1070
|
* })
|
|
1071
|
+
*
|
|
1072
|
+
* await Effect.runPromise(program)
|
|
1095
1073
|
* ```
|
|
1096
1074
|
*
|
|
1097
1075
|
* @category combinators
|
|
@@ -1108,7 +1086,7 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => Effect.gen(funct
|
|
|
1108
1086
|
*
|
|
1109
1087
|
* **Example** (Reducing entries)
|
|
1110
1088
|
*
|
|
1111
|
-
* ```ts
|
|
1089
|
+
* ```ts import.meta.vitest
|
|
1112
1090
|
* import { Effect, TxHashMap } from "effect"
|
|
1113
1091
|
*
|
|
1114
1092
|
* const program = Effect.gen(function*() {
|
|
@@ -1124,12 +1102,9 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => Effect.gen(funct
|
|
|
1124
1102
|
* const totalSales = yield* TxHashMap.reduce(
|
|
1125
1103
|
* sales,
|
|
1126
1104
|
* 0,
|
|
1127
|
-
* (total, amount
|
|
1128
|
-
* console.log(`Adding ${quarter}: ${amount}`)
|
|
1129
|
-
* return total + amount
|
|
1130
|
-
* }
|
|
1105
|
+
* (total, amount) => total + amount
|
|
1131
1106
|
* )
|
|
1132
|
-
*
|
|
1107
|
+
* totalSales // => 80000
|
|
1133
1108
|
*
|
|
1134
1109
|
* // Data-last usage with pipe
|
|
1135
1110
|
* const quarterlyReport = yield* sales.pipe(
|
|
@@ -1142,16 +1117,10 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => Effect.gen(funct
|
|
|
1142
1117
|
* })
|
|
1143
1118
|
* )
|
|
1144
1119
|
* )
|
|
1145
|
-
*
|
|
1146
|
-
*
|
|
1147
|
-
* // Build a summary string
|
|
1148
|
-
* const summary = yield* TxHashMap.reduce(
|
|
1149
|
-
* sales,
|
|
1150
|
-
* "",
|
|
1151
|
-
* (acc, amount, quarter) => acc + `${quarter}: $${amount.toLocaleString()}\n`
|
|
1152
|
-
* )
|
|
1153
|
-
* console.log(summary)
|
|
1120
|
+
* return quarterlyReport
|
|
1154
1121
|
* })
|
|
1122
|
+
*
|
|
1123
|
+
* await Effect.runPromise(program) // => { quarters: 4, total: 80000, max: 25000 }
|
|
1155
1124
|
* ```
|
|
1156
1125
|
*
|
|
1157
1126
|
* @category combinators
|
|
@@ -1169,7 +1138,7 @@ export const reduce = /*#__PURE__*/dual(3, (self, zero, f) => TxRef.get(self.ref
|
|
|
1169
1138
|
*
|
|
1170
1139
|
* **Example** (Filtering and mapping entries)
|
|
1171
1140
|
*
|
|
1172
|
-
* ```ts
|
|
1141
|
+
* ```ts import.meta.vitest
|
|
1173
1142
|
* import { Effect, Option, Result, TxHashMap } from "effect"
|
|
1174
1143
|
*
|
|
1175
1144
|
* const program = Effect.gen(function*() {
|
|
@@ -1197,10 +1166,8 @@ export const reduce = /*#__PURE__*/dual(3, (self, zero, f) => TxRef.get(self.ref
|
|
|
1197
1166
|
* )
|
|
1198
1167
|
*
|
|
1199
1168
|
* const aliceData = yield* TxHashMap.get(activeAdminAges, "alice")
|
|
1200
|
-
*
|
|
1201
|
-
*
|
|
1202
|
-
* const charlieData = yield* TxHashMap.get(activeAdminAges, "charlie")
|
|
1203
|
-
* console.log(charlieData) // Option.none() (not active)
|
|
1169
|
+
* aliceData // => Option.some({ username: "alice", age: 30, seniority: "senior" })
|
|
1170
|
+
* yield* TxHashMap.get(activeAdminAges, "charlie") // => Option.none()
|
|
1204
1171
|
*
|
|
1205
1172
|
* // Data-last usage with pipe
|
|
1206
1173
|
* const validAges = yield* userData.pipe(
|
|
@@ -1210,9 +1177,10 @@ export const reduce = /*#__PURE__*/dual(3, (self, zero, f) => TxRef.get(self.ref
|
|
|
1210
1177
|
* })
|
|
1211
1178
|
* )
|
|
1212
1179
|
*
|
|
1213
|
-
*
|
|
1214
|
-
* console.log(size) // 3 (alice, charlie, diana have valid ages)
|
|
1180
|
+
* return yield* TxHashMap.size(validAges)
|
|
1215
1181
|
* })
|
|
1182
|
+
*
|
|
1183
|
+
* await Effect.runPromise(program) // => 3
|
|
1216
1184
|
* ```
|
|
1217
1185
|
*
|
|
1218
1186
|
* @category combinators
|
|
@@ -1228,7 +1196,7 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => Effect.gen(function*
|
|
|
1228
1196
|
*
|
|
1229
1197
|
* **Example** (Checking entries with a predicate)
|
|
1230
1198
|
*
|
|
1231
|
-
* ```ts
|
|
1199
|
+
* ```ts import.meta.vitest
|
|
1232
1200
|
* import { Effect, TxHashMap } from "effect"
|
|
1233
1201
|
*
|
|
1234
1202
|
* const program = Effect.gen(function*() {
|
|
@@ -1241,28 +1209,27 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => Effect.gen(function*
|
|
|
1241
1209
|
* )
|
|
1242
1210
|
*
|
|
1243
1211
|
* // Check if any users are online
|
|
1244
|
-
*
|
|
1212
|
+
* yield* TxHashMap.hasBy(
|
|
1245
1213
|
* userStatuses,
|
|
1246
1214
|
* (user) => user.status === "online"
|
|
1247
|
-
* )
|
|
1248
|
-
* console.log(hasOnlineUsers) // true
|
|
1215
|
+
* ) // => true
|
|
1249
1216
|
*
|
|
1250
1217
|
* // Check if any users have specific username pattern
|
|
1251
|
-
*
|
|
1218
|
+
* yield* TxHashMap.hasBy(
|
|
1252
1219
|
* userStatuses,
|
|
1253
1220
|
* (user, username) => username.startsWith("admin")
|
|
1254
|
-
* )
|
|
1255
|
-
* console.log(hasAdminUser) // false
|
|
1221
|
+
* ) // => false
|
|
1256
1222
|
*
|
|
1257
1223
|
* // Data-last usage with pipe
|
|
1258
|
-
*
|
|
1224
|
+
* return yield* userStatuses.pipe(
|
|
1259
1225
|
* TxHashMap.hasBy((user) => currentTime - user.lastSeen < 1_800_000) // 30 minutes
|
|
1260
1226
|
* )
|
|
1261
|
-
* console.log(hasRecentActivity) // true
|
|
1262
1227
|
* })
|
|
1228
|
+
*
|
|
1229
|
+
* await Effect.runPromise(program) // => true
|
|
1263
1230
|
* ```
|
|
1264
1231
|
*
|
|
1265
|
-
* @category
|
|
1232
|
+
* @category predicates
|
|
1266
1233
|
* @since 4.0.0
|
|
1267
1234
|
*/
|
|
1268
1235
|
export const hasBy = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.ref).pipe(Effect.map(map => HashMap.hasBy(map, predicate))));
|
|
@@ -1272,8 +1239,8 @@ export const hasBy = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.re
|
|
|
1272
1239
|
*
|
|
1273
1240
|
* **Example** (Finding the first matching entry)
|
|
1274
1241
|
*
|
|
1275
|
-
* ```ts
|
|
1276
|
-
* import { Effect, TxHashMap } from "effect"
|
|
1242
|
+
* ```ts import.meta.vitest
|
|
1243
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
1277
1244
|
*
|
|
1278
1245
|
* const program = Effect.gen(function*() {
|
|
1279
1246
|
* // Create a task priority map
|
|
@@ -1289,21 +1256,15 @@ export const hasBy = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.re
|
|
|
1289
1256
|
* (task) => task.priority >= 2 && !task.completed
|
|
1290
1257
|
* )
|
|
1291
1258
|
*
|
|
1292
|
-
*
|
|
1293
|
-
* const [taskId, task] = highPriorityTask.value
|
|
1294
|
-
* console.log(`Found task: ${taskId}, priority: ${task.priority}`)
|
|
1295
|
-
* // "Found task: task3, priority: 2"
|
|
1296
|
-
* }
|
|
1259
|
+
* highPriorityTask // => Option.some(["task3", { priority: 2, assignee: "alice", completed: false }])
|
|
1297
1260
|
*
|
|
1298
1261
|
* // Find first task assigned to specific user
|
|
1299
|
-
*
|
|
1262
|
+
* return yield* tasks.pipe(
|
|
1300
1263
|
* TxHashMap.findFirst((task) => task.assignee === "alice")
|
|
1301
1264
|
* )
|
|
1302
|
-
*
|
|
1303
|
-
* if (aliceTask._tag === "Some") {
|
|
1304
|
-
* console.log(`Alice's task: ${aliceTask.value[0]}`)
|
|
1305
|
-
* }
|
|
1306
1265
|
* })
|
|
1266
|
+
*
|
|
1267
|
+
* await Effect.runPromise(program) // => Option.some(["task1", { priority: 1, assignee: "alice", completed: false }])
|
|
1307
1268
|
* ```
|
|
1308
1269
|
*
|
|
1309
1270
|
* @category combinators
|
|
@@ -1315,7 +1276,7 @@ export const findFirst = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(sel
|
|
|
1315
1276
|
*
|
|
1316
1277
|
* **Example** (Checking whether some entries match)
|
|
1317
1278
|
*
|
|
1318
|
-
* ```ts
|
|
1279
|
+
* ```ts import.meta.vitest
|
|
1319
1280
|
* import { Effect, TxHashMap } from "effect"
|
|
1320
1281
|
*
|
|
1321
1282
|
* const program = Effect.gen(function*() {
|
|
@@ -1327,28 +1288,27 @@ export const findFirst = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(sel
|
|
|
1327
1288
|
* )
|
|
1328
1289
|
*
|
|
1329
1290
|
* // Check if any products are expensive
|
|
1330
|
-
*
|
|
1291
|
+
* yield* TxHashMap.some(
|
|
1331
1292
|
* inventory,
|
|
1332
1293
|
* (product) => product.price > 500
|
|
1333
|
-
* )
|
|
1334
|
-
* console.log(hasExpensiveProducts) // true
|
|
1294
|
+
* ) // => true
|
|
1335
1295
|
*
|
|
1336
1296
|
* // Check if any products are out of stock
|
|
1337
|
-
*
|
|
1297
|
+
* yield* TxHashMap.some(
|
|
1338
1298
|
* inventory,
|
|
1339
1299
|
* (product) => product.stock === 0
|
|
1340
|
-
* )
|
|
1341
|
-
* console.log(hasOutOfStock) // true
|
|
1300
|
+
* ) // => true
|
|
1342
1301
|
*
|
|
1343
1302
|
* // Data-last usage with pipe
|
|
1344
|
-
*
|
|
1303
|
+
* return yield* inventory.pipe(
|
|
1345
1304
|
* TxHashMap.some((product) => product.price < 50)
|
|
1346
1305
|
* )
|
|
1347
|
-
* console.log(hasAffordableItems) // true (mouse is $29)
|
|
1348
1306
|
* })
|
|
1307
|
+
*
|
|
1308
|
+
* await Effect.runPromise(program) // => true
|
|
1349
1309
|
* ```
|
|
1350
1310
|
*
|
|
1351
|
-
* @category
|
|
1311
|
+
* @category predicates
|
|
1352
1312
|
* @since 4.0.0
|
|
1353
1313
|
*/
|
|
1354
1314
|
export const some = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.ref).pipe(Effect.map(map => HashMap.some(map, predicate))));
|
|
@@ -1357,7 +1317,7 @@ export const some = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.ref
|
|
|
1357
1317
|
*
|
|
1358
1318
|
* **Example** (Checking whether every entry matches)
|
|
1359
1319
|
*
|
|
1360
|
-
* ```ts
|
|
1320
|
+
* ```ts import.meta.vitest
|
|
1361
1321
|
* import { Effect, TxHashMap } from "effect"
|
|
1362
1322
|
*
|
|
1363
1323
|
* const program = Effect.gen(function*() {
|
|
@@ -1369,28 +1329,27 @@ export const some = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.ref
|
|
|
1369
1329
|
* )
|
|
1370
1330
|
*
|
|
1371
1331
|
* // Check if all users can read
|
|
1372
|
-
*
|
|
1332
|
+
* yield* TxHashMap.every(
|
|
1373
1333
|
* permissions,
|
|
1374
1334
|
* (perms) => perms.canRead
|
|
1375
|
-
* )
|
|
1376
|
-
* console.log(allCanRead) // true
|
|
1335
|
+
* ) // => true
|
|
1377
1336
|
*
|
|
1378
1337
|
* // Check if all users can write
|
|
1379
|
-
*
|
|
1338
|
+
* yield* TxHashMap.every(
|
|
1380
1339
|
* permissions,
|
|
1381
1340
|
* (perms) => perms.canWrite
|
|
1382
|
-
* )
|
|
1383
|
-
* console.log(allCanWrite) // false
|
|
1341
|
+
* ) // => false
|
|
1384
1342
|
*
|
|
1385
1343
|
* // Data-last usage with pipe
|
|
1386
|
-
*
|
|
1344
|
+
* return yield* permissions.pipe(
|
|
1387
1345
|
* TxHashMap.every((perms, username) => perms.canRead && username.length > 2)
|
|
1388
1346
|
* )
|
|
1389
|
-
* console.log(allHaveBasicAccess) // true
|
|
1390
1347
|
* })
|
|
1348
|
+
*
|
|
1349
|
+
* await Effect.runPromise(program) // => true
|
|
1391
1350
|
* ```
|
|
1392
1351
|
*
|
|
1393
|
-
* @category
|
|
1352
|
+
* @category predicates
|
|
1394
1353
|
* @since 4.0.0
|
|
1395
1354
|
*/
|
|
1396
1355
|
export const every = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.ref).pipe(Effect.map(map => HashMap.every(map, predicate))));
|
|
@@ -1400,8 +1359,8 @@ export const every = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.re
|
|
|
1400
1359
|
*
|
|
1401
1360
|
* **Example** (Running effects for each entry)
|
|
1402
1361
|
*
|
|
1403
|
-
* ```ts
|
|
1404
|
-
* import {
|
|
1362
|
+
* ```ts import.meta.vitest
|
|
1363
|
+
* import { Effect, TxHashMap } from "effect"
|
|
1405
1364
|
*
|
|
1406
1365
|
* const program = Effect.gen(function*() {
|
|
1407
1366
|
* // Create a log processing map
|
|
@@ -1411,26 +1370,17 @@ export const every = /*#__PURE__*/dual(2, (self, predicate) => TxRef.get(self.re
|
|
|
1411
1370
|
* ["debug.log", { size: 512, level: "debug" }]
|
|
1412
1371
|
* )
|
|
1413
1372
|
*
|
|
1414
|
-
*
|
|
1373
|
+
* const messages: Array<string> = []
|
|
1415
1374
|
* yield* TxHashMap.forEach(logs, (logInfo, filename) =>
|
|
1416
|
-
* Effect.
|
|
1417
|
-
*
|
|
1418
|
-
* `Processing ${filename}: ${logInfo.size} bytes, level: ${logInfo.level}`
|
|
1419
|
-
* )
|
|
1420
|
-
* if (logInfo.level === "error") {
|
|
1421
|
-
* yield* Console.log(`⚠️ Error log detected: ${filename}`)
|
|
1422
|
-
* }
|
|
1375
|
+
* Effect.sync(() => {
|
|
1376
|
+
* messages.push(`${filename}: ${logInfo.size} bytes (${logInfo.level})`)
|
|
1423
1377
|
* }))
|
|
1424
1378
|
*
|
|
1425
|
-
*
|
|
1426
|
-
* yield* logs.pipe(
|
|
1427
|
-
* TxHashMap.forEach((logInfo) =>
|
|
1428
|
-
* logInfo.size > 1000
|
|
1429
|
-
* ? Console.log(`Large log file: ${logInfo.size} bytes`)
|
|
1430
|
-
* : Effect.void
|
|
1431
|
-
* )
|
|
1432
|
-
* )
|
|
1379
|
+
* return messages.sort()
|
|
1433
1380
|
* })
|
|
1381
|
+
*
|
|
1382
|
+
* const result = await Effect.runPromise(program)
|
|
1383
|
+
* result // => ["access.log: 2048 bytes (info)", "debug.log: 512 bytes (debug)", "error.log: 1024 bytes (error)"]
|
|
1434
1384
|
* ```
|
|
1435
1385
|
*
|
|
1436
1386
|
* @category combinators
|
|
@@ -1451,8 +1401,8 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => Effect.gen(function* ()
|
|
|
1451
1401
|
*
|
|
1452
1402
|
* **Example** (Flat mapping entries)
|
|
1453
1403
|
*
|
|
1454
|
-
* ```ts
|
|
1455
|
-
* import { Effect, TxHashMap } from "effect"
|
|
1404
|
+
* ```ts import.meta.vitest
|
|
1405
|
+
* import { Effect, Option, TxHashMap } from "effect"
|
|
1456
1406
|
*
|
|
1457
1407
|
* const program = Effect.gen(function*() {
|
|
1458
1408
|
* // Create a department-employee map
|
|
@@ -1480,15 +1430,12 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => Effect.gen(function* ()
|
|
|
1480
1430
|
* )
|
|
1481
1431
|
*
|
|
1482
1432
|
* // Check the flattened result
|
|
1483
|
-
*
|
|
1484
|
-
*
|
|
1485
|
-
*
|
|
1486
|
-
* const charlie = yield* TxHashMap.get(employeeDetails, "charlie")
|
|
1487
|
-
* console.log(charlie) // Option.some({ department: "marketing", role: "lead" })
|
|
1488
|
-
*
|
|
1489
|
-
* const size = yield* TxHashMap.size(employeeDetails)
|
|
1490
|
-
* console.log(size) // 4 (all employees)
|
|
1433
|
+
* yield* TxHashMap.get(employeeDetails, "alice") // => Option.some({ department: "engineering", role: "lead" })
|
|
1434
|
+
* yield* TxHashMap.get(employeeDetails, "charlie") // => Option.some({ department: "marketing", role: "lead" })
|
|
1435
|
+
* return yield* TxHashMap.size(employeeDetails)
|
|
1491
1436
|
* })
|
|
1437
|
+
*
|
|
1438
|
+
* await Effect.runPromise(program) // => 4
|
|
1492
1439
|
* ```
|
|
1493
1440
|
*
|
|
1494
1441
|
* @category combinators
|
|
@@ -1515,7 +1462,7 @@ export const flatMap = /*#__PURE__*/dual(2, (self, f) => Effect.gen(function* ()
|
|
|
1515
1462
|
*
|
|
1516
1463
|
* **Example** (Compacting optional values)
|
|
1517
1464
|
*
|
|
1518
|
-
* ```ts
|
|
1465
|
+
* ```ts import.meta.vitest
|
|
1519
1466
|
* import { Effect, Option, TxHashMap } from "effect"
|
|
1520
1467
|
*
|
|
1521
1468
|
* const program = Effect.gen(function*() {
|
|
@@ -1534,21 +1481,17 @@ export const flatMap = /*#__PURE__*/dual(2, (self, f) => Effect.gen(function* ()
|
|
|
1534
1481
|
* // Remove all None values and unwrap Some values
|
|
1535
1482
|
* const validUsers = yield* TxHashMap.compact(userData)
|
|
1536
1483
|
*
|
|
1537
|
-
*
|
|
1538
|
-
* console.log(size) // 3 (alice, charlie, eve)
|
|
1539
|
-
*
|
|
1540
|
-
* const alice = yield* TxHashMap.get(validUsers, "alice")
|
|
1541
|
-
* console.log(alice) // Option.some({ age: 30, email: "alice@example.com" })
|
|
1484
|
+
* yield* TxHashMap.size(validUsers) // => 3
|
|
1542
1485
|
*
|
|
1543
|
-
*
|
|
1544
|
-
*
|
|
1486
|
+
* yield* TxHashMap.get(validUsers, "alice") // => Option.some({ age: 30, email: "alice@example.com" })
|
|
1487
|
+
* yield* TxHashMap.get(validUsers, "bob") // => Option.none()
|
|
1545
1488
|
*
|
|
1546
1489
|
* // Useful for cleaning up optional data processing results
|
|
1547
1490
|
* const userAges = yield* TxHashMap.map(validUsers, (user) => user.age)
|
|
1548
|
-
*
|
|
1549
|
-
* const sortedAgeEntries = ageEntries.toSorted(([left], [right]) => left.localeCompare(right))
|
|
1550
|
-
* console.log(sortedAgeEntries) // [["alice", 30], ["charlie", 25], ["eve", 28]]
|
|
1491
|
+
* return (yield* TxHashMap.entries(userAges)).toSorted(([left], [right]) => left.localeCompare(right))
|
|
1551
1492
|
* })
|
|
1493
|
+
*
|
|
1494
|
+
* await Effect.runPromise(program) // => [["alice", 30], ["charlie", 25], ["eve", 28]]
|
|
1552
1495
|
* ```
|
|
1553
1496
|
*
|
|
1554
1497
|
* @category combinators
|
|
@@ -1565,7 +1508,7 @@ export const compact = self => Effect.gen(function* () {
|
|
|
1565
1508
|
*
|
|
1566
1509
|
* **Example** (Converting to entries)
|
|
1567
1510
|
*
|
|
1568
|
-
* ```ts
|
|
1511
|
+
* ```ts import.meta.vitest
|
|
1569
1512
|
* import { Effect, TxHashMap } from "effect"
|
|
1570
1513
|
*
|
|
1571
1514
|
* const program = Effect.gen(function*() {
|
|
@@ -1576,24 +1519,18 @@ export const compact = self => Effect.gen(function* () {
|
|
|
1576
1519
|
* )
|
|
1577
1520
|
*
|
|
1578
1521
|
* // Get all entries as an array
|
|
1579
|
-
* const
|
|
1580
|
-
*
|
|
1581
|
-
*
|
|
1582
|
-
* // [["language", "en-US"], ["theme", "dark"], ["timezone", "UTC"]]
|
|
1583
|
-
*
|
|
1584
|
-
* // Process entries
|
|
1585
|
-
* for (const [setting, value] of sortedEntries) {
|
|
1586
|
-
* console.log(`${setting}: ${value}`)
|
|
1587
|
-
* }
|
|
1522
|
+
* const sortedEntries = (yield* TxHashMap.toEntries(settings))
|
|
1523
|
+
* .toSorted(([left], [right]) => left.localeCompare(right))
|
|
1524
|
+
* sortedEntries // => [["language", "en-US"], ["theme", "dark"], ["timezone", "UTC"]]
|
|
1588
1525
|
*
|
|
1589
|
-
* // Convert to object
|
|
1590
|
-
*
|
|
1591
|
-
* console.log(JSON.stringify(settingsObj))
|
|
1592
|
-
* // {"language":"en-US","theme":"dark","timezone":"UTC"}
|
|
1526
|
+
* // Convert to an object
|
|
1527
|
+
* return Object.fromEntries(sortedEntries)
|
|
1593
1528
|
* })
|
|
1529
|
+
*
|
|
1530
|
+
* await Effect.runPromise(program) // => { language: "en-US", theme: "dark", timezone: "UTC" }
|
|
1594
1531
|
* ```
|
|
1595
1532
|
*
|
|
1596
|
-
* @category
|
|
1533
|
+
* @category getters
|
|
1597
1534
|
* @since 4.0.0
|
|
1598
1535
|
*/
|
|
1599
1536
|
export const toEntries = self => entries(self);
|
|
@@ -1603,7 +1540,7 @@ export const toEntries = self => entries(self);
|
|
|
1603
1540
|
*
|
|
1604
1541
|
* **Example** (Converting to values)
|
|
1605
1542
|
*
|
|
1606
|
-
* ```ts
|
|
1543
|
+
* ```ts import.meta.vitest
|
|
1607
1544
|
* import { Effect, TxHashMap } from "effect"
|
|
1608
1545
|
*
|
|
1609
1546
|
* const program = Effect.gen(function*() {
|
|
@@ -1615,22 +1552,23 @@ export const toEntries = self => entries(self);
|
|
|
1615
1552
|
*
|
|
1616
1553
|
* // Get all product information
|
|
1617
1554
|
* const products = yield* TxHashMap.toValues(inventory)
|
|
1618
|
-
*
|
|
1555
|
+
* products.length // => 3
|
|
1619
1556
|
*
|
|
1620
1557
|
* // Calculate total inventory value
|
|
1621
1558
|
* const totalValue = products.reduce(
|
|
1622
1559
|
* (sum, product) => sum + (product.price * product.stock),
|
|
1623
1560
|
* 0
|
|
1624
1561
|
* )
|
|
1625
|
-
*
|
|
1562
|
+
* totalValue // => 8025
|
|
1626
1563
|
*
|
|
1627
1564
|
* // Find products with low stock
|
|
1628
|
-
*
|
|
1629
|
-
* console.log(`${lowStockProducts.length} product with low stock`) // 1 product with low stock
|
|
1565
|
+
* return products.filter((product) => product.stock < 10).length
|
|
1630
1566
|
* })
|
|
1567
|
+
*
|
|
1568
|
+
* await Effect.runPromise(program) // => 1
|
|
1631
1569
|
* ```
|
|
1632
1570
|
*
|
|
1633
|
-
* @category
|
|
1571
|
+
* @category getters
|
|
1634
1572
|
* @since 4.0.0
|
|
1635
1573
|
*/
|
|
1636
1574
|
export const toValues = self => values(self);
|