effect 4.0.0-beta.2 → 4.0.0-beta.21
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 +127 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +116 -30
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +82 -37
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +54 -247
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +36 -67
- package/dist/Chunk.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +165 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +62 -7
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +534 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +829 -692
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +263 -251
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Fiber.d.ts +2 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +30 -34
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +5 -8
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +15 -14
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +4 -4
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +40 -39
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +94 -22
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +9 -9
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +22 -15
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +14 -7
- package/dist/Option.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +24 -120
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +21 -41
- package/dist/Record.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +3 -3
- package/dist/References.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +47 -20
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +94 -34
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +266 -50
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +426 -74
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +7 -6
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +5 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +10 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +43 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +159 -4
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +39 -30
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +3 -3
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -423
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +124 -77
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Trie.d.ts +18 -17
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -5
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +196 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +84 -83
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +24 -24
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +35 -35
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +14 -14
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +415 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +8 -8
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +7 -7
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +84 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +591 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +591 -20
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +263 -99
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +5 -4
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/trie.js +5 -4
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +8 -8
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +128 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +11 -12
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +4 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +86 -14
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +163 -87
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +49 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +35 -7
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +19 -3
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -9
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +276 -19
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +234 -36
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +70 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/index.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +17 -8
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +32 -23
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +107 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +29 -36
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +7 -6
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +4 -4
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +9 -7
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +20 -20
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +37 -13
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +3 -8
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +42 -56
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +8 -17
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +20 -33
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +37 -44
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +31 -44
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +32 -21
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +10 -10
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +16 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -7
- 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 +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +4 -4
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +0 -7
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +15 -15
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +3 -3
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -3
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +6 -5
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +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/SqlError.d.ts +14 -14
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +9 -3
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +3 -3
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +137 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +190 -342
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +183 -21
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +991 -800
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/Fiber.ts +9 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -58
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +105 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +11 -15
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +1 -1
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Option.ts +30 -20
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +0 -1
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +43 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +318 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +7 -6
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +47 -38
- package/src/Sink.ts +78 -26
- package/src/Stream.ts +566 -601
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Trie.ts +18 -17
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +332 -285
- package/src/TxHashSet.ts +111 -116
- package/src/TxPriorityQueue.ts +767 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +29 -32
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +78 -2
- package/src/index.ts +600 -21
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +744 -265
- package/src/internal/hashMap.ts +9 -7
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/trie.ts +16 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +10 -10
- package/src/unstable/ai/AiError.ts +97 -44
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +129 -25
- package/src/unstable/ai/McpSchema.ts +59 -13
- package/src/unstable/ai/McpServer.ts +48 -9
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/Tool.ts +19 -13
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +501 -60
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +50 -34
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/help.ts +146 -0
- package/src/unstable/cli/internal/parser.ts +33 -54
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
- package/src/unstable/cluster/Entity.ts +11 -10
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +12 -10
- package/src/unstable/cluster/ShardingConfig.ts +30 -31
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +58 -23
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +46 -68
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +9 -24
- package/src/unstable/http/HttpServerError.ts +42 -45
- package/src/unstable/http/HttpServerRequest.ts +1 -1
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +5 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
- package/src/unstable/httpapi/HttpApiClient.ts +14 -6
- package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +41 -23
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +27 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
- package/src/unstable/reactivity/AtomRegistry.ts +31 -7
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +6 -6
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +21 -30
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +6 -6
- package/src/unstable/socket/Socket.ts +16 -17
- package/src/unstable/sql/SqlClient.ts +1 -1
- package/src/unstable/sql/SqlError.ts +11 -9
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/Workflow.ts +6 -2
- package/src/unstable/workflow/WorkflowEngine.ts +185 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
package/src/Option.ts
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* **Gotchas**
|
|
32
32
|
*
|
|
33
33
|
* - `Option.some(null)` is a valid `Some`; use {@link fromNullishOr} to treat `null`/`undefined` as `None`
|
|
34
|
-
* - {@link filterMap}
|
|
34
|
+
* - {@link filterMap} uses a `Filter` callback that returns `Result`
|
|
35
35
|
* - {@link getOrThrow} throws a generic `Error`; prefer {@link getOrThrowWith} for custom errors
|
|
36
36
|
* - `None` is a singleton; compare with {@link isNone}, not `===`
|
|
37
37
|
* - When yielded in `Effect.gen`, a `None` becomes a `NoSuchElementError` defect
|
|
@@ -77,6 +77,7 @@ import * as Combiner from "./Combiner.ts"
|
|
|
77
77
|
import type { EffectIterator, Yieldable } from "./Effect.ts"
|
|
78
78
|
import * as Equal from "./Equal.ts"
|
|
79
79
|
import * as Equivalence from "./Equivalence.ts"
|
|
80
|
+
import type * as Filter from "./Filter.ts"
|
|
80
81
|
import type { LazyArg } from "./Function.ts"
|
|
81
82
|
import { constNull, constUndefined, dual, identity } from "./Function.ts"
|
|
82
83
|
import type { TypeLambda } from "./HKT.ts"
|
|
@@ -3441,79 +3442,88 @@ export const partitionMap: {
|
|
|
3441
3442
|
return result.isFailure(e) ? [some(e.failure), none()] : [none(), some(e.success)]
|
|
3442
3443
|
})
|
|
3443
3444
|
|
|
3444
|
-
// TODO(4.0): remove?
|
|
3445
3445
|
/**
|
|
3446
|
-
*
|
|
3447
|
-
*
|
|
3446
|
+
* Transforms and filters an `Option` using a `Filter` callback.
|
|
3447
|
+
*
|
|
3448
|
+
* The callback returns a `Result`: `Result.succeed` keeps and transforms the
|
|
3449
|
+
* value, while `Result.fail` discards it.
|
|
3448
3450
|
*
|
|
3449
3451
|
* **Example** (Filtering and transforming)
|
|
3450
3452
|
*
|
|
3451
3453
|
* ```ts
|
|
3452
3454
|
* import { Option } from "effect"
|
|
3455
|
+
* import * as Result from "effect/Result"
|
|
3453
3456
|
*
|
|
3454
3457
|
* console.log(Option.filterMap(
|
|
3455
3458
|
* Option.some(2),
|
|
3456
|
-
* (n) => (n % 2 === 0 ?
|
|
3459
|
+
* (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
|
|
3457
3460
|
* ))
|
|
3458
3461
|
* // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
|
|
3459
3462
|
* ```
|
|
3460
3463
|
*
|
|
3461
|
-
* @see {@link flatMap} (canonical)
|
|
3462
3464
|
* @see {@link filter} for predicate-based filtering
|
|
3463
3465
|
*
|
|
3464
3466
|
* @category Filtering
|
|
3465
3467
|
* @since 2.0.0
|
|
3466
3468
|
*/
|
|
3467
3469
|
export const filterMap: {
|
|
3468
|
-
// TODO(4.0): remove?
|
|
3469
3470
|
/**
|
|
3470
|
-
*
|
|
3471
|
-
*
|
|
3471
|
+
* Transforms and filters an `Option` using a `Filter` callback.
|
|
3472
|
+
*
|
|
3473
|
+
* The callback returns a `Result`: `Result.succeed` keeps and transforms the
|
|
3474
|
+
* value, while `Result.fail` discards it.
|
|
3472
3475
|
*
|
|
3473
3476
|
* **Example** (Filtering and transforming)
|
|
3474
3477
|
*
|
|
3475
3478
|
* ```ts
|
|
3476
3479
|
* import { Option } from "effect"
|
|
3480
|
+
* import * as Result from "effect/Result"
|
|
3477
3481
|
*
|
|
3478
3482
|
* console.log(Option.filterMap(
|
|
3479
3483
|
* Option.some(2),
|
|
3480
|
-
* (n) => (n % 2 === 0 ?
|
|
3484
|
+
* (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
|
|
3481
3485
|
* ))
|
|
3482
3486
|
* // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
|
|
3483
3487
|
* ```
|
|
3484
3488
|
*
|
|
3485
|
-
* @see {@link flatMap} (canonical)
|
|
3486
3489
|
* @see {@link filter} for predicate-based filtering
|
|
3487
3490
|
*
|
|
3488
3491
|
* @category Filtering
|
|
3489
3492
|
* @since 2.0.0
|
|
3490
3493
|
*/
|
|
3491
|
-
<A, B>(f:
|
|
3492
|
-
// TODO(4.0): remove?
|
|
3494
|
+
<A, B, X>(f: Filter.Filter<A, B, X>): (self: Option<A>) => Option<B>
|
|
3493
3495
|
/**
|
|
3494
|
-
*
|
|
3495
|
-
*
|
|
3496
|
+
* Transforms and filters an `Option` using a `Filter` callback.
|
|
3497
|
+
*
|
|
3498
|
+
* The callback returns a `Result`: `Result.succeed` keeps and transforms the
|
|
3499
|
+
* value, while `Result.fail` discards it.
|
|
3496
3500
|
*
|
|
3497
3501
|
* **Example** (Filtering and transforming)
|
|
3498
3502
|
*
|
|
3499
3503
|
* ```ts
|
|
3500
3504
|
* import { Option } from "effect"
|
|
3505
|
+
* import * as Result from "effect/Result"
|
|
3501
3506
|
*
|
|
3502
3507
|
* console.log(Option.filterMap(
|
|
3503
3508
|
* Option.some(2),
|
|
3504
|
-
* (n) => (n % 2 === 0 ?
|
|
3509
|
+
* (n) => (n % 2 === 0 ? Result.succeed(`Even: ${n}`) : Result.failVoid)
|
|
3505
3510
|
* ))
|
|
3506
3511
|
* // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
|
|
3507
3512
|
* ```
|
|
3508
3513
|
*
|
|
3509
|
-
* @see {@link flatMap} (canonical)
|
|
3510
3514
|
* @see {@link filter} for predicate-based filtering
|
|
3511
3515
|
*
|
|
3512
3516
|
* @category Filtering
|
|
3513
3517
|
* @since 2.0.0
|
|
3514
3518
|
*/
|
|
3515
|
-
<A, B>(self: Option<A>, f:
|
|
3516
|
-
} =
|
|
3519
|
+
<A, B, X>(self: Option<A>, f: Filter.Filter<A, B, X>): Option<B>
|
|
3520
|
+
} = dual(2, <A, B, X>(self: Option<A>, f: Filter.Filter<A, B, X>): Option<B> => {
|
|
3521
|
+
if (isNone(self)) {
|
|
3522
|
+
return none()
|
|
3523
|
+
}
|
|
3524
|
+
const next = f(self.value)
|
|
3525
|
+
return result.isSuccess(next) ? some(next.success) : none()
|
|
3526
|
+
})
|
|
3517
3527
|
|
|
3518
3528
|
/**
|
|
3519
3529
|
* Filters an `Option` using a predicate. Returns `None` if the predicate is
|
|
@@ -3723,7 +3733,7 @@ export const filter: {
|
|
|
3723
3733
|
} = dual(
|
|
3724
3734
|
2,
|
|
3725
3735
|
<A>(self: Option<A>, predicate: Predicate<A>): Option<A> =>
|
|
3726
|
-
|
|
3736
|
+
isNone(self) ? none() : predicate(self.value) ? some(self.value) : none()
|
|
3727
3737
|
)
|
|
3728
3738
|
|
|
3729
3739
|
/**
|
package/src/Pipeable.ts
CHANGED
|
@@ -554,8 +554,39 @@ export const pipeArguments = <A>(self: A, args: IArguments): unknown => {
|
|
|
554
554
|
/**
|
|
555
555
|
* @since 4.0.0
|
|
556
556
|
*/
|
|
557
|
-
export const
|
|
557
|
+
export const Prototype: Pipeable = {
|
|
558
558
|
pipe() {
|
|
559
559
|
return pipeArguments(this, arguments)
|
|
560
560
|
}
|
|
561
561
|
}
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* @since 4.0.0
|
|
565
|
+
* @category constructors
|
|
566
|
+
*/
|
|
567
|
+
export const Class: new() => Pipeable = (function() {
|
|
568
|
+
function PipeableBase() {}
|
|
569
|
+
PipeableBase.prototype = Prototype
|
|
570
|
+
return PipeableBase as any
|
|
571
|
+
})()
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* @since 4.0.0
|
|
575
|
+
* @category models
|
|
576
|
+
*/
|
|
577
|
+
export interface PipeableConstructor {
|
|
578
|
+
new(...args: ReadonlyArray<any>): Pipeable
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* @since 4.0.0
|
|
583
|
+
* @category constructors
|
|
584
|
+
*/
|
|
585
|
+
export const Mixin = <TBase extends new(...args: ReadonlyArray<any>) => any>(
|
|
586
|
+
klass: TBase
|
|
587
|
+
): TBase & PipeableConstructor =>
|
|
588
|
+
(class extends klass {
|
|
589
|
+
pipe() {
|
|
590
|
+
return pipeArguments(this, arguments)
|
|
591
|
+
}
|
|
592
|
+
})
|
package/src/PlatformError.ts
CHANGED
|
@@ -27,7 +27,7 @@ export class BadArgument extends Data.TaggedError("BadArgument")<{
|
|
|
27
27
|
* @since 4.0.0
|
|
28
28
|
* @category Model
|
|
29
29
|
*/
|
|
30
|
-
export type
|
|
30
|
+
export type SystemErrorTag =
|
|
31
31
|
| "AlreadyExists"
|
|
32
32
|
| "BadResource"
|
|
33
33
|
| "Busy"
|
|
@@ -44,8 +44,8 @@ export type SystemErrorKind =
|
|
|
44
44
|
* @since 4.0.0
|
|
45
45
|
* @category models
|
|
46
46
|
*/
|
|
47
|
-
export class SystemError extends Data.
|
|
48
|
-
|
|
47
|
+
export class SystemError extends Data.Error<{
|
|
48
|
+
_tag: SystemErrorTag
|
|
49
49
|
module: string
|
|
50
50
|
method: string
|
|
51
51
|
description?: string | undefined
|
|
@@ -57,7 +57,7 @@ export class SystemError extends Data.TaggedError("SystemError")<{
|
|
|
57
57
|
* @since 4.0.0
|
|
58
58
|
*/
|
|
59
59
|
override get message(): string {
|
|
60
|
-
return `${this.
|
|
60
|
+
return `${this._tag}: ${this.module}.${this.method}${
|
|
61
61
|
this.pathOrDescriptor !== undefined ? ` (${this.pathOrDescriptor})` : ""
|
|
62
62
|
}${this.description ? `: ${this.description}` : ""}`
|
|
63
63
|
}
|
|
@@ -93,7 +93,7 @@ export class PlatformError extends Data.TaggedError("PlatformError")<{
|
|
|
93
93
|
* @category constructors
|
|
94
94
|
*/
|
|
95
95
|
export const systemError = (options: {
|
|
96
|
-
readonly
|
|
96
|
+
readonly _tag: SystemErrorTag
|
|
97
97
|
readonly module: string
|
|
98
98
|
readonly method: string
|
|
99
99
|
readonly description?: string | undefined
|
package/src/Pool.ts
CHANGED
|
@@ -9,11 +9,13 @@ import type * as Exit from "./Exit.ts"
|
|
|
9
9
|
import * as Fiber from "./Fiber.ts"
|
|
10
10
|
import { dual, identity } from "./Function.ts"
|
|
11
11
|
import * as Iterable from "./Iterable.ts"
|
|
12
|
+
import * as Latch from "./Latch.ts"
|
|
12
13
|
import { type Pipeable, pipeArguments } from "./Pipeable.ts"
|
|
13
14
|
import { hasProperty } from "./Predicate.ts"
|
|
14
15
|
import * as Queue from "./Queue.ts"
|
|
15
16
|
import { UnhandledLogLevel } from "./References.ts"
|
|
16
17
|
import * as Scope from "./Scope.ts"
|
|
18
|
+
import * as Semaphore from "./Semaphore.ts"
|
|
17
19
|
import * as ServiceMap from "./ServiceMap.ts"
|
|
18
20
|
|
|
19
21
|
const TypeId = "~effect/Pool"
|
|
@@ -52,11 +54,11 @@ export interface Config<A, E> {
|
|
|
52
54
|
export interface State<A, E> {
|
|
53
55
|
readonly scope: Scope.Scope
|
|
54
56
|
isShuttingDown: boolean
|
|
55
|
-
readonly semaphore:
|
|
56
|
-
readonly resizeSemaphore:
|
|
57
|
+
readonly semaphore: Semaphore.Semaphore
|
|
58
|
+
readonly resizeSemaphore: Semaphore.Semaphore
|
|
57
59
|
readonly items: Set<PoolItem<A, E>>
|
|
58
60
|
readonly available: Set<PoolItem<A, E>>
|
|
59
|
-
readonly availableLatch:
|
|
61
|
+
readonly availableLatch: Latch.Latch
|
|
60
62
|
readonly invalidated: Set<PoolItem<A, E>>
|
|
61
63
|
waiters: number
|
|
62
64
|
}
|
|
@@ -170,7 +172,7 @@ export const makeWithTTL = <A, E, R>(options: {
|
|
|
170
172
|
readonly max: number
|
|
171
173
|
readonly concurrency?: number | undefined
|
|
172
174
|
readonly targetUtilization?: number | undefined
|
|
173
|
-
readonly timeToLive: Duration.
|
|
175
|
+
readonly timeToLive: Duration.Input
|
|
174
176
|
readonly timeToLiveStrategy?: "creation" | "usage" | undefined
|
|
175
177
|
}): Effect.Effect<Pool<A, E>, never, R | Scope.Scope> =>
|
|
176
178
|
Effect.flatMap(
|
|
@@ -212,11 +214,11 @@ export const makeWithStrategy = <A, E, R>(options: {
|
|
|
212
214
|
const state: State<A, E> = {
|
|
213
215
|
scope,
|
|
214
216
|
isShuttingDown: false,
|
|
215
|
-
semaphore:
|
|
216
|
-
resizeSemaphore:
|
|
217
|
+
semaphore: Semaphore.makeUnsafe(concurrency * options.max),
|
|
218
|
+
resizeSemaphore: Semaphore.makeUnsafe(1),
|
|
217
219
|
items: new Set(),
|
|
218
220
|
available: new Set(),
|
|
219
|
-
availableLatch:
|
|
221
|
+
availableLatch: Latch.makeUnsafe(false),
|
|
220
222
|
invalidated: new Set(),
|
|
221
223
|
waiters: 0
|
|
222
224
|
}
|
|
@@ -244,7 +246,7 @@ const shutdown = Effect.fnUntraced(function*<A, E>(self: Pool<A, E>) {
|
|
|
244
246
|
if (self.state.isShuttingDown) return
|
|
245
247
|
self.state.isShuttingDown = true
|
|
246
248
|
const size = self.state.items.size
|
|
247
|
-
const semaphore =
|
|
249
|
+
const semaphore = Semaphore.makeUnsafe(size)
|
|
248
250
|
for (const item of self.state.items) {
|
|
249
251
|
if (item.refCount > 0) {
|
|
250
252
|
item.finalizer = Effect.tap(item.finalizer, semaphore.release(1))
|
|
@@ -471,10 +473,10 @@ const strategyNoop = <A, E>(): Strategy<A, E> => ({
|
|
|
471
473
|
reclaim: (_) => Effect.undefined
|
|
472
474
|
})
|
|
473
475
|
|
|
474
|
-
const strategyCreationTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.
|
|
476
|
+
const strategyCreationTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.Input) {
|
|
475
477
|
const clock = yield* Clock
|
|
476
478
|
const queue = yield* Queue.unbounded<PoolItem<A, E>>()
|
|
477
|
-
const ttlMillis = Duration.toMillis(Duration.
|
|
479
|
+
const ttlMillis = Duration.toMillis(Duration.fromInputUnsafe(ttl))
|
|
478
480
|
const creationTimes = new WeakMap<PoolItem<A, E>, number>()
|
|
479
481
|
return identity<Strategy<A, E>>({
|
|
480
482
|
run: (pool) => {
|
|
@@ -504,7 +506,7 @@ const strategyCreationTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.Dura
|
|
|
504
506
|
})
|
|
505
507
|
})
|
|
506
508
|
|
|
507
|
-
const strategyUsageTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.
|
|
509
|
+
const strategyUsageTTL = Effect.fnUntraced(function*<A, E>(ttl: Duration.Input) {
|
|
508
510
|
const queue = yield* Queue.unbounded<PoolItem<A, E>>()
|
|
509
511
|
return identity<Strategy<A, E>>({
|
|
510
512
|
run: (pool) => {
|
package/src/PubSub.ts
CHANGED
|
@@ -34,6 +34,7 @@ import * as Effect from "./Effect.ts"
|
|
|
34
34
|
import * as Exit from "./Exit.ts"
|
|
35
35
|
import type { LazyArg } from "./Function.ts"
|
|
36
36
|
import { dual, identity } from "./Function.ts"
|
|
37
|
+
import * as Latch from "./Latch.ts"
|
|
37
38
|
import * as MutableList from "./MutableList.ts"
|
|
38
39
|
import * as MutableRef from "./MutableRef.ts"
|
|
39
40
|
import { nextPow2 } from "./Number.ts"
|
|
@@ -81,7 +82,7 @@ export interface PubSub<in out A> extends Pipeable {
|
|
|
81
82
|
readonly pubsub: PubSub.Atomic<A>
|
|
82
83
|
readonly subscribers: PubSub.Subscribers<A>
|
|
83
84
|
readonly scope: Scope.Closeable
|
|
84
|
-
readonly shutdownHook:
|
|
85
|
+
readonly shutdownHook: Latch.Latch
|
|
85
86
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
86
87
|
readonly strategy: PubSub.Strategy<A>
|
|
87
88
|
}
|
|
@@ -242,7 +243,7 @@ export interface Subscription<out A> extends Pipeable {
|
|
|
242
243
|
readonly subscribers: PubSub.Subscribers<any>
|
|
243
244
|
readonly subscription: PubSub.BackingSubscription<A>
|
|
244
245
|
readonly pollers: MutableList.MutableList<Deferred.Deferred<any>>
|
|
245
|
-
readonly shutdownHook:
|
|
246
|
+
readonly shutdownHook: Latch.Latch
|
|
246
247
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
247
248
|
readonly strategy: PubSub.Strategy<any>
|
|
248
249
|
readonly replayWindow: PubSub.ReplayWindow<A>
|
|
@@ -282,7 +283,7 @@ export const make = <A>(
|
|
|
282
283
|
options.atomicPubSub(),
|
|
283
284
|
new Map(),
|
|
284
285
|
Scope.makeUnsafe(),
|
|
285
|
-
|
|
286
|
+
Latch.makeUnsafe(false),
|
|
286
287
|
MutableRef.make(false),
|
|
287
288
|
options.strategy()
|
|
288
289
|
)
|
|
@@ -1701,7 +1702,7 @@ const makeSubscriptionUnsafe = <A>(
|
|
|
1701
1702
|
subscribers,
|
|
1702
1703
|
pubsub.subscribe(),
|
|
1703
1704
|
MutableList.make<Deferred.Deferred<A>>(),
|
|
1704
|
-
|
|
1705
|
+
Latch.makeUnsafe(false),
|
|
1705
1706
|
MutableRef.make(false),
|
|
1706
1707
|
strategy,
|
|
1707
1708
|
pubsub.replayWindow()
|
|
@@ -2446,7 +2447,7 @@ class SubscriptionImpl<in out A> implements Subscription<A> {
|
|
|
2446
2447
|
readonly subscribers: PubSub.Subscribers<A>
|
|
2447
2448
|
readonly subscription: PubSub.BackingSubscription<A>
|
|
2448
2449
|
readonly pollers: MutableList.MutableList<Deferred.Deferred<A>>
|
|
2449
|
-
readonly shutdownHook:
|
|
2450
|
+
readonly shutdownHook: Latch.Latch
|
|
2450
2451
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
2451
2452
|
readonly strategy: PubSub.Strategy<A>
|
|
2452
2453
|
readonly replayWindow: PubSub.ReplayWindow<A>
|
|
@@ -2456,7 +2457,7 @@ class SubscriptionImpl<in out A> implements Subscription<A> {
|
|
|
2456
2457
|
subscribers: PubSub.Subscribers<A>,
|
|
2457
2458
|
subscription: PubSub.BackingSubscription<A>,
|
|
2458
2459
|
pollers: MutableList.MutableList<Deferred.Deferred<A>>,
|
|
2459
|
-
shutdownHook:
|
|
2460
|
+
shutdownHook: Latch.Latch,
|
|
2460
2461
|
shutdownFlag: MutableRef.MutableRef<boolean>,
|
|
2461
2462
|
strategy: PubSub.Strategy<A>,
|
|
2462
2463
|
replayWindow: PubSub.ReplayWindow<A>
|
|
@@ -2484,7 +2485,7 @@ class PubSubImpl<in out A> implements PubSub<A> {
|
|
|
2484
2485
|
readonly pubsub: PubSub.Atomic<A>
|
|
2485
2486
|
readonly subscribers: PubSub.Subscribers<A>
|
|
2486
2487
|
readonly scope: Scope.Closeable
|
|
2487
|
-
readonly shutdownHook:
|
|
2488
|
+
readonly shutdownHook: Latch.Latch
|
|
2488
2489
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
2489
2490
|
readonly strategy: PubSub.Strategy<A>
|
|
2490
2491
|
|
|
@@ -2492,7 +2493,7 @@ class PubSubImpl<in out A> implements PubSub<A> {
|
|
|
2492
2493
|
pubsub: PubSub.Atomic<A>,
|
|
2493
2494
|
subscribers: PubSub.Subscribers<A>,
|
|
2494
2495
|
scope: Scope.Closeable,
|
|
2495
|
-
shutdownHook:
|
|
2496
|
+
shutdownHook: Latch.Latch,
|
|
2496
2497
|
shutdownFlag: MutableRef.MutableRef<boolean>,
|
|
2497
2498
|
strategy: PubSub.Strategy<A>
|
|
2498
2499
|
) {
|
|
@@ -2513,7 +2514,7 @@ const makePubSubUnsafe = <A>(
|
|
|
2513
2514
|
pubsub: PubSub.Atomic<A>,
|
|
2514
2515
|
subscribers: PubSub.Subscribers<A>,
|
|
2515
2516
|
scope: Scope.Closeable,
|
|
2516
|
-
shutdownHook:
|
|
2517
|
+
shutdownHook: Latch.Latch,
|
|
2517
2518
|
shutdownFlag: MutableRef.MutableRef<boolean>,
|
|
2518
2519
|
strategy: PubSub.Strategy<A>
|
|
2519
2520
|
): PubSub<A> => new PubSubImpl(pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy)
|
package/src/Pull.ts
CHANGED
|
@@ -95,7 +95,7 @@ export const catchDone: {
|
|
|
95
95
|
effect: Effect<A, E, R>,
|
|
96
96
|
f: (leftover: Cause.Done.Extract<E>) => Effect<A2, E2, R2>
|
|
97
97
|
): Effect<A | A2, ExcludeDone<E> | E2, R | R2> =>
|
|
98
|
-
internalEffect.
|
|
98
|
+
internalEffect.catchCauseFilter(effect, filterDoneLeftover as any, (l: any) => f(l)) as any)
|
|
99
99
|
|
|
100
100
|
/**
|
|
101
101
|
* Checks if a Cause contains any done errors.
|
package/src/Queue.ts
CHANGED
|
@@ -1113,7 +1113,6 @@ export const collect = <A, E>(self: Dequeue<A, E | Done>): Effect<Array<A>, Pull
|
|
|
1113
1113
|
while: constTrue,
|
|
1114
1114
|
body: constant(takeAll(self)),
|
|
1115
1115
|
step(items: Arr.NonEmptyArray<A>) {
|
|
1116
|
-
out.push(...items)
|
|
1117
1116
|
for (let i = 0; i < items.length; i++) {
|
|
1118
1117
|
out.push(items[i])
|
|
1119
1118
|
}
|
package/src/Random.ts
CHANGED
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import * as Effect from "./Effect.ts"
|
|
25
25
|
import { dual } from "./Function.ts"
|
|
26
|
+
import * as random from "./internal/random.ts"
|
|
26
27
|
import * as Predicate from "./Predicate.ts"
|
|
27
|
-
import * as ServiceMap from "./ServiceMap.ts"
|
|
28
|
+
import type * as ServiceMap from "./ServiceMap.ts"
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* Represents a service for generating random numbers.
|
|
@@ -49,23 +50,13 @@ import * as ServiceMap from "./ServiceMap.ts"
|
|
|
49
50
|
* @since 4.0.0
|
|
50
51
|
* @category Random Number Generators
|
|
51
52
|
*/
|
|
52
|
-
export const Random
|
|
53
|
+
export const Random: ServiceMap.Reference<{
|
|
53
54
|
nextIntUnsafe(): number
|
|
54
55
|
nextDoubleUnsafe(): number
|
|
55
|
-
}>
|
|
56
|
-
defaultValue: () => ({
|
|
57
|
-
nextIntUnsafe() {
|
|
58
|
-
return Math.floor(Math.random() * (Number.MAX_SAFE_INTEGER - Number.MIN_SAFE_INTEGER + 1)) +
|
|
59
|
-
Number.MIN_SAFE_INTEGER
|
|
60
|
-
},
|
|
61
|
-
nextDoubleUnsafe() {
|
|
62
|
-
return Math.random()
|
|
63
|
-
}
|
|
64
|
-
})
|
|
65
|
-
})
|
|
56
|
+
}> = random.Random
|
|
66
57
|
|
|
67
58
|
const randomWith = <A>(f: (random: typeof Random["Service"]) => A): Effect.Effect<A> =>
|
|
68
|
-
Effect.withFiber((fiber) => Effect.succeed(f(
|
|
59
|
+
Effect.withFiber((fiber) => Effect.succeed(f(fiber.getRef(Random))))
|
|
69
60
|
|
|
70
61
|
/**
|
|
71
62
|
* Generates a random number between 0 (inclusive) and 1 (inclusive).
|
|
@@ -85,6 +76,24 @@ const randomWith = <A>(f: (random: typeof Random["Service"]) => A): Effect.Effec
|
|
|
85
76
|
*/
|
|
86
77
|
export const next: Effect.Effect<number> = randomWith((r) => r.nextDoubleUnsafe())
|
|
87
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Generates a random boolean value.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* import { Effect, Random } from "effect"
|
|
85
|
+
*
|
|
86
|
+
* const program = Effect.gen(function*() {
|
|
87
|
+
* const value = yield* Random.nextBoolean
|
|
88
|
+
* console.log("Random boolean:", value)
|
|
89
|
+
* })
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @since 4.0.0
|
|
93
|
+
* @category Random Number Generators
|
|
94
|
+
*/
|
|
95
|
+
export const nextBoolean: Effect.Effect<boolean> = randomWith((r) => r.nextDoubleUnsafe() > 0.5)
|
|
96
|
+
|
|
88
97
|
/**
|
|
89
98
|
* Generates a random integer between `Number.MIN_SAFE_INTEGER` (inclusive)
|
|
90
99
|
* and `Number.MAX_SAFE_INTEGER` (inclusive).
|
|
@@ -156,6 +165,34 @@ export const nextIntBetween = (min: number, max: number, options?: {
|
|
|
156
165
|
})
|
|
157
166
|
}
|
|
158
167
|
|
|
168
|
+
/**
|
|
169
|
+
* Uses the pseudo-random number generator to shuffle the specified iterable.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```ts
|
|
173
|
+
* import { Effect, Random } from "effect"
|
|
174
|
+
*
|
|
175
|
+
* const program = Effect.gen(function*() {
|
|
176
|
+
* const values = yield* Random.shuffle([1, 2, 3, 4, 5])
|
|
177
|
+
* console.log(values)
|
|
178
|
+
* })
|
|
179
|
+
* ```
|
|
180
|
+
*
|
|
181
|
+
* @since 4.0.0
|
|
182
|
+
* @category Random Number Generators
|
|
183
|
+
*/
|
|
184
|
+
export const shuffle = <A>(elements: Iterable<A>): Effect.Effect<Array<A>> =>
|
|
185
|
+
randomWith((r) => {
|
|
186
|
+
const buffer = Array.from(elements)
|
|
187
|
+
for (let i = buffer.length - 1; i >= 1; i = i - 1) {
|
|
188
|
+
const index = Math.min(i, Math.floor(r.nextDoubleUnsafe() * (i + 1)))
|
|
189
|
+
const value = buffer[i]!
|
|
190
|
+
buffer[i] = buffer[index]!
|
|
191
|
+
buffer[index] = value
|
|
192
|
+
}
|
|
193
|
+
return buffer
|
|
194
|
+
})
|
|
195
|
+
|
|
159
196
|
/**
|
|
160
197
|
* Generates a random UUID (v4) string.
|
|
161
198
|
*
|
package/src/RcMap.ts
CHANGED
|
@@ -292,7 +292,7 @@ export const make: {
|
|
|
292
292
|
<K, A, E, R>(
|
|
293
293
|
options: {
|
|
294
294
|
readonly lookup: (key: K) => Effect.Effect<A, E, R>
|
|
295
|
-
readonly idleTimeToLive?: Duration.
|
|
295
|
+
readonly idleTimeToLive?: Duration.Input | ((key: K) => Duration.Input) | undefined
|
|
296
296
|
readonly capacity?: undefined
|
|
297
297
|
}
|
|
298
298
|
): Effect.Effect<RcMap<K, A, E>, never, Scope.Scope | R>
|
|
@@ -335,13 +335,13 @@ export const make: {
|
|
|
335
335
|
<K, A, E, R>(
|
|
336
336
|
options: {
|
|
337
337
|
readonly lookup: (key: K) => Effect.Effect<A, E, R>
|
|
338
|
-
readonly idleTimeToLive?: Duration.
|
|
338
|
+
readonly idleTimeToLive?: Duration.Input | ((key: K) => Duration.Input) | undefined
|
|
339
339
|
readonly capacity: number
|
|
340
340
|
}
|
|
341
341
|
): Effect.Effect<RcMap<K, A, E | Cause.ExceededCapacityError>, never, Scope.Scope | R>
|
|
342
342
|
} = <K, A, E, R>(options: {
|
|
343
343
|
readonly lookup: (key: K) => Effect.Effect<A, E, R>
|
|
344
|
-
readonly idleTimeToLive?: Duration.
|
|
344
|
+
readonly idleTimeToLive?: Duration.Input | ((key: K) => Duration.Input) | undefined
|
|
345
345
|
readonly capacity?: number | undefined
|
|
346
346
|
}) =>
|
|
347
347
|
Effect.withFiber<RcMap<K, A, E>, never, R | Scope.Scope>((fiber) => {
|
|
@@ -352,8 +352,8 @@ export const make: {
|
|
|
352
352
|
services,
|
|
353
353
|
scope,
|
|
354
354
|
idleTimeToLive: typeof options.idleTimeToLive === "function"
|
|
355
|
-
? flow(options.idleTimeToLive, Duration.
|
|
356
|
-
: constant(Duration.
|
|
355
|
+
? flow(options.idleTimeToLive, Duration.fromInputUnsafe)
|
|
356
|
+
: constant(Duration.fromInputUnsafe(options.idleTimeToLive ?? Duration.zero)),
|
|
357
357
|
capacity: Math.max(options.capacity ?? Number.POSITIVE_INFINITY, 0)
|
|
358
358
|
})
|
|
359
359
|
return Effect.as(
|
package/src/RcRef.ts
CHANGED
|
@@ -120,7 +120,7 @@ export const make: <A, E, R>(
|
|
|
120
120
|
* When the reference count reaches zero, the resource will be released
|
|
121
121
|
* after this duration.
|
|
122
122
|
*/
|
|
123
|
-
readonly idleTimeToLive?: Duration.
|
|
123
|
+
readonly idleTimeToLive?: Duration.Input | undefined
|
|
124
124
|
}
|
|
125
125
|
) => Effect.Effect<RcRef<A, E>, never, R | Scope> = internal.make
|
|
126
126
|
|