@depup/effect 3.20.0-depup.0
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/.index/package.json +6 -0
- package/Arbitrary/package.json +6 -0
- package/Array/package.json +6 -0
- package/BigDecimal/package.json +6 -0
- package/BigInt/package.json +6 -0
- package/Boolean/package.json +6 -0
- package/Brand/package.json +6 -0
- package/Cache/package.json +6 -0
- package/Cause/package.json +6 -0
- package/Channel/package.json +6 -0
- package/ChildExecutorDecision/package.json +6 -0
- package/Chunk/package.json +6 -0
- package/Clock/package.json +6 -0
- package/Config/package.json +6 -0
- package/ConfigError/package.json +6 -0
- package/ConfigProvider/package.json +6 -0
- package/ConfigProviderPathPatch/package.json +6 -0
- package/Console/package.json +6 -0
- package/Context/package.json +6 -0
- package/Cron/package.json +6 -0
- package/Data/package.json +6 -0
- package/DateTime/package.json +6 -0
- package/DefaultServices/package.json +6 -0
- package/Deferred/package.json +6 -0
- package/Differ/package.json +6 -0
- package/Duration/package.json +6 -0
- package/Effect/package.json +6 -0
- package/Effectable/package.json +6 -0
- package/Either/package.json +6 -0
- package/Encoding/package.json +6 -0
- package/Equal/package.json +6 -0
- package/Equivalence/package.json +6 -0
- package/ExecutionPlan/package.json +6 -0
- package/ExecutionStrategy/package.json +6 -0
- package/Exit/package.json +6 -0
- package/FastCheck/package.json +6 -0
- package/Fiber/package.json +6 -0
- package/FiberHandle/package.json +6 -0
- package/FiberId/package.json +6 -0
- package/FiberMap/package.json +6 -0
- package/FiberRef/package.json +6 -0
- package/FiberRefs/package.json +6 -0
- package/FiberRefsPatch/package.json +6 -0
- package/FiberSet/package.json +6 -0
- package/FiberStatus/package.json +6 -0
- package/Function/package.json +6 -0
- package/GlobalValue/package.json +6 -0
- package/Graph/package.json +6 -0
- package/GroupBy/package.json +6 -0
- package/HKT/package.json +6 -0
- package/Hash/package.json +6 -0
- package/HashMap/package.json +6 -0
- package/HashRing/package.json +6 -0
- package/HashSet/package.json +6 -0
- package/Inspectable/package.json +6 -0
- package/Iterable/package.json +6 -0
- package/JSONSchema/package.json +6 -0
- package/KeyedPool/package.json +6 -0
- package/LICENSE +21 -0
- package/Layer/package.json +6 -0
- package/LayerMap/package.json +6 -0
- package/List/package.json +6 -0
- package/LogLevel/package.json +6 -0
- package/LogSpan/package.json +6 -0
- package/Logger/package.json +6 -0
- package/Mailbox/package.json +6 -0
- package/ManagedRuntime/package.json +6 -0
- package/Match/package.json +6 -0
- package/MergeDecision/package.json +6 -0
- package/MergeState/package.json +6 -0
- package/MergeStrategy/package.json +6 -0
- package/Metric/package.json +6 -0
- package/MetricBoundaries/package.json +6 -0
- package/MetricHook/package.json +6 -0
- package/MetricKey/package.json +6 -0
- package/MetricKeyType/package.json +6 -0
- package/MetricLabel/package.json +6 -0
- package/MetricPair/package.json +6 -0
- package/MetricPolling/package.json +6 -0
- package/MetricRegistry/package.json +6 -0
- package/MetricState/package.json +6 -0
- package/Micro/package.json +6 -0
- package/ModuleVersion/package.json +6 -0
- package/MutableHashMap/package.json +6 -0
- package/MutableHashSet/package.json +6 -0
- package/MutableList/package.json +6 -0
- package/MutableQueue/package.json +6 -0
- package/MutableRef/package.json +6 -0
- package/NonEmptyIterable/package.json +6 -0
- package/Number/package.json +6 -0
- package/Option/package.json +6 -0
- package/Order/package.json +6 -0
- package/Ordering/package.json +6 -0
- package/ParseResult/package.json +6 -0
- package/PartitionedSemaphore/package.json +6 -0
- package/Pipeable/package.json +6 -0
- package/Pool/package.json +6 -0
- package/Predicate/package.json +6 -0
- package/Pretty/package.json +6 -0
- package/PrimaryKey/package.json +6 -0
- package/PubSub/package.json +6 -0
- package/Queue/package.json +6 -0
- package/README.md +32 -0
- package/Random/package.json +6 -0
- package/RateLimiter/package.json +6 -0
- package/RcMap/package.json +6 -0
- package/RcRef/package.json +6 -0
- package/Readable/package.json +6 -0
- package/Record/package.json +6 -0
- package/RedBlackTree/package.json +6 -0
- package/Redacted/package.json +6 -0
- package/Ref/package.json +6 -0
- package/RegExp/package.json +6 -0
- package/Reloadable/package.json +6 -0
- package/Request/package.json +6 -0
- package/RequestBlock/package.json +6 -0
- package/RequestResolver/package.json +6 -0
- package/Resource/package.json +6 -0
- package/Runtime/package.json +6 -0
- package/RuntimeFlags/package.json +6 -0
- package/RuntimeFlagsPatch/package.json +6 -0
- package/STM/package.json +6 -0
- package/Schedule/package.json +6 -0
- package/ScheduleDecision/package.json +6 -0
- package/ScheduleInterval/package.json +6 -0
- package/ScheduleIntervals/package.json +6 -0
- package/Scheduler/package.json +6 -0
- package/Schema/package.json +6 -0
- package/SchemaAST/package.json +6 -0
- package/Scope/package.json +6 -0
- package/ScopedCache/package.json +6 -0
- package/ScopedRef/package.json +6 -0
- package/Secret/package.json +6 -0
- package/SingleProducerAsyncInput/package.json +6 -0
- package/Sink/package.json +6 -0
- package/SortedMap/package.json +6 -0
- package/SortedSet/package.json +6 -0
- package/Stream/package.json +6 -0
- package/StreamEmit/package.json +6 -0
- package/StreamHaltStrategy/package.json +6 -0
- package/Streamable/package.json +6 -0
- package/String/package.json +6 -0
- package/Struct/package.json +6 -0
- package/Subscribable/package.json +6 -0
- package/SubscriptionRef/package.json +6 -0
- package/Supervisor/package.json +6 -0
- package/Symbol/package.json +6 -0
- package/SynchronizedRef/package.json +6 -0
- package/TArray/package.json +6 -0
- package/TDeferred/package.json +6 -0
- package/TMap/package.json +6 -0
- package/TPriorityQueue/package.json +6 -0
- package/TPubSub/package.json +6 -0
- package/TQueue/package.json +6 -0
- package/TRandom/package.json +6 -0
- package/TReentrantLock/package.json +6 -0
- package/TRef/package.json +6 -0
- package/TSemaphore/package.json +6 -0
- package/TSet/package.json +6 -0
- package/TSubscriptionRef/package.json +6 -0
- package/Take/package.json +6 -0
- package/TestAnnotation/package.json +6 -0
- package/TestAnnotationMap/package.json +6 -0
- package/TestAnnotations/package.json +6 -0
- package/TestClock/package.json +6 -0
- package/TestConfig/package.json +6 -0
- package/TestContext/package.json +6 -0
- package/TestLive/package.json +6 -0
- package/TestServices/package.json +6 -0
- package/TestSized/package.json +6 -0
- package/Tracer/package.json +6 -0
- package/Trie/package.json +6 -0
- package/Tuple/package.json +6 -0
- package/Types/package.json +6 -0
- package/Unify/package.json +6 -0
- package/UpstreamPullRequest/package.json +6 -0
- package/UpstreamPullStrategy/package.json +6 -0
- package/Utils/package.json +6 -0
- package/changes.json +14 -0
- package/dist/cjs/Arbitrary.js +813 -0
- package/dist/cjs/Arbitrary.js.map +1 -0
- package/dist/cjs/Array.js +2695 -0
- package/dist/cjs/Array.js.map +1 -0
- package/dist/cjs/BigDecimal.js +1116 -0
- package/dist/cjs/BigDecimal.js.map +1 -0
- package/dist/cjs/BigInt.js +567 -0
- package/dist/cjs/BigInt.js.map +1 -0
- package/dist/cjs/Boolean.js +251 -0
- package/dist/cjs/Boolean.js.map +1 -0
- package/dist/cjs/Brand.js +175 -0
- package/dist/cjs/Brand.js.map +1 -0
- package/dist/cjs/Cache.js +50 -0
- package/dist/cjs/Cache.js.map +1 -0
- package/dist/cjs/Cause.js +1011 -0
- package/dist/cjs/Cause.js.map +1 -0
- package/dist/cjs/Channel.js +889 -0
- package/dist/cjs/Channel.js.map +1 -0
- package/dist/cjs/ChildExecutorDecision.js +72 -0
- package/dist/cjs/ChildExecutorDecision.js.map +1 -0
- package/dist/cjs/Chunk.js +1114 -0
- package/dist/cjs/Chunk.js.map +1 -0
- package/dist/cjs/Clock.js +45 -0
- package/dist/cjs/Clock.js.map +1 -0
- package/dist/cjs/Config.js +328 -0
- package/dist/cjs/Config.js.map +1 -0
- package/dist/cjs/ConfigError.js +114 -0
- package/dist/cjs/ConfigError.js.map +1 -0
- package/dist/cjs/ConfigProvider.js +173 -0
- package/dist/cjs/ConfigProvider.js.map +1 -0
- package/dist/cjs/ConfigProviderPathPatch.js +38 -0
- package/dist/cjs/ConfigProviderPathPatch.js.map +1 -0
- package/dist/cjs/Console.js +125 -0
- package/dist/cjs/Console.js.map +1 -0
- package/dist/cjs/Context.js +367 -0
- package/dist/cjs/Context.js.map +1 -0
- package/dist/cjs/Cron.js +583 -0
- package/dist/cjs/Cron.js.map +1 -0
- package/dist/cjs/Data.js +291 -0
- package/dist/cjs/Data.js.map +1 -0
- package/dist/cjs/DateTime.js +1084 -0
- package/dist/cjs/DateTime.js.map +1 -0
- package/dist/cjs/DefaultServices.js +19 -0
- package/dist/cjs/DefaultServices.js.map +1 -0
- package/dist/cjs/Deferred.js +167 -0
- package/dist/cjs/Deferred.js.map +1 -0
- package/dist/cjs/Differ.js +140 -0
- package/dist/cjs/Differ.js.map +1 -0
- package/dist/cjs/Duration.js +737 -0
- package/dist/cjs/Duration.js.map +1 -0
- package/dist/cjs/Effect.js +10717 -0
- package/dist/cjs/Effect.js.map +1 -0
- package/dist/cjs/Effectable.js +58 -0
- package/dist/cjs/Effectable.js.map +1 -0
- package/dist/cjs/Either.js +654 -0
- package/dist/cjs/Either.js.map +1 -0
- package/dist/cjs/Encoding.js +155 -0
- package/dist/cjs/Encoding.js.map +1 -0
- package/dist/cjs/Equal.js +81 -0
- package/dist/cjs/Equal.js.map +1 -0
- package/dist/cjs/Equivalence.js +181 -0
- package/dist/cjs/Equivalence.js.map +1 -0
- package/dist/cjs/ExecutionPlan.js +108 -0
- package/dist/cjs/ExecutionPlan.js.map +1 -0
- package/dist/cjs/ExecutionStrategy.js +62 -0
- package/dist/cjs/ExecutionStrategy.js.map +1 -0
- package/dist/cjs/Exit.js +256 -0
- package/dist/cjs/Exit.js.map +1 -0
- package/dist/cjs/FastCheck.js +17 -0
- package/dist/cjs/FastCheck.js.map +1 -0
- package/dist/cjs/Fiber.js +340 -0
- package/dist/cjs/Fiber.js.map +1 -0
- package/dist/cjs/FiberHandle.js +335 -0
- package/dist/cjs/FiberHandle.js.map +1 -0
- package/dist/cjs/FiberId.js +122 -0
- package/dist/cjs/FiberId.js.map +1 -0
- package/dist/cjs/FiberMap.js +374 -0
- package/dist/cjs/FiberMap.js.map +1 -0
- package/dist/cjs/FiberRef.js +243 -0
- package/dist/cjs/FiberRef.js.map +1 -0
- package/dist/cjs/FiberRefs.js +91 -0
- package/dist/cjs/FiberRefs.js.map +1 -0
- package/dist/cjs/FiberRefsPatch.js +39 -0
- package/dist/cjs/FiberRefsPatch.js.map +1 -0
- package/dist/cjs/FiberSet.js +308 -0
- package/dist/cjs/FiberSet.js.map +1 -0
- package/dist/cjs/FiberStatus.js +59 -0
- package/dist/cjs/FiberStatus.js.map +1 -0
- package/dist/cjs/Function.js +488 -0
- package/dist/cjs/Function.js.map +1 -0
- package/dist/cjs/GlobalValue.js +59 -0
- package/dist/cjs/GlobalValue.js.map +1 -0
- package/dist/cjs/Graph.js +3080 -0
- package/dist/cjs/Graph.js.map +1 -0
- package/dist/cjs/GroupBy.js +47 -0
- package/dist/cjs/GroupBy.js.map +1 -0
- package/dist/cjs/HKT.js +6 -0
- package/dist/cjs/HKT.js.map +1 -0
- package/dist/cjs/Hash.js +184 -0
- package/dist/cjs/Hash.js.map +1 -0
- package/dist/cjs/HashMap.js +322 -0
- package/dist/cjs/HashMap.js.map +1 -0
- package/dist/cjs/HashRing.js +257 -0
- package/dist/cjs/HashRing.js.map +1 -0
- package/dist/cjs/HashSet.js +1262 -0
- package/dist/cjs/HashSet.js.map +1 -0
- package/dist/cjs/Inspectable.js +213 -0
- package/dist/cjs/Inspectable.js.map +1 -0
- package/dist/cjs/Iterable.js +1009 -0
- package/dist/cjs/Iterable.js.map +1 -0
- package/dist/cjs/JSONSchema.js +727 -0
- package/dist/cjs/JSONSchema.js.map +1 -0
- package/dist/cjs/KeyedPool.js +83 -0
- package/dist/cjs/KeyedPool.js.map +1 -0
- package/dist/cjs/Layer.js +651 -0
- package/dist/cjs/Layer.js.map +1 -0
- package/dist/cjs/LayerMap.js +212 -0
- package/dist/cjs/LayerMap.js.map +1 -0
- package/dist/cjs/List.js +784 -0
- package/dist/cjs/List.js.map +1 -0
- package/dist/cjs/LogLevel.js +143 -0
- package/dist/cjs/LogLevel.js.map +1 -0
- package/dist/cjs/LogSpan.js +23 -0
- package/dist/cjs/LogSpan.js.map +1 -0
- package/dist/cjs/Logger.js +497 -0
- package/dist/cjs/Logger.js.map +1 -0
- package/dist/cjs/Mailbox.js +105 -0
- package/dist/cjs/Mailbox.js.map +1 -0
- package/dist/cjs/ManagedRuntime.js +49 -0
- package/dist/cjs/ManagedRuntime.js.map +1 -0
- package/dist/cjs/Match.js +819 -0
- package/dist/cjs/Match.js.map +1 -0
- package/dist/cjs/MergeDecision.js +42 -0
- package/dist/cjs/MergeDecision.js.map +1 -0
- package/dist/cjs/MergeState.js +65 -0
- package/dist/cjs/MergeState.js.map +1 -0
- package/dist/cjs/MergeStrategy.js +59 -0
- package/dist/cjs/MergeStrategy.js.map +1 -0
- package/dist/cjs/Metric.js +415 -0
- package/dist/cjs/Metric.js.map +1 -0
- package/dist/cjs/MetricBoundaries.js +40 -0
- package/dist/cjs/MetricBoundaries.js.map +1 -0
- package/dist/cjs/MetricHook.js +54 -0
- package/dist/cjs/MetricHook.js.map +1 -0
- package/dist/cjs/MetricKey.js +70 -0
- package/dist/cjs/MetricKey.js.map +1 -0
- package/dist/cjs/MetricKeyType.js +94 -0
- package/dist/cjs/MetricKeyType.js.map +1 -0
- package/dist/cjs/MetricLabel.js +24 -0
- package/dist/cjs/MetricLabel.js.map +1 -0
- package/dist/cjs/MetricPair.js +28 -0
- package/dist/cjs/MetricPair.js.map +1 -0
- package/dist/cjs/MetricPolling.js +66 -0
- package/dist/cjs/MetricPolling.js.map +1 -0
- package/dist/cjs/MetricRegistry.js +23 -0
- package/dist/cjs/MetricRegistry.js.map +1 -0
- package/dist/cjs/MetricState.js +94 -0
- package/dist/cjs/MetricState.js.map +1 -0
- package/dist/cjs/Micro.js +2582 -0
- package/dist/cjs/Micro.js.map +1 -0
- package/dist/cjs/ModuleVersion.js +25 -0
- package/dist/cjs/ModuleVersion.js.map +1 -0
- package/dist/cjs/MutableHashMap.js +314 -0
- package/dist/cjs/MutableHashMap.js.map +1 -0
- package/dist/cjs/MutableHashSet.js +524 -0
- package/dist/cjs/MutableHashSet.js.map +1 -0
- package/dist/cjs/MutableList.js +258 -0
- package/dist/cjs/MutableList.js.map +1 -0
- package/dist/cjs/MutableQueue.js +173 -0
- package/dist/cjs/MutableQueue.js.map +1 -0
- package/dist/cjs/MutableRef.js +144 -0
- package/dist/cjs/MutableRef.js.map +1 -0
- package/dist/cjs/NonEmptyIterable.js +23 -0
- package/dist/cjs/NonEmptyIterable.js.map +1 -0
- package/dist/cjs/Number.js +903 -0
- package/dist/cjs/Number.js.map +1 -0
- package/dist/cjs/Option.js +1769 -0
- package/dist/cjs/Option.js.map +1 -0
- package/dist/cjs/Order.js +275 -0
- package/dist/cjs/Order.js.map +1 -0
- package/dist/cjs/Ordering.js +80 -0
- package/dist/cjs/Ordering.js.map +1 -0
- package/dist/cjs/ParseResult.js +1594 -0
- package/dist/cjs/ParseResult.js.map +1 -0
- package/dist/cjs/PartitionedSemaphore.js +147 -0
- package/dist/cjs/PartitionedSemaphore.js.map +1 -0
- package/dist/cjs/Pipeable.js +70 -0
- package/dist/cjs/Pipeable.js.map +1 -0
- package/dist/cjs/Pool.js +107 -0
- package/dist/cjs/Pool.js.map +1 -0
- package/dist/cjs/Predicate.js +1159 -0
- package/dist/cjs/Predicate.js.map +1 -0
- package/dist/cjs/Pretty.js +183 -0
- package/dist/cjs/Pretty.js.map +1 -0
- package/dist/cjs/PrimaryKey.js +21 -0
- package/dist/cjs/PrimaryKey.js.map +1 -0
- package/dist/cjs/PubSub.js +127 -0
- package/dist/cjs/PubSub.js.map +1 -0
- package/dist/cjs/Queue.js +255 -0
- package/dist/cjs/Queue.js.map +1 -0
- package/dist/cjs/Random.js +145 -0
- package/dist/cjs/Random.js.map +1 -0
- package/dist/cjs/RateLimiter.js +84 -0
- package/dist/cjs/RateLimiter.js.map +1 -0
- package/dist/cjs/RcMap.js +76 -0
- package/dist/cjs/RcMap.js.map +1 -0
- package/dist/cjs/RcRef.js +58 -0
- package/dist/cjs/RcRef.js.map +1 -0
- package/dist/cjs/Readable.js +55 -0
- package/dist/cjs/Readable.js.map +1 -0
- package/dist/cjs/Record.js +865 -0
- package/dist/cjs/Record.js.map +1 -0
- package/dist/cjs/RedBlackTree.js +266 -0
- package/dist/cjs/RedBlackTree.js.map +1 -0
- package/dist/cjs/Redacted.js +101 -0
- package/dist/cjs/Redacted.js.map +1 -0
- package/dist/cjs/Ref.js +84 -0
- package/dist/cjs/Ref.js.map +1 -0
- package/dist/cjs/RegExp.js +46 -0
- package/dist/cjs/RegExp.js.map +1 -0
- package/dist/cjs/Reloadable.js +66 -0
- package/dist/cjs/Reloadable.js.map +1 -0
- package/dist/cjs/Request.js +148 -0
- package/dist/cjs/Request.js.map +1 -0
- package/dist/cjs/RequestBlock.js +43 -0
- package/dist/cjs/RequestBlock.js.map +1 -0
- package/dist/cjs/RequestResolver.js +185 -0
- package/dist/cjs/RequestResolver.js.map +1 -0
- package/dist/cjs/Resource.js +51 -0
- package/dist/cjs/Resource.js.map +1 -0
- package/dist/cjs/Runtime.js +188 -0
- package/dist/cjs/Runtime.js.map +1 -0
- package/dist/cjs/RuntimeFlags.js +259 -0
- package/dist/cjs/RuntimeFlags.js.map +1 -0
- package/dist/cjs/RuntimeFlagsPatch.js +142 -0
- package/dist/cjs/RuntimeFlagsPatch.js.map +1 -0
- package/dist/cjs/STM.js +981 -0
- package/dist/cjs/STM.js.map +1 -0
- package/dist/cjs/Schedule.js +1603 -0
- package/dist/cjs/Schedule.js.map +1 -0
- package/dist/cjs/ScheduleDecision.js +34 -0
- package/dist/cjs/ScheduleDecision.js.map +1 -0
- package/dist/cjs/ScheduleInterval.js +107 -0
- package/dist/cjs/ScheduleInterval.js.map +1 -0
- package/dist/cjs/ScheduleIntervals.js +85 -0
- package/dist/cjs/ScheduleIntervals.js.map +1 -0
- package/dist/cjs/Scheduler.js +308 -0
- package/dist/cjs/Scheduler.js.map +1 -0
- package/dist/cjs/Schema.js +6254 -0
- package/dist/cjs/Schema.js.map +1 -0
- package/dist/cjs/SchemaAST.js +2552 -0
- package/dist/cjs/SchemaAST.js.map +1 -0
- package/dist/cjs/Scope.js +102 -0
- package/dist/cjs/Scope.js.map +1 -0
- package/dist/cjs/ScopedCache.js +31 -0
- package/dist/cjs/ScopedCache.js.map +1 -0
- package/dist/cjs/ScopedRef.js +49 -0
- package/dist/cjs/ScopedRef.js.map +1 -0
- package/dist/cjs/Secret.js +51 -0
- package/dist/cjs/Secret.js.map +1 -0
- package/dist/cjs/SingleProducerAsyncInput.js +14 -0
- package/dist/cjs/SingleProducerAsyncInput.js.map +1 -0
- package/dist/cjs/Sink.js +872 -0
- package/dist/cjs/Sink.js.map +1 -0
- package/dist/cjs/SortedMap.js +189 -0
- package/dist/cjs/SortedMap.js.map +1 -0
- package/dist/cjs/SortedSet.js +251 -0
- package/dist/cjs/SortedSet.js.map +1 -0
- package/dist/cjs/Stream.js +4112 -0
- package/dist/cjs/Stream.js.map +1 -0
- package/dist/cjs/StreamEmit.js +6 -0
- package/dist/cjs/StreamEmit.js.map +1 -0
- package/dist/cjs/StreamHaltStrategy.js +65 -0
- package/dist/cjs/StreamHaltStrategy.js.map +1 -0
- package/dist/cjs/Streamable.js +45 -0
- package/dist/cjs/Streamable.js.map +1 -0
- package/dist/cjs/String.js +680 -0
- package/dist/cjs/String.js.map +1 -0
- package/dist/cjs/Struct.js +202 -0
- package/dist/cjs/Struct.js.map +1 -0
- package/dist/cjs/Subscribable.js +67 -0
- package/dist/cjs/Subscribable.js.map +1 -0
- package/dist/cjs/SubscriptionRef.js +123 -0
- package/dist/cjs/SubscriptionRef.js.map +1 -0
- package/dist/cjs/Supervisor.js +115 -0
- package/dist/cjs/Supervisor.js.map +1 -0
- package/dist/cjs/Symbol.js +35 -0
- package/dist/cjs/Symbol.js.map +1 -0
- package/dist/cjs/SynchronizedRef.js +126 -0
- package/dist/cjs/SynchronizedRef.js.map +1 -0
- package/dist/cjs/TArray.js +314 -0
- package/dist/cjs/TArray.js.map +1 -0
- package/dist/cjs/TDeferred.js +40 -0
- package/dist/cjs/TDeferred.js.map +1 -0
- package/dist/cjs/TMap.js +286 -0
- package/dist/cjs/TMap.js.map +1 -0
- package/dist/cjs/TPriorityQueue.js +143 -0
- package/dist/cjs/TPriorityQueue.js.map +1 -0
- package/dist/cjs/TPubSub.js +138 -0
- package/dist/cjs/TPubSub.js.map +1 -0
- package/dist/cjs/TQueue.js +237 -0
- package/dist/cjs/TQueue.js.map +1 -0
- package/dist/cjs/TRandom.js +72 -0
- package/dist/cjs/TRandom.js.map +1 -0
- package/dist/cjs/TReentrantLock.js +149 -0
- package/dist/cjs/TReentrantLock.js.map +1 -0
- package/dist/cjs/TRef.js +83 -0
- package/dist/cjs/TRef.js.map +1 -0
- package/dist/cjs/TSemaphore.js +73 -0
- package/dist/cjs/TSemaphore.js.map +1 -0
- package/dist/cjs/TSet.js +208 -0
- package/dist/cjs/TSet.js.map +1 -0
- package/dist/cjs/TSubscriptionRef.js +95 -0
- package/dist/cjs/TSubscriptionRef.js.map +1 -0
- package/dist/cjs/Take.js +155 -0
- package/dist/cjs/Take.js.map +1 -0
- package/dist/cjs/TestAnnotation.js +105 -0
- package/dist/cjs/TestAnnotation.js.map +1 -0
- package/dist/cjs/TestAnnotationMap.js +91 -0
- package/dist/cjs/TestAnnotationMap.js.map +1 -0
- package/dist/cjs/TestAnnotations.js +71 -0
- package/dist/cjs/TestAnnotations.js.map +1 -0
- package/dist/cjs/TestClock.js +372 -0
- package/dist/cjs/TestClock.js.map +1 -0
- package/dist/cjs/TestConfig.js +22 -0
- package/dist/cjs/TestConfig.js.map +1 -0
- package/dist/cjs/TestContext.js +28 -0
- package/dist/cjs/TestContext.js.map +1 -0
- package/dist/cjs/TestLive.js +39 -0
- package/dist/cjs/TestLive.js.map +1 -0
- package/dist/cjs/TestServices.js +255 -0
- package/dist/cjs/TestServices.js.map +1 -0
- package/dist/cjs/TestSized.js +46 -0
- package/dist/cjs/TestSized.js.map +1 -0
- package/dist/cjs/Tracer.js +44 -0
- package/dist/cjs/Tracer.js.map +1 -0
- package/dist/cjs/Trie.js +724 -0
- package/dist/cjs/Trie.js.map +1 -0
- package/dist/cjs/Tuple.js +210 -0
- package/dist/cjs/Tuple.js.map +1 -0
- package/dist/cjs/Types.js +6 -0
- package/dist/cjs/Types.js.map +1 -0
- package/dist/cjs/Unify.js +16 -0
- package/dist/cjs/Unify.js.map +1 -0
- package/dist/cjs/UpstreamPullRequest.js +59 -0
- package/dist/cjs/UpstreamPullRequest.js.map +1 -0
- package/dist/cjs/UpstreamPullStrategy.js +59 -0
- package/dist/cjs/UpstreamPullStrategy.js.map +1 -0
- package/dist/cjs/Utils.js +374 -0
- package/dist/cjs/Utils.js.map +1 -0
- package/dist/cjs/index.js +395 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/array.js +13 -0
- package/dist/cjs/internal/array.js.map +1 -0
- package/dist/cjs/internal/blockedRequests.js +369 -0
- package/dist/cjs/internal/blockedRequests.js.map +1 -0
- package/dist/cjs/internal/cache.js +500 -0
- package/dist/cjs/internal/cache.js.map +1 -0
- package/dist/cjs/internal/cause.js +867 -0
- package/dist/cjs/internal/cause.js.map +1 -0
- package/dist/cjs/internal/channel/channelExecutor.js +697 -0
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -0
- package/dist/cjs/internal/channel/channelState.js +77 -0
- package/dist/cjs/internal/channel/channelState.js.map +1 -0
- package/dist/cjs/internal/channel/childExecutorDecision.js +74 -0
- package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -0
- package/dist/cjs/internal/channel/continuation.js +57 -0
- package/dist/cjs/internal/channel/continuation.js.map +1 -0
- package/dist/cjs/internal/channel/mergeDecision.js +60 -0
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -0
- package/dist/cjs/internal/channel/mergeState.js +83 -0
- package/dist/cjs/internal/channel/mergeState.js.map +1 -0
- package/dist/cjs/internal/channel/mergeStrategy.js +58 -0
- package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -0
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js +171 -0
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -0
- package/dist/cjs/internal/channel/subexecutor.js +163 -0
- package/dist/cjs/internal/channel/subexecutor.js.map +1 -0
- package/dist/cjs/internal/channel/upstreamPullRequest.js +64 -0
- package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -0
- package/dist/cjs/internal/channel/upstreamPullStrategy.js +64 -0
- package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -0
- package/dist/cjs/internal/channel.js +738 -0
- package/dist/cjs/internal/channel.js.map +1 -0
- package/dist/cjs/internal/clock.js +85 -0
- package/dist/cjs/internal/clock.js.map +1 -0
- package/dist/cjs/internal/completedRequestMap.js +11 -0
- package/dist/cjs/internal/completedRequestMap.js.map +1 -0
- package/dist/cjs/internal/concurrency.js +37 -0
- package/dist/cjs/internal/concurrency.js.map +1 -0
- package/dist/cjs/internal/config.js +397 -0
- package/dist/cjs/internal/config.js.map +1 -0
- package/dist/cjs/internal/configError.js +284 -0
- package/dist/cjs/internal/configError.js.map +1 -0
- package/dist/cjs/internal/configProvider/pathPatch.js +83 -0
- package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -0
- package/dist/cjs/internal/configProvider.js +443 -0
- package/dist/cjs/internal/configProvider.js.map +1 -0
- package/dist/cjs/internal/console.js +79 -0
- package/dist/cjs/internal/console.js.map +1 -0
- package/dist/cjs/internal/context.js +273 -0
- package/dist/cjs/internal/context.js.map +1 -0
- package/dist/cjs/internal/core-effect.js +872 -0
- package/dist/cjs/internal/core-effect.js.map +1 -0
- package/dist/cjs/internal/core-stream.js +258 -0
- package/dist/cjs/internal/core-stream.js.map +1 -0
- package/dist/cjs/internal/core.js +1713 -0
- package/dist/cjs/internal/core.js.map +1 -0
- package/dist/cjs/internal/data.js +37 -0
- package/dist/cjs/internal/data.js.map +1 -0
- package/dist/cjs/internal/dataSource.js +107 -0
- package/dist/cjs/internal/dataSource.js.map +1 -0
- package/dist/cjs/internal/dateTime.js +839 -0
- package/dist/cjs/internal/dateTime.js.map +1 -0
- package/dist/cjs/internal/defaultServices/console.js +99 -0
- package/dist/cjs/internal/defaultServices/console.js.map +1 -0
- package/dist/cjs/internal/defaultServices.js +92 -0
- package/dist/cjs/internal/defaultServices.js.map +1 -0
- package/dist/cjs/internal/deferred.js +36 -0
- package/dist/cjs/internal/deferred.js.map +1 -0
- package/dist/cjs/internal/differ/chunkPatch.js +139 -0
- package/dist/cjs/internal/differ/chunkPatch.js.map +1 -0
- package/dist/cjs/internal/differ/contextPatch.js +152 -0
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -0
- package/dist/cjs/internal/differ/hashMapPatch.js +139 -0
- package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -0
- package/dist/cjs/internal/differ/hashSetPatch.js +113 -0
- package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -0
- package/dist/cjs/internal/differ/orPatch.js +184 -0
- package/dist/cjs/internal/differ/orPatch.js.map +1 -0
- package/dist/cjs/internal/differ/readonlyArrayPatch.js +138 -0
- package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -0
- package/dist/cjs/internal/differ.js +149 -0
- package/dist/cjs/internal/differ.js.map +1 -0
- package/dist/cjs/internal/doNotation.js +25 -0
- package/dist/cjs/internal/doNotation.js.map +1 -0
- package/dist/cjs/internal/effect/circular.js +420 -0
- package/dist/cjs/internal/effect/circular.js.map +1 -0
- package/dist/cjs/internal/effectable.js +120 -0
- package/dist/cjs/internal/effectable.js.map +1 -0
- package/dist/cjs/internal/either.js +100 -0
- package/dist/cjs/internal/either.js.map +1 -0
- package/dist/cjs/internal/encoding/base64.js +81 -0
- package/dist/cjs/internal/encoding/base64.js.map +1 -0
- package/dist/cjs/internal/encoding/base64Url.js +30 -0
- package/dist/cjs/internal/encoding/base64Url.js.map +1 -0
- package/dist/cjs/internal/encoding/common.js +48 -0
- package/dist/cjs/internal/encoding/common.js.map +1 -0
- package/dist/cjs/internal/encoding/hex.js +57 -0
- package/dist/cjs/internal/encoding/hex.js.map +1 -0
- package/dist/cjs/internal/errors.js +13 -0
- package/dist/cjs/internal/errors.js.map +1 -0
- package/dist/cjs/internal/executionPlan.js +68 -0
- package/dist/cjs/internal/executionPlan.js.map +1 -0
- package/dist/cjs/internal/executionStrategy.js +54 -0
- package/dist/cjs/internal/executionStrategy.js.map +1 -0
- package/dist/cjs/internal/fiber.js +279 -0
- package/dist/cjs/internal/fiber.js.map +1 -0
- package/dist/cjs/internal/fiberId.js +239 -0
- package/dist/cjs/internal/fiberId.js.map +1 -0
- package/dist/cjs/internal/fiberMessage.js +38 -0
- package/dist/cjs/internal/fiberMessage.js.map +1 -0
- package/dist/cjs/internal/fiberRefs/patch.js +115 -0
- package/dist/cjs/internal/fiberRefs/patch.js.map +1 -0
- package/dist/cjs/internal/fiberRefs.js +203 -0
- package/dist/cjs/internal/fiberRefs.js.map +1 -0
- package/dist/cjs/internal/fiberRuntime.js +2207 -0
- package/dist/cjs/internal/fiberRuntime.js.map +1 -0
- package/dist/cjs/internal/fiberScope.js +52 -0
- package/dist/cjs/internal/fiberScope.js.map +1 -0
- package/dist/cjs/internal/fiberStatus.js +85 -0
- package/dist/cjs/internal/fiberStatus.js.map +1 -0
- package/dist/cjs/internal/groupBy.js +222 -0
- package/dist/cjs/internal/groupBy.js.map +1 -0
- package/dist/cjs/internal/hashMap/array.js +56 -0
- package/dist/cjs/internal/hashMap/array.js.map +1 -0
- package/dist/cjs/internal/hashMap/bitwise.js +38 -0
- package/dist/cjs/internal/hashMap/bitwise.js.map +1 -0
- package/dist/cjs/internal/hashMap/config.js +17 -0
- package/dist/cjs/internal/hashMap/config.js.map +1 -0
- package/dist/cjs/internal/hashMap/keySet.js +12 -0
- package/dist/cjs/internal/hashMap/keySet.js.map +1 -0
- package/dist/cjs/internal/hashMap/node.js +268 -0
- package/dist/cjs/internal/hashMap/node.js.map +1 -0
- package/dist/cjs/internal/hashMap.js +379 -0
- package/dist/cjs/internal/hashMap.js.map +1 -0
- package/dist/cjs/internal/hashSet.js +198 -0
- package/dist/cjs/internal/hashSet.js.map +1 -0
- package/dist/cjs/internal/keyedPool.js +170 -0
- package/dist/cjs/internal/keyedPool.js.map +1 -0
- package/dist/cjs/internal/layer/circular.js +80 -0
- package/dist/cjs/internal/layer/circular.js.map +1 -0
- package/dist/cjs/internal/layer.js +595 -0
- package/dist/cjs/internal/layer.js.map +1 -0
- package/dist/cjs/internal/logSpan.js +26 -0
- package/dist/cjs/internal/logSpan.js.map +1 -0
- package/dist/cjs/internal/logger-circular.js +26 -0
- package/dist/cjs/internal/logger-circular.js.map +1 -0
- package/dist/cjs/internal/logger.js +381 -0
- package/dist/cjs/internal/logger.js.map +1 -0
- package/dist/cjs/internal/mailbox.js +462 -0
- package/dist/cjs/internal/mailbox.js.map +1 -0
- package/dist/cjs/internal/managedRuntime/circular.js +10 -0
- package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
- package/dist/cjs/internal/managedRuntime.js +95 -0
- package/dist/cjs/internal/managedRuntime.js.map +1 -0
- package/dist/cjs/internal/matcher.js +320 -0
- package/dist/cjs/internal/matcher.js.map +1 -0
- package/dist/cjs/internal/metric/boundaries.js +53 -0
- package/dist/cjs/internal/metric/boundaries.js.map +1 -0
- package/dist/cjs/internal/metric/hook.js +388 -0
- package/dist/cjs/internal/metric/hook.js.map +1 -0
- package/dist/cjs/internal/metric/key.js +73 -0
- package/dist/cjs/internal/metric/key.js.map +1 -0
- package/dist/cjs/internal/metric/keyType.js +188 -0
- package/dist/cjs/internal/metric/keyType.js.map +1 -0
- package/dist/cjs/internal/metric/label.js +45 -0
- package/dist/cjs/internal/metric/label.js.map +1 -0
- package/dist/cjs/internal/metric/pair.js +40 -0
- package/dist/cjs/internal/metric/pair.js.map +1 -0
- package/dist/cjs/internal/metric/polling.js +80 -0
- package/dist/cjs/internal/metric/polling.js.map +1 -0
- package/dist/cjs/internal/metric/registry.js +113 -0
- package/dist/cjs/internal/metric/registry.js.map +1 -0
- package/dist/cjs/internal/metric/state.js +201 -0
- package/dist/cjs/internal/metric/state.js.map +1 -0
- package/dist/cjs/internal/metric.js +204 -0
- package/dist/cjs/internal/metric.js.map +1 -0
- package/dist/cjs/internal/opCodes/cause.js +19 -0
- package/dist/cjs/internal/opCodes/cause.js.map +1 -0
- package/dist/cjs/internal/opCodes/channel.js +35 -0
- package/dist/cjs/internal/opCodes/channel.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelChildExecutorDecision.js +13 -0
- package/dist/cjs/internal/opCodes/channelChildExecutorDecision.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelMergeDecision.js +11 -0
- package/dist/cjs/internal/opCodes/channelMergeDecision.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelMergeState.js +13 -0
- package/dist/cjs/internal/opCodes/channelMergeState.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelMergeStrategy.js +11 -0
- package/dist/cjs/internal/opCodes/channelMergeStrategy.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelState.js +15 -0
- package/dist/cjs/internal/opCodes/channelState.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelUpstreamPullRequest.js +11 -0
- package/dist/cjs/internal/opCodes/channelUpstreamPullRequest.js.map +1 -0
- package/dist/cjs/internal/opCodes/channelUpstreamPullStrategy.js +11 -0
- package/dist/cjs/internal/opCodes/channelUpstreamPullStrategy.js.map +1 -0
- package/dist/cjs/internal/opCodes/config.js +29 -0
- package/dist/cjs/internal/opCodes/config.js.map +1 -0
- package/dist/cjs/internal/opCodes/configError.js +19 -0
- package/dist/cjs/internal/opCodes/configError.js.map +1 -0
- package/dist/cjs/internal/opCodes/continuation.js +11 -0
- package/dist/cjs/internal/opCodes/continuation.js.map +1 -0
- package/dist/cjs/internal/opCodes/deferred.js +11 -0
- package/dist/cjs/internal/opCodes/deferred.js.map +1 -0
- package/dist/cjs/internal/opCodes/effect.js +37 -0
- package/dist/cjs/internal/opCodes/effect.js.map +1 -0
- package/dist/cjs/internal/opCodes/layer.js +27 -0
- package/dist/cjs/internal/opCodes/layer.js.map +1 -0
- package/dist/cjs/internal/opCodes/streamHaltStrategy.js +15 -0
- package/dist/cjs/internal/opCodes/streamHaltStrategy.js.map +1 -0
- package/dist/cjs/internal/option.js +82 -0
- package/dist/cjs/internal/option.js.map +1 -0
- package/dist/cjs/internal/pool.js +288 -0
- package/dist/cjs/internal/pool.js.map +1 -0
- package/dist/cjs/internal/pubsub.js +1287 -0
- package/dist/cjs/internal/pubsub.js.map +1 -0
- package/dist/cjs/internal/query.js +102 -0
- package/dist/cjs/internal/query.js.map +1 -0
- package/dist/cjs/internal/queue.js +518 -0
- package/dist/cjs/internal/queue.js.map +1 -0
- package/dist/cjs/internal/random.js +128 -0
- package/dist/cjs/internal/random.js.map +1 -0
- package/dist/cjs/internal/rateLimiter.js +52 -0
- package/dist/cjs/internal/rateLimiter.js.map +1 -0
- package/dist/cjs/internal/rcMap.js +182 -0
- package/dist/cjs/internal/rcMap.js.map +1 -0
- package/dist/cjs/internal/rcRef.js +139 -0
- package/dist/cjs/internal/rcRef.js.map +1 -0
- package/dist/cjs/internal/redBlackTree/iterator.js +199 -0
- package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -0
- package/dist/cjs/internal/redBlackTree/node.js +60 -0
- package/dist/cjs/internal/redBlackTree/node.js.map +1 -0
- package/dist/cjs/internal/redBlackTree.js +1088 -0
- package/dist/cjs/internal/redBlackTree.js.map +1 -0
- package/dist/cjs/internal/redacted.js +67 -0
- package/dist/cjs/internal/redacted.js.map +1 -0
- package/dist/cjs/internal/ref.js +121 -0
- package/dist/cjs/internal/ref.js.map +1 -0
- package/dist/cjs/internal/reloadable.js +56 -0
- package/dist/cjs/internal/reloadable.js.map +1 -0
- package/dist/cjs/internal/request.js +104 -0
- package/dist/cjs/internal/request.js.map +1 -0
- package/dist/cjs/internal/resource.js +49 -0
- package/dist/cjs/internal/resource.js.map +1 -0
- package/dist/cjs/internal/ringBuffer.js +64 -0
- package/dist/cjs/internal/ringBuffer.js.map +1 -0
- package/dist/cjs/internal/runtime.js +321 -0
- package/dist/cjs/internal/runtime.js.map +1 -0
- package/dist/cjs/internal/runtimeFlags.js +126 -0
- package/dist/cjs/internal/runtimeFlags.js.map +1 -0
- package/dist/cjs/internal/runtimeFlagsPatch.js +52 -0
- package/dist/cjs/internal/runtimeFlagsPatch.js.map +1 -0
- package/dist/cjs/internal/schedule/decision.js +44 -0
- package/dist/cjs/internal/schedule/decision.js.map +1 -0
- package/dist/cjs/internal/schedule/interval.js +83 -0
- package/dist/cjs/internal/schedule/interval.js.map +1 -0
- package/dist/cjs/internal/schedule/intervals.js +134 -0
- package/dist/cjs/internal/schedule/intervals.js.map +1 -0
- package/dist/cjs/internal/schedule.js +900 -0
- package/dist/cjs/internal/schedule.js.map +1 -0
- package/dist/cjs/internal/schema/errors.js +113 -0
- package/dist/cjs/internal/schema/errors.js.map +1 -0
- package/dist/cjs/internal/schema/schemaId.js +49 -0
- package/dist/cjs/internal/schema/schemaId.js.map +1 -0
- package/dist/cjs/internal/schema/util.js +48 -0
- package/dist/cjs/internal/schema/util.js.map +1 -0
- package/dist/cjs/internal/scopedCache.js +398 -0
- package/dist/cjs/internal/scopedCache.js.map +1 -0
- package/dist/cjs/internal/scopedRef.js +53 -0
- package/dist/cjs/internal/scopedRef.js.map +1 -0
- package/dist/cjs/internal/secret.js +90 -0
- package/dist/cjs/internal/secret.js.map +1 -0
- package/dist/cjs/internal/singleShotGen.js +37 -0
- package/dist/cjs/internal/singleShotGen.js.map +1 -0
- package/dist/cjs/internal/sink.js +883 -0
- package/dist/cjs/internal/sink.js.map +1 -0
- package/dist/cjs/internal/stack.js +12 -0
- package/dist/cjs/internal/stack.js.map +1 -0
- package/dist/cjs/internal/stm/core.js +525 -0
- package/dist/cjs/internal/stm/core.js.map +1 -0
- package/dist/cjs/internal/stm/entry.js +57 -0
- package/dist/cjs/internal/stm/entry.js.map +1 -0
- package/dist/cjs/internal/stm/journal.js +104 -0
- package/dist/cjs/internal/stm/journal.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/stm.js +31 -0
- package/dist/cjs/internal/stm/opCodes/stm.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/stmState.js +13 -0
- package/dist/cjs/internal/stm/opCodes/stmState.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/strategy.js +13 -0
- package/dist/cjs/internal/stm/opCodes/strategy.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/tExit.js +17 -0
- package/dist/cjs/internal/stm/opCodes/tExit.js.map +1 -0
- package/dist/cjs/internal/stm/opCodes/tryCommit.js +11 -0
- package/dist/cjs/internal/stm/opCodes/tryCommit.js.map +1 -0
- package/dist/cjs/internal/stm/stm.js +514 -0
- package/dist/cjs/internal/stm/stm.js.map +1 -0
- package/dist/cjs/internal/stm/stmState.js +102 -0
- package/dist/cjs/internal/stm/stmState.js.map +1 -0
- package/dist/cjs/internal/stm/tArray.js +258 -0
- package/dist/cjs/internal/stm/tArray.js.map +1 -0
- package/dist/cjs/internal/stm/tDeferred.js +51 -0
- package/dist/cjs/internal/stm/tDeferred.js.map +1 -0
- package/dist/cjs/internal/stm/tExit.js +116 -0
- package/dist/cjs/internal/stm/tExit.js.map +1 -0
- package/dist/cjs/internal/stm/tMap.js +448 -0
- package/dist/cjs/internal/stm/tMap.js.map +1 -0
- package/dist/cjs/internal/stm/tPriorityQueue.js +164 -0
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -0
- package/dist/cjs/internal/stm/tPubSub.js +397 -0
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -0
- package/dist/cjs/internal/stm/tQueue.js +284 -0
- package/dist/cjs/internal/stm/tQueue.js.map +1 -0
- package/dist/cjs/internal/stm/tRandom.js +92 -0
- package/dist/cjs/internal/stm/tRandom.js.map +1 -0
- package/dist/cjs/internal/stm/tReentrantLock.js +215 -0
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -0
- package/dist/cjs/internal/stm/tRef.js +110 -0
- package/dist/cjs/internal/stm/tRef.js.map +1 -0
- package/dist/cjs/internal/stm/tSemaphore.js +72 -0
- package/dist/cjs/internal/stm/tSemaphore.js.map +1 -0
- package/dist/cjs/internal/stm/tSet.js +104 -0
- package/dist/cjs/internal/stm/tSet.js.map +1 -0
- package/dist/cjs/internal/stm/tSubscriptionRef.js +177 -0
- package/dist/cjs/internal/stm/tSubscriptionRef.js.map +1 -0
- package/dist/cjs/internal/stm/tryCommit.js +25 -0
- package/dist/cjs/internal/stm/tryCommit.js.map +1 -0
- package/dist/cjs/internal/stm/txnId.js +18 -0
- package/dist/cjs/internal/stm/txnId.js.map +1 -0
- package/dist/cjs/internal/stm/versioned.js +15 -0
- package/dist/cjs/internal/stm/versioned.js.map +1 -0
- package/dist/cjs/internal/stream/debounceState.js +29 -0
- package/dist/cjs/internal/stream/debounceState.js.map +1 -0
- package/dist/cjs/internal/stream/emit.js +129 -0
- package/dist/cjs/internal/stream/emit.js.map +1 -0
- package/dist/cjs/internal/stream/haltStrategy.js +75 -0
- package/dist/cjs/internal/stream/haltStrategy.js.map +1 -0
- package/dist/cjs/internal/stream/handoff.js +65 -0
- package/dist/cjs/internal/stream/handoff.js.map +1 -0
- package/dist/cjs/internal/stream/handoffSignal.js +31 -0
- package/dist/cjs/internal/stream/handoffSignal.js.map +1 -0
- package/dist/cjs/internal/stream/pull.js +34 -0
- package/dist/cjs/internal/stream/pull.js.map +1 -0
- package/dist/cjs/internal/stream/sinkEndReason.js +19 -0
- package/dist/cjs/internal/stream/sinkEndReason.js.map +1 -0
- package/dist/cjs/internal/stream/zipAllState.js +41 -0
- package/dist/cjs/internal/stream/zipAllState.js.map +1 -0
- package/dist/cjs/internal/stream/zipChunksState.js +29 -0
- package/dist/cjs/internal/stream/zipChunksState.js.map +1 -0
- package/dist/cjs/internal/stream.js +2979 -0
- package/dist/cjs/internal/stream.js.map +1 -0
- package/dist/cjs/internal/string-utils.js +90 -0
- package/dist/cjs/internal/string-utils.js.map +1 -0
- package/dist/cjs/internal/subscriptionRef.js +72 -0
- package/dist/cjs/internal/subscriptionRef.js.map +1 -0
- package/dist/cjs/internal/supervisor/patch.js +135 -0
- package/dist/cjs/internal/supervisor/patch.js.map +1 -0
- package/dist/cjs/internal/supervisor.js +222 -0
- package/dist/cjs/internal/supervisor.js.map +1 -0
- package/dist/cjs/internal/synchronizedRef.js +51 -0
- package/dist/cjs/internal/synchronizedRef.js.map +1 -0
- package/dist/cjs/internal/take.js +130 -0
- package/dist/cjs/internal/take.js.map +1 -0
- package/dist/cjs/internal/testing/sleep.js +14 -0
- package/dist/cjs/internal/testing/sleep.js.map +1 -0
- package/dist/cjs/internal/testing/suspendedWarningData.js +58 -0
- package/dist/cjs/internal/testing/suspendedWarningData.js.map +1 -0
- package/dist/cjs/internal/testing/warningData.js +59 -0
- package/dist/cjs/internal/testing/warningData.js.map +1 -0
- package/dist/cjs/internal/tracer.js +134 -0
- package/dist/cjs/internal/tracer.js.map +1 -0
- package/dist/cjs/internal/trie.js +564 -0
- package/dist/cjs/internal/trie.js.map +1 -0
- package/dist/cjs/internal/version.js +14 -0
- package/dist/cjs/internal/version.js.map +1 -0
- package/dist/dts/Arbitrary.d.ts +69 -0
- package/dist/dts/Arbitrary.d.ts.map +1 -0
- package/dist/dts/Array.d.ts +5922 -0
- package/dist/dts/Array.d.ts.map +1 -0
- package/dist/dts/BigDecimal.d.ts +1483 -0
- package/dist/dts/BigDecimal.d.ts.map +1 -0
- package/dist/dts/BigInt.d.ts +1033 -0
- package/dist/dts/BigInt.d.ts.map +1 -0
- package/dist/dts/Boolean.d.ts +523 -0
- package/dist/dts/Boolean.d.ts.map +1 -0
- package/dist/dts/Brand.d.ts +234 -0
- package/dist/dts/Brand.d.ts.map +1 -0
- package/dist/dts/Cache.d.ts +241 -0
- package/dist/dts/Cache.d.ts.map +1 -0
- package/dist/dts/Cause.d.ts +1928 -0
- package/dist/dts/Cause.d.ts.map +1 -0
- package/dist/dts/Channel.d.ts +1989 -0
- package/dist/dts/Channel.d.ts.map +1 -0
- package/dist/dts/ChildExecutorDecision.d.ts +135 -0
- package/dist/dts/ChildExecutorDecision.d.ts.map +1 -0
- package/dist/dts/Chunk.d.ts +1709 -0
- package/dist/dts/Chunk.d.ts.map +1 -0
- package/dist/dts/Clock.d.ts +97 -0
- package/dist/dts/Clock.d.ts.map +1 -0
- package/dist/dts/Config.d.ts +667 -0
- package/dist/dts/Config.d.ts.map +1 -0
- package/dist/dts/ConfigError.d.ts +238 -0
- package/dist/dts/ConfigError.d.ts.map +1 -0
- package/dist/dts/ConfigProvider.d.ts +372 -0
- package/dist/dts/ConfigProvider.d.ts.map +1 -0
- package/dist/dts/ConfigProviderPathPatch.d.ts +118 -0
- package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -0
- package/dist/dts/Console.d.ts +224 -0
- package/dist/dts/Console.d.ts.map +1 -0
- package/dist/dts/Context.d.ts +823 -0
- package/dist/dts/Context.d.ts.map +1 -0
- package/dist/dts/Cron.d.ts +226 -0
- package/dist/dts/Cron.d.ts.map +1 -0
- package/dist/dts/Data.d.ts +613 -0
- package/dist/dts/Data.d.ts.map +1 -0
- package/dist/dts/DateTime.d.ts +2417 -0
- package/dist/dts/DateTime.d.ts.map +1 -0
- package/dist/dts/DefaultServices.d.ts +26 -0
- package/dist/dts/DefaultServices.d.ts.map +1 -0
- package/dist/dts/Deferred.d.ts +437 -0
- package/dist/dts/Deferred.d.ts.map +1 -0
- package/dist/dts/Differ.d.ts +420 -0
- package/dist/dts/Differ.d.ts.map +1 -0
- package/dist/dts/Duration.d.ts +557 -0
- package/dist/dts/Duration.d.ts.map +1 -0
- package/dist/dts/Effect.d.ts +26986 -0
- package/dist/dts/Effect.d.ts.map +1 -0
- package/dist/dts/Effectable.d.ts +93 -0
- package/dist/dts/Effectable.d.ts.map +1 -0
- package/dist/dts/Either.d.ts +1431 -0
- package/dist/dts/Either.d.ts.map +1 -0
- package/dist/dts/Encoding.d.ts +160 -0
- package/dist/dts/Encoding.d.ts.map +1 -0
- package/dist/dts/Equal.d.ts +34 -0
- package/dist/dts/Equal.d.ts.map +1 -0
- package/dist/dts/Equivalence.d.ts +158 -0
- package/dist/dts/Equivalence.d.ts.map +1 -0
- package/dist/dts/ExecutionPlan.d.ts +210 -0
- package/dist/dts/ExecutionPlan.d.ts.map +1 -0
- package/dist/dts/ExecutionStrategy.d.ts +122 -0
- package/dist/dts/ExecutionStrategy.d.ts.map +1 -0
- package/dist/dts/Exit.d.ts +663 -0
- package/dist/dts/Exit.d.ts.map +1 -0
- package/dist/dts/FastCheck.d.ts +9 -0
- package/dist/dts/FastCheck.d.ts.map +1 -0
- package/dist/dts/Fiber.d.ts +831 -0
- package/dist/dts/Fiber.d.ts.map +1 -0
- package/dist/dts/FiberHandle.d.ts +270 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -0
- package/dist/dts/FiberId.d.ts +196 -0
- package/dist/dts/FiberId.d.ts.map +1 -0
- package/dist/dts/FiberMap.d.ts +368 -0
- package/dist/dts/FiberMap.d.ts.map +1 -0
- package/dist/dts/FiberRef.d.ts +422 -0
- package/dist/dts/FiberRef.d.ts.map +1 -0
- package/dist/dts/FiberRefs.d.ts +256 -0
- package/dist/dts/FiberRefs.d.ts.map +1 -0
- package/dist/dts/FiberRefsPatch.d.ts +125 -0
- package/dist/dts/FiberRefsPatch.d.ts.map +1 -0
- package/dist/dts/FiberSet.d.ts +236 -0
- package/dist/dts/FiberSet.d.ts.map +1 -0
- package/dist/dts/FiberStatus.d.ts +94 -0
- package/dist/dts/FiberStatus.d.ts.map +1 -0
- package/dist/dts/Function.d.ts +660 -0
- package/dist/dts/Function.d.ts.map +1 -0
- package/dist/dts/GlobalValue.d.ts +25 -0
- package/dist/dts/GlobalValue.d.ts.map +1 -0
- package/dist/dts/Graph.d.ts +1753 -0
- package/dist/dts/Graph.d.ts.map +1 -0
- package/dist/dts/GroupBy.d.ts +125 -0
- package/dist/dts/GroupBy.d.ts.map +1 -0
- package/dist/dts/HKT.d.ts +41 -0
- package/dist/dts/HKT.d.ts.map +1 -0
- package/dist/dts/Hash.d.ts +79 -0
- package/dist/dts/Hash.d.ts.map +1 -0
- package/dist/dts/HashMap.d.ts +863 -0
- package/dist/dts/HashMap.d.ts.map +1 -0
- package/dist/dts/HashRing.d.ts +158 -0
- package/dist/dts/HashRing.d.ts.map +1 -0
- package/dist/dts/HashSet.d.ts +2271 -0
- package/dist/dts/HashSet.d.ts.map +1 -0
- package/dist/dts/Inspectable.d.ts +88 -0
- package/dist/dts/Inspectable.d.ts.map +1 -0
- package/dist/dts/Iterable.d.ts +1047 -0
- package/dist/dts/Iterable.d.ts.map +1 -0
- package/dist/dts/JSONSchema.d.ts +268 -0
- package/dist/dts/JSONSchema.d.ts.map +1 -0
- package/dist/dts/KeyedPool.d.ts +182 -0
- package/dist/dts/KeyedPool.d.ts.map +1 -0
- package/dist/dts/Layer.d.ts +1374 -0
- package/dist/dts/Layer.d.ts.map +1 -0
- package/dist/dts/LayerMap.d.ts +265 -0
- package/dist/dts/LayerMap.d.ts.map +1 -0
- package/dist/dts/List.d.ts +937 -0
- package/dist/dts/List.d.ts.map +1 -0
- package/dist/dts/LogLevel.d.ts +333 -0
- package/dist/dts/LogLevel.d.ts.map +1 -0
- package/dist/dts/LogSpan.d.ts +19 -0
- package/dist/dts/LogSpan.d.ts.map +1 -0
- package/dist/dts/Logger.d.ts +795 -0
- package/dist/dts/Logger.d.ts.map +1 -0
- package/dist/dts/Mailbox.d.ts +274 -0
- package/dist/dts/Mailbox.d.ts.map +1 -0
- package/dist/dts/ManagedRuntime.d.ts +154 -0
- package/dist/dts/ManagedRuntime.d.ts.map +1 -0
- package/dist/dts/Match.d.ts +1140 -0
- package/dist/dts/Match.d.ts.map +1 -0
- package/dist/dts/MergeDecision.d.ts +86 -0
- package/dist/dts/MergeDecision.d.ts.map +1 -0
- package/dist/dts/MergeState.d.ts +130 -0
- package/dist/dts/MergeState.d.ts.map +1 -0
- package/dist/dts/MergeStrategy.d.ts +104 -0
- package/dist/dts/MergeStrategy.d.ts.map +1 -0
- package/dist/dts/Metric.d.ts +1042 -0
- package/dist/dts/Metric.d.ts.map +1 -0
- package/dist/dts/MetricBoundaries.d.ts +58 -0
- package/dist/dts/MetricBoundaries.d.ts.map +1 -0
- package/dist/dts/MetricHook.d.ts +155 -0
- package/dist/dts/MetricHook.d.ts.map +1 -0
- package/dist/dts/MetricKey.d.ts +222 -0
- package/dist/dts/MetricKey.d.ts.map +1 -0
- package/dist/dts/MetricKeyType.d.ts +224 -0
- package/dist/dts/MetricKeyType.d.ts.map +1 -0
- package/dist/dts/MetricLabel.d.ts +42 -0
- package/dist/dts/MetricLabel.d.ts.map +1 -0
- package/dist/dts/MetricPair.d.ts +54 -0
- package/dist/dts/MetricPair.d.ts.map +1 -0
- package/dist/dts/MetricPolling.d.ts +151 -0
- package/dist/dts/MetricPolling.d.ts.map +1 -0
- package/dist/dts/MetricRegistry.d.ts +34 -0
- package/dist/dts/MetricRegistry.d.ts.map +1 -0
- package/dist/dts/MetricState.d.ts +238 -0
- package/dist/dts/MetricState.d.ts.map +1 -0
- package/dist/dts/Micro.d.ts +3440 -0
- package/dist/dts/Micro.d.ts.map +1 -0
- package/dist/dts/ModuleVersion.d.ts +11 -0
- package/dist/dts/ModuleVersion.d.ts.map +1 -0
- package/dist/dts/MutableHashMap.d.ts +170 -0
- package/dist/dts/MutableHashMap.d.ts.map +1 -0
- package/dist/dts/MutableHashSet.d.ts +547 -0
- package/dist/dts/MutableHashSet.d.ts.map +1 -0
- package/dist/dts/MutableList.d.ts +150 -0
- package/dist/dts/MutableList.d.ts.map +1 -0
- package/dist/dts/MutableQueue.d.ts +189 -0
- package/dist/dts/MutableQueue.d.ts.map +1 -0
- package/dist/dts/MutableRef.d.ts +175 -0
- package/dist/dts/MutableRef.d.ts.map +1 -0
- package/dist/dts/NonEmptyIterable.d.ts +21 -0
- package/dist/dts/NonEmptyIterable.d.ts.map +1 -0
- package/dist/dts/Number.d.ts +1361 -0
- package/dist/dts/Number.d.ts.map +1 -0
- package/dist/dts/Option.d.ts +3757 -0
- package/dist/dts/Option.d.ts.map +1 -0
- package/dist/dts/Order.d.ts +260 -0
- package/dist/dts/Order.d.ts.map +1 -0
- package/dist/dts/Ordering.d.ts +144 -0
- package/dist/dts/Ordering.d.ts.map +1 -0
- package/dist/dts/ParseResult.d.ts +560 -0
- package/dist/dts/ParseResult.d.ts.map +1 -0
- package/dist/dts/PartitionedSemaphore.d.ts +76 -0
- package/dist/dts/PartitionedSemaphore.d.ts.map +1 -0
- package/dist/dts/Pipeable.d.ts +65 -0
- package/dist/dts/Pipeable.d.ts.map +1 -0
- package/dist/dts/Pool.d.ts +201 -0
- package/dist/dts/Pool.d.ts.map +1 -0
- package/dist/dts/Predicate.d.ts +2197 -0
- package/dist/dts/Predicate.d.ts.map +1 -0
- package/dist/dts/Pretty.d.ts +26 -0
- package/dist/dts/Pretty.d.ts.map +1 -0
- package/dist/dts/PrimaryKey.d.ts +21 -0
- package/dist/dts/PrimaryKey.d.ts.map +1 -0
- package/dist/dts/PubSub.d.ts +197 -0
- package/dist/dts/PubSub.d.ts.map +1 -0
- package/dist/dts/Queue.d.ts +664 -0
- package/dist/dts/Queue.d.ts.map +1 -0
- package/dist/dts/Random.d.ts +183 -0
- package/dist/dts/Random.d.ts.map +1 -0
- package/dist/dts/RateLimiter.d.ts +134 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -0
- package/dist/dts/RcMap.d.ts +231 -0
- package/dist/dts/RcMap.d.ts.map +1 -0
- package/dist/dts/RcRef.d.ts +111 -0
- package/dist/dts/RcRef.d.ts.map +1 -0
- package/dist/dts/Readable.d.ts +72 -0
- package/dist/dts/Readable.d.ts.map +1 -0
- package/dist/dts/Record.d.ts +1547 -0
- package/dist/dts/Record.d.ts.map +1 -0
- package/dist/dts/RedBlackTree.d.ts +676 -0
- package/dist/dts/RedBlackTree.d.ts.map +1 -0
- package/dist/dts/Redacted.d.ts +133 -0
- package/dist/dts/Redacted.d.ts.map +1 -0
- package/dist/dts/Ref.d.ts +250 -0
- package/dist/dts/Ref.d.ts.map +1 -0
- package/dist/dts/RegExp.d.ts +31 -0
- package/dist/dts/RegExp.d.ts.map +1 -0
- package/dist/dts/Reloadable.d.ts +102 -0
- package/dist/dts/Reloadable.d.ts.map +1 -0
- package/dist/dts/Request.d.ts +383 -0
- package/dist/dts/Request.d.ts.map +1 -0
- package/dist/dts/RequestBlock.d.ts +94 -0
- package/dist/dts/RequestBlock.d.ts.map +1 -0
- package/dist/dts/RequestResolver.d.ts +413 -0
- package/dist/dts/RequestResolver.d.ts.map +1 -0
- package/dist/dts/Resource.d.ts +99 -0
- package/dist/dts/Resource.d.ts.map +1 -0
- package/dist/dts/Runtime.d.ts +578 -0
- package/dist/dts/Runtime.d.ts.map +1 -0
- package/dist/dts/RuntimeFlags.d.ts +397 -0
- package/dist/dts/RuntimeFlags.d.ts.map +1 -0
- package/dist/dts/RuntimeFlagsPatch.d.ts +273 -0
- package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -0
- package/dist/dts/STM.d.ts +2645 -0
- package/dist/dts/STM.d.ts.map +1 -0
- package/dist/dts/Schedule.d.ts +3509 -0
- package/dist/dts/Schedule.d.ts.map +1 -0
- package/dist/dts/ScheduleDecision.d.ts +50 -0
- package/dist/dts/ScheduleDecision.d.ts.map +1 -0
- package/dist/dts/ScheduleInterval.d.ts +204 -0
- package/dist/dts/ScheduleInterval.d.ts.map +1 -0
- package/dist/dts/ScheduleIntervals.d.ts +159 -0
- package/dist/dts/ScheduleIntervals.d.ts.map +1 -0
- package/dist/dts/Scheduler.d.ts +161 -0
- package/dist/dts/Scheduler.d.ts.map +1 -0
- package/dist/dts/Schema.d.ts +5094 -0
- package/dist/dts/Schema.d.ts.map +1 -0
- package/dist/dts/SchemaAST.d.ts +1360 -0
- package/dist/dts/SchemaAST.d.ts.map +1 -0
- package/dist/dts/Scope.d.ts +194 -0
- package/dist/dts/Scope.d.ts.map +1 -0
- package/dist/dts/ScopedCache.d.ts +127 -0
- package/dist/dts/ScopedCache.d.ts.map +1 -0
- package/dist/dts/ScopedRef.d.ts +125 -0
- package/dist/dts/ScopedRef.d.ts.map +1 -0
- package/dist/dts/Secret.d.ts +76 -0
- package/dist/dts/Secret.d.ts.map +1 -0
- package/dist/dts/SingleProducerAsyncInput.d.ts +57 -0
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -0
- package/dist/dts/Sink.d.ts +1616 -0
- package/dist/dts/Sink.d.ts.map +1 -0
- package/dist/dts/SortedMap.d.ts +234 -0
- package/dist/dts/SortedMap.d.ts.map +1 -0
- package/dist/dts/SortedSet.d.ts +333 -0
- package/dist/dts/SortedSet.d.ts.map +1 -0
- package/dist/dts/Stream.d.ts +10803 -0
- package/dist/dts/Stream.d.ts.map +1 -0
- package/dist/dts/StreamEmit.d.ts +117 -0
- package/dist/dts/StreamEmit.d.ts.map +1 -0
- package/dist/dts/StreamHaltStrategy.d.ts +116 -0
- package/dist/dts/StreamHaltStrategy.d.ts.map +1 -0
- package/dist/dts/Streamable.d.ts +27 -0
- package/dist/dts/Streamable.d.ts.map +1 -0
- package/dist/dts/String.d.ts +848 -0
- package/dist/dts/String.d.ts.map +1 -0
- package/dist/dts/Struct.d.ts +295 -0
- package/dist/dts/Struct.d.ts.map +1 -0
- package/dist/dts/Subscribable.d.ts +76 -0
- package/dist/dts/Subscribable.d.ts.map +1 -0
- package/dist/dts/SubscriptionRef.d.ts +384 -0
- package/dist/dts/SubscriptionRef.d.ts.map +1 -0
- package/dist/dts/Supervisor.d.ts +171 -0
- package/dist/dts/Supervisor.d.ts.map +1 -0
- package/dist/dts/Symbol.d.ts +26 -0
- package/dist/dts/Symbol.d.ts.map +1 -0
- package/dist/dts/SynchronizedRef.d.ts +378 -0
- package/dist/dts/SynchronizedRef.d.ts.map +1 -0
- package/dist/dts/TArray.d.ts +857 -0
- package/dist/dts/TArray.d.ts.map +1 -0
- package/dist/dts/TDeferred.d.ts +104 -0
- package/dist/dts/TDeferred.d.ts.map +1 -0
- package/dist/dts/TMap.d.ts +780 -0
- package/dist/dts/TMap.d.ts.map +1 -0
- package/dist/dts/TPriorityQueue.d.ts +250 -0
- package/dist/dts/TPriorityQueue.d.ts.map +1 -0
- package/dist/dts/TPubSub.d.ts +186 -0
- package/dist/dts/TPubSub.d.ts.map +1 -0
- package/dist/dts/TQueue.d.ts +492 -0
- package/dist/dts/TQueue.d.ts.map +1 -0
- package/dist/dts/TRandom.d.ts +108 -0
- package/dist/dts/TRandom.d.ts.map +1 -0
- package/dist/dts/TReentrantLock.d.ts +230 -0
- package/dist/dts/TReentrantLock.d.ts.map +1 -0
- package/dist/dts/TRef.d.ts +235 -0
- package/dist/dts/TRef.d.ts.map +1 -0
- package/dist/dts/TSemaphore.d.ts +145 -0
- package/dist/dts/TSemaphore.d.ts.map +1 -0
- package/dist/dts/TSet.d.ts +564 -0
- package/dist/dts/TSet.d.ts.map +1 -0
- package/dist/dts/TSubscriptionRef.d.ts +251 -0
- package/dist/dts/TSubscriptionRef.d.ts.map +1 -0
- package/dist/dts/Take.d.ts +271 -0
- package/dist/dts/Take.d.ts.map +1 -0
- package/dist/dts/TestAnnotation.d.ts +71 -0
- package/dist/dts/TestAnnotation.d.ts.map +1 -0
- package/dist/dts/TestAnnotationMap.d.ts +56 -0
- package/dist/dts/TestAnnotationMap.d.ts.map +1 -0
- package/dist/dts/TestAnnotations.d.ts +59 -0
- package/dist/dts/TestAnnotations.d.ts.map +1 -0
- package/dist/dts/TestClock.d.ts +147 -0
- package/dist/dts/TestClock.d.ts.map +1 -0
- package/dist/dts/TestConfig.d.ts +45 -0
- package/dist/dts/TestConfig.d.ts.map +1 -0
- package/dist/dts/TestContext.d.ts +15 -0
- package/dist/dts/TestContext.d.ts.map +1 -0
- package/dist/dts/TestLive.d.ts +35 -0
- package/dist/dts/TestLive.d.ts.map +1 -0
- package/dist/dts/TestServices.d.ts +231 -0
- package/dist/dts/TestServices.d.ts.map +1 -0
- package/dist/dts/TestSized.d.ts +36 -0
- package/dist/dts/TestSized.d.ts.map +1 -0
- package/dist/dts/Tracer.d.ts +152 -0
- package/dist/dts/Tracer.d.ts.map +1 -0
- package/dist/dts/Trie.d.ts +1828 -0
- package/dist/dts/Trie.d.ts.map +1 -0
- package/dist/dts/Tuple.d.ts +446 -0
- package/dist/dts/Tuple.d.ts.map +1 -0
- package/dist/dts/Types.d.ts +330 -0
- package/dist/dts/Types.d.ts.map +1 -0
- package/dist/dts/Unify.d.ts +75 -0
- package/dist/dts/Unify.d.ts.map +1 -0
- package/dist/dts/UpstreamPullRequest.d.ts +109 -0
- package/dist/dts/UpstreamPullRequest.d.ts.map +1 -0
- package/dist/dts/UpstreamPullStrategy.d.ts +110 -0
- package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -0
- package/dist/dts/Utils.d.ts +283 -0
- package/dist/dts/Utils.d.ts.map +1 -0
- package/dist/dts/index.d.ts +1385 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/array.d.ts +5 -0
- package/dist/dts/internal/array.d.ts.map +1 -0
- package/dist/dts/internal/blockedRequests.d.ts +2 -0
- package/dist/dts/internal/blockedRequests.d.ts.map +1 -0
- package/dist/dts/internal/cache.d.ts +2 -0
- package/dist/dts/internal/cache.d.ts.map +1 -0
- package/dist/dts/internal/cause.d.ts +2 -0
- package/dist/dts/internal/cause.d.ts.map +1 -0
- package/dist/dts/internal/channel/channelExecutor.d.ts +3 -0
- package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -0
- package/dist/dts/internal/channel/channelState.d.ts +2 -0
- package/dist/dts/internal/channel/channelState.d.ts.map +1 -0
- package/dist/dts/internal/channel/childExecutorDecision.d.ts +2 -0
- package/dist/dts/internal/channel/childExecutorDecision.d.ts.map +1 -0
- package/dist/dts/internal/channel/continuation.d.ts +2 -0
- package/dist/dts/internal/channel/continuation.d.ts.map +1 -0
- package/dist/dts/internal/channel/mergeDecision.d.ts +2 -0
- package/dist/dts/internal/channel/mergeDecision.d.ts.map +1 -0
- package/dist/dts/internal/channel/mergeState.d.ts +2 -0
- package/dist/dts/internal/channel/mergeState.d.ts.map +1 -0
- package/dist/dts/internal/channel/mergeStrategy.d.ts +2 -0
- package/dist/dts/internal/channel/mergeStrategy.d.ts.map +1 -0
- package/dist/dts/internal/channel/singleProducerAsyncInput.d.ts +2 -0
- package/dist/dts/internal/channel/singleProducerAsyncInput.d.ts.map +1 -0
- package/dist/dts/internal/channel/subexecutor.d.ts +2 -0
- package/dist/dts/internal/channel/subexecutor.d.ts.map +1 -0
- package/dist/dts/internal/channel/upstreamPullRequest.d.ts +2 -0
- package/dist/dts/internal/channel/upstreamPullRequest.d.ts.map +1 -0
- package/dist/dts/internal/channel/upstreamPullStrategy.d.ts +2 -0
- package/dist/dts/internal/channel/upstreamPullStrategy.d.ts.map +1 -0
- package/dist/dts/internal/channel.d.ts +2 -0
- package/dist/dts/internal/channel.d.ts.map +1 -0
- package/dist/dts/internal/clock.d.ts +2 -0
- package/dist/dts/internal/clock.d.ts.map +1 -0
- package/dist/dts/internal/completedRequestMap.d.ts +2 -0
- package/dist/dts/internal/completedRequestMap.d.ts.map +1 -0
- package/dist/dts/internal/concurrency.d.ts +2 -0
- package/dist/dts/internal/concurrency.d.ts.map +1 -0
- package/dist/dts/internal/config.d.ts +2 -0
- package/dist/dts/internal/config.d.ts.map +1 -0
- package/dist/dts/internal/configError.d.ts +2 -0
- package/dist/dts/internal/configError.d.ts.map +1 -0
- package/dist/dts/internal/configProvider/pathPatch.d.ts +2 -0
- package/dist/dts/internal/configProvider/pathPatch.d.ts.map +1 -0
- package/dist/dts/internal/configProvider.d.ts +2 -0
- package/dist/dts/internal/configProvider.d.ts.map +1 -0
- package/dist/dts/internal/console.d.ts +2 -0
- package/dist/dts/internal/console.d.ts.map +1 -0
- package/dist/dts/internal/context.d.ts +2 -0
- package/dist/dts/internal/context.d.ts.map +1 -0
- package/dist/dts/internal/core-effect.d.ts +8 -0
- package/dist/dts/internal/core-effect.d.ts.map +1 -0
- package/dist/dts/internal/core-stream.d.ts +9 -0
- package/dist/dts/internal/core-stream.d.ts.map +1 -0
- package/dist/dts/internal/core.d.ts +9 -0
- package/dist/dts/internal/core.d.ts.map +1 -0
- package/dist/dts/internal/data.d.ts +2 -0
- package/dist/dts/internal/data.d.ts.map +1 -0
- package/dist/dts/internal/dataSource.d.ts +2 -0
- package/dist/dts/internal/dataSource.d.ts.map +1 -0
- package/dist/dts/internal/dateTime.d.ts +2 -0
- package/dist/dts/internal/dateTime.d.ts.map +1 -0
- package/dist/dts/internal/defaultServices/console.d.ts +2 -0
- package/dist/dts/internal/defaultServices/console.d.ts.map +1 -0
- package/dist/dts/internal/defaultServices.d.ts +10 -0
- package/dist/dts/internal/defaultServices.d.ts.map +1 -0
- package/dist/dts/internal/deferred.d.ts +2 -0
- package/dist/dts/internal/deferred.d.ts.map +1 -0
- package/dist/dts/internal/differ/chunkPatch.d.ts +2 -0
- package/dist/dts/internal/differ/chunkPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/contextPatch.d.ts +2 -0
- package/dist/dts/internal/differ/contextPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/hashMapPatch.d.ts +2 -0
- package/dist/dts/internal/differ/hashMapPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/hashSetPatch.d.ts +2 -0
- package/dist/dts/internal/differ/hashSetPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/orPatch.d.ts +2 -0
- package/dist/dts/internal/differ/orPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ/readonlyArrayPatch.d.ts +2 -0
- package/dist/dts/internal/differ/readonlyArrayPatch.d.ts.map +1 -0
- package/dist/dts/internal/differ.d.ts +2 -0
- package/dist/dts/internal/differ.d.ts.map +1 -0
- package/dist/dts/internal/doNotation.d.ts +2 -0
- package/dist/dts/internal/doNotation.d.ts.map +1 -0
- package/dist/dts/internal/effect/circular.d.ts +2 -0
- package/dist/dts/internal/effect/circular.d.ts.map +1 -0
- package/dist/dts/internal/effectable.d.ts +2 -0
- package/dist/dts/internal/effectable.d.ts.map +1 -0
- package/dist/dts/internal/either.d.ts +5 -0
- package/dist/dts/internal/either.d.ts.map +1 -0
- package/dist/dts/internal/encoding/base64.d.ts +2 -0
- package/dist/dts/internal/encoding/base64.d.ts.map +1 -0
- package/dist/dts/internal/encoding/base64Url.d.ts +2 -0
- package/dist/dts/internal/encoding/base64Url.d.ts.map +1 -0
- package/dist/dts/internal/encoding/common.d.ts +5 -0
- package/dist/dts/internal/encoding/common.d.ts.map +1 -0
- package/dist/dts/internal/encoding/hex.d.ts +2 -0
- package/dist/dts/internal/encoding/hex.d.ts.map +1 -0
- package/dist/dts/internal/errors.d.ts +5 -0
- package/dist/dts/internal/errors.d.ts.map +1 -0
- package/dist/dts/internal/executionPlan.d.ts +2 -0
- package/dist/dts/internal/executionPlan.d.ts.map +1 -0
- package/dist/dts/internal/executionStrategy.d.ts +2 -0
- package/dist/dts/internal/executionStrategy.d.ts.map +1 -0
- package/dist/dts/internal/fiber.d.ts +6 -0
- package/dist/dts/internal/fiber.d.ts.map +1 -0
- package/dist/dts/internal/fiberId.d.ts +2 -0
- package/dist/dts/internal/fiberId.d.ts.map +1 -0
- package/dist/dts/internal/fiberMessage.d.ts +2 -0
- package/dist/dts/internal/fiberMessage.d.ts.map +1 -0
- package/dist/dts/internal/fiberRefs/patch.d.ts +2 -0
- package/dist/dts/internal/fiberRefs/patch.d.ts.map +1 -0
- package/dist/dts/internal/fiberRefs.d.ts +2 -0
- package/dist/dts/internal/fiberRefs.d.ts.map +1 -0
- package/dist/dts/internal/fiberRuntime.d.ts +7 -0
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -0
- package/dist/dts/internal/fiberScope.d.ts +18 -0
- package/dist/dts/internal/fiberScope.d.ts.map +1 -0
- package/dist/dts/internal/fiberStatus.d.ts +2 -0
- package/dist/dts/internal/fiberStatus.d.ts.map +1 -0
- package/dist/dts/internal/groupBy.d.ts +2 -0
- package/dist/dts/internal/groupBy.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/array.d.ts +2 -0
- package/dist/dts/internal/hashMap/array.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/bitwise.d.ts +2 -0
- package/dist/dts/internal/hashMap/bitwise.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/config.d.ts +2 -0
- package/dist/dts/internal/hashMap/config.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/keySet.d.ts +2 -0
- package/dist/dts/internal/hashMap/keySet.d.ts.map +1 -0
- package/dist/dts/internal/hashMap/node.d.ts +2 -0
- package/dist/dts/internal/hashMap/node.d.ts.map +1 -0
- package/dist/dts/internal/hashMap.d.ts +9 -0
- package/dist/dts/internal/hashMap.d.ts.map +1 -0
- package/dist/dts/internal/hashSet.d.ts +2 -0
- package/dist/dts/internal/hashSet.d.ts.map +1 -0
- package/dist/dts/internal/keyedPool.d.ts +2 -0
- package/dist/dts/internal/keyedPool.d.ts.map +1 -0
- package/dist/dts/internal/layer/circular.d.ts +2 -0
- package/dist/dts/internal/layer/circular.d.ts.map +1 -0
- package/dist/dts/internal/layer.d.ts +16 -0
- package/dist/dts/internal/layer.d.ts.map +1 -0
- package/dist/dts/internal/logSpan.d.ts +2 -0
- package/dist/dts/internal/logSpan.d.ts.map +1 -0
- package/dist/dts/internal/logger-circular.d.ts +2 -0
- package/dist/dts/internal/logger-circular.d.ts.map +1 -0
- package/dist/dts/internal/logger.d.ts +2 -0
- package/dist/dts/internal/logger.d.ts.map +1 -0
- package/dist/dts/internal/mailbox.d.ts +2 -0
- package/dist/dts/internal/mailbox.d.ts.map +1 -0
- package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
- package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
- package/dist/dts/internal/managedRuntime.d.ts +2 -0
- package/dist/dts/internal/managedRuntime.d.ts.map +1 -0
- package/dist/dts/internal/matcher.d.ts +2 -0
- package/dist/dts/internal/matcher.d.ts.map +1 -0
- package/dist/dts/internal/metric/boundaries.d.ts +2 -0
- package/dist/dts/internal/metric/boundaries.d.ts.map +1 -0
- package/dist/dts/internal/metric/hook.d.ts +2 -0
- package/dist/dts/internal/metric/hook.d.ts.map +1 -0
- package/dist/dts/internal/metric/key.d.ts +2 -0
- package/dist/dts/internal/metric/key.d.ts.map +1 -0
- package/dist/dts/internal/metric/keyType.d.ts +2 -0
- package/dist/dts/internal/metric/keyType.d.ts.map +1 -0
- package/dist/dts/internal/metric/label.d.ts +2 -0
- package/dist/dts/internal/metric/label.d.ts.map +1 -0
- package/dist/dts/internal/metric/pair.d.ts +2 -0
- package/dist/dts/internal/metric/pair.d.ts.map +1 -0
- package/dist/dts/internal/metric/polling.d.ts +2 -0
- package/dist/dts/internal/metric/polling.d.ts.map +1 -0
- package/dist/dts/internal/metric/registry.d.ts +2 -0
- package/dist/dts/internal/metric/registry.d.ts.map +1 -0
- package/dist/dts/internal/metric/state.d.ts +22 -0
- package/dist/dts/internal/metric/state.d.ts.map +1 -0
- package/dist/dts/internal/metric.d.ts +2 -0
- package/dist/dts/internal/metric.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/cause.d.ts +2 -0
- package/dist/dts/internal/opCodes/cause.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channel.d.ts +2 -0
- package/dist/dts/internal/opCodes/channel.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelChildExecutorDecision.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelChildExecutorDecision.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelMergeDecision.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelMergeDecision.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelMergeState.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelMergeState.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelMergeStrategy.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelMergeStrategy.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelState.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelState.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelUpstreamPullRequest.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelUpstreamPullRequest.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/channelUpstreamPullStrategy.d.ts +2 -0
- package/dist/dts/internal/opCodes/channelUpstreamPullStrategy.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/config.d.ts +2 -0
- package/dist/dts/internal/opCodes/config.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/configError.d.ts +2 -0
- package/dist/dts/internal/opCodes/configError.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/continuation.d.ts +2 -0
- package/dist/dts/internal/opCodes/continuation.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/deferred.d.ts +2 -0
- package/dist/dts/internal/opCodes/deferred.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/effect.d.ts +2 -0
- package/dist/dts/internal/opCodes/effect.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/layer.d.ts +2 -0
- package/dist/dts/internal/opCodes/layer.d.ts.map +1 -0
- package/dist/dts/internal/opCodes/streamHaltStrategy.d.ts +2 -0
- package/dist/dts/internal/opCodes/streamHaltStrategy.d.ts.map +1 -0
- package/dist/dts/internal/option.d.ts +5 -0
- package/dist/dts/internal/option.d.ts.map +1 -0
- package/dist/dts/internal/pool.d.ts +2 -0
- package/dist/dts/internal/pool.d.ts.map +1 -0
- package/dist/dts/internal/pubsub.d.ts +2 -0
- package/dist/dts/internal/pubsub.d.ts.map +1 -0
- package/dist/dts/internal/query.d.ts +2 -0
- package/dist/dts/internal/query.d.ts.map +1 -0
- package/dist/dts/internal/queue.d.ts +2 -0
- package/dist/dts/internal/queue.d.ts.map +1 -0
- package/dist/dts/internal/random.d.ts +3 -0
- package/dist/dts/internal/random.d.ts.map +1 -0
- package/dist/dts/internal/rateLimiter.d.ts +2 -0
- package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
- package/dist/dts/internal/rcMap.d.ts +2 -0
- package/dist/dts/internal/rcMap.d.ts.map +1 -0
- package/dist/dts/internal/rcRef.d.ts +2 -0
- package/dist/dts/internal/rcRef.d.ts.map +1 -0
- package/dist/dts/internal/redBlackTree/iterator.d.ts +2 -0
- package/dist/dts/internal/redBlackTree/iterator.d.ts.map +1 -0
- package/dist/dts/internal/redBlackTree/node.d.ts +14 -0
- package/dist/dts/internal/redBlackTree/node.d.ts.map +1 -0
- package/dist/dts/internal/redBlackTree.d.ts +2 -0
- package/dist/dts/internal/redBlackTree.d.ts.map +1 -0
- package/dist/dts/internal/redacted.d.ts +2 -0
- package/dist/dts/internal/redacted.d.ts.map +1 -0
- package/dist/dts/internal/ref.d.ts +2 -0
- package/dist/dts/internal/ref.d.ts.map +1 -0
- package/dist/dts/internal/reloadable.d.ts +2 -0
- package/dist/dts/internal/reloadable.d.ts.map +1 -0
- package/dist/dts/internal/request.d.ts +2 -0
- package/dist/dts/internal/request.d.ts.map +1 -0
- package/dist/dts/internal/resource.d.ts +2 -0
- package/dist/dts/internal/resource.d.ts.map +1 -0
- package/dist/dts/internal/ringBuffer.d.ts +2 -0
- package/dist/dts/internal/ringBuffer.d.ts.map +1 -0
- package/dist/dts/internal/runtime.d.ts +2 -0
- package/dist/dts/internal/runtime.d.ts.map +1 -0
- package/dist/dts/internal/runtimeFlags.d.ts +3 -0
- package/dist/dts/internal/runtimeFlags.d.ts.map +1 -0
- package/dist/dts/internal/runtimeFlagsPatch.d.ts +2 -0
- package/dist/dts/internal/runtimeFlagsPatch.d.ts.map +1 -0
- package/dist/dts/internal/schedule/decision.d.ts +2 -0
- package/dist/dts/internal/schedule/decision.d.ts.map +1 -0
- package/dist/dts/internal/schedule/interval.d.ts +2 -0
- package/dist/dts/internal/schedule/interval.d.ts.map +1 -0
- package/dist/dts/internal/schedule/intervals.d.ts +2 -0
- package/dist/dts/internal/schedule/intervals.d.ts.map +1 -0
- package/dist/dts/internal/schedule.d.ts +2 -0
- package/dist/dts/internal/schedule.d.ts.map +1 -0
- package/dist/dts/internal/schema/errors.d.ts +2 -0
- package/dist/dts/internal/schema/errors.d.ts.map +1 -0
- package/dist/dts/internal/schema/schemaId.d.ts +2 -0
- package/dist/dts/internal/schema/schemaId.d.ts.map +1 -0
- package/dist/dts/internal/schema/util.d.ts +2 -0
- package/dist/dts/internal/schema/util.d.ts.map +1 -0
- package/dist/dts/internal/scopedCache.d.ts +2 -0
- package/dist/dts/internal/scopedCache.d.ts.map +1 -0
- package/dist/dts/internal/scopedRef.d.ts +2 -0
- package/dist/dts/internal/scopedRef.d.ts.map +1 -0
- package/dist/dts/internal/secret.d.ts +2 -0
- package/dist/dts/internal/secret.d.ts.map +1 -0
- package/dist/dts/internal/singleShotGen.d.ts +2 -0
- package/dist/dts/internal/singleShotGen.d.ts.map +1 -0
- package/dist/dts/internal/sink.d.ts +2 -0
- package/dist/dts/internal/sink.d.ts.map +1 -0
- package/dist/dts/internal/stack.d.ts +2 -0
- package/dist/dts/internal/stack.d.ts.map +1 -0
- package/dist/dts/internal/stm/core.d.ts +2 -0
- package/dist/dts/internal/stm/core.d.ts.map +1 -0
- package/dist/dts/internal/stm/entry.d.ts +2 -0
- package/dist/dts/internal/stm/entry.d.ts.map +1 -0
- package/dist/dts/internal/stm/journal.d.ts +2 -0
- package/dist/dts/internal/stm/journal.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/stm.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/stm.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/stmState.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/stmState.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/strategy.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/strategy.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/tExit.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/tExit.d.ts.map +1 -0
- package/dist/dts/internal/stm/opCodes/tryCommit.d.ts +2 -0
- package/dist/dts/internal/stm/opCodes/tryCommit.d.ts.map +1 -0
- package/dist/dts/internal/stm/stm.d.ts +7 -0
- package/dist/dts/internal/stm/stm.d.ts.map +1 -0
- package/dist/dts/internal/stm/stmState.d.ts +2 -0
- package/dist/dts/internal/stm/stmState.d.ts.map +1 -0
- package/dist/dts/internal/stm/tArray.d.ts +2 -0
- package/dist/dts/internal/stm/tArray.d.ts.map +1 -0
- package/dist/dts/internal/stm/tDeferred.d.ts +2 -0
- package/dist/dts/internal/stm/tDeferred.d.ts.map +1 -0
- package/dist/dts/internal/stm/tExit.d.ts +5 -0
- package/dist/dts/internal/stm/tExit.d.ts.map +1 -0
- package/dist/dts/internal/stm/tMap.d.ts +2 -0
- package/dist/dts/internal/stm/tMap.d.ts.map +1 -0
- package/dist/dts/internal/stm/tPriorityQueue.d.ts +2 -0
- package/dist/dts/internal/stm/tPriorityQueue.d.ts.map +1 -0
- package/dist/dts/internal/stm/tPubSub.d.ts +2 -0
- package/dist/dts/internal/stm/tPubSub.d.ts.map +1 -0
- package/dist/dts/internal/stm/tQueue.d.ts +2 -0
- package/dist/dts/internal/stm/tQueue.d.ts.map +1 -0
- package/dist/dts/internal/stm/tRandom.d.ts +2 -0
- package/dist/dts/internal/stm/tRandom.d.ts.map +1 -0
- package/dist/dts/internal/stm/tReentrantLock.d.ts +2 -0
- package/dist/dts/internal/stm/tReentrantLock.d.ts.map +1 -0
- package/dist/dts/internal/stm/tRef.d.ts +4 -0
- package/dist/dts/internal/stm/tRef.d.ts.map +1 -0
- package/dist/dts/internal/stm/tSemaphore.d.ts +2 -0
- package/dist/dts/internal/stm/tSemaphore.d.ts.map +1 -0
- package/dist/dts/internal/stm/tSet.d.ts +2 -0
- package/dist/dts/internal/stm/tSet.d.ts.map +1 -0
- package/dist/dts/internal/stm/tSubscriptionRef.d.ts +2 -0
- package/dist/dts/internal/stm/tSubscriptionRef.d.ts.map +1 -0
- package/dist/dts/internal/stm/tryCommit.d.ts +2 -0
- package/dist/dts/internal/stm/tryCommit.d.ts.map +1 -0
- package/dist/dts/internal/stm/txnId.d.ts +2 -0
- package/dist/dts/internal/stm/txnId.d.ts.map +1 -0
- package/dist/dts/internal/stm/versioned.d.ts +2 -0
- package/dist/dts/internal/stm/versioned.d.ts.map +1 -0
- package/dist/dts/internal/stream/debounceState.d.ts +4 -0
- package/dist/dts/internal/stream/debounceState.d.ts.map +1 -0
- package/dist/dts/internal/stream/emit.d.ts +2 -0
- package/dist/dts/internal/stream/emit.d.ts.map +1 -0
- package/dist/dts/internal/stream/haltStrategy.d.ts +2 -0
- package/dist/dts/internal/stream/haltStrategy.d.ts.map +1 -0
- package/dist/dts/internal/stream/handoff.d.ts +2 -0
- package/dist/dts/internal/stream/handoff.d.ts.map +1 -0
- package/dist/dts/internal/stream/handoffSignal.d.ts +6 -0
- package/dist/dts/internal/stream/handoffSignal.d.ts.map +1 -0
- package/dist/dts/internal/stream/pull.d.ts +2 -0
- package/dist/dts/internal/stream/pull.d.ts.map +1 -0
- package/dist/dts/internal/stream/sinkEndReason.d.ts +2 -0
- package/dist/dts/internal/stream/sinkEndReason.d.ts.map +1 -0
- package/dist/dts/internal/stream/zipAllState.d.ts +2 -0
- package/dist/dts/internal/stream/zipAllState.d.ts.map +1 -0
- package/dist/dts/internal/stream/zipChunksState.d.ts +2 -0
- package/dist/dts/internal/stream/zipChunksState.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts +29 -0
- package/dist/dts/internal/stream.d.ts.map +1 -0
- package/dist/dts/internal/string-utils.d.ts +7 -0
- package/dist/dts/internal/string-utils.d.ts.map +1 -0
- package/dist/dts/internal/subscriptionRef.d.ts +2 -0
- package/dist/dts/internal/subscriptionRef.d.ts.map +1 -0
- package/dist/dts/internal/supervisor/patch.d.ts +2 -0
- package/dist/dts/internal/supervisor/patch.d.ts.map +1 -0
- package/dist/dts/internal/supervisor.d.ts +2 -0
- package/dist/dts/internal/supervisor.d.ts.map +1 -0
- package/dist/dts/internal/synchronizedRef.d.ts +2 -0
- package/dist/dts/internal/synchronizedRef.d.ts.map +1 -0
- package/dist/dts/internal/take.d.ts +2 -0
- package/dist/dts/internal/take.d.ts.map +1 -0
- package/dist/dts/internal/testing/sleep.d.ts +2 -0
- package/dist/dts/internal/testing/sleep.d.ts.map +1 -0
- package/dist/dts/internal/testing/suspendedWarningData.d.ts +2 -0
- package/dist/dts/internal/testing/suspendedWarningData.d.ts.map +1 -0
- package/dist/dts/internal/testing/warningData.d.ts +2 -0
- package/dist/dts/internal/testing/warningData.d.ts.map +1 -0
- package/dist/dts/internal/tracer.d.ts +2 -0
- package/dist/dts/internal/tracer.d.ts.map +1 -0
- package/dist/dts/internal/trie.d.ts +2 -0
- package/dist/dts/internal/trie.d.ts.map +1 -0
- package/dist/dts/internal/version.d.ts +3 -0
- package/dist/dts/internal/version.d.ts.map +1 -0
- package/dist/esm/Arbitrary.js +798 -0
- package/dist/esm/Arbitrary.js.map +1 -0
- package/dist/esm/Array.js +2703 -0
- package/dist/esm/Array.js.map +1 -0
- package/dist/esm/BigDecimal.js +1087 -0
- package/dist/esm/BigDecimal.js.map +1 -0
- package/dist/esm/BigInt.js +548 -0
- package/dist/esm/BigInt.js.map +1 -0
- package/dist/esm/Boolean.js +240 -0
- package/dist/esm/Boolean.js.map +1 -0
- package/dist/esm/Brand.js +161 -0
- package/dist/esm/Brand.js.map +1 -0
- package/dist/esm/Cache.js +43 -0
- package/dist/esm/Cache.js.map +1 -0
- package/dist/esm/Cause.js +1004 -0
- package/dist/esm/Cause.js.map +1 -0
- package/dist/esm/Channel.js +887 -0
- package/dist/esm/Channel.js.map +1 -0
- package/dist/esm/ChildExecutorDecision.js +64 -0
- package/dist/esm/ChildExecutorDecision.js.map +1 -0
- package/dist/esm/Chunk.js +1083 -0
- package/dist/esm/Chunk.js.map +1 -0
- package/dist/esm/Clock.js +38 -0
- package/dist/esm/Clock.js.map +1 -0
- package/dist/esm/Config.js +321 -0
- package/dist/esm/Config.js.map +1 -0
- package/dist/esm/ConfigError.js +107 -0
- package/dist/esm/ConfigError.js.map +1 -0
- package/dist/esm/ConfigProvider.js +166 -0
- package/dist/esm/ConfigProvider.js.map +1 -0
- package/dist/esm/ConfigProviderPathPatch.js +30 -0
- package/dist/esm/ConfigProviderPathPatch.js.map +1 -0
- package/dist/esm/Console.js +118 -0
- package/dist/esm/Console.js.map +1 -0
- package/dist/esm/Context.js +360 -0
- package/dist/esm/Context.js.map +1 -0
- package/dist/esm/Cron.js +566 -0
- package/dist/esm/Cron.js.map +1 -0
- package/dist/esm/Data.js +305 -0
- package/dist/esm/Data.js.map +1 -0
- package/dist/esm/DateTime.js +1071 -0
- package/dist/esm/DateTime.js.map +1 -0
- package/dist/esm/DefaultServices.js +12 -0
- package/dist/esm/DefaultServices.js.map +1 -0
- package/dist/esm/Deferred.js +169 -0
- package/dist/esm/Deferred.js.map +1 -0
- package/dist/esm/Differ.js +132 -0
- package/dist/esm/Differ.js.map +1 -0
- package/dist/esm/Duration.js +702 -0
- package/dist/esm/Duration.js.map +1 -0
- package/dist/esm/Effect.js +10883 -0
- package/dist/esm/Effect.js.map +1 -0
- package/dist/esm/Effectable.js +49 -0
- package/dist/esm/Effectable.js.map +1 -0
- package/dist/esm/Either.js +688 -0
- package/dist/esm/Either.js.map +1 -0
- package/dist/esm/Encoding.js +136 -0
- package/dist/esm/Encoding.js.map +1 -0
- package/dist/esm/Equal.js +71 -0
- package/dist/esm/Equal.js.map +1 -0
- package/dist/esm/Equivalence.js +166 -0
- package/dist/esm/Equivalence.js.map +1 -0
- package/dist/esm/ExecutionPlan.js +99 -0
- package/dist/esm/ExecutionPlan.js.map +1 -0
- package/dist/esm/ExecutionStrategy.js +55 -0
- package/dist/esm/ExecutionStrategy.js.map +1 -0
- package/dist/esm/Exit.js +257 -0
- package/dist/esm/Exit.js.map +1 -0
- package/dist/esm/FastCheck.js +9 -0
- package/dist/esm/FastCheck.js.map +1 -0
- package/dist/esm/Fiber.js +350 -0
- package/dist/esm/Fiber.js.map +1 -0
- package/dist/esm/FiberHandle.js +316 -0
- package/dist/esm/FiberHandle.js.map +1 -0
- package/dist/esm/FiberId.js +115 -0
- package/dist/esm/FiberId.js.map +1 -0
- package/dist/esm/FiberMap.js +356 -0
- package/dist/esm/FiberMap.js.map +1 -0
- package/dist/esm/FiberRef.js +242 -0
- package/dist/esm/FiberRef.js.map +1 -0
- package/dist/esm/FiberRefs.js +92 -0
- package/dist/esm/FiberRefs.js.map +1 -0
- package/dist/esm/FiberRefsPatch.js +32 -0
- package/dist/esm/FiberRefsPatch.js.map +1 -0
- package/dist/esm/FiberSet.js +289 -0
- package/dist/esm/FiberSet.js.map +1 -0
- package/dist/esm/FiberStatus.js +52 -0
- package/dist/esm/FiberStatus.js.map +1 -0
- package/dist/esm/Function.js +467 -0
- package/dist/esm/Function.js.map +1 -0
- package/dist/esm/GlobalValue.js +52 -0
- package/dist/esm/GlobalValue.js.map +1 -0
- package/dist/esm/Graph.js +3019 -0
- package/dist/esm/Graph.js.map +1 -0
- package/dist/esm/GroupBy.js +39 -0
- package/dist/esm/GroupBy.js.map +1 -0
- package/dist/esm/HKT.js +2 -0
- package/dist/esm/HKT.js.map +1 -0
- package/dist/esm/Hash.js +166 -0
- package/dist/esm/Hash.js.map +1 -0
- package/dist/esm/HashMap.js +312 -0
- package/dist/esm/HashMap.js.map +1 -0
- package/dist/esm/HashRing.js +245 -0
- package/dist/esm/HashRing.js.map +1 -0
- package/dist/esm/HashSet.js +1253 -0
- package/dist/esm/HashSet.js.map +1 -0
- package/dist/esm/Inspectable.js +194 -0
- package/dist/esm/Inspectable.js.map +1 -0
- package/dist/esm/Iterable.js +987 -0
- package/dist/esm/Iterable.js.map +1 -0
- package/dist/esm/JSONSchema.js +715 -0
- package/dist/esm/JSONSchema.js.map +1 -0
- package/dist/esm/KeyedPool.js +76 -0
- package/dist/esm/KeyedPool.js.map +1 -0
- package/dist/esm/Layer.js +642 -0
- package/dist/esm/Layer.js.map +1 -0
- package/dist/esm/LayerMap.js +202 -0
- package/dist/esm/LayerMap.js.map +1 -0
- package/dist/esm/List.js +756 -0
- package/dist/esm/List.js.map +1 -0
- package/dist/esm/LogLevel.js +135 -0
- package/dist/esm/LogLevel.js.map +1 -0
- package/dist/esm/LogSpan.js +15 -0
- package/dist/esm/LogSpan.js.map +1 -0
- package/dist/esm/Logger.js +490 -0
- package/dist/esm/Logger.js.map +1 -0
- package/dist/esm/Mailbox.js +96 -0
- package/dist/esm/Mailbox.js.map +1 -0
- package/dist/esm/ManagedRuntime.js +42 -0
- package/dist/esm/ManagedRuntime.js.map +1 -0
- package/dist/esm/Match.js +828 -0
- package/dist/esm/Match.js.map +1 -0
- package/dist/esm/MergeDecision.js +35 -0
- package/dist/esm/MergeDecision.js.map +1 -0
- package/dist/esm/MergeState.js +58 -0
- package/dist/esm/MergeState.js.map +1 -0
- package/dist/esm/MergeStrategy.js +51 -0
- package/dist/esm/MergeStrategy.js.map +1 -0
- package/dist/esm/Metric.js +408 -0
- package/dist/esm/Metric.js.map +1 -0
- package/dist/esm/MetricBoundaries.js +33 -0
- package/dist/esm/MetricBoundaries.js.map +1 -0
- package/dist/esm/MetricHook.js +47 -0
- package/dist/esm/MetricHook.js.map +1 -0
- package/dist/esm/MetricKey.js +63 -0
- package/dist/esm/MetricKey.js.map +1 -0
- package/dist/esm/MetricKeyType.js +87 -0
- package/dist/esm/MetricKeyType.js.map +1 -0
- package/dist/esm/MetricLabel.js +17 -0
- package/dist/esm/MetricLabel.js.map +1 -0
- package/dist/esm/MetricPair.js +20 -0
- package/dist/esm/MetricPair.js.map +1 -0
- package/dist/esm/MetricPolling.js +59 -0
- package/dist/esm/MetricPolling.js.map +1 -0
- package/dist/esm/MetricRegistry.js +15 -0
- package/dist/esm/MetricRegistry.js.map +1 -0
- package/dist/esm/MetricState.js +87 -0
- package/dist/esm/MetricState.js.map +1 -0
- package/dist/esm/Micro.js +2528 -0
- package/dist/esm/Micro.js.map +1 -0
- package/dist/esm/ModuleVersion.js +17 -0
- package/dist/esm/ModuleVersion.js.map +1 -0
- package/dist/esm/MutableHashMap.js +299 -0
- package/dist/esm/MutableHashMap.js.map +1 -0
- package/dist/esm/MutableHashSet.js +511 -0
- package/dist/esm/MutableHashSet.js.map +1 -0
- package/dist/esm/MutableList.js +240 -0
- package/dist/esm/MutableList.js.map +1 -0
- package/dist/esm/MutableQueue.js +159 -0
- package/dist/esm/MutableQueue.js.map +1 -0
- package/dist/esm/MutableRef.js +127 -0
- package/dist/esm/MutableRef.js.map +1 -0
- package/dist/esm/NonEmptyIterable.js +16 -0
- package/dist/esm/NonEmptyIterable.js.map +1 -0
- package/dist/esm/Number.js +887 -0
- package/dist/esm/Number.js.map +1 -0
- package/dist/esm/Option.js +1785 -0
- package/dist/esm/Option.js.map +1 -0
- package/dist/esm/Order.js +252 -0
- package/dist/esm/Order.js.map +1 -0
- package/dist/esm/Ordering.js +72 -0
- package/dist/esm/Ordering.js.map +1 -0
- package/dist/esm/ParseResult.js +1556 -0
- package/dist/esm/ParseResult.js.map +1 -0
- package/dist/esm/PartitionedSemaphore.js +137 -0
- package/dist/esm/PartitionedSemaphore.js.map +1 -0
- package/dist/esm/Pipeable.js +62 -0
- package/dist/esm/Pipeable.js.map +1 -0
- package/dist/esm/Pool.js +100 -0
- package/dist/esm/Pool.js.map +1 -0
- package/dist/esm/Predicate.js +1117 -0
- package/dist/esm/Predicate.js.map +1 -0
- package/dist/esm/Pretty.js +174 -0
- package/dist/esm/Pretty.js.map +1 -0
- package/dist/esm/PrimaryKey.js +14 -0
- package/dist/esm/PrimaryKey.js.map +1 -0
- package/dist/esm/PubSub.js +120 -0
- package/dist/esm/PubSub.js.map +1 -0
- package/dist/esm/Queue.js +248 -0
- package/dist/esm/Queue.js.map +1 -0
- package/dist/esm/Random.js +138 -0
- package/dist/esm/Random.js.map +1 -0
- package/dist/esm/RateLimiter.js +77 -0
- package/dist/esm/RateLimiter.js.map +1 -0
- package/dist/esm/RcMap.js +69 -0
- package/dist/esm/RcMap.js.map +1 -0
- package/dist/esm/RcRef.js +51 -0
- package/dist/esm/RcRef.js.map +1 -0
- package/dist/esm/Readable.js +45 -0
- package/dist/esm/Readable.js.map +1 -0
- package/dist/esm/Record.js +846 -0
- package/dist/esm/Record.js.map +1 -0
- package/dist/esm/RedBlackTree.js +259 -0
- package/dist/esm/RedBlackTree.js.map +1 -0
- package/dist/esm/Redacted.js +93 -0
- package/dist/esm/Redacted.js.map +1 -0
- package/dist/esm/Ref.js +77 -0
- package/dist/esm/Ref.js.map +1 -0
- package/dist/esm/RegExp.js +37 -0
- package/dist/esm/RegExp.js.map +1 -0
- package/dist/esm/Reloadable.js +59 -0
- package/dist/esm/Reloadable.js.map +1 -0
- package/dist/esm/Request.js +140 -0
- package/dist/esm/Request.js.map +1 -0
- package/dist/esm/RequestBlock.js +35 -0
- package/dist/esm/RequestBlock.js.map +1 -0
- package/dist/esm/RequestResolver.js +175 -0
- package/dist/esm/RequestResolver.js.map +1 -0
- package/dist/esm/Resource.js +44 -0
- package/dist/esm/Resource.js.map +1 -0
- package/dist/esm/Runtime.js +181 -0
- package/dist/esm/Runtime.js.map +1 -0
- package/dist/esm/RuntimeFlags.js +251 -0
- package/dist/esm/RuntimeFlags.js.map +1 -0
- package/dist/esm/RuntimeFlagsPatch.js +134 -0
- package/dist/esm/RuntimeFlagsPatch.js.map +1 -0
- package/dist/esm/STM.js +1002 -0
- package/dist/esm/STM.js.map +1 -0
- package/dist/esm/Schedule.js +1595 -0
- package/dist/esm/Schedule.js.map +1 -0
- package/dist/esm/ScheduleDecision.js +32 -0
- package/dist/esm/ScheduleDecision.js.map +1 -0
- package/dist/esm/ScheduleInterval.js +100 -0
- package/dist/esm/ScheduleInterval.js.map +1 -0
- package/dist/esm/ScheduleIntervals.js +78 -0
- package/dist/esm/ScheduleIntervals.js.map +1 -0
- package/dist/esm/Scheduler.js +289 -0
- package/dist/esm/Scheduler.js.map +1 -0
- package/dist/esm/Schema.js +6035 -0
- package/dist/esm/Schema.js.map +1 -0
- package/dist/esm/SchemaAST.js +2485 -0
- package/dist/esm/SchemaAST.js.map +1 -0
- package/dist/esm/Scope.js +94 -0
- package/dist/esm/Scope.js.map +1 -0
- package/dist/esm/ScopedCache.js +24 -0
- package/dist/esm/ScopedCache.js.map +1 -0
- package/dist/esm/ScopedRef.js +42 -0
- package/dist/esm/ScopedRef.js.map +1 -0
- package/dist/esm/Secret.js +44 -0
- package/dist/esm/Secret.js.map +1 -0
- package/dist/esm/SingleProducerAsyncInput.js +7 -0
- package/dist/esm/SingleProducerAsyncInput.js.map +1 -0
- package/dist/esm/Sink.js +864 -0
- package/dist/esm/Sink.js.map +1 -0
- package/dist/esm/SortedMap.js +169 -0
- package/dist/esm/SortedMap.js.map +1 -0
- package/dist/esm/SortedSet.js +237 -0
- package/dist/esm/SortedSet.js.map +1 -0
- package/dist/esm/Stream.js +4192 -0
- package/dist/esm/Stream.js.map +1 -0
- package/dist/esm/StreamEmit.js +2 -0
- package/dist/esm/StreamEmit.js.map +1 -0
- package/dist/esm/StreamHaltStrategy.js +57 -0
- package/dist/esm/StreamHaltStrategy.js.map +1 -0
- package/dist/esm/Streamable.js +36 -0
- package/dist/esm/Streamable.js.map +1 -0
- package/dist/esm/String.js +635 -0
- package/dist/esm/String.js.map +1 -0
- package/dist/esm/Struct.js +191 -0
- package/dist/esm/Struct.js.map +1 -0
- package/dist/esm/Subscribable.js +56 -0
- package/dist/esm/Subscribable.js.map +1 -0
- package/dist/esm/SubscriptionRef.js +116 -0
- package/dist/esm/SubscriptionRef.js.map +1 -0
- package/dist/esm/Supervisor.js +107 -0
- package/dist/esm/Supervisor.js.map +1 -0
- package/dist/esm/Symbol.js +27 -0
- package/dist/esm/Symbol.js.map +1 -0
- package/dist/esm/SynchronizedRef.js +119 -0
- package/dist/esm/SynchronizedRef.js.map +1 -0
- package/dist/esm/TArray.js +306 -0
- package/dist/esm/TArray.js.map +1 -0
- package/dist/esm/TDeferred.js +39 -0
- package/dist/esm/TDeferred.js.map +1 -0
- package/dist/esm/TMap.js +279 -0
- package/dist/esm/TMap.js.map +1 -0
- package/dist/esm/TPriorityQueue.js +136 -0
- package/dist/esm/TPriorityQueue.js.map +1 -0
- package/dist/esm/TPubSub.js +131 -0
- package/dist/esm/TPubSub.js.map +1 -0
- package/dist/esm/TQueue.js +229 -0
- package/dist/esm/TQueue.js.map +1 -0
- package/dist/esm/TRandom.js +65 -0
- package/dist/esm/TRandom.js.map +1 -0
- package/dist/esm/TReentrantLock.js +142 -0
- package/dist/esm/TReentrantLock.js.map +1 -0
- package/dist/esm/TRef.js +75 -0
- package/dist/esm/TRef.js.map +1 -0
- package/dist/esm/TSemaphore.js +65 -0
- package/dist/esm/TSemaphore.js.map +1 -0
- package/dist/esm/TSet.js +201 -0
- package/dist/esm/TSet.js.map +1 -0
- package/dist/esm/TSubscriptionRef.js +87 -0
- package/dist/esm/TSubscriptionRef.js.map +1 -0
- package/dist/esm/Take.js +148 -0
- package/dist/esm/Take.js.map +1 -0
- package/dist/esm/TestAnnotation.js +94 -0
- package/dist/esm/TestAnnotation.js.map +1 -0
- package/dist/esm/TestAnnotationMap.js +80 -0
- package/dist/esm/TestAnnotationMap.js.map +1 -0
- package/dist/esm/TestAnnotations.js +61 -0
- package/dist/esm/TestAnnotations.js.map +1 -0
- package/dist/esm/TestClock.js +354 -0
- package/dist/esm/TestClock.js.map +1 -0
- package/dist/esm/TestConfig.js +13 -0
- package/dist/esm/TestConfig.js.map +1 -0
- package/dist/esm/TestContext.js +21 -0
- package/dist/esm/TestContext.js.map +1 -0
- package/dist/esm/TestLive.js +30 -0
- package/dist/esm/TestLive.js.map +1 -0
- package/dist/esm/TestServices.js +230 -0
- package/dist/esm/TestServices.js.map +1 -0
- package/dist/esm/TestSized.js +36 -0
- package/dist/esm/TestSized.js.map +1 -0
- package/dist/esm/Tracer.js +37 -0
- package/dist/esm/Tracer.js.map +1 -0
- package/dist/esm/Trie.js +716 -0
- package/dist/esm/Trie.js.map +1 -0
- package/dist/esm/Tuple.js +235 -0
- package/dist/esm/Tuple.js.map +1 -0
- package/dist/esm/Types.js +7 -0
- package/dist/esm/Types.js.map +1 -0
- package/dist/esm/Unify.js +9 -0
- package/dist/esm/Unify.js.map +1 -0
- package/dist/esm/UpstreamPullRequest.js +51 -0
- package/dist/esm/UpstreamPullRequest.js.map +1 -0
- package/dist/esm/UpstreamPullStrategy.js +51 -0
- package/dist/esm/UpstreamPullStrategy.js.map +1 -0
- package/dist/esm/Utils.js +357 -0
- package/dist/esm/Utils.js.map +1 -0
- package/dist/esm/index.js +1385 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/array.js +6 -0
- package/dist/esm/internal/array.js.map +1 -0
- package/dist/esm/internal/blockedRequests.js +341 -0
- package/dist/esm/internal/blockedRequests.js.map +1 -0
- package/dist/esm/internal/cache.js +480 -0
- package/dist/esm/internal/cache.js.map +1 -0
- package/dist/esm/internal/cause.js +824 -0
- package/dist/esm/internal/cause.js.map +1 -0
- package/dist/esm/internal/channel/channelExecutor.js +688 -0
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -0
- package/dist/esm/internal/channel/channelState.js +59 -0
- package/dist/esm/internal/channel/channelState.js.map +1 -0
- package/dist/esm/internal/channel/childExecutorDecision.js +60 -0
- package/dist/esm/internal/channel/childExecutorDecision.js.map +1 -0
- package/dist/esm/internal/channel/continuation.js +48 -0
- package/dist/esm/internal/channel/continuation.js.map +1 -0
- package/dist/esm/internal/channel/mergeDecision.js +49 -0
- package/dist/esm/internal/channel/mergeDecision.js.map +1 -0
- package/dist/esm/internal/channel/mergeState.js +69 -0
- package/dist/esm/internal/channel/mergeState.js.map +1 -0
- package/dist/esm/internal/channel/mergeStrategy.js +46 -0
- package/dist/esm/internal/channel/mergeStrategy.js.map +1 -0
- package/dist/esm/internal/channel/singleProducerAsyncInput.js +163 -0
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -0
- package/dist/esm/internal/channel/subexecutor.js +152 -0
- package/dist/esm/internal/channel/subexecutor.js.map +1 -0
- package/dist/esm/internal/channel/upstreamPullRequest.js +52 -0
- package/dist/esm/internal/channel/upstreamPullRequest.js.map +1 -0
- package/dist/esm/internal/channel/upstreamPullStrategy.js +52 -0
- package/dist/esm/internal/channel/upstreamPullStrategy.js.map +1 -0
- package/dist/esm/internal/channel.js +683 -0
- package/dist/esm/internal/channel.js.map +1 -0
- package/dist/esm/internal/clock.js +77 -0
- package/dist/esm/internal/clock.js.map +1 -0
- package/dist/esm/internal/completedRequestMap.js +5 -0
- package/dist/esm/internal/completedRequestMap.js.map +1 -0
- package/dist/esm/internal/concurrency.js +28 -0
- package/dist/esm/internal/concurrency.js.map +1 -0
- package/dist/esm/internal/config.js +363 -0
- package/dist/esm/internal/config.js.map +1 -0
- package/dist/esm/internal/configError.js +263 -0
- package/dist/esm/internal/configError.js.map +1 -0
- package/dist/esm/internal/configProvider/pathPatch.js +76 -0
- package/dist/esm/internal/configProvider/pathPatch.js.map +1 -0
- package/dist/esm/internal/configProvider.js +425 -0
- package/dist/esm/internal/configProvider.js.map +1 -0
- package/dist/esm/internal/console.js +54 -0
- package/dist/esm/internal/console.js.map +1 -0
- package/dist/esm/internal/context.js +253 -0
- package/dist/esm/internal/context.js.map +1 -0
- package/dist/esm/internal/core-effect.js +811 -0
- package/dist/esm/internal/core-effect.js.map +1 -0
- package/dist/esm/internal/core-stream.js +236 -0
- package/dist/esm/internal/core-stream.js.map +1 -0
- package/dist/esm/internal/core.js +1610 -0
- package/dist/esm/internal/core.js.map +1 -0
- package/dist/esm/internal/data.js +29 -0
- package/dist/esm/internal/data.js.map +1 -0
- package/dist/esm/internal/dataSource.js +93 -0
- package/dist/esm/internal/dataSource.js.map +1 -0
- package/dist/esm/internal/dateTime.js +796 -0
- package/dist/esm/internal/dateTime.js.map +1 -0
- package/dist/esm/internal/defaultServices/console.js +92 -0
- package/dist/esm/internal/defaultServices/console.js.map +1 -0
- package/dist/esm/internal/defaultServices.js +73 -0
- package/dist/esm/internal/defaultServices.js.map +1 -0
- package/dist/esm/internal/deferred.js +27 -0
- package/dist/esm/internal/deferred.js.map +1 -0
- package/dist/esm/internal/differ/chunkPatch.js +130 -0
- package/dist/esm/internal/differ/chunkPatch.js.map +1 -0
- package/dist/esm/internal/differ/contextPatch.js +143 -0
- package/dist/esm/internal/differ/contextPatch.js.map +1 -0
- package/dist/esm/internal/differ/hashMapPatch.js +130 -0
- package/dist/esm/internal/differ/hashMapPatch.js.map +1 -0
- package/dist/esm/internal/differ/hashSetPatch.js +101 -0
- package/dist/esm/internal/differ/hashSetPatch.js.map +1 -0
- package/dist/esm/internal/differ/orPatch.js +170 -0
- package/dist/esm/internal/differ/orPatch.js.map +1 -0
- package/dist/esm/internal/differ/readonlyArrayPatch.js +129 -0
- package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -0
- package/dist/esm/internal/differ.js +134 -0
- package/dist/esm/internal/differ.js.map +1 -0
- package/dist/esm/internal/doNotation.js +16 -0
- package/dist/esm/internal/doNotation.js.map +1 -0
- package/dist/esm/internal/effect/circular.js +402 -0
- package/dist/esm/internal/effect/circular.js.map +1 -0
- package/dist/esm/internal/effectable.js +113 -0
- package/dist/esm/internal/effectable.js.map +1 -0
- package/dist/esm/internal/either.js +85 -0
- package/dist/esm/internal/either.js.map +1 -0
- package/dist/esm/internal/encoding/base64.js +71 -0
- package/dist/esm/internal/encoding/base64.js.map +1 -0
- package/dist/esm/internal/encoding/base64Url.js +21 -0
- package/dist/esm/internal/encoding/base64Url.js.map +1 -0
- package/dist/esm/internal/encoding/common.js +38 -0
- package/dist/esm/internal/encoding/common.js.map +1 -0
- package/dist/esm/internal/encoding/hex.js +48 -0
- package/dist/esm/internal/encoding/hex.js.map +1 -0
- package/dist/esm/internal/errors.js +6 -0
- package/dist/esm/internal/errors.js.map +1 -0
- package/dist/esm/internal/executionPlan.js +59 -0
- package/dist/esm/internal/executionPlan.js.map +1 -0
- package/dist/esm/internal/executionStrategy.js +44 -0
- package/dist/esm/internal/executionStrategy.js.map +1 -0
- package/dist/esm/internal/fiber.js +253 -0
- package/dist/esm/internal/fiber.js.map +1 -0
- package/dist/esm/internal/fiberId.js +219 -0
- package/dist/esm/internal/fiberId.js.map +1 -0
- package/dist/esm/internal/fiberMessage.js +28 -0
- package/dist/esm/internal/fiberMessage.js.map +1 -0
- package/dist/esm/internal/fiberRefs/patch.js +107 -0
- package/dist/esm/internal/fiberRefs/patch.js.map +1 -0
- package/dist/esm/internal/fiberRefs.js +189 -0
- package/dist/esm/internal/fiberRefs.js.map +1 -0
- package/dist/esm/internal/fiberRuntime.js +2148 -0
- package/dist/esm/internal/fiberRuntime.js.map +1 -0
- package/dist/esm/internal/fiberScope.js +44 -0
- package/dist/esm/internal/fiberScope.js.map +1 -0
- package/dist/esm/internal/fiberStatus.js +72 -0
- package/dist/esm/internal/fiberStatus.js.map +1 -0
- package/dist/esm/internal/groupBy.js +213 -0
- package/dist/esm/internal/groupBy.js.map +1 -0
- package/dist/esm/internal/hashMap/array.js +48 -0
- package/dist/esm/internal/hashMap/array.js.map +1 -0
- package/dist/esm/internal/hashMap/bitwise.js +29 -0
- package/dist/esm/internal/hashMap/bitwise.js.map +1 -0
- package/dist/esm/internal/hashMap/config.js +11 -0
- package/dist/esm/internal/hashMap/config.js.map +1 -0
- package/dist/esm/internal/hashMap/keySet.js +6 -0
- package/dist/esm/internal/hashMap/keySet.js.map +1 -0
- package/dist/esm/internal/hashMap/node.js +253 -0
- package/dist/esm/internal/hashMap/node.js.map +1 -0
- package/dist/esm/internal/hashMap.js +360 -0
- package/dist/esm/internal/hashMap.js.map +1 -0
- package/dist/esm/internal/hashSet.js +182 -0
- package/dist/esm/internal/hashSet.js.map +1 -0
- package/dist/esm/internal/keyedPool.js +159 -0
- package/dist/esm/internal/keyedPool.js.map +1 -0
- package/dist/esm/internal/layer/circular.js +63 -0
- package/dist/esm/internal/layer/circular.js.map +1 -0
- package/dist/esm/internal/layer.js +552 -0
- package/dist/esm/internal/layer.js.map +1 -0
- package/dist/esm/internal/logSpan.js +17 -0
- package/dist/esm/internal/logSpan.js.map +1 -0
- package/dist/esm/internal/logger-circular.js +19 -0
- package/dist/esm/internal/logger-circular.js.map +1 -0
- package/dist/esm/internal/logger.js +367 -0
- package/dist/esm/internal/logger.js.map +1 -0
- package/dist/esm/internal/mailbox.js +450 -0
- package/dist/esm/internal/mailbox.js.map +1 -0
- package/dist/esm/internal/managedRuntime/circular.js +4 -0
- package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
- package/dist/esm/internal/managedRuntime.js +86 -0
- package/dist/esm/internal/managedRuntime.js.map +1 -0
- package/dist/esm/internal/matcher.js +291 -0
- package/dist/esm/internal/matcher.js.map +1 -0
- package/dist/esm/internal/metric/boundaries.js +42 -0
- package/dist/esm/internal/metric/boundaries.js.map +1 -0
- package/dist/esm/internal/metric/hook.js +375 -0
- package/dist/esm/internal/metric/hook.js.map +1 -0
- package/dist/esm/internal/metric/key.js +60 -0
- package/dist/esm/internal/metric/key.js.map +1 -0
- package/dist/esm/internal/metric/keyType.js +169 -0
- package/dist/esm/internal/metric/keyType.js.map +1 -0
- package/dist/esm/internal/metric/label.js +36 -0
- package/dist/esm/internal/metric/label.js.map +1 -0
- package/dist/esm/internal/metric/pair.js +32 -0
- package/dist/esm/internal/metric/pair.js.map +1 -0
- package/dist/esm/internal/metric/polling.js +69 -0
- package/dist/esm/internal/metric/polling.js.map +1 -0
- package/dist/esm/internal/metric/registry.js +105 -0
- package/dist/esm/internal/metric/registry.js.map +1 -0
- package/dist/esm/internal/metric/state.js +181 -0
- package/dist/esm/internal/metric/state.js.map +1 -0
- package/dist/esm/internal/metric.js +181 -0
- package/dist/esm/internal/metric.js.map +1 -0
- package/dist/esm/internal/opCodes/cause.js +13 -0
- package/dist/esm/internal/opCodes/cause.js.map +1 -0
- package/dist/esm/internal/opCodes/channel.js +29 -0
- package/dist/esm/internal/opCodes/channel.js.map +1 -0
- package/dist/esm/internal/opCodes/channelChildExecutorDecision.js +7 -0
- package/dist/esm/internal/opCodes/channelChildExecutorDecision.js.map +1 -0
- package/dist/esm/internal/opCodes/channelMergeDecision.js +5 -0
- package/dist/esm/internal/opCodes/channelMergeDecision.js.map +1 -0
- package/dist/esm/internal/opCodes/channelMergeState.js +7 -0
- package/dist/esm/internal/opCodes/channelMergeState.js.map +1 -0
- package/dist/esm/internal/opCodes/channelMergeStrategy.js +5 -0
- package/dist/esm/internal/opCodes/channelMergeStrategy.js.map +1 -0
- package/dist/esm/internal/opCodes/channelState.js +9 -0
- package/dist/esm/internal/opCodes/channelState.js.map +1 -0
- package/dist/esm/internal/opCodes/channelUpstreamPullRequest.js +5 -0
- package/dist/esm/internal/opCodes/channelUpstreamPullRequest.js.map +1 -0
- package/dist/esm/internal/opCodes/channelUpstreamPullStrategy.js +5 -0
- package/dist/esm/internal/opCodes/channelUpstreamPullStrategy.js.map +1 -0
- package/dist/esm/internal/opCodes/config.js +23 -0
- package/dist/esm/internal/opCodes/config.js.map +1 -0
- package/dist/esm/internal/opCodes/configError.js +13 -0
- package/dist/esm/internal/opCodes/configError.js.map +1 -0
- package/dist/esm/internal/opCodes/continuation.js +5 -0
- package/dist/esm/internal/opCodes/continuation.js.map +1 -0
- package/dist/esm/internal/opCodes/deferred.js +5 -0
- package/dist/esm/internal/opCodes/deferred.js.map +1 -0
- package/dist/esm/internal/opCodes/effect.js +31 -0
- package/dist/esm/internal/opCodes/effect.js.map +1 -0
- package/dist/esm/internal/opCodes/layer.js +21 -0
- package/dist/esm/internal/opCodes/layer.js.map +1 -0
- package/dist/esm/internal/opCodes/streamHaltStrategy.js +9 -0
- package/dist/esm/internal/opCodes/streamHaltStrategy.js.map +1 -0
- package/dist/esm/internal/option.js +70 -0
- package/dist/esm/internal/option.js.map +1 -0
- package/dist/esm/internal/pool.js +276 -0
- package/dist/esm/internal/pool.js.map +1 -0
- package/dist/esm/internal/pubsub.js +1263 -0
- package/dist/esm/internal/pubsub.js.map +1 -0
- package/dist/esm/internal/query.js +93 -0
- package/dist/esm/internal/query.js.map +1 -0
- package/dist/esm/internal/queue.js +486 -0
- package/dist/esm/internal/queue.js.map +1 -0
- package/dist/esm/internal/random.js +119 -0
- package/dist/esm/internal/random.js.map +1 -0
- package/dist/esm/internal/rateLimiter.js +43 -0
- package/dist/esm/internal/rateLimiter.js.map +1 -0
- package/dist/esm/internal/rcMap.js +173 -0
- package/dist/esm/internal/rcMap.js.map +1 -0
- package/dist/esm/internal/rcRef.js +129 -0
- package/dist/esm/internal/rcRef.js.map +1 -0
- package/dist/esm/internal/redBlackTree/iterator.js +191 -0
- package/dist/esm/internal/redBlackTree/iterator.js.map +1 -0
- package/dist/esm/internal/redBlackTree/node.js +50 -0
- package/dist/esm/internal/redBlackTree/node.js.map +1 -0
- package/dist/esm/internal/redBlackTree.js +1069 -0
- package/dist/esm/internal/redBlackTree.js.map +1 -0
- package/dist/esm/internal/redacted.js +56 -0
- package/dist/esm/internal/redacted.js.map +1 -0
- package/dist/esm/internal/ref.js +110 -0
- package/dist/esm/internal/ref.js.map +1 -0
- package/dist/esm/internal/reloadable.js +42 -0
- package/dist/esm/internal/reloadable.js.map +1 -0
- package/dist/esm/internal/request.js +91 -0
- package/dist/esm/internal/request.js.map +1 -0
- package/dist/esm/internal/resource.js +38 -0
- package/dist/esm/internal/resource.js.map +1 -0
- package/dist/esm/internal/ringBuffer.js +56 -0
- package/dist/esm/internal/ringBuffer.js.map +1 -0
- package/dist/esm/internal/runtime.js +307 -0
- package/dist/esm/internal/runtime.js.map +1 -0
- package/dist/esm/internal/runtimeFlags.js +107 -0
- package/dist/esm/internal/runtimeFlags.js.map +1 -0
- package/dist/esm/internal/runtimeFlagsPatch.js +38 -0
- package/dist/esm/internal/runtimeFlagsPatch.js.map +1 -0
- package/dist/esm/internal/schedule/decision.js +33 -0
- package/dist/esm/internal/schedule/decision.js.map +1 -0
- package/dist/esm/internal/schedule/interval.js +70 -0
- package/dist/esm/internal/schedule/interval.js.map +1 -0
- package/dist/esm/internal/schedule/intervals.js +122 -0
- package/dist/esm/internal/schedule/intervals.js.map +1 -0
- package/dist/esm/internal/schedule.js +832 -0
- package/dist/esm/internal/schedule.js.map +1 -0
- package/dist/esm/internal/schema/errors.js +86 -0
- package/dist/esm/internal/schema/errors.js.map +1 -0
- package/dist/esm/internal/schema/schemaId.js +43 -0
- package/dist/esm/internal/schema/schemaId.js.map +1 -0
- package/dist/esm/internal/schema/util.js +35 -0
- package/dist/esm/internal/schema/util.js.map +1 -0
- package/dist/esm/internal/scopedCache.js +382 -0
- package/dist/esm/internal/scopedCache.js.map +1 -0
- package/dist/esm/internal/scopedRef.js +43 -0
- package/dist/esm/internal/scopedRef.js.map +1 -0
- package/dist/esm/internal/secret.js +77 -0
- package/dist/esm/internal/secret.js.map +1 -0
- package/dist/esm/internal/singleShotGen.js +30 -0
- package/dist/esm/internal/singleShotGen.js.map +1 -0
- package/dist/esm/internal/sink.js +801 -0
- package/dist/esm/internal/sink.js.map +1 -0
- package/dist/esm/internal/stack.js +5 -0
- package/dist/esm/internal/stack.js.map +1 -0
- package/dist/esm/internal/stm/core.js +501 -0
- package/dist/esm/internal/stm/core.js.map +1 -0
- package/dist/esm/internal/stm/entry.js +42 -0
- package/dist/esm/internal/stm/entry.js.map +1 -0
- package/dist/esm/internal/stm/journal.js +89 -0
- package/dist/esm/internal/stm/journal.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/stm.js +25 -0
- package/dist/esm/internal/stm/opCodes/stm.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/stmState.js +7 -0
- package/dist/esm/internal/stm/opCodes/stmState.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/strategy.js +7 -0
- package/dist/esm/internal/stm/opCodes/strategy.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/tExit.js +11 -0
- package/dist/esm/internal/stm/opCodes/tExit.js.map +1 -0
- package/dist/esm/internal/stm/opCodes/tryCommit.js +5 -0
- package/dist/esm/internal/stm/opCodes/tryCommit.js.map +1 -0
- package/dist/esm/internal/stm/stm.js +478 -0
- package/dist/esm/internal/stm/stm.js.map +1 -0
- package/dist/esm/internal/stm/stmState.js +89 -0
- package/dist/esm/internal/stm/stmState.js.map +1 -0
- package/dist/esm/internal/stm/tArray.js +243 -0
- package/dist/esm/internal/stm/tArray.js.map +1 -0
- package/dist/esm/internal/stm/tDeferred.js +41 -0
- package/dist/esm/internal/stm/tDeferred.js.map +1 -0
- package/dist/esm/internal/stm/tExit.js +101 -0
- package/dist/esm/internal/stm/tExit.js.map +1 -0
- package/dist/esm/internal/stm/tMap.js +430 -0
- package/dist/esm/internal/stm/tMap.js.map +1 -0
- package/dist/esm/internal/stm/tPriorityQueue.js +143 -0
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -0
- package/dist/esm/internal/stm/tPubSub.js +376 -0
- package/dist/esm/internal/stm/tPubSub.js.map +1 -0
- package/dist/esm/internal/stm/tQueue.js +258 -0
- package/dist/esm/internal/stm/tQueue.js.map +1 -0
- package/dist/esm/internal/stm/tRandom.js +82 -0
- package/dist/esm/internal/stm/tRandom.js.map +1 -0
- package/dist/esm/internal/stm/tReentrantLock.js +192 -0
- package/dist/esm/internal/stm/tReentrantLock.js.map +1 -0
- package/dist/esm/internal/stm/tRef.js +100 -0
- package/dist/esm/internal/stm/tRef.js.map +1 -0
- package/dist/esm/internal/stm/tSemaphore.js +59 -0
- package/dist/esm/internal/stm/tSemaphore.js.map +1 -0
- package/dist/esm/internal/stm/tSet.js +88 -0
- package/dist/esm/internal/stm/tSet.js.map +1 -0
- package/dist/esm/internal/stm/tSubscriptionRef.js +166 -0
- package/dist/esm/internal/stm/tSubscriptionRef.js.map +1 -0
- package/dist/esm/internal/stm/tryCommit.js +16 -0
- package/dist/esm/internal/stm/tryCommit.js.map +1 -0
- package/dist/esm/internal/stm/txnId.js +11 -0
- package/dist/esm/internal/stm/txnId.js.map +1 -0
- package/dist/esm/internal/stm/versioned.js +8 -0
- package/dist/esm/internal/stm/versioned.js.map +1 -0
- package/dist/esm/internal/stream/debounceState.js +21 -0
- package/dist/esm/internal/stream/debounceState.js.map +1 -0
- package/dist/esm/internal/stream/emit.js +120 -0
- package/dist/esm/internal/stream/emit.js.map +1 -0
- package/dist/esm/internal/stream/haltStrategy.js +63 -0
- package/dist/esm/internal/stream/haltStrategy.js.map +1 -0
- package/dist/esm/internal/stream/handoff.js +55 -0
- package/dist/esm/internal/stream/handoff.js.map +1 -0
- package/dist/esm/internal/stream/handoffSignal.js +22 -0
- package/dist/esm/internal/stream/handoffSignal.js.map +1 -0
- package/dist/esm/internal/stream/pull.js +20 -0
- package/dist/esm/internal/stream/pull.js.map +1 -0
- package/dist/esm/internal/stream/sinkEndReason.js +13 -0
- package/dist/esm/internal/stream/sinkEndReason.js.map +1 -0
- package/dist/esm/internal/stream/zipAllState.js +33 -0
- package/dist/esm/internal/stream/zipAllState.js.map +1 -0
- package/dist/esm/internal/stream/zipChunksState.js +21 -0
- package/dist/esm/internal/stream/zipChunksState.js.map +1 -0
- package/dist/esm/internal/stream.js +2867 -0
- package/dist/esm/internal/stream.js.map +1 -0
- package/dist/esm/internal/string-utils.js +77 -0
- package/dist/esm/internal/string-utils.js.map +1 -0
- package/dist/esm/internal/subscriptionRef.js +63 -0
- package/dist/esm/internal/subscriptionRef.js.map +1 -0
- package/dist/esm/internal/supervisor/patch.js +125 -0
- package/dist/esm/internal/supervisor/patch.js.map +1 -0
- package/dist/esm/internal/supervisor.js +207 -0
- package/dist/esm/internal/supervisor.js.map +1 -0
- package/dist/esm/internal/synchronizedRef.js +44 -0
- package/dist/esm/internal/synchronizedRef.js.map +1 -0
- package/dist/esm/internal/take.js +108 -0
- package/dist/esm/internal/take.js.map +1 -0
- package/dist/esm/internal/testing/sleep.js +7 -0
- package/dist/esm/internal/testing/sleep.js.map +1 -0
- package/dist/esm/internal/testing/suspendedWarningData.js +48 -0
- package/dist/esm/internal/testing/suspendedWarningData.js.map +1 -0
- package/dist/esm/internal/testing/warningData.js +49 -0
- package/dist/esm/internal/testing/warningData.js.map +1 -0
- package/dist/esm/internal/tracer.js +122 -0
- package/dist/esm/internal/tracer.js.map +1 -0
- package/dist/esm/internal/trie.js +547 -0
- package/dist/esm/internal/trie.js.map +1 -0
- package/dist/esm/internal/version.js +6 -0
- package/dist/esm/internal/version.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/index/package.json +6 -0
- package/package.json +1471 -0
- package/src/Arbitrary.ts +1101 -0
- package/src/Array.ts +6854 -0
- package/src/BigDecimal.ts +2037 -0
- package/src/BigInt.ts +1139 -0
- package/src/Boolean.ts +560 -0
- package/src/Brand.ts +360 -0
- package/src/Cache.ts +281 -0
- package/src/Cause.ts +2049 -0
- package/src/Channel.ts +3051 -0
- package/src/ChildExecutorDecision.ts +158 -0
- package/src/Chunk.ts +2350 -0
- package/src/Clock.ts +111 -0
- package/src/Config.ts +743 -0
- package/src/ConfigError.ts +286 -0
- package/src/ConfigProvider.ts +421 -0
- package/src/ConfigProviderPathPatch.ts +132 -0
- package/src/Console.ts +255 -0
- package/src/Context.ts +867 -0
- package/src/Cron.ts +718 -0
- package/src/Data.ts +765 -0
- package/src/DateTime.ts +2715 -0
- package/src/DefaultServices.ts +34 -0
- package/src/Deferred.ts +471 -0
- package/src/Differ.ts +512 -0
- package/src/Duration.ts +1140 -0
- package/src/Effect.ts +29096 -0
- package/src/Effectable.ts +107 -0
- package/src/Either.ts +1723 -0
- package/src/Encoding.ts +195 -0
- package/src/Equal.ts +98 -0
- package/src/Equivalence.ts +259 -0
- package/src/ExecutionPlan.ts +308 -0
- package/src/ExecutionStrategy.ts +138 -0
- package/src/Exit.ts +717 -0
- package/src/FastCheck.ts +9 -0
- package/src/Fiber.ts +926 -0
- package/src/FiberHandle.ts +582 -0
- package/src/FiberId.ts +219 -0
- package/src/FiberMap.ts +779 -0
- package/src/FiberRef.ts +511 -0
- package/src/FiberRefs.ts +288 -0
- package/src/FiberRefsPatch.ts +139 -0
- package/src/FiberSet.ts +529 -0
- package/src/FiberStatus.ts +108 -0
- package/src/Function.ts +1378 -0
- package/src/GlobalValue.ts +53 -0
- package/src/Graph.ts +3764 -0
- package/src/GroupBy.ts +141 -0
- package/src/HKT.ts +45 -0
- package/src/Hash.ts +203 -0
- package/src/HashMap.ts +919 -0
- package/src/HashRing.ts +387 -0
- package/src/HashSet.ts +2346 -0
- package/src/Inspectable.ts +287 -0
- package/src/Iterable.ts +1606 -0
- package/src/JSONSchema.ts +1044 -0
- package/src/KeyedPool.ts +201 -0
- package/src/Layer.ts +1671 -0
- package/src/LayerMap.ts +436 -0
- package/src/List.ts +1469 -0
- package/src/LogLevel.ts +387 -0
- package/src/LogSpan.ts +25 -0
- package/src/Logger.ts +863 -0
- package/src/Mailbox.ts +298 -0
- package/src/ManagedRuntime.ts +180 -0
- package/src/Match.ts +1493 -0
- package/src/MergeDecision.ts +103 -0
- package/src/MergeState.ts +180 -0
- package/src/MergeStrategy.ts +124 -0
- package/src/Metric.ts +1165 -0
- package/src/MetricBoundaries.ts +69 -0
- package/src/MetricHook.ts +175 -0
- package/src/MetricKey.ts +266 -0
- package/src/MetricKeyType.ts +262 -0
- package/src/MetricLabel.ts +47 -0
- package/src/MetricPair.ts +71 -0
- package/src/MetricPolling.ts +182 -0
- package/src/MetricRegistry.ts +48 -0
- package/src/MetricState.ts +273 -0
- package/src/Micro.ts +5556 -0
- package/src/ModuleVersion.ts +18 -0
- package/src/MutableHashMap.ts +518 -0
- package/src/MutableHashSet.ts +706 -0
- package/src/MutableList.ts +333 -0
- package/src/MutableQueue.ts +289 -0
- package/src/MutableRef.ts +258 -0
- package/src/NonEmptyIterable.ts +32 -0
- package/src/Number.ts +1440 -0
- package/src/Option.ts +4028 -0
- package/src/Order.ts +397 -0
- package/src/Ordering.ts +173 -0
- package/src/ParseResult.ts +2068 -0
- package/src/PartitionedSemaphore.ts +200 -0
- package/src/Pipeable.ts +574 -0
- package/src/Pool.ts +220 -0
- package/src/Predicate.ts +2344 -0
- package/src/Pretty.ts +205 -0
- package/src/PrimaryKey.ts +23 -0
- package/src/PubSub.ts +210 -0
- package/src/Queue.ts +748 -0
- package/src/Random.ts +204 -0
- package/src/RateLimiter.ts +138 -0
- package/src/RcMap.ts +245 -0
- package/src/RcRef.ts +122 -0
- package/src/Readable.ts +104 -0
- package/src/Record.ts +1990 -0
- package/src/RedBlackTree.ts +725 -0
- package/src/Redacted.ts +144 -0
- package/src/Ref.ts +268 -0
- package/src/RegExp.ts +38 -0
- package/src/Reloadable.ts +127 -0
- package/src/Request.ts +418 -0
- package/src/RequestBlock.ts +118 -0
- package/src/RequestResolver.ts +495 -0
- package/src/Resource.ts +119 -0
- package/src/Runtime.ts +631 -0
- package/src/RuntimeFlags.ts +436 -0
- package/src/RuntimeFlagsPatch.ts +295 -0
- package/src/STM.ts +3091 -0
- package/src/Schedule.ts +3740 -0
- package/src/ScheduleDecision.ts +62 -0
- package/src/ScheduleInterval.ts +219 -0
- package/src/ScheduleIntervals.ts +172 -0
- package/src/Scheduler.ts +364 -0
- package/src/Schema.ts +11443 -0
- package/src/SchemaAST.ts +3055 -0
- package/src/Scope.ts +240 -0
- package/src/ScopedCache.ts +151 -0
- package/src/ScopedRef.ts +139 -0
- package/src/Secret.ts +88 -0
- package/src/SingleProducerAsyncInput.ts +67 -0
- package/src/Sink.ts +1877 -0
- package/src/SortedMap.ts +361 -0
- package/src/SortedSet.ts +530 -0
- package/src/Stream.ts +11561 -0
- package/src/StreamEmit.ts +136 -0
- package/src/StreamHaltStrategy.ts +140 -0
- package/src/Streamable.ts +45 -0
- package/src/String.ts +1026 -0
- package/src/Struct.ts +335 -0
- package/src/Subscribable.ts +114 -0
- package/src/SubscriptionRef.ts +444 -0
- package/src/Supervisor.ts +240 -0
- package/src/Symbol.ts +29 -0
- package/src/SynchronizedRef.ts +429 -0
- package/src/TArray.ts +922 -0
- package/src/TDeferred.ts +124 -0
- package/src/TMap.ts +875 -0
- package/src/TPriorityQueue.ts +283 -0
- package/src/TPubSub.ts +228 -0
- package/src/TQueue.ts +540 -0
- package/src/TRandom.ts +129 -0
- package/src/TReentrantLock.ts +260 -0
- package/src/TRef.ts +266 -0
- package/src/TSemaphore.ts +169 -0
- package/src/TSet.ts +633 -0
- package/src/TSubscriptionRef.ts +284 -0
- package/src/Take.ts +309 -0
- package/src/TestAnnotation.ts +158 -0
- package/src/TestAnnotationMap.ts +163 -0
- package/src/TestAnnotations.ts +117 -0
- package/src/TestClock.ts +562 -0
- package/src/TestConfig.ts +47 -0
- package/src/TestContext.ts +36 -0
- package/src/TestLive.ts +53 -0
- package/src/TestServices.ts +454 -0
- package/src/TestSized.ts +55 -0
- package/src/Tracer.ts +182 -0
- package/src/Trie.ts +1860 -0
- package/src/Tuple.ts +483 -0
- package/src/Types.ts +361 -0
- package/src/Unify.ts +127 -0
- package/src/UpstreamPullRequest.ts +129 -0
- package/src/UpstreamPullStrategy.ts +133 -0
- package/src/Utils.ts +809 -0
- package/src/index.ts +1561 -0
- package/src/internal/array.ts +8 -0
- package/src/internal/blockedRequests.ts +520 -0
- package/src/internal/cache.ts +733 -0
- package/src/internal/cause.ts +1050 -0
- package/src/internal/channel/channelExecutor.ts +1200 -0
- package/src/internal/channel/channelState.ts +134 -0
- package/src/internal/channel/childExecutorDecision.ts +96 -0
- package/src/internal/channel/continuation.ts +200 -0
- package/src/internal/channel/mergeDecision.ts +113 -0
- package/src/internal/channel/mergeState.ts +120 -0
- package/src/internal/channel/mergeStrategy.ts +72 -0
- package/src/internal/channel/singleProducerAsyncInput.ts +259 -0
- package/src/internal/channel/subexecutor.ts +229 -0
- package/src/internal/channel/upstreamPullRequest.ts +84 -0
- package/src/internal/channel/upstreamPullStrategy.ts +87 -0
- package/src/internal/channel.ts +2603 -0
- package/src/internal/clock.ts +95 -0
- package/src/internal/completedRequestMap.ts +9 -0
- package/src/internal/concurrency.ts +54 -0
- package/src/internal/config.ts +716 -0
- package/src/internal/configError.ts +304 -0
- package/src/internal/configProvider/pathPatch.ts +97 -0
- package/src/internal/configProvider.ts +799 -0
- package/src/internal/console.ts +153 -0
- package/src/internal/context.ts +337 -0
- package/src/internal/core-effect.ts +2293 -0
- package/src/internal/core-stream.ts +998 -0
- package/src/internal/core.ts +3166 -0
- package/src/internal/data.ts +36 -0
- package/src/internal/dataSource.ts +327 -0
- package/src/internal/dateTime.ts +1277 -0
- package/src/internal/defaultServices/console.ts +100 -0
- package/src/internal/defaultServices.ts +163 -0
- package/src/internal/deferred.ts +46 -0
- package/src/internal/differ/chunkPatch.ts +211 -0
- package/src/internal/differ/contextPatch.ts +232 -0
- package/src/internal/differ/hashMapPatch.ts +220 -0
- package/src/internal/differ/hashSetPatch.ts +176 -0
- package/src/internal/differ/orPatch.ts +311 -0
- package/src/internal/differ/readonlyArrayPatch.ts +210 -0
- package/src/internal/differ.ts +200 -0
- package/src/internal/doNotation.ts +80 -0
- package/src/internal/effect/circular.ts +903 -0
- package/src/internal/effectable.ts +131 -0
- package/src/internal/either.ts +110 -0
- package/src/internal/encoding/base64.ts +286 -0
- package/src/internal/encoding/base64Url.ts +29 -0
- package/src/internal/encoding/common.ts +51 -0
- package/src/internal/encoding/hex.ts +315 -0
- package/src/internal/errors.ts +7 -0
- package/src/internal/executionPlan.ts +114 -0
- package/src/internal/executionStrategy.ts +74 -0
- package/src/internal/fiber.ts +388 -0
- package/src/internal/fiberId.ts +267 -0
- package/src/internal/fiberMessage.ts +82 -0
- package/src/internal/fiberRefs/patch.ts +144 -0
- package/src/internal/fiberRefs.ts +297 -0
- package/src/internal/fiberRuntime.ts +3859 -0
- package/src/internal/fiberScope.ts +71 -0
- package/src/internal/fiberStatus.ts +119 -0
- package/src/internal/groupBy.ts +530 -0
- package/src/internal/hashMap/array.ts +49 -0
- package/src/internal/hashMap/bitwise.ts +32 -0
- package/src/internal/hashMap/config.ts +14 -0
- package/src/internal/hashMap/keySet.ts +8 -0
- package/src/internal/hashMap/node.ts +391 -0
- package/src/internal/hashMap.ts +586 -0
- package/src/internal/hashSet.ts +323 -0
- package/src/internal/keyedPool.ts +244 -0
- package/src/internal/layer/circular.ts +214 -0
- package/src/internal/layer.ts +1483 -0
- package/src/internal/logSpan.ts +20 -0
- package/src/internal/logger-circular.ts +24 -0
- package/src/internal/logger.ts +485 -0
- package/src/internal/mailbox.ts +561 -0
- package/src/internal/managedRuntime/circular.ts +6 -0
- package/src/internal/managedRuntime.ts +137 -0
- package/src/internal/matcher.ts +652 -0
- package/src/internal/metric/boundaries.ts +75 -0
- package/src/internal/metric/hook.ts +483 -0
- package/src/internal/metric/key.ts +167 -0
- package/src/internal/metric/keyType.ts +238 -0
- package/src/internal/metric/label.ts +41 -0
- package/src/internal/metric/pair.ts +48 -0
- package/src/internal/metric/polling.ts +149 -0
- package/src/internal/metric/registry.ts +187 -0
- package/src/internal/metric/state.ts +290 -0
- package/src/internal/metric.ts +577 -0
- package/src/internal/opCodes/cause.ts +35 -0
- package/src/internal/opCodes/channel.ts +83 -0
- package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
- package/src/internal/opCodes/channelMergeDecision.ts +11 -0
- package/src/internal/opCodes/channelMergeState.ts +17 -0
- package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
- package/src/internal/opCodes/channelState.ts +23 -0
- package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
- package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
- package/src/internal/opCodes/config.ts +65 -0
- package/src/internal/opCodes/configError.ts +35 -0
- package/src/internal/opCodes/continuation.ts +11 -0
- package/src/internal/opCodes/deferred.ts +11 -0
- package/src/internal/opCodes/effect.ts +89 -0
- package/src/internal/opCodes/layer.ts +59 -0
- package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
- package/src/internal/option.ts +80 -0
- package/src/internal/pool.ts +432 -0
- package/src/internal/pubsub.ts +1762 -0
- package/src/internal/query.ts +204 -0
- package/src/internal/queue.ts +766 -0
- package/src/internal/random.ts +161 -0
- package/src/internal/rateLimiter.ts +93 -0
- package/src/internal/rcMap.ts +285 -0
- package/src/internal/rcRef.ts +192 -0
- package/src/internal/redBlackTree/iterator.ts +200 -0
- package/src/internal/redBlackTree/node.ts +68 -0
- package/src/internal/redBlackTree.ts +1245 -0
- package/src/internal/redacted.ts +73 -0
- package/src/internal/ref.ts +171 -0
- package/src/internal/reloadable.ts +140 -0
- package/src/internal/request.ts +177 -0
- package/src/internal/resource.ts +76 -0
- package/src/internal/ringBuffer.ts +68 -0
- package/src/internal/runtime.ts +558 -0
- package/src/internal/runtimeFlags.ts +178 -0
- package/src/internal/runtimeFlagsPatch.ts +103 -0
- package/src/internal/schedule/decision.ts +47 -0
- package/src/internal/schedule/interval.ts +101 -0
- package/src/internal/schedule/intervals.ts +180 -0
- package/src/internal/schedule.ts +2199 -0
- package/src/internal/schema/errors.ts +191 -0
- package/src/internal/schema/schemaId.ts +106 -0
- package/src/internal/schema/util.ts +50 -0
- package/src/internal/scopedCache.ts +644 -0
- package/src/internal/scopedRef.ts +118 -0
- package/src/internal/secret.ts +89 -0
- package/src/internal/singleShotGen.ts +35 -0
- package/src/internal/sink.ts +2120 -0
- package/src/internal/stack.ts +10 -0
- package/src/internal/stm/core.ts +817 -0
- package/src/internal/stm/entry.ts +59 -0
- package/src/internal/stm/journal.ts +123 -0
- package/src/internal/stm/opCodes/stm.ts +71 -0
- package/src/internal/stm/opCodes/stmState.ts +17 -0
- package/src/internal/stm/opCodes/strategy.ts +17 -0
- package/src/internal/stm/opCodes/tExit.ts +29 -0
- package/src/internal/stm/opCodes/tryCommit.ts +11 -0
- package/src/internal/stm/stm.ts +1453 -0
- package/src/internal/stm/stmState.ts +136 -0
- package/src/internal/stm/tArray.ts +550 -0
- package/src/internal/stm/tDeferred.ts +81 -0
- package/src/internal/stm/tExit.ts +190 -0
- package/src/internal/stm/tMap.ts +824 -0
- package/src/internal/stm/tPriorityQueue.ts +267 -0
- package/src/internal/stm/tPubSub.ts +551 -0
- package/src/internal/stm/tQueue.ts +393 -0
- package/src/internal/stm/tRandom.ts +140 -0
- package/src/internal/stm/tReentrantLock.ts +352 -0
- package/src/internal/stm/tRef.ts +195 -0
- package/src/internal/stm/tSemaphore.ts +113 -0
- package/src/internal/stm/tSet.ts +259 -0
- package/src/internal/stm/tSubscriptionRef.ts +286 -0
- package/src/internal/stm/tryCommit.ts +34 -0
- package/src/internal/stm/txnId.ts +14 -0
- package/src/internal/stm/versioned.ts +4 -0
- package/src/internal/stream/debounceState.ts +57 -0
- package/src/internal/stream/emit.ts +123 -0
- package/src/internal/stream/haltStrategy.ts +94 -0
- package/src/internal/stream/handoff.ts +187 -0
- package/src/internal/stream/handoffSignal.ts +59 -0
- package/src/internal/stream/pull.ts +34 -0
- package/src/internal/stream/sinkEndReason.ts +30 -0
- package/src/internal/stream/zipAllState.ts +88 -0
- package/src/internal/stream/zipChunksState.ts +56 -0
- package/src/internal/stream.ts +8802 -0
- package/src/internal/string-utils.ts +107 -0
- package/src/internal/subscriptionRef.ts +138 -0
- package/src/internal/supervisor/patch.ts +190 -0
- package/src/internal/supervisor.ts +303 -0
- package/src/internal/synchronizedRef.ts +114 -0
- package/src/internal/take.ts +199 -0
- package/src/internal/testing/sleep.ts +27 -0
- package/src/internal/testing/suspendedWarningData.ts +85 -0
- package/src/internal/testing/warningData.ts +94 -0
- package/src/internal/tracer.ts +150 -0
- package/src/internal/trie.ts +722 -0
- package/src/internal/version.ts +7 -0
|
@@ -0,0 +1,2197 @@
|
|
|
1
|
+
import type { TypeLambda } from "./HKT.js";
|
|
2
|
+
import type { TupleOf, TupleOfAtLeast } from "./Types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a function that takes a value of type `A` and returns `true` if the value
|
|
5
|
+
* satisfies some condition, `false` otherwise.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { Predicate } from "effect"
|
|
10
|
+
* import * as assert from "node:assert"
|
|
11
|
+
*
|
|
12
|
+
* const isEven: Predicate.Predicate<number> = (n) => n % 2 === 0
|
|
13
|
+
*
|
|
14
|
+
* assert.strictEqual(isEven(2), true)
|
|
15
|
+
* assert.strictEqual(isEven(3), false)
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @category models
|
|
19
|
+
* @since 2.0.0
|
|
20
|
+
*/
|
|
21
|
+
export interface Predicate<in A> {
|
|
22
|
+
(a: A): boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A `TypeLambda` for `Predicate`. This is used to support higher-kinded types
|
|
26
|
+
* and allows `Predicate` to be used in generic contexts within the `effect` ecosystem.
|
|
27
|
+
*
|
|
28
|
+
* @category type lambdas
|
|
29
|
+
* @since 2.0.0
|
|
30
|
+
*/
|
|
31
|
+
export interface PredicateTypeLambda extends TypeLambda {
|
|
32
|
+
readonly type: Predicate<this["Target"]>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Represents a function that serves as a type guard.
|
|
36
|
+
*
|
|
37
|
+
* A `Refinement<A, B>` is a function that takes a value of type `A` and returns a
|
|
38
|
+
* type predicate `a is B`, where `B` is a subtype of `A`. If the function returns
|
|
39
|
+
* `true`, TypeScript will narrow the type of the input variable to `B`.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* import { Predicate } from "effect"
|
|
44
|
+
* import * as assert from "node:assert"
|
|
45
|
+
*
|
|
46
|
+
* const isString: Predicate.Refinement<unknown, string> = (u): u is string => typeof u === "string"
|
|
47
|
+
*
|
|
48
|
+
* const value: unknown = "hello"
|
|
49
|
+
*
|
|
50
|
+
* if (isString(value)) {
|
|
51
|
+
* // value is now known to be a string
|
|
52
|
+
* assert.strictEqual(value.toUpperCase(), "HELLO")
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @category models
|
|
57
|
+
* @since 2.0.0
|
|
58
|
+
*/
|
|
59
|
+
export interface Refinement<in A, out B extends A> {
|
|
60
|
+
(a: A): a is B;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A namespace for type-level utilities for `Predicate`.
|
|
64
|
+
*
|
|
65
|
+
* @since 3.6.0
|
|
66
|
+
* @category type-level
|
|
67
|
+
*/
|
|
68
|
+
export declare namespace Predicate {
|
|
69
|
+
/**
|
|
70
|
+
* Extracts the input type `A` from a `Predicate<A>`.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* import { type Predicate } from "effect"
|
|
75
|
+
*
|
|
76
|
+
* type T = Predicate.Predicate.In<Predicate.Predicate<string>> // T is string
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* @since 3.6.0
|
|
80
|
+
* @category type-level
|
|
81
|
+
*/
|
|
82
|
+
type In<T extends Any> = [T] extends [Predicate<infer _A>] ? _A : never;
|
|
83
|
+
/**
|
|
84
|
+
* A type representing any `Predicate`.
|
|
85
|
+
*
|
|
86
|
+
* @since 3.6.0
|
|
87
|
+
* @category type-level
|
|
88
|
+
*/
|
|
89
|
+
type Any = Predicate<never>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* A namespace for type-level utilities for `Refinement`.
|
|
93
|
+
*
|
|
94
|
+
* @since 3.6.0
|
|
95
|
+
* @category type-level
|
|
96
|
+
*/
|
|
97
|
+
export declare namespace Refinement {
|
|
98
|
+
/**
|
|
99
|
+
* Extracts the input type `A` from a `Refinement<A, B>`.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* import { type Predicate } from "effect"
|
|
104
|
+
*
|
|
105
|
+
* type IsString = Predicate.Refinement<unknown, string>
|
|
106
|
+
* type T = Predicate.Refinement.In<IsString> // T is unknown
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @since 3.6.0
|
|
110
|
+
* @category type-level
|
|
111
|
+
*/
|
|
112
|
+
type In<T extends Any> = [T] extends [Refinement<infer _A, infer _>] ? _A : never;
|
|
113
|
+
/**
|
|
114
|
+
* Extracts the output (refined) type `B` from a `Refinement<A, B>`.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* import { type Predicate } from "effect"
|
|
119
|
+
*
|
|
120
|
+
* type IsString = Predicate.Refinement<unknown, string>
|
|
121
|
+
* type T = Predicate.Refinement.Out<IsString> // T is string
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @since 3.6.0
|
|
125
|
+
* @category type-level
|
|
126
|
+
*/
|
|
127
|
+
type Out<T extends Any> = [T] extends [Refinement<infer _, infer _B>] ? _B : never;
|
|
128
|
+
/**
|
|
129
|
+
* A type representing any `Refinement`.
|
|
130
|
+
*
|
|
131
|
+
* @since 3.6.0
|
|
132
|
+
* @category type-level
|
|
133
|
+
*/
|
|
134
|
+
type Any = Refinement<any, any>;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Transforms a `Predicate<A>` into a `Predicate<B>` by applying a function `(b: B) => A`
|
|
138
|
+
* to the input before passing it to the predicate. This is also known as "contramap" or
|
|
139
|
+
* "pre-composition".
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* import { Predicate, Number } from "effect"
|
|
144
|
+
* import * as assert from "node:assert"
|
|
145
|
+
*
|
|
146
|
+
* // A predicate on numbers
|
|
147
|
+
* const isPositive: Predicate.Predicate<number> = Number.greaterThan(0)
|
|
148
|
+
*
|
|
149
|
+
* // A function from `string` to `number`
|
|
150
|
+
* const stringLength = (s: string): number => s.length
|
|
151
|
+
*
|
|
152
|
+
* // Create a new predicate on strings by mapping the input
|
|
153
|
+
* const hasPositiveLength = Predicate.mapInput(isPositive, stringLength)
|
|
154
|
+
*
|
|
155
|
+
* assert.strictEqual(hasPositiveLength("hello"), true)
|
|
156
|
+
* assert.strictEqual(hasPositiveLength(""), false)
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* @category combinators
|
|
160
|
+
* @since 2.0.0
|
|
161
|
+
*/
|
|
162
|
+
export declare const mapInput: {
|
|
163
|
+
/**
|
|
164
|
+
* Transforms a `Predicate<A>` into a `Predicate<B>` by applying a function `(b: B) => A`
|
|
165
|
+
* to the input before passing it to the predicate. This is also known as "contramap" or
|
|
166
|
+
* "pre-composition".
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```ts
|
|
170
|
+
* import { Predicate, Number } from "effect"
|
|
171
|
+
* import * as assert from "node:assert"
|
|
172
|
+
*
|
|
173
|
+
* // A predicate on numbers
|
|
174
|
+
* const isPositive: Predicate.Predicate<number> = Number.greaterThan(0)
|
|
175
|
+
*
|
|
176
|
+
* // A function from `string` to `number`
|
|
177
|
+
* const stringLength = (s: string): number => s.length
|
|
178
|
+
*
|
|
179
|
+
* // Create a new predicate on strings by mapping the input
|
|
180
|
+
* const hasPositiveLength = Predicate.mapInput(isPositive, stringLength)
|
|
181
|
+
*
|
|
182
|
+
* assert.strictEqual(hasPositiveLength("hello"), true)
|
|
183
|
+
* assert.strictEqual(hasPositiveLength(""), false)
|
|
184
|
+
* ```
|
|
185
|
+
*
|
|
186
|
+
* @category combinators
|
|
187
|
+
* @since 2.0.0
|
|
188
|
+
*/
|
|
189
|
+
<B, A>(f: (b: B) => A): (self: Predicate<A>) => Predicate<B>;
|
|
190
|
+
/**
|
|
191
|
+
* Transforms a `Predicate<A>` into a `Predicate<B>` by applying a function `(b: B) => A`
|
|
192
|
+
* to the input before passing it to the predicate. This is also known as "contramap" or
|
|
193
|
+
* "pre-composition".
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```ts
|
|
197
|
+
* import { Predicate, Number } from "effect"
|
|
198
|
+
* import * as assert from "node:assert"
|
|
199
|
+
*
|
|
200
|
+
* // A predicate on numbers
|
|
201
|
+
* const isPositive: Predicate.Predicate<number> = Number.greaterThan(0)
|
|
202
|
+
*
|
|
203
|
+
* // A function from `string` to `number`
|
|
204
|
+
* const stringLength = (s: string): number => s.length
|
|
205
|
+
*
|
|
206
|
+
* // Create a new predicate on strings by mapping the input
|
|
207
|
+
* const hasPositiveLength = Predicate.mapInput(isPositive, stringLength)
|
|
208
|
+
*
|
|
209
|
+
* assert.strictEqual(hasPositiveLength("hello"), true)
|
|
210
|
+
* assert.strictEqual(hasPositiveLength(""), false)
|
|
211
|
+
* ```
|
|
212
|
+
*
|
|
213
|
+
* @category combinators
|
|
214
|
+
* @since 2.0.0
|
|
215
|
+
*/
|
|
216
|
+
<A, B>(self: Predicate<A>, f: (b: B) => A): Predicate<B>;
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* A refinement that checks if a `ReadonlyArray<T>` is a tuple with exactly `N` elements.
|
|
220
|
+
* If the check is successful, the type is narrowed to `TupleOf<N, T>`.
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```ts
|
|
224
|
+
* import * as assert from "node:assert"
|
|
225
|
+
* import { isTupleOf } from "effect/Predicate"
|
|
226
|
+
*
|
|
227
|
+
* const isTupleOf3 = isTupleOf(3)
|
|
228
|
+
*
|
|
229
|
+
* assert.strictEqual(isTupleOf3([1, 2, 3]), true);
|
|
230
|
+
* assert.strictEqual(isTupleOf3([1, 2]), false);
|
|
231
|
+
*
|
|
232
|
+
* const arr: number[] = [1, 2, 3];
|
|
233
|
+
* if (isTupleOf(arr, 3)) {
|
|
234
|
+
* // The type of arr is now [number, number, number]
|
|
235
|
+
* const [a, b, c] = arr;
|
|
236
|
+
* assert.deepStrictEqual([a, b, c], [1, 2, 3])
|
|
237
|
+
* }
|
|
238
|
+
* ```
|
|
239
|
+
*
|
|
240
|
+
* @category guards
|
|
241
|
+
* @since 3.3.0
|
|
242
|
+
*/
|
|
243
|
+
export declare const isTupleOf: {
|
|
244
|
+
/**
|
|
245
|
+
* A refinement that checks if a `ReadonlyArray<T>` is a tuple with exactly `N` elements.
|
|
246
|
+
* If the check is successful, the type is narrowed to `TupleOf<N, T>`.
|
|
247
|
+
*
|
|
248
|
+
* @example
|
|
249
|
+
* ```ts
|
|
250
|
+
* import * as assert from "node:assert"
|
|
251
|
+
* import { isTupleOf } from "effect/Predicate"
|
|
252
|
+
*
|
|
253
|
+
* const isTupleOf3 = isTupleOf(3)
|
|
254
|
+
*
|
|
255
|
+
* assert.strictEqual(isTupleOf3([1, 2, 3]), true);
|
|
256
|
+
* assert.strictEqual(isTupleOf3([1, 2]), false);
|
|
257
|
+
*
|
|
258
|
+
* const arr: number[] = [1, 2, 3];
|
|
259
|
+
* if (isTupleOf(arr, 3)) {
|
|
260
|
+
* // The type of arr is now [number, number, number]
|
|
261
|
+
* const [a, b, c] = arr;
|
|
262
|
+
* assert.deepStrictEqual([a, b, c], [1, 2, 3])
|
|
263
|
+
* }
|
|
264
|
+
* ```
|
|
265
|
+
*
|
|
266
|
+
* @category guards
|
|
267
|
+
* @since 3.3.0
|
|
268
|
+
*/
|
|
269
|
+
<N extends number>(n: N): <T>(self: ReadonlyArray<T>) => self is TupleOf<N, T>;
|
|
270
|
+
/**
|
|
271
|
+
* A refinement that checks if a `ReadonlyArray<T>` is a tuple with exactly `N` elements.
|
|
272
|
+
* If the check is successful, the type is narrowed to `TupleOf<N, T>`.
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ```ts
|
|
276
|
+
* import * as assert from "node:assert"
|
|
277
|
+
* import { isTupleOf } from "effect/Predicate"
|
|
278
|
+
*
|
|
279
|
+
* const isTupleOf3 = isTupleOf(3)
|
|
280
|
+
*
|
|
281
|
+
* assert.strictEqual(isTupleOf3([1, 2, 3]), true);
|
|
282
|
+
* assert.strictEqual(isTupleOf3([1, 2]), false);
|
|
283
|
+
*
|
|
284
|
+
* const arr: number[] = [1, 2, 3];
|
|
285
|
+
* if (isTupleOf(arr, 3)) {
|
|
286
|
+
* // The type of arr is now [number, number, number]
|
|
287
|
+
* const [a, b, c] = arr;
|
|
288
|
+
* assert.deepStrictEqual([a, b, c], [1, 2, 3])
|
|
289
|
+
* }
|
|
290
|
+
* ```
|
|
291
|
+
*
|
|
292
|
+
* @category guards
|
|
293
|
+
* @since 3.3.0
|
|
294
|
+
*/
|
|
295
|
+
<T, N extends number>(self: ReadonlyArray<T>, n: N): self is TupleOf<N, T>;
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* A refinement that checks if a `ReadonlyArray<T>` is a tuple with at least `N` elements.
|
|
299
|
+
* If the check is successful, the type is narrowed to `TupleOfAtLeast<N, T>`.
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```ts
|
|
303
|
+
* import * as assert from "node:assert"
|
|
304
|
+
* import { isTupleOfAtLeast } from "effect/Predicate"
|
|
305
|
+
*
|
|
306
|
+
* const isTupleOfAtLeast3 = isTupleOfAtLeast(3)
|
|
307
|
+
*
|
|
308
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2, 3]), true);
|
|
309
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2, 3, 4]), true);
|
|
310
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2]), false);
|
|
311
|
+
*
|
|
312
|
+
* const arr: number[] = [1, 2, 3, 4];
|
|
313
|
+
* if (isTupleOfAtLeast(arr, 3)) {
|
|
314
|
+
* // The type of arr is now [number, number, number, ...number[]]
|
|
315
|
+
* const [a, b, c] = arr;
|
|
316
|
+
* assert.deepStrictEqual([a, b, c], [1, 2, 3])
|
|
317
|
+
* }
|
|
318
|
+
* ```
|
|
319
|
+
*
|
|
320
|
+
* @category guards
|
|
321
|
+
* @since 3.3.0
|
|
322
|
+
*/
|
|
323
|
+
export declare const isTupleOfAtLeast: {
|
|
324
|
+
/**
|
|
325
|
+
* A refinement that checks if a `ReadonlyArray<T>` is a tuple with at least `N` elements.
|
|
326
|
+
* If the check is successful, the type is narrowed to `TupleOfAtLeast<N, T>`.
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```ts
|
|
330
|
+
* import * as assert from "node:assert"
|
|
331
|
+
* import { isTupleOfAtLeast } from "effect/Predicate"
|
|
332
|
+
*
|
|
333
|
+
* const isTupleOfAtLeast3 = isTupleOfAtLeast(3)
|
|
334
|
+
*
|
|
335
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2, 3]), true);
|
|
336
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2, 3, 4]), true);
|
|
337
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2]), false);
|
|
338
|
+
*
|
|
339
|
+
* const arr: number[] = [1, 2, 3, 4];
|
|
340
|
+
* if (isTupleOfAtLeast(arr, 3)) {
|
|
341
|
+
* // The type of arr is now [number, number, number, ...number[]]
|
|
342
|
+
* const [a, b, c] = arr;
|
|
343
|
+
* assert.deepStrictEqual([a, b, c], [1, 2, 3])
|
|
344
|
+
* }
|
|
345
|
+
* ```
|
|
346
|
+
*
|
|
347
|
+
* @category guards
|
|
348
|
+
* @since 3.3.0
|
|
349
|
+
*/
|
|
350
|
+
<N extends number>(n: N): <T>(self: ReadonlyArray<T>) => self is TupleOfAtLeast<N, T>;
|
|
351
|
+
/**
|
|
352
|
+
* A refinement that checks if a `ReadonlyArray<T>` is a tuple with at least `N` elements.
|
|
353
|
+
* If the check is successful, the type is narrowed to `TupleOfAtLeast<N, T>`.
|
|
354
|
+
*
|
|
355
|
+
* @example
|
|
356
|
+
* ```ts
|
|
357
|
+
* import * as assert from "node:assert"
|
|
358
|
+
* import { isTupleOfAtLeast } from "effect/Predicate"
|
|
359
|
+
*
|
|
360
|
+
* const isTupleOfAtLeast3 = isTupleOfAtLeast(3)
|
|
361
|
+
*
|
|
362
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2, 3]), true);
|
|
363
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2, 3, 4]), true);
|
|
364
|
+
* assert.strictEqual(isTupleOfAtLeast3([1, 2]), false);
|
|
365
|
+
*
|
|
366
|
+
* const arr: number[] = [1, 2, 3, 4];
|
|
367
|
+
* if (isTupleOfAtLeast(arr, 3)) {
|
|
368
|
+
* // The type of arr is now [number, number, number, ...number[]]
|
|
369
|
+
* const [a, b, c] = arr;
|
|
370
|
+
* assert.deepStrictEqual([a, b, c], [1, 2, 3])
|
|
371
|
+
* }
|
|
372
|
+
* ```
|
|
373
|
+
*
|
|
374
|
+
* @category guards
|
|
375
|
+
* @since 3.3.0
|
|
376
|
+
*/
|
|
377
|
+
<T, N extends number>(self: ReadonlyArray<T>, n: N): self is TupleOfAtLeast<N, T>;
|
|
378
|
+
};
|
|
379
|
+
/**
|
|
380
|
+
* A predicate that checks if a value is "truthy" in JavaScript.
|
|
381
|
+
* Fails for `false`, `0`, `-0`, `0n`, `""`, `null`, `undefined`, and `NaN`.
|
|
382
|
+
*
|
|
383
|
+
* @example
|
|
384
|
+
* ```ts
|
|
385
|
+
* import * as assert from "node:assert"
|
|
386
|
+
* import { isTruthy } from "effect/Predicate"
|
|
387
|
+
*
|
|
388
|
+
* assert.strictEqual(isTruthy(1), true)
|
|
389
|
+
* assert.strictEqual(isTruthy("hello"), true)
|
|
390
|
+
* assert.strictEqual(isTruthy({}), true)
|
|
391
|
+
*
|
|
392
|
+
* assert.strictEqual(isTruthy(0), false)
|
|
393
|
+
* assert.strictEqual(isTruthy(""), false)
|
|
394
|
+
* assert.strictEqual(isTruthy(null), false)
|
|
395
|
+
* assert.strictEqual(isTruthy(undefined), false)
|
|
396
|
+
* ```
|
|
397
|
+
*
|
|
398
|
+
* @category guards
|
|
399
|
+
* @since 2.0.0
|
|
400
|
+
*/
|
|
401
|
+
export declare const isTruthy: (input: unknown) => boolean;
|
|
402
|
+
/**
|
|
403
|
+
* A refinement that checks if a value is a `Set`.
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* ```ts
|
|
407
|
+
* import * as assert from "node:assert"
|
|
408
|
+
* import { isSet } from "effect/Predicate"
|
|
409
|
+
*
|
|
410
|
+
* assert.strictEqual(isSet(new Set([1, 2])), true)
|
|
411
|
+
* assert.strictEqual(isSet(new Set()), true)
|
|
412
|
+
*
|
|
413
|
+
* assert.strictEqual(isSet({}), false)
|
|
414
|
+
* assert.strictEqual(isSet([1, 2]), false)
|
|
415
|
+
* ```
|
|
416
|
+
*
|
|
417
|
+
* @category guards
|
|
418
|
+
* @since 2.0.0
|
|
419
|
+
*/
|
|
420
|
+
export declare const isSet: (input: unknown) => input is Set<unknown>;
|
|
421
|
+
/**
|
|
422
|
+
* A refinement that checks if a value is a `Map`.
|
|
423
|
+
*
|
|
424
|
+
* @example
|
|
425
|
+
* ```ts
|
|
426
|
+
* import * as assert from "node:assert"
|
|
427
|
+
* import { isMap } from "effect/Predicate"
|
|
428
|
+
*
|
|
429
|
+
* assert.strictEqual(isMap(new Map()), true)
|
|
430
|
+
*
|
|
431
|
+
* assert.strictEqual(isMap({}), false)
|
|
432
|
+
* assert.strictEqual(isMap(new Set()), false)
|
|
433
|
+
* ```
|
|
434
|
+
*
|
|
435
|
+
* @category guards
|
|
436
|
+
* @since 2.0.0
|
|
437
|
+
*/
|
|
438
|
+
export declare const isMap: (input: unknown) => input is Map<unknown, unknown>;
|
|
439
|
+
/**
|
|
440
|
+
* A refinement that checks if a value is a `string`.
|
|
441
|
+
*
|
|
442
|
+
* @example
|
|
443
|
+
* ```ts
|
|
444
|
+
* import * as assert from "node:assert"
|
|
445
|
+
* import { isString } from "effect/Predicate"
|
|
446
|
+
*
|
|
447
|
+
* assert.strictEqual(isString("hello"), true)
|
|
448
|
+
* assert.strictEqual(isString(""), true)
|
|
449
|
+
*
|
|
450
|
+
* assert.strictEqual(isString(123), false)
|
|
451
|
+
* assert.strictEqual(isString(null), false)
|
|
452
|
+
* ```
|
|
453
|
+
*
|
|
454
|
+
* @category guards
|
|
455
|
+
* @since 2.0.0
|
|
456
|
+
*/
|
|
457
|
+
export declare const isString: (input: unknown) => input is string;
|
|
458
|
+
/**
|
|
459
|
+
* A refinement that checks if a value is a `number`.
|
|
460
|
+
*
|
|
461
|
+
* @example
|
|
462
|
+
* ```ts
|
|
463
|
+
* import * as assert from "node:assert"
|
|
464
|
+
* import { isNumber } from "effect/Predicate"
|
|
465
|
+
*
|
|
466
|
+
* assert.strictEqual(isNumber(123), true)
|
|
467
|
+
* assert.strictEqual(isNumber(0), true)
|
|
468
|
+
* assert.strictEqual(isNumber(-1.5), true)
|
|
469
|
+
* assert.strictEqual(isNumber(NaN), true)
|
|
470
|
+
*
|
|
471
|
+
* assert.strictEqual(isNumber("123"), false)
|
|
472
|
+
* ```
|
|
473
|
+
*
|
|
474
|
+
* @category guards
|
|
475
|
+
* @since 2.0.0
|
|
476
|
+
*/
|
|
477
|
+
export declare const isNumber: (input: unknown) => input is number;
|
|
478
|
+
/**
|
|
479
|
+
* A refinement that checks if a value is a `boolean`.
|
|
480
|
+
*
|
|
481
|
+
* @example
|
|
482
|
+
* ```ts
|
|
483
|
+
* import * as assert from "node:assert"
|
|
484
|
+
* import { isBoolean } from "effect/Predicate"
|
|
485
|
+
*
|
|
486
|
+
* assert.strictEqual(isBoolean(true), true)
|
|
487
|
+
* assert.strictEqual(isBoolean(false), true)
|
|
488
|
+
*
|
|
489
|
+
* assert.strictEqual(isBoolean("true"), false)
|
|
490
|
+
* assert.strictEqual(isBoolean(0), false)
|
|
491
|
+
* ```
|
|
492
|
+
*
|
|
493
|
+
* @category guards
|
|
494
|
+
* @since 2.0.0
|
|
495
|
+
*/
|
|
496
|
+
export declare const isBoolean: (input: unknown) => input is boolean;
|
|
497
|
+
/**
|
|
498
|
+
* A refinement that checks if a value is a `bigint`.
|
|
499
|
+
*
|
|
500
|
+
* @example
|
|
501
|
+
* ```ts
|
|
502
|
+
* import * as assert from "node:assert"
|
|
503
|
+
* import { isBigInt } from "effect/Predicate"
|
|
504
|
+
*
|
|
505
|
+
* assert.strictEqual(isBigInt(1n), true)
|
|
506
|
+
*
|
|
507
|
+
* assert.strictEqual(isBigInt(1), false)
|
|
508
|
+
* assert.strictEqual(isBigInt("1"), false)
|
|
509
|
+
* ```
|
|
510
|
+
*
|
|
511
|
+
* @category guards
|
|
512
|
+
* @since 2.0.0
|
|
513
|
+
*/
|
|
514
|
+
export declare const isBigInt: (input: unknown) => input is bigint;
|
|
515
|
+
/**
|
|
516
|
+
* A refinement that checks if a value is a `symbol`.
|
|
517
|
+
*
|
|
518
|
+
* @example
|
|
519
|
+
* ```ts
|
|
520
|
+
* import * as assert from "node:assert"
|
|
521
|
+
* import { isSymbol } from "effect/Predicate"
|
|
522
|
+
*
|
|
523
|
+
* assert.strictEqual(isSymbol(Symbol.for("a")), true)
|
|
524
|
+
*
|
|
525
|
+
* assert.strictEqual(isSymbol("a"), false)
|
|
526
|
+
* ```
|
|
527
|
+
*
|
|
528
|
+
* @category guards
|
|
529
|
+
* @since 2.0.0
|
|
530
|
+
*/
|
|
531
|
+
export declare const isSymbol: (input: unknown) => input is symbol;
|
|
532
|
+
/**
|
|
533
|
+
* A refinement that checks if a value is a `Function`.
|
|
534
|
+
*
|
|
535
|
+
* @example
|
|
536
|
+
* ```ts
|
|
537
|
+
* import * as assert from "node:assert"
|
|
538
|
+
* import { isFunction } from "effect/Predicate"
|
|
539
|
+
*
|
|
540
|
+
* assert.strictEqual(isFunction(() => {}), true)
|
|
541
|
+
* assert.strictEqual(isFunction(isFunction), true)
|
|
542
|
+
*
|
|
543
|
+
* assert.strictEqual(isFunction("function"), false)
|
|
544
|
+
* ```
|
|
545
|
+
*
|
|
546
|
+
* @category guards
|
|
547
|
+
* @since 2.0.0
|
|
548
|
+
*/
|
|
549
|
+
export declare const isFunction: (input: unknown) => input is Function;
|
|
550
|
+
/**
|
|
551
|
+
* A refinement that checks if a value is `undefined`.
|
|
552
|
+
*
|
|
553
|
+
* @example
|
|
554
|
+
* ```ts
|
|
555
|
+
* import * as assert from "node:assert"
|
|
556
|
+
* import { isUndefined } from "effect/Predicate"
|
|
557
|
+
*
|
|
558
|
+
* assert.strictEqual(isUndefined(undefined), true)
|
|
559
|
+
*
|
|
560
|
+
* assert.strictEqual(isUndefined(null), false)
|
|
561
|
+
* assert.strictEqual(isUndefined("undefined"), false)
|
|
562
|
+
* ```
|
|
563
|
+
*
|
|
564
|
+
* @category guards
|
|
565
|
+
* @since 2.0.0
|
|
566
|
+
*/
|
|
567
|
+
export declare const isUndefined: (input: unknown) => input is undefined;
|
|
568
|
+
/**
|
|
569
|
+
* A refinement that checks if a value is not `undefined`.
|
|
570
|
+
*
|
|
571
|
+
* @example
|
|
572
|
+
* ```ts
|
|
573
|
+
* import * as assert from "node:assert"
|
|
574
|
+
* import { isNotUndefined } from "effect/Predicate"
|
|
575
|
+
*
|
|
576
|
+
* assert.strictEqual(isNotUndefined(null), true)
|
|
577
|
+
* assert.strictEqual(isNotUndefined("value"), true)
|
|
578
|
+
*
|
|
579
|
+
* assert.strictEqual(isNotUndefined(undefined), false)
|
|
580
|
+
* ```
|
|
581
|
+
*
|
|
582
|
+
* @category guards
|
|
583
|
+
* @since 2.0.0
|
|
584
|
+
*/
|
|
585
|
+
export declare const isNotUndefined: <A>(input: A) => input is Exclude<A, undefined>;
|
|
586
|
+
/**
|
|
587
|
+
* A refinement that checks if a value is `null`.
|
|
588
|
+
*
|
|
589
|
+
* @example
|
|
590
|
+
* ```ts
|
|
591
|
+
* import * as assert from "node:assert"
|
|
592
|
+
* import { isNull } from "effect/Predicate"
|
|
593
|
+
*
|
|
594
|
+
* assert.strictEqual(isNull(null), true)
|
|
595
|
+
*
|
|
596
|
+
* assert.strictEqual(isNull(undefined), false)
|
|
597
|
+
* assert.strictEqual(isNull("null"), false)
|
|
598
|
+
* ```
|
|
599
|
+
*
|
|
600
|
+
* @category guards
|
|
601
|
+
* @since 2.0.0
|
|
602
|
+
*/
|
|
603
|
+
export declare const isNull: (input: unknown) => input is null;
|
|
604
|
+
/**
|
|
605
|
+
* A refinement that checks if a value is not `null`.
|
|
606
|
+
*
|
|
607
|
+
* @example
|
|
608
|
+
* ```ts
|
|
609
|
+
* import * as assert from "node:assert"
|
|
610
|
+
* import { isNotNull } from "effect/Predicate"
|
|
611
|
+
*
|
|
612
|
+
* assert.strictEqual(isNotNull(undefined), true)
|
|
613
|
+
* assert.strictEqual(isNotNull("value"), true)
|
|
614
|
+
*
|
|
615
|
+
* assert.strictEqual(isNotNull(null), false)
|
|
616
|
+
* ```
|
|
617
|
+
*
|
|
618
|
+
* @category guards
|
|
619
|
+
* @since 2.0.0
|
|
620
|
+
*/
|
|
621
|
+
export declare const isNotNull: <A>(input: A) => input is Exclude<A, null>;
|
|
622
|
+
/**
|
|
623
|
+
* A refinement that always returns `false`. The type is narrowed to `never`.
|
|
624
|
+
*
|
|
625
|
+
* @example
|
|
626
|
+
* ```ts
|
|
627
|
+
* import * as assert from "node:assert"
|
|
628
|
+
* import { isNever } from "effect/Predicate"
|
|
629
|
+
*
|
|
630
|
+
* assert.strictEqual(isNever(1), false)
|
|
631
|
+
* assert.strictEqual(isNever(null), false)
|
|
632
|
+
* assert.strictEqual(isNever({}), false)
|
|
633
|
+
* ```
|
|
634
|
+
*
|
|
635
|
+
* @category guards
|
|
636
|
+
* @since 2.0.0
|
|
637
|
+
*/
|
|
638
|
+
export declare const isNever: (input: unknown) => input is never;
|
|
639
|
+
/**
|
|
640
|
+
* A refinement that always returns `true`. The type is narrowed to `unknown`.
|
|
641
|
+
*
|
|
642
|
+
* @example
|
|
643
|
+
* ```ts
|
|
644
|
+
* import * as assert from "node:assert"
|
|
645
|
+
* import { isUnknown } from "effect/Predicate"
|
|
646
|
+
*
|
|
647
|
+
* assert.strictEqual(isUnknown(1), true)
|
|
648
|
+
* assert.strictEqual(isUnknown(null), true)
|
|
649
|
+
* assert.strictEqual(isUnknown({}), true)
|
|
650
|
+
* ```
|
|
651
|
+
*
|
|
652
|
+
* @category guards
|
|
653
|
+
* @since 2.0.0
|
|
654
|
+
*/
|
|
655
|
+
export declare const isUnknown: (input: unknown) => input is unknown;
|
|
656
|
+
/**
|
|
657
|
+
* A refinement that checks if a value is an `object`. Note that in JavaScript,
|
|
658
|
+
* arrays and functions are also considered objects.
|
|
659
|
+
*
|
|
660
|
+
* @example
|
|
661
|
+
* ```ts
|
|
662
|
+
* import * as assert from "node:assert"
|
|
663
|
+
* import { isObject } from "effect/Predicate"
|
|
664
|
+
*
|
|
665
|
+
* assert.strictEqual(isObject({}), true)
|
|
666
|
+
* assert.strictEqual(isObject([]), true)
|
|
667
|
+
* assert.strictEqual(isObject(() => {}), true)
|
|
668
|
+
*
|
|
669
|
+
* assert.strictEqual(isObject(null), false)
|
|
670
|
+
* assert.strictEqual(isObject("hello"), false)
|
|
671
|
+
* ```
|
|
672
|
+
*
|
|
673
|
+
* @category guards
|
|
674
|
+
* @since 2.0.0
|
|
675
|
+
* @see isRecord to check for plain objects (excluding arrays and functions).
|
|
676
|
+
*/
|
|
677
|
+
export declare const isObject: (input: unknown) => input is object;
|
|
678
|
+
/**
|
|
679
|
+
* A refinement that checks if a value is an object-like value and has a specific property key.
|
|
680
|
+
*
|
|
681
|
+
* @example
|
|
682
|
+
* ```ts
|
|
683
|
+
* import * as assert from "node:assert"
|
|
684
|
+
* import { hasProperty } from "effect/Predicate"
|
|
685
|
+
*
|
|
686
|
+
* assert.strictEqual(hasProperty({ a: 1 }, "a"), true)
|
|
687
|
+
* assert.strictEqual(hasProperty({ a: 1 }, "b"), false)
|
|
688
|
+
*
|
|
689
|
+
* const value: unknown = { name: "Alice" };
|
|
690
|
+
* if (hasProperty(value, "name")) {
|
|
691
|
+
* // The type of `value` is narrowed to `{ name: unknown }`
|
|
692
|
+
* // and we can safely access `value.name`
|
|
693
|
+
* console.log(value.name)
|
|
694
|
+
* }
|
|
695
|
+
* ```
|
|
696
|
+
*
|
|
697
|
+
* @category guards
|
|
698
|
+
* @since 2.0.0
|
|
699
|
+
*/
|
|
700
|
+
export declare const hasProperty: {
|
|
701
|
+
/**
|
|
702
|
+
* A refinement that checks if a value is an object-like value and has a specific property key.
|
|
703
|
+
*
|
|
704
|
+
* @example
|
|
705
|
+
* ```ts
|
|
706
|
+
* import * as assert from "node:assert"
|
|
707
|
+
* import { hasProperty } from "effect/Predicate"
|
|
708
|
+
*
|
|
709
|
+
* assert.strictEqual(hasProperty({ a: 1 }, "a"), true)
|
|
710
|
+
* assert.strictEqual(hasProperty({ a: 1 }, "b"), false)
|
|
711
|
+
*
|
|
712
|
+
* const value: unknown = { name: "Alice" };
|
|
713
|
+
* if (hasProperty(value, "name")) {
|
|
714
|
+
* // The type of `value` is narrowed to `{ name: unknown }`
|
|
715
|
+
* // and we can safely access `value.name`
|
|
716
|
+
* console.log(value.name)
|
|
717
|
+
* }
|
|
718
|
+
* ```
|
|
719
|
+
*
|
|
720
|
+
* @category guards
|
|
721
|
+
* @since 2.0.0
|
|
722
|
+
*/
|
|
723
|
+
<P extends PropertyKey>(property: P): (self: unknown) => self is {
|
|
724
|
+
[K in P]: unknown;
|
|
725
|
+
};
|
|
726
|
+
/**
|
|
727
|
+
* A refinement that checks if a value is an object-like value and has a specific property key.
|
|
728
|
+
*
|
|
729
|
+
* @example
|
|
730
|
+
* ```ts
|
|
731
|
+
* import * as assert from "node:assert"
|
|
732
|
+
* import { hasProperty } from "effect/Predicate"
|
|
733
|
+
*
|
|
734
|
+
* assert.strictEqual(hasProperty({ a: 1 }, "a"), true)
|
|
735
|
+
* assert.strictEqual(hasProperty({ a: 1 }, "b"), false)
|
|
736
|
+
*
|
|
737
|
+
* const value: unknown = { name: "Alice" };
|
|
738
|
+
* if (hasProperty(value, "name")) {
|
|
739
|
+
* // The type of `value` is narrowed to `{ name: unknown }`
|
|
740
|
+
* // and we can safely access `value.name`
|
|
741
|
+
* console.log(value.name)
|
|
742
|
+
* }
|
|
743
|
+
* ```
|
|
744
|
+
*
|
|
745
|
+
* @category guards
|
|
746
|
+
* @since 2.0.0
|
|
747
|
+
*/
|
|
748
|
+
<P extends PropertyKey>(self: unknown, property: P): self is {
|
|
749
|
+
[K in P]: unknown;
|
|
750
|
+
};
|
|
751
|
+
};
|
|
752
|
+
/**
|
|
753
|
+
* A refinement that checks if a value is an object with a `_tag` property
|
|
754
|
+
* that matches the given tag. This is a powerful tool for working with
|
|
755
|
+
* discriminated union types.
|
|
756
|
+
*
|
|
757
|
+
* @example
|
|
758
|
+
* ```ts
|
|
759
|
+
* import * as assert from "node:assert"
|
|
760
|
+
* import { isTagged } from "effect/Predicate"
|
|
761
|
+
*
|
|
762
|
+
* type Shape = { _tag: "circle"; radius: number } | { _tag: "square"; side: number }
|
|
763
|
+
*
|
|
764
|
+
* const isCircle = isTagged("circle")
|
|
765
|
+
*
|
|
766
|
+
* const shape1: Shape = { _tag: "circle", radius: 10 }
|
|
767
|
+
* const shape2: Shape = { _tag: "square", side: 5 }
|
|
768
|
+
*
|
|
769
|
+
* assert.strictEqual(isCircle(shape1), true)
|
|
770
|
+
* assert.strictEqual(isCircle(shape2), false)
|
|
771
|
+
*
|
|
772
|
+
* if (isCircle(shape1)) {
|
|
773
|
+
* // shape1 is now narrowed to { _tag: "circle"; radius: number }
|
|
774
|
+
* assert.strictEqual(shape1.radius, 10)
|
|
775
|
+
* }
|
|
776
|
+
* ```
|
|
777
|
+
*
|
|
778
|
+
* @category guards
|
|
779
|
+
* @since 2.0.0
|
|
780
|
+
*/
|
|
781
|
+
export declare const isTagged: {
|
|
782
|
+
/**
|
|
783
|
+
* A refinement that checks if a value is an object with a `_tag` property
|
|
784
|
+
* that matches the given tag. This is a powerful tool for working with
|
|
785
|
+
* discriminated union types.
|
|
786
|
+
*
|
|
787
|
+
* @example
|
|
788
|
+
* ```ts
|
|
789
|
+
* import * as assert from "node:assert"
|
|
790
|
+
* import { isTagged } from "effect/Predicate"
|
|
791
|
+
*
|
|
792
|
+
* type Shape = { _tag: "circle"; radius: number } | { _tag: "square"; side: number }
|
|
793
|
+
*
|
|
794
|
+
* const isCircle = isTagged("circle")
|
|
795
|
+
*
|
|
796
|
+
* const shape1: Shape = { _tag: "circle", radius: 10 }
|
|
797
|
+
* const shape2: Shape = { _tag: "square", side: 5 }
|
|
798
|
+
*
|
|
799
|
+
* assert.strictEqual(isCircle(shape1), true)
|
|
800
|
+
* assert.strictEqual(isCircle(shape2), false)
|
|
801
|
+
*
|
|
802
|
+
* if (isCircle(shape1)) {
|
|
803
|
+
* // shape1 is now narrowed to { _tag: "circle"; radius: number }
|
|
804
|
+
* assert.strictEqual(shape1.radius, 10)
|
|
805
|
+
* }
|
|
806
|
+
* ```
|
|
807
|
+
*
|
|
808
|
+
* @category guards
|
|
809
|
+
* @since 2.0.0
|
|
810
|
+
*/
|
|
811
|
+
<K extends string>(tag: K): (self: unknown) => self is {
|
|
812
|
+
_tag: K;
|
|
813
|
+
};
|
|
814
|
+
/**
|
|
815
|
+
* A refinement that checks if a value is an object with a `_tag` property
|
|
816
|
+
* that matches the given tag. This is a powerful tool for working with
|
|
817
|
+
* discriminated union types.
|
|
818
|
+
*
|
|
819
|
+
* @example
|
|
820
|
+
* ```ts
|
|
821
|
+
* import * as assert from "node:assert"
|
|
822
|
+
* import { isTagged } from "effect/Predicate"
|
|
823
|
+
*
|
|
824
|
+
* type Shape = { _tag: "circle"; radius: number } | { _tag: "square"; side: number }
|
|
825
|
+
*
|
|
826
|
+
* const isCircle = isTagged("circle")
|
|
827
|
+
*
|
|
828
|
+
* const shape1: Shape = { _tag: "circle", radius: 10 }
|
|
829
|
+
* const shape2: Shape = { _tag: "square", side: 5 }
|
|
830
|
+
*
|
|
831
|
+
* assert.strictEqual(isCircle(shape1), true)
|
|
832
|
+
* assert.strictEqual(isCircle(shape2), false)
|
|
833
|
+
*
|
|
834
|
+
* if (isCircle(shape1)) {
|
|
835
|
+
* // shape1 is now narrowed to { _tag: "circle"; radius: number }
|
|
836
|
+
* assert.strictEqual(shape1.radius, 10)
|
|
837
|
+
* }
|
|
838
|
+
* ```
|
|
839
|
+
*
|
|
840
|
+
* @category guards
|
|
841
|
+
* @since 2.0.0
|
|
842
|
+
*/
|
|
843
|
+
<K extends string>(self: unknown, tag: K): self is {
|
|
844
|
+
_tag: K;
|
|
845
|
+
};
|
|
846
|
+
};
|
|
847
|
+
/**
|
|
848
|
+
* A refinement that checks if a value is either `null` or `undefined`.
|
|
849
|
+
*
|
|
850
|
+
* @example
|
|
851
|
+
* ```ts
|
|
852
|
+
* import * as assert from "node:assert"
|
|
853
|
+
* import { isNullable } from "effect/Predicate"
|
|
854
|
+
*
|
|
855
|
+
* assert.strictEqual(isNullable(null), true)
|
|
856
|
+
* assert.strictEqual(isNullable(undefined), true)
|
|
857
|
+
*
|
|
858
|
+
* assert.strictEqual(isNullable(0), false)
|
|
859
|
+
* assert.strictEqual(isNullable(""), false)
|
|
860
|
+
* ```
|
|
861
|
+
*
|
|
862
|
+
* @category guards
|
|
863
|
+
* @since 2.0.0
|
|
864
|
+
* @see isNotNullable
|
|
865
|
+
*/
|
|
866
|
+
export declare const isNullable: <A>(input: A) => input is Extract<A, null | undefined>;
|
|
867
|
+
/**
|
|
868
|
+
* A refinement that checks if a value is neither `null` nor `undefined`.
|
|
869
|
+
* The type is narrowed to `NonNullable<A>`.
|
|
870
|
+
*
|
|
871
|
+
* @example
|
|
872
|
+
* ```ts
|
|
873
|
+
* import * as assert from "node:assert"
|
|
874
|
+
* import { isNotNullable } from "effect/Predicate"
|
|
875
|
+
*
|
|
876
|
+
* assert.strictEqual(isNotNullable(0), true)
|
|
877
|
+
* assert.strictEqual(isNotNullable("hello"), true)
|
|
878
|
+
*
|
|
879
|
+
* assert.strictEqual(isNotNullable(null), false)
|
|
880
|
+
* assert.strictEqual(isNotNullable(undefined), false)
|
|
881
|
+
* ```
|
|
882
|
+
*
|
|
883
|
+
* @category guards
|
|
884
|
+
* @since 2.0.0
|
|
885
|
+
* @see isNullable
|
|
886
|
+
*/
|
|
887
|
+
export declare const isNotNullable: <A>(input: A) => input is NonNullable<A>;
|
|
888
|
+
/**
|
|
889
|
+
* A refinement that checks if a value is an instance of `Error`.
|
|
890
|
+
*
|
|
891
|
+
* @example
|
|
892
|
+
* ```ts
|
|
893
|
+
* import * as assert from "node:assert"
|
|
894
|
+
* import { isError } from "effect/Predicate"
|
|
895
|
+
*
|
|
896
|
+
* assert.strictEqual(isError(new Error("boom")), true)
|
|
897
|
+
* assert.strictEqual(isError(new TypeError("boom")), true)
|
|
898
|
+
*
|
|
899
|
+
* assert.strictEqual(isError({ message: "boom" }), false)
|
|
900
|
+
* assert.strictEqual(isError("boom"), false)
|
|
901
|
+
* ```
|
|
902
|
+
*
|
|
903
|
+
* @category guards
|
|
904
|
+
* @since 2.0.0
|
|
905
|
+
*/
|
|
906
|
+
export declare const isError: (input: unknown) => input is Error;
|
|
907
|
+
/**
|
|
908
|
+
* A refinement that checks if a value is a `Uint8Array`.
|
|
909
|
+
*
|
|
910
|
+
* @example
|
|
911
|
+
* ```ts
|
|
912
|
+
* import * as assert from "node:assert"
|
|
913
|
+
* import { isUint8Array } from "effect/Predicate"
|
|
914
|
+
*
|
|
915
|
+
* assert.strictEqual(isUint8Array(new Uint8Array()), true)
|
|
916
|
+
*
|
|
917
|
+
* assert.strictEqual(isUint8Array(new Uint16Array()), false)
|
|
918
|
+
* assert.strictEqual(isUint8Array([1, 2, 3]), false)
|
|
919
|
+
* ```
|
|
920
|
+
*
|
|
921
|
+
* @category guards
|
|
922
|
+
* @since 2.0.0
|
|
923
|
+
*/
|
|
924
|
+
export declare const isUint8Array: (input: unknown) => input is Uint8Array;
|
|
925
|
+
/**
|
|
926
|
+
* A refinement that checks if a value is a `Date` object.
|
|
927
|
+
*
|
|
928
|
+
* @example
|
|
929
|
+
* ```ts
|
|
930
|
+
* import * as assert from "node:assert"
|
|
931
|
+
* import { isDate } from "effect/Predicate"
|
|
932
|
+
*
|
|
933
|
+
* assert.strictEqual(isDate(new Date()), true)
|
|
934
|
+
*
|
|
935
|
+
* assert.strictEqual(isDate(Date.now()), false) // `Date.now()` returns a number
|
|
936
|
+
* assert.strictEqual(isDate("2023-01-01"), false)
|
|
937
|
+
* ```
|
|
938
|
+
*
|
|
939
|
+
* @category guards
|
|
940
|
+
* @since 2.0.0
|
|
941
|
+
*/
|
|
942
|
+
export declare const isDate: (input: unknown) => input is Date;
|
|
943
|
+
/**
|
|
944
|
+
* A refinement that checks if a value is an `Iterable`.
|
|
945
|
+
* Many built-in types are iterable, such as `Array`, `string`, `Map`, and `Set`.
|
|
946
|
+
*
|
|
947
|
+
* @example
|
|
948
|
+
* ```ts
|
|
949
|
+
* import * as assert from "node:assert"
|
|
950
|
+
* import { isIterable } from "effect/Predicate"
|
|
951
|
+
*
|
|
952
|
+
* assert.strictEqual(isIterable([]), true)
|
|
953
|
+
* assert.strictEqual(isIterable("hello"), true)
|
|
954
|
+
* assert.strictEqual(isIterable(new Set()), true)
|
|
955
|
+
*
|
|
956
|
+
* assert.strictEqual(isIterable({}), false)
|
|
957
|
+
* assert.strictEqual(isIterable(123), false)
|
|
958
|
+
* ```
|
|
959
|
+
*
|
|
960
|
+
* @category guards
|
|
961
|
+
* @since 2.0.0
|
|
962
|
+
*/
|
|
963
|
+
export declare const isIterable: (input: unknown) => input is Iterable<unknown>;
|
|
964
|
+
/**
|
|
965
|
+
* A refinement that checks if a value is a record (i.e., a plain object).
|
|
966
|
+
* This check returns `false` for arrays, `null`, and functions.
|
|
967
|
+
*
|
|
968
|
+
* @example
|
|
969
|
+
* ```ts
|
|
970
|
+
* import * as assert from "node:assert"
|
|
971
|
+
* import { isRecord } from "effect/Predicate"
|
|
972
|
+
*
|
|
973
|
+
* assert.strictEqual(isRecord({}), true)
|
|
974
|
+
* assert.strictEqual(isRecord({ a: 1 }), true)
|
|
975
|
+
*
|
|
976
|
+
* assert.strictEqual(isRecord([]), false)
|
|
977
|
+
* assert.strictEqual(isRecord(new Date()), false)
|
|
978
|
+
* assert.strictEqual(isRecord(null), false)
|
|
979
|
+
* assert.strictEqual(isRecord(() => null), false)
|
|
980
|
+
* ```
|
|
981
|
+
*
|
|
982
|
+
* @category guards
|
|
983
|
+
* @since 2.0.0
|
|
984
|
+
* @see isObject
|
|
985
|
+
*/
|
|
986
|
+
export declare const isRecord: (input: unknown) => input is {
|
|
987
|
+
[x: string | symbol]: unknown;
|
|
988
|
+
};
|
|
989
|
+
/**
|
|
990
|
+
* A refinement that checks if a value is a readonly record (i.e., a plain object).
|
|
991
|
+
* This check returns `false` for arrays, `null`, and functions.
|
|
992
|
+
*
|
|
993
|
+
* This is an alias for `isRecord`.
|
|
994
|
+
*
|
|
995
|
+
* @example
|
|
996
|
+
* ```ts
|
|
997
|
+
* import * as assert from "node:assert"
|
|
998
|
+
* import { isReadonlyRecord } from "effect/Predicate"
|
|
999
|
+
*
|
|
1000
|
+
* assert.strictEqual(isReadonlyRecord({}), true)
|
|
1001
|
+
* assert.strictEqual(isReadonlyRecord({ a: 1 }), true)
|
|
1002
|
+
*
|
|
1003
|
+
* assert.strictEqual(isReadonlyRecord([]), false)
|
|
1004
|
+
* assert.strictEqual(isReadonlyRecord(null), false)
|
|
1005
|
+
* ```
|
|
1006
|
+
*
|
|
1007
|
+
* @category guards
|
|
1008
|
+
* @since 2.0.0
|
|
1009
|
+
*/
|
|
1010
|
+
export declare const isReadonlyRecord: (input: unknown) => input is {
|
|
1011
|
+
readonly [x: string | symbol]: unknown;
|
|
1012
|
+
};
|
|
1013
|
+
/**
|
|
1014
|
+
* A refinement that checks if a value is a `Promise`. It performs a duck-typing check
|
|
1015
|
+
* for `.then` and `.catch` methods.
|
|
1016
|
+
*
|
|
1017
|
+
* @example
|
|
1018
|
+
* ```ts
|
|
1019
|
+
* import * as assert from "node:assert"
|
|
1020
|
+
* import { isPromise } from "effect/Predicate"
|
|
1021
|
+
*
|
|
1022
|
+
* assert.strictEqual(isPromise(Promise.resolve(1)), true)
|
|
1023
|
+
* assert.strictEqual(isPromise(new Promise(() => {})), true)
|
|
1024
|
+
*
|
|
1025
|
+
* assert.strictEqual(isPromise({ then() {} }), false) // Missing .catch
|
|
1026
|
+
* assert.strictEqual(isPromise({}), false)
|
|
1027
|
+
* ```
|
|
1028
|
+
*
|
|
1029
|
+
* @category guards
|
|
1030
|
+
* @since 2.0.0
|
|
1031
|
+
* @see isPromiseLike
|
|
1032
|
+
*/
|
|
1033
|
+
export declare const isPromise: (input: unknown) => input is Promise<unknown>;
|
|
1034
|
+
/**
|
|
1035
|
+
* A refinement that checks if a value is `PromiseLike`. It performs a duck-typing
|
|
1036
|
+
* check for a `.then` method.
|
|
1037
|
+
*
|
|
1038
|
+
* @example
|
|
1039
|
+
* ```ts
|
|
1040
|
+
* import * as assert from "node:assert"
|
|
1041
|
+
* import { isPromiseLike } from "effect/Predicate"
|
|
1042
|
+
*
|
|
1043
|
+
* assert.strictEqual(isPromiseLike(Promise.resolve(1)), true)
|
|
1044
|
+
* assert.strictEqual(isPromiseLike({ then: () => {} }), true)
|
|
1045
|
+
*
|
|
1046
|
+
* assert.strictEqual(isPromiseLike({}), false)
|
|
1047
|
+
* ```
|
|
1048
|
+
*
|
|
1049
|
+
* @category guards
|
|
1050
|
+
* @since 2.0.0
|
|
1051
|
+
* @see isPromise
|
|
1052
|
+
*/
|
|
1053
|
+
export declare const isPromiseLike: (input: unknown) => input is PromiseLike<unknown>;
|
|
1054
|
+
/**
|
|
1055
|
+
* A refinement that checks if a value is a `RegExp`.
|
|
1056
|
+
*
|
|
1057
|
+
* @example
|
|
1058
|
+
* ```ts
|
|
1059
|
+
* import * as assert from "node:assert"
|
|
1060
|
+
* import { Predicate } from "effect"
|
|
1061
|
+
*
|
|
1062
|
+
* assert.strictEqual(Predicate.isRegExp(/a/), true)
|
|
1063
|
+
* assert.strictEqual(Predicate.isRegExp(new RegExp("a")), true)
|
|
1064
|
+
*
|
|
1065
|
+
* assert.strictEqual(Predicate.isRegExp("/a/"), false)
|
|
1066
|
+
* ```
|
|
1067
|
+
*
|
|
1068
|
+
* @category guards
|
|
1069
|
+
* @since 3.9.0
|
|
1070
|
+
*/
|
|
1071
|
+
export declare const isRegExp: (input: unknown) => input is RegExp;
|
|
1072
|
+
/**
|
|
1073
|
+
* Composes a `Refinement` with another `Refinement` or `Predicate`.
|
|
1074
|
+
*
|
|
1075
|
+
* This can be used to chain checks. The first refinement is applied, and if it
|
|
1076
|
+
* passes, the second check is applied to the same value, potentially refining
|
|
1077
|
+
* the type further.
|
|
1078
|
+
*
|
|
1079
|
+
* @example
|
|
1080
|
+
* ```ts
|
|
1081
|
+
* import { Predicate } from "effect"
|
|
1082
|
+
* import * as assert from "node:assert"
|
|
1083
|
+
*
|
|
1084
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1085
|
+
* const minLength = (n: number) => (s: string): boolean => s.length >= n
|
|
1086
|
+
*
|
|
1087
|
+
* // Create a refinement that checks for a string with a minimum length of 3
|
|
1088
|
+
* const isLongString = Predicate.compose(isString, minLength(3))
|
|
1089
|
+
*
|
|
1090
|
+
* let value: unknown = "hello"
|
|
1091
|
+
*
|
|
1092
|
+
* assert.strictEqual(isLongString(value), true)
|
|
1093
|
+
* if (isLongString(value)) {
|
|
1094
|
+
* // value is narrowed to string
|
|
1095
|
+
* assert.strictEqual(value.toUpperCase(), "HELLO")
|
|
1096
|
+
* }
|
|
1097
|
+
* assert.strictEqual(isLongString("hi"), false)
|
|
1098
|
+
* ```
|
|
1099
|
+
*
|
|
1100
|
+
* @since 2.0.0
|
|
1101
|
+
*/
|
|
1102
|
+
export declare const compose: {
|
|
1103
|
+
/**
|
|
1104
|
+
* Composes a `Refinement` with another `Refinement` or `Predicate`.
|
|
1105
|
+
*
|
|
1106
|
+
* This can be used to chain checks. The first refinement is applied, and if it
|
|
1107
|
+
* passes, the second check is applied to the same value, potentially refining
|
|
1108
|
+
* the type further.
|
|
1109
|
+
*
|
|
1110
|
+
* @example
|
|
1111
|
+
* ```ts
|
|
1112
|
+
* import { Predicate } from "effect"
|
|
1113
|
+
* import * as assert from "node:assert"
|
|
1114
|
+
*
|
|
1115
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1116
|
+
* const minLength = (n: number) => (s: string): boolean => s.length >= n
|
|
1117
|
+
*
|
|
1118
|
+
* // Create a refinement that checks for a string with a minimum length of 3
|
|
1119
|
+
* const isLongString = Predicate.compose(isString, minLength(3))
|
|
1120
|
+
*
|
|
1121
|
+
* let value: unknown = "hello"
|
|
1122
|
+
*
|
|
1123
|
+
* assert.strictEqual(isLongString(value), true)
|
|
1124
|
+
* if (isLongString(value)) {
|
|
1125
|
+
* // value is narrowed to string
|
|
1126
|
+
* assert.strictEqual(value.toUpperCase(), "HELLO")
|
|
1127
|
+
* }
|
|
1128
|
+
* assert.strictEqual(isLongString("hi"), false)
|
|
1129
|
+
* ```
|
|
1130
|
+
*
|
|
1131
|
+
* @since 2.0.0
|
|
1132
|
+
*/
|
|
1133
|
+
<A, B extends A, C extends B, D extends C>(bc: Refinement<C, D>): (ab: Refinement<A, B>) => Refinement<A, D>;
|
|
1134
|
+
/**
|
|
1135
|
+
* Composes a `Refinement` with another `Refinement` or `Predicate`.
|
|
1136
|
+
*
|
|
1137
|
+
* This can be used to chain checks. The first refinement is applied, and if it
|
|
1138
|
+
* passes, the second check is applied to the same value, potentially refining
|
|
1139
|
+
* the type further.
|
|
1140
|
+
*
|
|
1141
|
+
* @example
|
|
1142
|
+
* ```ts
|
|
1143
|
+
* import { Predicate } from "effect"
|
|
1144
|
+
* import * as assert from "node:assert"
|
|
1145
|
+
*
|
|
1146
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1147
|
+
* const minLength = (n: number) => (s: string): boolean => s.length >= n
|
|
1148
|
+
*
|
|
1149
|
+
* // Create a refinement that checks for a string with a minimum length of 3
|
|
1150
|
+
* const isLongString = Predicate.compose(isString, minLength(3))
|
|
1151
|
+
*
|
|
1152
|
+
* let value: unknown = "hello"
|
|
1153
|
+
*
|
|
1154
|
+
* assert.strictEqual(isLongString(value), true)
|
|
1155
|
+
* if (isLongString(value)) {
|
|
1156
|
+
* // value is narrowed to string
|
|
1157
|
+
* assert.strictEqual(value.toUpperCase(), "HELLO")
|
|
1158
|
+
* }
|
|
1159
|
+
* assert.strictEqual(isLongString("hi"), false)
|
|
1160
|
+
* ```
|
|
1161
|
+
*
|
|
1162
|
+
* @since 2.0.0
|
|
1163
|
+
*/
|
|
1164
|
+
<A, B extends A>(bc: Predicate<NoInfer<B>>): (ab: Refinement<A, B>) => Refinement<A, B>;
|
|
1165
|
+
/**
|
|
1166
|
+
* Composes a `Refinement` with another `Refinement` or `Predicate`.
|
|
1167
|
+
*
|
|
1168
|
+
* This can be used to chain checks. The first refinement is applied, and if it
|
|
1169
|
+
* passes, the second check is applied to the same value, potentially refining
|
|
1170
|
+
* the type further.
|
|
1171
|
+
*
|
|
1172
|
+
* @example
|
|
1173
|
+
* ```ts
|
|
1174
|
+
* import { Predicate } from "effect"
|
|
1175
|
+
* import * as assert from "node:assert"
|
|
1176
|
+
*
|
|
1177
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1178
|
+
* const minLength = (n: number) => (s: string): boolean => s.length >= n
|
|
1179
|
+
*
|
|
1180
|
+
* // Create a refinement that checks for a string with a minimum length of 3
|
|
1181
|
+
* const isLongString = Predicate.compose(isString, minLength(3))
|
|
1182
|
+
*
|
|
1183
|
+
* let value: unknown = "hello"
|
|
1184
|
+
*
|
|
1185
|
+
* assert.strictEqual(isLongString(value), true)
|
|
1186
|
+
* if (isLongString(value)) {
|
|
1187
|
+
* // value is narrowed to string
|
|
1188
|
+
* assert.strictEqual(value.toUpperCase(), "HELLO")
|
|
1189
|
+
* }
|
|
1190
|
+
* assert.strictEqual(isLongString("hi"), false)
|
|
1191
|
+
* ```
|
|
1192
|
+
*
|
|
1193
|
+
* @since 2.0.0
|
|
1194
|
+
*/
|
|
1195
|
+
<A, B extends A, C extends B, D extends C>(ab: Refinement<A, B>, bc: Refinement<C, D>): Refinement<A, D>;
|
|
1196
|
+
/**
|
|
1197
|
+
* Composes a `Refinement` with another `Refinement` or `Predicate`.
|
|
1198
|
+
*
|
|
1199
|
+
* This can be used to chain checks. The first refinement is applied, and if it
|
|
1200
|
+
* passes, the second check is applied to the same value, potentially refining
|
|
1201
|
+
* the type further.
|
|
1202
|
+
*
|
|
1203
|
+
* @example
|
|
1204
|
+
* ```ts
|
|
1205
|
+
* import { Predicate } from "effect"
|
|
1206
|
+
* import * as assert from "node:assert"
|
|
1207
|
+
*
|
|
1208
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1209
|
+
* const minLength = (n: number) => (s: string): boolean => s.length >= n
|
|
1210
|
+
*
|
|
1211
|
+
* // Create a refinement that checks for a string with a minimum length of 3
|
|
1212
|
+
* const isLongString = Predicate.compose(isString, minLength(3))
|
|
1213
|
+
*
|
|
1214
|
+
* let value: unknown = "hello"
|
|
1215
|
+
*
|
|
1216
|
+
* assert.strictEqual(isLongString(value), true)
|
|
1217
|
+
* if (isLongString(value)) {
|
|
1218
|
+
* // value is narrowed to string
|
|
1219
|
+
* assert.strictEqual(value.toUpperCase(), "HELLO")
|
|
1220
|
+
* }
|
|
1221
|
+
* assert.strictEqual(isLongString("hi"), false)
|
|
1222
|
+
* ```
|
|
1223
|
+
*
|
|
1224
|
+
* @since 2.0.0
|
|
1225
|
+
*/
|
|
1226
|
+
<A, B extends A>(ab: Refinement<A, B>, bc: Predicate<NoInfer<B>>): Refinement<A, B>;
|
|
1227
|
+
};
|
|
1228
|
+
/**
|
|
1229
|
+
* Combines two predicates to test a tuple of two values. The first predicate tests the
|
|
1230
|
+
* first element of the tuple, and the second predicate tests the second element.
|
|
1231
|
+
*
|
|
1232
|
+
* @category combining
|
|
1233
|
+
* @since 2.0.0
|
|
1234
|
+
*/
|
|
1235
|
+
export declare const product: <A, B>(self: Predicate<A>, that: Predicate<B>) => Predicate<readonly [A, B]>;
|
|
1236
|
+
/**
|
|
1237
|
+
* Takes an iterable of predicates and returns a new predicate that tests an array of values.
|
|
1238
|
+
* The new predicate returns `true` if each predicate at a given index is satisfied by the
|
|
1239
|
+
* value at the same index in the array. The check stops at the length of the shorter of
|
|
1240
|
+
* the two iterables (predicates or values).
|
|
1241
|
+
*
|
|
1242
|
+
* @category combining
|
|
1243
|
+
* @since 2.0.0
|
|
1244
|
+
* @see tuple for a more powerful, variadic version.
|
|
1245
|
+
*/
|
|
1246
|
+
export declare const all: <A>(collection: Iterable<Predicate<A>>) => Predicate<ReadonlyArray<A>>;
|
|
1247
|
+
/**
|
|
1248
|
+
* Combines a predicate for a single value and an iterable of predicates for the rest of an array.
|
|
1249
|
+
* Useful for checking the head and tail of an array separately.
|
|
1250
|
+
*
|
|
1251
|
+
* @category combining
|
|
1252
|
+
* @since 2.0.0
|
|
1253
|
+
*/
|
|
1254
|
+
export declare const productMany: <A>(self: Predicate<A>, collection: Iterable<Predicate<A>>) => Predicate<readonly [A, ...Array<A>]>;
|
|
1255
|
+
/**
|
|
1256
|
+
* Combines an array of predicates into a single predicate that tests an array of values.
|
|
1257
|
+
* This function is highly type-aware and will produce a `Refinement` if any of the provided
|
|
1258
|
+
* predicates are `Refinement`s, allowing for powerful type-narrowing of tuples.
|
|
1259
|
+
*
|
|
1260
|
+
* - If all predicates are `Predicate<T>`, the result is `Predicate<[T, T, ...]>`.
|
|
1261
|
+
* - If any predicate is a `Refinement<A, B>`, the result is a `Refinement` that narrows
|
|
1262
|
+
* the input tuple type to a more specific tuple type.
|
|
1263
|
+
*
|
|
1264
|
+
* @example
|
|
1265
|
+
* ```ts
|
|
1266
|
+
* import * as assert from "node:assert"
|
|
1267
|
+
* import { Predicate } from "effect"
|
|
1268
|
+
*
|
|
1269
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1270
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1271
|
+
*
|
|
1272
|
+
* // Create a refinement for a [string, number] tuple
|
|
1273
|
+
* const isStringNumberTuple = Predicate.tuple(isString, isNumber)
|
|
1274
|
+
*
|
|
1275
|
+
* const value: [unknown, unknown] = ["hello", 123]
|
|
1276
|
+
* if (isStringNumberTuple(value)) {
|
|
1277
|
+
* // value is narrowed to [string, number]
|
|
1278
|
+
* const [s, n] = value
|
|
1279
|
+
* assert.strictEqual(s.toUpperCase(), "HELLO")
|
|
1280
|
+
* assert.strictEqual(n.toFixed(2), "123.00")
|
|
1281
|
+
* }
|
|
1282
|
+
* assert.strictEqual(isStringNumberTuple(["hello", "123"]), false)
|
|
1283
|
+
* ```
|
|
1284
|
+
*
|
|
1285
|
+
* @since 2.0.0
|
|
1286
|
+
*/
|
|
1287
|
+
export declare const tuple: {
|
|
1288
|
+
/**
|
|
1289
|
+
* Combines an array of predicates into a single predicate that tests an array of values.
|
|
1290
|
+
* This function is highly type-aware and will produce a `Refinement` if any of the provided
|
|
1291
|
+
* predicates are `Refinement`s, allowing for powerful type-narrowing of tuples.
|
|
1292
|
+
*
|
|
1293
|
+
* - If all predicates are `Predicate<T>`, the result is `Predicate<[T, T, ...]>`.
|
|
1294
|
+
* - If any predicate is a `Refinement<A, B>`, the result is a `Refinement` that narrows
|
|
1295
|
+
* the input tuple type to a more specific tuple type.
|
|
1296
|
+
*
|
|
1297
|
+
* @example
|
|
1298
|
+
* ```ts
|
|
1299
|
+
* import * as assert from "node:assert"
|
|
1300
|
+
* import { Predicate } from "effect"
|
|
1301
|
+
*
|
|
1302
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1303
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1304
|
+
*
|
|
1305
|
+
* // Create a refinement for a [string, number] tuple
|
|
1306
|
+
* const isStringNumberTuple = Predicate.tuple(isString, isNumber)
|
|
1307
|
+
*
|
|
1308
|
+
* const value: [unknown, unknown] = ["hello", 123]
|
|
1309
|
+
* if (isStringNumberTuple(value)) {
|
|
1310
|
+
* // value is narrowed to [string, number]
|
|
1311
|
+
* const [s, n] = value
|
|
1312
|
+
* assert.strictEqual(s.toUpperCase(), "HELLO")
|
|
1313
|
+
* assert.strictEqual(n.toFixed(2), "123.00")
|
|
1314
|
+
* }
|
|
1315
|
+
* assert.strictEqual(isStringNumberTuple(["hello", "123"]), false)
|
|
1316
|
+
* ```
|
|
1317
|
+
*
|
|
1318
|
+
* @since 2.0.0
|
|
1319
|
+
*/
|
|
1320
|
+
<T extends ReadonlyArray<Predicate.Any>>(...elements: T): [Extract<T[number], Refinement.Any>] extends [never] ? Predicate<{
|
|
1321
|
+
readonly [I in keyof T]: Predicate.In<T[I]>;
|
|
1322
|
+
}> : Refinement<{
|
|
1323
|
+
readonly [I in keyof T]: T[I] extends Refinement.Any ? Refinement.In<T[I]> : Predicate.In<T[I]>;
|
|
1324
|
+
}, {
|
|
1325
|
+
readonly [I in keyof T]: T[I] extends Refinement.Any ? Refinement.Out<T[I]> : Predicate.In<T[I]>;
|
|
1326
|
+
}>;
|
|
1327
|
+
};
|
|
1328
|
+
/**
|
|
1329
|
+
* Combines a record of predicates into a single predicate that tests a record of values.
|
|
1330
|
+
* This function is highly type-aware and will produce a `Refinement` if any of the provided
|
|
1331
|
+
* predicates are `Refinement`s, allowing for powerful type-narrowing of structs.
|
|
1332
|
+
*
|
|
1333
|
+
* - If all predicates are `Predicate<T>`, the result is `Predicate<{ k: T, ... }>`.
|
|
1334
|
+
* - If any predicate is a `Refinement<A, B>`, the result is a `Refinement` that narrows
|
|
1335
|
+
* the input record type to a more specific record type.
|
|
1336
|
+
*
|
|
1337
|
+
* @example
|
|
1338
|
+
* ```ts
|
|
1339
|
+
* import * as assert from "node:assert"
|
|
1340
|
+
* import { Predicate } from "effect"
|
|
1341
|
+
*
|
|
1342
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1343
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1344
|
+
*
|
|
1345
|
+
* const personPredicate = Predicate.struct({
|
|
1346
|
+
* name: isString,
|
|
1347
|
+
* age: isNumber
|
|
1348
|
+
* })
|
|
1349
|
+
*
|
|
1350
|
+
* const value: { name: unknown; age: unknown } = { name: "Alice", age: 30 }
|
|
1351
|
+
* if (personPredicate(value)) {
|
|
1352
|
+
* // value is narrowed to { name: string; age: number }
|
|
1353
|
+
* assert.strictEqual(value.name.toUpperCase(), "ALICE")
|
|
1354
|
+
* assert.strictEqual(value.age.toFixed(0), "30")
|
|
1355
|
+
* }
|
|
1356
|
+
* assert.strictEqual(personPredicate({ name: "Bob", age: "40" }), false)
|
|
1357
|
+
* ```
|
|
1358
|
+
*
|
|
1359
|
+
* @since 2.0.0
|
|
1360
|
+
*/
|
|
1361
|
+
export declare const struct: {
|
|
1362
|
+
/**
|
|
1363
|
+
* Combines a record of predicates into a single predicate that tests a record of values.
|
|
1364
|
+
* This function is highly type-aware and will produce a `Refinement` if any of the provided
|
|
1365
|
+
* predicates are `Refinement`s, allowing for powerful type-narrowing of structs.
|
|
1366
|
+
*
|
|
1367
|
+
* - If all predicates are `Predicate<T>`, the result is `Predicate<{ k: T, ... }>`.
|
|
1368
|
+
* - If any predicate is a `Refinement<A, B>`, the result is a `Refinement` that narrows
|
|
1369
|
+
* the input record type to a more specific record type.
|
|
1370
|
+
*
|
|
1371
|
+
* @example
|
|
1372
|
+
* ```ts
|
|
1373
|
+
* import * as assert from "node:assert"
|
|
1374
|
+
* import { Predicate } from "effect"
|
|
1375
|
+
*
|
|
1376
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1377
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1378
|
+
*
|
|
1379
|
+
* const personPredicate = Predicate.struct({
|
|
1380
|
+
* name: isString,
|
|
1381
|
+
* age: isNumber
|
|
1382
|
+
* })
|
|
1383
|
+
*
|
|
1384
|
+
* const value: { name: unknown; age: unknown } = { name: "Alice", age: 30 }
|
|
1385
|
+
* if (personPredicate(value)) {
|
|
1386
|
+
* // value is narrowed to { name: string; age: number }
|
|
1387
|
+
* assert.strictEqual(value.name.toUpperCase(), "ALICE")
|
|
1388
|
+
* assert.strictEqual(value.age.toFixed(0), "30")
|
|
1389
|
+
* }
|
|
1390
|
+
* assert.strictEqual(personPredicate({ name: "Bob", age: "40" }), false)
|
|
1391
|
+
* ```
|
|
1392
|
+
*
|
|
1393
|
+
* @since 2.0.0
|
|
1394
|
+
*/
|
|
1395
|
+
<R extends Record<string, Predicate.Any>>(fields: R): [Extract<R[keyof R], Refinement.Any>] extends [never] ? Predicate<{
|
|
1396
|
+
readonly [K in keyof R]: Predicate.In<R[K]>;
|
|
1397
|
+
}> : Refinement<{
|
|
1398
|
+
readonly [K in keyof R]: R[K] extends Refinement.Any ? Refinement.In<R[K]> : Predicate.In<R[K]>;
|
|
1399
|
+
}, {
|
|
1400
|
+
readonly [K in keyof R]: R[K] extends Refinement.Any ? Refinement.Out<R[K]> : Predicate.In<R[K]>;
|
|
1401
|
+
}>;
|
|
1402
|
+
};
|
|
1403
|
+
/**
|
|
1404
|
+
* Returns a new predicate that is the logical negation of the given predicate.
|
|
1405
|
+
*
|
|
1406
|
+
* **Note**: If the input is a `Refinement`, the resulting predicate will be a
|
|
1407
|
+
* simple `Predicate`, as TypeScript cannot infer the negative type.
|
|
1408
|
+
*
|
|
1409
|
+
* @example
|
|
1410
|
+
* ```ts
|
|
1411
|
+
* import * as assert from "node:assert"
|
|
1412
|
+
* import { Predicate, Number } from "effect"
|
|
1413
|
+
*
|
|
1414
|
+
* const isNonPositive = Predicate.not(Number.greaterThan(0))
|
|
1415
|
+
*
|
|
1416
|
+
* assert.strictEqual(isNonPositive(-1), true)
|
|
1417
|
+
* assert.strictEqual(isNonPositive(0), true)
|
|
1418
|
+
* assert.strictEqual(isNonPositive(1), false)
|
|
1419
|
+
* ```
|
|
1420
|
+
*
|
|
1421
|
+
* @category combinators
|
|
1422
|
+
* @since 2.0.0
|
|
1423
|
+
*/
|
|
1424
|
+
export declare const not: <A>(self: Predicate<A>) => Predicate<A>;
|
|
1425
|
+
/**
|
|
1426
|
+
* Combines two predicates with a logical "OR". The resulting predicate returns `true`
|
|
1427
|
+
* if at least one of the predicates returns `true`.
|
|
1428
|
+
*
|
|
1429
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1430
|
+
* union of their target types (`B | C`).
|
|
1431
|
+
*
|
|
1432
|
+
* @example
|
|
1433
|
+
* ```ts
|
|
1434
|
+
* import * as assert from "node:assert"
|
|
1435
|
+
* import { Predicate } from "effect"
|
|
1436
|
+
*
|
|
1437
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1438
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1439
|
+
*
|
|
1440
|
+
* const isStringOrNumber = Predicate.or(isString, isNumber)
|
|
1441
|
+
*
|
|
1442
|
+
* assert.strictEqual(isStringOrNumber("hello"), true)
|
|
1443
|
+
* assert.strictEqual(isStringOrNumber(123), true)
|
|
1444
|
+
* assert.strictEqual(isStringOrNumber(null), false)
|
|
1445
|
+
*
|
|
1446
|
+
* const value: unknown = "world"
|
|
1447
|
+
* if (isStringOrNumber(value)) {
|
|
1448
|
+
* // value is narrowed to string | number
|
|
1449
|
+
* console.log(value)
|
|
1450
|
+
* }
|
|
1451
|
+
* ```
|
|
1452
|
+
*
|
|
1453
|
+
* @category combinators
|
|
1454
|
+
* @since 2.0.0
|
|
1455
|
+
*/
|
|
1456
|
+
export declare const or: {
|
|
1457
|
+
/**
|
|
1458
|
+
* Combines two predicates with a logical "OR". The resulting predicate returns `true`
|
|
1459
|
+
* if at least one of the predicates returns `true`.
|
|
1460
|
+
*
|
|
1461
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1462
|
+
* union of their target types (`B | C`).
|
|
1463
|
+
*
|
|
1464
|
+
* @example
|
|
1465
|
+
* ```ts
|
|
1466
|
+
* import * as assert from "node:assert"
|
|
1467
|
+
* import { Predicate } from "effect"
|
|
1468
|
+
*
|
|
1469
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1470
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1471
|
+
*
|
|
1472
|
+
* const isStringOrNumber = Predicate.or(isString, isNumber)
|
|
1473
|
+
*
|
|
1474
|
+
* assert.strictEqual(isStringOrNumber("hello"), true)
|
|
1475
|
+
* assert.strictEqual(isStringOrNumber(123), true)
|
|
1476
|
+
* assert.strictEqual(isStringOrNumber(null), false)
|
|
1477
|
+
*
|
|
1478
|
+
* const value: unknown = "world"
|
|
1479
|
+
* if (isStringOrNumber(value)) {
|
|
1480
|
+
* // value is narrowed to string | number
|
|
1481
|
+
* console.log(value)
|
|
1482
|
+
* }
|
|
1483
|
+
* ```
|
|
1484
|
+
*
|
|
1485
|
+
* @category combinators
|
|
1486
|
+
* @since 2.0.0
|
|
1487
|
+
*/
|
|
1488
|
+
<A, C extends A>(that: Refinement<A, C>): <B extends A>(self: Refinement<A, B>) => Refinement<A, B | C>;
|
|
1489
|
+
/**
|
|
1490
|
+
* Combines two predicates with a logical "OR". The resulting predicate returns `true`
|
|
1491
|
+
* if at least one of the predicates returns `true`.
|
|
1492
|
+
*
|
|
1493
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1494
|
+
* union of their target types (`B | C`).
|
|
1495
|
+
*
|
|
1496
|
+
* @example
|
|
1497
|
+
* ```ts
|
|
1498
|
+
* import * as assert from "node:assert"
|
|
1499
|
+
* import { Predicate } from "effect"
|
|
1500
|
+
*
|
|
1501
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1502
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1503
|
+
*
|
|
1504
|
+
* const isStringOrNumber = Predicate.or(isString, isNumber)
|
|
1505
|
+
*
|
|
1506
|
+
* assert.strictEqual(isStringOrNumber("hello"), true)
|
|
1507
|
+
* assert.strictEqual(isStringOrNumber(123), true)
|
|
1508
|
+
* assert.strictEqual(isStringOrNumber(null), false)
|
|
1509
|
+
*
|
|
1510
|
+
* const value: unknown = "world"
|
|
1511
|
+
* if (isStringOrNumber(value)) {
|
|
1512
|
+
* // value is narrowed to string | number
|
|
1513
|
+
* console.log(value)
|
|
1514
|
+
* }
|
|
1515
|
+
* ```
|
|
1516
|
+
*
|
|
1517
|
+
* @category combinators
|
|
1518
|
+
* @since 2.0.0
|
|
1519
|
+
*/
|
|
1520
|
+
<A, B extends A, C extends A>(self: Refinement<A, B>, that: Refinement<A, C>): Refinement<A, B | C>;
|
|
1521
|
+
/**
|
|
1522
|
+
* Combines two predicates with a logical "OR". The resulting predicate returns `true`
|
|
1523
|
+
* if at least one of the predicates returns `true`.
|
|
1524
|
+
*
|
|
1525
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1526
|
+
* union of their target types (`B | C`).
|
|
1527
|
+
*
|
|
1528
|
+
* @example
|
|
1529
|
+
* ```ts
|
|
1530
|
+
* import * as assert from "node:assert"
|
|
1531
|
+
* import { Predicate } from "effect"
|
|
1532
|
+
*
|
|
1533
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1534
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1535
|
+
*
|
|
1536
|
+
* const isStringOrNumber = Predicate.or(isString, isNumber)
|
|
1537
|
+
*
|
|
1538
|
+
* assert.strictEqual(isStringOrNumber("hello"), true)
|
|
1539
|
+
* assert.strictEqual(isStringOrNumber(123), true)
|
|
1540
|
+
* assert.strictEqual(isStringOrNumber(null), false)
|
|
1541
|
+
*
|
|
1542
|
+
* const value: unknown = "world"
|
|
1543
|
+
* if (isStringOrNumber(value)) {
|
|
1544
|
+
* // value is narrowed to string | number
|
|
1545
|
+
* console.log(value)
|
|
1546
|
+
* }
|
|
1547
|
+
* ```
|
|
1548
|
+
*
|
|
1549
|
+
* @category combinators
|
|
1550
|
+
* @since 2.0.0
|
|
1551
|
+
*/
|
|
1552
|
+
<A>(that: Predicate<A>): (self: Predicate<A>) => Predicate<A>;
|
|
1553
|
+
/**
|
|
1554
|
+
* Combines two predicates with a logical "OR". The resulting predicate returns `true`
|
|
1555
|
+
* if at least one of the predicates returns `true`.
|
|
1556
|
+
*
|
|
1557
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1558
|
+
* union of their target types (`B | C`).
|
|
1559
|
+
*
|
|
1560
|
+
* @example
|
|
1561
|
+
* ```ts
|
|
1562
|
+
* import * as assert from "node:assert"
|
|
1563
|
+
* import { Predicate } from "effect"
|
|
1564
|
+
*
|
|
1565
|
+
* const isString = (u: unknown): u is string => typeof u === "string"
|
|
1566
|
+
* const isNumber = (u: unknown): u is number => typeof u === "number"
|
|
1567
|
+
*
|
|
1568
|
+
* const isStringOrNumber = Predicate.or(isString, isNumber)
|
|
1569
|
+
*
|
|
1570
|
+
* assert.strictEqual(isStringOrNumber("hello"), true)
|
|
1571
|
+
* assert.strictEqual(isStringOrNumber(123), true)
|
|
1572
|
+
* assert.strictEqual(isStringOrNumber(null), false)
|
|
1573
|
+
*
|
|
1574
|
+
* const value: unknown = "world"
|
|
1575
|
+
* if (isStringOrNumber(value)) {
|
|
1576
|
+
* // value is narrowed to string | number
|
|
1577
|
+
* console.log(value)
|
|
1578
|
+
* }
|
|
1579
|
+
* ```
|
|
1580
|
+
*
|
|
1581
|
+
* @category combinators
|
|
1582
|
+
* @since 2.0.0
|
|
1583
|
+
*/
|
|
1584
|
+
<A>(self: Predicate<A>, that: Predicate<A>): Predicate<A>;
|
|
1585
|
+
};
|
|
1586
|
+
/**
|
|
1587
|
+
* Combines two predicates with a logical "AND". The resulting predicate returns `true`
|
|
1588
|
+
* only if both of the predicates return `true`.
|
|
1589
|
+
*
|
|
1590
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1591
|
+
* intersection of their target types (`B & C`).
|
|
1592
|
+
*
|
|
1593
|
+
* @example
|
|
1594
|
+
* ```ts
|
|
1595
|
+
* import * as assert from "node:assert"
|
|
1596
|
+
* import { Predicate } from "effect"
|
|
1597
|
+
*
|
|
1598
|
+
* type Person = { name: string }
|
|
1599
|
+
* type Employee = { id: number }
|
|
1600
|
+
*
|
|
1601
|
+
* const hasName = (u: unknown): u is Person => Predicate.hasProperty(u, "name") && typeof (u as any).name === "string"
|
|
1602
|
+
* const hasId = (u: unknown): u is Employee => Predicate.hasProperty(u, "id") && typeof (u as any).id === "number"
|
|
1603
|
+
*
|
|
1604
|
+
* const isPersonAndEmployee = Predicate.and(hasName, hasId)
|
|
1605
|
+
*
|
|
1606
|
+
* const val: unknown = { name: "Alice", id: 123 }
|
|
1607
|
+
* if (isPersonAndEmployee(val)) {
|
|
1608
|
+
* // val is narrowed to Person & Employee
|
|
1609
|
+
* assert.strictEqual(val.name, "Alice")
|
|
1610
|
+
* assert.strictEqual(val.id, 123)
|
|
1611
|
+
* }
|
|
1612
|
+
*
|
|
1613
|
+
* assert.strictEqual(isPersonAndEmployee({ name: "Bob" }), false) // Missing id
|
|
1614
|
+
* assert.strictEqual(isPersonAndEmployee({ id: 456 }), false) // Missing name
|
|
1615
|
+
* ```
|
|
1616
|
+
*
|
|
1617
|
+
* @category combinators
|
|
1618
|
+
* @since 2.0.0
|
|
1619
|
+
*/
|
|
1620
|
+
export declare const and: {
|
|
1621
|
+
/**
|
|
1622
|
+
* Combines two predicates with a logical "AND". The resulting predicate returns `true`
|
|
1623
|
+
* only if both of the predicates return `true`.
|
|
1624
|
+
*
|
|
1625
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1626
|
+
* intersection of their target types (`B & C`).
|
|
1627
|
+
*
|
|
1628
|
+
* @example
|
|
1629
|
+
* ```ts
|
|
1630
|
+
* import * as assert from "node:assert"
|
|
1631
|
+
* import { Predicate } from "effect"
|
|
1632
|
+
*
|
|
1633
|
+
* type Person = { name: string }
|
|
1634
|
+
* type Employee = { id: number }
|
|
1635
|
+
*
|
|
1636
|
+
* const hasName = (u: unknown): u is Person => Predicate.hasProperty(u, "name") && typeof (u as any).name === "string"
|
|
1637
|
+
* const hasId = (u: unknown): u is Employee => Predicate.hasProperty(u, "id") && typeof (u as any).id === "number"
|
|
1638
|
+
*
|
|
1639
|
+
* const isPersonAndEmployee = Predicate.and(hasName, hasId)
|
|
1640
|
+
*
|
|
1641
|
+
* const val: unknown = { name: "Alice", id: 123 }
|
|
1642
|
+
* if (isPersonAndEmployee(val)) {
|
|
1643
|
+
* // val is narrowed to Person & Employee
|
|
1644
|
+
* assert.strictEqual(val.name, "Alice")
|
|
1645
|
+
* assert.strictEqual(val.id, 123)
|
|
1646
|
+
* }
|
|
1647
|
+
*
|
|
1648
|
+
* assert.strictEqual(isPersonAndEmployee({ name: "Bob" }), false) // Missing id
|
|
1649
|
+
* assert.strictEqual(isPersonAndEmployee({ id: 456 }), false) // Missing name
|
|
1650
|
+
* ```
|
|
1651
|
+
*
|
|
1652
|
+
* @category combinators
|
|
1653
|
+
* @since 2.0.0
|
|
1654
|
+
*/
|
|
1655
|
+
<A, C extends A>(that: Refinement<A, C>): <B extends A>(self: Refinement<A, B>) => Refinement<A, B & C>;
|
|
1656
|
+
/**
|
|
1657
|
+
* Combines two predicates with a logical "AND". The resulting predicate returns `true`
|
|
1658
|
+
* only if both of the predicates return `true`.
|
|
1659
|
+
*
|
|
1660
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1661
|
+
* intersection of their target types (`B & C`).
|
|
1662
|
+
*
|
|
1663
|
+
* @example
|
|
1664
|
+
* ```ts
|
|
1665
|
+
* import * as assert from "node:assert"
|
|
1666
|
+
* import { Predicate } from "effect"
|
|
1667
|
+
*
|
|
1668
|
+
* type Person = { name: string }
|
|
1669
|
+
* type Employee = { id: number }
|
|
1670
|
+
*
|
|
1671
|
+
* const hasName = (u: unknown): u is Person => Predicate.hasProperty(u, "name") && typeof (u as any).name === "string"
|
|
1672
|
+
* const hasId = (u: unknown): u is Employee => Predicate.hasProperty(u, "id") && typeof (u as any).id === "number"
|
|
1673
|
+
*
|
|
1674
|
+
* const isPersonAndEmployee = Predicate.and(hasName, hasId)
|
|
1675
|
+
*
|
|
1676
|
+
* const val: unknown = { name: "Alice", id: 123 }
|
|
1677
|
+
* if (isPersonAndEmployee(val)) {
|
|
1678
|
+
* // val is narrowed to Person & Employee
|
|
1679
|
+
* assert.strictEqual(val.name, "Alice")
|
|
1680
|
+
* assert.strictEqual(val.id, 123)
|
|
1681
|
+
* }
|
|
1682
|
+
*
|
|
1683
|
+
* assert.strictEqual(isPersonAndEmployee({ name: "Bob" }), false) // Missing id
|
|
1684
|
+
* assert.strictEqual(isPersonAndEmployee({ id: 456 }), false) // Missing name
|
|
1685
|
+
* ```
|
|
1686
|
+
*
|
|
1687
|
+
* @category combinators
|
|
1688
|
+
* @since 2.0.0
|
|
1689
|
+
*/
|
|
1690
|
+
<A, B extends A, C extends A>(self: Refinement<A, B>, that: Refinement<A, C>): Refinement<A, B & C>;
|
|
1691
|
+
/**
|
|
1692
|
+
* Combines two predicates with a logical "AND". The resulting predicate returns `true`
|
|
1693
|
+
* only if both of the predicates return `true`.
|
|
1694
|
+
*
|
|
1695
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1696
|
+
* intersection of their target types (`B & C`).
|
|
1697
|
+
*
|
|
1698
|
+
* @example
|
|
1699
|
+
* ```ts
|
|
1700
|
+
* import * as assert from "node:assert"
|
|
1701
|
+
* import { Predicate } from "effect"
|
|
1702
|
+
*
|
|
1703
|
+
* type Person = { name: string }
|
|
1704
|
+
* type Employee = { id: number }
|
|
1705
|
+
*
|
|
1706
|
+
* const hasName = (u: unknown): u is Person => Predicate.hasProperty(u, "name") && typeof (u as any).name === "string"
|
|
1707
|
+
* const hasId = (u: unknown): u is Employee => Predicate.hasProperty(u, "id") && typeof (u as any).id === "number"
|
|
1708
|
+
*
|
|
1709
|
+
* const isPersonAndEmployee = Predicate.and(hasName, hasId)
|
|
1710
|
+
*
|
|
1711
|
+
* const val: unknown = { name: "Alice", id: 123 }
|
|
1712
|
+
* if (isPersonAndEmployee(val)) {
|
|
1713
|
+
* // val is narrowed to Person & Employee
|
|
1714
|
+
* assert.strictEqual(val.name, "Alice")
|
|
1715
|
+
* assert.strictEqual(val.id, 123)
|
|
1716
|
+
* }
|
|
1717
|
+
*
|
|
1718
|
+
* assert.strictEqual(isPersonAndEmployee({ name: "Bob" }), false) // Missing id
|
|
1719
|
+
* assert.strictEqual(isPersonAndEmployee({ id: 456 }), false) // Missing name
|
|
1720
|
+
* ```
|
|
1721
|
+
*
|
|
1722
|
+
* @category combinators
|
|
1723
|
+
* @since 2.0.0
|
|
1724
|
+
*/
|
|
1725
|
+
<A>(that: Predicate<A>): (self: Predicate<A>) => Predicate<A>;
|
|
1726
|
+
/**
|
|
1727
|
+
* Combines two predicates with a logical "AND". The resulting predicate returns `true`
|
|
1728
|
+
* only if both of the predicates return `true`.
|
|
1729
|
+
*
|
|
1730
|
+
* If both predicates are `Refinement`s, the resulting predicate is a `Refinement` to the
|
|
1731
|
+
* intersection of their target types (`B & C`).
|
|
1732
|
+
*
|
|
1733
|
+
* @example
|
|
1734
|
+
* ```ts
|
|
1735
|
+
* import * as assert from "node:assert"
|
|
1736
|
+
* import { Predicate } from "effect"
|
|
1737
|
+
*
|
|
1738
|
+
* type Person = { name: string }
|
|
1739
|
+
* type Employee = { id: number }
|
|
1740
|
+
*
|
|
1741
|
+
* const hasName = (u: unknown): u is Person => Predicate.hasProperty(u, "name") && typeof (u as any).name === "string"
|
|
1742
|
+
* const hasId = (u: unknown): u is Employee => Predicate.hasProperty(u, "id") && typeof (u as any).id === "number"
|
|
1743
|
+
*
|
|
1744
|
+
* const isPersonAndEmployee = Predicate.and(hasName, hasId)
|
|
1745
|
+
*
|
|
1746
|
+
* const val: unknown = { name: "Alice", id: 123 }
|
|
1747
|
+
* if (isPersonAndEmployee(val)) {
|
|
1748
|
+
* // val is narrowed to Person & Employee
|
|
1749
|
+
* assert.strictEqual(val.name, "Alice")
|
|
1750
|
+
* assert.strictEqual(val.id, 123)
|
|
1751
|
+
* }
|
|
1752
|
+
*
|
|
1753
|
+
* assert.strictEqual(isPersonAndEmployee({ name: "Bob" }), false) // Missing id
|
|
1754
|
+
* assert.strictEqual(isPersonAndEmployee({ id: 456 }), false) // Missing name
|
|
1755
|
+
* ```
|
|
1756
|
+
*
|
|
1757
|
+
* @category combinators
|
|
1758
|
+
* @since 2.0.0
|
|
1759
|
+
*/
|
|
1760
|
+
<A>(self: Predicate<A>, that: Predicate<A>): Predicate<A>;
|
|
1761
|
+
};
|
|
1762
|
+
/**
|
|
1763
|
+
* Combines two predicates with a logical "XOR" (exclusive OR). The resulting predicate
|
|
1764
|
+
* returns `true` if one of the predicates returns `true`, but not both.
|
|
1765
|
+
*
|
|
1766
|
+
* @example
|
|
1767
|
+
* ```ts
|
|
1768
|
+
* import * as assert from "node:assert"
|
|
1769
|
+
* import { Predicate } from "effect"
|
|
1770
|
+
*
|
|
1771
|
+
* const isPositive = (n: number) => n > 0
|
|
1772
|
+
* const isEven = (n: number) => n % 2 === 0
|
|
1773
|
+
*
|
|
1774
|
+
* const isPositiveXorEven = Predicate.xor(isPositive, isEven)
|
|
1775
|
+
*
|
|
1776
|
+
* assert.strictEqual(isPositiveXorEven(4), false) // both true -> false
|
|
1777
|
+
* assert.strictEqual(isPositiveXorEven(3), true) // one true -> true
|
|
1778
|
+
* assert.strictEqual(isPositiveXorEven(-2), true) // one true -> true
|
|
1779
|
+
* assert.strictEqual(isPositiveXorEven(-1), false) // both false -> false
|
|
1780
|
+
* ```
|
|
1781
|
+
*
|
|
1782
|
+
* @category combinators
|
|
1783
|
+
* @since 2.0.0
|
|
1784
|
+
*/
|
|
1785
|
+
export declare const xor: {
|
|
1786
|
+
/**
|
|
1787
|
+
* Combines two predicates with a logical "XOR" (exclusive OR). The resulting predicate
|
|
1788
|
+
* returns `true` if one of the predicates returns `true`, but not both.
|
|
1789
|
+
*
|
|
1790
|
+
* @example
|
|
1791
|
+
* ```ts
|
|
1792
|
+
* import * as assert from "node:assert"
|
|
1793
|
+
* import { Predicate } from "effect"
|
|
1794
|
+
*
|
|
1795
|
+
* const isPositive = (n: number) => n > 0
|
|
1796
|
+
* const isEven = (n: number) => n % 2 === 0
|
|
1797
|
+
*
|
|
1798
|
+
* const isPositiveXorEven = Predicate.xor(isPositive, isEven)
|
|
1799
|
+
*
|
|
1800
|
+
* assert.strictEqual(isPositiveXorEven(4), false) // both true -> false
|
|
1801
|
+
* assert.strictEqual(isPositiveXorEven(3), true) // one true -> true
|
|
1802
|
+
* assert.strictEqual(isPositiveXorEven(-2), true) // one true -> true
|
|
1803
|
+
* assert.strictEqual(isPositiveXorEven(-1), false) // both false -> false
|
|
1804
|
+
* ```
|
|
1805
|
+
*
|
|
1806
|
+
* @category combinators
|
|
1807
|
+
* @since 2.0.0
|
|
1808
|
+
*/
|
|
1809
|
+
<A>(that: Predicate<A>): (self: Predicate<A>) => Predicate<A>;
|
|
1810
|
+
/**
|
|
1811
|
+
* Combines two predicates with a logical "XOR" (exclusive OR). The resulting predicate
|
|
1812
|
+
* returns `true` if one of the predicates returns `true`, but not both.
|
|
1813
|
+
*
|
|
1814
|
+
* @example
|
|
1815
|
+
* ```ts
|
|
1816
|
+
* import * as assert from "node:assert"
|
|
1817
|
+
* import { Predicate } from "effect"
|
|
1818
|
+
*
|
|
1819
|
+
* const isPositive = (n: number) => n > 0
|
|
1820
|
+
* const isEven = (n: number) => n % 2 === 0
|
|
1821
|
+
*
|
|
1822
|
+
* const isPositiveXorEven = Predicate.xor(isPositive, isEven)
|
|
1823
|
+
*
|
|
1824
|
+
* assert.strictEqual(isPositiveXorEven(4), false) // both true -> false
|
|
1825
|
+
* assert.strictEqual(isPositiveXorEven(3), true) // one true -> true
|
|
1826
|
+
* assert.strictEqual(isPositiveXorEven(-2), true) // one true -> true
|
|
1827
|
+
* assert.strictEqual(isPositiveXorEven(-1), false) // both false -> false
|
|
1828
|
+
* ```
|
|
1829
|
+
*
|
|
1830
|
+
* @category combinators
|
|
1831
|
+
* @since 2.0.0
|
|
1832
|
+
*/
|
|
1833
|
+
<A>(self: Predicate<A>, that: Predicate<A>): Predicate<A>;
|
|
1834
|
+
};
|
|
1835
|
+
/**
|
|
1836
|
+
* Combines two predicates with a logical "EQV" (equivalence). The resulting predicate
|
|
1837
|
+
* returns `true` if both predicates return the same boolean value (both `true` or both `false`).
|
|
1838
|
+
*
|
|
1839
|
+
* @example
|
|
1840
|
+
* ```ts
|
|
1841
|
+
* import * as assert from "node:assert"
|
|
1842
|
+
* import { Predicate } from "effect"
|
|
1843
|
+
*
|
|
1844
|
+
* const isPositive = (n: number) => n > 0
|
|
1845
|
+
* const isEven = (n: number) => n % 2 === 0
|
|
1846
|
+
*
|
|
1847
|
+
* const isPositiveEqvEven = Predicate.eqv(isPositive, isEven)
|
|
1848
|
+
*
|
|
1849
|
+
* assert.strictEqual(isPositiveEqvEven(4), true) // both true -> true
|
|
1850
|
+
* assert.strictEqual(isPositiveEqvEven(3), false) // different -> false
|
|
1851
|
+
* assert.strictEqual(isPositiveEqvEven(-2), false) // different -> false
|
|
1852
|
+
* assert.strictEqual(isPositiveEqvEven(-1), true) // both false -> true
|
|
1853
|
+
* ```
|
|
1854
|
+
*
|
|
1855
|
+
* @category combinators
|
|
1856
|
+
* @since 2.0.0
|
|
1857
|
+
*/
|
|
1858
|
+
export declare const eqv: {
|
|
1859
|
+
/**
|
|
1860
|
+
* Combines two predicates with a logical "EQV" (equivalence). The resulting predicate
|
|
1861
|
+
* returns `true` if both predicates return the same boolean value (both `true` or both `false`).
|
|
1862
|
+
*
|
|
1863
|
+
* @example
|
|
1864
|
+
* ```ts
|
|
1865
|
+
* import * as assert from "node:assert"
|
|
1866
|
+
* import { Predicate } from "effect"
|
|
1867
|
+
*
|
|
1868
|
+
* const isPositive = (n: number) => n > 0
|
|
1869
|
+
* const isEven = (n: number) => n % 2 === 0
|
|
1870
|
+
*
|
|
1871
|
+
* const isPositiveEqvEven = Predicate.eqv(isPositive, isEven)
|
|
1872
|
+
*
|
|
1873
|
+
* assert.strictEqual(isPositiveEqvEven(4), true) // both true -> true
|
|
1874
|
+
* assert.strictEqual(isPositiveEqvEven(3), false) // different -> false
|
|
1875
|
+
* assert.strictEqual(isPositiveEqvEven(-2), false) // different -> false
|
|
1876
|
+
* assert.strictEqual(isPositiveEqvEven(-1), true) // both false -> true
|
|
1877
|
+
* ```
|
|
1878
|
+
*
|
|
1879
|
+
* @category combinators
|
|
1880
|
+
* @since 2.0.0
|
|
1881
|
+
*/
|
|
1882
|
+
<A>(that: Predicate<A>): (self: Predicate<A>) => Predicate<A>;
|
|
1883
|
+
/**
|
|
1884
|
+
* Combines two predicates with a logical "EQV" (equivalence). The resulting predicate
|
|
1885
|
+
* returns `true` if both predicates return the same boolean value (both `true` or both `false`).
|
|
1886
|
+
*
|
|
1887
|
+
* @example
|
|
1888
|
+
* ```ts
|
|
1889
|
+
* import * as assert from "node:assert"
|
|
1890
|
+
* import { Predicate } from "effect"
|
|
1891
|
+
*
|
|
1892
|
+
* const isPositive = (n: number) => n > 0
|
|
1893
|
+
* const isEven = (n: number) => n % 2 === 0
|
|
1894
|
+
*
|
|
1895
|
+
* const isPositiveEqvEven = Predicate.eqv(isPositive, isEven)
|
|
1896
|
+
*
|
|
1897
|
+
* assert.strictEqual(isPositiveEqvEven(4), true) // both true -> true
|
|
1898
|
+
* assert.strictEqual(isPositiveEqvEven(3), false) // different -> false
|
|
1899
|
+
* assert.strictEqual(isPositiveEqvEven(-2), false) // different -> false
|
|
1900
|
+
* assert.strictEqual(isPositiveEqvEven(-1), true) // both false -> true
|
|
1901
|
+
* ```
|
|
1902
|
+
*
|
|
1903
|
+
* @category combinators
|
|
1904
|
+
* @since 2.0.0
|
|
1905
|
+
*/
|
|
1906
|
+
<A>(self: Predicate<A>, that: Predicate<A>): Predicate<A>;
|
|
1907
|
+
};
|
|
1908
|
+
/**
|
|
1909
|
+
* Creates a predicate that represents a logical "if-then" rule.
|
|
1910
|
+
*
|
|
1911
|
+
* Think of it as a conditional promise: **"If `antecedent` holds true, then I promise `consequent` will also be true."**
|
|
1912
|
+
*
|
|
1913
|
+
* This function is invaluable for defining complex validation logic where one condition dictates another.
|
|
1914
|
+
*
|
|
1915
|
+
* ### How It Works
|
|
1916
|
+
*
|
|
1917
|
+
* The rule only fails (returns `false`) when the "if" part is `true`, but the "then" part is `false`.
|
|
1918
|
+
* In all other cases, the promise is considered kept, and the result is `true`.
|
|
1919
|
+
*
|
|
1920
|
+
* This includes the concept of **"vacuous truth"**: if the "if" part is `false`, the rule doesn't apply,
|
|
1921
|
+
* so the promise isn't broken, and the result is `true`. (e.g., "If it rains, I'll bring an umbrella."
|
|
1922
|
+
* If it doesn't rain, you haven't broken your promise, no matter what).
|
|
1923
|
+
*
|
|
1924
|
+
* ### Key Details
|
|
1925
|
+
*
|
|
1926
|
+
* - **Logical Equivalence**: `implies(p, q)` is the same as `not(p).or(q)`, or simply `!p || q`
|
|
1927
|
+
* in plain JavaScript. This can be a helpful way to reason about its behavior.
|
|
1928
|
+
*
|
|
1929
|
+
* - **Type-Safety Warning**: This function always returns a `Predicate`, never a type-narrowing
|
|
1930
|
+
* `Refinement`. A `true` result doesn't guarantee the `consequent` passed (it could be `true`
|
|
1931
|
+
* simply because the `antecedent` was `false`), so it cannot be used to safely narrow a type.
|
|
1932
|
+
*
|
|
1933
|
+
* @example
|
|
1934
|
+
* ```ts
|
|
1935
|
+
* // Rule: A user can only be an admin if they also belong to the "staff" group.
|
|
1936
|
+
* import * as assert from "node:assert"
|
|
1937
|
+
* import { Predicate } from "effect"
|
|
1938
|
+
*
|
|
1939
|
+
* type User = {
|
|
1940
|
+
* isStaff: boolean
|
|
1941
|
+
* isAdmin: boolean
|
|
1942
|
+
* }
|
|
1943
|
+
*
|
|
1944
|
+
* const isValidUserPermission = Predicate.implies(
|
|
1945
|
+
* // antecedent: "if" the user is an admin...
|
|
1946
|
+
* (user: User) => user.isAdmin,
|
|
1947
|
+
* // consequent: "then" they must be staff.
|
|
1948
|
+
* (user: User) => user.isStaff
|
|
1949
|
+
* )
|
|
1950
|
+
*
|
|
1951
|
+
* // A non-admin who is not staff. Rule doesn't apply (antecedent is false).
|
|
1952
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: false, isAdmin: false }), true)
|
|
1953
|
+
*
|
|
1954
|
+
* // A staff member who is not an admin. Rule doesn't apply (antecedent is false).
|
|
1955
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: true, isAdmin: false }), true)
|
|
1956
|
+
*
|
|
1957
|
+
* // An admin who is also staff. The rule was followed.
|
|
1958
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: true, isAdmin: true }), true)
|
|
1959
|
+
*
|
|
1960
|
+
* // An admin who is NOT staff. The rule was broken!
|
|
1961
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: false, isAdmin: true }), false)
|
|
1962
|
+
* ```
|
|
1963
|
+
*
|
|
1964
|
+
* @category combinators
|
|
1965
|
+
* @since 2.0.0
|
|
1966
|
+
*/
|
|
1967
|
+
export declare const implies: {
|
|
1968
|
+
/**
|
|
1969
|
+
* Creates a predicate that represents a logical "if-then" rule.
|
|
1970
|
+
*
|
|
1971
|
+
* Think of it as a conditional promise: **"If `antecedent` holds true, then I promise `consequent` will also be true."**
|
|
1972
|
+
*
|
|
1973
|
+
* This function is invaluable for defining complex validation logic where one condition dictates another.
|
|
1974
|
+
*
|
|
1975
|
+
* ### How It Works
|
|
1976
|
+
*
|
|
1977
|
+
* The rule only fails (returns `false`) when the "if" part is `true`, but the "then" part is `false`.
|
|
1978
|
+
* In all other cases, the promise is considered kept, and the result is `true`.
|
|
1979
|
+
*
|
|
1980
|
+
* This includes the concept of **"vacuous truth"**: if the "if" part is `false`, the rule doesn't apply,
|
|
1981
|
+
* so the promise isn't broken, and the result is `true`. (e.g., "If it rains, I'll bring an umbrella."
|
|
1982
|
+
* If it doesn't rain, you haven't broken your promise, no matter what).
|
|
1983
|
+
*
|
|
1984
|
+
* ### Key Details
|
|
1985
|
+
*
|
|
1986
|
+
* - **Logical Equivalence**: `implies(p, q)` is the same as `not(p).or(q)`, or simply `!p || q`
|
|
1987
|
+
* in plain JavaScript. This can be a helpful way to reason about its behavior.
|
|
1988
|
+
*
|
|
1989
|
+
* - **Type-Safety Warning**: This function always returns a `Predicate`, never a type-narrowing
|
|
1990
|
+
* `Refinement`. A `true` result doesn't guarantee the `consequent` passed (it could be `true`
|
|
1991
|
+
* simply because the `antecedent` was `false`), so it cannot be used to safely narrow a type.
|
|
1992
|
+
*
|
|
1993
|
+
* @example
|
|
1994
|
+
* ```ts
|
|
1995
|
+
* // Rule: A user can only be an admin if they also belong to the "staff" group.
|
|
1996
|
+
* import * as assert from "node:assert"
|
|
1997
|
+
* import { Predicate } from "effect"
|
|
1998
|
+
*
|
|
1999
|
+
* type User = {
|
|
2000
|
+
* isStaff: boolean
|
|
2001
|
+
* isAdmin: boolean
|
|
2002
|
+
* }
|
|
2003
|
+
*
|
|
2004
|
+
* const isValidUserPermission = Predicate.implies(
|
|
2005
|
+
* // antecedent: "if" the user is an admin...
|
|
2006
|
+
* (user: User) => user.isAdmin,
|
|
2007
|
+
* // consequent: "then" they must be staff.
|
|
2008
|
+
* (user: User) => user.isStaff
|
|
2009
|
+
* )
|
|
2010
|
+
*
|
|
2011
|
+
* // A non-admin who is not staff. Rule doesn't apply (antecedent is false).
|
|
2012
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: false, isAdmin: false }), true)
|
|
2013
|
+
*
|
|
2014
|
+
* // A staff member who is not an admin. Rule doesn't apply (antecedent is false).
|
|
2015
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: true, isAdmin: false }), true)
|
|
2016
|
+
*
|
|
2017
|
+
* // An admin who is also staff. The rule was followed.
|
|
2018
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: true, isAdmin: true }), true)
|
|
2019
|
+
*
|
|
2020
|
+
* // An admin who is NOT staff. The rule was broken!
|
|
2021
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: false, isAdmin: true }), false)
|
|
2022
|
+
* ```
|
|
2023
|
+
*
|
|
2024
|
+
* @category combinators
|
|
2025
|
+
* @since 2.0.0
|
|
2026
|
+
*/
|
|
2027
|
+
<A>(consequent: Predicate<A>): (antecedent: Predicate<A>) => Predicate<A>;
|
|
2028
|
+
/**
|
|
2029
|
+
* Creates a predicate that represents a logical "if-then" rule.
|
|
2030
|
+
*
|
|
2031
|
+
* Think of it as a conditional promise: **"If `antecedent` holds true, then I promise `consequent` will also be true."**
|
|
2032
|
+
*
|
|
2033
|
+
* This function is invaluable for defining complex validation logic where one condition dictates another.
|
|
2034
|
+
*
|
|
2035
|
+
* ### How It Works
|
|
2036
|
+
*
|
|
2037
|
+
* The rule only fails (returns `false`) when the "if" part is `true`, but the "then" part is `false`.
|
|
2038
|
+
* In all other cases, the promise is considered kept, and the result is `true`.
|
|
2039
|
+
*
|
|
2040
|
+
* This includes the concept of **"vacuous truth"**: if the "if" part is `false`, the rule doesn't apply,
|
|
2041
|
+
* so the promise isn't broken, and the result is `true`. (e.g., "If it rains, I'll bring an umbrella."
|
|
2042
|
+
* If it doesn't rain, you haven't broken your promise, no matter what).
|
|
2043
|
+
*
|
|
2044
|
+
* ### Key Details
|
|
2045
|
+
*
|
|
2046
|
+
* - **Logical Equivalence**: `implies(p, q)` is the same as `not(p).or(q)`, or simply `!p || q`
|
|
2047
|
+
* in plain JavaScript. This can be a helpful way to reason about its behavior.
|
|
2048
|
+
*
|
|
2049
|
+
* - **Type-Safety Warning**: This function always returns a `Predicate`, never a type-narrowing
|
|
2050
|
+
* `Refinement`. A `true` result doesn't guarantee the `consequent` passed (it could be `true`
|
|
2051
|
+
* simply because the `antecedent` was `false`), so it cannot be used to safely narrow a type.
|
|
2052
|
+
*
|
|
2053
|
+
* @example
|
|
2054
|
+
* ```ts
|
|
2055
|
+
* // Rule: A user can only be an admin if they also belong to the "staff" group.
|
|
2056
|
+
* import * as assert from "node:assert"
|
|
2057
|
+
* import { Predicate } from "effect"
|
|
2058
|
+
*
|
|
2059
|
+
* type User = {
|
|
2060
|
+
* isStaff: boolean
|
|
2061
|
+
* isAdmin: boolean
|
|
2062
|
+
* }
|
|
2063
|
+
*
|
|
2064
|
+
* const isValidUserPermission = Predicate.implies(
|
|
2065
|
+
* // antecedent: "if" the user is an admin...
|
|
2066
|
+
* (user: User) => user.isAdmin,
|
|
2067
|
+
* // consequent: "then" they must be staff.
|
|
2068
|
+
* (user: User) => user.isStaff
|
|
2069
|
+
* )
|
|
2070
|
+
*
|
|
2071
|
+
* // A non-admin who is not staff. Rule doesn't apply (antecedent is false).
|
|
2072
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: false, isAdmin: false }), true)
|
|
2073
|
+
*
|
|
2074
|
+
* // A staff member who is not an admin. Rule doesn't apply (antecedent is false).
|
|
2075
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: true, isAdmin: false }), true)
|
|
2076
|
+
*
|
|
2077
|
+
* // An admin who is also staff. The rule was followed.
|
|
2078
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: true, isAdmin: true }), true)
|
|
2079
|
+
*
|
|
2080
|
+
* // An admin who is NOT staff. The rule was broken!
|
|
2081
|
+
* assert.strictEqual(isValidUserPermission({ isStaff: false, isAdmin: true }), false)
|
|
2082
|
+
* ```
|
|
2083
|
+
*
|
|
2084
|
+
* @category combinators
|
|
2085
|
+
* @since 2.0.0
|
|
2086
|
+
*/
|
|
2087
|
+
<A>(antecedent: Predicate<A>, consequent: Predicate<A>): Predicate<A>;
|
|
2088
|
+
};
|
|
2089
|
+
/**
|
|
2090
|
+
* Combines two predicates with a logical "NOR" (negated OR). The resulting predicate
|
|
2091
|
+
* returns `true` only if both predicates return `false`.
|
|
2092
|
+
* This is equivalent to `not(or(p, q))`.
|
|
2093
|
+
*
|
|
2094
|
+
* @category combinators
|
|
2095
|
+
* @since 2.0.0
|
|
2096
|
+
*/
|
|
2097
|
+
export declare const nor: {
|
|
2098
|
+
/**
|
|
2099
|
+
* Combines two predicates with a logical "NOR" (negated OR). The resulting predicate
|
|
2100
|
+
* returns `true` only if both predicates return `false`.
|
|
2101
|
+
* This is equivalent to `not(or(p, q))`.
|
|
2102
|
+
*
|
|
2103
|
+
* @category combinators
|
|
2104
|
+
* @since 2.0.0
|
|
2105
|
+
*/
|
|
2106
|
+
<A>(that: Predicate<A>): (self: Predicate<A>) => Predicate<A>;
|
|
2107
|
+
/**
|
|
2108
|
+
* Combines two predicates with a logical "NOR" (negated OR). The resulting predicate
|
|
2109
|
+
* returns `true` only if both predicates return `false`.
|
|
2110
|
+
* This is equivalent to `not(or(p, q))`.
|
|
2111
|
+
*
|
|
2112
|
+
* @category combinators
|
|
2113
|
+
* @since 2.0.0
|
|
2114
|
+
*/
|
|
2115
|
+
<A>(self: Predicate<A>, that: Predicate<A>): Predicate<A>;
|
|
2116
|
+
};
|
|
2117
|
+
/**
|
|
2118
|
+
* Combines two predicates with a logical "NAND" (negated AND). The resulting predicate
|
|
2119
|
+
* returns `true` if at least one of the predicates returns `false`.
|
|
2120
|
+
* This is equivalent to `not(and(p, q))`.
|
|
2121
|
+
*
|
|
2122
|
+
* @category combinators
|
|
2123
|
+
* @since 2.0.0
|
|
2124
|
+
*/
|
|
2125
|
+
export declare const nand: {
|
|
2126
|
+
/**
|
|
2127
|
+
* Combines two predicates with a logical "NAND" (negated AND). The resulting predicate
|
|
2128
|
+
* returns `true` if at least one of the predicates returns `false`.
|
|
2129
|
+
* This is equivalent to `not(and(p, q))`.
|
|
2130
|
+
*
|
|
2131
|
+
* @category combinators
|
|
2132
|
+
* @since 2.0.0
|
|
2133
|
+
*/
|
|
2134
|
+
<A>(that: Predicate<A>): (self: Predicate<A>) => Predicate<A>;
|
|
2135
|
+
/**
|
|
2136
|
+
* Combines two predicates with a logical "NAND" (negated AND). The resulting predicate
|
|
2137
|
+
* returns `true` if at least one of the predicates returns `false`.
|
|
2138
|
+
* This is equivalent to `not(and(p, q))`.
|
|
2139
|
+
*
|
|
2140
|
+
* @category combinators
|
|
2141
|
+
* @since 2.0.0
|
|
2142
|
+
*/
|
|
2143
|
+
<A>(self: Predicate<A>, that: Predicate<A>): Predicate<A>;
|
|
2144
|
+
};
|
|
2145
|
+
/**
|
|
2146
|
+
* Takes an iterable of predicates and returns a new predicate. The new predicate
|
|
2147
|
+
* returns `true` if all predicates in the collection return `true` for a given value.
|
|
2148
|
+
*
|
|
2149
|
+
* This is like `Array.prototype.every` but for a collection of predicates.
|
|
2150
|
+
*
|
|
2151
|
+
* @example
|
|
2152
|
+
* ```ts
|
|
2153
|
+
* import * as assert from "node:assert"
|
|
2154
|
+
* import { Predicate } from "effect"
|
|
2155
|
+
*
|
|
2156
|
+
* const isPositive = (n: number) => n > 0
|
|
2157
|
+
* const isEven = (n: number) => n % 2 === 0
|
|
2158
|
+
*
|
|
2159
|
+
* const isPositiveAndEven = Predicate.every([isPositive, isEven])
|
|
2160
|
+
*
|
|
2161
|
+
* assert.strictEqual(isPositiveAndEven(4), true)
|
|
2162
|
+
* assert.strictEqual(isPositiveAndEven(3), false)
|
|
2163
|
+
* assert.strictEqual(isPositiveAndEven(-2), false)
|
|
2164
|
+
* ```
|
|
2165
|
+
*
|
|
2166
|
+
* @category elements
|
|
2167
|
+
* @since 2.0.0
|
|
2168
|
+
* @see some
|
|
2169
|
+
*/
|
|
2170
|
+
export declare const every: <A>(collection: Iterable<Predicate<A>>) => Predicate<A>;
|
|
2171
|
+
/**
|
|
2172
|
+
* Takes an iterable of predicates and returns a new predicate. The new predicate
|
|
2173
|
+
* returns `true` if at least one predicate in the collection returns `true` for a given value.
|
|
2174
|
+
*
|
|
2175
|
+
* This is like `Array.prototype.some` but for a collection of predicates.
|
|
2176
|
+
*
|
|
2177
|
+
* @example
|
|
2178
|
+
* ```ts
|
|
2179
|
+
* import * as assert from "node:assert"
|
|
2180
|
+
* import { Predicate } from "effect"
|
|
2181
|
+
*
|
|
2182
|
+
* const isNegative = (n: number) => n < 0
|
|
2183
|
+
* const isOdd = (n: number) => n % 2 !== 0
|
|
2184
|
+
*
|
|
2185
|
+
* const isNegativeOrOdd = Predicate.some([isNegative, isOdd])
|
|
2186
|
+
*
|
|
2187
|
+
* assert.strictEqual(isNegativeOrOdd(-2), true) // isNegative is true
|
|
2188
|
+
* assert.strictEqual(isNegativeOrOdd(3), true) // isOdd is true
|
|
2189
|
+
* assert.strictEqual(isNegativeOrOdd(4), false) // both are false
|
|
2190
|
+
* ```
|
|
2191
|
+
*
|
|
2192
|
+
* @category elements
|
|
2193
|
+
* @since 2.0.0
|
|
2194
|
+
* @see every
|
|
2195
|
+
*/
|
|
2196
|
+
export declare const some: <A>(collection: Iterable<Predicate<A>>) => Predicate<A>;
|
|
2197
|
+
//# sourceMappingURL=Predicate.d.ts.map
|