effect 4.0.0-beta.4 → 4.0.0-beta.40
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 +213 -385
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +149 -102
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +46 -45
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +35 -38
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +39 -32
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +32 -29
- package/dist/BigInt.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 +33 -2
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +19 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +130 -35
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +96 -45
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +112 -304
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +56 -88
- 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 +169 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +69 -11
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +11 -7
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +120 -63
- 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 +72 -253
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +15 -60
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +7 -5
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +7 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +62 -32
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +108 -78
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1224 -951
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +398 -338
- 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/Equivalence.d.ts +60 -3
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +70 -13
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +245 -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 +5 -3
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +9 -8
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +8 -7
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +20 -19
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +6 -6
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +18 -17
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +17 -13
- 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 +65 -65
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +60 -62
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +26 -19
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +7 -5
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +50 -50
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +106 -34
- 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 +175 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +130 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +306 -129
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +92 -47
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +9 -8
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +3 -3
- package/dist/LayerMap.js.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +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/MutableHashMap.d.ts +7 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +8 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +7 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +8 -0
- package/dist/MutableHashSet.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/Number.d.ts +74 -18
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +34 -15
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +25 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +6 -1
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +19 -14
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +146 -15
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +174 -61
- package/dist/PartitionedSemaphore.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 +8 -6
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +18 -10
- 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 +9 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +7 -5
- 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 +63 -160
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +37 -56
- 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 +242 -226
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +240 -247
- 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/Resource.d.ts.map +1 -1
- package/dist/Resource.js +2 -1
- package/dist/Resource.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 +174 -291
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +160 -134
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +34 -123
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +31 -123
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2722 -247
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +1947 -224
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +7 -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 +18 -18
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +44 -54
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +55 -2
- 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 +173 -13
- 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 +307 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/Semaphore.js +222 -0
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +67 -31
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +39 -24
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +18 -15
- 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 +284 -431
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +189 -88
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +114 -47
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +29 -47
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +23 -7
- 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 +3 -3
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +85 -117
- 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/Terminal.d.ts +2 -1
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +5 -4
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +2 -1
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +44 -31
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +13 -9
- 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 +197 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +159 -140
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +51 -44
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +36 -36
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +16 -15
- 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 +416 -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 +170 -10
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +23 -8
- 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 +804 -53
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +804 -53
- 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 +77 -71
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +281 -201
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +7 -5
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/option.js +6 -0
- package/dist/internal/option.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/references.d.ts +2 -0
- package/dist/internal/references.d.ts.map +1 -0
- package/dist/internal/references.js +51 -0
- package/dist/internal/references.js.map +1 -0
- 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 +8 -7
- 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 +136 -54
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +28 -23
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -0
- package/dist/unstable/ai/AnthropicStructuredOutput.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/EmbeddingModel.d.ts +130 -0
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
- package/dist/unstable/ai/EmbeddingModel.js +127 -0
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
- package/dist/unstable/ai/LanguageModel.d.ts +53 -45
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +265 -143
- 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/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +4 -0
- package/dist/unstable/ai/OpenAiStructuredOutput.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/ResponseIdTracker.d.ts +38 -0
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
- package/dist/unstable/ai/ResponseIdTracker.js +68 -0
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
- package/dist/unstable/ai/Tool.d.ts +34 -4
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +28 -10
- 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 +22 -1
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +22 -1
- package/dist/unstable/ai/index.js.map +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/Argument.d.ts +2 -4
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +1 -3
- package/dist/unstable/cli/Argument.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.d.ts +3 -2
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +65 -10
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +371 -58
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +328 -67
- 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/Flag.d.ts +2 -2
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +1 -1
- package/dist/unstable/cli/Flag.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 +81 -11
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +4 -4
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +7 -7
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +2 -2
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +258 -84
- 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 +16 -4
- 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 +61 -43
- 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 +3 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +29 -26
- 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 +10 -8
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +7 -7
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js +1 -1
- package/dist/unstable/cluster/EntityAddress.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 +14 -13
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +3 -2
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +14 -13
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +8 -7
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +4 -3
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runner.d.ts.map +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +9 -8
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +2 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +11 -9
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js +3 -3
- package/dist/unstable/cluster/ShardId.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 +28 -20
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +26 -25
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +24 -24
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +19 -18
- package/dist/unstable/cluster/SqlMessageStorage.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 +14 -14
- 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/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +4 -3
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +40 -40
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +9 -2
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- 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/EventJournal.js +2 -2
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +3 -2
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/eventlog/SqlEventLogJournal.js +2 -2
- package/dist/unstable/eventlog/SqlEventLogJournal.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +52 -7
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +27 -6
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +5 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +19 -2
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +40 -11
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +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 +191 -13
- 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 +43 -15
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +131 -21
- 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 +6 -1
- 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 +3 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.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 +24 -32
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +3 -2
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +2 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +7 -7
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +2 -2
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +22 -34
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +39 -45
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +15 -3
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +301 -7
- 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 +236 -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/HttpTraceContext.d.ts +3 -2
- package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js +27 -15
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/Url.d.ts +604 -0
- package/dist/unstable/http/Url.d.ts.map +1 -0
- package/dist/unstable/http/Url.js +256 -0
- package/dist/unstable/http/Url.js.map +1 -0
- package/dist/unstable/http/UrlParams.d.ts +19 -10
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +6 -7
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +8 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +8 -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 +40 -27
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +83 -7
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +78 -10
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +207 -101
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +49 -43
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +31 -14
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +125 -32
- 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 +46 -15
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +32 -3
- 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/HttpApiSchema.d.ts +5 -0
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +20 -2
- package/dist/unstable/httpapi/HttpApiSchema.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 +34 -26
- 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 +3 -3
- 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/observability/OtlpTracer.js +7 -3
- package/dist/unstable/observability/OtlpTracer.js.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 +108 -25
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +17 -15
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +45 -15
- 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 +54 -11
- 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 +4 -3
- 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 +10 -17
- 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 +17 -2
- 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 +39 -11
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +6 -10
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +20 -19
- 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 +6 -6
- 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 +6 -5
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +12 -9
- 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/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +2 -2
- package/dist/unstable/sql/Migrator.js.map +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/SqlClient.js +1 -1
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +237 -17
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +260 -4
- 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 +8 -8
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +5 -4
- 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 +17 -5
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +153 -12
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +304 -447
- package/src/BigDecimal.ts +63 -66
- package/src/BigInt.ts +49 -41
- package/src/Brand.ts +1 -1
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +37 -2
- package/src/Channel.ts +582 -154
- package/src/Chunk.ts +149 -331
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +195 -25
- package/src/Cron.ts +155 -63
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +75 -256
- package/src/Deferred.ts +8 -6
- package/src/Duration.ts +122 -66
- package/src/Effect.ts +1483 -1157
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/Equivalence.ts +114 -52
- package/src/ErrorReporter.ts +458 -0
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +12 -3
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +22 -22
- package/src/FileSystem.ts +34 -31
- package/src/Filter.ts +52 -63
- package/src/Formatter.ts +253 -51
- package/src/Function.ts +2 -10
- package/src/Graph.ts +131 -117
- package/src/HashMap.ts +26 -19
- package/src/Iterable.ts +117 -63
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +194 -0
- package/src/Layer.ts +393 -159
- package/src/LayerMap.ts +11 -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/MutableHashMap.ts +9 -0
- package/src/MutableHashSet.ts +9 -0
- package/src/Newtype.ts +308 -0
- package/src/Number.ts +85 -26
- package/src/Optic.ts +948 -19
- package/src/Option.ts +34 -24
- package/src/Order.ts +39 -32
- package/src/PartitionedSemaphore.ts +288 -56
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +30 -20
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +11 -9
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +94 -199
- package/src/Reducer.ts +166 -7
- package/src/References.ts +283 -287
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +29 -49
- package/src/Resource.ts +2 -1
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +458 -449
- package/src/Scheduler.ts +49 -126
- package/src/Schema.ts +3298 -392
- package/src/SchemaAST.ts +172 -33
- package/src/SchemaGetter.ts +19 -21
- package/src/SchemaParser.ts +92 -27
- package/src/SchemaRepresentation.ts +51 -26
- package/src/SchemaTransformation.ts +198 -13
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +444 -0
- package/src/ServiceMap.ts +133 -71
- package/src/Sink.ts +83 -28
- package/src/Stdio.ts +27 -4
- package/src/Stream.ts +687 -617
- package/src/String.ts +122 -69
- package/src/Struct.ts +33 -7
- package/src/SubscriptionRef.ts +101 -120
- package/src/SynchronizedRef.ts +3 -2
- package/src/Terminal.ts +2 -1
- package/src/Tracer.ts +6 -5
- package/src/Trie.ts +44 -31
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +409 -343
- package/src/TxHashSet.ts +113 -118
- package/src/TxPriorityQueue.ts +766 -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 +217 -44
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +73 -19
- package/src/Utils.ts +137 -111
- package/src/index.ts +814 -54
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +91 -96
- package/src/internal/effect.ts +841 -432
- package/src/internal/hashMap.ts +12 -10
- package/src/internal/option.ts +7 -0
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/references.ts +72 -0
- 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 +21 -15
- 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 +111 -54
- package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -0
- package/src/unstable/ai/Chat.ts +62 -74
- package/src/unstable/ai/EmbeddingModel.ts +209 -0
- package/src/unstable/ai/LanguageModel.ts +544 -230
- 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/OpenAiStructuredOutput.ts +4 -0
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/ResponseIdTracker.ts +97 -0
- package/src/unstable/ai/Tool.ts +42 -16
- package/src/unstable/ai/Toolkit.ts +5 -14
- package/src/unstable/ai/index.ts +24 -1
- package/src/unstable/ai/internal/codec-transformer.ts +0 -7
- package/src/unstable/cli/Argument.ts +2 -4
- package/src/unstable/cli/CliError.ts +47 -59
- package/src/unstable/cli/CliOutput.ts +85 -13
- package/src/unstable/cli/Command.ts +801 -192
- package/src/unstable/cli/Completions.ts +36 -0
- package/src/unstable/cli/Flag.ts +2 -2
- package/src/unstable/cli/GlobalFlag.ts +242 -0
- package/src/unstable/cli/HelpDoc.ts +91 -11
- package/src/unstable/cli/Param.ts +15 -11
- package/src/unstable/cli/Primitive.ts +2 -2
- package/src/unstable/cli/Prompt.ts +262 -100
- 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 +10 -4
- 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 +71 -63
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +40 -34
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- package/src/unstable/cluster/Entity.ts +24 -22
- package/src/unstable/cluster/EntityAddress.ts +1 -1
- 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/Message.ts +6 -5
- package/src/unstable/cluster/MessageStorage.ts +29 -30
- package/src/unstable/cluster/Reply.ts +7 -4
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +10 -13
- package/src/unstable/cluster/Runners.ts +14 -12
- package/src/unstable/cluster/ShardId.ts +2 -2
- package/src/unstable/cluster/Sharding.ts +36 -27
- package/src/unstable/cluster/ShardingConfig.ts +36 -37
- package/src/unstable/cluster/SqlMessageStorage.ts +21 -18
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +36 -29
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/devtools/DevToolsClient.ts +23 -18
- package/src/unstable/devtools/DevToolsSchema.ts +16 -3
- package/src/unstable/encoding/Ndjson.ts +17 -17
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventJournal.ts +2 -2
- package/src/unstable/eventlog/EventLog.ts +3 -2
- package/src/unstable/eventlog/SqlEventLogJournal.ts +2 -2
- package/src/unstable/http/Cookies.ts +94 -11
- package/src/unstable/http/Etag.ts +5 -3
- package/src/unstable/http/Headers.ts +68 -18
- package/src/unstable/http/HttpClient.ts +376 -34
- package/src/unstable/http/HttpClientRequest.ts +151 -39
- package/src/unstable/http/HttpClientResponse.ts +12 -6
- package/src/unstable/http/HttpEffect.ts +54 -68
- package/src/unstable/http/HttpIncomingMessage.ts +3 -2
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +25 -39
- package/src/unstable/http/HttpPlatform.ts +3 -2
- package/src/unstable/http/HttpRouter.ts +9 -9
- package/src/unstable/http/HttpServer.ts +3 -9
- package/src/unstable/http/HttpServerError.ts +45 -47
- package/src/unstable/http/HttpServerRequest.ts +407 -16
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +345 -7
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/HttpTraceContext.ts +31 -17
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/Url.ts +650 -0
- package/src/unstable/http/UrlParams.ts +31 -19
- package/src/unstable/http/index.ts +10 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -6
- package/src/unstable/httpapi/HttpApiBuilder.ts +106 -41
- package/src/unstable/httpapi/HttpApiClient.ts +180 -28
- package/src/unstable/httpapi/HttpApiEndpoint.ts +216 -104
- package/src/unstable/httpapi/HttpApiError.ts +108 -30
- package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +83 -22
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSchema.ts +20 -2
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +43 -29
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +8 -5
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +12 -8
- 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 +212 -54
- package/src/unstable/reactivity/AtomHttpApi.ts +81 -41
- package/src/unstable/reactivity/AtomRegistry.ts +66 -12
- 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 +11 -12
- package/src/unstable/rpc/RpcClient.ts +22 -63
- package/src/unstable/rpc/RpcGroup.ts +7 -7
- package/src/unstable/rpc/RpcMiddleware.ts +15 -9
- package/src/unstable/rpc/RpcSchema.ts +23 -5
- package/src/unstable/rpc/RpcSerialization.ts +49 -11
- package/src/unstable/rpc/RpcServer.ts +31 -35
- package/src/unstable/rpc/Utils.ts +3 -2
- package/src/unstable/schema/Model.ts +31 -0
- package/src/unstable/schema/VariantSchema.ts +10 -10
- package/src/unstable/socket/Socket.ts +31 -27
- package/src/unstable/sql/Migrator.ts +7 -5
- package/src/unstable/sql/SqlClient.ts +6 -4
- package/src/unstable/sql/SqlError.ts +365 -11
- 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 +8 -8
- package/src/unstable/workflow/Workflow.ts +7 -3
- package/src/unstable/workflow/WorkflowEngine.ts +211 -19
- package/dist/NullOr.d.ts +0 -149
- package/dist/NullOr.d.ts.map +0 -1
- package/dist/NullOr.js +0 -152
- package/dist/NullOr.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/NullOr.ts +0 -204
- 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
|
@@ -710,7 +710,7 @@ export const date = (options: DateOptions): Prompt<Date> => {
|
|
|
710
710
|
typed: "",
|
|
711
711
|
cursor: initialCursorPosition,
|
|
712
712
|
value: opts.initial,
|
|
713
|
-
error:
|
|
713
|
+
error: Option.none()
|
|
714
714
|
}
|
|
715
715
|
return custom(initialState, {
|
|
716
716
|
render: handleDateRender(opts),
|
|
@@ -727,7 +727,7 @@ export const file = (options: FileOptions = {}): Prompt<string> => {
|
|
|
727
727
|
const opts: FileOptionsReq = {
|
|
728
728
|
type: options.type ?? "file",
|
|
729
729
|
message: options.message ?? `Choose a file`,
|
|
730
|
-
startingPath: options.startingPath,
|
|
730
|
+
startingPath: Option.fromUndefinedOr(options.startingPath),
|
|
731
731
|
maxPerPage: options.maxPerPage ?? 10,
|
|
732
732
|
filter: options.filter ?? (() => Effect.succeed(true))
|
|
733
733
|
}
|
|
@@ -736,10 +736,10 @@ export const file = (options: FileOptions = {}): Prompt<string> => {
|
|
|
736
736
|
never,
|
|
737
737
|
Environment
|
|
738
738
|
> = Effect.gen(function*() {
|
|
739
|
-
const currentPath = yield* resolveCurrentPath(
|
|
739
|
+
const currentPath = yield* resolveCurrentPath(Option.none(), opts)
|
|
740
740
|
const files = yield* getFileList(currentPath, opts)
|
|
741
741
|
const confirm = Confirm.Hide()
|
|
742
|
-
return { cursor: 0, files, path:
|
|
742
|
+
return { cursor: 0, files, allFiles: files, query: "", path: Option.none(), confirm }
|
|
743
743
|
})
|
|
744
744
|
return custom(initialState, {
|
|
745
745
|
render: handleFileRender(opts),
|
|
@@ -799,7 +799,7 @@ export const float = (options: FloatOptions): Prompt<number> => {
|
|
|
799
799
|
const initialState: NumberState = {
|
|
800
800
|
cursor: 0,
|
|
801
801
|
value: "",
|
|
802
|
-
error:
|
|
802
|
+
error: Option.none()
|
|
803
803
|
}
|
|
804
804
|
return custom(initialState, {
|
|
805
805
|
render: handleRenderFloat(opts),
|
|
@@ -839,7 +839,7 @@ export const integer = (options: IntegerOptions): Prompt<number> => {
|
|
|
839
839
|
const initialState: NumberState = {
|
|
840
840
|
cursor: 0,
|
|
841
841
|
value: "",
|
|
842
|
-
error:
|
|
842
|
+
error: Option.none()
|
|
843
843
|
}
|
|
844
844
|
return custom(initialState, {
|
|
845
845
|
render: handleRenderInteger(opts),
|
|
@@ -1009,7 +1009,7 @@ export const multiSelect = <const A>(
|
|
|
1009
1009
|
initialSelected.add(i)
|
|
1010
1010
|
}
|
|
1011
1011
|
}
|
|
1012
|
-
const initialState: MultiSelectState = { index: 0, selectedIndices: initialSelected, error:
|
|
1012
|
+
const initialState: MultiSelectState = { index: 0, selectedIndices: initialSelected, error: Option.none() }
|
|
1013
1013
|
return custom(initialState, {
|
|
1014
1014
|
render: handleMultiSelectRender(opts),
|
|
1015
1015
|
process: handleMultiSelectProcess(opts),
|
|
@@ -1289,7 +1289,7 @@ const TRUE_VALUE_REGEXP = /^y|t$/
|
|
|
1289
1289
|
const FALSE_VALUE_REGEXP = /^n|f$/
|
|
1290
1290
|
|
|
1291
1291
|
const handleConfirmProcess = (input: Terminal.UserInput, defaultValue: boolean) => {
|
|
1292
|
-
const value = input.input
|
|
1292
|
+
const value = Option.getOrElse(input.input, () => "")
|
|
1293
1293
|
if (input.key.name === "enter" || input.key.name === "return") {
|
|
1294
1294
|
return Effect.succeed(Action.Submit({ value: defaultValue }))
|
|
1295
1295
|
}
|
|
@@ -1309,7 +1309,7 @@ interface DateState {
|
|
|
1309
1309
|
readonly cursor: number
|
|
1310
1310
|
readonly value: globalThis.Date
|
|
1311
1311
|
readonly dateParts: ReadonlyArray<DatePart>
|
|
1312
|
-
readonly error: string
|
|
1312
|
+
readonly error: Option.Option<string>
|
|
1313
1313
|
}
|
|
1314
1314
|
|
|
1315
1315
|
const handleDateClear = (options: DateOptionsReq) => {
|
|
@@ -1320,8 +1320,8 @@ const handleDateClear = (options: DateOptionsReq) => {
|
|
|
1320
1320
|
const resetCurrentLine = Ansi.eraseLine + Ansi.cursorLeft
|
|
1321
1321
|
const parts = Arr.reduce(state.dateParts, "", (doc, part) => doc + part.toString())
|
|
1322
1322
|
const promptText = renderDateOutput("?", figures.pointerSmall, parts, options, { plain: true })
|
|
1323
|
-
const errorText = state.error
|
|
1324
|
-
? Arr.match(state.error.split(NEWLINE_REGEXP), {
|
|
1323
|
+
const errorText = Option.isSome(state.error)
|
|
1324
|
+
? Arr.match(state.error.value.split(NEWLINE_REGEXP), {
|
|
1325
1325
|
onEmpty: () => "",
|
|
1326
1326
|
onNonEmpty: (errorLines) => `${figures.pointerSmall} ${errorLines.join("\n")}`
|
|
1327
1327
|
})
|
|
@@ -1332,8 +1332,8 @@ const handleDateClear = (options: DateOptionsReq) => {
|
|
|
1332
1332
|
}
|
|
1333
1333
|
|
|
1334
1334
|
const renderDateError = (state: DateState, pointer: string): string => {
|
|
1335
|
-
if (state.error
|
|
1336
|
-
const errorLines = state.error.split(NEWLINE_REGEXP)
|
|
1335
|
+
if (Option.isSome(state.error)) {
|
|
1336
|
+
const errorLines = state.error.value.split(NEWLINE_REGEXP)
|
|
1337
1337
|
if (Arr.isReadonlyArrayNonEmpty(errorLines)) {
|
|
1338
1338
|
const prefix = Ansi.annotate(pointer, Ansi.red) + " "
|
|
1339
1339
|
const lines = Arr.map(errorLines, (str) => annotateErrorLine(str))
|
|
@@ -1401,12 +1401,12 @@ const processDown = (state: DateState) => {
|
|
|
1401
1401
|
|
|
1402
1402
|
const processDateCursorLeft = (state: DateState) => {
|
|
1403
1403
|
const previous = state.dateParts[state.cursor].previousPart()
|
|
1404
|
-
if (previous
|
|
1404
|
+
if (Option.isSome(previous)) {
|
|
1405
1405
|
return Action.NextFrame({
|
|
1406
1406
|
state: {
|
|
1407
1407
|
...state,
|
|
1408
1408
|
typed: "",
|
|
1409
|
-
cursor: state.dateParts.indexOf(previous)
|
|
1409
|
+
cursor: state.dateParts.indexOf(previous.value)
|
|
1410
1410
|
}
|
|
1411
1411
|
})
|
|
1412
1412
|
}
|
|
@@ -1415,12 +1415,12 @@ const processDateCursorLeft = (state: DateState) => {
|
|
|
1415
1415
|
|
|
1416
1416
|
const processDateCursorRight = (state: DateState) => {
|
|
1417
1417
|
const next = state.dateParts[state.cursor].nextPart()
|
|
1418
|
-
if (next
|
|
1418
|
+
if (Option.isSome(next)) {
|
|
1419
1419
|
return Action.NextFrame({
|
|
1420
1420
|
state: {
|
|
1421
1421
|
...state,
|
|
1422
1422
|
typed: "",
|
|
1423
|
-
cursor: state.dateParts.indexOf(next)
|
|
1423
|
+
cursor: state.dateParts.indexOf(next.value)
|
|
1424
1424
|
}
|
|
1425
1425
|
})
|
|
1426
1426
|
}
|
|
@@ -1429,9 +1429,10 @@ const processDateCursorRight = (state: DateState) => {
|
|
|
1429
1429
|
|
|
1430
1430
|
const processDateNext = (state: DateState) => {
|
|
1431
1431
|
const next = state.dateParts[state.cursor].nextPart()
|
|
1432
|
-
const cursor = next
|
|
1433
|
-
|
|
1434
|
-
:
|
|
1432
|
+
const cursor = Option.match(next, {
|
|
1433
|
+
onNone: () => state.dateParts.findIndex((part) => !part.isToken()),
|
|
1434
|
+
onSome: (next) => state.dateParts.indexOf(next)
|
|
1435
|
+
})
|
|
1435
1436
|
return Action.NextFrame({
|
|
1436
1437
|
state: { ...state, cursor }
|
|
1437
1438
|
})
|
|
@@ -1505,14 +1506,14 @@ const handleDateProcess = (options: DateOptionsReq) => {
|
|
|
1505
1506
|
Action.NextFrame({
|
|
1506
1507
|
state: {
|
|
1507
1508
|
...state,
|
|
1508
|
-
error
|
|
1509
|
+
error: Option.some(error)
|
|
1509
1510
|
}
|
|
1510
1511
|
}),
|
|
1511
1512
|
onSuccess: (value) => Action.Submit({ value })
|
|
1512
1513
|
})
|
|
1513
1514
|
}
|
|
1514
1515
|
default: {
|
|
1515
|
-
return Effect.succeed(defaultDateProcessor(input.input
|
|
1516
|
+
return Effect.succeed(defaultDateProcessor(Option.getOrElse(input.input, () => ""), state))
|
|
1516
1517
|
}
|
|
1517
1518
|
}
|
|
1518
1519
|
}
|
|
@@ -1609,23 +1610,20 @@ abstract class DatePart {
|
|
|
1609
1610
|
/**
|
|
1610
1611
|
* Retrieves the next date part in the list of parts.
|
|
1611
1612
|
*/
|
|
1612
|
-
nextPart(): DatePart
|
|
1613
|
-
const currentPartIndex = Arr.findFirstIndex(this.parts, (part) => part === this)
|
|
1614
|
-
return
|
|
1615
|
-
Arr.findFirst(this.parts.slice(currentPartIndex + 1), (part) => !part.isToken())
|
|
1616
|
-
)
|
|
1613
|
+
nextPart(): Option.Option<DatePart> {
|
|
1614
|
+
const currentPartIndex = Option.getOrElse(Arr.findFirstIndex(this.parts, (part) => part === this), () => 0)
|
|
1615
|
+
return Arr.findFirst(this.parts.slice(currentPartIndex + 1), (part) => !part.isToken())
|
|
1617
1616
|
}
|
|
1618
1617
|
|
|
1619
1618
|
/**
|
|
1620
1619
|
* Retrieves the previous date part in the list of parts.
|
|
1621
1620
|
*/
|
|
1622
|
-
previousPart(): DatePart
|
|
1621
|
+
previousPart(): Option.Option<DatePart> {
|
|
1623
1622
|
const currentPartIndex = Arr.findFirstIndex(this.parts, (part) => part === this)
|
|
1624
|
-
if (currentPartIndex
|
|
1625
|
-
return
|
|
1626
|
-
Arr.findLast(this.parts.slice(0, currentPartIndex), (part) => !part.isToken())
|
|
1627
|
-
)
|
|
1623
|
+
if (Option.isSome(currentPartIndex)) {
|
|
1624
|
+
return Arr.findLast(this.parts.slice(0, currentPartIndex.value), (part) => !part.isToken())
|
|
1628
1625
|
}
|
|
1626
|
+
return Option.none()
|
|
1629
1627
|
}
|
|
1630
1628
|
|
|
1631
1629
|
toString() {
|
|
@@ -1851,17 +1849,22 @@ class Meridiem extends DatePart {
|
|
|
1851
1849
|
}
|
|
1852
1850
|
|
|
1853
1851
|
interface FileOptionsReq extends Required<Omit<FileOptions, "startingPath">> {
|
|
1854
|
-
readonly startingPath: string
|
|
1852
|
+
readonly startingPath: Option.Option<string>
|
|
1855
1853
|
}
|
|
1856
1854
|
|
|
1857
1855
|
interface FileState {
|
|
1858
1856
|
readonly cursor: number
|
|
1859
1857
|
readonly files: ReadonlyArray<string>
|
|
1860
|
-
readonly
|
|
1858
|
+
readonly allFiles: ReadonlyArray<string>
|
|
1859
|
+
readonly query: string
|
|
1860
|
+
readonly path: Option.Option<string>
|
|
1861
1861
|
readonly confirm: Confirm
|
|
1862
1862
|
}
|
|
1863
1863
|
|
|
1864
1864
|
const CONFIRM_MESSAGE = "The selected directory contains files. Would you like to traverse the selected directory?"
|
|
1865
|
+
const FILE_FILTER_LABEL = "filter"
|
|
1866
|
+
const FILE_FILTER_PLACEHOLDER = "type to filter"
|
|
1867
|
+
const FILE_EMPTY_MESSAGE = "No matches"
|
|
1865
1868
|
type Confirm = Data.TaggedEnum<{
|
|
1866
1869
|
readonly Show: {}
|
|
1867
1870
|
readonly Hide: {}
|
|
@@ -1871,14 +1874,14 @@ const Confirm = Data.taggedEnum<Confirm>()
|
|
|
1871
1874
|
const showConfirmation = Confirm.$is("Show")
|
|
1872
1875
|
|
|
1873
1876
|
const resolveCurrentPath = (
|
|
1874
|
-
path: string
|
|
1877
|
+
path: Option.Option<string>,
|
|
1875
1878
|
options: FileOptionsReq
|
|
1876
1879
|
): Effect.Effect<string, never, FileSystem.FileSystem> => {
|
|
1877
|
-
if (path
|
|
1878
|
-
return Effect.succeed(path)
|
|
1880
|
+
if (Option.isSome(path)) {
|
|
1881
|
+
return Effect.succeed(path.value)
|
|
1879
1882
|
}
|
|
1880
|
-
|
|
1881
|
-
|
|
1883
|
+
if (Option.isSome(options.startingPath)) {
|
|
1884
|
+
const startingPath = options.startingPath.value
|
|
1882
1885
|
return Effect.flatMap(FileSystem.FileSystem.asEffect(), (fs) =>
|
|
1883
1886
|
// Ensure the user provided starting path exists
|
|
1884
1887
|
Effect.orDie(fs.exists(startingPath)).pipe(
|
|
@@ -1916,6 +1919,40 @@ const getFileList = Effect.fnUntraced(function*(directory: string, options: File
|
|
|
1916
1919
|
}, { concurrency: files.length })
|
|
1917
1920
|
})
|
|
1918
1921
|
|
|
1922
|
+
const filterFiles = (files: ReadonlyArray<string>, query: string) => {
|
|
1923
|
+
if (query.length === 0) {
|
|
1924
|
+
return files
|
|
1925
|
+
}
|
|
1926
|
+
const normalizedQuery = query.toLowerCase()
|
|
1927
|
+
const filtered: Array<string> = []
|
|
1928
|
+
for (let index = 0; index < files.length; index++) {
|
|
1929
|
+
if (files[index].toLowerCase().includes(normalizedQuery)) {
|
|
1930
|
+
filtered.push(files[index])
|
|
1931
|
+
}
|
|
1932
|
+
}
|
|
1933
|
+
return filtered
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
const updateFileState = (
|
|
1937
|
+
state: FileState,
|
|
1938
|
+
query: string,
|
|
1939
|
+
allFiles: ReadonlyArray<string> = state.allFiles
|
|
1940
|
+
): FileState => {
|
|
1941
|
+
const files = filterFiles(allFiles, query)
|
|
1942
|
+
if (files.length === 0) {
|
|
1943
|
+
return { ...state, query, allFiles, files, cursor: 0 }
|
|
1944
|
+
}
|
|
1945
|
+
const selected = state.files[state.cursor]
|
|
1946
|
+
const cursor = selected === undefined ? 0 : files.indexOf(selected)
|
|
1947
|
+
return {
|
|
1948
|
+
...state,
|
|
1949
|
+
query,
|
|
1950
|
+
allFiles,
|
|
1951
|
+
files,
|
|
1952
|
+
cursor: cursor === -1 ? 0 : cursor
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
|
|
1919
1956
|
const handleFileClear = (options: FileOptionsReq) => {
|
|
1920
1957
|
return Effect.fnUntraced(function*(state: FileState, _: Action<FileState, string>) {
|
|
1921
1958
|
const terminal = yield* Terminal.Terminal
|
|
@@ -1924,12 +1961,14 @@ const handleFileClear = (options: FileOptionsReq) => {
|
|
|
1924
1961
|
const figures = yield* platformFigures
|
|
1925
1962
|
const currentPath = yield* resolveCurrentPath(state.path, options)
|
|
1926
1963
|
const selectedPath = state.files[state.cursor]
|
|
1927
|
-
const resolvedPath = path.resolve(currentPath, selectedPath)
|
|
1964
|
+
const resolvedPath = selectedPath === undefined ? currentPath : path.resolve(currentPath, selectedPath)
|
|
1928
1965
|
const resolvedPathText = `${figures.pointerSmall} ${resolvedPath}`
|
|
1929
1966
|
const isConfirming = showConfirmation(state.confirm)
|
|
1930
1967
|
const promptText = isConfirming
|
|
1931
1968
|
? renderPrompt("(Y/n)", CONFIRM_MESSAGE, "?", figures.pointerSmall, { plain: true })
|
|
1932
|
-
: renderPrompt(
|
|
1969
|
+
: renderPrompt(renderFileFilter(state, { plain: true }), options.message, figures.tick, figures.ellipsis, {
|
|
1970
|
+
plain: true
|
|
1971
|
+
})
|
|
1933
1972
|
const filesText = isConfirming
|
|
1934
1973
|
? ""
|
|
1935
1974
|
: renderFiles(state, state.files, figures, options, { plain: true })
|
|
@@ -1997,6 +2036,17 @@ const renderFileName = (file: string, isSelected: boolean, renderOptions?: Rende
|
|
|
1997
2036
|
: file
|
|
1998
2037
|
}
|
|
1999
2038
|
|
|
2039
|
+
const renderFileFilter = (state: FileState, renderOptions?: RenderOptions | undefined) => {
|
|
2040
|
+
const filterValue = state.query.length === 0
|
|
2041
|
+
? renderOptions?.plain === true
|
|
2042
|
+
? FILE_FILTER_PLACEHOLDER
|
|
2043
|
+
: Ansi.annotate(FILE_FILTER_PLACEHOLDER, Ansi.blackBright)
|
|
2044
|
+
: renderOptions?.plain === true
|
|
2045
|
+
? state.query
|
|
2046
|
+
: Ansi.annotate(state.query, Ansi.combine(Ansi.underlined, Ansi.cyanBright))
|
|
2047
|
+
return `[${FILE_FILTER_LABEL}: ${filterValue}]`
|
|
2048
|
+
}
|
|
2049
|
+
|
|
2000
2050
|
const renderFiles = (
|
|
2001
2051
|
state: FileState,
|
|
2002
2052
|
files: ReadonlyArray<string>,
|
|
@@ -2005,6 +2055,11 @@ const renderFiles = (
|
|
|
2005
2055
|
renderOptions?: RenderOptions | undefined
|
|
2006
2056
|
) => {
|
|
2007
2057
|
const length = files.length
|
|
2058
|
+
if (length === 0) {
|
|
2059
|
+
return renderOptions?.plain === true
|
|
2060
|
+
? FILE_EMPTY_MESSAGE
|
|
2061
|
+
: Ansi.annotate(FILE_EMPTY_MESSAGE, Ansi.blackBright)
|
|
2062
|
+
}
|
|
2008
2063
|
const toDisplay = entriesToDisplay(state.cursor, length, options.maxPerPage)
|
|
2009
2064
|
const documents: Array<string> = []
|
|
2010
2065
|
for (let index = toDisplay.startIndex; index < toDisplay.endIndex; index++) {
|
|
@@ -2021,7 +2076,7 @@ const renderFileNextFrame = Effect.fnUntraced(function*(state: FileState, option
|
|
|
2021
2076
|
const figures = yield* platformFigures
|
|
2022
2077
|
const currentPath = yield* resolveCurrentPath(state.path, options)
|
|
2023
2078
|
const selectedPath = state.files[state.cursor]
|
|
2024
|
-
const resolvedPath = path.resolve(currentPath, selectedPath)
|
|
2079
|
+
const resolvedPath = selectedPath === undefined ? currentPath : path.resolve(currentPath, selectedPath)
|
|
2025
2080
|
const resolvedPathMsg = Ansi.annotate(figures.pointerSmall + " " + resolvedPath, Ansi.blackBright)
|
|
2026
2081
|
|
|
2027
2082
|
if (showConfirmation(state.confirm)) {
|
|
@@ -2033,33 +2088,36 @@ const renderFileNextFrame = Effect.fnUntraced(function*(state: FileState, option
|
|
|
2033
2088
|
}
|
|
2034
2089
|
const leadingSymbol = Ansi.annotate(figures.tick, Ansi.green)
|
|
2035
2090
|
const trailingSymbol = Ansi.annotate(figures.ellipsis, Ansi.blackBright)
|
|
2036
|
-
const promptMsg = renderPrompt(
|
|
2091
|
+
const promptMsg = renderPrompt(renderFileFilter(state), options.message, leadingSymbol, trailingSymbol)
|
|
2037
2092
|
const files = renderFiles(state, state.files, figures, options)
|
|
2038
2093
|
return Ansi.cursorHide + promptMsg + "\n" + resolvedPathMsg + "\n" + files
|
|
2039
2094
|
})
|
|
2040
2095
|
|
|
2041
|
-
const renderFileSubmission = Effect.fnUntraced(function*(value: string, options: FileOptionsReq) {
|
|
2096
|
+
const renderFileSubmission = Effect.fnUntraced(function*(state: FileState, value: string, options: FileOptionsReq) {
|
|
2042
2097
|
const figures = yield* platformFigures
|
|
2043
2098
|
const leadingSymbol = Ansi.annotate(figures.tick, Ansi.green)
|
|
2044
2099
|
const trailingSymbol = Ansi.annotate(figures.ellipsis, Ansi.blackBright)
|
|
2045
|
-
const promptMsg = renderPrompt(
|
|
2100
|
+
const promptMsg = renderPrompt(renderFileFilter(state), options.message, leadingSymbol, trailingSymbol)
|
|
2046
2101
|
return promptMsg + " " + Ansi.annotate(value, Ansi.white) + "\n"
|
|
2047
2102
|
})
|
|
2048
2103
|
|
|
2049
2104
|
const handleFileRender = (options: FileOptionsReq) => {
|
|
2050
2105
|
return (
|
|
2051
|
-
|
|
2106
|
+
state: FileState,
|
|
2052
2107
|
action: Action<FileState, string>
|
|
2053
2108
|
): Effect.Effect<string, never, Path.Path | FileSystem.FileSystem> => {
|
|
2054
2109
|
return Action.$match(action, {
|
|
2055
2110
|
Beep: () => Effect.succeed(renderBeep),
|
|
2056
2111
|
NextFrame: ({ state }) => renderFileNextFrame(state, options),
|
|
2057
|
-
Submit: ({ value }) => renderFileSubmission(value, options)
|
|
2112
|
+
Submit: ({ value }) => renderFileSubmission(state, value, options)
|
|
2058
2113
|
})
|
|
2059
2114
|
}
|
|
2060
2115
|
}
|
|
2061
2116
|
|
|
2062
2117
|
const processFileCursorUp = (state: FileState) => {
|
|
2118
|
+
if (state.files.length === 0) {
|
|
2119
|
+
return Effect.succeed(Action.Beep())
|
|
2120
|
+
}
|
|
2063
2121
|
const cursor = state.cursor - 1
|
|
2064
2122
|
return Effect.succeed(Action.NextFrame({
|
|
2065
2123
|
state: { ...state, cursor: cursor < 0 ? state.files.length - 1 : cursor }
|
|
@@ -2067,12 +2125,36 @@ const processFileCursorUp = (state: FileState) => {
|
|
|
2067
2125
|
}
|
|
2068
2126
|
|
|
2069
2127
|
const processFileCursorDown = (state: FileState) => {
|
|
2128
|
+
if (state.files.length === 0) {
|
|
2129
|
+
return Effect.succeed(Action.Beep())
|
|
2130
|
+
}
|
|
2070
2131
|
return Effect.succeed(Action.NextFrame({
|
|
2071
2132
|
state: { ...state, cursor: (state.cursor + 1) % state.files.length }
|
|
2072
2133
|
}))
|
|
2073
2134
|
}
|
|
2074
2135
|
|
|
2136
|
+
const processFileBackspace = (state: FileState) => {
|
|
2137
|
+
if (state.query.length === 0) {
|
|
2138
|
+
return Effect.succeed(Action.Beep())
|
|
2139
|
+
}
|
|
2140
|
+
const query = state.query.slice(0, state.query.length - 1)
|
|
2141
|
+
return Effect.succeed(Action.NextFrame({ state: updateFileState(state, query) }))
|
|
2142
|
+
}
|
|
2143
|
+
|
|
2144
|
+
const processFileClear = (state: FileState) => Effect.succeed(Action.NextFrame({ state: updateFileState(state, "") }))
|
|
2145
|
+
|
|
2146
|
+
const processFileInput = (input: string, state: FileState) => {
|
|
2147
|
+
if (input.length === 0) {
|
|
2148
|
+
return Effect.succeed(Action.Beep())
|
|
2149
|
+
}
|
|
2150
|
+
const query = state.query + input
|
|
2151
|
+
return Effect.succeed(Action.NextFrame({ state: updateFileState(state, query) }))
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2075
2154
|
const processSelection = Effect.fnUntraced(function*(state: FileState, options: FileOptionsReq) {
|
|
2155
|
+
if (state.files.length === 0) {
|
|
2156
|
+
return Action.Beep()
|
|
2157
|
+
}
|
|
2076
2158
|
const fs = yield* FileSystem.FileSystem
|
|
2077
2159
|
const path = yield* Path.Path
|
|
2078
2160
|
const currentPath = yield* resolveCurrentPath(state.path, options)
|
|
@@ -2099,7 +2181,9 @@ const processSelection = Effect.fnUntraced(function*(state: FileState, options:
|
|
|
2099
2181
|
state: {
|
|
2100
2182
|
cursor: 0,
|
|
2101
2183
|
files,
|
|
2102
|
-
|
|
2184
|
+
allFiles: files,
|
|
2185
|
+
query: "",
|
|
2186
|
+
path: Option.some(resolvedPath),
|
|
2103
2187
|
confirm: Confirm.Hide()
|
|
2104
2188
|
}
|
|
2105
2189
|
})
|
|
@@ -2109,6 +2193,15 @@ const processSelection = Effect.fnUntraced(function*(state: FileState, options:
|
|
|
2109
2193
|
|
|
2110
2194
|
const handleFileProcess = (options: FileOptionsReq) => {
|
|
2111
2195
|
return Effect.fnUntraced(function*(input: Terminal.UserInput, state: FileState) {
|
|
2196
|
+
if (input.key.ctrl) {
|
|
2197
|
+
if (input.key.name === "u") {
|
|
2198
|
+
if (showConfirmation(state.confirm)) {
|
|
2199
|
+
return Action.Beep()
|
|
2200
|
+
}
|
|
2201
|
+
return yield* processFileClear(state)
|
|
2202
|
+
}
|
|
2203
|
+
return Action.Beep()
|
|
2204
|
+
}
|
|
2112
2205
|
switch (input.key.name) {
|
|
2113
2206
|
case "k":
|
|
2114
2207
|
case "up": {
|
|
@@ -2119,6 +2212,12 @@ const handleFileProcess = (options: FileOptionsReq) => {
|
|
|
2119
2212
|
case "tab": {
|
|
2120
2213
|
return yield* processFileCursorDown(state)
|
|
2121
2214
|
}
|
|
2215
|
+
case "backspace": {
|
|
2216
|
+
if (showConfirmation(state.confirm)) {
|
|
2217
|
+
return Action.Beep()
|
|
2218
|
+
}
|
|
2219
|
+
return yield* processFileBackspace(state)
|
|
2220
|
+
}
|
|
2122
2221
|
case "enter":
|
|
2123
2222
|
case "return": {
|
|
2124
2223
|
return yield* processSelection(state, options)
|
|
@@ -2135,12 +2234,14 @@ const handleFileProcess = (options: FileOptionsReq) => {
|
|
|
2135
2234
|
state: {
|
|
2136
2235
|
cursor: 0,
|
|
2137
2236
|
files,
|
|
2138
|
-
|
|
2237
|
+
allFiles: files,
|
|
2238
|
+
query: "",
|
|
2239
|
+
path: Option.some(resolvedPath),
|
|
2139
2240
|
confirm: Confirm.Hide()
|
|
2140
2241
|
}
|
|
2141
2242
|
})
|
|
2142
2243
|
}
|
|
2143
|
-
return
|
|
2244
|
+
return yield* processFileInput(Option.getOrElse(input.input, () => ""), state)
|
|
2144
2245
|
}
|
|
2145
2246
|
case "n":
|
|
2146
2247
|
case "f": {
|
|
@@ -2151,10 +2252,13 @@ const handleFileProcess = (options: FileOptionsReq) => {
|
|
|
2151
2252
|
const resolvedPath = path.resolve(currentPath, selectedPath)
|
|
2152
2253
|
return Action.Submit({ value: resolvedPath })
|
|
2153
2254
|
}
|
|
2154
|
-
return
|
|
2255
|
+
return yield* processFileInput(Option.getOrElse(input.input, () => ""), state)
|
|
2155
2256
|
}
|
|
2156
2257
|
default: {
|
|
2157
|
-
|
|
2258
|
+
if (showConfirmation(state.confirm)) {
|
|
2259
|
+
return Action.Beep()
|
|
2260
|
+
}
|
|
2261
|
+
return yield* processFileInput(Option.getOrElse(input.input, () => ""), state)
|
|
2158
2262
|
}
|
|
2159
2263
|
}
|
|
2160
2264
|
})
|
|
@@ -2166,7 +2270,7 @@ interface MultiSelectOptionsReq extends MultiSelectOptions {}
|
|
|
2166
2270
|
type MultiSelectState = {
|
|
2167
2271
|
index: number
|
|
2168
2272
|
selectedIndices: Set<number>
|
|
2169
|
-
error: string
|
|
2273
|
+
error: Option.Option<string>
|
|
2170
2274
|
}
|
|
2171
2275
|
|
|
2172
2276
|
const renderMultiSelectError = (
|
|
@@ -2174,8 +2278,8 @@ const renderMultiSelectError = (
|
|
|
2174
2278
|
pointer: string,
|
|
2175
2279
|
renderOptions?: RenderOptions | undefined
|
|
2176
2280
|
): string => {
|
|
2177
|
-
if (state.error
|
|
2178
|
-
return Arr.match(state.error.split(NEWLINE_REGEXP), {
|
|
2281
|
+
if (Option.isSome(state.error)) {
|
|
2282
|
+
return Arr.match(state.error.value.split(NEWLINE_REGEXP), {
|
|
2179
2283
|
onEmpty: () => "",
|
|
2180
2284
|
onNonEmpty: (errorLines) => {
|
|
2181
2285
|
if (renderOptions?.plain === true) {
|
|
@@ -2347,12 +2451,12 @@ const handleMultiSelectProcess = <A>(options: SelectOptionsReq<A> & MultiSelectO
|
|
|
2347
2451
|
switch (input.key.name) {
|
|
2348
2452
|
case "k":
|
|
2349
2453
|
case "up": {
|
|
2350
|
-
return processMultiSelectCursorUp({ ...state, error:
|
|
2454
|
+
return processMultiSelectCursorUp({ ...state, error: Option.none() }, totalChoices)
|
|
2351
2455
|
}
|
|
2352
2456
|
case "j":
|
|
2353
2457
|
case "down":
|
|
2354
2458
|
case "tab": {
|
|
2355
|
-
return processMultiSelectCursorDown({ ...state, error:
|
|
2459
|
+
return processMultiSelectCursorDown({ ...state, error: Option.none() }, totalChoices)
|
|
2356
2460
|
}
|
|
2357
2461
|
case "space": {
|
|
2358
2462
|
return processSpace(state, options)
|
|
@@ -2362,12 +2466,12 @@ const handleMultiSelectProcess = <A>(options: SelectOptionsReq<A> & MultiSelectO
|
|
|
2362
2466
|
const selectedCount = state.selectedIndices.size
|
|
2363
2467
|
if (options.min !== undefined && selectedCount < options.min) {
|
|
2364
2468
|
return Effect.succeed(
|
|
2365
|
-
Action.NextFrame({ state: { ...state, error: `At least ${options.min} are required` } })
|
|
2469
|
+
Action.NextFrame({ state: { ...state, error: Option.some(`At least ${options.min} are required`) } })
|
|
2366
2470
|
)
|
|
2367
2471
|
}
|
|
2368
2472
|
if (options.max !== undefined && selectedCount > options.max) {
|
|
2369
2473
|
return Effect.succeed(
|
|
2370
|
-
Action.NextFrame({ state: { ...state, error: `At most ${options.max} choices are allowed` } })
|
|
2474
|
+
Action.NextFrame({ state: { ...state, error: Option.some(`At most ${options.max} choices are allowed`) } })
|
|
2371
2475
|
)
|
|
2372
2476
|
}
|
|
2373
2477
|
const selectedValues = Array.from(state.selectedIndices).sort(EffectNumber.Order).map((index) =>
|
|
@@ -2398,7 +2502,7 @@ interface FloatOptionsReq extends Required<FloatOptions> {}
|
|
|
2398
2502
|
interface NumberState {
|
|
2399
2503
|
readonly cursor: number
|
|
2400
2504
|
readonly value: string
|
|
2401
|
-
readonly error: string
|
|
2505
|
+
readonly error: Option.Option<string>
|
|
2402
2506
|
}
|
|
2403
2507
|
|
|
2404
2508
|
const handleNumberClear = (options: IntegerOptionsReq) => {
|
|
@@ -2423,7 +2527,7 @@ const renderNumberInput = (
|
|
|
2423
2527
|
if (submitted || renderOptions?.plain === true) {
|
|
2424
2528
|
return value
|
|
2425
2529
|
}
|
|
2426
|
-
const annotation = state.error
|
|
2530
|
+
const annotation = Option.isSome(state.error) ?
|
|
2427
2531
|
Ansi.red :
|
|
2428
2532
|
Ansi.combine(Ansi.underlined, Ansi.cyanBright)
|
|
2429
2533
|
return Ansi.annotate(value, annotation)
|
|
@@ -2434,8 +2538,8 @@ const renderNumberError = (
|
|
|
2434
2538
|
pointer: string,
|
|
2435
2539
|
renderOptions?: RenderOptions | undefined
|
|
2436
2540
|
) => {
|
|
2437
|
-
if (state.error
|
|
2438
|
-
return Arr.match(state.error.split(NEWLINE_REGEXP), {
|
|
2541
|
+
if (Option.isSome(state.error)) {
|
|
2542
|
+
return Arr.match(state.error.value.split(NEWLINE_REGEXP), {
|
|
2439
2543
|
onEmpty: () => "",
|
|
2440
2544
|
onNonEmpty: (errorLines) => {
|
|
2441
2545
|
if (renderOptions?.plain === true) {
|
|
@@ -2485,14 +2589,19 @@ const processNumberBackspace = (state: NumberState) => {
|
|
|
2485
2589
|
}
|
|
2486
2590
|
const value = state.value.slice(0, state.value.length - 1)
|
|
2487
2591
|
return Effect.succeed(Action.NextFrame({
|
|
2488
|
-
state: { ...state, value, error:
|
|
2592
|
+
state: { ...state, value, error: Option.none() }
|
|
2489
2593
|
}))
|
|
2490
2594
|
}
|
|
2491
2595
|
|
|
2596
|
+
const processNumberClear = (state: NumberState) =>
|
|
2597
|
+
Effect.succeed(Action.NextFrame({
|
|
2598
|
+
state: { ...state, cursor: 0, value: "", error: Option.none() }
|
|
2599
|
+
}))
|
|
2600
|
+
|
|
2492
2601
|
const defaultIntProcessor = (input: string, state: NumberState) => {
|
|
2493
2602
|
if (state.value.length === 0 && input === "-") {
|
|
2494
2603
|
return Effect.succeed(Action.NextFrame({
|
|
2495
|
-
state: { ...state, value: "-", error:
|
|
2604
|
+
state: { ...state, value: "-", error: Option.none() }
|
|
2496
2605
|
}))
|
|
2497
2606
|
}
|
|
2498
2607
|
|
|
@@ -2501,7 +2610,7 @@ const defaultIntProcessor = (input: string, state: NumberState) => {
|
|
|
2501
2610
|
return Effect.succeed(Action.Beep())
|
|
2502
2611
|
} else {
|
|
2503
2612
|
return Effect.succeed(Action.NextFrame({
|
|
2504
|
-
state: { ...state, value: `${parsed}`, error:
|
|
2613
|
+
state: { ...state, value: `${parsed}`, error: Option.none() }
|
|
2505
2614
|
}))
|
|
2506
2615
|
}
|
|
2507
2616
|
}
|
|
@@ -2512,7 +2621,7 @@ const defaultFloatProcessor = (input: string, state: NumberState) => {
|
|
|
2512
2621
|
}
|
|
2513
2622
|
if (state.value.length === 0 && input === "-") {
|
|
2514
2623
|
return Effect.succeed(Action.NextFrame({
|
|
2515
|
-
state: { ...state, value: "-", error:
|
|
2624
|
+
state: { ...state, value: "-", error: Option.none() }
|
|
2516
2625
|
}))
|
|
2517
2626
|
}
|
|
2518
2627
|
|
|
@@ -2524,7 +2633,7 @@ const defaultFloatProcessor = (input: string, state: NumberState) => {
|
|
|
2524
2633
|
state: {
|
|
2525
2634
|
...state,
|
|
2526
2635
|
value: input === "." ? `${parsed}.` : `${parsed}`,
|
|
2527
|
-
error:
|
|
2636
|
+
error: Option.none()
|
|
2528
2637
|
}
|
|
2529
2638
|
}))
|
|
2530
2639
|
}
|
|
@@ -2542,6 +2651,9 @@ const handleRenderInteger = (options: IntegerOptionsReq) => {
|
|
|
2542
2651
|
|
|
2543
2652
|
const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
2544
2653
|
return (input: Terminal.UserInput, state: NumberState) => {
|
|
2654
|
+
if (input.key.ctrl && input.key.name === "u") {
|
|
2655
|
+
return processNumberClear(state)
|
|
2656
|
+
}
|
|
2545
2657
|
switch (input.key.name) {
|
|
2546
2658
|
case "backspace": {
|
|
2547
2659
|
return processNumberBackspace(state)
|
|
@@ -2554,7 +2666,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2554
2666
|
value: state.value === "" || state.value === "-"
|
|
2555
2667
|
? `${options.incrementBy}`
|
|
2556
2668
|
: `${Number.parseInt(state.value) + options.incrementBy}`,
|
|
2557
|
-
error:
|
|
2669
|
+
error: Option.none()
|
|
2558
2670
|
}
|
|
2559
2671
|
}))
|
|
2560
2672
|
}
|
|
@@ -2566,7 +2678,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2566
2678
|
value: state.value === "" || state.value === "-"
|
|
2567
2679
|
? `-${options.decrementBy}`
|
|
2568
2680
|
: `${Number.parseInt(state.value) - options.decrementBy}`,
|
|
2569
|
-
error:
|
|
2681
|
+
error: Option.none()
|
|
2570
2682
|
}
|
|
2571
2683
|
}))
|
|
2572
2684
|
}
|
|
@@ -2577,7 +2689,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2577
2689
|
return Effect.succeed(Action.NextFrame({
|
|
2578
2690
|
state: {
|
|
2579
2691
|
...state,
|
|
2580
|
-
error: "Must provide an integer value"
|
|
2692
|
+
error: Option.some("Must provide an integer value")
|
|
2581
2693
|
}
|
|
2582
2694
|
}))
|
|
2583
2695
|
} else {
|
|
@@ -2586,7 +2698,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2586
2698
|
Action.NextFrame({
|
|
2587
2699
|
state: {
|
|
2588
2700
|
...state,
|
|
2589
|
-
error
|
|
2701
|
+
error: Option.some(error)
|
|
2590
2702
|
}
|
|
2591
2703
|
}),
|
|
2592
2704
|
onSuccess: (value) => Action.Submit({ value })
|
|
@@ -2594,7 +2706,7 @@ const handleProcessInteger = (options: IntegerOptionsReq) => {
|
|
|
2594
2706
|
}
|
|
2595
2707
|
}
|
|
2596
2708
|
default: {
|
|
2597
|
-
return defaultIntProcessor(input.input
|
|
2709
|
+
return defaultIntProcessor(Option.getOrElse(input.input, () => ""), state)
|
|
2598
2710
|
}
|
|
2599
2711
|
}
|
|
2600
2712
|
}
|
|
@@ -2612,6 +2724,9 @@ const handleRenderFloat = (options: FloatOptionsReq) => {
|
|
|
2612
2724
|
|
|
2613
2725
|
const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
2614
2726
|
return (input: Terminal.UserInput, state: NumberState) => {
|
|
2727
|
+
if (input.key.ctrl && input.key.name === "u") {
|
|
2728
|
+
return processNumberClear(state)
|
|
2729
|
+
}
|
|
2615
2730
|
switch (input.key.name) {
|
|
2616
2731
|
case "backspace": {
|
|
2617
2732
|
return processNumberBackspace(state)
|
|
@@ -2624,7 +2739,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2624
2739
|
value: state.value === "" || state.value === "-"
|
|
2625
2740
|
? `${options.incrementBy}`
|
|
2626
2741
|
: `${Number.parseFloat(state.value) + options.incrementBy}`,
|
|
2627
|
-
error:
|
|
2742
|
+
error: Option.none()
|
|
2628
2743
|
}
|
|
2629
2744
|
}))
|
|
2630
2745
|
}
|
|
@@ -2636,7 +2751,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2636
2751
|
value: state.value === "" || state.value === "-"
|
|
2637
2752
|
? `-${options.decrementBy}`
|
|
2638
2753
|
: `${Number.parseFloat(state.value) - options.decrementBy}`,
|
|
2639
|
-
error:
|
|
2754
|
+
error: Option.none()
|
|
2640
2755
|
}
|
|
2641
2756
|
}))
|
|
2642
2757
|
}
|
|
@@ -2647,7 +2762,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2647
2762
|
return Effect.succeed(Action.NextFrame({
|
|
2648
2763
|
state: {
|
|
2649
2764
|
...state,
|
|
2650
|
-
error: "Must provide a floating point value"
|
|
2765
|
+
error: Option.some("Must provide a floating point value")
|
|
2651
2766
|
}
|
|
2652
2767
|
}))
|
|
2653
2768
|
} else {
|
|
@@ -2659,7 +2774,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2659
2774
|
Action.NextFrame({
|
|
2660
2775
|
state: {
|
|
2661
2776
|
...state,
|
|
2662
|
-
error
|
|
2777
|
+
error: Option.some(error)
|
|
2663
2778
|
}
|
|
2664
2779
|
}),
|
|
2665
2780
|
onSuccess: (value) => Action.Submit({ value })
|
|
@@ -2668,7 +2783,7 @@ const handleProcessFloat = (options: FloatOptionsReq) => {
|
|
|
2668
2783
|
}
|
|
2669
2784
|
}
|
|
2670
2785
|
default: {
|
|
2671
|
-
return defaultFloatProcessor(input.input
|
|
2786
|
+
return defaultFloatProcessor(Option.getOrElse(input.input, () => ""), state)
|
|
2672
2787
|
}
|
|
2673
2788
|
}
|
|
2674
2789
|
}
|
|
@@ -2712,7 +2827,7 @@ const updateAutoCompleteState = <A>(
|
|
|
2712
2827
|
}
|
|
2713
2828
|
|
|
2714
2829
|
const autoCompleteCursor = (state: AutoCompleteState) =>
|
|
2715
|
-
Arr.findFirstIndex(state.filtered, (index) => index === state.index)
|
|
2830
|
+
Option.getOrElse(Arr.findFirstIndex(state.filtered, (index) => index === state.index), () => 0)
|
|
2716
2831
|
|
|
2717
2832
|
const renderSelectOutput = <A>(
|
|
2718
2833
|
leadingSymbol: string,
|
|
@@ -2962,6 +3077,9 @@ const processAutoCompleteBackspace = <A>(state: AutoCompleteState, options: Auto
|
|
|
2962
3077
|
return Effect.succeed(Action.NextFrame({ state: updateAutoCompleteState(state, options, query) }))
|
|
2963
3078
|
}
|
|
2964
3079
|
|
|
3080
|
+
const processAutoCompleteClear = <A>(state: AutoCompleteState, options: AutoCompleteOptionsReq<A>) =>
|
|
3081
|
+
Effect.succeed(Action.NextFrame({ state: updateAutoCompleteState(state, options, "") }))
|
|
3082
|
+
|
|
2965
3083
|
const processAutoCompleteInput = <A>(input: string, state: AutoCompleteState, options: AutoCompleteOptionsReq<A>) => {
|
|
2966
3084
|
if (input.length === 0) {
|
|
2967
3085
|
return Effect.succeed(Action.Beep())
|
|
@@ -3045,6 +3163,12 @@ const handleSelectProcess = <A>(options: SelectOptionsReq<A>) => {
|
|
|
3045
3163
|
|
|
3046
3164
|
const handleAutoCompleteProcess = <A>(options: AutoCompleteOptionsReq<A>) => {
|
|
3047
3165
|
return (input: Terminal.UserInput, state: AutoCompleteState) => {
|
|
3166
|
+
if (input.key.ctrl) {
|
|
3167
|
+
if (input.key.name === "u") {
|
|
3168
|
+
return processAutoCompleteClear(state, options)
|
|
3169
|
+
}
|
|
3170
|
+
return Effect.succeed(Action.Beep())
|
|
3171
|
+
}
|
|
3048
3172
|
switch (input.key.name) {
|
|
3049
3173
|
case "k":
|
|
3050
3174
|
case "up": {
|
|
@@ -3072,7 +3196,7 @@ const handleAutoCompleteProcess = <A>(options: AutoCompleteOptionsReq<A>) => {
|
|
|
3072
3196
|
return Effect.succeed(Action.Submit({ value: selected.value }))
|
|
3073
3197
|
}
|
|
3074
3198
|
default: {
|
|
3075
|
-
return processAutoCompleteInput(input.input
|
|
3199
|
+
return processAutoCompleteInput(Option.getOrElse(input.input, () => ""), state, options)
|
|
3076
3200
|
}
|
|
3077
3201
|
}
|
|
3078
3202
|
}
|
|
@@ -3088,11 +3212,7 @@ interface TextOptionsReq extends Required<TextOptions> {
|
|
|
3088
3212
|
interface TextState {
|
|
3089
3213
|
readonly cursor: number
|
|
3090
3214
|
readonly value: string
|
|
3091
|
-
readonly error: string
|
|
3092
|
-
}
|
|
3093
|
-
|
|
3094
|
-
const getValue = (state: TextState, options: TextOptionsReq): string => {
|
|
3095
|
-
return state.value.length > 0 ? state.value : options.default
|
|
3215
|
+
readonly error: Option.Option<string>
|
|
3096
3216
|
}
|
|
3097
3217
|
|
|
3098
3218
|
const renderClearScreen = Effect.fnUntraced(function*(state: TextState, options: TextOptionsReq) {
|
|
@@ -3115,7 +3235,7 @@ const renderTextInput = (
|
|
|
3115
3235
|
submitted: boolean,
|
|
3116
3236
|
renderOptions?: RenderOptions | undefined
|
|
3117
3237
|
) => {
|
|
3118
|
-
const text =
|
|
3238
|
+
const text = nextState.value
|
|
3119
3239
|
if (renderOptions?.plain === true) {
|
|
3120
3240
|
switch (options.type) {
|
|
3121
3241
|
case "hidden": {
|
|
@@ -3130,7 +3250,7 @@ const renderTextInput = (
|
|
|
3130
3250
|
}
|
|
3131
3251
|
}
|
|
3132
3252
|
|
|
3133
|
-
const annotation = nextState.error
|
|
3253
|
+
const annotation = Option.isSome(nextState.error) ?
|
|
3134
3254
|
Ansi.red
|
|
3135
3255
|
: submitted ?
|
|
3136
3256
|
Ansi.white
|
|
@@ -3156,8 +3276,8 @@ const renderTextError = (
|
|
|
3156
3276
|
pointer: string,
|
|
3157
3277
|
renderOptions?: RenderOptions | undefined
|
|
3158
3278
|
): string => {
|
|
3159
|
-
if (nextState.error
|
|
3160
|
-
return Arr.match(nextState.error.split(NEWLINE_REGEXP), {
|
|
3279
|
+
if (Option.isSome(nextState.error)) {
|
|
3280
|
+
return Arr.match(nextState.error.value.split(NEWLINE_REGEXP), {
|
|
3161
3281
|
onEmpty: () => "",
|
|
3162
3282
|
onNonEmpty: (errorLines) => {
|
|
3163
3283
|
if (renderOptions?.plain === true) {
|
|
@@ -3212,11 +3332,18 @@ const processTextBackspace = (state: TextState) => {
|
|
|
3212
3332
|
const value = `${beforeCursor}${afterCursor}`
|
|
3213
3333
|
return Effect.succeed(
|
|
3214
3334
|
Action.NextFrame({
|
|
3215
|
-
state: { ...state, cursor, value, error:
|
|
3335
|
+
state: { ...state, cursor, value, error: Option.none() }
|
|
3216
3336
|
})
|
|
3217
3337
|
)
|
|
3218
3338
|
}
|
|
3219
3339
|
|
|
3340
|
+
const processTextClear = (state: TextState) =>
|
|
3341
|
+
Effect.succeed(
|
|
3342
|
+
Action.NextFrame({
|
|
3343
|
+
state: { ...state, cursor: 0, value: "", error: Option.none() }
|
|
3344
|
+
})
|
|
3345
|
+
)
|
|
3346
|
+
|
|
3220
3347
|
const processTextCursorLeft = (state: TextState) => {
|
|
3221
3348
|
if (state.cursor <= 0) {
|
|
3222
3349
|
return Effect.succeed(Action.Beep())
|
|
@@ -3224,7 +3351,7 @@ const processTextCursorLeft = (state: TextState) => {
|
|
|
3224
3351
|
const cursor = state.cursor - 1
|
|
3225
3352
|
return Effect.succeed(
|
|
3226
3353
|
Action.NextFrame({
|
|
3227
|
-
state: { ...state, cursor, error:
|
|
3354
|
+
state: { ...state, cursor, error: Option.none() }
|
|
3228
3355
|
})
|
|
3229
3356
|
)
|
|
3230
3357
|
}
|
|
@@ -3236,20 +3363,33 @@ const processTextCursorRight = (state: TextState) => {
|
|
|
3236
3363
|
const cursor = Math.min(state.cursor + 1, state.value.length)
|
|
3237
3364
|
return Effect.succeed(
|
|
3238
3365
|
Action.NextFrame({
|
|
3239
|
-
state: { ...state, cursor, error:
|
|
3366
|
+
state: { ...state, cursor, error: Option.none() }
|
|
3240
3367
|
})
|
|
3241
3368
|
)
|
|
3242
3369
|
}
|
|
3243
3370
|
|
|
3371
|
+
const processTextCursorStart = (state: TextState) =>
|
|
3372
|
+
Effect.succeed(
|
|
3373
|
+
Action.NextFrame({
|
|
3374
|
+
state: { ...state, cursor: 0, error: Option.none() }
|
|
3375
|
+
})
|
|
3376
|
+
)
|
|
3377
|
+
|
|
3378
|
+
const processTextCursorEnd = (state: TextState) =>
|
|
3379
|
+
Effect.succeed(
|
|
3380
|
+
Action.NextFrame({
|
|
3381
|
+
state: { ...state, cursor: state.value.length, error: Option.none() }
|
|
3382
|
+
})
|
|
3383
|
+
)
|
|
3384
|
+
|
|
3244
3385
|
const processTab = (state: TextState, options: TextOptionsReq) => {
|
|
3245
3386
|
if (state.value === options.default) {
|
|
3246
3387
|
return Effect.succeed(Action.Beep())
|
|
3247
3388
|
}
|
|
3248
|
-
const value =
|
|
3249
|
-
const cursor = value.length
|
|
3389
|
+
const value = state.value.length === 0 ? options.default : state.value
|
|
3250
3390
|
return Effect.succeed(
|
|
3251
3391
|
Action.NextFrame({
|
|
3252
|
-
state: { ...state, value, cursor, error:
|
|
3392
|
+
state: { ...state, value, cursor: value.length, error: Option.none() }
|
|
3253
3393
|
})
|
|
3254
3394
|
)
|
|
3255
3395
|
}
|
|
@@ -3261,7 +3401,7 @@ const defaultTextProcessor = (input: string, state: TextState) => {
|
|
|
3261
3401
|
const cursor = state.cursor + input.length
|
|
3262
3402
|
return Effect.succeed(
|
|
3263
3403
|
Action.NextFrame({
|
|
3264
|
-
state: { ...state, cursor, value, error:
|
|
3404
|
+
state: { ...state, cursor, value, error: Option.none() }
|
|
3265
3405
|
})
|
|
3266
3406
|
)
|
|
3267
3407
|
}
|
|
@@ -3278,6 +3418,22 @@ const handleTextRender = (options: TextOptionsReq) => {
|
|
|
3278
3418
|
|
|
3279
3419
|
const handleTextProcess = (options: TextOptionsReq) => {
|
|
3280
3420
|
return (input: Terminal.UserInput, state: TextState) => {
|
|
3421
|
+
if (input.key.ctrl) {
|
|
3422
|
+
switch (input.key.name) {
|
|
3423
|
+
case "u": {
|
|
3424
|
+
return processTextClear(state)
|
|
3425
|
+
}
|
|
3426
|
+
case "a": {
|
|
3427
|
+
return processTextCursorStart(state)
|
|
3428
|
+
}
|
|
3429
|
+
case "e": {
|
|
3430
|
+
return processTextCursorEnd(state)
|
|
3431
|
+
}
|
|
3432
|
+
default: {
|
|
3433
|
+
return Effect.succeed(Action.Beep())
|
|
3434
|
+
}
|
|
3435
|
+
}
|
|
3436
|
+
}
|
|
3281
3437
|
switch (input.key.name) {
|
|
3282
3438
|
case "backspace": {
|
|
3283
3439
|
return processTextBackspace(state)
|
|
@@ -3288,13 +3444,19 @@ const handleTextProcess = (options: TextOptionsReq) => {
|
|
|
3288
3444
|
case "right": {
|
|
3289
3445
|
return processTextCursorRight(state)
|
|
3290
3446
|
}
|
|
3447
|
+
case "home": {
|
|
3448
|
+
return processTextCursorStart(state)
|
|
3449
|
+
}
|
|
3450
|
+
case "end": {
|
|
3451
|
+
return processTextCursorEnd(state)
|
|
3452
|
+
}
|
|
3291
3453
|
case "enter":
|
|
3292
3454
|
case "return": {
|
|
3293
|
-
const value =
|
|
3455
|
+
const value = state.value
|
|
3294
3456
|
return Effect.match(options.validate(value), {
|
|
3295
3457
|
onFailure: (error) =>
|
|
3296
3458
|
Action.NextFrame({
|
|
3297
|
-
state: { ...state, value, error }
|
|
3459
|
+
state: { ...state, value, error: Option.some(error) }
|
|
3298
3460
|
}),
|
|
3299
3461
|
onSuccess: (value) => Action.Submit({ value })
|
|
3300
3462
|
})
|
|
@@ -3303,7 +3465,7 @@ const handleTextProcess = (options: TextOptionsReq) => {
|
|
|
3303
3465
|
return processTab(state, options)
|
|
3304
3466
|
}
|
|
3305
3467
|
default: {
|
|
3306
|
-
return defaultTextProcessor(input.input
|
|
3468
|
+
return defaultTextProcessor(Option.getOrElse(input.input, () => ""), state)
|
|
3307
3469
|
}
|
|
3308
3470
|
}
|
|
3309
3471
|
}
|
|
@@ -3329,7 +3491,7 @@ const basePrompt = (
|
|
|
3329
3491
|
const initialState: TextState = {
|
|
3330
3492
|
cursor: opts.default.length,
|
|
3331
3493
|
value: opts.default,
|
|
3332
|
-
error:
|
|
3494
|
+
error: Option.none()
|
|
3333
3495
|
}
|
|
3334
3496
|
return custom(initialState, {
|
|
3335
3497
|
render: handleTextRender(opts),
|