effect 4.0.0-beta.3 → 4.0.0-beta.30
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 +126 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Brand.d.ts +1 -1
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +1 -1
- package/dist/Brand.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 +2 -2
- 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 +65 -10
- 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 +535 -366
- 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 +11 -11
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +11 -11
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1206 -924
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +390 -329
- 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 +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +244 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Exit.d.ts +24 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -4
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +3 -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 +34 -38
- 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/Function.d.ts +1 -9
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +2 -10
- package/dist/Function.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 +39 -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 +121 -126
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +43 -44
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +8 -8
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +3 -3
- 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 +2 -2
- package/dist/ManagedRuntime.js +2 -2
- package/dist/Metric.d.ts +4 -6
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +3 -5
- package/dist/Metric.js.map +1 -1
- package/dist/Newtype.d.ts +291 -0
- package/dist/Newtype.d.ts.map +1 -0
- package/dist/Newtype.js +161 -0
- package/dist/Newtype.js.map +1 -0
- 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 +23 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- 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 +23 -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 +9 -4
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +6 -1
- package/dist/References.js.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 +25 -45
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +10 -30
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -2
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +66 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +79 -6
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +191 -102
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +152 -66
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +9 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +11 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +309 -88
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +499 -109
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +129 -23
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +5 -5
- 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 +49 -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 +41 -31
- 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/Stdio.d.ts +16 -4
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +18 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +250 -428
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +137 -82
- 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 +80 -23
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts +137 -65
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +38 -66
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +718 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +718 -23
- 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 +264 -126
- 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/representation.js +47 -106
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/to-codec.js +7 -10
- package/dist/internal/schema/to-codec.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 +8 -7
- 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 +266 -32
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +296 -23
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +64 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +64 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +134 -51
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +19 -16
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +5 -5
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +38 -44
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +16 -30
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +97 -37
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +183 -88
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +57 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +66 -13
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +193 -51
- 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 +20 -4
- 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/Toolkit.d.ts +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +4 -11
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +0 -5
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +27 -60
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +25 -57
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +368 -56
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +325 -64
- 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/Primitive.d.ts +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Prompt.js +35 -8
- package/dist/unstable/cli/Prompt.js.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 +40 -14
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +72 -46
- 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/config.js +42 -0
- package/dist/unstable/cli/internal/config.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 +125 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +55 -42
- 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 +47 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +24 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +16 -0
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +38 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +3 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +6 -6
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +117 -15
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +189 -12
- 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 +16 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +31 -20
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +4 -0
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +7 -5
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +46 -54
- 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 +12 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +291 -1
- package/dist/unstable/http/HttpServerRequest.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 +50 -3
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +234 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
- package/dist/unstable/http/HttpStaticServer.js +353 -0
- package/dist/unstable/http/HttpStaticServer.js.map +1 -0
- 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/index.d.ts +4 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +4 -0
- package/dist/unstable/http/index.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 +4 -4
- 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 +28 -18
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +66 -6
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +40 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +41 -54
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +17 -26
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +16 -14
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +44 -29
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -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 +73 -12
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +107 -20
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +10 -12
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +42 -12
- 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 +50 -9
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +47 -21
- 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 +5 -5
- 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 +8 -8
- 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 +5 -9
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +17 -17
- 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 +3 -2
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +22 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +15 -0
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +5 -5
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +6 -6
- 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/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +17 -8
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +17 -6
- 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 +192 -342
- package/src/Brand.ts +1 -1
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +2 -2
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +186 -24
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +13 -13
- package/src/Effect.ts +1477 -1126
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +457 -0
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +10 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +52 -63
- package/src/Formatter.ts +253 -51
- package/src/Function.ts +2 -10
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +104 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +123 -132
- package/src/LayerMap.ts +9 -9
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +2 -2
- package/src/Metric.ts +6 -8
- package/src/Newtype.ts +308 -0
- package/src/Optic.ts +948 -19
- package/src/Option.ts +32 -24
- 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 +42 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +10 -5
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +29 -49
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +462 -242
- package/src/Scheduler.ts +12 -0
- package/src/Schema.ts +796 -194
- package/src/SchemaAST.ts +164 -31
- package/src/SchemaGetter.ts +15 -17
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +49 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +50 -40
- package/src/Sink.ts +78 -26
- package/src/Stdio.ts +27 -4
- package/src/Stream.ts +586 -608
- 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 +73 -19
- package/src/Utils.ts +137 -111
- package/src/index.ts +728 -24
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +774 -301
- package/src/internal/hashMap.ts +8 -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/representation.ts +45 -94
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/schema/to-codec.ts +7 -17
- package/src/internal/trie.ts +15 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +332 -35
- package/src/testing/index.ts +64 -1
- package/src/unstable/ai/AiError.ts +105 -48
- package/src/unstable/ai/Chat.ts +47 -61
- package/src/unstable/ai/LanguageModel.ts +153 -68
- package/src/unstable/ai/McpSchema.ts +73 -13
- package/src/unstable/ai/McpServer.ts +271 -61
- 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 +20 -14
- package/src/unstable/ai/Toolkit.ts +5 -14
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/ai/internal/codec-transformer.ts +0 -7
- package/src/unstable/cli/CliError.ts +47 -59
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +796 -187
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/Primitive.ts +1 -1
- package/src/unstable/cli/Prompt.ts +31 -9
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +109 -63
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/config.ts +49 -0
- package/src/unstable/cli/internal/help.ts +171 -0
- package/src/unstable/cli/internal/parser.ts +66 -61
- 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 +87 -3
- package/src/unstable/http/Headers.ts +62 -13
- package/src/unstable/http/HttpBody.ts +6 -6
- package/src/unstable/http/HttpClient.ts +374 -33
- package/src/unstable/http/HttpClientRequest.ts +38 -30
- package/src/unstable/http/HttpClientResponse.ts +7 -2
- package/src/unstable/http/HttpEffect.ts +54 -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 +389 -2
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +337 -4
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/index.ts +5 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -6
- package/src/unstable/httpapi/HttpApiBuilder.ts +81 -28
- package/src/unstable/httpapi/HttpApiClient.ts +100 -11
- package/src/unstable/httpapi/HttpApiEndpoint.ts +71 -87
- package/src/unstable/httpapi/HttpApiError.ts +51 -28
- package/src/unstable/httpapi/HttpApiGroup.ts +7 -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 +211 -50
- package/src/unstable/reactivity/AtomHttpApi.ts +66 -31
- package/src/unstable/reactivity/AtomRegistry.ts +61 -9
- package/src/unstable/reactivity/AtomRpc.ts +51 -20
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +7 -9
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +15 -9
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +28 -32
- package/src/unstable/rpc/Utils.ts +3 -2
- package/src/unstable/schema/Model.ts +31 -0
- package/src/unstable/schema/VariantSchema.ts +9 -9
- 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/SqlResolver.ts +17 -7
- package/src/unstable/sql/SqlSchema.ts +42 -26
- 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
|
@@ -25,7 +25,7 @@ import * as Scope from "../../Scope.ts"
|
|
|
25
25
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
26
26
|
import * as Stream from "../../Stream.ts"
|
|
27
27
|
import * as SubscriptionRef from "../../SubscriptionRef.ts"
|
|
28
|
-
import type { NoInfer } from "../../Types.ts"
|
|
28
|
+
import type { Mutable, NoInfer } from "../../Types.ts"
|
|
29
29
|
import * as KeyValueStore from "../persistence/KeyValueStore.ts"
|
|
30
30
|
import * as AsyncResult from "./AsyncResult.ts"
|
|
31
31
|
import { AtomRegistry } from "./AtomRegistry.ts"
|
|
@@ -56,6 +56,7 @@ export interface Atom<A> extends Pipeable, Inspectable.Inspectable {
|
|
|
56
56
|
readonly refresh?: (f: <A>(atom: Atom<A>) => void) => void
|
|
57
57
|
readonly label?: readonly [name: string, stack: string]
|
|
58
58
|
readonly idleTTL?: number
|
|
59
|
+
readonly initialValueTarget?: Atom<A>
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
/**
|
|
@@ -169,25 +170,25 @@ export const setIdleTTL: {
|
|
|
169
170
|
* @since 4.0.0
|
|
170
171
|
* @category combinators
|
|
171
172
|
*/
|
|
172
|
-
(duration: Duration.
|
|
173
|
+
(duration: Duration.Input): <A extends Atom<any>>(self: A) => A
|
|
173
174
|
/**
|
|
174
175
|
* @since 4.0.0
|
|
175
176
|
* @category combinators
|
|
176
177
|
*/
|
|
177
|
-
<A extends Atom<any>>(self: A, duration: Duration.
|
|
178
|
+
<A extends Atom<any>>(self: A, duration: Duration.Input): A
|
|
178
179
|
} = dual<
|
|
179
180
|
/**
|
|
180
181
|
* @since 4.0.0
|
|
181
182
|
* @category combinators
|
|
182
183
|
*/
|
|
183
|
-
(duration: Duration.
|
|
184
|
+
(duration: Duration.Input) => <A extends Atom<any>>(self: A) => A,
|
|
184
185
|
/**
|
|
185
186
|
* @since 4.0.0
|
|
186
187
|
* @category combinators
|
|
187
188
|
*/
|
|
188
|
-
<A extends Atom<any>>(self: A, duration: Duration.
|
|
189
|
+
<A extends Atom<any>>(self: A, duration: Duration.Input) => A
|
|
189
190
|
>(2, (self, durationInput) => {
|
|
190
|
-
const duration = Duration.
|
|
191
|
+
const duration = Duration.fromInputUnsafe(durationInput)
|
|
191
192
|
const isFinite = Duration.isFinite(duration)
|
|
192
193
|
return Object.assign(Object.create(Object.getPrototypeOf(self)), {
|
|
193
194
|
...self,
|
|
@@ -417,7 +418,7 @@ export const make: {
|
|
|
417
418
|
options?: {
|
|
418
419
|
readonly initialValue?: A
|
|
419
420
|
}
|
|
420
|
-
): Atom<AsyncResult.AsyncResult<A, E>>
|
|
421
|
+
): Atom<AsyncResult.AsyncResult<A, E | Cause.NoSuchElementError>>
|
|
421
422
|
// -----------------------------------------------------------------------------
|
|
422
423
|
// constructors
|
|
423
424
|
// -----------------------------------------------------------------------------
|
|
@@ -431,7 +432,7 @@ export const make: {
|
|
|
431
432
|
options?: {
|
|
432
433
|
readonly initialValue?: A
|
|
433
434
|
}
|
|
434
|
-
): Atom<AsyncResult.AsyncResult<A, E>>
|
|
435
|
+
): Atom<AsyncResult.AsyncResult<A, E | Cause.NoSuchElementError>>
|
|
435
436
|
// -----------------------------------------------------------------------------
|
|
436
437
|
// constructors
|
|
437
438
|
// -----------------------------------------------------------------------------
|
|
@@ -477,11 +478,11 @@ const makeRead: {
|
|
|
477
478
|
<A, E>(stream: Stream.Stream<A, E, AtomRegistry>, options?: {
|
|
478
479
|
readonly initialValue?: A
|
|
479
480
|
readonly uninterruptible?: boolean | undefined
|
|
480
|
-
}): (get: Context, services?: ServiceMap.ServiceMap<any>) => AsyncResult.AsyncResult<A, E>
|
|
481
|
+
}): (get: Context, services?: ServiceMap.ServiceMap<any>) => AsyncResult.AsyncResult<A, E | Cause.NoSuchElementError>
|
|
481
482
|
<A, E>(create: (get: Context) => Stream.Stream<A, E, AtomRegistry>, options?: {
|
|
482
483
|
readonly initialValue?: A
|
|
483
484
|
readonly uninterruptible?: boolean | undefined
|
|
484
|
-
}): (get: Context, services?: ServiceMap.ServiceMap<any>) => AsyncResult.AsyncResult<A, E>
|
|
485
|
+
}): (get: Context, services?: ServiceMap.ServiceMap<any>) => AsyncResult.AsyncResult<A, E | Cause.NoSuchElementError>
|
|
485
486
|
<A>(create: (get: Context) => A): (get: Context, services?: ServiceMap.ServiceMap<any>) => A
|
|
486
487
|
<A>(initialValue: A): Writable<A>
|
|
487
488
|
} = <A, E>(
|
|
@@ -653,10 +654,10 @@ export interface AtomRuntime<R, ER = never> extends Atom<AsyncResult.AsyncResult
|
|
|
653
654
|
}): Atom<AsyncResult.AsyncResult<A, E | ER>>
|
|
654
655
|
<A, E>(create: (get: Context) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>, options?: {
|
|
655
656
|
readonly initialValue?: A
|
|
656
|
-
}): Atom<AsyncResult.AsyncResult<A, E | ER>>
|
|
657
|
+
}): Atom<AsyncResult.AsyncResult<A, E | ER | Cause.NoSuchElementError>>
|
|
657
658
|
<A, E>(stream: Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>, options?: {
|
|
658
659
|
readonly initialValue?: A
|
|
659
|
-
}): Atom<AsyncResult.AsyncResult<A, E | ER>>
|
|
660
|
+
}): Atom<AsyncResult.AsyncResult<A, E | ER | Cause.NoSuchElementError>>
|
|
660
661
|
}
|
|
661
662
|
|
|
662
663
|
readonly fn: {
|
|
@@ -792,7 +793,7 @@ export const context: (options: {
|
|
|
792
793
|
}))
|
|
793
794
|
get.subscribe(atom, (value) => get.setSelf(value))
|
|
794
795
|
return get.once(atom)
|
|
795
|
-
}) as any as A
|
|
796
|
+
}, { initialValueTarget: atom }) as any as A
|
|
796
797
|
return factory
|
|
797
798
|
}
|
|
798
799
|
|
|
@@ -1600,33 +1601,67 @@ export const transform: {
|
|
|
1600
1601
|
* @since 4.0.0
|
|
1601
1602
|
* @category combinators
|
|
1602
1603
|
*/
|
|
1603
|
-
<R extends Atom<any>, B>(
|
|
1604
|
+
<R extends Atom<any>, B>(
|
|
1605
|
+
f: (get: Context, atom: R) => B,
|
|
1606
|
+
options?: {
|
|
1607
|
+
readonly initialValueTarget?: Atom<B> | undefined
|
|
1608
|
+
}
|
|
1609
|
+
): (self: R) => [R] extends [Writable<infer _, infer RW>] ? Writable<B, RW> : Atom<B>
|
|
1604
1610
|
/**
|
|
1605
1611
|
* @since 4.0.0
|
|
1606
1612
|
* @category combinators
|
|
1607
1613
|
*/
|
|
1608
|
-
<R extends Atom<any>, B>(
|
|
1614
|
+
<R extends Atom<any>, B>(
|
|
1615
|
+
self: R,
|
|
1616
|
+
f: (get: Context, atom: R) => B,
|
|
1617
|
+
options?: {
|
|
1618
|
+
readonly initialValueTarget?: Atom<B> | undefined
|
|
1619
|
+
}
|
|
1620
|
+
): [R] extends [Writable<infer _, infer RW>] ? Writable<B, RW> : Atom<B>
|
|
1609
1621
|
} = dual(
|
|
1610
|
-
|
|
1611
|
-
(<A, B>(
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
)
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1622
|
+
(args) => isAtom(args[0]),
|
|
1623
|
+
(<A, B>(
|
|
1624
|
+
self: Atom<A>,
|
|
1625
|
+
f: (get: Context, atom: Atom<A>, options?: {
|
|
1626
|
+
readonly initialValueTarget?: Atom<B> | undefined
|
|
1627
|
+
}) => B,
|
|
1628
|
+
options?: {
|
|
1629
|
+
readonly initialValueTarget?: Atom<B> | undefined
|
|
1630
|
+
}
|
|
1631
|
+
): Atom<B> => {
|
|
1632
|
+
const atom = removeTtl(
|
|
1633
|
+
isWritable(self)
|
|
1634
|
+
? writable(
|
|
1635
|
+
(get) => f(get, self),
|
|
1636
|
+
function(ctx, value) {
|
|
1637
|
+
ctx.set(self, value)
|
|
1638
|
+
},
|
|
1639
|
+
self.refresh ?? function(refresh) {
|
|
1640
|
+
refresh(self)
|
|
1641
|
+
}
|
|
1642
|
+
)
|
|
1643
|
+
: readable(
|
|
1644
|
+
(get) => f(get, self),
|
|
1645
|
+
self.refresh ?? function(refresh) {
|
|
1646
|
+
refresh(self)
|
|
1647
|
+
}
|
|
1648
|
+
)
|
|
1649
|
+
)
|
|
1650
|
+
if (options?.initialValueTarget) {
|
|
1651
|
+
;(atom as Mutable<Atom<B>>).initialValueTarget = getInitialValueTarget(options.initialValueTarget)
|
|
1652
|
+
}
|
|
1653
|
+
return atom
|
|
1654
|
+
}) as any
|
|
1628
1655
|
)
|
|
1629
1656
|
|
|
1657
|
+
const getInitialValueTarget = <A>(atom: Atom<A>): Atom<A> => {
|
|
1658
|
+
let target = atom
|
|
1659
|
+
while (target.initialValueTarget) {
|
|
1660
|
+
target = target.initialValueTarget
|
|
1661
|
+
}
|
|
1662
|
+
return target
|
|
1663
|
+
}
|
|
1664
|
+
|
|
1630
1665
|
/**
|
|
1631
1666
|
* @since 4.0.0
|
|
1632
1667
|
* @category combinators
|
|
@@ -1684,16 +1719,16 @@ export const debounce: {
|
|
|
1684
1719
|
* @since 4.0.0
|
|
1685
1720
|
* @category combinators
|
|
1686
1721
|
*/
|
|
1687
|
-
(duration: Duration.
|
|
1722
|
+
(duration: Duration.Input): <A extends Atom<any>>(self: A) => WithoutSerializable<A>
|
|
1688
1723
|
/**
|
|
1689
1724
|
* @since 4.0.0
|
|
1690
1725
|
* @category combinators
|
|
1691
1726
|
*/
|
|
1692
|
-
<A extends Atom<any>>(self: A, duration: Duration.
|
|
1727
|
+
<A extends Atom<any>>(self: A, duration: Duration.Input): WithoutSerializable<A>
|
|
1693
1728
|
} = dual(
|
|
1694
1729
|
2,
|
|
1695
|
-
<A>(self: Atom<A>, duration: Duration.
|
|
1696
|
-
const millis = Duration.toMillis(Duration.
|
|
1730
|
+
<A>(self: Atom<A>, duration: Duration.Input): Atom<A> => {
|
|
1731
|
+
const millis = Duration.toMillis(Duration.fromInputUnsafe(duration))
|
|
1697
1732
|
return transform(self, function(get) {
|
|
1698
1733
|
let timeout: number | undefined
|
|
1699
1734
|
let value = get.once(self)
|
|
@@ -1710,7 +1745,7 @@ export const debounce: {
|
|
|
1710
1745
|
timeout = setTimeout(update, millis) as any
|
|
1711
1746
|
})
|
|
1712
1747
|
return value
|
|
1713
|
-
})
|
|
1748
|
+
}, { initialValueTarget: self })
|
|
1714
1749
|
}
|
|
1715
1750
|
)
|
|
1716
1751
|
|
|
@@ -1729,7 +1764,7 @@ export const withRefresh: {
|
|
|
1729
1764
|
* @since 4.0.0
|
|
1730
1765
|
* @category combinators
|
|
1731
1766
|
*/
|
|
1732
|
-
(duration: Duration.
|
|
1767
|
+
(duration: Duration.Input): <A extends Atom<any>>(self: A) => WithoutSerializable<A>
|
|
1733
1768
|
/**
|
|
1734
1769
|
* Ensures that the value of the atom is refreshed at most once per specified
|
|
1735
1770
|
* duration.
|
|
@@ -1737,19 +1772,143 @@ export const withRefresh: {
|
|
|
1737
1772
|
* @since 4.0.0
|
|
1738
1773
|
* @category combinators
|
|
1739
1774
|
*/
|
|
1740
|
-
<A extends Atom<any>>(self: A, duration: Duration.
|
|
1775
|
+
<A extends Atom<any>>(self: A, duration: Duration.Input): WithoutSerializable<A>
|
|
1741
1776
|
} = dual(
|
|
1742
1777
|
2,
|
|
1743
|
-
<A>(self: Atom<A>, duration: Duration.
|
|
1744
|
-
const millis = Duration.toMillis(Duration.
|
|
1778
|
+
<A>(self: Atom<A>, duration: Duration.Input): Atom<A> => {
|
|
1779
|
+
const millis = Duration.toMillis(Duration.fromInputUnsafe(duration))
|
|
1745
1780
|
return transform(self, function(get) {
|
|
1746
1781
|
const handle = setTimeout(() => get.refresh(self), millis) as any
|
|
1747
1782
|
get.addFinalizer(() => clearTimeout(handle))
|
|
1748
1783
|
return get(self)
|
|
1749
|
-
})
|
|
1784
|
+
}, { initialValueTarget: self })
|
|
1750
1785
|
}
|
|
1751
1786
|
)
|
|
1752
1787
|
|
|
1788
|
+
/**
|
|
1789
|
+
* Adds stale-while-revalidate refresh behavior to an async result atom.
|
|
1790
|
+
*
|
|
1791
|
+
* Automatic revalidation during reads is skipped while the current value is
|
|
1792
|
+
* fresh within `staleTime`. Manual `refresh` calls remain forceful and always
|
|
1793
|
+
* forward to the wrapped atom.
|
|
1794
|
+
*
|
|
1795
|
+
* Use `revalidateOnMount` to control whether stale data should trigger a
|
|
1796
|
+
* background refresh on first mount. Use `revalidateOnFocus` to control
|
|
1797
|
+
* focus behavior. `true` respects `staleTime` and `"always"` forces refetch.
|
|
1798
|
+
*
|
|
1799
|
+
* @since 4.0.0
|
|
1800
|
+
* @category combinators
|
|
1801
|
+
*/
|
|
1802
|
+
export const swr: {
|
|
1803
|
+
/**
|
|
1804
|
+
* Adds stale-while-revalidate refresh behavior to an async result atom.
|
|
1805
|
+
*
|
|
1806
|
+
* Automatic revalidation during reads is skipped while the current value is
|
|
1807
|
+
* fresh within `staleTime`. Manual `refresh` calls remain forceful and always
|
|
1808
|
+
* forward to the wrapped atom.
|
|
1809
|
+
*
|
|
1810
|
+
* Use `revalidateOnMount` to control whether stale data should trigger a
|
|
1811
|
+
* background refresh on first mount. Use `revalidateOnFocus` to control
|
|
1812
|
+
* focus behavior. `true` respects `staleTime` and `"always"` forces refetch.
|
|
1813
|
+
*
|
|
1814
|
+
* @since 4.0.0
|
|
1815
|
+
* @category combinators
|
|
1816
|
+
*/
|
|
1817
|
+
(
|
|
1818
|
+
options: {
|
|
1819
|
+
readonly staleTime: Duration.Input
|
|
1820
|
+
readonly revalidateOnMount?: boolean | undefined
|
|
1821
|
+
readonly revalidateOnFocus?: boolean | "always" | undefined
|
|
1822
|
+
readonly focusSignal?: Atom<any> | undefined
|
|
1823
|
+
}
|
|
1824
|
+
): <R extends Atom<AsyncResult.AsyncResult<any, any>>>(self: R) => WithoutSerializable<R>
|
|
1825
|
+
/**
|
|
1826
|
+
* Adds stale-while-revalidate refresh behavior to an async result atom.
|
|
1827
|
+
*
|
|
1828
|
+
* Automatic revalidation during reads is skipped while the current value is
|
|
1829
|
+
* fresh within `staleTime`. Manual `refresh` calls remain forceful and always
|
|
1830
|
+
* forward to the wrapped atom.
|
|
1831
|
+
*
|
|
1832
|
+
* Use `revalidateOnMount` to control whether stale data should trigger a
|
|
1833
|
+
* background refresh on first mount. Use `revalidateOnFocus` to control
|
|
1834
|
+
* focus behavior. `true` respects `staleTime` and `"always"` forces refetch.
|
|
1835
|
+
*
|
|
1836
|
+
* @since 4.0.0
|
|
1837
|
+
* @category combinators
|
|
1838
|
+
*/
|
|
1839
|
+
<R extends Atom<AsyncResult.AsyncResult<any, any>>>(
|
|
1840
|
+
self: R,
|
|
1841
|
+
options: {
|
|
1842
|
+
readonly staleTime: Duration.Input
|
|
1843
|
+
readonly revalidateOnMount?: boolean | undefined
|
|
1844
|
+
readonly revalidateOnFocus?: boolean | "always" | undefined
|
|
1845
|
+
readonly focusSignal?: Atom<any> | undefined
|
|
1846
|
+
}
|
|
1847
|
+
): WithoutSerializable<R>
|
|
1848
|
+
} = dual(
|
|
1849
|
+
2,
|
|
1850
|
+
<A, E>(
|
|
1851
|
+
self: Atom<AsyncResult.AsyncResult<A, E>>,
|
|
1852
|
+
options: {
|
|
1853
|
+
readonly staleTime: Duration.Input
|
|
1854
|
+
readonly revalidateOnMount?: boolean | undefined
|
|
1855
|
+
readonly revalidateOnFocus?: boolean | "always" | undefined
|
|
1856
|
+
readonly focusSignal?: Atom<any> | undefined
|
|
1857
|
+
}
|
|
1858
|
+
): Atom<AsyncResult.AsyncResult<A, E>> => {
|
|
1859
|
+
const staleTime = Duration.toMillis(Duration.fromInputUnsafe(options.staleTime))
|
|
1860
|
+
return transform(self, (get) => {
|
|
1861
|
+
const current = get.once(self)
|
|
1862
|
+
get.subscribe(self, (value) => {
|
|
1863
|
+
get.setSelf(value)
|
|
1864
|
+
})
|
|
1865
|
+
if (options.revalidateOnFocus && options.focusSignal) {
|
|
1866
|
+
get.once(options.focusSignal)
|
|
1867
|
+
get.subscribe(
|
|
1868
|
+
options.focusSignal,
|
|
1869
|
+
options.revalidateOnFocus === "always" ? () => get.refresh(self) : () => {
|
|
1870
|
+
const current = get.once(self)
|
|
1871
|
+
if (shouldRevalidateSWR(current, staleTime)) {
|
|
1872
|
+
get.refresh(self)
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1875
|
+
)
|
|
1876
|
+
}
|
|
1877
|
+
const firstRead = Option.isNone(get.self<AsyncResult.AsyncResult<A, E>>())
|
|
1878
|
+
if (firstRead && options.revalidateOnMount === false) {
|
|
1879
|
+
return current
|
|
1880
|
+
}
|
|
1881
|
+
if (shouldRevalidateSWR(current, staleTime)) {
|
|
1882
|
+
get.refresh(self)
|
|
1883
|
+
}
|
|
1884
|
+
return current
|
|
1885
|
+
}, { initialValueTarget: self })
|
|
1886
|
+
}
|
|
1887
|
+
) as any
|
|
1888
|
+
|
|
1889
|
+
const swrTimestamp = <A, E>(result: AsyncResult.AsyncResult<A, E>): Option.Option<number> => {
|
|
1890
|
+
if (result._tag === "Success") {
|
|
1891
|
+
return Option.some(result.timestamp)
|
|
1892
|
+
}
|
|
1893
|
+
if (result._tag === "Failure") {
|
|
1894
|
+
return Option.map(result.previousSuccess, (success) => success.timestamp)
|
|
1895
|
+
}
|
|
1896
|
+
return Option.none()
|
|
1897
|
+
}
|
|
1898
|
+
|
|
1899
|
+
const isFreshWithin = (timestamp: number, staleTime: number, now: number): boolean => now - timestamp < staleTime
|
|
1900
|
+
|
|
1901
|
+
const shouldRevalidateSWR = <A, E>(result: AsyncResult.AsyncResult<A, E>, staleTime: number): boolean => {
|
|
1902
|
+
if (result.waiting) {
|
|
1903
|
+
return false
|
|
1904
|
+
}
|
|
1905
|
+
const timestamp = Option.getOrUndefined(swrTimestamp(result))
|
|
1906
|
+
if (timestamp === undefined) {
|
|
1907
|
+
return result._tag !== "Initial"
|
|
1908
|
+
}
|
|
1909
|
+
return !isFreshWithin(timestamp, staleTime, Date.now())
|
|
1910
|
+
}
|
|
1911
|
+
|
|
1753
1912
|
/**
|
|
1754
1913
|
* @since 4.0.0
|
|
1755
1914
|
* @category Optimistic
|
|
@@ -1962,7 +2121,7 @@ export const makeRefreshOnSignal = <_>(signal: Atom<_>) => <A extends Atom<any>>
|
|
|
1962
2121
|
get.subscribe(signal, (_) => get.refresh(self))
|
|
1963
2122
|
get.subscribe(self, (value) => get.setSelf(value))
|
|
1964
2123
|
return get.once(self)
|
|
1965
|
-
}) as any
|
|
2124
|
+
}, { initialValueTarget: self }) as any
|
|
1966
2125
|
|
|
1967
2126
|
/**
|
|
1968
2127
|
* @since 4.0.0
|
|
@@ -2070,7 +2229,7 @@ export const searchParam = <S extends Schema.Codec<any, string> = never>(name: s
|
|
|
2070
2229
|
window.removeEventListener("pushstate", handleUpdate)
|
|
2071
2230
|
})
|
|
2072
2231
|
const value = new URLSearchParams(window.location.search).get(name) || ""
|
|
2073
|
-
return decode ? Exit.
|
|
2232
|
+
return decode ? Exit.getSuccess(decode(value)) : value as any
|
|
2074
2233
|
},
|
|
2075
2234
|
(ctx, value: any) => {
|
|
2076
2235
|
if (typeof window === "undefined") {
|
|
@@ -2291,16 +2450,18 @@ export const serializable: {
|
|
|
2291
2450
|
} = dual(2, <R extends Atom<any>, A, I>(self: R, options: {
|
|
2292
2451
|
readonly key: string
|
|
2293
2452
|
readonly schema: Schema.Codec<A, I>
|
|
2294
|
-
}): R & Serializable<any> =>
|
|
2295
|
-
|
|
2453
|
+
}): R & Serializable<any> => {
|
|
2454
|
+
const codecJson = Schema.toCodecJson(options.schema)
|
|
2455
|
+
return Object.assign(Object.create(Object.getPrototypeOf(self)), {
|
|
2296
2456
|
...self,
|
|
2297
2457
|
label: self.label ?? [options.key, new Error().stack?.split("\n")[5] ?? ""],
|
|
2298
2458
|
[SerializableTypeId]: {
|
|
2299
2459
|
key: options.key,
|
|
2300
|
-
encode: Schema.encodeSync(
|
|
2301
|
-
decode: Schema.decodeSync(
|
|
2460
|
+
encode: Schema.encodeSync(codecJson),
|
|
2461
|
+
decode: Schema.decodeSync(codecJson)
|
|
2302
2462
|
}
|
|
2303
|
-
})
|
|
2463
|
+
})
|
|
2464
|
+
})
|
|
2304
2465
|
|
|
2305
2466
|
/**
|
|
2306
2467
|
* @since 4.0.0
|
|
@@ -3,19 +3,21 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Duration from "../../Duration.ts"
|
|
5
5
|
import * as Effect from "../../Effect.ts"
|
|
6
|
+
import * as Hash from "../../Hash.ts"
|
|
6
7
|
import * as Layer from "../../Layer.ts"
|
|
7
8
|
import type { ReadonlyRecord } from "../../Record.ts"
|
|
9
|
+
import * as Schema from "../../Schema.ts"
|
|
8
10
|
import type { SchemaError } from "../../Schema.ts"
|
|
9
11
|
import * as ServiceMap from "../../ServiceMap.ts"
|
|
10
12
|
import type { Mutable, Simplify } from "../../Types.ts"
|
|
11
13
|
import type * as HttpClient from "../http/HttpClient.ts"
|
|
12
|
-
import
|
|
14
|
+
import * as HttpClientError from "../http/HttpClientError.ts"
|
|
13
15
|
import type { HttpClientResponse } from "../http/HttpClientResponse.ts"
|
|
14
16
|
import type * as HttpApi from "../httpapi/HttpApi.ts"
|
|
15
17
|
import * as HttpApiClient from "../httpapi/HttpApiClient.ts"
|
|
16
|
-
import
|
|
18
|
+
import * as HttpApiEndpoint from "../httpapi/HttpApiEndpoint.ts"
|
|
17
19
|
import type * as HttpApiGroup from "../httpapi/HttpApiGroup.ts"
|
|
18
|
-
import
|
|
20
|
+
import * as AsyncResult from "./AsyncResult.ts"
|
|
19
21
|
import * as Atom from "./Atom.ts"
|
|
20
22
|
import * as Reactivity from "./Reactivity.ts"
|
|
21
23
|
|
|
@@ -51,8 +53,8 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
|
|
|
51
53
|
infer _Name,
|
|
52
54
|
infer _Method,
|
|
53
55
|
infer _Path,
|
|
54
|
-
infer
|
|
55
|
-
infer
|
|
56
|
+
infer _Params,
|
|
57
|
+
infer _Query,
|
|
56
58
|
infer _Payload,
|
|
57
59
|
infer _Headers,
|
|
58
60
|
infer _Success,
|
|
@@ -62,12 +64,12 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
|
|
|
62
64
|
>
|
|
63
65
|
] ? Atom.AtomResultFn<
|
|
64
66
|
Simplify<
|
|
65
|
-
HttpApiEndpoint.ClientRequest<
|
|
67
|
+
HttpApiEndpoint.ClientRequest<_Params, _Query, _Payload, _Headers, false> & {
|
|
66
68
|
readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
|
|
67
69
|
}
|
|
68
70
|
>,
|
|
69
|
-
WithResponse extends true ? [_Success, HttpClientResponse] : _Success,
|
|
70
|
-
_Error
|
|
71
|
+
WithResponse extends true ? [_Success["Type"], HttpClientResponse] : _Success["Type"],
|
|
72
|
+
_Error["Type"]
|
|
71
73
|
>
|
|
72
74
|
: never
|
|
73
75
|
|
|
@@ -88,8 +90,8 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
|
|
|
88
90
|
infer _Name,
|
|
89
91
|
infer _Method,
|
|
90
92
|
infer _Path,
|
|
91
|
-
infer
|
|
92
|
-
infer
|
|
93
|
+
infer _Params,
|
|
94
|
+
infer _Query,
|
|
93
95
|
infer _Payload,
|
|
94
96
|
infer _Headers,
|
|
95
97
|
infer _Success,
|
|
@@ -98,12 +100,12 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
|
|
|
98
100
|
infer _RE
|
|
99
101
|
>
|
|
100
102
|
] ? Simplify<
|
|
101
|
-
HttpApiEndpoint.ClientRequest<
|
|
103
|
+
HttpApiEndpoint.ClientRequest<_Params, _Query, _Payload, _Headers, WithResponse> & {
|
|
102
104
|
readonly reactivityKeys?:
|
|
103
105
|
| ReadonlyArray<unknown>
|
|
104
106
|
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
105
107
|
| undefined
|
|
106
|
-
readonly timeToLive?: Duration.
|
|
108
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
107
109
|
}
|
|
108
110
|
>
|
|
109
111
|
: never
|
|
@@ -112,7 +114,8 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
|
|
|
112
114
|
infer _Name,
|
|
113
115
|
infer _Method,
|
|
114
116
|
infer _Path,
|
|
115
|
-
infer
|
|
117
|
+
infer _Params,
|
|
118
|
+
infer _Query,
|
|
116
119
|
infer _Payload,
|
|
117
120
|
infer _Headers,
|
|
118
121
|
infer _Success,
|
|
@@ -122,8 +125,8 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
|
|
|
122
125
|
>
|
|
123
126
|
] ? Atom.Atom<
|
|
124
127
|
AsyncResult.AsyncResult<
|
|
125
|
-
WithResponse extends true ? [_Success, HttpClientResponse] : _Success,
|
|
126
|
-
_Error
|
|
128
|
+
WithResponse extends true ? [_Success["Type"], HttpClientResponse] : _Success["Type"],
|
|
129
|
+
_Error["Type"]
|
|
127
130
|
>
|
|
128
131
|
>
|
|
129
132
|
: never
|
|
@@ -168,26 +171,41 @@ export const Service = <Self>() =>
|
|
|
168
171
|
const runtimeFactory = options.runtime ?? Atom.runtime
|
|
169
172
|
self.runtime = runtimeFactory(self.layer)
|
|
170
173
|
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
174
|
+
const catchErrors = Effect.catch((e: unknown) =>
|
|
175
|
+
Schema.isSchemaError(e) || HttpClientError.isHttpClientError(e) ? Effect.die(e) : Effect.fail(e)
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
const mutationFamily = Atom.family(({ endpoint, group, withResponse }: MutationKey) => {
|
|
179
|
+
const atom = self.runtime.fn<{
|
|
180
|
+
params: any
|
|
181
|
+
query: any
|
|
175
182
|
headers: any
|
|
176
183
|
payload: any
|
|
177
184
|
reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
|
|
178
185
|
}>()(
|
|
179
186
|
Effect.fnUntraced(function*(opts) {
|
|
180
187
|
const client = (yield* self) as any
|
|
181
|
-
const effect = client[group][endpoint]({
|
|
188
|
+
const effect = catchErrors(client[group][endpoint]({
|
|
182
189
|
...opts,
|
|
183
190
|
withResponse
|
|
184
|
-
}) as Effect.Effect<any>
|
|
191
|
+
}) as Effect.Effect<any>)
|
|
185
192
|
return yield* opts.reactivityKeys
|
|
186
193
|
? Reactivity.mutation(effect, opts.reactivityKeys)
|
|
187
194
|
: effect
|
|
188
195
|
})
|
|
189
196
|
)
|
|
190
|
-
|
|
197
|
+
if (withResponse === false) {
|
|
198
|
+
const definition = options.api.groups[group]!.endpoints[endpoint]! as HttpApiEndpoint.AnyWithProps
|
|
199
|
+
return Atom.serializable(atom, {
|
|
200
|
+
key: `AtomHttpApi:mutation:${group}:${endpoint}`,
|
|
201
|
+
schema: AsyncResult.Schema({
|
|
202
|
+
success: Schema.Union(HttpApiEndpoint.getSuccessSchemas(definition)),
|
|
203
|
+
error: Schema.Union(HttpApiEndpoint.getErrorSchemas(definition))
|
|
204
|
+
}) as any
|
|
205
|
+
})
|
|
206
|
+
}
|
|
207
|
+
return atom
|
|
208
|
+
}) as any
|
|
191
209
|
|
|
192
210
|
self.mutation = ((group: string, endpoint: string, options?: {
|
|
193
211
|
readonly withResponse?: boolean | undefined
|
|
@@ -201,8 +219,21 @@ export const Service = <Self>() =>
|
|
|
201
219
|
const queryFamily = Atom.family((opts: QueryKey) => {
|
|
202
220
|
let atom = self.runtime.atom(self.use((client_) => {
|
|
203
221
|
const client = client_ as any
|
|
204
|
-
return client[opts.group][opts.endpoint](opts) as Effect.Effect<
|
|
222
|
+
return catchErrors(client[opts.group][opts.endpoint](opts) as Effect.Effect<
|
|
223
|
+
any,
|
|
224
|
+
HttpClientError.HttpClientError | SchemaError
|
|
225
|
+
>)
|
|
205
226
|
}))
|
|
227
|
+
if (opts.withResponse === false) {
|
|
228
|
+
const endpoint = options.api.groups[opts.group]!.endpoints[opts.endpoint]! as HttpApiEndpoint.AnyWithProps
|
|
229
|
+
atom = Atom.serializable(atom, {
|
|
230
|
+
key: makeSerializableKey(opts),
|
|
231
|
+
schema: AsyncResult.Schema({
|
|
232
|
+
success: Schema.Union(HttpApiEndpoint.getSuccessSchemas(endpoint)),
|
|
233
|
+
error: Schema.Union(HttpApiEndpoint.getErrorSchemas(endpoint))
|
|
234
|
+
}) as any
|
|
235
|
+
})
|
|
236
|
+
}
|
|
206
237
|
if (opts.timeToLive) {
|
|
207
238
|
atom = Duration.isFinite(opts.timeToLive)
|
|
208
239
|
? Atom.setIdleTTL(atom, opts.timeToLive)
|
|
@@ -217,26 +248,26 @@ export const Service = <Self>() =>
|
|
|
217
248
|
group: string,
|
|
218
249
|
endpoint: string,
|
|
219
250
|
request: {
|
|
220
|
-
readonly
|
|
221
|
-
readonly
|
|
251
|
+
readonly params?: any
|
|
252
|
+
readonly query?: any
|
|
222
253
|
readonly payload?: any
|
|
223
254
|
readonly headers?: any
|
|
224
255
|
readonly withResponse?: boolean
|
|
225
256
|
readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
|
|
226
|
-
readonly timeToLive?: Duration.
|
|
257
|
+
readonly timeToLive?: Duration.Input | undefined
|
|
227
258
|
}
|
|
228
259
|
) =>
|
|
229
260
|
queryFamily({
|
|
230
261
|
group,
|
|
231
262
|
endpoint,
|
|
232
|
-
|
|
233
|
-
|
|
263
|
+
params: request.params,
|
|
264
|
+
query: request.query,
|
|
234
265
|
payload: request.payload,
|
|
235
266
|
headers: request.headers,
|
|
236
267
|
withResponse: request.withResponse ?? false,
|
|
237
268
|
reactivityKeys: request.reactivityKeys,
|
|
238
269
|
timeToLive: request.timeToLive
|
|
239
|
-
? Duration.
|
|
270
|
+
? Duration.fromInputUnsafe(request.timeToLive)
|
|
240
271
|
: undefined
|
|
241
272
|
})) as any
|
|
242
273
|
|
|
@@ -252,11 +283,15 @@ interface MutationKey {
|
|
|
252
283
|
interface QueryKey {
|
|
253
284
|
group: string
|
|
254
285
|
endpoint: string
|
|
255
|
-
|
|
256
|
-
|
|
286
|
+
params: any
|
|
287
|
+
query: any
|
|
257
288
|
headers: any
|
|
258
289
|
payload: any
|
|
259
290
|
withResponse: boolean
|
|
260
291
|
reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
|
|
261
292
|
timeToLive?: Duration.Duration | undefined
|
|
262
293
|
}
|
|
294
|
+
|
|
295
|
+
const makeSerializableKey = (
|
|
296
|
+
key: QueryKey
|
|
297
|
+
): string => `AtomHttpApi:${key.group}:${key.endpoint}:${Hash.hash(key)}`
|