effect 4.0.0-beta.2 → 4.0.0-beta.20
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 +733 -687
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +233 -250
- 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 +91 -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 +3 -2
- 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 +123 -76
- 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 +225 -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 +33 -6
- 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/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/WorkflowEngine.d.ts +8 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +133 -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 +909 -817
- 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 +315 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +3 -2
- 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 +565 -600
- 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 +660 -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 +46 -8
- 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/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 +1 -1
- package/src/unstable/workflow/WorkflowEngine.ts +181 -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/Schedule.ts
CHANGED
|
@@ -36,8 +36,9 @@ import * as Duration from "./Duration.ts"
|
|
|
36
36
|
import type { Effect } from "./Effect.ts"
|
|
37
37
|
import type { LazyArg } from "./Function.ts"
|
|
38
38
|
import { constant, dual, identity } from "./Function.ts"
|
|
39
|
-
|
|
39
|
+
import { isEffect } from "./internal/core.ts"
|
|
40
40
|
import * as effect from "./internal/effect.ts"
|
|
41
|
+
import * as random from "./internal/random.ts"
|
|
41
42
|
import { type Pipeable, pipeArguments } from "./Pipeable.ts"
|
|
42
43
|
import { hasProperty } from "./Predicate.ts"
|
|
43
44
|
import * as Pull from "./Pull.ts"
|
|
@@ -47,6 +48,8 @@ import type { Contravariant, Covariant, Mutable } from "./Types.ts"
|
|
|
47
48
|
|
|
48
49
|
const TypeId = "~effect/Schedule"
|
|
49
50
|
|
|
51
|
+
const randomNext: Effect<number> = random.Random.useSync((random) => random.nextDoubleUnsafe())
|
|
52
|
+
|
|
50
53
|
/**
|
|
51
54
|
* A Schedule defines a strategy for repeating or retrying effects based on some policy.
|
|
52
55
|
*
|
|
@@ -346,7 +349,7 @@ export const fromStep = <Input, Output, EnvX, Error, ErrorX, Env>(
|
|
|
346
349
|
Error,
|
|
347
350
|
Env
|
|
348
351
|
>
|
|
349
|
-
): Schedule<Output, Input, Error | ErrorX
|
|
352
|
+
): Schedule<Output, Input, Error | Pull.ExcludeDone<ErrorX>, Env | EnvX> => {
|
|
350
353
|
const self = Object.create(ScheduleProto)
|
|
351
354
|
self.step = step
|
|
352
355
|
return self
|
|
@@ -395,7 +398,7 @@ export const fromStepWithMetadata = <Input, Output, EnvX, ErrorX, Error, Env>(
|
|
|
395
398
|
Error,
|
|
396
399
|
Env
|
|
397
400
|
>
|
|
398
|
-
): Schedule<Output, Input, Error | ErrorX
|
|
401
|
+
): Schedule<Output, Input, Error | Pull.ExcludeDone<ErrorX>, Env | EnvX> =>
|
|
399
402
|
fromStep(effect.map(step, (f) => {
|
|
400
403
|
const meta = metadataFn()
|
|
401
404
|
return (now, input) => f(meta(now, input))
|
|
@@ -747,7 +750,7 @@ export const addDelay: {
|
|
|
747
750
|
* @since 2.0.0
|
|
748
751
|
* @category utils
|
|
749
752
|
*/
|
|
750
|
-
<Output, Error2 = never, Env2 = never>(f: (output: Output) => Effect<Duration.
|
|
753
|
+
<Output, Error2 = never, Env2 = never>(f: (output: Output) => Effect<Duration.Input, Error2, Env2>): <Input, Error, Env>(
|
|
751
754
|
self: Schedule<Output, Input, Error, Env>
|
|
752
755
|
) => Schedule<Output, Input, Error | Error2, Env | Env2>
|
|
753
756
|
/**
|
|
@@ -868,17 +871,16 @@ export const addDelay: {
|
|
|
868
871
|
*/
|
|
869
872
|
<Output, Input, Error, Env, Error2 = never, Env2 = never>(
|
|
870
873
|
self: Schedule<Output, Input, Error, Env>,
|
|
871
|
-
f: (output: Output) => Effect<Duration.
|
|
874
|
+
f: (output: Output) => Effect<Duration.Input, Error2, Env2>
|
|
872
875
|
): Schedule<Output, Input, Error | Error2, Env | Env2>
|
|
873
876
|
} = dual(2, <Output, Input, Error, Env, Error2 = never, Env2 = never>(
|
|
874
877
|
self: Schedule<Output, Input, Error, Env>,
|
|
875
|
-
f: (output: Output) => Effect<Duration.
|
|
878
|
+
f: (output: Output) => Effect<Duration.Input, Error2, Env2>
|
|
876
879
|
): Schedule<Output, Input, Error | Error2, Env | Env2> =>
|
|
877
880
|
modifyDelay(
|
|
878
881
|
self,
|
|
879
882
|
(output, delay) =>
|
|
880
|
-
effect.map(f(output), (d) =>
|
|
881
|
-
Duration.sum(Duration.fromDurationInputUnsafe(d), Duration.fromDurationInputUnsafe(delay)))
|
|
883
|
+
effect.map(f(output), (d) => Duration.sum(Duration.fromInputUnsafe(d), Duration.fromInputUnsafe(delay)))
|
|
882
884
|
))
|
|
883
885
|
|
|
884
886
|
/**
|
|
@@ -1140,116 +1142,211 @@ export const andThenResult: {
|
|
|
1140
1142
|
} = dual(2, <Output, Input, Error, Env, Output2, Input2, Error2, Env2>(
|
|
1141
1143
|
self: Schedule<Output, Input, Error, Env>,
|
|
1142
1144
|
other: Schedule<Output2, Input2, Error2, Env2>
|
|
1143
|
-
): Schedule<Result.Result<
|
|
1144
|
-
fromStep(effect.
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1145
|
+
): Schedule<Result.Result<Output, Output2>, Input & Input2, Error | Error2, Env | Env2> =>
|
|
1146
|
+
fromStep(effect.sync(() => {
|
|
1147
|
+
let currentSide = 0
|
|
1148
|
+
let currentStep:
|
|
1149
|
+
| undefined
|
|
1150
|
+
| ((now: number, input: Input & Input2) => Pull.Pull<
|
|
1151
|
+
[Result.Result<Output, Output2>, Duration.Duration],
|
|
1149
1152
|
Error | Error2,
|
|
1150
|
-
Output
|
|
1153
|
+
Result.Result<Output, Output2>,
|
|
1151
1154
|
Env | Env2
|
|
1152
|
-
>
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1155
|
+
>)
|
|
1156
|
+
const left = map(self, Result.succeed)
|
|
1157
|
+
const right = map(other, Result.fail)
|
|
1158
|
+
return function recur(
|
|
1159
|
+
now,
|
|
1160
|
+
input
|
|
1161
|
+
): Pull.Pull<
|
|
1162
|
+
[Result.Result<Output, Output2>, Duration.Duration],
|
|
1163
|
+
Error | Error2,
|
|
1164
|
+
Result.Result<Output, Output2>,
|
|
1165
|
+
Env | Env2
|
|
1166
|
+
> {
|
|
1167
|
+
if (currentStep) return currentStep(now, input)
|
|
1168
|
+
return toStep<
|
|
1169
|
+
/**
|
|
1170
|
+
* Returns a new `Schedule` that will first execute the left (i.e. `self`)
|
|
1171
|
+
* schedule to completion. Once the left schedule is complete, the right (i.e.
|
|
1172
|
+
* `other`) schedule will be executed to completion.
|
|
1173
|
+
*
|
|
1174
|
+
* The output of the resulting schedule is a `Result` where outputs of the
|
|
1175
|
+
* left schedule are emitted as `Result.Err<Output>` and outputs of the right
|
|
1176
|
+
* schedule are emitted as `Result.Ok<Output>`.
|
|
1177
|
+
*
|
|
1178
|
+
* @example
|
|
1179
|
+
* ```ts
|
|
1180
|
+
* import { Console, Effect, Result, Schedule } from "effect"
|
|
1181
|
+
*
|
|
1182
|
+
* // Track which phase of the schedule we're in
|
|
1183
|
+
* const phaseTracker = Schedule.andThenResult(
|
|
1184
|
+
* Schedule.exponential("100 millis").pipe(Schedule.take(2)),
|
|
1185
|
+
* Schedule.spaced("500 millis").pipe(Schedule.take(2))
|
|
1186
|
+
* )
|
|
1187
|
+
*
|
|
1188
|
+
* const program = Effect.gen(function*() {
|
|
1189
|
+
* yield* Effect.repeat(
|
|
1190
|
+
* Effect.gen(function*() {
|
|
1191
|
+
* yield* Console.log("Task executed")
|
|
1192
|
+
* return "task-result"
|
|
1193
|
+
* }),
|
|
1194
|
+
* phaseTracker.pipe(
|
|
1195
|
+
* Schedule.tapOutput((result) =>
|
|
1196
|
+
* Result.match(result, {
|
|
1197
|
+
* onFailure: (phase1Output) => Console.log(`Phase 1: ${phase1Output}`),
|
|
1198
|
+
* onSuccess: (phase2Output) => Console.log(`Phase 2: ${phase2Output}`)
|
|
1199
|
+
* })
|
|
1200
|
+
* )
|
|
1201
|
+
* )
|
|
1202
|
+
* )
|
|
1203
|
+
* })
|
|
1204
|
+
* ```
|
|
1205
|
+
*
|
|
1206
|
+
* @since 2.0.0
|
|
1207
|
+
* @category sequencing
|
|
1208
|
+
*/
|
|
1209
|
+
Result.Result<Output, Output2>,
|
|
1210
|
+
/**
|
|
1211
|
+
* Returns a new `Schedule` that will first execute the left (i.e. `self`)
|
|
1212
|
+
* schedule to completion. Once the left schedule is complete, the right (i.e.
|
|
1213
|
+
* `other`) schedule will be executed to completion.
|
|
1214
|
+
*
|
|
1215
|
+
* The output of the resulting schedule is a `Result` where outputs of the
|
|
1216
|
+
* left schedule are emitted as `Result.Err<Output>` and outputs of the right
|
|
1217
|
+
* schedule are emitted as `Result.Ok<Output>`.
|
|
1218
|
+
*
|
|
1219
|
+
* @example
|
|
1220
|
+
* ```ts
|
|
1221
|
+
* import { Console, Effect, Result, Schedule } from "effect"
|
|
1222
|
+
*
|
|
1223
|
+
* // Track which phase of the schedule we're in
|
|
1224
|
+
* const phaseTracker = Schedule.andThenResult(
|
|
1225
|
+
* Schedule.exponential("100 millis").pipe(Schedule.take(2)),
|
|
1226
|
+
* Schedule.spaced("500 millis").pipe(Schedule.take(2))
|
|
1227
|
+
* )
|
|
1228
|
+
*
|
|
1229
|
+
* const program = Effect.gen(function*() {
|
|
1230
|
+
* yield* Effect.repeat(
|
|
1231
|
+
* Effect.gen(function*() {
|
|
1232
|
+
* yield* Console.log("Task executed")
|
|
1233
|
+
* return "task-result"
|
|
1234
|
+
* }),
|
|
1235
|
+
* phaseTracker.pipe(
|
|
1236
|
+
* Schedule.tapOutput((result) =>
|
|
1237
|
+
* Result.match(result, {
|
|
1238
|
+
* onFailure: (phase1Output) => Console.log(`Phase 1: ${phase1Output}`),
|
|
1239
|
+
* onSuccess: (phase2Output) => Console.log(`Phase 2: ${phase2Output}`)
|
|
1240
|
+
* })
|
|
1241
|
+
* )
|
|
1242
|
+
* )
|
|
1243
|
+
* )
|
|
1244
|
+
* })
|
|
1245
|
+
* ```
|
|
1246
|
+
*
|
|
1247
|
+
* @since 2.0.0
|
|
1248
|
+
* @category sequencing
|
|
1249
|
+
*/
|
|
1250
|
+
Input & Input2,
|
|
1251
|
+
/**
|
|
1252
|
+
* Returns a new `Schedule` that will first execute the left (i.e. `self`)
|
|
1253
|
+
* schedule to completion. Once the left schedule is complete, the right (i.e.
|
|
1254
|
+
* `other`) schedule will be executed to completion.
|
|
1255
|
+
*
|
|
1256
|
+
* The output of the resulting schedule is a `Result` where outputs of the
|
|
1257
|
+
* left schedule are emitted as `Result.Err<Output>` and outputs of the right
|
|
1258
|
+
* schedule are emitted as `Result.Ok<Output>`.
|
|
1259
|
+
*
|
|
1260
|
+
* @example
|
|
1261
|
+
* ```ts
|
|
1262
|
+
* import { Console, Effect, Result, Schedule } from "effect"
|
|
1263
|
+
*
|
|
1264
|
+
* // Track which phase of the schedule we're in
|
|
1265
|
+
* const phaseTracker = Schedule.andThenResult(
|
|
1266
|
+
* Schedule.exponential("100 millis").pipe(Schedule.take(2)),
|
|
1267
|
+
* Schedule.spaced("500 millis").pipe(Schedule.take(2))
|
|
1268
|
+
* )
|
|
1269
|
+
*
|
|
1270
|
+
* const program = Effect.gen(function*() {
|
|
1271
|
+
* yield* Effect.repeat(
|
|
1272
|
+
* Effect.gen(function*() {
|
|
1273
|
+
* yield* Console.log("Task executed")
|
|
1274
|
+
* return "task-result"
|
|
1275
|
+
* }),
|
|
1276
|
+
* phaseTracker.pipe(
|
|
1277
|
+
* Schedule.tapOutput((result) =>
|
|
1278
|
+
* Result.match(result, {
|
|
1279
|
+
* onFailure: (phase1Output) => Console.log(`Phase 1: ${phase1Output}`),
|
|
1280
|
+
* onSuccess: (phase2Output) => Console.log(`Phase 2: ${phase2Output}`)
|
|
1281
|
+
* })
|
|
1282
|
+
* )
|
|
1283
|
+
* )
|
|
1284
|
+
* )
|
|
1285
|
+
* })
|
|
1286
|
+
* ```
|
|
1287
|
+
*
|
|
1288
|
+
* @since 2.0.0
|
|
1289
|
+
* @category sequencing
|
|
1290
|
+
*/
|
|
1291
|
+
Error | Error2,
|
|
1292
|
+
/**
|
|
1293
|
+
* Returns a new `Schedule` that will first execute the left (i.e. `self`)
|
|
1294
|
+
* schedule to completion. Once the left schedule is complete, the right (i.e.
|
|
1295
|
+
* `other`) schedule will be executed to completion.
|
|
1296
|
+
*
|
|
1297
|
+
* The output of the resulting schedule is a `Result` where outputs of the
|
|
1298
|
+
* left schedule are emitted as `Result.Err<Output>` and outputs of the right
|
|
1299
|
+
* schedule are emitted as `Result.Ok<Output>`.
|
|
1300
|
+
*
|
|
1301
|
+
* @example
|
|
1302
|
+
* ```ts
|
|
1303
|
+
* import { Console, Effect, Result, Schedule } from "effect"
|
|
1304
|
+
*
|
|
1305
|
+
* // Track which phase of the schedule we're in
|
|
1306
|
+
* const phaseTracker = Schedule.andThenResult(
|
|
1307
|
+
* Schedule.exponential("100 millis").pipe(Schedule.take(2)),
|
|
1308
|
+
* Schedule.spaced("500 millis").pipe(Schedule.take(2))
|
|
1309
|
+
* )
|
|
1310
|
+
*
|
|
1311
|
+
* const program = Effect.gen(function*() {
|
|
1312
|
+
* yield* Effect.repeat(
|
|
1313
|
+
* Effect.gen(function*() {
|
|
1314
|
+
* yield* Console.log("Task executed")
|
|
1315
|
+
* return "task-result"
|
|
1316
|
+
* }),
|
|
1317
|
+
* phaseTracker.pipe(
|
|
1318
|
+
* Schedule.tapOutput((result) =>
|
|
1319
|
+
* Result.match(result, {
|
|
1320
|
+
* onFailure: (phase1Output) => Console.log(`Phase 1: ${phase1Output}`),
|
|
1321
|
+
* onSuccess: (phase2Output) => Console.log(`Phase 2: ${phase2Output}`)
|
|
1322
|
+
* })
|
|
1323
|
+
* )
|
|
1324
|
+
* )
|
|
1325
|
+
* )
|
|
1326
|
+
* })
|
|
1327
|
+
* ```
|
|
1328
|
+
*
|
|
1329
|
+
* @since 2.0.0
|
|
1330
|
+
* @category sequencing
|
|
1331
|
+
*/
|
|
1332
|
+
Env | Env2
|
|
1333
|
+
>(currentSide === 0 ? left : right).pipe(
|
|
1334
|
+
effect.flatMap((step) => {
|
|
1335
|
+
currentSide++
|
|
1336
|
+
if (currentSide === 1) {
|
|
1337
|
+
currentStep = (now, input) =>
|
|
1338
|
+
Pull.catchDone(step(now, input), (_) => {
|
|
1339
|
+
currentStep = undefined
|
|
1340
|
+
return recur(now, input)
|
|
1341
|
+
})
|
|
1342
|
+
return currentStep(now, input)
|
|
1343
|
+
}
|
|
1344
|
+
currentStep = step
|
|
1345
|
+
return currentStep(now, input)
|
|
1346
|
+
})
|
|
1347
|
+
);
|
|
1348
|
+
};
|
|
1349
|
+
})))
|
|
1253
1350
|
|
|
1254
1351
|
/**
|
|
1255
1352
|
* Combines two `Schedule`s by recurring if both of the two schedules want
|
|
@@ -2313,7 +2410,7 @@ export const collectWhile: {
|
|
|
2313
2410
|
<Input, Output, Error2 = never, Env2 = never>(
|
|
2314
2411
|
predicate: (
|
|
2315
2412
|
metadata: Metadata<Output, Input>
|
|
2316
|
-
) => Effect<boolean, Error2, Env2>
|
|
2413
|
+
) => boolean | Effect<boolean, Error2, Env2>
|
|
2317
2414
|
): <Error, Env>(
|
|
2318
2415
|
self: Schedule<Output, Input, Error, Env>
|
|
2319
2416
|
) => Schedule<Array<Output>, Input, Error | Error2, Env | Env2>
|
|
@@ -2425,19 +2522,18 @@ export const collectWhile: {
|
|
|
2425
2522
|
self: Schedule<Output, Input, Error, Env>,
|
|
2426
2523
|
predicate: (
|
|
2427
2524
|
metadata: Metadata<Output, Input>
|
|
2428
|
-
) => Effect<boolean, Error2, Env2>
|
|
2525
|
+
) => boolean | Effect<boolean, Error2, Env2>
|
|
2429
2526
|
): Schedule<Array<Output>, Input, Error | Error2, Env | Env2>
|
|
2430
2527
|
} = dual(2, <Output, Input, Error, Env, Error2 = never, Env2 = never>(
|
|
2431
2528
|
self: Schedule<Output, Input, Error, Env>,
|
|
2432
2529
|
predicate: (
|
|
2433
2530
|
metadata: Metadata<Output, Input>
|
|
2434
|
-
) => Effect<boolean, Error2, Env2>
|
|
2531
|
+
) => boolean | Effect<boolean, Error2, Env2>
|
|
2435
2532
|
): Schedule<Array<Output>, Input, Error | Error2, Env | Env2> =>
|
|
2436
|
-
reduce(while_(self, predicate), () => [] as Array<Output>, (outputs, output) =>
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
})())))
|
|
2533
|
+
reduce(while_(self, predicate), () => [] as Array<Output>, (outputs, output) => {
|
|
2534
|
+
outputs.push(output)
|
|
2535
|
+
return outputs
|
|
2536
|
+
}))
|
|
2441
2537
|
|
|
2442
2538
|
/**
|
|
2443
2539
|
* Returns a new `Schedule` that recurs on the specified `Cron` schedule and
|
|
@@ -2916,6 +3012,24 @@ export const delays = <Out, In, E, R>(self: Schedule<Out, In, E, R>): Schedule<D
|
|
|
2916
3012
|
)
|
|
2917
3013
|
)
|
|
2918
3014
|
|
|
3015
|
+
/**
|
|
3016
|
+
* Returns a schedule that recurs once after the specified duration.
|
|
3017
|
+
*
|
|
3018
|
+
* The schedule outputs the configured duration for its first recurrence and
|
|
3019
|
+
* then completes.
|
|
3020
|
+
*
|
|
3021
|
+
* @since 2.0.0
|
|
3022
|
+
* @category constructors
|
|
3023
|
+
*/
|
|
3024
|
+
export const duration = (durationInput: Duration.Input): Schedule<Duration.Duration> => {
|
|
3025
|
+
const duration = Duration.fromInputUnsafe(durationInput)
|
|
3026
|
+
return fromStepWithMetadata(effect.succeed((meta) =>
|
|
3027
|
+
meta.attempt === 1
|
|
3028
|
+
? effect.succeed([duration, duration])
|
|
3029
|
+
: Cause.done(Duration.zero)
|
|
3030
|
+
))
|
|
3031
|
+
}
|
|
3032
|
+
|
|
2919
3033
|
/**
|
|
2920
3034
|
* Returns a new `Schedule` that will always recur, but only during the
|
|
2921
3035
|
* specified `duration` of time.
|
|
@@ -3001,10 +3115,10 @@ export const delays = <Out, In, E, R>(self: Schedule<Out, In, E, R>): Schedule<D
|
|
|
3001
3115
|
* @since 4.0.0
|
|
3002
3116
|
* @category constructors
|
|
3003
3117
|
*/
|
|
3004
|
-
export const during = (duration: Duration.
|
|
3118
|
+
export const during = (duration: Duration.Input): Schedule<Duration.Duration> =>
|
|
3005
3119
|
while_(
|
|
3006
3120
|
elapsed,
|
|
3007
|
-
({ output }) => effect.succeed(Duration.isLessThanOrEqualTo(output, Duration.
|
|
3121
|
+
({ output }) => effect.succeed(Duration.isLessThanOrEqualTo(output, Duration.fromInputUnsafe(duration)))
|
|
3008
3122
|
)
|
|
3009
3123
|
|
|
3010
3124
|
/**
|
|
@@ -3744,10 +3858,10 @@ export const elapsed: Schedule<Duration.Duration> = fromStepWithMetadata(
|
|
|
3744
3858
|
* @category constructors
|
|
3745
3859
|
*/
|
|
3746
3860
|
export const exponential = (
|
|
3747
|
-
base: Duration.
|
|
3861
|
+
base: Duration.Input,
|
|
3748
3862
|
factor: number = 2
|
|
3749
3863
|
): Schedule<Duration.Duration> => {
|
|
3750
|
-
const baseMillis = Duration.toMillis(Duration.
|
|
3864
|
+
const baseMillis = Duration.toMillis(Duration.fromInputUnsafe(base))
|
|
3751
3865
|
return fromStepWithMetadata(effect.succeed((meta) => {
|
|
3752
3866
|
const duration = Duration.millis(baseMillis * Math.pow(factor, meta.attempt - 1))
|
|
3753
3867
|
return effect.succeed([duration, duration])
|
|
@@ -3818,8 +3932,8 @@ export const exponential = (
|
|
|
3818
3932
|
* @since 2.0.0
|
|
3819
3933
|
* @category constructors
|
|
3820
3934
|
*/
|
|
3821
|
-
export const fibonacci = (one: Duration.
|
|
3822
|
-
const oneMillis = Duration.toMillis(Duration.
|
|
3935
|
+
export const fibonacci = (one: Duration.Input): Schedule<Duration.Duration> => {
|
|
3936
|
+
const oneMillis = Duration.toMillis(Duration.fromInputUnsafe(one))
|
|
3823
3937
|
return fromStep(effect.sync(() => {
|
|
3824
3938
|
let a = 0
|
|
3825
3939
|
let b = oneMillis
|
|
@@ -3895,12 +4009,12 @@ export const fibonacci = (one: Duration.DurationInput): Schedule<Duration.Durati
|
|
|
3895
4009
|
* @since 2.0.0
|
|
3896
4010
|
* @category constructors
|
|
3897
4011
|
*/
|
|
3898
|
-
export const fixed = (interval: Duration.
|
|
3899
|
-
const window = Duration.toMillis(Duration.
|
|
4012
|
+
export const fixed = (interval: Duration.Input): Schedule<number> => {
|
|
4013
|
+
const window = Duration.toMillis(Duration.fromInputUnsafe(interval))
|
|
3900
4014
|
return fromStepWithMetadata(effect.succeed((meta) =>
|
|
3901
4015
|
effect.succeed([
|
|
3902
4016
|
meta.attempt - 1,
|
|
3903
|
-
window === 0
|
|
4017
|
+
window === 0
|
|
3904
4018
|
? Duration.zero
|
|
3905
4019
|
: Duration.millis(window - (meta.elapsed % window))
|
|
3906
4020
|
])
|
|
@@ -4032,7 +4146,7 @@ export const map: {
|
|
|
4032
4146
|
* @since 2.0.0
|
|
4033
4147
|
* @category mapping
|
|
4034
4148
|
*/
|
|
4035
|
-
<Output, Output2, Error2 = never, Env2 = never>(f: (output: Output) => Effect<Output2, Error2, Env2>): <Input, Error, Env>(
|
|
4149
|
+
<Output, Output2, Error2 = never, Env2 = never>(f: (output: Output) => Output2 | Effect<Output2, Error2, Env2>): <Input, Error, Env>(
|
|
4036
4150
|
self: Schedule<Output, Input, Error, Env>
|
|
4037
4151
|
) => Schedule<Output2, Input, Error | Error2, Env | Env2>
|
|
4038
4152
|
/**
|
|
@@ -4099,17 +4213,24 @@ export const map: {
|
|
|
4099
4213
|
*/
|
|
4100
4214
|
<Output, Input, Error, Env, Output2, Error2 = never, Env2 = never>(
|
|
4101
4215
|
self: Schedule<Output, Input, Error, Env>,
|
|
4102
|
-
f: (output: Output) => Effect<Output2, Error2, Env2>
|
|
4216
|
+
f: (output: Output) => Output2 | Effect<Output2, Error2, Env2>
|
|
4103
4217
|
): Schedule<Output2, Input, Error | Error2, Env | Env2>
|
|
4104
4218
|
} = dual(2, <Output, Input, Error, Env, Output2, Error2 = never, Env2 = never>(
|
|
4105
4219
|
self: Schedule<Output, Input, Error, Env>,
|
|
4106
|
-
f: (output: Output) => Effect<Output2, Error2, Env2>
|
|
4220
|
+
f: (output: Output) => Output2 | Effect<Output2, Error2, Env2>
|
|
4107
4221
|
): Schedule<Output2, Input, Error | Error2, Env | Env2> => {
|
|
4108
4222
|
const handle = Pull.matchEffect({
|
|
4109
|
-
onSuccess: ([output, duration]: [Output, Duration.Duration]) =>
|
|
4110
|
-
|
|
4223
|
+
onSuccess: ([output, duration]: [Output, Duration.Duration]) => {
|
|
4224
|
+
const result = f(output)
|
|
4225
|
+
if (!isEffect(result)) return effect.succeed([result, duration] as [Output2, Duration.Duration])
|
|
4226
|
+
return effect.map(result, (output) => [output, duration] as [Output2, Duration.Duration])
|
|
4227
|
+
},
|
|
4111
4228
|
onFailure: effect.failCause<Error>,
|
|
4112
|
-
onDone: (output: Output) =>
|
|
4229
|
+
onDone: (output: Output) => {
|
|
4230
|
+
const result = f(output)
|
|
4231
|
+
if (!isEffect(result)) return Cause.done(result as Output2)
|
|
4232
|
+
return effect.flatMap(result, Cause.done)
|
|
4233
|
+
}
|
|
4113
4234
|
})
|
|
4114
4235
|
return fromStep(effect.map(toStep(self), (step) => (now, input) => handle(step(now, input))))
|
|
4115
4236
|
})
|
|
@@ -4183,7 +4304,7 @@ export const modifyDelay: {
|
|
|
4183
4304
|
f: (
|
|
4184
4305
|
output: Output,
|
|
4185
4306
|
delay: Duration.Duration
|
|
4186
|
-
) => Effect<Duration.
|
|
4307
|
+
) => Effect<Duration.Input, Error2, Env2>
|
|
4187
4308
|
): <Input, Error, Env>(
|
|
4188
4309
|
self: Schedule<Output, Input, Error, Env>
|
|
4189
4310
|
) => Schedule<Output, Input, Error | Error2, Env | Env2>
|
|
@@ -4223,22 +4344,39 @@ export const modifyDelay: {
|
|
|
4223
4344
|
self: Schedule<Output, Input, Error, Env>,
|
|
4224
4345
|
f: (
|
|
4225
4346
|
output: Output,
|
|
4226
|
-
delay: Duration.
|
|
4227
|
-
) => Effect<Duration.
|
|
4347
|
+
delay: Duration.Input
|
|
4348
|
+
) => Effect<Duration.Input, Error2, Env2>
|
|
4228
4349
|
): Schedule<Output, Input, Error | Error2, Env | Env2>
|
|
4229
4350
|
} = dual(2, <Output, Input, Error, Env, Error2 = never, Env2 = never>(
|
|
4230
4351
|
self: Schedule<Output, Input, Error, Env>,
|
|
4231
4352
|
f: (
|
|
4232
4353
|
output: Output,
|
|
4233
|
-
delay: Duration.
|
|
4234
|
-
) => Effect<Duration.
|
|
4354
|
+
delay: Duration.Input
|
|
4355
|
+
) => Effect<Duration.Input, Error2, Env2>
|
|
4235
4356
|
): Schedule<Output, Input, Error | Error2, Env | Env2> =>
|
|
4236
4357
|
fromStep(effect.map(toStep(self), (step) => (now, input) =>
|
|
4237
4358
|
effect.flatMap(
|
|
4238
4359
|
step(now, input),
|
|
4239
|
-
([output, delay]) => effect.map(f(output, delay), (delay) => [output, Duration.
|
|
4360
|
+
([output, delay]) => effect.map(f(output, delay), (delay) => [output, Duration.fromInputUnsafe(delay)])
|
|
4240
4361
|
))))
|
|
4241
4362
|
|
|
4363
|
+
/**
|
|
4364
|
+
* Returns a new `Schedule` that randomly adjusts each recurrence delay.
|
|
4365
|
+
*
|
|
4366
|
+
* Delays are jittered between `80%` and `120%` of the original delay.
|
|
4367
|
+
*
|
|
4368
|
+
* @since 2.0.0
|
|
4369
|
+
* @category utilities
|
|
4370
|
+
*/
|
|
4371
|
+
export const jittered = <Output, Input, Error, Env>(
|
|
4372
|
+
self: Schedule<Output, Input, Error, Env>
|
|
4373
|
+
): Schedule<Output, Input, Error, Env> =>
|
|
4374
|
+
modifyDelay(self, (_, delay) =>
|
|
4375
|
+
effect.map(randomNext, (random) => {
|
|
4376
|
+
const millis = Duration.toMillis(Duration.fromInputUnsafe(delay))
|
|
4377
|
+
return Duration.millis(millis * 0.8 * (1 - random) + millis * 1.2 * random)
|
|
4378
|
+
}))
|
|
4379
|
+
|
|
4242
4380
|
/**
|
|
4243
4381
|
* Returns a new `Schedule` that outputs the inputs of the specified schedule.
|
|
4244
4382
|
*
|
|
@@ -4559,7 +4697,7 @@ export const reduce: {
|
|
|
4559
4697
|
*/
|
|
4560
4698
|
<State, Output, Error2 = never, Env2 = never>(
|
|
4561
4699
|
initial: LazyArg<State>,
|
|
4562
|
-
combine: (state: State, output: Output) => Effect<State, Error2, Env2>
|
|
4700
|
+
combine: (state: State, output: Output) => State | Effect<State, Error2, Env2>
|
|
4563
4701
|
): <Input, Error, Env>(
|
|
4564
4702
|
self: Schedule<Output, Input, Error, Env>
|
|
4565
4703
|
) => Schedule<State, Input, Error | Error2, Env | Env2>
|
|
@@ -4677,24 +4815,30 @@ export const reduce: {
|
|
|
4677
4815
|
<Output, Input, Error, Env, State, Error2 = never, Env2 = never>(
|
|
4678
4816
|
self: Schedule<Output, Input, Error, Env>,
|
|
4679
4817
|
initial: LazyArg<State>,
|
|
4680
|
-
combine: (state: State, output: Output) => Effect<State, Error2, Env2>
|
|
4818
|
+
combine: (state: State, output: Output) => State | Effect<State, Error2, Env2>
|
|
4681
4819
|
): Schedule<State, Input, Error | Error2, Env | Env2>
|
|
4682
4820
|
} = dual(3, <Output, Input, Error, Env, State, Error2 = never, Env2 = never>(
|
|
4683
4821
|
self: Schedule<Output, Input, Error, Env>,
|
|
4684
4822
|
initial: LazyArg<State>,
|
|
4685
|
-
combine: (state: State, output: Output) => Effect<State, Error2, Env2>
|
|
4823
|
+
combine: (state: State, output: Output) => State | Effect<State, Error2, Env2>
|
|
4686
4824
|
): Schedule<State, Input, Error | Error2, Env | Env2> =>
|
|
4687
4825
|
fromStep(effect.map(toStep(self), (step) => {
|
|
4688
4826
|
let state = initial()
|
|
4689
4827
|
return (now, input) =>
|
|
4690
4828
|
Pull.matchEffect(step(now, input), {
|
|
4691
|
-
onSuccess
|
|
4692
|
-
|
|
4829
|
+
onSuccess([output, delay]) {
|
|
4830
|
+
const next = combine(state, output)
|
|
4831
|
+
if (!isEffect(next)) return effect.succeed([next, delay] as [State, Duration.Duration])
|
|
4832
|
+
return effect.map(next, (nextState) => {
|
|
4693
4833
|
state = nextState
|
|
4694
4834
|
return [nextState, delay]
|
|
4695
|
-
})
|
|
4835
|
+
})
|
|
4836
|
+
},
|
|
4696
4837
|
onFailure: effect.failCause,
|
|
4697
|
-
onDone
|
|
4838
|
+
onDone(output) {
|
|
4839
|
+
const next = combine(state, output)
|
|
4840
|
+
return isEffect(next) ? effect.flatMap(next, Cause.done) : Cause.done(next)
|
|
4841
|
+
}
|
|
4698
4842
|
})
|
|
4699
4843
|
})))
|
|
4700
4844
|
|
|
@@ -4747,8 +4891,8 @@ export const reduce: {
|
|
|
4747
4891
|
* @since 2.0.0
|
|
4748
4892
|
* @category constructors
|
|
4749
4893
|
*/
|
|
4750
|
-
export const spaced = (duration: Duration.
|
|
4751
|
-
const decoded = Duration.
|
|
4894
|
+
export const spaced = (duration: Duration.Input): Schedule<number> => {
|
|
4895
|
+
const decoded = Duration.fromInputUnsafe(duration)
|
|
4752
4896
|
return fromStepWithMetadata(effect.succeed((meta) => effect.succeed([meta.attempt - 1, decoded])))
|
|
4753
4897
|
}
|
|
4754
4898
|
|
|
@@ -5761,7 +5905,7 @@ const while_: {
|
|
|
5761
5905
|
<Input, Output, Error2 = never, Env2 = never>(
|
|
5762
5906
|
predicate: (
|
|
5763
5907
|
metadata: Metadata<Output, Input>
|
|
5764
|
-
) => Effect<boolean, Error2, Env2>
|
|
5908
|
+
) => boolean | Effect<boolean, Error2, Env2>
|
|
5765
5909
|
): <Error, Env>(
|
|
5766
5910
|
self: Schedule<Output, Input, Error, Env>
|
|
5767
5911
|
) => Schedule<Output, Input, Error | Error2, Env | Env2>
|
|
@@ -5769,21 +5913,22 @@ const while_: {
|
|
|
5769
5913
|
self: Schedule<Output, Input, Error, Env>,
|
|
5770
5914
|
predicate: (
|
|
5771
5915
|
metadata: Metadata<Output, Input>
|
|
5772
|
-
) => Effect<boolean, Error2, Env2>
|
|
5916
|
+
) => boolean | Effect<boolean, Error2, Env2>
|
|
5773
5917
|
): Schedule<Output, Input, Error | Error2, Env | Env2>
|
|
5774
5918
|
} = dual(2, <Output, Input, Error, Env, Error2 = never, Env2 = never>(
|
|
5775
5919
|
self: Schedule<Output, Input, Error, Env>,
|
|
5776
5920
|
predicate: (
|
|
5777
5921
|
metadata: Metadata<Output, Input>
|
|
5778
|
-
) => Effect<boolean, Error2, Env2>
|
|
5922
|
+
) => boolean | Effect<boolean, Error2, Env2>
|
|
5779
5923
|
): Schedule<Output, Input, Error | Error2, Env | Env2> =>
|
|
5780
5924
|
fromStep(effect.map(toStep(self), (step) => {
|
|
5781
5925
|
const meta = metadataFn()
|
|
5782
5926
|
return (now, input) =>
|
|
5783
5927
|
effect.flatMap(step(now, input), (result) => {
|
|
5784
5928
|
const [output, duration] = result
|
|
5929
|
+
const eff = predicate({ ...meta(now, input), output, duration })
|
|
5785
5930
|
return effect.flatMap(
|
|
5786
|
-
|
|
5931
|
+
isEffect(eff) ? eff : effect.succeed(eff),
|
|
5787
5932
|
(check) => (check ? effect.succeed(result) : Cause.done(output))
|
|
5788
5933
|
)
|
|
5789
5934
|
})
|
|
@@ -5838,8 +5983,8 @@ export {
|
|
|
5838
5983
|
* @since 2.0.0
|
|
5839
5984
|
* @category constructors
|
|
5840
5985
|
*/
|
|
5841
|
-
export const windowed = (interval: Duration.
|
|
5842
|
-
const window = Duration.toMillis(Duration.
|
|
5986
|
+
export const windowed = (interval: Duration.Input): Schedule<number> => {
|
|
5987
|
+
const window = Duration.toMillis(Duration.fromInputUnsafe(interval))
|
|
5843
5988
|
return fromStepWithMetadata(effect.succeed((meta) =>
|
|
5844
5989
|
effect.sync(() => [
|
|
5845
5990
|
meta.attempt - 1,
|
|
@@ -5929,6 +6074,16 @@ export const satisfiesInputType = <T>() =>
|
|
|
5929
6074
|
self: Schedule<Output, Input, Error, Env>
|
|
5930
6075
|
): Schedule<Output, Input, Error, Env> => self
|
|
5931
6076
|
|
|
6077
|
+
/**
|
|
6078
|
+
* Sets the input type of the provided schedule to a specified type, without
|
|
6079
|
+
* altering the schedule's behavior.
|
|
6080
|
+
*
|
|
6081
|
+
* @since 2.0.0
|
|
6082
|
+
* @category ensuring types
|
|
6083
|
+
*/
|
|
6084
|
+
export const setInputType =
|
|
6085
|
+
<T>() => <Output, Error, Env>(self: Schedule<Output, T, Error, Env>): Schedule<Output, T, Error, Env> => self
|
|
6086
|
+
|
|
5932
6087
|
/**
|
|
5933
6088
|
* Ensures that the provided schedule respects a specified output type.
|
|
5934
6089
|
*
|