effect 4.0.1 → 4.0.3
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/ai-docs/package.json +2 -2
- package/ai-docs/tsconfig.json +2 -1
- package/dist/Array.d.ts +339 -0
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +143 -3
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +88 -0
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +44 -0
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +68 -0
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +36 -0
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +34 -0
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +18 -0
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +9 -0
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +6 -0
- package/dist/Brand.js.map +1 -1
- package/dist/ByteSize.d.ts +86 -0
- package/dist/ByteSize.d.ts.map +1 -1
- package/dist/ByteSize.js +51 -0
- package/dist/ByteSize.js.map +1 -1
- package/dist/Cache.d.ts +38 -1
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +27 -7
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +82 -0
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +60 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +327 -4
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +168 -8
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -0
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js +6 -0
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +192 -0
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +78 -0
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +7 -0
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +5 -0
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +10 -0
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +8 -0
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +52 -12
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +55 -5
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +28 -0
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +19 -0
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +22 -0
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +20 -0
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +50 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +24 -3
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +16 -0
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +26 -1
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +38 -5
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +11 -2
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +13 -0
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +5 -0
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +180 -6
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +98 -6
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +51 -0
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +22 -0
- package/dist/Deferred.js.map +1 -1
- package/dist/Differ.d.ts +2 -0
- package/dist/Differ.d.ts.map +1 -1
- package/dist/Differ.js +1 -0
- package/dist/Duration.d.ts +96 -6
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +80 -8
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +527 -0
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +240 -5
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +4 -0
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +3 -0
- package/dist/Effectable.js.map +1 -1
- package/dist/Equal.d.ts +8 -0
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +9 -1
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +21 -0
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +16 -0
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +36 -0
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +11 -0
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +49 -8
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +40 -0
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +27 -0
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +20 -0
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +11 -0
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +21 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +21 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +19 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +14 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +59 -2
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +8 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +55 -0
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +28 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +3 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +39 -1
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +30 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +20 -0
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +247 -12
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +149 -28
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +5 -0
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +14 -0
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +12 -0
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +91 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +39 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +17 -0
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +49 -0
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +19 -0
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +7 -0
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +6 -0
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +127 -0
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +51 -0
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +4 -0
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +3 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +5 -0
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +5 -0
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +16 -0
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +11 -0
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +14 -0
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +10 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +100 -0
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +45 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +7 -0
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +4 -0
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +5 -0
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +3 -0
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +20 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +9 -0
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +25 -0
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +30 -4
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +5 -0
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +9 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +51 -0
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +39 -0
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +59 -0
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +31 -0
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +32 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +16 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +16 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +10 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +20 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +31 -0
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +17 -0
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +9 -0
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +6 -0
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +4 -0
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +2 -0
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +61 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +31 -0
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +41 -0
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +20 -0
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +134 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +61 -0
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +29 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +24 -0
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +7 -0
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +3 -0
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +24 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +47 -21
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +6 -0
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +4 -0
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +7 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +5 -0
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +8 -0
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +7 -0
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +19 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +8 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +84 -0
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +48 -0
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +5 -0
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +4 -0
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +67 -5
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +60 -8
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +20 -0
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +10 -0
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +60 -0
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +58 -8
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +13 -0
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +9 -0
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +23 -0
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +8 -0
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +6 -0
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +3 -0
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +100 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +43 -0
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -0
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +4 -0
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +8 -0
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +6 -0
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +4 -0
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +3 -0
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +20 -0
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +16 -0
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +21 -0
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +19 -0
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +3 -0
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +4 -0
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +32 -0
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +12 -0
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +42 -0
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +27 -6
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +6 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +6 -0
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +91 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +41 -0
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +9 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +7 -0
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +57 -0
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +32 -0
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +7 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +5 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +969 -2
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +635 -5
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +107 -0
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +81 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +69 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +63 -4
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +33 -0
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +18 -0
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +25 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +26 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +147 -0
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +99 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +53 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +46 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +19 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +12 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +34 -0
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +26 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +9 -0
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -0
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +26 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +10 -0
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +125 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +75 -1
- package/dist/Sink.js.map +1 -1
- package/dist/StandardSchema.d.ts +1 -0
- package/dist/StandardSchema.d.ts.map +1 -1
- package/dist/StandardSchema.js +1 -0
- package/dist/Stdio.d.ts +14 -1
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +6 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +569 -11
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +266 -18
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +87 -0
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +61 -0
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +46 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +19 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +65 -0
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +25 -0
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +2 -0
- package/dist/Symbol.d.ts.map +1 -1
- package/dist/Symbol.js +2 -0
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +63 -0
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +24 -0
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.d.ts +3 -0
- package/dist/Take.d.ts.map +1 -1
- package/dist/Take.js +1 -0
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +8 -0
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +4 -0
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +23 -0
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +12 -0
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +68 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +28 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +38 -0
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +18 -0
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +52 -0
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +23 -0
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +15 -0
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +8 -0
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +83 -0
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +52 -7
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +51 -0
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +29 -4
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +30 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +22 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +25 -0
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +19 -0
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +51 -0
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +30 -0
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +24 -0
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +32 -18
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +14 -0
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +7 -0
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +25 -0
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +29 -13
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +25 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +12 -0
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +36 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +1 -0
- package/dist/UndefinedOr.d.ts +15 -0
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +9 -0
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +15 -0
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +2 -0
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +4 -0
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +1 -0
- package/dist/Utils.js.map +1 -1
- package/dist/Version.d.ts +26 -0
- package/dist/Version.d.ts.map +1 -0
- package/dist/Version.js +36 -0
- package/dist/Version.js.map +1 -0
- package/dist/ai/Chat.js +1 -1
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +22 -0
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +22 -4
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +14 -13
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpServer.d.ts +38 -11
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +276 -190
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Telemetry.d.ts +49 -41
- package/dist/ai/Telemetry.d.ts.map +1 -1
- package/dist/ai/Telemetry.js +6 -8
- package/dist/ai/Telemetry.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +5 -0
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +80 -46
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cli/CliOutput.d.ts +27 -0
- package/dist/cli/CliOutput.d.ts.map +1 -1
- package/dist/cli/CliOutput.js +33 -10
- package/dist/cli/CliOutput.js.map +1 -1
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +6 -3
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +3 -3
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js +8 -5
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts +5 -4
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +3 -3
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/Prompt.d.ts +17 -1
- package/dist/cli/Prompt.d.ts.map +1 -1
- package/dist/cli/Prompt.js +119 -114
- package/dist/cli/Prompt.js.map +1 -1
- package/dist/cli/internal/ansi.d.ts +0 -1
- package/dist/cli/internal/ansi.d.ts.map +1 -1
- package/dist/cli/internal/ansi.js +20 -3
- package/dist/cli/internal/ansi.js.map +1 -1
- package/dist/cli/internal/completions/powershell.d.ts +2 -0
- package/dist/cli/internal/completions/powershell.d.ts.map +1 -0
- package/dist/cli/internal/completions/powershell.js +273 -0
- package/dist/cli/internal/completions/powershell.js.map +1 -0
- package/dist/cli/internal/completions/zsh.js +3 -2
- package/dist/cli/internal/completions/zsh.js.map +1 -1
- package/dist/cli/internal/wizard.d.ts +3 -3
- package/dist/cli/internal/wizard.d.ts.map +1 -1
- package/dist/cli/internal/wizard.js +21 -18
- package/dist/cli/internal/wizard.js.map +1 -1
- package/dist/cluster/ClusterSchema.d.ts +28 -0
- package/dist/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/cluster/ClusterSchema.js +30 -0
- package/dist/cluster/ClusterSchema.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +10 -18
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/cluster/K8sHttpClient.js +5 -2
- package/dist/cluster/K8sHttpClient.js.map +1 -1
- package/dist/cluster/MessageStorage.d.ts +18 -3
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +31 -11
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +8 -2
- package/dist/cluster/Runners.js.map +1 -1
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +181 -62
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/SqlMessageStorage.d.ts +59 -19
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +84 -55
- package/dist/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/cluster/SqlRunnerStorage.d.ts +68 -19
- package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/cluster/SqlRunnerStorage.js +191 -113
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +104 -37
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/encoding/Base64.d.ts +4 -0
- package/dist/encoding/Base64.d.ts.map +1 -1
- package/dist/encoding/Base64.js +4 -0
- package/dist/encoding/Base64.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +4 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +4 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/EncodingError.d.ts +4 -0
- package/dist/encoding/EncodingError.d.ts.map +1 -1
- package/dist/encoding/EncodingError.js +4 -0
- package/dist/encoding/EncodingError.js.map +1 -1
- package/dist/encoding/Hex.d.ts +5 -0
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +5 -0
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/Toml.js +2 -2
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +6 -4
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/index.d.ts +4 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +4 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +8 -4
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +3 -6
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/Headers.d.ts +3 -1
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +4 -2
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +15 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +79 -23
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientResponse.js +3 -1
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +3 -0
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +5 -2
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +17 -0
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +56 -39
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpServer.d.ts +1 -1
- package/dist/http/HttpServer.d.ts.map +1 -1
- package/dist/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/http/HttpTraceContext.js +4 -2
- package/dist/http/HttpTraceContext.js.map +1 -1
- package/dist/http/internal/tracing.d.ts +2 -0
- package/dist/http/internal/tracing.d.ts.map +1 -0
- package/dist/http/internal/tracing.js +37 -0
- package/dist/http/internal/tracing.js.map +1 -0
- package/dist/http-api/HttpApiBuilder.js +2 -1
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +12 -3
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +4 -3
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +7 -4
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiSecurity.d.ts +8 -8
- package/dist/http-api/HttpApiSecurity.js +8 -8
- package/dist/index.d.ts +155 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/array.js +3 -3
- package/dist/internal/arbitrary/array.js.map +1 -1
- package/dist/internal/arbitrary/model.js +26 -11
- package/dist/internal/arbitrary/model.js.map +1 -1
- package/dist/internal/arbitrary/runner.js +8 -8
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/arbitrary/schema.js +4 -5
- package/dist/internal/arbitrary/schema.js.map +1 -1
- package/dist/internal/effect.js +53 -46
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/schedule.js +7 -5
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +2 -2
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/version.d.ts +2 -0
- package/dist/internal/version.d.ts.map +1 -0
- package/dist/internal/version.js +3 -0
- package/dist/internal/version.js.map +1 -0
- package/dist/net/AddressResolver.d.ts +145 -0
- package/dist/net/AddressResolver.d.ts.map +1 -0
- package/dist/net/AddressResolver.js +114 -0
- package/dist/net/AddressResolver.js.map +1 -0
- package/dist/net/Dns.d.ts +596 -0
- package/dist/net/Dns.d.ts.map +1 -0
- package/dist/net/Dns.js +549 -0
- package/dist/net/Dns.js.map +1 -0
- package/dist/net/Host.d.ts +320 -0
- package/dist/net/Host.d.ts.map +1 -0
- package/dist/net/Host.js +342 -0
- package/dist/net/Host.js.map +1 -0
- package/dist/net/IpInterface.d.ts +76 -3
- package/dist/net/IpInterface.d.ts.map +1 -1
- package/dist/net/IpInterface.js +53 -4
- package/dist/net/IpInterface.js.map +1 -1
- package/dist/net/IpNetwork.d.ts +82 -8
- package/dist/net/IpNetwork.d.ts.map +1 -1
- package/dist/net/IpNetwork.js +60 -4
- package/dist/net/IpNetwork.js.map +1 -1
- package/dist/net/NetAddress.d.ts +388 -35
- package/dist/net/NetAddress.d.ts.map +1 -1
- package/dist/net/NetAddress.js +350 -34
- package/dist/net/NetAddress.js.map +1 -1
- package/dist/net/index.d.ts +15 -0
- package/dist/net/index.d.ts.map +1 -1
- package/dist/net/index.js +15 -0
- package/dist/net/index.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -6
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +23 -27
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +5 -3
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +36 -115
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpResource.d.ts +4 -3
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +20 -23
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpTracer.d.ts +1 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +32 -36
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/PrometheusMetrics.js +1 -0
- package/dist/observability/PrometheusMetrics.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +32 -1
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/persistence/PersistedQueue.d.ts +32 -3
- package/dist/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/persistence/PersistedQueue.js +75 -16
- package/dist/persistence/PersistedQueue.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/Atom.d.ts +5 -5
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +9 -5
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +2 -2
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +8 -0
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +41 -7
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +50 -25
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts +6 -0
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +59 -40
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/internal/tracing.d.ts +2 -0
- package/dist/rpc/internal/tracing.d.ts.map +1 -0
- package/dist/rpc/internal/tracing.js +18 -0
- package/dist/rpc/internal/tracing.js.map +1 -0
- package/dist/schema/SchemaCompiler/runtime.js +9 -1
- package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
- package/dist/socket/DatagramSocket.d.ts +456 -0
- package/dist/socket/DatagramSocket.d.ts.map +1 -0
- package/dist/socket/DatagramSocket.js +535 -0
- package/dist/socket/DatagramSocket.js.map +1 -0
- package/dist/socket/Socket.d.ts +14 -1
- package/dist/socket/Socket.d.ts.map +1 -1
- package/dist/socket/Socket.js +9 -1
- package/dist/socket/Socket.js.map +1 -1
- package/dist/socket/index.d.ts +5 -0
- package/dist/socket/index.d.ts.map +1 -1
- package/dist/socket/index.js +5 -0
- package/dist/socket/index.js.map +1 -1
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +7 -2
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +7 -1
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +35 -10
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +21 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +55 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -0
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +7 -0
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +7 -0
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +6 -0
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestCrypto.d.ts +73 -0
- package/dist/testing/TestCrypto.d.ts.map +1 -0
- package/dist/testing/TestCrypto.js +87 -0
- package/dist/testing/TestCrypto.js.map +1 -0
- package/dist/testing/index.d.ts +8 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +8 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/workflow/DurableDeferred.d.ts +54 -0
- package/dist/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/workflow/DurableDeferred.js +78 -49
- package/dist/workflow/DurableDeferred.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +2 -1
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +3 -3
- package/src/Array.ts +351 -3
- package/src/BigDecimal.ts +88 -0
- package/src/BigInt.ts +68 -0
- package/src/Boolean.ts +34 -0
- package/src/Brand.ts +10 -0
- package/src/ByteSize.ts +87 -0
- package/src/Cache.ts +50 -8
- package/src/Cause.ts +82 -0
- package/src/Channel.ts +368 -18
- package/src/ChannelSchema.ts +13 -0
- package/src/Chunk.ts +193 -0
- package/src/Clock.ts +7 -0
- package/src/Combiner.ts +10 -0
- package/src/Config.ts +82 -8
- package/src/ConfigProvider.ts +28 -0
- package/src/Console.ts +26 -0
- package/src/Context.ts +53 -3
- package/src/Cron.ts +32 -1
- package/src/Crypto.ts +48 -9
- package/src/Data.ts +13 -0
- package/src/DateTime.ts +180 -6
- package/src/Deferred.ts +51 -0
- package/src/Differ.ts +2 -0
- package/src/Duration.ts +126 -16
- package/src/Effect.ts +539 -5
- package/src/Effectable.ts +4 -0
- package/src/Equal.ts +12 -1
- package/src/Equivalence.ts +22 -0
- package/src/ErrorReporter.ts +36 -0
- package/src/ExecutionPlan.ts +58 -14
- package/src/Exit.ts +40 -0
- package/src/Fiber.ts +20 -0
- package/src/FiberHandle.ts +29 -4
- package/src/FiberMap.ts +38 -0
- package/src/FiberSet.ts +21 -0
- package/src/FileSystem.ts +64 -2
- package/src/Filter.ts +55 -0
- package/src/Formatter.ts +42 -1
- package/src/Function.ts +30 -0
- package/src/Graph.ts +317 -36
- package/src/HKT.ts +5 -0
- package/src/Hash.ts +15 -0
- package/src/HashMap.ts +91 -0
- package/src/HashRing.ts +18 -0
- package/src/HashSet.ts +53 -0
- package/src/Inspectable.ts +8 -0
- package/src/Iterable.ts +127 -0
- package/src/JsonPatch.ts +5 -0
- package/src/JsonPointer.ts +5 -0
- package/src/JsonSchema.ts +17 -0
- package/src/Latch.ts +14 -0
- package/src/Layer.ts +101 -1
- package/src/LayerMap.ts +7 -0
- package/src/LayerRef.ts +5 -0
- package/src/LogLevel.ts +20 -0
- package/src/Logger.ts +41 -5
- package/src/ManagedRuntime.ts +12 -1
- package/src/Match.ts +52 -0
- package/src/Metric.ts +69 -0
- package/src/MutableHashMap.ts +44 -0
- package/src/MutableHashSet.ts +17 -0
- package/src/MutableList.ts +21 -0
- package/src/MutableRef.ts +32 -0
- package/src/Newtype.ts +9 -0
- package/src/NonEmptyIterable.ts +4 -0
- package/src/Number.ts +61 -0
- package/src/Optic.ts +57 -0
- package/src/Option.ts +134 -0
- package/src/Order.ts +30 -0
- package/src/Ordering.ts +7 -0
- package/src/PartitionedSemaphore.ts +61 -22
- package/src/Path.ts +6 -0
- package/src/Pipeable.ts +7 -0
- package/src/PlatformError.ts +8 -0
- package/src/Pool.ts +20 -1
- package/src/Predicate.ts +85 -0
- package/src/PrimaryKey.ts +5 -0
- package/src/PubSub.ts +90 -9
- package/src/Pull.ts +20 -0
- package/src/Queue.ts +80 -10
- package/src/Random.ts +13 -0
- package/src/RcMap.ts +23 -0
- package/src/RcRef.ts +6 -0
- package/src/Record.ts +100 -0
- package/src/Redactable.ts +6 -0
- package/src/Redacted.ts +8 -0
- package/src/Reducer.ts +4 -0
- package/src/Ref.ts +42 -0
- package/src/References.ts +21 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +32 -0
- package/src/RequestResolver.ts +59 -10
- package/src/Resource.ts +7 -0
- package/src/Result.ts +93 -0
- package/src/Runtime.ts +10 -0
- package/src/Schedule.ts +61 -0
- package/src/Scheduler.ts +7 -0
- package/src/Schema.ts +1168 -9
- package/src/SchemaAST.ts +115 -1
- package/src/SchemaGetter.ts +80 -4
- package/src/SchemaIssue.ts +34 -0
- package/src/SchemaParser.ts +26 -0
- package/src/SchemaRepresentation.ts +148 -0
- package/src/SchemaTransformation.ts +53 -0
- package/src/Scope.ts +19 -0
- package/src/ScopedCache.ts +55 -3
- package/src/ScopedRef.ts +9 -0
- package/src/Semaphore.ts +26 -0
- package/src/Sink.ts +126 -2
- package/src/StandardSchema.ts +1 -0
- package/src/Stdio.ts +16 -2
- package/src/Stream.ts +633 -26
- package/src/String.ts +87 -0
- package/src/Struct.ts +46 -0
- package/src/SubscriptionRef.ts +65 -0
- package/src/Symbol.ts +2 -0
- package/src/SynchronizedRef.ts +63 -0
- package/src/Take.ts +3 -0
- package/src/Terminal.ts +8 -0
- package/src/Tracer.ts +23 -0
- package/src/Trie.ts +68 -0
- package/src/Tuple.ts +38 -0
- package/src/TxChunk.ts +52 -0
- package/src/TxDeferred.ts +15 -0
- package/src/TxHashMap.ts +97 -6
- package/src/TxHashSet.ts +83 -3
- package/src/TxPriorityQueue.ts +34 -2
- package/src/TxPubSub.ts +26 -0
- package/src/TxQueue.ts +51 -0
- package/src/TxReentrantLock.ts +53 -36
- package/src/TxRef.ts +14 -0
- package/src/TxSemaphore.ts +47 -31
- package/src/TxSubscriptionRef.ts +25 -0
- package/src/Types.ts +36 -0
- package/src/UndefinedOr.ts +15 -0
- package/src/Unify.ts +15 -0
- package/src/Utils.ts +4 -0
- package/src/Version.ts +38 -0
- package/src/ai/Chat.ts +1 -1
- package/src/ai/DecisionModel.ts +42 -1
- package/src/ai/LanguageModel.ts +16 -19
- package/src/ai/McpServer.ts +169 -58
- package/src/ai/Telemetry.ts +62 -58
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +5 -0
- package/src/ai/internal/mcpProtocol.ts +3 -0
- package/src/ai/internal/mcpRuntime.ts +86 -43
- package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
- package/src/cli/CliOutput.ts +33 -16
- package/src/cli/Command.ts +4 -3
- package/src/cli/Completions.ts +9 -6
- package/src/cli/GlobalFlag.ts +19 -11
- package/src/cli/Prompt.ts +159 -149
- package/src/cli/internal/ansi.ts +26 -3
- package/src/cli/internal/completions/powershell.ts +322 -0
- package/src/cli/internal/completions/zsh.ts +4 -2
- package/src/cli/internal/wizard.ts +34 -26
- package/src/cluster/ClusterSchema.ts +32 -0
- package/src/cluster/ClusterWorkflowEngine.ts +13 -24
- package/src/cluster/K8sHttpClient.ts +12 -2
- package/src/cluster/MessageStorage.ts +45 -14
- package/src/cluster/Runners.ts +8 -2
- package/src/cluster/Sharding.ts +207 -49
- package/src/cluster/SqlMessageStorage.ts +118 -84
- package/src/cluster/SqlRunnerStorage.ts +224 -128
- package/src/cluster/internal/entityManager.ts +151 -55
- package/src/encoding/Base64.ts +4 -0
- package/src/encoding/Base64Url.ts +4 -0
- package/src/encoding/EncodingError.ts +5 -0
- package/src/encoding/Hex.ts +5 -0
- package/src/encoding/Toml.ts +2 -2
- package/src/encoding/Yaml.ts +8 -4
- package/src/encoding/index.ts +4 -0
- package/src/eventlog/SqlEventJournal.ts +18 -4
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
- package/src/http/FindMyWay/internal/router.ts +4 -7
- package/src/http/Headers.ts +8 -2
- package/src/http/HttpClient.ts +100 -29
- package/src/http/HttpClientResponse.ts +3 -1
- package/src/http/HttpEffect.ts +11 -2
- package/src/http/HttpMiddleware.ts +60 -45
- package/src/http/HttpServer.ts +1 -1
- package/src/http/HttpTraceContext.ts +8 -2
- package/src/http/internal/tracing.ts +52 -0
- package/src/http-api/HttpApiBuilder.ts +5 -1
- package/src/http-api/HttpApiClient.ts +13 -4
- package/src/http-api/HttpApiError.ts +8 -4
- package/src/http-api/HttpApiSecurity.ts +8 -8
- package/src/index.ts +156 -0
- package/src/internal/arbitrary/array.ts +3 -3
- package/src/internal/arbitrary/model.ts +37 -14
- package/src/internal/arbitrary/runner.ts +7 -7
- package/src/internal/arbitrary/schema.ts +4 -3
- package/src/internal/effect.ts +62 -58
- package/src/internal/schedule.ts +23 -17
- package/src/internal/schema/standardSchema.ts +2 -2
- package/src/internal/version.ts +2 -0
- package/src/net/AddressResolver.ts +222 -0
- package/src/net/Dns.ts +1035 -0
- package/src/net/Host.ts +472 -0
- package/src/net/IpInterface.ts +117 -7
- package/src/net/IpNetwork.ts +116 -17
- package/src/net/NetAddress.ts +611 -76
- package/src/net/index.ts +18 -0
- package/src/observability/OtlpExporter.ts +9 -6
- package/src/observability/OtlpLogger.ts +20 -21
- package/src/observability/OtlpMetrics.ts +46 -116
- package/src/observability/OtlpResource.ts +18 -27
- package/src/observability/OtlpTracer.ts +34 -40
- package/src/observability/PrometheusMetrics.ts +1 -0
- package/src/observability/internal/otlpProtobuf.ts +60 -0
- package/src/persistence/PersistedQueue.ts +146 -53
- package/src/reactivity/AsyncResult.ts +1 -1
- package/src/reactivity/Atom.ts +10 -6
- package/src/reactivity/AtomHttpApi.ts +2 -4
- package/src/reactivity/AtomRegistry.ts +7 -0
- package/src/rpc/RpcClient.ts +87 -41
- package/src/rpc/RpcServer.ts +85 -48
- package/src/rpc/internal/tracing.ts +22 -0
- package/src/schema/SchemaCompiler/runtime.ts +4 -1
- package/src/socket/DatagramSocket.ts +919 -0
- package/src/socket/Socket.ts +22 -2
- package/src/socket/index.ts +6 -0
- package/src/sql/Migrator.ts +21 -5
- package/src/sql/SqlClient.ts +43 -19
- package/src/sql/Statement.ts +59 -7
- package/src/testing/TestClock.ts +9 -0
- package/src/testing/TestConsole.ts +8 -0
- package/src/testing/TestCrypto.ts +94 -0
- package/src/testing/index.ts +9 -0
- package/src/workflow/DurableDeferred.ts +123 -48
- package/src/workflow/WorkflowEngine.ts +2 -1
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host names and unresolved host and port endpoints.
|
|
3
|
+
*
|
|
4
|
+
* A `Host` is either a numeric IP address, an IPv6 literal with a zone such as
|
|
5
|
+
* `fe80::1%eth0`, or a DNS domain name. Numeric addresses are parsed directly
|
|
6
|
+
* into `NetAddress` values. The `AddressResolver` service turns a `HostPort`
|
|
7
|
+
* into internet addresses, looking up domain names with the `Dns` service.
|
|
8
|
+
*
|
|
9
|
+
* @stability experimental
|
|
10
|
+
* @since 4.0.0
|
|
11
|
+
*/
|
|
12
|
+
import type * as Brand from "../Brand.ts";
|
|
13
|
+
import * as Equal from "../Equal.ts";
|
|
14
|
+
import * as Hash from "../Hash.ts";
|
|
15
|
+
import * as Inspectable from "../Inspectable.ts";
|
|
16
|
+
import * as Result from "../Result.ts";
|
|
17
|
+
import * as NetAddress from "./NetAddress.ts";
|
|
18
|
+
declare const TypeId: "~effect/net/Host";
|
|
19
|
+
/**
|
|
20
|
+
* A syntactically valid DNS domain name in lowercase ASCII form.
|
|
21
|
+
*
|
|
22
|
+
* **Details**
|
|
23
|
+
*
|
|
24
|
+
* Names follow the rules used by Go's resolver: at most 253 characters, labels
|
|
25
|
+
* of 1 to 63 letters, digits, hyphens, or underscores, and no label starting or
|
|
26
|
+
* ending with a hyphen. Underscores are allowed so that service names such as
|
|
27
|
+
* `_http._tcp.example.com` are valid. The last label must not be numeric, which
|
|
28
|
+
* keeps IPv4-like strings out. A trailing dot marks a fully qualified name and
|
|
29
|
+
* is preserved. The root name `.` is valid.
|
|
30
|
+
*
|
|
31
|
+
* Internationalized names are stored in their ASCII (`xn--`) form.
|
|
32
|
+
*
|
|
33
|
+
* @see {@link domainNameFromString} for parsing and normalizing domain names
|
|
34
|
+
* @stability experimental
|
|
35
|
+
* @category models
|
|
36
|
+
* @since 4.0.0
|
|
37
|
+
*/
|
|
38
|
+
export type DomainName = Brand.Branded<string, "~effect/net/Host/DomainName">;
|
|
39
|
+
/**
|
|
40
|
+
* A domain name or a string to parse and normalize.
|
|
41
|
+
*
|
|
42
|
+
* @stability experimental
|
|
43
|
+
* @category models
|
|
44
|
+
* @since 4.0.0
|
|
45
|
+
*/
|
|
46
|
+
export type DomainNameInput = DomainName | string;
|
|
47
|
+
/**
|
|
48
|
+
* A host as written in configuration or a URL authority: a numeric IP address,
|
|
49
|
+
* a scoped IPv6 literal, or a domain name.
|
|
50
|
+
*
|
|
51
|
+
* @see {@link hostFromString} for parsing hosts
|
|
52
|
+
* @stability experimental
|
|
53
|
+
* @category models
|
|
54
|
+
* @since 4.0.0
|
|
55
|
+
*/
|
|
56
|
+
export type Host = NetAddress.IpAddress | NetAddress.ScopedIpv6Literal | DomainName;
|
|
57
|
+
/**
|
|
58
|
+
* A host, or a string or any `IpAddressInput` to convert to one.
|
|
59
|
+
*
|
|
60
|
+
* @stability experimental
|
|
61
|
+
* @category models
|
|
62
|
+
* @since 4.0.0
|
|
63
|
+
*/
|
|
64
|
+
export type HostInput = Host | NetAddress.IpAddressInput;
|
|
65
|
+
/**
|
|
66
|
+
* An unresolved host and port.
|
|
67
|
+
*
|
|
68
|
+
* @see {@link hostPortFromString} for parsing `host:port` strings
|
|
69
|
+
* @see {@link formatHostPort} for formatting `host:port` strings
|
|
70
|
+
* @stability experimental
|
|
71
|
+
* @category models
|
|
72
|
+
* @since 4.0.0
|
|
73
|
+
*/
|
|
74
|
+
export interface HostPort extends Equal.Equal, Hash.Hash, Inspectable.Inspectable {
|
|
75
|
+
readonly _tag: "HostPort";
|
|
76
|
+
readonly host: Host;
|
|
77
|
+
readonly port: number;
|
|
78
|
+
readonly [TypeId]: typeof TypeId;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The host and port of an endpoint.
|
|
82
|
+
*
|
|
83
|
+
* @see {@link hostPort} for the checked constructor
|
|
84
|
+
* @stability experimental
|
|
85
|
+
* @category models
|
|
86
|
+
* @since 4.0.0
|
|
87
|
+
*/
|
|
88
|
+
export interface HostPortParts {
|
|
89
|
+
readonly host: HostInput;
|
|
90
|
+
readonly port: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* An endpoint, or a `host:port` string or parts to convert to one.
|
|
94
|
+
*
|
|
95
|
+
* @stability experimental
|
|
96
|
+
* @category models
|
|
97
|
+
* @since 4.0.0
|
|
98
|
+
*/
|
|
99
|
+
export type HostPortInput = HostPort | string | HostPortParts;
|
|
100
|
+
/**
|
|
101
|
+
* Returns `true` when a value is a valid, normalized domain name.
|
|
102
|
+
*
|
|
103
|
+
* @stability experimental
|
|
104
|
+
* @category guards
|
|
105
|
+
* @since 4.0.0
|
|
106
|
+
*/
|
|
107
|
+
export declare const isDomainName: (u: unknown) => u is DomainName;
|
|
108
|
+
/**
|
|
109
|
+
* Returns `true` when a value is a host.
|
|
110
|
+
*
|
|
111
|
+
* @stability experimental
|
|
112
|
+
* @category guards
|
|
113
|
+
* @since 4.0.0
|
|
114
|
+
*/
|
|
115
|
+
export declare const isHost: (u: unknown) => u is Host;
|
|
116
|
+
/**
|
|
117
|
+
* Returns `true` when a value is an unresolved host and port.
|
|
118
|
+
*
|
|
119
|
+
* @stability experimental
|
|
120
|
+
* @category guards
|
|
121
|
+
* @since 4.0.0
|
|
122
|
+
*/
|
|
123
|
+
export declare const isHostPort: (u: unknown) => u is HostPort;
|
|
124
|
+
/**
|
|
125
|
+
* Parses and normalizes a domain name.
|
|
126
|
+
*
|
|
127
|
+
* **Details**
|
|
128
|
+
*
|
|
129
|
+
* ASCII names are lowercased. Names containing non-ASCII characters are
|
|
130
|
+
* converted to their ASCII (`xn--`) form using the WHATWG URL host parser, then
|
|
131
|
+
* validated with the same rules as ASCII names. A trailing dot is preserved.
|
|
132
|
+
*
|
|
133
|
+
* **Example** (Normalizing domain names)
|
|
134
|
+
*
|
|
135
|
+
* ```ts import.meta.vitest
|
|
136
|
+
* import { Result } from "effect"
|
|
137
|
+
* import { Host } from "effect/net"
|
|
138
|
+
*
|
|
139
|
+
* Result.getOrThrow(Host.domainNameFromString("Example.COM")) // => "example.com"
|
|
140
|
+
* Result.getOrThrow(Host.domainNameFromString("bücher.example")) // => "xn--bcher-kva.example"
|
|
141
|
+
* Result.isFailure(Host.domainNameFromString("1.2.3.4")) // => true
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @stability experimental
|
|
145
|
+
* @category decoding
|
|
146
|
+
* @since 4.0.0
|
|
147
|
+
*/
|
|
148
|
+
export declare const domainNameFromString: (input: string) => Result.Result<DomainName, NetAddress.NetAddressError>;
|
|
149
|
+
/**
|
|
150
|
+
* Parses a trusted domain name, throwing on failure.
|
|
151
|
+
*
|
|
152
|
+
* @stability experimental
|
|
153
|
+
* @category unsafe
|
|
154
|
+
* @since 4.0.0
|
|
155
|
+
*/
|
|
156
|
+
export declare const domainNameFromStringUnsafe: (input: string) => DomainName;
|
|
157
|
+
/**
|
|
158
|
+
* Converts a `DomainNameInput` to a domain name, parsing and normalizing it like
|
|
159
|
+
* `domainNameFromString`.
|
|
160
|
+
*
|
|
161
|
+
* **Details**
|
|
162
|
+
*
|
|
163
|
+
* Domain names are strings, so every input is parsed.
|
|
164
|
+
*
|
|
165
|
+
* @stability experimental
|
|
166
|
+
* @category constructors
|
|
167
|
+
* @since 4.0.0
|
|
168
|
+
*/
|
|
169
|
+
export declare const domainNameFromInput: (input: DomainNameInput) => Result.Result<DomainName, NetAddress.NetAddressError>;
|
|
170
|
+
/**
|
|
171
|
+
* Converts a trusted `DomainNameInput` to a domain name, throwing on failure.
|
|
172
|
+
*
|
|
173
|
+
* @stability experimental
|
|
174
|
+
* @category unsafe
|
|
175
|
+
* @since 4.0.0
|
|
176
|
+
*/
|
|
177
|
+
export declare const domainNameFromInputUnsafe: (input: DomainNameInput) => DomainName;
|
|
178
|
+
/**
|
|
179
|
+
* Parses a host as a numeric IP address, a scoped IPv6 literal, or a domain
|
|
180
|
+
* name, in that order.
|
|
181
|
+
*
|
|
182
|
+
* **Example** (Parsing hosts)
|
|
183
|
+
*
|
|
184
|
+
* ```ts import.meta.vitest
|
|
185
|
+
* import { Result } from "effect"
|
|
186
|
+
* import { Host, NetAddress } from "effect/net"
|
|
187
|
+
*
|
|
188
|
+
* NetAddress.isIpAddress(Result.getOrThrow(Host.hostFromString("10.0.0.5"))) // => true
|
|
189
|
+
* Result.getOrThrow(Host.hostFromString("fe80::1%eth0")) // => "fe80::1%eth0"
|
|
190
|
+
* Result.getOrThrow(Host.hostFromString("DB.internal")) // => "db.internal"
|
|
191
|
+
* ```
|
|
192
|
+
*
|
|
193
|
+
* @stability experimental
|
|
194
|
+
* @category decoding
|
|
195
|
+
* @since 4.0.0
|
|
196
|
+
*/
|
|
197
|
+
export declare const hostFromString: (input: string) => Result.Result<Host, NetAddress.NetAddressError>;
|
|
198
|
+
/**
|
|
199
|
+
* Parses a trusted host, throwing on failure.
|
|
200
|
+
*
|
|
201
|
+
* @stability experimental
|
|
202
|
+
* @category unsafe
|
|
203
|
+
* @since 4.0.0
|
|
204
|
+
*/
|
|
205
|
+
export declare const hostFromStringUnsafe: (input: string) => Host;
|
|
206
|
+
/**
|
|
207
|
+
* Converts a `HostInput` to a host, parsing strings like `hostFromString` and
|
|
208
|
+
* converting other inputs like `NetAddress.ipFromInput`.
|
|
209
|
+
*
|
|
210
|
+
* @stability experimental
|
|
211
|
+
* @category constructors
|
|
212
|
+
* @since 4.0.0
|
|
213
|
+
*/
|
|
214
|
+
export declare const hostFromInput: (input: HostInput) => Result.Result<Host, NetAddress.NetAddressError>;
|
|
215
|
+
/**
|
|
216
|
+
* Converts a trusted `HostInput` to a host, throwing on failure.
|
|
217
|
+
*
|
|
218
|
+
* @stability experimental
|
|
219
|
+
* @category unsafe
|
|
220
|
+
* @since 4.0.0
|
|
221
|
+
*/
|
|
222
|
+
export declare const hostFromInputUnsafe: (input: HostInput) => Host;
|
|
223
|
+
/**
|
|
224
|
+
* Formats a host without brackets.
|
|
225
|
+
*
|
|
226
|
+
* @stability experimental
|
|
227
|
+
* @category encoding
|
|
228
|
+
* @since 4.0.0
|
|
229
|
+
*/
|
|
230
|
+
export declare const formatHost: (self: Host) => string;
|
|
231
|
+
/**
|
|
232
|
+
* Returns `true` when a domain name ends with a dot, which excludes it from
|
|
233
|
+
* resolver search domains.
|
|
234
|
+
*
|
|
235
|
+
* @stability experimental
|
|
236
|
+
* @category predicates
|
|
237
|
+
* @since 4.0.0
|
|
238
|
+
*/
|
|
239
|
+
export declare const isFullyQualified: (self: DomainName) => boolean;
|
|
240
|
+
/**
|
|
241
|
+
* Creates a checked host and port.
|
|
242
|
+
*
|
|
243
|
+
* @stability experimental
|
|
244
|
+
* @category constructors
|
|
245
|
+
* @since 4.0.0
|
|
246
|
+
*/
|
|
247
|
+
export declare const hostPort: (host: Host, port: number) => Result.Result<HostPort, NetAddress.NetAddressError>;
|
|
248
|
+
/**
|
|
249
|
+
* Creates a trusted host and port, throwing on failure.
|
|
250
|
+
*
|
|
251
|
+
* @stability experimental
|
|
252
|
+
* @category unsafe
|
|
253
|
+
* @since 4.0.0
|
|
254
|
+
*/
|
|
255
|
+
export declare const hostPortUnsafe: (host: Host, port: number) => HostPort;
|
|
256
|
+
/**
|
|
257
|
+
* Parses `host:port`, `[IPv6]:port`, or `[IPv6%zone]:port`.
|
|
258
|
+
*
|
|
259
|
+
* **Details**
|
|
260
|
+
*
|
|
261
|
+
* IPv6 hosts must be bracketed and other hosts must not be. The port is
|
|
262
|
+
* required and must be an unpadded decimal integer from 0 through 65535. A
|
|
263
|
+
* zone follows the `%` directly; the percent-encoded `%25` separator of RFC
|
|
264
|
+
* 6874 URLs is not decoded, because `[fe80::1%253]:80` would be ambiguous.
|
|
265
|
+
*
|
|
266
|
+
* **Example** (Parsing host and port strings)
|
|
267
|
+
*
|
|
268
|
+
* ```ts import.meta.vitest
|
|
269
|
+
* import { Result } from "effect"
|
|
270
|
+
* import { Host } from "effect/net"
|
|
271
|
+
*
|
|
272
|
+
* const endpoint = Result.getOrThrow(Host.hostPortFromString("DB.internal:5432"))
|
|
273
|
+
* endpoint.host // => "db.internal"
|
|
274
|
+
* endpoint.port // => 5432
|
|
275
|
+
* Host.formatHostPort(Result.getOrThrow(Host.hostPortFromString("[::1]:80"))) // => "[::1]:80"
|
|
276
|
+
* ```
|
|
277
|
+
*
|
|
278
|
+
* @see {@link formatHostPort} for the inverse operation
|
|
279
|
+
* @stability experimental
|
|
280
|
+
* @category decoding
|
|
281
|
+
* @since 4.0.0
|
|
282
|
+
*/
|
|
283
|
+
export declare const hostPortFromString: (input: string) => Result.Result<HostPort, NetAddress.NetAddressError>;
|
|
284
|
+
/**
|
|
285
|
+
* Parses a trusted `host:port` string, throwing on failure.
|
|
286
|
+
*
|
|
287
|
+
* @stability experimental
|
|
288
|
+
* @category unsafe
|
|
289
|
+
* @since 4.0.0
|
|
290
|
+
*/
|
|
291
|
+
export declare const hostPortFromStringUnsafe: (input: string) => HostPort;
|
|
292
|
+
/**
|
|
293
|
+
* Converts a `HostPortInput` to an endpoint, parsing strings like
|
|
294
|
+
* `hostPortFromString`, converting parts like `hostPort`, and returning
|
|
295
|
+
* endpoints unchanged.
|
|
296
|
+
*
|
|
297
|
+
* @stability experimental
|
|
298
|
+
* @category constructors
|
|
299
|
+
* @since 4.0.0
|
|
300
|
+
*/
|
|
301
|
+
export declare const hostPortFromInput: (input: HostPortInput) => Result.Result<HostPort, NetAddress.NetAddressError>;
|
|
302
|
+
/**
|
|
303
|
+
* Converts a trusted `HostPortInput` to an endpoint, throwing on failure.
|
|
304
|
+
*
|
|
305
|
+
* @stability experimental
|
|
306
|
+
* @category unsafe
|
|
307
|
+
* @since 4.0.0
|
|
308
|
+
*/
|
|
309
|
+
export declare const hostPortFromInputUnsafe: (input: HostPortInput) => HostPort;
|
|
310
|
+
/**
|
|
311
|
+
* Formats a host and port, bracketing IPv6 hosts.
|
|
312
|
+
*
|
|
313
|
+
* @see {@link hostPortFromString} for the inverse operation
|
|
314
|
+
* @stability experimental
|
|
315
|
+
* @category encoding
|
|
316
|
+
* @since 4.0.0
|
|
317
|
+
*/
|
|
318
|
+
export declare const formatHostPort: (self: HostPort) => string;
|
|
319
|
+
export {};
|
|
320
|
+
//# sourceMappingURL=Host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Host.d.ts","sourceRoot":"","sources":["../../src/net/Host.ts"],"names":[],"mappings":"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"}
|
package/dist/net/Host.js
ADDED
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import * as Equal from "../Equal.js";
|
|
2
|
+
import * as Hash from "../Hash.js";
|
|
3
|
+
import * as Inspectable from "../Inspectable.js";
|
|
4
|
+
import { hasProperty } from "../Predicate.js";
|
|
5
|
+
import * as Result from "../Result.js";
|
|
6
|
+
import * as NetAddress from "./NetAddress.js";
|
|
7
|
+
const TypeId = "~effect/net/Host";
|
|
8
|
+
const hostError = (input, message) => Result.fail(new NetAddress.NetAddressError({
|
|
9
|
+
input,
|
|
10
|
+
message
|
|
11
|
+
}));
|
|
12
|
+
const asciiNameCharacter = /^[a-z0-9_.-]$/i;
|
|
13
|
+
const labelPattern = /^[a-z0-9_](?:[a-z0-9_-]{0,61}[a-z0-9_])?$/;
|
|
14
|
+
const numericLabel = /^(?:\d+|0x[0-9a-f]*)$/;
|
|
15
|
+
const validateDomainName = name => {
|
|
16
|
+
if (name === ".") return undefined;
|
|
17
|
+
const relative = name.endsWith(".") ? name.slice(0, -1) : name;
|
|
18
|
+
if (relative.length === 0) return "domain name must not be empty";
|
|
19
|
+
if (relative.length > 253) return "domain name must be at most 253 characters";
|
|
20
|
+
const labels = relative.split(".");
|
|
21
|
+
for (const label of labels) {
|
|
22
|
+
if (label.length === 0) return "domain name labels must not be empty";
|
|
23
|
+
if (label.length > 63) return "domain name labels must be at most 63 characters";
|
|
24
|
+
if (!labelPattern.test(label)) {
|
|
25
|
+
return "domain name labels must contain only letters, digits, hyphens, or underscores and must not start or end with a hyphen";
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (numericLabel.test(labels[labels.length - 1])) {
|
|
29
|
+
return "the last domain name label must not be numeric";
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
};
|
|
33
|
+
const toAsciiDomainName = input => {
|
|
34
|
+
let ascii = true;
|
|
35
|
+
for (const character of input) {
|
|
36
|
+
if (character.charCodeAt(0) < 0x80) {
|
|
37
|
+
if (!asciiNameCharacter.test(character)) return undefined;
|
|
38
|
+
} else {
|
|
39
|
+
ascii = false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (ascii) return input.toLowerCase();
|
|
43
|
+
try {
|
|
44
|
+
return new URL(`http://${input}`).hostname;
|
|
45
|
+
} catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Returns `true` when a value is a valid, normalized domain name.
|
|
51
|
+
*
|
|
52
|
+
* @stability experimental
|
|
53
|
+
* @category guards
|
|
54
|
+
* @since 4.0.0
|
|
55
|
+
*/
|
|
56
|
+
export const isDomainName = u => typeof u === "string" && /^[a-z0-9_.-]+$/.test(u) && validateDomainName(u) === undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Returns `true` when a value is a host.
|
|
59
|
+
*
|
|
60
|
+
* @stability experimental
|
|
61
|
+
* @category guards
|
|
62
|
+
* @since 4.0.0
|
|
63
|
+
*/
|
|
64
|
+
export const isHost = u => NetAddress.isIpAddress(u) || NetAddress.isScopedIpv6Literal(u) || isDomainName(u);
|
|
65
|
+
/**
|
|
66
|
+
* Returns `true` when a value is an unresolved host and port.
|
|
67
|
+
*
|
|
68
|
+
* @stability experimental
|
|
69
|
+
* @category guards
|
|
70
|
+
* @since 4.0.0
|
|
71
|
+
*/
|
|
72
|
+
export const isHostPort = u => hasProperty(u, TypeId);
|
|
73
|
+
/**
|
|
74
|
+
* Parses and normalizes a domain name.
|
|
75
|
+
*
|
|
76
|
+
* **Details**
|
|
77
|
+
*
|
|
78
|
+
* ASCII names are lowercased. Names containing non-ASCII characters are
|
|
79
|
+
* converted to their ASCII (`xn--`) form using the WHATWG URL host parser, then
|
|
80
|
+
* validated with the same rules as ASCII names. A trailing dot is preserved.
|
|
81
|
+
*
|
|
82
|
+
* **Example** (Normalizing domain names)
|
|
83
|
+
*
|
|
84
|
+
* ```ts import.meta.vitest
|
|
85
|
+
* import { Result } from "effect"
|
|
86
|
+
* import { Host } from "effect/net"
|
|
87
|
+
*
|
|
88
|
+
* Result.getOrThrow(Host.domainNameFromString("Example.COM")) // => "example.com"
|
|
89
|
+
* Result.getOrThrow(Host.domainNameFromString("bücher.example")) // => "xn--bcher-kva.example"
|
|
90
|
+
* Result.isFailure(Host.domainNameFromString("1.2.3.4")) // => true
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @stability experimental
|
|
94
|
+
* @category decoding
|
|
95
|
+
* @since 4.0.0
|
|
96
|
+
*/
|
|
97
|
+
export const domainNameFromString = input => {
|
|
98
|
+
const name = toAsciiDomainName(input);
|
|
99
|
+
if (name === undefined) return hostError(input, "invalid domain name");
|
|
100
|
+
const error = validateDomainName(name);
|
|
101
|
+
return error === undefined ? Result.succeed(name) : hostError(input, error);
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Parses a trusted domain name, throwing on failure.
|
|
105
|
+
*
|
|
106
|
+
* @stability experimental
|
|
107
|
+
* @category unsafe
|
|
108
|
+
* @since 4.0.0
|
|
109
|
+
*/
|
|
110
|
+
export const domainNameFromStringUnsafe = input => Result.getOrThrow(domainNameFromString(input));
|
|
111
|
+
/**
|
|
112
|
+
* Converts a `DomainNameInput` to a domain name, parsing and normalizing it like
|
|
113
|
+
* `domainNameFromString`.
|
|
114
|
+
*
|
|
115
|
+
* **Details**
|
|
116
|
+
*
|
|
117
|
+
* Domain names are strings, so every input is parsed.
|
|
118
|
+
*
|
|
119
|
+
* @stability experimental
|
|
120
|
+
* @category constructors
|
|
121
|
+
* @since 4.0.0
|
|
122
|
+
*/
|
|
123
|
+
export const domainNameFromInput = input => domainNameFromString(input);
|
|
124
|
+
/**
|
|
125
|
+
* Converts a trusted `DomainNameInput` to a domain name, throwing on failure.
|
|
126
|
+
*
|
|
127
|
+
* @stability experimental
|
|
128
|
+
* @category unsafe
|
|
129
|
+
* @since 4.0.0
|
|
130
|
+
*/
|
|
131
|
+
export const domainNameFromInputUnsafe = input => Result.getOrThrow(domainNameFromInput(input));
|
|
132
|
+
/**
|
|
133
|
+
* Parses a host as a numeric IP address, a scoped IPv6 literal, or a domain
|
|
134
|
+
* name, in that order.
|
|
135
|
+
*
|
|
136
|
+
* **Example** (Parsing hosts)
|
|
137
|
+
*
|
|
138
|
+
* ```ts import.meta.vitest
|
|
139
|
+
* import { Result } from "effect"
|
|
140
|
+
* import { Host, NetAddress } from "effect/net"
|
|
141
|
+
*
|
|
142
|
+
* NetAddress.isIpAddress(Result.getOrThrow(Host.hostFromString("10.0.0.5"))) // => true
|
|
143
|
+
* Result.getOrThrow(Host.hostFromString("fe80::1%eth0")) // => "fe80::1%eth0"
|
|
144
|
+
* Result.getOrThrow(Host.hostFromString("DB.internal")) // => "db.internal"
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* @stability experimental
|
|
148
|
+
* @category decoding
|
|
149
|
+
* @since 4.0.0
|
|
150
|
+
*/
|
|
151
|
+
export const hostFromString = input => {
|
|
152
|
+
if (input.includes("%")) return NetAddress.scopedIpv6LiteralFromString(input);
|
|
153
|
+
if (input.includes(":")) return NetAddress.ipFromString(input);
|
|
154
|
+
if (/^[\d.]+$/.test(input)) {
|
|
155
|
+
const address = NetAddress.ipFromString(input);
|
|
156
|
+
if (Result.isSuccess(address)) return address;
|
|
157
|
+
}
|
|
158
|
+
return domainNameFromString(input);
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Parses a trusted host, throwing on failure.
|
|
162
|
+
*
|
|
163
|
+
* @stability experimental
|
|
164
|
+
* @category unsafe
|
|
165
|
+
* @since 4.0.0
|
|
166
|
+
*/
|
|
167
|
+
export const hostFromStringUnsafe = input => Result.getOrThrow(hostFromString(input));
|
|
168
|
+
/**
|
|
169
|
+
* Converts a `HostInput` to a host, parsing strings like `hostFromString` and
|
|
170
|
+
* converting other inputs like `NetAddress.ipFromInput`.
|
|
171
|
+
*
|
|
172
|
+
* @stability experimental
|
|
173
|
+
* @category constructors
|
|
174
|
+
* @since 4.0.0
|
|
175
|
+
*/
|
|
176
|
+
export const hostFromInput = input => typeof input === "string" ? hostFromString(input) : NetAddress.ipFromInput(input);
|
|
177
|
+
/**
|
|
178
|
+
* Converts a trusted `HostInput` to a host, throwing on failure.
|
|
179
|
+
*
|
|
180
|
+
* @stability experimental
|
|
181
|
+
* @category unsafe
|
|
182
|
+
* @since 4.0.0
|
|
183
|
+
*/
|
|
184
|
+
export const hostFromInputUnsafe = input => Result.getOrThrow(hostFromInput(input));
|
|
185
|
+
/**
|
|
186
|
+
* Formats a host without brackets.
|
|
187
|
+
*
|
|
188
|
+
* @stability experimental
|
|
189
|
+
* @category encoding
|
|
190
|
+
* @since 4.0.0
|
|
191
|
+
*/
|
|
192
|
+
export const formatHost = self => typeof self === "string" ? self : NetAddress.formatIp(self);
|
|
193
|
+
/**
|
|
194
|
+
* Returns `true` when a domain name ends with a dot, which excludes it from
|
|
195
|
+
* resolver search domains.
|
|
196
|
+
*
|
|
197
|
+
* @stability experimental
|
|
198
|
+
* @category predicates
|
|
199
|
+
* @since 4.0.0
|
|
200
|
+
*/
|
|
201
|
+
export const isFullyQualified = self => self.endsWith(".");
|
|
202
|
+
const HostPortProto = {
|
|
203
|
+
...Inspectable.BaseProto,
|
|
204
|
+
_tag: "HostPort",
|
|
205
|
+
[TypeId]: TypeId,
|
|
206
|
+
[Equal.symbol](that) {
|
|
207
|
+
return isHostPort(that) && this.port === that.port && Equal.equals(this.host, that.host);
|
|
208
|
+
},
|
|
209
|
+
[Hash.symbol]() {
|
|
210
|
+
return Hash.combine(Hash.hash(this.host), Hash.number(this.port));
|
|
211
|
+
},
|
|
212
|
+
toString() {
|
|
213
|
+
return formatHostPort(this);
|
|
214
|
+
},
|
|
215
|
+
toJSON() {
|
|
216
|
+
return this.toString();
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
const isPort = port => Number.isInteger(port) && port >= 0 && port <= 0xffff;
|
|
220
|
+
const makeHostPort = (host, port) => {
|
|
221
|
+
const self = Object.create(HostPortProto);
|
|
222
|
+
self.host = host;
|
|
223
|
+
self.port = port;
|
|
224
|
+
return Object.freeze(self);
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Creates a checked host and port.
|
|
228
|
+
*
|
|
229
|
+
* @stability experimental
|
|
230
|
+
* @category constructors
|
|
231
|
+
* @since 4.0.0
|
|
232
|
+
*/
|
|
233
|
+
export const hostPort = (host, port) => {
|
|
234
|
+
if (!isHost(host)) return hostError(host, "expected a host");
|
|
235
|
+
if (!isPort(port)) return hostError(port, "port must be an integer from 0 through 65535");
|
|
236
|
+
return Result.succeed(makeHostPort(host, port));
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* Creates a trusted host and port, throwing on failure.
|
|
240
|
+
*
|
|
241
|
+
* @stability experimental
|
|
242
|
+
* @category unsafe
|
|
243
|
+
* @since 4.0.0
|
|
244
|
+
*/
|
|
245
|
+
export const hostPortUnsafe = (host, port) => Result.getOrThrow(hostPort(host, port));
|
|
246
|
+
/**
|
|
247
|
+
* Parses `host:port`, `[IPv6]:port`, or `[IPv6%zone]:port`.
|
|
248
|
+
*
|
|
249
|
+
* **Details**
|
|
250
|
+
*
|
|
251
|
+
* IPv6 hosts must be bracketed and other hosts must not be. The port is
|
|
252
|
+
* required and must be an unpadded decimal integer from 0 through 65535. A
|
|
253
|
+
* zone follows the `%` directly; the percent-encoded `%25` separator of RFC
|
|
254
|
+
* 6874 URLs is not decoded, because `[fe80::1%253]:80` would be ambiguous.
|
|
255
|
+
*
|
|
256
|
+
* **Example** (Parsing host and port strings)
|
|
257
|
+
*
|
|
258
|
+
* ```ts import.meta.vitest
|
|
259
|
+
* import { Result } from "effect"
|
|
260
|
+
* import { Host } from "effect/net"
|
|
261
|
+
*
|
|
262
|
+
* const endpoint = Result.getOrThrow(Host.hostPortFromString("DB.internal:5432"))
|
|
263
|
+
* endpoint.host // => "db.internal"
|
|
264
|
+
* endpoint.port // => 5432
|
|
265
|
+
* Host.formatHostPort(Result.getOrThrow(Host.hostPortFromString("[::1]:80"))) // => "[::1]:80"
|
|
266
|
+
* ```
|
|
267
|
+
*
|
|
268
|
+
* @see {@link formatHostPort} for the inverse operation
|
|
269
|
+
* @stability experimental
|
|
270
|
+
* @category decoding
|
|
271
|
+
* @since 4.0.0
|
|
272
|
+
*/
|
|
273
|
+
export const hostPortFromString = input => {
|
|
274
|
+
let hostText;
|
|
275
|
+
let portText;
|
|
276
|
+
if (input.startsWith("[")) {
|
|
277
|
+
const end = input.indexOf("]");
|
|
278
|
+
if (end === -1 || input[end + 1] !== ":") return hostError(input, "expected [IPv6]:port");
|
|
279
|
+
hostText = input.slice(1, end);
|
|
280
|
+
portText = input.slice(end + 2);
|
|
281
|
+
if (!hostText.includes(":")) return hostError(input, "only IPv6 addresses use brackets");
|
|
282
|
+
} else {
|
|
283
|
+
const separator = input.lastIndexOf(":");
|
|
284
|
+
if (separator === -1) return hostError(input, "expected host:port");
|
|
285
|
+
if (input.indexOf(":") !== separator) return hostError(input, "IPv6 addresses must be bracketed");
|
|
286
|
+
hostText = input.slice(0, separator);
|
|
287
|
+
portText = input.slice(separator + 1);
|
|
288
|
+
}
|
|
289
|
+
if (!/^(0|[1-9]\d*)$/.test(portText)) {
|
|
290
|
+
return hostError(input, "port must be an unpadded decimal integer");
|
|
291
|
+
}
|
|
292
|
+
const port = Number(portText);
|
|
293
|
+
if (!isPort(port)) return hostError(input, "port must be an integer from 0 through 65535");
|
|
294
|
+
return Result.map(hostFromString(hostText), host => makeHostPort(host, port));
|
|
295
|
+
};
|
|
296
|
+
/**
|
|
297
|
+
* Parses a trusted `host:port` string, throwing on failure.
|
|
298
|
+
*
|
|
299
|
+
* @stability experimental
|
|
300
|
+
* @category unsafe
|
|
301
|
+
* @since 4.0.0
|
|
302
|
+
*/
|
|
303
|
+
export const hostPortFromStringUnsafe = input => Result.getOrThrow(hostPortFromString(input));
|
|
304
|
+
/**
|
|
305
|
+
* Converts a `HostPortInput` to an endpoint, parsing strings like
|
|
306
|
+
* `hostPortFromString`, converting parts like `hostPort`, and returning
|
|
307
|
+
* endpoints unchanged.
|
|
308
|
+
*
|
|
309
|
+
* @stability experimental
|
|
310
|
+
* @category constructors
|
|
311
|
+
* @since 4.0.0
|
|
312
|
+
*/
|
|
313
|
+
export const hostPortFromInput = input => {
|
|
314
|
+
if (isHostPort(input)) return Result.succeed(input);
|
|
315
|
+
if (typeof input === "string") return hostPortFromString(input);
|
|
316
|
+
if (!hasProperty(input, "host") || !hasProperty(input, "port")) {
|
|
317
|
+
return hostError(input, "expected a host and port");
|
|
318
|
+
}
|
|
319
|
+
const port = input.port;
|
|
320
|
+
return Result.flatMap(hostFromInput(input.host), host => hostPort(host, port));
|
|
321
|
+
};
|
|
322
|
+
/**
|
|
323
|
+
* Converts a trusted `HostPortInput` to an endpoint, throwing on failure.
|
|
324
|
+
*
|
|
325
|
+
* @stability experimental
|
|
326
|
+
* @category unsafe
|
|
327
|
+
* @since 4.0.0
|
|
328
|
+
*/
|
|
329
|
+
export const hostPortFromInputUnsafe = input => Result.getOrThrow(hostPortFromInput(input));
|
|
330
|
+
/**
|
|
331
|
+
* Formats a host and port, bracketing IPv6 hosts.
|
|
332
|
+
*
|
|
333
|
+
* @see {@link hostPortFromString} for the inverse operation
|
|
334
|
+
* @stability experimental
|
|
335
|
+
* @category encoding
|
|
336
|
+
* @since 4.0.0
|
|
337
|
+
*/
|
|
338
|
+
export const formatHostPort = self => {
|
|
339
|
+
const host = formatHost(self.host);
|
|
340
|
+
return host.includes(":") ? `[${host}]:${self.port}` : `${host}:${self.port}`;
|
|
341
|
+
};
|
|
342
|
+
//# sourceMappingURL=Host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Host.js","names":[],"sources":["../../src/net/Host.ts"],"sourcesContent":[null],"mappings":"AAYA,OAAO,KAAK,KAAK,MAAM,aAAa;AACpC,OAAO,KAAK,IAAI,MAAM,YAAY;AAClC,OAAO,KAAK,WAAW,MAAM,mBAAmB;AAChD,SAAS,WAAW,QAAQ,iBAAiB;AAC7C,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C,MAAM,MAAM,GAAG,kBAA2B;AA0F1C,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,OAAe,KAChD,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC;EAAE,KAAK;EAAE;AAAO,CAAE,CAAC,CAAC;AAEjE,MAAM,kBAAkB,GAAG,gBAAgB;AAC3C,MAAM,YAAY,GAAG,2CAA2C;AAChE,MAAM,YAAY,GAAG,uBAAuB;AAE5C,MAAM,kBAAkB,GAAI,IAAY,IAAwB;EAC9D,IAAI,IAAI,KAAK,GAAG,EAAE,OAAO,SAAS;EAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;EAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,+BAA+B;EACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,4CAA4C;EAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;EAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;IAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,sCAAsC;IACrE,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,OAAO,kDAAkD;IAChF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC7B,OAAO,uHAAuH;IAChI;EACF;EACA,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;IAChD,OAAO,gDAAgD;EACzD;EACA,OAAO,SAAS;AAClB,CAAC;AAED,MAAM,iBAAiB,GAAI,KAAa,IAAwB;EAC9D,IAAI,KAAK,GAAG,IAAI;EAChB,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;IAC7B,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE;MAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,SAAS;IAC3D,CAAC,MAAM;MACL,KAAK,GAAG,KAAK;IACf;EACF;EACA,IAAI,KAAK,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE;EACrC,IAAI;IACF,OAAO,IAAI,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,QAAQ;EAC5C,CAAC,CAAC,MAAM;IACN,OAAO,SAAS;EAClB;AACF,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,YAAY,GAAI,CAAU,IACrC,OAAO,CAAC,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,SAAS;AAE1F;;;;;;;AAOA,OAAO,MAAM,MAAM,GAAI,CAAU,IAC/B,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;AAEnF;;;;;;;AAOA,OAAO,MAAM,UAAU,GAAI,CAAU,IAAoB,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,OAAO,MAAM,oBAAoB,GAAI,KAAa,IAA2D;EAC3G,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC;EACrC,IAAI,IAAI,KAAK,SAAS,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,qBAAqB,CAAC;EACtE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC;EACtC,OAAO,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAkB,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AAC3F,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,0BAA0B,GAAI,KAAa,IAAiB,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAEvH;;;;;;;;;;;;AAYA,OAAO,MAAM,mBAAmB,GAAI,KAAsB,IACxD,oBAAoB,CAAC,KAAK,CAAC;AAE7B;;;;;;;AAOA,OAAO,MAAM,yBAAyB,GAAI,KAAsB,IAC9D,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,MAAM,cAAc,GAAI,KAAa,IAAqD;EAC/F,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC,2BAA2B,CAAC,KAAK,CAAC;EAC7E,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC;EAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC;IAC9C,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,OAAO;EAC/C;EACA,OAAO,oBAAoB,CAAC,KAAK,CAAC;AACpC,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,oBAAoB,GAAI,KAAa,IAAW,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAErG;;;;;;;;AAQA,OAAO,MAAM,aAAa,GAAI,KAAgB,IAC5C,OAAO,KAAK,KAAK,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;AAEnF;;;;;;;AAOA,OAAO,MAAM,mBAAmB,GAAI,KAAgB,IAAW,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAEtG;;;;;;;AAOA,OAAO,MAAM,UAAU,GAAI,IAAU,IAAa,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;AAE7G;;;;;;;;AAQA,OAAO,MAAM,gBAAgB,GAAI,IAAgB,IAAc,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAEjF,MAAM,aAAa,GAAG;EACpB,GAAG,WAAW,CAAC,SAAS;EACxB,IAAI,EAAE,UAAU;EAChB,CAAC,MAAM,GAAG,MAAM;EAChB,CAAC,KAAK,CAAC,MAAM,EAAkB,IAAiB;IAC9C,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;EAC1F,CAAC;EACD,CAAC,IAAI,CAAC,MAAM,IAAC;IACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACnE,CAAC;EACD,QAAQ;IACN,OAAO,cAAc,CAAC,IAAI,CAAC;EAC7B,CAAC;EACD,MAAM;IACJ,OAAO,IAAI,CAAC,QAAQ,EAAE;EACxB;CACD;AAED,MAAM,MAAM,GAAI,IAAY,IAAc,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM;AAE/F,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,IAAY,KAAc;EAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;EACzC,IAAI,CAAC,IAAI,GAAG,IAAI;EAChB,IAAI,CAAC,IAAI,GAAG,IAAI;EAChB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,IAAY,KAAyD;EACxG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC;EAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE,8CAA8C,CAAC;EACzF,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,IAAY,KAAe,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,OAAO,MAAM,kBAAkB,GAAI,KAAa,IAAyD;EACvG,IAAI,QAAgB;EACpB,IAAI,QAAgB;EACpB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;IACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;IAC9B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACzF,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;IAC9B,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,kCAAkC,CAAC;EAC1F,CAAC,MAAM;IACL,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;IACxC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACnE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,kCAAkC,CAAC;IACjG,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;IACpC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;EACvC;EACA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACpC,OAAO,SAAS,CAAC,KAAK,EAAE,0CAA0C,CAAC;EACrE;EACA,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;EAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,SAAS,CAAC,KAAK,EAAE,8CAA8C,CAAC;EAC1F,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAG,IAAI,IAAK,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,wBAAwB,GAAI,KAAa,IAAe,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAEjH;;;;;;;;;AASA,OAAO,MAAM,iBAAiB,GAAI,KAAoB,IAAyD;EAC7G,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;EACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,kBAAkB,CAAC,KAAK,CAAC;EAC/D,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;IAC9D,OAAO,SAAS,CAAC,KAAK,EAAE,0BAA0B,CAAC;EACrD;EACA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;EACvB,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAG,IAAI,IAAK,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;AAOA,OAAO,MAAM,uBAAuB,GAAI,KAAoB,IAAe,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAEtH;;;;;;;;AAQA,OAAO,MAAM,cAAc,GAAI,IAAc,IAAY;EACvD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;EAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AAC/E,CAAC","ignoreList":[]}
|