effect 4.0.1 → 4.0.2
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/ai-docs/package.json +2 -2
- package/ai-docs/tsconfig.json +2 -1
- package/dist/Array.d.ts +339 -0
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +143 -3
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +88 -0
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +44 -0
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +68 -0
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +36 -0
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +34 -0
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +18 -0
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +9 -0
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +6 -0
- package/dist/Brand.js.map +1 -1
- package/dist/ByteSize.d.ts +86 -0
- package/dist/ByteSize.d.ts.map +1 -1
- package/dist/ByteSize.js +51 -0
- package/dist/ByteSize.js.map +1 -1
- package/dist/Cache.d.ts +38 -1
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +27 -7
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +82 -0
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +60 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +327 -4
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +168 -8
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -0
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js +6 -0
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +192 -0
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +78 -0
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +7 -0
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +5 -0
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +10 -0
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +8 -0
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +52 -12
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +55 -5
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +28 -0
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +19 -0
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +22 -0
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +20 -0
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +50 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +21 -0
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +16 -0
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +26 -1
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +5 -0
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -0
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +13 -0
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +5 -0
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +171 -0
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +89 -0
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +51 -0
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +22 -0
- package/dist/Deferred.js.map +1 -1
- package/dist/Differ.d.ts +2 -0
- package/dist/Differ.d.ts.map +1 -1
- package/dist/Differ.js +1 -0
- package/dist/Duration.d.ts +90 -0
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +53 -0
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +527 -0
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +240 -5
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +4 -0
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +3 -0
- package/dist/Effectable.js.map +1 -1
- package/dist/Equal.d.ts +8 -0
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +9 -1
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +21 -0
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +16 -0
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +36 -0
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +11 -0
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +49 -8
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +40 -0
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +27 -0
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +20 -0
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +11 -0
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +21 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +21 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +19 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +14 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +15 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +8 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +55 -0
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +28 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +3 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +39 -1
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +30 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +20 -0
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +247 -12
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +149 -28
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +5 -0
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +14 -0
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +12 -0
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +91 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +39 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +17 -0
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +49 -0
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +19 -0
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +7 -0
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +6 -0
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +127 -0
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +51 -0
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +4 -0
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +3 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +5 -0
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +5 -0
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +16 -0
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +11 -0
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +14 -0
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +10 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +100 -0
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +45 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +7 -0
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +4 -0
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +5 -0
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +3 -0
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +20 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +9 -0
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +25 -0
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +30 -4
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +5 -0
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +9 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +51 -0
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +39 -0
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +59 -0
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +31 -0
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +32 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +16 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +16 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +10 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +20 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +31 -0
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +17 -0
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +9 -0
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +6 -0
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +4 -0
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +2 -0
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +61 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +31 -0
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +41 -0
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +20 -0
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +134 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +61 -0
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +29 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +24 -0
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +7 -0
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +3 -0
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +24 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +47 -21
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +6 -0
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +4 -0
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +7 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +5 -0
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +8 -0
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +7 -0
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +19 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +8 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +84 -0
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +48 -0
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +5 -0
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +4 -0
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +67 -5
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +60 -8
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +20 -0
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +10 -0
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +60 -0
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +58 -8
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +13 -0
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +9 -0
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +23 -0
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +8 -0
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +6 -0
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +3 -0
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +100 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +43 -0
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -0
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +4 -0
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +8 -0
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +6 -0
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +4 -0
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +3 -0
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +20 -0
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +16 -0
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +21 -0
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +19 -0
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +3 -0
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +4 -0
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +32 -0
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +12 -0
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +42 -0
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +27 -6
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +6 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +6 -0
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +91 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +41 -0
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +9 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +7 -0
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +57 -0
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +32 -0
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +7 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +5 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +496 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +280 -1
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +107 -0
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +81 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +69 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +63 -4
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +33 -0
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +18 -0
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +25 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +26 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +147 -0
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +99 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +53 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +46 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +19 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +12 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +34 -0
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +26 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +9 -0
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -0
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +26 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +10 -0
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +125 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +75 -1
- package/dist/Sink.js.map +1 -1
- package/dist/StandardSchema.d.ts +1 -0
- package/dist/StandardSchema.d.ts.map +1 -1
- package/dist/StandardSchema.js +1 -0
- package/dist/Stdio.d.ts +7 -0
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +5 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +558 -0
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +261 -13
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +87 -0
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +61 -0
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +46 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +19 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +65 -0
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +25 -0
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +2 -0
- package/dist/Symbol.d.ts.map +1 -1
- package/dist/Symbol.js +2 -0
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +63 -0
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +24 -0
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.d.ts +3 -0
- package/dist/Take.d.ts.map +1 -1
- package/dist/Take.js +1 -0
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +8 -0
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +4 -0
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +23 -0
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +12 -0
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +68 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +28 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +38 -0
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +18 -0
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +52 -0
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +23 -0
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +15 -0
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +8 -0
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +83 -0
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +52 -7
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +51 -0
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +29 -4
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +30 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +22 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +25 -0
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +19 -0
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +51 -0
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +30 -0
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +24 -0
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +32 -18
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +14 -0
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +7 -0
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +25 -0
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +29 -13
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +25 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +12 -0
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +36 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +1 -0
- package/dist/UndefinedOr.d.ts +15 -0
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +9 -0
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +15 -0
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +2 -0
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +4 -0
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +1 -0
- package/dist/Utils.js.map +1 -1
- package/dist/Version.d.ts +26 -0
- package/dist/Version.d.ts.map +1 -0
- package/dist/Version.js +36 -0
- package/dist/Version.js.map +1 -0
- package/dist/ai/Chat.js +1 -1
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +22 -0
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +22 -4
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +14 -13
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpServer.d.ts +32 -11
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +213 -169
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Telemetry.d.ts +49 -41
- package/dist/ai/Telemetry.d.ts.map +1 -1
- package/dist/ai/Telemetry.js +6 -8
- package/dist/ai/Telemetry.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +79 -46
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/cluster/K8sHttpClient.js +5 -2
- package/dist/cluster/K8sHttpClient.js.map +1 -1
- package/dist/encoding/Base64.d.ts +4 -0
- package/dist/encoding/Base64.d.ts.map +1 -1
- package/dist/encoding/Base64.js +4 -0
- package/dist/encoding/Base64.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +4 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +4 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/EncodingError.d.ts +4 -0
- package/dist/encoding/EncodingError.d.ts.map +1 -1
- package/dist/encoding/EncodingError.js +4 -0
- package/dist/encoding/EncodingError.js.map +1 -1
- package/dist/encoding/Hex.d.ts +5 -0
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +5 -0
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/Toml.js +2 -2
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +6 -4
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/index.d.ts +4 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +4 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +8 -4
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/http/Headers.d.ts +3 -1
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +4 -2
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +9 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +40 -21
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientResponse.js +3 -1
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +3 -0
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +5 -2
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +17 -0
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +56 -39
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpServer.d.ts +1 -1
- package/dist/http/HttpServer.d.ts.map +1 -1
- package/dist/http/internal/tracing.d.ts +2 -0
- package/dist/http/internal/tracing.d.ts.map +1 -0
- package/dist/http/internal/tracing.js +37 -0
- package/dist/http/internal/tracing.js.map +1 -0
- package/dist/http-api/HttpApiBuilder.js +2 -1
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +12 -3
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +4 -3
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +7 -4
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiSecurity.d.ts +8 -8
- package/dist/http-api/HttpApiSecurity.js +8 -8
- package/dist/index.d.ts +155 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/array.js +3 -3
- package/dist/internal/arbitrary/array.js.map +1 -1
- package/dist/internal/arbitrary/model.js +26 -11
- package/dist/internal/arbitrary/model.js.map +1 -1
- package/dist/internal/arbitrary/runner.js +8 -8
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/arbitrary/schema.js +4 -5
- package/dist/internal/arbitrary/schema.js.map +1 -1
- package/dist/internal/effect.js +41 -39
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/schedule.js +7 -5
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +2 -2
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/version.d.ts +2 -0
- package/dist/internal/version.d.ts.map +1 -0
- package/dist/internal/version.js +3 -0
- package/dist/internal/version.js.map +1 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -6
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +23 -27
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +5 -3
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +21 -94
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpResource.d.ts +4 -3
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +20 -23
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpTracer.d.ts +1 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +32 -36
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +32 -1
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/Atom.d.ts +5 -5
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +9 -5
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +2 -2
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +8 -0
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +21 -3
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +38 -20
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +18 -21
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/internal/tracing.d.ts +2 -0
- package/dist/rpc/internal/tracing.d.ts.map +1 -0
- package/dist/rpc/internal/tracing.js +18 -0
- package/dist/rpc/internal/tracing.js.map +1 -0
- package/dist/schema/SchemaCompiler/runtime.js +9 -1
- package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
- package/dist/sql/SqlClient.js +4 -4
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +21 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +55 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -0
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +7 -0
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +7 -0
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +6 -0
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Array.ts +351 -3
- package/src/BigDecimal.ts +88 -0
- package/src/BigInt.ts +68 -0
- package/src/Boolean.ts +34 -0
- package/src/Brand.ts +10 -0
- package/src/ByteSize.ts +87 -0
- package/src/Cache.ts +50 -8
- package/src/Cause.ts +82 -0
- package/src/Channel.ts +368 -18
- package/src/ChannelSchema.ts +13 -0
- package/src/Chunk.ts +193 -0
- package/src/Clock.ts +7 -0
- package/src/Combiner.ts +10 -0
- package/src/Config.ts +82 -8
- package/src/ConfigProvider.ts +28 -0
- package/src/Console.ts +26 -0
- package/src/Context.ts +50 -0
- package/src/Cron.ts +32 -1
- package/src/Crypto.ts +5 -0
- package/src/Data.ts +13 -0
- package/src/DateTime.ts +171 -0
- package/src/Deferred.ts +51 -0
- package/src/Differ.ts +2 -0
- package/src/Duration.ts +90 -0
- package/src/Effect.ts +539 -5
- package/src/Effectable.ts +4 -0
- package/src/Equal.ts +12 -1
- package/src/Equivalence.ts +22 -0
- package/src/ErrorReporter.ts +36 -0
- package/src/ExecutionPlan.ts +58 -14
- package/src/Exit.ts +40 -0
- package/src/Fiber.ts +20 -0
- package/src/FiberHandle.ts +29 -4
- package/src/FiberMap.ts +38 -0
- package/src/FiberSet.ts +21 -0
- package/src/FileSystem.ts +16 -0
- package/src/Filter.ts +55 -0
- package/src/Formatter.ts +42 -1
- package/src/Function.ts +30 -0
- package/src/Graph.ts +317 -36
- package/src/HKT.ts +5 -0
- package/src/Hash.ts +15 -0
- package/src/HashMap.ts +91 -0
- package/src/HashRing.ts +18 -0
- package/src/HashSet.ts +53 -0
- package/src/Inspectable.ts +8 -0
- package/src/Iterable.ts +127 -0
- package/src/JsonPatch.ts +5 -0
- package/src/JsonPointer.ts +5 -0
- package/src/JsonSchema.ts +17 -0
- package/src/Latch.ts +14 -0
- package/src/Layer.ts +101 -1
- package/src/LayerMap.ts +7 -0
- package/src/LayerRef.ts +5 -0
- package/src/LogLevel.ts +20 -0
- package/src/Logger.ts +41 -5
- package/src/ManagedRuntime.ts +12 -1
- package/src/Match.ts +52 -0
- package/src/Metric.ts +69 -0
- package/src/MutableHashMap.ts +44 -0
- package/src/MutableHashSet.ts +17 -0
- package/src/MutableList.ts +21 -0
- package/src/MutableRef.ts +32 -0
- package/src/Newtype.ts +9 -0
- package/src/NonEmptyIterable.ts +4 -0
- package/src/Number.ts +61 -0
- package/src/Optic.ts +57 -0
- package/src/Option.ts +134 -0
- package/src/Order.ts +30 -0
- package/src/Ordering.ts +7 -0
- package/src/PartitionedSemaphore.ts +61 -22
- package/src/Path.ts +6 -0
- package/src/Pipeable.ts +7 -0
- package/src/PlatformError.ts +8 -0
- package/src/Pool.ts +20 -1
- package/src/Predicate.ts +85 -0
- package/src/PrimaryKey.ts +5 -0
- package/src/PubSub.ts +90 -9
- package/src/Pull.ts +20 -0
- package/src/Queue.ts +80 -10
- package/src/Random.ts +13 -0
- package/src/RcMap.ts +23 -0
- package/src/RcRef.ts +6 -0
- package/src/Record.ts +100 -0
- package/src/Redactable.ts +6 -0
- package/src/Redacted.ts +8 -0
- package/src/Reducer.ts +4 -0
- package/src/Ref.ts +42 -0
- package/src/References.ts +21 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +32 -0
- package/src/RequestResolver.ts +59 -10
- package/src/Resource.ts +7 -0
- package/src/Result.ts +93 -0
- package/src/Runtime.ts +10 -0
- package/src/Schedule.ts +61 -0
- package/src/Scheduler.ts +7 -0
- package/src/Schema.ts +499 -4
- package/src/SchemaAST.ts +115 -1
- package/src/SchemaGetter.ts +80 -4
- package/src/SchemaIssue.ts +34 -0
- package/src/SchemaParser.ts +26 -0
- package/src/SchemaRepresentation.ts +148 -0
- package/src/SchemaTransformation.ts +53 -0
- package/src/Scope.ts +19 -0
- package/src/ScopedCache.ts +55 -3
- package/src/ScopedRef.ts +9 -0
- package/src/Semaphore.ts +26 -0
- package/src/Sink.ts +126 -2
- package/src/StandardSchema.ts +1 -0
- package/src/Stdio.ts +7 -0
- package/src/Stream.ts +622 -15
- package/src/String.ts +87 -0
- package/src/Struct.ts +46 -0
- package/src/SubscriptionRef.ts +65 -0
- package/src/Symbol.ts +2 -0
- package/src/SynchronizedRef.ts +63 -0
- package/src/Take.ts +3 -0
- package/src/Terminal.ts +8 -0
- package/src/Tracer.ts +23 -0
- package/src/Trie.ts +68 -0
- package/src/Tuple.ts +38 -0
- package/src/TxChunk.ts +52 -0
- package/src/TxDeferred.ts +15 -0
- package/src/TxHashMap.ts +97 -6
- package/src/TxHashSet.ts +83 -3
- package/src/TxPriorityQueue.ts +34 -2
- package/src/TxPubSub.ts +26 -0
- package/src/TxQueue.ts +51 -0
- package/src/TxReentrantLock.ts +53 -36
- package/src/TxRef.ts +14 -0
- package/src/TxSemaphore.ts +47 -31
- package/src/TxSubscriptionRef.ts +25 -0
- package/src/Types.ts +36 -0
- package/src/UndefinedOr.ts +15 -0
- package/src/Unify.ts +15 -0
- package/src/Utils.ts +4 -0
- package/src/Version.ts +38 -0
- package/src/ai/Chat.ts +1 -1
- package/src/ai/DecisionModel.ts +42 -1
- package/src/ai/LanguageModel.ts +16 -19
- package/src/ai/McpServer.ts +107 -36
- package/src/ai/Telemetry.ts +62 -58
- package/src/ai/internal/mcpRuntime.ts +84 -43
- package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
- package/src/cluster/K8sHttpClient.ts +12 -2
- package/src/encoding/Base64.ts +4 -0
- package/src/encoding/Base64Url.ts +4 -0
- package/src/encoding/EncodingError.ts +5 -0
- package/src/encoding/Hex.ts +5 -0
- package/src/encoding/Toml.ts +2 -2
- package/src/encoding/Yaml.ts +8 -4
- package/src/encoding/index.ts +4 -0
- package/src/eventlog/SqlEventJournal.ts +18 -4
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
- package/src/http/Headers.ts +8 -2
- package/src/http/HttpClient.ts +44 -27
- package/src/http/HttpClientResponse.ts +3 -1
- package/src/http/HttpEffect.ts +11 -2
- package/src/http/HttpMiddleware.ts +60 -45
- package/src/http/HttpServer.ts +1 -1
- package/src/http/internal/tracing.ts +52 -0
- package/src/http-api/HttpApiBuilder.ts +5 -1
- package/src/http-api/HttpApiClient.ts +13 -4
- package/src/http-api/HttpApiError.ts +8 -4
- package/src/http-api/HttpApiSecurity.ts +8 -8
- package/src/index.ts +156 -0
- package/src/internal/arbitrary/array.ts +3 -3
- package/src/internal/arbitrary/model.ts +37 -14
- package/src/internal/arbitrary/runner.ts +7 -7
- package/src/internal/arbitrary/schema.ts +4 -3
- package/src/internal/effect.ts +47 -45
- package/src/internal/schedule.ts +23 -17
- package/src/internal/schema/standardSchema.ts +2 -2
- package/src/internal/version.ts +2 -0
- package/src/observability/OtlpExporter.ts +9 -6
- package/src/observability/OtlpLogger.ts +20 -21
- package/src/observability/OtlpMetrics.ts +34 -93
- package/src/observability/OtlpResource.ts +18 -27
- package/src/observability/OtlpTracer.ts +34 -40
- package/src/observability/internal/otlpProtobuf.ts +60 -0
- package/src/reactivity/AsyncResult.ts +1 -1
- package/src/reactivity/Atom.ts +10 -6
- package/src/reactivity/AtomHttpApi.ts +2 -4
- package/src/reactivity/AtomRegistry.ts +7 -0
- package/src/rpc/RpcClient.ts +48 -24
- package/src/rpc/RpcServer.ts +26 -24
- package/src/rpc/internal/tracing.ts +22 -0
- package/src/schema/SchemaCompiler/runtime.ts +4 -1
- package/src/sql/SqlClient.ts +4 -4
- package/src/sql/Statement.ts +59 -7
- package/src/testing/TestClock.ts +9 -0
- package/src/testing/TestConsole.ts +8 -0
- package/src/testing/index.ts +3 -0
package/src/TxQueue.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* full bounded queue. This makes the queue useful for coordinating producers
|
|
9
9
|
* and consumers alongside other transactional state changes.
|
|
10
10
|
*
|
|
11
|
+
* @stability stable
|
|
11
12
|
* @since 4.0.0
|
|
12
13
|
*/
|
|
13
14
|
import type * as Arr from "./Array.ts"
|
|
@@ -44,6 +45,7 @@ import type * as Types from "./Types.ts"
|
|
|
44
45
|
* state._tag // => "Open"
|
|
45
46
|
* ```
|
|
46
47
|
*
|
|
48
|
+
* @stability stable
|
|
47
49
|
* @category models
|
|
48
50
|
* @since 4.0.0
|
|
49
51
|
*/
|
|
@@ -67,6 +69,7 @@ const TypeId = "~effect/TxQueue"
|
|
|
67
69
|
/**
|
|
68
70
|
* Namespace containing type definitions for TxEnqueue variance annotations.
|
|
69
71
|
*
|
|
72
|
+
* @stability stable
|
|
70
73
|
* @since 4.0.0
|
|
71
74
|
*/
|
|
72
75
|
export declare namespace TxEnqueue {
|
|
@@ -85,6 +88,7 @@ export declare namespace TxEnqueue {
|
|
|
85
88
|
/**
|
|
86
89
|
* Namespace containing type definitions for TxDequeue variance annotations.
|
|
87
90
|
*
|
|
91
|
+
* @stability stable
|
|
88
92
|
* @since 4.0.0
|
|
89
93
|
*/
|
|
90
94
|
export declare namespace TxDequeue {
|
|
@@ -103,6 +107,7 @@ export declare namespace TxDequeue {
|
|
|
103
107
|
/**
|
|
104
108
|
* Namespace containing type definitions for TxQueue variance annotations.
|
|
105
109
|
*
|
|
110
|
+
* @stability stable
|
|
106
111
|
* @since 4.0.0
|
|
107
112
|
*/
|
|
108
113
|
export declare namespace TxQueue {
|
|
@@ -123,6 +128,7 @@ export declare namespace TxQueue {
|
|
|
123
128
|
* This interface contains the core properties needed for queue state inspection
|
|
124
129
|
* operations like size, capacity, and completion status.
|
|
125
130
|
*
|
|
131
|
+
* @stability unstable
|
|
126
132
|
* @category models
|
|
127
133
|
* @since 4.0.0
|
|
128
134
|
*/
|
|
@@ -167,6 +173,7 @@ export interface TxQueueState extends Inspectable {
|
|
|
167
173
|
* await Effect.runPromise(program) // => true
|
|
168
174
|
* ```
|
|
169
175
|
*
|
|
176
|
+
* @stability unstable
|
|
170
177
|
* @category models
|
|
171
178
|
* @since 4.0.0
|
|
172
179
|
*/
|
|
@@ -202,6 +209,7 @@ export interface TxEnqueue<in A, in E = never> extends TxQueueState {
|
|
|
202
209
|
* await Effect.runPromise(program) // => [42, "processing failed", "processing failed"]
|
|
203
210
|
* ```
|
|
204
211
|
*
|
|
212
|
+
* @stability unstable
|
|
205
213
|
* @category models
|
|
206
214
|
* @since 4.0.0
|
|
207
215
|
*/
|
|
@@ -238,6 +246,7 @@ export interface TxDequeue<out A, out E = never> extends TxQueueState {
|
|
|
238
246
|
* await Effect.runPromise(program) // => [true, 42, "queue failed"]
|
|
239
247
|
* ```
|
|
240
248
|
*
|
|
249
|
+
* @stability unstable
|
|
241
250
|
* @category models
|
|
242
251
|
* @since 4.0.0
|
|
243
252
|
*/
|
|
@@ -257,6 +266,7 @@ export interface TxQueue<in out A, in out E = never> extends TxEnqueue<A, E>, Tx
|
|
|
257
266
|
* TxQueue.isTxEnqueue(someValue) // => false
|
|
258
267
|
* ```
|
|
259
268
|
*
|
|
269
|
+
* @stability unstable
|
|
260
270
|
* @category guards
|
|
261
271
|
* @since 4.0.0
|
|
262
272
|
*/
|
|
@@ -274,6 +284,7 @@ export const isTxEnqueue = <A = unknown, E = unknown>(u: unknown): u is TxEnqueu
|
|
|
274
284
|
* TxQueue.isTxDequeue(someValue) // => false
|
|
275
285
|
* ```
|
|
276
286
|
*
|
|
287
|
+
* @stability unstable
|
|
277
288
|
* @category guards
|
|
278
289
|
* @since 4.0.0
|
|
279
290
|
*/
|
|
@@ -291,6 +302,7 @@ export const isTxDequeue = <A = unknown, E = unknown>(u: unknown): u is TxDequeu
|
|
|
291
302
|
* TxQueue.isTxQueue(someValue) // => false
|
|
292
303
|
* ```
|
|
293
304
|
*
|
|
305
|
+
* @stability unstable
|
|
294
306
|
* @category guards
|
|
295
307
|
* @since 4.0.0
|
|
296
308
|
*/
|
|
@@ -352,6 +364,7 @@ const TxQueueProto = {
|
|
|
352
364
|
* await Effect.runPromise(program) // => 1
|
|
353
365
|
* ```
|
|
354
366
|
*
|
|
367
|
+
* @stability unstable
|
|
355
368
|
* @category constructors
|
|
356
369
|
* @since 2.0.0
|
|
357
370
|
*/
|
|
@@ -399,6 +412,7 @@ export const bounded = <A = never, E = never>(
|
|
|
399
412
|
* await Effect.runPromise(program) // => 2
|
|
400
413
|
* ```
|
|
401
414
|
*
|
|
415
|
+
* @stability unstable
|
|
402
416
|
* @category constructors
|
|
403
417
|
* @since 2.0.0
|
|
404
418
|
*/
|
|
@@ -442,6 +456,7 @@ export const unbounded = <A = never, E = never>(): Effect.Effect<TxQueue<A, E>>
|
|
|
442
456
|
* await Effect.runPromise(program) // => false
|
|
443
457
|
* ```
|
|
444
458
|
*
|
|
459
|
+
* @stability unstable
|
|
445
460
|
* @category constructors
|
|
446
461
|
* @since 2.0.0
|
|
447
462
|
*/
|
|
@@ -489,6 +504,7 @@ export const dropping = <A = never, E = never>(
|
|
|
489
504
|
* await Effect.runPromise(program) // => 2
|
|
490
505
|
* ```
|
|
491
506
|
*
|
|
507
|
+
* @stability unstable
|
|
492
508
|
* @category constructors
|
|
493
509
|
* @since 2.0.0
|
|
494
510
|
*/
|
|
@@ -533,6 +549,7 @@ export const sliding = <A = never, E = never>(
|
|
|
533
549
|
* await Effect.runPromise(program) // => true
|
|
534
550
|
* ```
|
|
535
551
|
*
|
|
552
|
+
* @stability unstable
|
|
536
553
|
* @category combinators
|
|
537
554
|
* @since 2.0.0
|
|
538
555
|
*/
|
|
@@ -563,6 +580,7 @@ export const offer: {
|
|
|
563
580
|
* await Effect.runPromise(program) // => true
|
|
564
581
|
* ```
|
|
565
582
|
*
|
|
583
|
+
* @stability unstable
|
|
566
584
|
* @category combinators
|
|
567
585
|
* @since 2.0.0
|
|
568
586
|
*/
|
|
@@ -593,6 +611,7 @@ export const offer: {
|
|
|
593
611
|
* await Effect.runPromise(program) // => true
|
|
594
612
|
* ```
|
|
595
613
|
*
|
|
614
|
+
* @stability unstable
|
|
596
615
|
* @category combinators
|
|
597
616
|
* @since 2.0.0
|
|
598
617
|
*/
|
|
@@ -659,6 +678,7 @@ export const offer: {
|
|
|
659
678
|
* await Effect.runPromise(program) // => []
|
|
660
679
|
* ```
|
|
661
680
|
*
|
|
681
|
+
* @stability unstable
|
|
662
682
|
* @category combinators
|
|
663
683
|
* @since 2.0.0
|
|
664
684
|
*/
|
|
@@ -686,6 +706,7 @@ export const offerAll: {
|
|
|
686
706
|
* await Effect.runPromise(program) // => []
|
|
687
707
|
* ```
|
|
688
708
|
*
|
|
709
|
+
* @stability unstable
|
|
689
710
|
* @category combinators
|
|
690
711
|
* @since 2.0.0
|
|
691
712
|
*/
|
|
@@ -713,6 +734,7 @@ export const offerAll: {
|
|
|
713
734
|
* await Effect.runPromise(program) // => []
|
|
714
735
|
* ```
|
|
715
736
|
*
|
|
737
|
+
* @stability unstable
|
|
716
738
|
* @category combinators
|
|
717
739
|
* @since 2.0.0
|
|
718
740
|
*/
|
|
@@ -766,6 +788,7 @@ export const offerAll: {
|
|
|
766
788
|
* await Effect.runPromise(program) // => [42, Exit.fail("queue error")]
|
|
767
789
|
* ```
|
|
768
790
|
*
|
|
791
|
+
* @stability unstable
|
|
769
792
|
* @category combinators
|
|
770
793
|
* @since 2.0.0
|
|
771
794
|
*/
|
|
@@ -822,6 +845,7 @@ export const take = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
|
|
|
822
845
|
* await Effect.runPromise(program) // => [Option.none(), Option.some(42)]
|
|
823
846
|
* ```
|
|
824
847
|
*
|
|
848
|
+
* @stability unstable
|
|
825
849
|
* @category combinators
|
|
826
850
|
* @since 2.0.0
|
|
827
851
|
*/
|
|
@@ -881,6 +905,7 @@ export const poll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Option.Option<A
|
|
|
881
905
|
* await Effect.runPromise(errorExample) // => Exit.fail("processing error")
|
|
882
906
|
* ```
|
|
883
907
|
*
|
|
908
|
+
* @stability unstable
|
|
884
909
|
* @category combinators
|
|
885
910
|
* @since 2.0.0
|
|
886
911
|
*/
|
|
@@ -939,6 +964,7 @@ export const takeAll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Arr.NonEmpty
|
|
|
939
964
|
* await Effect.runPromise(program) // => [[1, 2, 3, 4], [5, 6, 7, 8, 9]]
|
|
940
965
|
* ```
|
|
941
966
|
*
|
|
967
|
+
* @stability unstable
|
|
942
968
|
* @category combinators
|
|
943
969
|
* @since 2.0.0
|
|
944
970
|
*/
|
|
@@ -970,6 +996,7 @@ export const takeN: {
|
|
|
970
996
|
* await Effect.runPromise(program) // => [[1, 2, 3, 4], [5, 6, 7, 8, 9]]
|
|
971
997
|
* ```
|
|
972
998
|
*
|
|
999
|
+
* @stability unstable
|
|
973
1000
|
* @category combinators
|
|
974
1001
|
* @since 2.0.0
|
|
975
1002
|
*/
|
|
@@ -1001,6 +1028,7 @@ export const takeN: {
|
|
|
1001
1028
|
* await Effect.runPromise(program) // => [[1, 2, 3, 4], [5, 6, 7, 8, 9]]
|
|
1002
1029
|
* ```
|
|
1003
1030
|
*
|
|
1031
|
+
* @stability unstable
|
|
1004
1032
|
* @category combinators
|
|
1005
1033
|
* @since 2.0.0
|
|
1006
1034
|
*/
|
|
@@ -1094,6 +1122,7 @@ export const takeN: {
|
|
|
1094
1122
|
* await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
|
|
1095
1123
|
* ```
|
|
1096
1124
|
*
|
|
1125
|
+
* @stability unstable
|
|
1097
1126
|
* @category taking
|
|
1098
1127
|
* @since 2.0.0
|
|
1099
1128
|
*/
|
|
@@ -1129,6 +1158,7 @@ export const takeBetween: {
|
|
|
1129
1158
|
* await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
|
|
1130
1159
|
* ```
|
|
1131
1160
|
*
|
|
1161
|
+
* @stability unstable
|
|
1132
1162
|
* @category taking
|
|
1133
1163
|
* @since 2.0.0
|
|
1134
1164
|
*/
|
|
@@ -1164,6 +1194,7 @@ export const takeBetween: {
|
|
|
1164
1194
|
* await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
|
|
1165
1195
|
* ```
|
|
1166
1196
|
*
|
|
1197
|
+
* @stability unstable
|
|
1167
1198
|
* @category taking
|
|
1168
1199
|
* @since 2.0.0
|
|
1169
1200
|
*/
|
|
@@ -1261,6 +1292,7 @@ export const takeBetween: {
|
|
|
1261
1292
|
* await Effect.runPromise(errorExample) // => Exit.fail("queue failed")
|
|
1262
1293
|
* ```
|
|
1263
1294
|
*
|
|
1295
|
+
* @stability unstable
|
|
1264
1296
|
* @category combinators
|
|
1265
1297
|
* @since 2.0.0
|
|
1266
1298
|
*/
|
|
@@ -1298,6 +1330,7 @@ export const peek = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
|
|
|
1298
1330
|
* await Effect.runPromise(program) // => 3
|
|
1299
1331
|
* ```
|
|
1300
1332
|
*
|
|
1333
|
+
* @stability unstable
|
|
1301
1334
|
* @category combinators
|
|
1302
1335
|
* @since 2.0.0
|
|
1303
1336
|
*/
|
|
@@ -1324,6 +1357,7 @@ export const size = (self: TxQueueState): Effect.Effect<number> => TxChunk.size(
|
|
|
1324
1357
|
* await Effect.runPromise(program) // => [true, false]
|
|
1325
1358
|
* ```
|
|
1326
1359
|
*
|
|
1360
|
+
* @stability unstable
|
|
1327
1361
|
* @category predicates
|
|
1328
1362
|
* @since 2.0.0
|
|
1329
1363
|
*/
|
|
@@ -1350,6 +1384,7 @@ export const isEmpty = (self: TxQueueState): Effect.Effect<boolean> => TxChunk.i
|
|
|
1350
1384
|
* await Effect.runPromise(program) // => [false, true]
|
|
1351
1385
|
* ```
|
|
1352
1386
|
*
|
|
1387
|
+
* @stability unstable
|
|
1353
1388
|
* @category predicates
|
|
1354
1389
|
* @since 4.0.0
|
|
1355
1390
|
*/
|
|
@@ -1376,6 +1411,7 @@ export const isNonEmpty = (self: TxQueueState): Effect.Effect<boolean> => TxChun
|
|
|
1376
1411
|
* await Effect.runPromise(program) // => [false, true]
|
|
1377
1412
|
* ```
|
|
1378
1413
|
*
|
|
1414
|
+
* @stability unstable
|
|
1379
1415
|
* @category predicates
|
|
1380
1416
|
* @since 2.0.0
|
|
1381
1417
|
*/
|
|
@@ -1407,6 +1443,7 @@ export const isFull = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
|
1407
1443
|
* await Effect.runPromise(program) // => true
|
|
1408
1444
|
* ```
|
|
1409
1445
|
*
|
|
1446
|
+
* @stability unstable
|
|
1410
1447
|
* @category combinators
|
|
1411
1448
|
* @since 4.0.0
|
|
1412
1449
|
*/
|
|
@@ -1435,6 +1472,7 @@ export const interrupt = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =
|
|
|
1435
1472
|
* await Effect.runPromise(program) // => true
|
|
1436
1473
|
* ```
|
|
1437
1474
|
*
|
|
1475
|
+
* @stability unstable
|
|
1438
1476
|
* @category combinators
|
|
1439
1477
|
* @since 4.0.0
|
|
1440
1478
|
*/
|
|
@@ -1461,6 +1499,7 @@ export const fail: {
|
|
|
1461
1499
|
* await Effect.runPromise(program) // => true
|
|
1462
1500
|
* ```
|
|
1463
1501
|
*
|
|
1502
|
+
* @stability unstable
|
|
1464
1503
|
* @category combinators
|
|
1465
1504
|
* @since 4.0.0
|
|
1466
1505
|
*/
|
|
@@ -1487,6 +1526,7 @@ export const fail: {
|
|
|
1487
1526
|
* await Effect.runPromise(program) // => true
|
|
1488
1527
|
* ```
|
|
1489
1528
|
*
|
|
1529
|
+
* @stability unstable
|
|
1490
1530
|
* @category combinators
|
|
1491
1531
|
* @since 4.0.0
|
|
1492
1532
|
*/
|
|
@@ -1533,6 +1573,7 @@ export const fail: {
|
|
|
1533
1573
|
* await Effect.runPromise(program) // => [Cause.interrupt(), true]
|
|
1534
1574
|
* ```
|
|
1535
1575
|
*
|
|
1576
|
+
* @stability unstable
|
|
1536
1577
|
* @category combinators
|
|
1537
1578
|
* @since 4.0.0
|
|
1538
1579
|
*/
|
|
@@ -1561,6 +1602,7 @@ export const failCause: {
|
|
|
1561
1602
|
* await Effect.runPromise(program) // => [Cause.interrupt(), true]
|
|
1562
1603
|
* ```
|
|
1563
1604
|
*
|
|
1605
|
+
* @stability unstable
|
|
1564
1606
|
* @category combinators
|
|
1565
1607
|
* @since 4.0.0
|
|
1566
1608
|
*/
|
|
@@ -1589,6 +1631,7 @@ export const failCause: {
|
|
|
1589
1631
|
* await Effect.runPromise(program) // => [Cause.interrupt(), true]
|
|
1590
1632
|
* ```
|
|
1591
1633
|
*
|
|
1634
|
+
* @stability unstable
|
|
1592
1635
|
* @category combinators
|
|
1593
1636
|
* @since 4.0.0
|
|
1594
1637
|
*/
|
|
@@ -1643,6 +1686,7 @@ export const failCause: {
|
|
|
1643
1686
|
* await Effect.runPromise(program) // => [true, Exit.fail(Cause.Done()), Exit.fail(Cause.Done())]
|
|
1644
1687
|
* ```
|
|
1645
1688
|
*
|
|
1689
|
+
* @stability unstable
|
|
1646
1690
|
* @category combinators
|
|
1647
1691
|
* @since 4.0.0
|
|
1648
1692
|
*/
|
|
@@ -1676,6 +1720,7 @@ export const end = <A, E>(self: TxEnqueue<A, E | Cause.Done>): Effect.Effect<boo
|
|
|
1676
1720
|
* await Effect.runPromise(program) // => [5, [1, 2, 3, 4, 5], 0]
|
|
1677
1721
|
* ```
|
|
1678
1722
|
*
|
|
1723
|
+
* @stability unstable
|
|
1679
1724
|
* @category combinators
|
|
1680
1725
|
* @since 4.0.0
|
|
1681
1726
|
*/
|
|
@@ -1726,6 +1771,7 @@ export const clear = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<Array<A>, Excl
|
|
|
1726
1771
|
* await Effect.runPromise(program) // => [5, 0, true]
|
|
1727
1772
|
* ```
|
|
1728
1773
|
*
|
|
1774
|
+
* @stability unstable
|
|
1729
1775
|
* @category combinators
|
|
1730
1776
|
* @since 2.0.0
|
|
1731
1777
|
*/
|
|
@@ -1756,6 +1802,7 @@ export const shutdown = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =>
|
|
|
1756
1802
|
* await Effect.runPromise(program) // => [true, false]
|
|
1757
1803
|
* ```
|
|
1758
1804
|
*
|
|
1805
|
+
* @stability unstable
|
|
1759
1806
|
* @category predicates
|
|
1760
1807
|
* @since 4.0.0
|
|
1761
1808
|
*/
|
|
@@ -1784,6 +1831,7 @@ export const isOpen = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
|
1784
1831
|
* await Effect.runPromise(program) // => [false, true]
|
|
1785
1832
|
* ```
|
|
1786
1833
|
*
|
|
1834
|
+
* @stability unstable
|
|
1787
1835
|
* @category predicates
|
|
1788
1836
|
* @since 4.0.0
|
|
1789
1837
|
*/
|
|
@@ -1811,6 +1859,7 @@ export const isClosing = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
|
1811
1859
|
* await Effect.runPromise(program) // => [false, true]
|
|
1812
1860
|
* ```
|
|
1813
1861
|
*
|
|
1862
|
+
* @stability unstable
|
|
1814
1863
|
* @category predicates
|
|
1815
1864
|
* @since 4.0.0
|
|
1816
1865
|
*/
|
|
@@ -1838,6 +1887,7 @@ export const isDone = (self: TxQueueState): Effect.Effect<boolean> =>
|
|
|
1838
1887
|
* await Effect.runPromise(program) // => [false, true]
|
|
1839
1888
|
* ```
|
|
1840
1889
|
*
|
|
1890
|
+
* @stability unstable
|
|
1841
1891
|
* @category predicates
|
|
1842
1892
|
* @since 2.0.0
|
|
1843
1893
|
*/
|
|
@@ -1864,6 +1914,7 @@ export const isShutdown = (self: TxQueueState): Effect.Effect<boolean> => isDone
|
|
|
1864
1914
|
* await Effect.runPromise(program) // => "Queue completed successfully"
|
|
1865
1915
|
* ```
|
|
1866
1916
|
*
|
|
1917
|
+
* @stability unstable
|
|
1867
1918
|
* @category combinators
|
|
1868
1919
|
* @since 4.0.0
|
|
1869
1920
|
*/
|
package/src/TxReentrantLock.ts
CHANGED
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
* until the lock becomes available. This module includes manual, scoped, and
|
|
9
9
|
* wrapper-style operations for read and write locking.
|
|
10
10
|
*
|
|
11
|
+
* @stability stable
|
|
11
12
|
* @since 4.0.0
|
|
12
13
|
*/
|
|
13
14
|
import * as Effect from "./Effect.ts"
|
|
15
|
+
import { dual } from "./Function.ts"
|
|
14
16
|
import * as HashMap from "./HashMap.ts"
|
|
15
17
|
import type { Inspectable } from "./Inspectable.ts"
|
|
16
18
|
import { NodeInspectSymbol, toJson } from "./Inspectable.ts"
|
|
@@ -61,6 +63,7 @@ const emptyState: LockState = {
|
|
|
61
63
|
* await Effect.runPromise(program) // => ["reading", "writing"]
|
|
62
64
|
* ```
|
|
63
65
|
*
|
|
66
|
+
* @stability stable
|
|
64
67
|
* @category models
|
|
65
68
|
* @since 4.0.0
|
|
66
69
|
*/
|
|
@@ -105,6 +108,7 @@ const TxReentrantLockProto: Omit<TxReentrantLock, typeof TypeId | "stateRef"> =
|
|
|
105
108
|
* await Effect.runPromise(program) // => false
|
|
106
109
|
* ```
|
|
107
110
|
*
|
|
111
|
+
* @stability stable
|
|
108
112
|
* @category constructors
|
|
109
113
|
* @since 2.0.0
|
|
110
114
|
*/
|
|
@@ -141,6 +145,7 @@ export const make = (): Effect.Effect<TxReentrantLock> =>
|
|
|
141
145
|
* await Effect.runPromise(program) // => 1
|
|
142
146
|
* ```
|
|
143
147
|
*
|
|
148
|
+
* @stability stable
|
|
144
149
|
* @category mutations
|
|
145
150
|
* @since 2.0.0
|
|
146
151
|
*/
|
|
@@ -197,6 +202,7 @@ export const acquireRead = (self: TxReentrantLock): Effect.Effect<number> =>
|
|
|
197
202
|
* await Effect.runPromise(program) // => 1
|
|
198
203
|
* ```
|
|
199
204
|
*
|
|
205
|
+
* @stability stable
|
|
200
206
|
* @category mutations
|
|
201
207
|
* @since 2.0.0
|
|
202
208
|
*/
|
|
@@ -293,6 +299,7 @@ const releaseReadFor = (self: TxReentrantLock, fiberId: number): Effect.Effect<n
|
|
|
293
299
|
*
|
|
294
300
|
* Returns the remaining number of read locks held by this fiber.
|
|
295
301
|
*
|
|
302
|
+
* @stability stable
|
|
296
303
|
* @category mutations
|
|
297
304
|
* @since 2.0.0
|
|
298
305
|
*/
|
|
@@ -353,6 +360,7 @@ const releaseWriteFor = (self: TxReentrantLock, fiberId: number): Effect.Effect<
|
|
|
353
360
|
*
|
|
354
361
|
* Returns the remaining number of write locks held by this fiber.
|
|
355
362
|
*
|
|
363
|
+
* @stability stable
|
|
356
364
|
* @category mutations
|
|
357
365
|
* @since 2.0.0
|
|
358
366
|
*/
|
|
@@ -385,6 +393,7 @@ export const releaseWrite = (self: TxReentrantLock): Effect.Effect<number> =>
|
|
|
385
393
|
* await Effect.runPromise(program) // => [1, 0]
|
|
386
394
|
* ```
|
|
387
395
|
*
|
|
396
|
+
* @stability stable
|
|
388
397
|
* @category mutations
|
|
389
398
|
* @since 2.0.0
|
|
390
399
|
*/
|
|
@@ -392,7 +401,8 @@ export const readLock = (self: TxReentrantLock): Effect.Effect<number, never, Sc
|
|
|
392
401
|
Effect.withFiber((fiber) =>
|
|
393
402
|
Effect.acquireRelease(
|
|
394
403
|
acquireRead(self),
|
|
395
|
-
() => releaseReadFor(self, fiber.id)
|
|
404
|
+
() => releaseReadFor(self, fiber.id),
|
|
405
|
+
{ interruptible: true }
|
|
396
406
|
)
|
|
397
407
|
)
|
|
398
408
|
|
|
@@ -422,6 +432,7 @@ export const readLock = (self: TxReentrantLock): Effect.Effect<number, never, Sc
|
|
|
422
432
|
* await Effect.runPromise(program) // => [1, 0]
|
|
423
433
|
* ```
|
|
424
434
|
*
|
|
435
|
+
* @stability stable
|
|
425
436
|
* @category mutations
|
|
426
437
|
* @since 2.0.0
|
|
427
438
|
*/
|
|
@@ -429,10 +440,25 @@ export const writeLock = (self: TxReentrantLock): Effect.Effect<number, never, S
|
|
|
429
440
|
Effect.withFiber((fiber) =>
|
|
430
441
|
Effect.acquireRelease(
|
|
431
442
|
acquireWrite(self),
|
|
432
|
-
() => releaseWriteFor(self, fiber.id)
|
|
443
|
+
() => releaseWriteFor(self, fiber.id),
|
|
444
|
+
{ interruptible: true }
|
|
433
445
|
)
|
|
434
446
|
)
|
|
435
447
|
|
|
448
|
+
/**
|
|
449
|
+
* Runs `effect` between `acquire` and `release`. Acquisition and `effect`
|
|
450
|
+
* inherit the caller's interruptibility, while the handoff from a successful
|
|
451
|
+
* acquisition to the release finalizer stays protected.
|
|
452
|
+
*/
|
|
453
|
+
const withAcquired = <A, E, R>(
|
|
454
|
+
acquire: Effect.Effect<number>,
|
|
455
|
+
effect: Effect.Effect<A, E, R>,
|
|
456
|
+
release: Effect.Effect<number>
|
|
457
|
+
): Effect.Effect<A, E, R> =>
|
|
458
|
+
Effect.uninterruptibleMask((restore) =>
|
|
459
|
+
Effect.flatMap(restore(acquire), () => Effect.ensuring(restore(effect), release))
|
|
460
|
+
)
|
|
461
|
+
|
|
436
462
|
/**
|
|
437
463
|
* Runs the provided effect while holding a read lock. The lock is automatically
|
|
438
464
|
* released after the effect completes, fails, or is interrupted.
|
|
@@ -453,6 +479,7 @@ export const writeLock = (self: TxReentrantLock): Effect.Effect<number, never, S
|
|
|
453
479
|
* await Effect.runPromise(program) // => "read data"
|
|
454
480
|
* ```
|
|
455
481
|
*
|
|
482
|
+
* @stability stable
|
|
456
483
|
* @category mutations
|
|
457
484
|
* @since 2.0.0
|
|
458
485
|
*/
|
|
@@ -477,6 +504,7 @@ export const withReadLock: {
|
|
|
477
504
|
* await Effect.runPromise(program) // => "read data"
|
|
478
505
|
* ```
|
|
479
506
|
*
|
|
507
|
+
* @stability stable
|
|
480
508
|
* @category mutations
|
|
481
509
|
* @since 2.0.0
|
|
482
510
|
*/
|
|
@@ -501,27 +529,16 @@ export const withReadLock: {
|
|
|
501
529
|
* await Effect.runPromise(program) // => "read data"
|
|
502
530
|
* ```
|
|
503
531
|
*
|
|
532
|
+
* @stability stable
|
|
504
533
|
* @category mutations
|
|
505
534
|
* @since 2.0.0
|
|
506
535
|
*/
|
|
507
536
|
<A, E, R>(self: TxReentrantLock, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
|
|
508
|
-
} = (
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
acquireRead(self),
|
|
514
|
-
() => effect,
|
|
515
|
-
() => releaseRead(self)
|
|
516
|
-
)
|
|
517
|
-
}
|
|
518
|
-
const [self, effect] = args
|
|
519
|
-
return Effect.acquireUseRelease(
|
|
520
|
-
acquireRead(self),
|
|
521
|
-
() => effect,
|
|
522
|
-
() => releaseRead(self)
|
|
523
|
-
)
|
|
524
|
-
}) as any
|
|
537
|
+
} = dual(
|
|
538
|
+
2,
|
|
539
|
+
<A, E, R>(self: TxReentrantLock, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
540
|
+
withAcquired(acquireRead(self), effect, releaseRead(self))
|
|
541
|
+
)
|
|
525
542
|
|
|
526
543
|
/**
|
|
527
544
|
* Runs the provided effect while holding a write lock. The lock is automatically
|
|
@@ -543,6 +560,7 @@ export const withReadLock: {
|
|
|
543
560
|
* await Effect.runPromise(program) // => "wrote data"
|
|
544
561
|
* ```
|
|
545
562
|
*
|
|
563
|
+
* @stability stable
|
|
546
564
|
* @category mutations
|
|
547
565
|
* @since 2.0.0
|
|
548
566
|
*/
|
|
@@ -567,6 +585,7 @@ export const withWriteLock: {
|
|
|
567
585
|
* await Effect.runPromise(program) // => "wrote data"
|
|
568
586
|
* ```
|
|
569
587
|
*
|
|
588
|
+
* @stability stable
|
|
570
589
|
* @category mutations
|
|
571
590
|
* @since 2.0.0
|
|
572
591
|
*/
|
|
@@ -591,27 +610,16 @@ export const withWriteLock: {
|
|
|
591
610
|
* await Effect.runPromise(program) // => "wrote data"
|
|
592
611
|
* ```
|
|
593
612
|
*
|
|
613
|
+
* @stability stable
|
|
594
614
|
* @category mutations
|
|
595
615
|
* @since 2.0.0
|
|
596
616
|
*/
|
|
597
617
|
<A, E, R>(self: TxReentrantLock, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
|
|
598
|
-
} = (
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
acquireWrite(self),
|
|
604
|
-
() => effect,
|
|
605
|
-
() => releaseWrite(self)
|
|
606
|
-
)
|
|
607
|
-
}
|
|
608
|
-
const [self, effect] = args
|
|
609
|
-
return Effect.acquireUseRelease(
|
|
610
|
-
acquireWrite(self),
|
|
611
|
-
() => effect,
|
|
612
|
-
() => releaseWrite(self)
|
|
613
|
-
)
|
|
614
|
-
}) as any
|
|
618
|
+
} = dual(
|
|
619
|
+
2,
|
|
620
|
+
<A, E, R>(self: TxReentrantLock, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
621
|
+
withAcquired(acquireWrite(self), effect, releaseWrite(self))
|
|
622
|
+
)
|
|
615
623
|
|
|
616
624
|
/**
|
|
617
625
|
* Runs an effect while holding a write lock.
|
|
@@ -637,6 +645,7 @@ export const withWriteLock: {
|
|
|
637
645
|
* await Effect.runPromise(program) // => "exclusive operation"
|
|
638
646
|
* ```
|
|
639
647
|
*
|
|
648
|
+
* @stability stable
|
|
640
649
|
* @category mutations
|
|
641
650
|
* @since 2.0.0
|
|
642
651
|
*/
|
|
@@ -665,6 +674,7 @@ export const withLock: {
|
|
|
665
674
|
* await Effect.runPromise(program) // => "exclusive operation"
|
|
666
675
|
* ```
|
|
667
676
|
*
|
|
677
|
+
* @stability stable
|
|
668
678
|
* @category mutations
|
|
669
679
|
* @since 2.0.0
|
|
670
680
|
*/
|
|
@@ -693,6 +703,7 @@ export const withLock: {
|
|
|
693
703
|
* await Effect.runPromise(program) // => "exclusive operation"
|
|
694
704
|
* ```
|
|
695
705
|
*
|
|
706
|
+
* @stability stable
|
|
696
707
|
* @category mutations
|
|
697
708
|
* @since 2.0.0
|
|
698
709
|
*/
|
|
@@ -722,6 +733,7 @@ export const withLock: {
|
|
|
722
733
|
* await Effect.runPromise(program) // => 1
|
|
723
734
|
* ```
|
|
724
735
|
*
|
|
736
|
+
* @stability stable
|
|
725
737
|
* @category getters
|
|
726
738
|
* @since 2.0.0
|
|
727
739
|
*/
|
|
@@ -751,6 +763,7 @@ export const readLocks = (self: TxReentrantLock): Effect.Effect<number> =>
|
|
|
751
763
|
* await Effect.runPromise(program) // => 0
|
|
752
764
|
* ```
|
|
753
765
|
*
|
|
766
|
+
* @stability stable
|
|
754
767
|
* @category getters
|
|
755
768
|
* @since 2.0.0
|
|
756
769
|
*/
|
|
@@ -776,6 +789,7 @@ export const writeLocks = (self: TxReentrantLock): Effect.Effect<number> =>
|
|
|
776
789
|
* await Effect.runPromise(program) // => false
|
|
777
790
|
* ```
|
|
778
791
|
*
|
|
792
|
+
* @stability stable
|
|
779
793
|
* @category getters
|
|
780
794
|
* @since 2.0.0
|
|
781
795
|
*/
|
|
@@ -801,6 +815,7 @@ export const locked = (self: TxReentrantLock): Effect.Effect<boolean> =>
|
|
|
801
815
|
* await Effect.runPromise(program) // => false
|
|
802
816
|
* ```
|
|
803
817
|
*
|
|
818
|
+
* @stability stable
|
|
804
819
|
* @category getters
|
|
805
820
|
* @since 2.0.0
|
|
806
821
|
*/
|
|
@@ -826,6 +841,7 @@ export const readLocked = (self: TxReentrantLock): Effect.Effect<boolean> =>
|
|
|
826
841
|
* await Effect.runPromise(program) // => false
|
|
827
842
|
* ```
|
|
828
843
|
*
|
|
844
|
+
* @stability stable
|
|
829
845
|
* @category getters
|
|
830
846
|
* @since 2.0.0
|
|
831
847
|
*/
|
|
@@ -852,6 +868,7 @@ export const writeLocked = (self: TxReentrantLock): Effect.Effect<boolean> =>
|
|
|
852
868
|
* TxReentrantLock.isTxReentrantLock(someValue) // => false
|
|
853
869
|
* ```
|
|
854
870
|
*
|
|
871
|
+
* @stability stable
|
|
855
872
|
* @category guards
|
|
856
873
|
* @since 4.0.0
|
|
857
874
|
*/
|