effect 4.0.0-beta.3 → 4.0.0-beta.31
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 +118 -32
- 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/Cron.js +3 -3
- package/dist/Cron.js.map +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 +56 -238
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +7 -52
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +39 -11
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +88 -59
- 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 +217 -127
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +51 -46
- 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 +2647 -224
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +1863 -209
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +2 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +131 -25
- 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 +46 -45
- 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 +60 -61
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +265 -127
- 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 +7 -8
- 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 +45 -45
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +107 -124
- 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/Completions.d.ts +16 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +23 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- 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 +8 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +8 -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 +5 -4
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +1 -1
- package/dist/unstable/cluster/DeliverAt.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 +9 -9
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +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/HttpIncomingMessage.d.ts +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts.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/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.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 +3 -5
- 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 +557 -141
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +186 -24
- package/src/Cron.ts +3 -3
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +59 -241
- package/src/Duration.ts +91 -36
- 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 +245 -150
- 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 +3116 -312
- package/src/SchemaAST.ts +166 -33
- package/src/SchemaGetter.ts +15 -17
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +51 -26
- 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 +69 -81
- package/src/internal/effect.ts +775 -302
- 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 +58 -74
- package/src/unstable/ai/LanguageModel.ts +294 -158
- 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/Completions.ts +36 -0
- package/src/unstable/cli/GlobalFlag.ts +242 -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 +10 -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 +6 -5
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- 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/Ndjson.ts +17 -17
- 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 +9 -4
- package/src/unstable/http/HttpEffect.ts +54 -68
- package/src/unstable/http/HttpIncomingMessage.ts +1 -1
- 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 +391 -4
- 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 +83 -30
- 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 +3 -3
- 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 +7 -7
- 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/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.js +0 -23
- package/dist/unstable/cli/internal/completions/Completions.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/unstable/cli/internal/completions/Completions.ts +0 -31
package/src/DateTime.ts
CHANGED
|
@@ -12,7 +12,6 @@ import { provideService } from "./internal/effect.ts"
|
|
|
12
12
|
import * as Layer from "./Layer.ts"
|
|
13
13
|
import type * as order from "./Order.ts"
|
|
14
14
|
import type { Pipeable } from "./Pipeable.ts"
|
|
15
|
-
import type * as Result from "./Result.ts"
|
|
16
15
|
import * as ServiceMap from "./ServiceMap.ts"
|
|
17
16
|
|
|
18
17
|
const TypeId = Internal.TypeId
|
|
@@ -22,70 +21,30 @@ const TimeZoneTypeId = Internal.TimeZoneTypeId
|
|
|
22
21
|
* A `DateTime` represents a point in time. It can optionally have a time zone
|
|
23
22
|
* associated with it.
|
|
24
23
|
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```ts
|
|
27
|
-
* import { DateTime } from "effect"
|
|
28
|
-
*
|
|
29
|
-
* // Create a UTC DateTime
|
|
30
|
-
* const utc: DateTime.DateTime = DateTime.nowUnsafe()
|
|
31
|
-
*
|
|
32
|
-
* // Create a zoned DateTime
|
|
33
|
-
* const zoned: DateTime.DateTime = DateTime.makeZonedUnsafe(new Date(), {
|
|
34
|
-
* timeZone: "Europe/London"
|
|
35
|
-
* })
|
|
36
|
-
* ```
|
|
37
|
-
*
|
|
38
24
|
* @since 3.6.0
|
|
39
25
|
* @category models
|
|
40
26
|
*/
|
|
41
27
|
export type DateTime = Utc | Zoned
|
|
42
28
|
|
|
43
29
|
/**
|
|
44
|
-
* @example
|
|
45
|
-
* ```ts
|
|
46
|
-
* import { DateTime } from "effect"
|
|
47
|
-
*
|
|
48
|
-
* const utc = DateTime.nowUnsafe()
|
|
49
|
-
*
|
|
50
|
-
* if (DateTime.isUtc(utc)) {
|
|
51
|
-
* console.log(utc._tag) // "Utc"
|
|
52
|
-
* console.log(utc.epochMillis) // timestamp in milliseconds
|
|
53
|
-
* }
|
|
54
|
-
* ```
|
|
55
|
-
*
|
|
56
30
|
* @since 3.6.0
|
|
57
31
|
* @category models
|
|
58
32
|
*/
|
|
59
33
|
export interface Utc extends DateTime.Proto {
|
|
60
34
|
readonly _tag: "Utc"
|
|
61
|
-
readonly
|
|
35
|
+
readonly epochMilliseconds: number
|
|
62
36
|
partsUtc: DateTime.PartsWithWeekday | undefined
|
|
63
37
|
}
|
|
64
38
|
|
|
65
39
|
/**
|
|
66
|
-
* @example
|
|
67
|
-
* ```ts
|
|
68
|
-
* import { DateTime } from "effect"
|
|
69
|
-
*
|
|
70
|
-
* const zoned = DateTime.makeZonedUnsafe(new Date(), {
|
|
71
|
-
* timeZone: "Europe/London"
|
|
72
|
-
* })
|
|
73
|
-
*
|
|
74
|
-
* if (DateTime.isZoned(zoned)) {
|
|
75
|
-
* console.log(zoned._tag) // "Zoned"
|
|
76
|
-
* console.log(zoned.epochMillis) // timestamp in milliseconds
|
|
77
|
-
* console.log(DateTime.zoneToString(zoned.zone)) // "Europe/London"
|
|
78
|
-
* }
|
|
79
|
-
* ```
|
|
80
|
-
*
|
|
81
40
|
* @since 3.6.0
|
|
82
41
|
* @category models
|
|
83
42
|
*/
|
|
84
43
|
export interface Zoned extends DateTime.Proto {
|
|
85
44
|
readonly _tag: "Zoned"
|
|
86
|
-
readonly
|
|
45
|
+
readonly epochMilliseconds: number
|
|
87
46
|
readonly zone: TimeZone
|
|
88
|
-
|
|
47
|
+
adjustedEpochMilliseconds: number | undefined
|
|
89
48
|
partsAdjusted: DateTime.PartsWithWeekday | undefined
|
|
90
49
|
partsUtc: DateTime.PartsWithWeekday | undefined
|
|
91
50
|
}
|
|
@@ -96,29 +55,10 @@ export interface Zoned extends DateTime.Proto {
|
|
|
96
55
|
*/
|
|
97
56
|
export declare namespace DateTime {
|
|
98
57
|
/**
|
|
99
|
-
* @example
|
|
100
|
-
* ```ts
|
|
101
|
-
* import { DateTime } from "effect"
|
|
102
|
-
*
|
|
103
|
-
* // All valid inputs for DateTime constructors
|
|
104
|
-
* const date = new Date()
|
|
105
|
-
* const stringDate = "2024-01-01"
|
|
106
|
-
* const epochMillis = 1704067200000
|
|
107
|
-
* const partsObj = { year: 2024, month: 1, day: 1 }
|
|
108
|
-
* const existing = DateTime.nowUnsafe()
|
|
109
|
-
*
|
|
110
|
-
* // All these can be used as DateTime.Input
|
|
111
|
-
* const dt1 = DateTime.makeUnsafe(date)
|
|
112
|
-
* const dt2 = DateTime.makeUnsafe(stringDate)
|
|
113
|
-
* const dt3 = DateTime.makeUnsafe(epochMillis)
|
|
114
|
-
* const dt4 = DateTime.makeUnsafe(partsObj)
|
|
115
|
-
* const dt5 = DateTime.makeUnsafe(existing)
|
|
116
|
-
* ```
|
|
117
|
-
*
|
|
118
58
|
* @since 3.6.0
|
|
119
59
|
* @category models
|
|
120
60
|
*/
|
|
121
|
-
export type Input = DateTime | Partial<Parts> | Date | number | string
|
|
61
|
+
export type Input = DateTime | Partial<Parts> | Instant | InstantWithZone | Date | number | string
|
|
122
62
|
|
|
123
63
|
/**
|
|
124
64
|
* @since 3.6.0
|
|
@@ -137,7 +77,7 @@ export declare namespace DateTime {
|
|
|
137
77
|
* @category models
|
|
138
78
|
*/
|
|
139
79
|
export type UnitSingular =
|
|
140
|
-
| "
|
|
80
|
+
| "millisecond"
|
|
141
81
|
| "second"
|
|
142
82
|
| "minute"
|
|
143
83
|
| "hour"
|
|
@@ -151,7 +91,7 @@ export declare namespace DateTime {
|
|
|
151
91
|
* @category models
|
|
152
92
|
*/
|
|
153
93
|
export type UnitPlural =
|
|
154
|
-
| "
|
|
94
|
+
| "milliseconds"
|
|
155
95
|
| "seconds"
|
|
156
96
|
| "minutes"
|
|
157
97
|
| "hours"
|
|
@@ -165,10 +105,10 @@ export declare namespace DateTime {
|
|
|
165
105
|
* @category models
|
|
166
106
|
*/
|
|
167
107
|
export interface PartsWithWeekday {
|
|
168
|
-
readonly
|
|
169
|
-
readonly
|
|
170
|
-
readonly
|
|
171
|
-
readonly
|
|
108
|
+
readonly millisecond: number
|
|
109
|
+
readonly second: number
|
|
110
|
+
readonly minute: number
|
|
111
|
+
readonly hour: number
|
|
172
112
|
readonly day: number
|
|
173
113
|
readonly weekDay: number
|
|
174
114
|
readonly month: number
|
|
@@ -180,10 +120,10 @@ export declare namespace DateTime {
|
|
|
180
120
|
* @category models
|
|
181
121
|
*/
|
|
182
122
|
export interface Parts {
|
|
183
|
-
readonly
|
|
184
|
-
readonly
|
|
185
|
-
readonly
|
|
186
|
-
readonly
|
|
123
|
+
readonly millisecond: number
|
|
124
|
+
readonly second: number
|
|
125
|
+
readonly minute: number
|
|
126
|
+
readonly hour: number
|
|
187
127
|
readonly day: number
|
|
188
128
|
readonly month: number
|
|
189
129
|
readonly year: number
|
|
@@ -194,7 +134,7 @@ export declare namespace DateTime {
|
|
|
194
134
|
* @category models
|
|
195
135
|
*/
|
|
196
136
|
export interface PartsForMath {
|
|
197
|
-
readonly
|
|
137
|
+
readonly milliseconds: number
|
|
198
138
|
readonly seconds: number
|
|
199
139
|
readonly minutes: number
|
|
200
140
|
readonly hours: number
|
|
@@ -204,6 +144,23 @@ export declare namespace DateTime {
|
|
|
204
144
|
readonly years: number
|
|
205
145
|
}
|
|
206
146
|
|
|
147
|
+
/**
|
|
148
|
+
* @since 4.0.0
|
|
149
|
+
* @category models
|
|
150
|
+
*/
|
|
151
|
+
export interface Instant {
|
|
152
|
+
readonly epochMilliseconds: number
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* @since 4.0.0
|
|
157
|
+
* @category models
|
|
158
|
+
*/
|
|
159
|
+
export interface InstantWithZone {
|
|
160
|
+
readonly timeZoneId: string
|
|
161
|
+
readonly epochMilliseconds: number
|
|
162
|
+
}
|
|
163
|
+
|
|
207
164
|
/**
|
|
208
165
|
* @since 3.6.0
|
|
209
166
|
* @category models
|
|
@@ -1174,10 +1131,12 @@ export const setZoneNamedUnsafe: {
|
|
|
1174
1131
|
// =============================================================================
|
|
1175
1132
|
|
|
1176
1133
|
/**
|
|
1177
|
-
* Calulate the difference between two `DateTime` values, returning
|
|
1178
|
-
*
|
|
1134
|
+
* Calulate the difference between two `DateTime` values, returning a
|
|
1135
|
+
* `Duration` representing the amount of time between them.
|
|
1179
1136
|
*
|
|
1180
|
-
* If `other` is *after* `self`, the result will be a positive
|
|
1137
|
+
* If `other` is *after* `self`, the result will be a positive `Duration`. If
|
|
1138
|
+
* `other` is *before* `self`, the result will be a negative `Duration`. If they
|
|
1139
|
+
* are equal, the result will be a `Duration` of zero.
|
|
1181
1140
|
*
|
|
1182
1141
|
* @since 3.6.0
|
|
1183
1142
|
* @category comparisons
|
|
@@ -1189,7 +1148,7 @@ export const setZoneNamedUnsafe: {
|
|
|
1189
1148
|
* const now = yield* DateTime.now
|
|
1190
1149
|
* const other = DateTime.add(now, { minutes: 1 })
|
|
1191
1150
|
*
|
|
1192
|
-
* // returns
|
|
1151
|
+
* // returns Duration.minutes(1)
|
|
1193
1152
|
* DateTime.distance(now, other)
|
|
1194
1153
|
* })
|
|
1195
1154
|
* ```
|
|
@@ -1200,10 +1159,12 @@ export const distance: {
|
|
|
1200
1159
|
// =============================================================================
|
|
1201
1160
|
|
|
1202
1161
|
/**
|
|
1203
|
-
* Calulate the difference between two `DateTime` values, returning
|
|
1204
|
-
*
|
|
1162
|
+
* Calulate the difference between two `DateTime` values, returning a
|
|
1163
|
+
* `Duration` representing the amount of time between them.
|
|
1205
1164
|
*
|
|
1206
|
-
* If `other` is *after* `self`, the result will be a positive
|
|
1165
|
+
* If `other` is *after* `self`, the result will be a positive `Duration`. If
|
|
1166
|
+
* `other` is *before* `self`, the result will be a negative `Duration`. If they
|
|
1167
|
+
* are equal, the result will be a `Duration` of zero.
|
|
1207
1168
|
*
|
|
1208
1169
|
* @since 3.6.0
|
|
1209
1170
|
* @category comparisons
|
|
@@ -1215,147 +1176,23 @@ export const distance: {
|
|
|
1215
1176
|
* const now = yield* DateTime.now
|
|
1216
1177
|
* const other = DateTime.add(now, { minutes: 1 })
|
|
1217
1178
|
*
|
|
1218
|
-
* // returns
|
|
1179
|
+
* // returns Duration.minutes(1)
|
|
1219
1180
|
* DateTime.distance(now, other)
|
|
1220
1181
|
* })
|
|
1221
1182
|
* ```
|
|
1222
1183
|
*/
|
|
1223
|
-
(other: DateTime): (self: DateTime) =>
|
|
1184
|
+
(other: DateTime): (self: DateTime) => Duration.Duration
|
|
1224
1185
|
// =============================================================================
|
|
1225
1186
|
// comparisons
|
|
1226
1187
|
// =============================================================================
|
|
1227
1188
|
|
|
1228
1189
|
/**
|
|
1229
|
-
* Calulate the difference between two `DateTime` values, returning
|
|
1230
|
-
*
|
|
1190
|
+
* Calulate the difference between two `DateTime` values, returning a
|
|
1191
|
+
* `Duration` representing the amount of time between them.
|
|
1231
1192
|
*
|
|
1232
|
-
* If `other` is *after* `self`, the result will be a positive
|
|
1233
|
-
*
|
|
1234
|
-
*
|
|
1235
|
-
* @category comparisons
|
|
1236
|
-
* @example
|
|
1237
|
-
* ```ts
|
|
1238
|
-
* import { DateTime, Effect } from "effect"
|
|
1239
|
-
*
|
|
1240
|
-
* Effect.gen(function*() {
|
|
1241
|
-
* const now = yield* DateTime.now
|
|
1242
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1243
|
-
*
|
|
1244
|
-
* // returns 60000
|
|
1245
|
-
* DateTime.distance(now, other)
|
|
1246
|
-
* })
|
|
1247
|
-
* ```
|
|
1248
|
-
*/
|
|
1249
|
-
(self: DateTime, other: DateTime): number
|
|
1250
|
-
} = Internal.distance
|
|
1251
|
-
|
|
1252
|
-
/**
|
|
1253
|
-
* Calulate the difference between two `DateTime` values.
|
|
1254
|
-
*
|
|
1255
|
-
* If the `other` DateTime is before `self`, the result will be a negative
|
|
1256
|
-
* `Duration`, returned as a `Failure`.
|
|
1257
|
-
*
|
|
1258
|
-
* If the `other` DateTime is after `self`, the result will be a positive
|
|
1259
|
-
* `Duration`, returned as a `Success`.
|
|
1260
|
-
*
|
|
1261
|
-
* @since 3.6.0
|
|
1262
|
-
* @category comparisons
|
|
1263
|
-
* @example
|
|
1264
|
-
* ```ts
|
|
1265
|
-
* import { DateTime, Effect } from "effect"
|
|
1266
|
-
*
|
|
1267
|
-
* Effect.gen(function*() {
|
|
1268
|
-
* const now = yield* DateTime.now
|
|
1269
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1270
|
-
*
|
|
1271
|
-
* // returns Result.succeed(Duration.minutes(1))
|
|
1272
|
-
* DateTime.distanceDurationResult(now, other)
|
|
1273
|
-
*
|
|
1274
|
-
* // returns Result.fail(Duration.minutes(1))
|
|
1275
|
-
* DateTime.distanceDurationResult(other, now)
|
|
1276
|
-
* })
|
|
1277
|
-
* ```
|
|
1278
|
-
*/
|
|
1279
|
-
export const distanceDurationResult: {
|
|
1280
|
-
/**
|
|
1281
|
-
* Calulate the difference between two `DateTime` values.
|
|
1282
|
-
*
|
|
1283
|
-
* If the `other` DateTime is before `self`, the result will be a negative
|
|
1284
|
-
* `Duration`, returned as a `Failure`.
|
|
1285
|
-
*
|
|
1286
|
-
* If the `other` DateTime is after `self`, the result will be a positive
|
|
1287
|
-
* `Duration`, returned as a `Success`.
|
|
1288
|
-
*
|
|
1289
|
-
* @since 3.6.0
|
|
1290
|
-
* @category comparisons
|
|
1291
|
-
* @example
|
|
1292
|
-
* ```ts
|
|
1293
|
-
* import { DateTime, Effect } from "effect"
|
|
1294
|
-
*
|
|
1295
|
-
* Effect.gen(function*() {
|
|
1296
|
-
* const now = yield* DateTime.now
|
|
1297
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1298
|
-
*
|
|
1299
|
-
* // returns Result.succeed(Duration.minutes(1))
|
|
1300
|
-
* DateTime.distanceDurationResult(now, other)
|
|
1301
|
-
*
|
|
1302
|
-
* // returns Result.fail(Duration.minutes(1))
|
|
1303
|
-
* DateTime.distanceDurationResult(other, now)
|
|
1304
|
-
* })
|
|
1305
|
-
* ```
|
|
1306
|
-
*/
|
|
1307
|
-
(other: DateTime): (self: DateTime) => Result.Result<Duration.Duration, Duration.Duration>
|
|
1308
|
-
/**
|
|
1309
|
-
* Calulate the difference between two `DateTime` values.
|
|
1310
|
-
*
|
|
1311
|
-
* If the `other` DateTime is before `self`, the result will be a negative
|
|
1312
|
-
* `Duration`, returned as a `Failure`.
|
|
1313
|
-
*
|
|
1314
|
-
* If the `other` DateTime is after `self`, the result will be a positive
|
|
1315
|
-
* `Duration`, returned as a `Success`.
|
|
1316
|
-
*
|
|
1317
|
-
* @since 3.6.0
|
|
1318
|
-
* @category comparisons
|
|
1319
|
-
* @example
|
|
1320
|
-
* ```ts
|
|
1321
|
-
* import { DateTime, Effect } from "effect"
|
|
1322
|
-
*
|
|
1323
|
-
* Effect.gen(function*() {
|
|
1324
|
-
* const now = yield* DateTime.now
|
|
1325
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1326
|
-
*
|
|
1327
|
-
* // returns Result.succeed(Duration.minutes(1))
|
|
1328
|
-
* DateTime.distanceDurationResult(now, other)
|
|
1329
|
-
*
|
|
1330
|
-
* // returns Result.fail(Duration.minutes(1))
|
|
1331
|
-
* DateTime.distanceDurationResult(other, now)
|
|
1332
|
-
* })
|
|
1333
|
-
* ```
|
|
1334
|
-
*/
|
|
1335
|
-
(self: DateTime, other: DateTime): Result.Result<Duration.Duration, Duration.Duration>
|
|
1336
|
-
} = Internal.distanceDurationResult
|
|
1337
|
-
|
|
1338
|
-
/**
|
|
1339
|
-
* Calulate the distance between two `DateTime` values.
|
|
1340
|
-
*
|
|
1341
|
-
* @since 3.6.0
|
|
1342
|
-
* @category comparisons
|
|
1343
|
-
* @example
|
|
1344
|
-
* ```ts
|
|
1345
|
-
* import { DateTime, Effect } from "effect"
|
|
1346
|
-
*
|
|
1347
|
-
* Effect.gen(function*() {
|
|
1348
|
-
* const now = yield* DateTime.now
|
|
1349
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1350
|
-
*
|
|
1351
|
-
* // returns Duration.minutes(1)
|
|
1352
|
-
* DateTime.distanceDuration(now, other)
|
|
1353
|
-
* })
|
|
1354
|
-
* ```
|
|
1355
|
-
*/
|
|
1356
|
-
export const distanceDuration: {
|
|
1357
|
-
/**
|
|
1358
|
-
* Calulate the distance between two `DateTime` values.
|
|
1193
|
+
* If `other` is *after* `self`, the result will be a positive `Duration`. If
|
|
1194
|
+
* `other` is *before* `self`, the result will be a negative `Duration`. If they
|
|
1195
|
+
* are equal, the result will be a `Duration` of zero.
|
|
1359
1196
|
*
|
|
1360
1197
|
* @since 3.6.0
|
|
1361
1198
|
* @category comparisons
|
|
@@ -1368,31 +1205,12 @@ export const distanceDuration: {
|
|
|
1368
1205
|
* const other = DateTime.add(now, { minutes: 1 })
|
|
1369
1206
|
*
|
|
1370
1207
|
* // returns Duration.minutes(1)
|
|
1371
|
-
* DateTime.
|
|
1372
|
-
* })
|
|
1373
|
-
* ```
|
|
1374
|
-
*/
|
|
1375
|
-
(other: DateTime): (self: DateTime) => Duration.Duration
|
|
1376
|
-
/**
|
|
1377
|
-
* Calulate the distance between two `DateTime` values.
|
|
1378
|
-
*
|
|
1379
|
-
* @since 3.6.0
|
|
1380
|
-
* @category comparisons
|
|
1381
|
-
* @example
|
|
1382
|
-
* ```ts
|
|
1383
|
-
* import { DateTime, Effect } from "effect"
|
|
1384
|
-
*
|
|
1385
|
-
* Effect.gen(function*() {
|
|
1386
|
-
* const now = yield* DateTime.now
|
|
1387
|
-
* const other = DateTime.add(now, { minutes: 1 })
|
|
1388
|
-
*
|
|
1389
|
-
* // returns Duration.minutes(1)
|
|
1390
|
-
* DateTime.distanceDuration(now, other)
|
|
1208
|
+
* DateTime.distance(now, other)
|
|
1391
1209
|
* })
|
|
1392
1210
|
* ```
|
|
1393
1211
|
*/
|
|
1394
1212
|
(self: DateTime, other: DateTime): Duration.Duration
|
|
1395
|
-
} = Internal.
|
|
1213
|
+
} = Internal.distance
|
|
1396
1214
|
|
|
1397
1215
|
/**
|
|
1398
1216
|
* Returns the earlier of two `DateTime` values.
|
|
@@ -2278,7 +2096,7 @@ export const setParts: {
|
|
|
2278
2096
|
* const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
|
|
2279
2097
|
* const updated = DateTime.setPartsUtc(dt, {
|
|
2280
2098
|
* year: 2025,
|
|
2281
|
-
*
|
|
2099
|
+
* hour: 18
|
|
2282
2100
|
* })
|
|
2283
2101
|
*
|
|
2284
2102
|
* console.log(DateTime.formatIso(updated)) // "2025-01-01T18:00:00.000Z"
|
|
@@ -2300,7 +2118,7 @@ export const setPartsUtc: {
|
|
|
2300
2118
|
* const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
|
|
2301
2119
|
* const updated = DateTime.setPartsUtc(dt, {
|
|
2302
2120
|
* year: 2025,
|
|
2303
|
-
*
|
|
2121
|
+
* hour: 18
|
|
2304
2122
|
* })
|
|
2305
2123
|
*
|
|
2306
2124
|
* console.log(DateTime.formatIso(updated)) // "2025-01-01T18:00:00.000Z"
|
|
@@ -2322,7 +2140,7 @@ export const setPartsUtc: {
|
|
|
2322
2140
|
* const dt = DateTime.makeUnsafe("2024-01-01T12:00:00Z")
|
|
2323
2141
|
* const updated = DateTime.setPartsUtc(dt, {
|
|
2324
2142
|
* year: 2025,
|
|
2325
|
-
*
|
|
2143
|
+
* hour: 18
|
|
2326
2144
|
* })
|
|
2327
2145
|
*
|
|
2328
2146
|
* console.log(DateTime.formatIso(updated)) // "2025-01-01T18:00:00.000Z"
|
|
@@ -3054,7 +2872,7 @@ export const addDuration: {
|
|
|
3054
2872
|
* )
|
|
3055
2873
|
* ```
|
|
3056
2874
|
*/
|
|
3057
|
-
(duration: Duration.
|
|
2875
|
+
(duration: Duration.Input): <A extends DateTime>(self: A) => A
|
|
3058
2876
|
// =============================================================================
|
|
3059
2877
|
// math
|
|
3060
2878
|
// =============================================================================
|
|
@@ -3074,7 +2892,7 @@ export const addDuration: {
|
|
|
3074
2892
|
* )
|
|
3075
2893
|
* ```
|
|
3076
2894
|
*/
|
|
3077
|
-
<A extends DateTime>(self: A, duration: Duration.
|
|
2895
|
+
<A extends DateTime>(self: A, duration: Duration.Input): A
|
|
3078
2896
|
} = Internal.addDuration
|
|
3079
2897
|
|
|
3080
2898
|
/**
|
|
@@ -3108,7 +2926,7 @@ export const subtractDuration: {
|
|
|
3108
2926
|
* )
|
|
3109
2927
|
* ```
|
|
3110
2928
|
*/
|
|
3111
|
-
(duration: Duration.
|
|
2929
|
+
(duration: Duration.Input): <A extends DateTime>(self: A) => A
|
|
3112
2930
|
/**
|
|
3113
2931
|
* Subtract the given `Duration` from a `DateTime`.
|
|
3114
2932
|
*
|
|
@@ -3124,7 +2942,7 @@ export const subtractDuration: {
|
|
|
3124
2942
|
* )
|
|
3125
2943
|
* ```
|
|
3126
2944
|
*/
|
|
3127
|
-
<A extends DateTime>(self: A, duration: Duration.
|
|
2945
|
+
<A extends DateTime>(self: A, duration: Duration.Input): A
|
|
3128
2946
|
} = Internal.subtractDuration
|
|
3129
2947
|
|
|
3130
2948
|
/**
|
package/src/Duration.ts
CHANGED
|
@@ -23,7 +23,7 @@ import { NodeInspectSymbol } from "./Inspectable.ts"
|
|
|
23
23
|
import * as order from "./Order.ts"
|
|
24
24
|
import type { Pipeable } from "./Pipeable.ts"
|
|
25
25
|
import { pipeArguments } from "./Pipeable.ts"
|
|
26
|
-
import { hasProperty,
|
|
26
|
+
import { hasProperty, isNumber } from "./Predicate.ts"
|
|
27
27
|
import * as Reducer from "./Reducer.ts"
|
|
28
28
|
import * as UndefinedOr from "./UndefinedOr.ts"
|
|
29
29
|
|
|
@@ -90,54 +90,71 @@ export type Unit =
|
|
|
90
90
|
* @since 2.0.0
|
|
91
91
|
* @category models
|
|
92
92
|
*/
|
|
93
|
-
export type
|
|
93
|
+
export type Input =
|
|
94
94
|
| Duration
|
|
95
95
|
| number // millis
|
|
96
96
|
| bigint // nanos
|
|
97
97
|
| readonly [seconds: number, nanos: number]
|
|
98
98
|
| `${number} ${Unit}`
|
|
99
|
+
| DurationObject
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* An object with optional duration components that can be combined to create
|
|
103
|
+
* a Duration. All fields are optional and additive.
|
|
104
|
+
*
|
|
105
|
+
* Compatible with Temporal.Duration-like objects.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* import { Duration } from "effect"
|
|
110
|
+
*
|
|
111
|
+
* Duration.fromInputUnsafe({ seconds: 30 })
|
|
112
|
+
* Duration.fromInputUnsafe({ days: 1 })
|
|
113
|
+
* Duration.fromInputUnsafe({ seconds: 1, nanoseconds: 500 })
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @since 4.0.0
|
|
117
|
+
* @category models
|
|
118
|
+
*/
|
|
119
|
+
export interface DurationObject {
|
|
120
|
+
readonly weeks?: number | undefined
|
|
121
|
+
readonly days?: number | undefined
|
|
122
|
+
readonly hours?: number | undefined
|
|
123
|
+
readonly minutes?: number | undefined
|
|
124
|
+
readonly seconds?: number | undefined
|
|
125
|
+
readonly milliseconds?: number | undefined
|
|
126
|
+
readonly microseconds?: number | undefined
|
|
127
|
+
readonly nanoseconds?: number | undefined
|
|
128
|
+
}
|
|
99
129
|
|
|
100
130
|
const DURATION_REGEXP = /^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/
|
|
101
131
|
|
|
102
132
|
/**
|
|
103
|
-
* Decodes a `
|
|
133
|
+
* Decodes a `Duration.Input` into a `Duration`.
|
|
104
134
|
*
|
|
105
|
-
* If the input is not a valid `
|
|
135
|
+
* If the input is not a valid `Duration.Input`, it throws an error.
|
|
106
136
|
*
|
|
107
137
|
* @example
|
|
108
138
|
* ```ts
|
|
109
139
|
* import { Duration } from "effect"
|
|
110
140
|
*
|
|
111
|
-
* const duration1 = Duration.
|
|
112
|
-
* const duration2 = Duration.
|
|
113
|
-
* const duration3 = Duration.
|
|
141
|
+
* const duration1 = Duration.fromInputUnsafe(1000) // 1000 milliseconds
|
|
142
|
+
* const duration2 = Duration.fromInputUnsafe("5 seconds")
|
|
143
|
+
* const duration3 = Duration.fromInputUnsafe([2, 500_000_000]) // 2 seconds and 500ms
|
|
114
144
|
* ```
|
|
115
145
|
*
|
|
116
146
|
* @since 2.0.0
|
|
117
147
|
* @category constructors
|
|
118
148
|
*/
|
|
119
|
-
export const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if (input[0] === -Infinity || input[1] === -Infinity) {
|
|
129
|
-
return negativeInfinity
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (input[0] === Infinity || input[1] === Infinity) {
|
|
133
|
-
return infinity
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return nanos(BigInt(Math.round(input[0] * 1_000_000_000)) + BigInt(Math.round(input[1])))
|
|
137
|
-
}
|
|
138
|
-
if (isString(input)) {
|
|
139
|
-
const match = DURATION_REGEXP.exec(input)
|
|
140
|
-
if (match) {
|
|
149
|
+
export const fromInputUnsafe = (input: Input): Duration => {
|
|
150
|
+
switch (typeof input) {
|
|
151
|
+
case "number":
|
|
152
|
+
return millis(input)
|
|
153
|
+
case "bigint":
|
|
154
|
+
return nanos(input)
|
|
155
|
+
case "string": {
|
|
156
|
+
const match = DURATION_REGEXP.exec(input)
|
|
157
|
+
if (!match) break
|
|
141
158
|
const [_, valueStr, unit] = match
|
|
142
159
|
const value = Number(valueStr)
|
|
143
160
|
switch (unit) {
|
|
@@ -166,13 +183,51 @@ export const fromDurationInputUnsafe = (input: DurationInput): Duration => {
|
|
|
166
183
|
case "weeks":
|
|
167
184
|
return weeks(value)
|
|
168
185
|
}
|
|
186
|
+
break
|
|
187
|
+
}
|
|
188
|
+
case "object": {
|
|
189
|
+
if (input === null) break
|
|
190
|
+
if (TypeId in input) return input as Duration
|
|
191
|
+
if (Array.isArray(input)) {
|
|
192
|
+
if (input.length !== 2 || !input.every(isNumber)) {
|
|
193
|
+
return invalid(input)
|
|
194
|
+
}
|
|
195
|
+
if (Number.isNaN(input[0]) || Number.isNaN(input[1])) {
|
|
196
|
+
return zero
|
|
197
|
+
}
|
|
198
|
+
if (input[0] === -Infinity || input[1] === -Infinity) {
|
|
199
|
+
return negativeInfinity
|
|
200
|
+
}
|
|
201
|
+
if (input[0] === Infinity || input[1] === Infinity) {
|
|
202
|
+
return infinity
|
|
203
|
+
}
|
|
204
|
+
return make(BigInt(Math.round(input[0] * 1_000_000_000)) + BigInt(Math.round(input[1])))
|
|
205
|
+
}
|
|
206
|
+
const obj = input as DurationObject
|
|
207
|
+
let millis = 0
|
|
208
|
+
// we can use truthy checks here, because 0 can be ignored
|
|
209
|
+
if (obj.weeks) millis += obj.weeks * 604_800_000
|
|
210
|
+
if (obj.days) millis += obj.days * 86_400_000
|
|
211
|
+
if (obj.hours) millis += obj.hours * 3_600_000
|
|
212
|
+
if (obj.minutes) millis += obj.minutes * 60_000
|
|
213
|
+
if (obj.seconds) millis += obj.seconds * 1_000
|
|
214
|
+
if (obj.milliseconds) millis += obj.milliseconds
|
|
215
|
+
if (!obj.microseconds && !obj.nanoseconds) return make(millis)
|
|
216
|
+
let nanos = BigInt(millis) * bigint1e6
|
|
217
|
+
if (obj.microseconds) nanos += BigInt(obj.microseconds) * bigint1e3
|
|
218
|
+
if (obj.nanoseconds) nanos += BigInt(obj.nanoseconds)
|
|
219
|
+
return make(nanos)
|
|
169
220
|
}
|
|
170
221
|
}
|
|
171
|
-
|
|
222
|
+
return invalid(input)
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const invalid = (input: unknown): never => {
|
|
226
|
+
throw new Error(`Invalid Input: ${input}`)
|
|
172
227
|
}
|
|
173
228
|
|
|
174
229
|
/**
|
|
175
|
-
* Safely decodes a `
|
|
230
|
+
* Safely decodes a `Input` value into a `Duration`, returning
|
|
176
231
|
* `undefined` if decoding fails.
|
|
177
232
|
*
|
|
178
233
|
* **Example**
|
|
@@ -180,16 +235,16 @@ export const fromDurationInputUnsafe = (input: DurationInput): Duration => {
|
|
|
180
235
|
* ```ts
|
|
181
236
|
* import { Duration } from "effect"
|
|
182
237
|
*
|
|
183
|
-
* Duration.
|
|
238
|
+
* Duration.fromInput(1000)?.pipe(Duration.toSeconds) // 1
|
|
184
239
|
*
|
|
185
|
-
* Duration.
|
|
240
|
+
* Duration.fromInput("invalid" as any) // undefined
|
|
186
241
|
* ```
|
|
187
242
|
*
|
|
188
243
|
* @category constructors
|
|
189
244
|
* @since 4.0.0
|
|
190
245
|
*/
|
|
191
|
-
export const
|
|
192
|
-
|
|
246
|
+
export const fromInput: (u: Input) => Duration | undefined = UndefinedOr.liftThrowable(
|
|
247
|
+
fromInputUnsafe
|
|
193
248
|
)
|
|
194
249
|
|
|
195
250
|
const zeroDurationValue: DurationValue = { _tag: "Millis", millis: 0 }
|
|
@@ -238,7 +293,7 @@ const DurationProto: Omit<Duration, "value"> = {
|
|
|
238
293
|
|
|
239
294
|
const make = (input: number | bigint): Duration => {
|
|
240
295
|
const duration = Object.create(DurationProto)
|
|
241
|
-
if (
|
|
296
|
+
if (typeof input === "number") {
|
|
242
297
|
if (isNaN(input) || input === 0 || Object.is(input, -0)) {
|
|
243
298
|
duration.value = zeroDurationValue
|
|
244
299
|
} else if (!Number.isFinite(input)) {
|