effect 4.0.0-beta.74 → 4.0.0-beta.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +729 -611
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +273 -213
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +37 -30
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +19 -16
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +34 -40
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +16 -16
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +8 -8
- package/dist/Boolean.js +4 -4
- package/dist/Brand.d.ts +13 -11
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +10 -8
- package/dist/Brand.js.map +1 -1
- package/dist/Cause.d.ts +21 -23
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +21 -23
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +219 -9
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +83 -3
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -11
- package/dist/ChannelSchema.js +5 -5
- package/dist/Chunk.d.ts +69 -16
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +43 -8
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +3 -3
- package/dist/Clock.js +3 -3
- package/dist/Combiner.d.ts +9 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +9 -13
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +49 -56
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +40 -43
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +34 -44
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +24 -32
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.js +2 -2
- package/dist/Context.d.ts +60 -72
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +28 -32
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.js +2 -2
- package/dist/Crypto.d.ts +4 -4
- package/dist/Crypto.js +4 -4
- package/dist/Data.d.ts +21 -15
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +7 -7
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +35 -16
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +35 -8
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +24 -15
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +8 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +44 -31
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +22 -11
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +516 -416
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +234 -174
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +5 -0
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +5 -0
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +26 -39
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +10 -17
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +71 -99
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +53 -73
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +1 -1
- package/dist/ErrorReporter.js +1 -1
- package/dist/Exit.d.ts +79 -96
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +57 -64
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +8 -6
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +8 -6
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +25 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +15 -0
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +15 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +10 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/Filter.d.ts +4 -4
- package/dist/Filter.js +4 -4
- package/dist/Formatter.d.ts +14 -19
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +14 -19
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +15 -16
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +9 -10
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +2 -2
- package/dist/Graph.js +2 -2
- package/dist/HKT.d.ts +2 -2
- package/dist/Hash.d.ts +2 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +2 -1
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +15 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +5 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +9 -9
- package/dist/HashRing.js +3 -3
- package/dist/Iterable.d.ts +24 -12
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +16 -6
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +2 -3
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +2 -3
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +2 -6
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +2 -6
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +17 -13
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +17 -13
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +4 -3
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +4 -3
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +92 -114
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +38 -46
- package/dist/Layer.js.map +1 -1
- package/dist/Logger.d.ts +11 -14
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +11 -14
- package/dist/Logger.js.map +1 -1
- package/dist/Match.d.ts +2 -2
- package/dist/Match.js +2 -2
- package/dist/Metric.d.ts +89 -109
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +51 -61
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +21 -12
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +7 -4
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableList.d.ts +15 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +15 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +56 -42
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +28 -22
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +10 -7
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +10 -7
- package/dist/Newtype.js.map +1 -1
- package/dist/Number.d.ts +23 -11
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +9 -5
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +16 -16
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +10 -9
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +196 -168
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +96 -79
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +118 -179
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +92 -144
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +14 -14
- package/dist/PartitionedSemaphore.js +6 -6
- package/dist/Path.d.ts +2 -2
- package/dist/Path.js +2 -2
- package/dist/Pipeable.d.ts +2 -2
- package/dist/Pipeable.js +2 -2
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +4 -4
- package/dist/Pool.d.ts +7 -11
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +3 -5
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +274 -263
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +128 -123
- package/dist/Predicate.js.map +1 -1
- package/dist/PubSub.d.ts +24 -14
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +16 -6
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +4 -4
- package/dist/Pull.js +4 -4
- package/dist/Queue.d.ts +46 -7
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +46 -7
- package/dist/Queue.js.map +1 -1
- package/dist/RcRef.d.ts +0 -4
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js.map +1 -1
- package/dist/Redactable.d.ts +2 -2
- package/dist/Redactable.js +2 -2
- package/dist/Redacted.d.ts +3 -3
- package/dist/Redacted.js +3 -3
- package/dist/Reducer.d.ts +2 -3
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +2 -3
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +17 -16
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +15 -14
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +4 -4
- package/dist/References.js +4 -4
- package/dist/Request.d.ts +18 -18
- package/dist/Request.js +6 -6
- package/dist/Resource.d.ts +2 -2
- package/dist/Resource.js +2 -2
- package/dist/Result.d.ts +77 -33
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +42 -19
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +11 -8
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +11 -8
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +107 -45
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +41 -29
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +6 -4
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +6 -4
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +443 -371
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +518 -427
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +42 -21
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +80 -59
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +126 -106
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +121 -101
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +37 -39
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +16 -17
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +72 -153
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +72 -145
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +30 -21
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +26 -22
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +169 -145
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +183 -159
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/SchemaUtils.js +2 -2
- package/dist/SchemaUtils.js.map +1 -1
- package/dist/Scope.d.ts +15 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +15 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedRef.d.ts +14 -18
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -8
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +9 -9
- package/dist/Semaphore.js +3 -3
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +9 -9
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +4 -5
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +4 -5
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +321 -44
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +137 -22
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +6 -9
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +2 -3
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +15 -13
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +11 -9
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +24 -19
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +12 -7
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +88 -63
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +32 -23
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Tracer.d.ts +4 -4
- package/dist/Tracer.js +4 -4
- package/dist/Trie.d.ts +15 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +25 -19
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +17 -13
- package/dist/Tuple.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +6 -3
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +2 -1
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +16 -16
- package/dist/TxRef.js +8 -8
- package/dist/TxSubscriptionRef.d.ts +43 -27
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +19 -13
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +12 -38
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +0 -2
- package/dist/UndefinedOr.d.ts +15 -14
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +11 -10
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +2 -2
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/arbitrary.js +9 -9
- package/dist/internal/schema/arbitrary.js.map +1 -1
- package/dist/internal/schema/equivalence.js +9 -9
- package/dist/internal/schema/equivalence.js.map +1 -1
- package/dist/internal/schema/representation.js +14 -14
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.js +11 -11
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +10 -10
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +9 -9
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +4 -2
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +4 -2
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +17 -20
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +36 -39
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +4 -5
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -5
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +4 -4
- package/dist/unstable/ai/EmbeddingModel.js +4 -4
- package/dist/unstable/ai/IdGenerator.d.ts +2 -3
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -3
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +3 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +5 -4
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +14 -12
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +19 -17
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +11 -4
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +8 -5
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +20 -18
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +45 -43
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +2 -2
- package/dist/unstable/ai/Prompt.js +3 -3
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +3 -2
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js +3 -2
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +21 -6
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +7 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +7 -6
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +8 -7
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +2 -2
- package/dist/unstable/ai/Toolkit.js +2 -2
- package/dist/unstable/cli/Command.d.ts +37 -16
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +15 -8
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +1 -1
- package/dist/unstable/cli/Completions.js +1 -1
- package/dist/unstable/cli/Flag.d.ts +7 -6
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +7 -6
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +6 -1
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +7 -2
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/Param.d.ts +3 -3
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +13 -10
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +3 -2
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +3 -2
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -2
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.d.ts +5 -0
- package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js +5 -0
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +3 -3
- package/dist/unstable/cluster/ClusterSchema.js +3 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +15 -15
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +10 -0
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +10 -0
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +2 -2
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +2 -2
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +2 -2
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +12 -12
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -2
- package/dist/unstable/cluster/RunnerServer.js +2 -2
- package/dist/unstable/cluster/Runners.d.ts +3 -3
- package/dist/unstable/cluster/Runners.js +3 -3
- package/dist/unstable/cluster/ShardId.js +3 -3
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +3 -3
- package/dist/unstable/cluster/Sharding.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.d.ts +4 -4
- package/dist/unstable/cluster/ShardingConfig.js +4 -4
- package/dist/unstable/cluster/Snowflake.d.ts +1 -1
- package/dist/unstable/cluster/Snowflake.js +3 -3
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +2 -2
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts +2 -2
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +5 -5
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +5 -0
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js +5 -0
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +2 -2
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +2 -2
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +2 -1
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.js +2 -1
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +10 -0
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +10 -0
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +2 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +2 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +5 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogSessionAuth.js +4 -4
- package/dist/unstable/http/Cookies.js +4 -4
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -3
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +2 -3
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.js +2 -2
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +2 -2
- package/dist/unstable/http/HttpClient.js +2 -2
- package/dist/unstable/http/HttpClientRequest.d.ts +30 -3
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +10 -1
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +1 -1
- package/dist/unstable/http/HttpRouter.js +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +25 -20
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +13 -8
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.js +3 -3
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +30 -0
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +16 -6
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -2
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +3 -2
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +10 -8
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +15 -15
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiMiddleware.js +3 -3
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +9 -9
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +11 -11
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +5 -0
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +5 -0
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +4 -2
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -2
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +3 -3
- package/dist/unstable/reactivity/Atom.js +3 -3
- package/dist/unstable/rpc/RpcSchema.d.ts +2 -2
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
- package/dist/unstable/rpc/RpcSerialization.js +2 -2
- package/dist/unstable/schema/Model.js +5 -5
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +2 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +4 -4
- package/dist/unstable/sql/SqlSchema.js +4 -4
- package/dist/unstable/workers/Transferable.d.ts +2 -2
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +5 -5
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +7 -7
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +1 -2
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +1 -2
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +35 -15
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +94 -72
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +10 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +16 -8
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +2 -4
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +9 -11
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +7 -7
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +729 -611
- package/src/BigDecimal.ts +37 -30
- package/src/BigInt.ts +34 -40
- package/src/Boolean.ts +8 -8
- package/src/Brand.ts +16 -14
- package/src/Cause.ts +21 -23
- package/src/Channel.ts +249 -9
- package/src/ChannelSchema.ts +11 -11
- package/src/Chunk.ts +69 -16
- package/src/Clock.ts +3 -3
- package/src/Combiner.ts +9 -13
- package/src/Config.ts +60 -67
- package/src/ConfigProvider.ts +34 -44
- package/src/Console.ts +2 -2
- package/src/Context.ts +60 -72
- package/src/Cron.ts +2 -2
- package/src/Crypto.ts +4 -4
- package/src/Data.ts +21 -15
- package/src/DateTime.ts +35 -16
- package/src/Deferred.ts +24 -15
- package/src/Duration.ts +44 -31
- package/src/Effect.ts +516 -416
- package/src/Encoding.ts +5 -0
- package/src/Equal.ts +26 -39
- package/src/Equivalence.ts +71 -99
- package/src/ErrorReporter.ts +1 -1
- package/src/Exit.ts +79 -96
- package/src/Fiber.ts +8 -6
- package/src/FiberHandle.ts +25 -0
- package/src/FiberMap.ts +35 -0
- package/src/FiberSet.ts +20 -0
- package/src/Filter.ts +4 -4
- package/src/Formatter.ts +14 -19
- package/src/Function.ts +15 -16
- package/src/Graph.ts +2 -2
- package/src/HKT.ts +2 -2
- package/src/Hash.ts +2 -1
- package/src/HashMap.ts +15 -0
- package/src/HashRing.ts +9 -9
- package/src/Iterable.ts +24 -12
- package/src/JsonPatch.ts +2 -3
- package/src/JsonPointer.ts +2 -6
- package/src/JsonSchema.ts +17 -13
- package/src/Latch.ts +4 -3
- package/src/Layer.ts +92 -114
- package/src/Logger.ts +15 -18
- package/src/Match.ts +2 -2
- package/src/Metric.ts +109 -137
- package/src/MutableHashMap.ts +35 -20
- package/src/MutableList.ts +15 -0
- package/src/MutableRef.ts +56 -42
- package/src/Newtype.ts +10 -7
- package/src/Number.ts +23 -11
- package/src/Optic.ts +25 -22
- package/src/Option.ts +196 -168
- package/src/Order.ts +118 -179
- package/src/PartitionedSemaphore.ts +14 -14
- package/src/Path.ts +2 -2
- package/src/Pipeable.ts +2 -2
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +7 -11
- package/src/Predicate.ts +274 -263
- package/src/PubSub.ts +24 -14
- package/src/Pull.ts +4 -4
- package/src/Queue.ts +46 -7
- package/src/RcRef.ts +0 -4
- package/src/Redactable.ts +2 -2
- package/src/Redacted.ts +3 -3
- package/src/Reducer.ts +2 -3
- package/src/Ref.ts +43 -40
- package/src/References.ts +4 -4
- package/src/Request.ts +18 -18
- package/src/Resource.ts +2 -2
- package/src/Result.ts +87 -33
- package/src/Runtime.ts +11 -8
- package/src/Schedule.ts +112 -45
- package/src/Scheduler.ts +6 -4
- package/src/Schema.ts +843 -649
- package/src/SchemaAST.ts +148 -117
- package/src/SchemaGetter.ts +142 -121
- package/src/SchemaIssue.ts +39 -41
- package/src/SchemaParser.ts +173 -229
- package/src/SchemaRepresentation.ts +38 -28
- package/src/SchemaTransformation.ts +233 -207
- package/src/SchemaUtils.ts +2 -2
- package/src/Scope.ts +15 -0
- package/src/ScopedCache.ts +1 -1
- package/src/ScopedRef.ts +14 -18
- package/src/Semaphore.ts +9 -9
- package/src/Sink.ts +13 -13
- package/src/Stdio.ts +4 -5
- package/src/Stream.ts +354 -57
- package/src/String.ts +6 -9
- package/src/Struct.ts +15 -13
- package/src/SubscriptionRef.ts +24 -19
- package/src/SynchronizedRef.ts +88 -63
- package/src/Tracer.ts +4 -4
- package/src/Trie.ts +15 -0
- package/src/Tuple.ts +25 -19
- package/src/TxReentrantLock.ts +6 -3
- package/src/TxRef.ts +16 -16
- package/src/TxSubscriptionRef.ts +43 -27
- package/src/Types.ts +12 -39
- package/src/UndefinedOr.ts +15 -14
- package/src/Unify.ts +2 -2
- package/src/internal/schema/annotations.ts +4 -4
- package/src/internal/schema/arbitrary.ts +16 -16
- package/src/internal/schema/equivalence.ts +11 -11
- package/src/internal/schema/representation.ts +23 -23
- package/src/internal/schema/schema.ts +17 -17
- package/src/testing/TestSchema.ts +20 -20
- package/src/unstable/ai/AiError.ts +4 -2
- package/src/unstable/ai/AnthropicStructuredOutput.ts +59 -56
- package/src/unstable/ai/Chat.ts +4 -5
- package/src/unstable/ai/EmbeddingModel.ts +4 -4
- package/src/unstable/ai/IdGenerator.ts +2 -3
- package/src/unstable/ai/LanguageModel.ts +5 -4
- package/src/unstable/ai/McpSchema.ts +19 -17
- package/src/unstable/ai/McpServer.ts +14 -7
- package/src/unstable/ai/OpenAiStructuredOutput.ts +72 -61
- package/src/unstable/ai/Prompt.ts +5 -5
- package/src/unstable/ai/ResponseIdTracker.ts +3 -2
- package/src/unstable/ai/Telemetry.ts +21 -6
- package/src/unstable/ai/Tool.ts +11 -10
- package/src/unstable/ai/Toolkit.ts +2 -2
- package/src/unstable/cli/Command.ts +37 -16
- package/src/unstable/cli/Completions.ts +1 -1
- package/src/unstable/cli/Flag.ts +7 -6
- package/src/unstable/cli/GlobalFlag.ts +7 -1
- package/src/unstable/cli/Param.ts +23 -18
- package/src/unstable/cli/Primitive.ts +3 -2
- package/src/unstable/cluster/ClusterCron.ts +1 -2
- package/src/unstable/cluster/ClusterMetrics.ts +5 -0
- package/src/unstable/cluster/ClusterSchema.ts +3 -3
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +15 -15
- package/src/unstable/cluster/EntityResource.ts +10 -0
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/Reply.ts +14 -12
- package/src/unstable/cluster/RunnerHealth.ts +2 -1
- package/src/unstable/cluster/RunnerServer.ts +2 -2
- package/src/unstable/cluster/Runners.ts +3 -3
- package/src/unstable/cluster/ShardId.ts +3 -3
- package/src/unstable/cluster/Sharding.ts +3 -3
- package/src/unstable/cluster/ShardingConfig.ts +4 -4
- package/src/unstable/cluster/Snowflake.ts +3 -3
- package/src/unstable/cluster/internal/entityManager.ts +2 -2
- package/src/unstable/encoding/Msgpack.ts +6 -6
- package/src/unstable/encoding/Ndjson.ts +5 -0
- package/src/unstable/encoding/Sse.ts +2 -2
- package/src/unstable/eventlog/EventGroup.ts +2 -1
- package/src/unstable/eventlog/EventJournal.ts +10 -0
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -3
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +5 -7
- package/src/unstable/eventlog/EventLogSessionAuth.ts +4 -4
- package/src/unstable/http/Cookies.ts +4 -4
- package/src/unstable/http/Etag.ts +2 -3
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +2 -2
- package/src/unstable/http/HttpClient.ts +2 -2
- package/src/unstable/http/HttpClientRequest.ts +30 -3
- package/src/unstable/http/HttpRouter.ts +1 -1
- package/src/unstable/http/HttpServerResponse.ts +25 -20
- package/src/unstable/http/Multipart.ts +3 -3
- package/src/unstable/http/UrlParams.ts +36 -6
- package/src/unstable/httpapi/HttpApi.ts +5 -4
- package/src/unstable/httpapi/HttpApiBuilder.ts +14 -13
- package/src/unstable/httpapi/HttpApiClient.ts +16 -16
- package/src/unstable/httpapi/HttpApiMiddleware.ts +3 -3
- package/src/unstable/httpapi/HttpApiSchema.ts +15 -15
- package/src/unstable/httpapi/OpenApi.ts +18 -18
- package/src/unstable/observability/OtlpResource.ts +5 -0
- package/src/unstable/observability/PrometheusMetrics.ts +4 -2
- package/src/unstable/reactivity/Atom.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +2 -2
- package/src/unstable/rpc/RpcSerialization.ts +2 -2
- package/src/unstable/schema/Model.ts +5 -5
- package/src/unstable/schema/VariantSchema.ts +2 -2
- package/src/unstable/sql/SqlSchema.ts +4 -4
- package/src/unstable/workers/Transferable.ts +6 -6
- package/src/unstable/workflow/DurableDeferred.ts +7 -7
- package/src/unstable/workflow/DurableQueue.ts +1 -2
- package/src/unstable/workflow/Workflow.ts +159 -114
- package/src/unstable/workflow/WorkflowEngine.ts +16 -8
- package/src/unstable/workflow/WorkflowProxy.ts +9 -11
- package/src/unstable/workflow/WorkflowProxyServer.ts +7 -7
package/dist/Equivalence.d.ts
CHANGED
|
@@ -5,9 +5,7 @@ import * as Reducer from "./Reducer.ts";
|
|
|
5
5
|
*
|
|
6
6
|
* **When to use**
|
|
7
7
|
*
|
|
8
|
-
* Use as a type annotation
|
|
9
|
-
* - Use when implementing custom equivalence logic
|
|
10
|
-
* - Use when working with collection operations that require equivalence relations
|
|
8
|
+
* Use as a type annotation when you accept or return an equivalence function.
|
|
11
9
|
*
|
|
12
10
|
* **Details**
|
|
13
11
|
*
|
|
@@ -52,9 +50,7 @@ export type Equivalence<in A> = (self: A, that: A) => boolean;
|
|
|
52
50
|
*
|
|
53
51
|
* **When to use**
|
|
54
52
|
*
|
|
55
|
-
* Use when
|
|
56
|
-
* - Use primarily for internal type system operations and HKT (Higher-Kinded Types) abstractions
|
|
57
|
-
* - Use when working with generic type constructors that require type lambdas
|
|
53
|
+
* Use when you need to abstract over `Equivalence` in higher-kinded type code.
|
|
58
54
|
*
|
|
59
55
|
* **Details**
|
|
60
56
|
*
|
|
@@ -90,15 +86,15 @@ export interface EquivalenceTypeLambda extends TypeLambda {
|
|
|
90
86
|
*
|
|
91
87
|
* **When to use**
|
|
92
88
|
*
|
|
93
|
-
* Use when you need
|
|
94
|
-
*
|
|
95
|
-
* - Use when you want the performance benefit of reference equality optimization
|
|
89
|
+
* Use when you need an equality rule that the built-in instances and input
|
|
90
|
+
* mapping helpers cannot express, and you can provide a law-abiding comparison.
|
|
96
91
|
*
|
|
97
92
|
* **Details**
|
|
98
93
|
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
94
|
+
* The returned equivalence first checks reference equality (`===`) for
|
|
95
|
+
* performance. If the values are not the same reference, it falls back to the
|
|
96
|
+
* provided equivalence function, which must satisfy reflexive, symmetric, and
|
|
97
|
+
* transitive properties.
|
|
102
98
|
*
|
|
103
99
|
* **Example** (Case-insensitive string equivalence)
|
|
104
100
|
*
|
|
@@ -139,16 +135,14 @@ export declare const make: <A>(isEquivalent: (self: A, that: A) => boolean) => E
|
|
|
139
135
|
*
|
|
140
136
|
* **When to use**
|
|
141
137
|
*
|
|
142
|
-
* Use when you need
|
|
143
|
-
* - Use when you need reference equality for objects
|
|
144
|
-
* - Use as a building block for more complex equivalences via {@link mapInput} or {@link combine}
|
|
145
|
-
* - Use when performance is critical and you do not need structural equality
|
|
138
|
+
* Use when you need strict equality (`===`) as the comparison.
|
|
146
139
|
*
|
|
147
140
|
* **Details**
|
|
148
141
|
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
142
|
+
* Uses JavaScript's strict equality operator (`===`). Primitives compare by
|
|
143
|
+
* value. Objects compare by reference, so only the same object instance is
|
|
144
|
+
* equivalent. Use this as a building block for more complex equivalences via
|
|
145
|
+
* `mapInput` or `combine`.
|
|
152
146
|
*
|
|
153
147
|
* **Gotchas**
|
|
154
148
|
*
|
|
@@ -189,7 +183,7 @@ export declare const strictEqual: <A>() => Equivalence<A>;
|
|
|
189
183
|
*
|
|
190
184
|
* **When to use**
|
|
191
185
|
*
|
|
192
|
-
* Use when
|
|
186
|
+
* Use when you need to supply case-sensitive string equality.
|
|
193
187
|
*
|
|
194
188
|
* **Example** (Comparing strings)
|
|
195
189
|
*
|
|
@@ -209,12 +203,7 @@ export declare const String: Equivalence<string>;
|
|
|
209
203
|
*
|
|
210
204
|
* **When to use**
|
|
211
205
|
*
|
|
212
|
-
* Use when
|
|
213
|
-
* `NaN` equals `NaN`.
|
|
214
|
-
*
|
|
215
|
-
* **Details**
|
|
216
|
-
*
|
|
217
|
-
* `NaN` is considered equal to `NaN`.
|
|
206
|
+
* Use when you need numeric equality that treats NaN as equal to itself.
|
|
218
207
|
*
|
|
219
208
|
* **Example** (Comparing numbers)
|
|
220
209
|
*
|
|
@@ -235,7 +224,7 @@ export declare const Number: Equivalence<number>;
|
|
|
235
224
|
*
|
|
236
225
|
* **When to use**
|
|
237
226
|
*
|
|
238
|
-
* Use when
|
|
227
|
+
* Use when you need to supply boolean equality.
|
|
239
228
|
*
|
|
240
229
|
* **Example** (Comparing booleans)
|
|
241
230
|
*
|
|
@@ -255,7 +244,7 @@ export declare const Boolean: Equivalence<boolean>;
|
|
|
255
244
|
*
|
|
256
245
|
* **When to use**
|
|
257
246
|
*
|
|
258
|
-
* Use when
|
|
247
|
+
* Use when you need to supply bigint equality.
|
|
259
248
|
*
|
|
260
249
|
* **Example** (Comparing bigints)
|
|
261
250
|
*
|
|
@@ -275,15 +264,14 @@ export declare const BigInt: Equivalence<bigint>;
|
|
|
275
264
|
*
|
|
276
265
|
* **When to use**
|
|
277
266
|
*
|
|
278
|
-
* Use when you need to combine exactly two equivalences
|
|
279
|
-
* - Use when building complex equivalences from simpler ones
|
|
280
|
-
* - Use when you want both conditions to be satisfied
|
|
267
|
+
* Use when you need to combine exactly two equivalences with AND semantics.
|
|
281
268
|
*
|
|
282
269
|
* **Details**
|
|
283
270
|
*
|
|
284
|
-
*
|
|
285
|
-
* -
|
|
286
|
-
*
|
|
271
|
+
* Returns `true` only if both equivalences return `true`. The comparison
|
|
272
|
+
* short-circuits when the first equivalence returns `false`. The result is also
|
|
273
|
+
* an equivalence that satisfies reflexive, symmetric, and transitive
|
|
274
|
+
* properties.
|
|
287
275
|
*
|
|
288
276
|
* **Example** (Combining name and age equivalences)
|
|
289
277
|
*
|
|
@@ -326,15 +314,14 @@ export declare const combine: {
|
|
|
326
314
|
*
|
|
327
315
|
* **When to use**
|
|
328
316
|
*
|
|
329
|
-
* Use when you need to combine exactly two equivalences
|
|
330
|
-
* - Use when building complex equivalences from simpler ones
|
|
331
|
-
* - Use when you want both conditions to be satisfied
|
|
317
|
+
* Use when you need to combine exactly two equivalences with AND semantics.
|
|
332
318
|
*
|
|
333
319
|
* **Details**
|
|
334
320
|
*
|
|
335
|
-
*
|
|
336
|
-
* -
|
|
337
|
-
*
|
|
321
|
+
* Returns `true` only if both equivalences return `true`. The comparison
|
|
322
|
+
* short-circuits when the first equivalence returns `false`. The result is also
|
|
323
|
+
* an equivalence that satisfies reflexive, symmetric, and transitive
|
|
324
|
+
* properties.
|
|
338
325
|
*
|
|
339
326
|
* **Example** (Combining name and age equivalences)
|
|
340
327
|
*
|
|
@@ -377,15 +364,14 @@ export declare const combine: {
|
|
|
377
364
|
*
|
|
378
365
|
* **When to use**
|
|
379
366
|
*
|
|
380
|
-
* Use when you need to combine exactly two equivalences
|
|
381
|
-
* - Use when building complex equivalences from simpler ones
|
|
382
|
-
* - Use when you want both conditions to be satisfied
|
|
367
|
+
* Use when you need to combine exactly two equivalences with AND semantics.
|
|
383
368
|
*
|
|
384
369
|
* **Details**
|
|
385
370
|
*
|
|
386
|
-
*
|
|
387
|
-
* -
|
|
388
|
-
*
|
|
371
|
+
* Returns `true` only if both equivalences return `true`. The comparison
|
|
372
|
+
* short-circuits when the first equivalence returns `false`. The result is also
|
|
373
|
+
* an equivalence that satisfies reflexive, symmetric, and transitive
|
|
374
|
+
* properties.
|
|
389
375
|
*
|
|
390
376
|
* **Example** (Combining name and age equivalences)
|
|
391
377
|
*
|
|
@@ -429,17 +415,15 @@ export declare const combine: {
|
|
|
429
415
|
*
|
|
430
416
|
* **When to use**
|
|
431
417
|
*
|
|
432
|
-
* Use when you need to combine
|
|
433
|
-
* - Use when you have a dynamic collection of equivalences to combine
|
|
434
|
-
* - Use when building equivalences from arrays or iterables
|
|
435
|
-
* - Prefer this over multiple `combine` calls when you have many equivalences
|
|
418
|
+
* Use when you need to combine many `Equivalence` instances from an iterable.
|
|
436
419
|
*
|
|
437
420
|
* **Details**
|
|
438
421
|
*
|
|
439
|
-
*
|
|
440
|
-
*
|
|
441
|
-
*
|
|
442
|
-
*
|
|
422
|
+
* Returns `true` only if all equivalences in the collection return `true`. The
|
|
423
|
+
* comparison stops at the first equivalence that returns `false`. Empty
|
|
424
|
+
* collections return an equivalence that always returns `true`. The result is
|
|
425
|
+
* also an equivalence that satisfies reflexive, symmetric, and transitive
|
|
426
|
+
* properties.
|
|
443
427
|
*
|
|
444
428
|
* **Example** (Combining multiple field equivalences)
|
|
445
429
|
*
|
|
@@ -496,10 +480,7 @@ export declare const combineAll: <A>(collection: Iterable<Equivalence<A>>) => Eq
|
|
|
496
480
|
*
|
|
497
481
|
* **When to use**
|
|
498
482
|
*
|
|
499
|
-
* Use when you need an equivalence for
|
|
500
|
-
* - Use when you want to normalize values before comparison, such as case-insensitive strings
|
|
501
|
-
* - Use when creating equivalences that focus on specific fields of objects
|
|
502
|
-
* - Use as a building block for creating equivalences via {@link combine} or {@link combineAll}
|
|
483
|
+
* Use when you need an equivalence for one type by comparing a derived value.
|
|
503
484
|
*
|
|
504
485
|
* **Details**
|
|
505
486
|
*
|
|
@@ -507,6 +488,8 @@ export declare const combineAll: <A>(collection: Iterable<Equivalence<A>>) => Eq
|
|
|
507
488
|
* - The transformation function should be pure and have no side effects
|
|
508
489
|
* - The resulting equivalence compares the transformed values using the provided equivalence
|
|
509
490
|
* - The result is also an equivalence that satisfies reflexive, symmetric, and transitive properties
|
|
491
|
+
* - Useful for comparing by one property or normalizing values before
|
|
492
|
+
* comparison, such as case-insensitive strings
|
|
510
493
|
*
|
|
511
494
|
* **Example** (Equivalence based on object property)
|
|
512
495
|
*
|
|
@@ -558,10 +541,7 @@ export declare const mapInput: {
|
|
|
558
541
|
*
|
|
559
542
|
* **When to use**
|
|
560
543
|
*
|
|
561
|
-
* Use when you need an equivalence for
|
|
562
|
-
* - Use when you want to normalize values before comparison, such as case-insensitive strings
|
|
563
|
-
* - Use when creating equivalences that focus on specific fields of objects
|
|
564
|
-
* - Use as a building block for creating equivalences via {@link combine} or {@link combineAll}
|
|
544
|
+
* Use when you need an equivalence for one type by comparing a derived value.
|
|
565
545
|
*
|
|
566
546
|
* **Details**
|
|
567
547
|
*
|
|
@@ -569,6 +549,8 @@ export declare const mapInput: {
|
|
|
569
549
|
* - The transformation function should be pure and have no side effects
|
|
570
550
|
* - The resulting equivalence compares the transformed values using the provided equivalence
|
|
571
551
|
* - The result is also an equivalence that satisfies reflexive, symmetric, and transitive properties
|
|
552
|
+
* - Useful for comparing by one property or normalizing values before
|
|
553
|
+
* comparison, such as case-insensitive strings
|
|
572
554
|
*
|
|
573
555
|
* **Example** (Equivalence based on object property)
|
|
574
556
|
*
|
|
@@ -620,10 +602,7 @@ export declare const mapInput: {
|
|
|
620
602
|
*
|
|
621
603
|
* **When to use**
|
|
622
604
|
*
|
|
623
|
-
* Use when you need an equivalence for
|
|
624
|
-
* - Use when you want to normalize values before comparison, such as case-insensitive strings
|
|
625
|
-
* - Use when creating equivalences that focus on specific fields of objects
|
|
626
|
-
* - Use as a building block for creating equivalences via {@link combine} or {@link combineAll}
|
|
605
|
+
* Use when you need an equivalence for one type by comparing a derived value.
|
|
627
606
|
*
|
|
628
607
|
* **Details**
|
|
629
608
|
*
|
|
@@ -631,6 +610,8 @@ export declare const mapInput: {
|
|
|
631
610
|
* - The transformation function should be pure and have no side effects
|
|
632
611
|
* - The resulting equivalence compares the transformed values using the provided equivalence
|
|
633
612
|
* - The result is also an equivalence that satisfies reflexive, symmetric, and transitive properties
|
|
613
|
+
* - Useful for comparing by one property or normalizing values before
|
|
614
|
+
* comparison, such as case-insensitive strings
|
|
634
615
|
*
|
|
635
616
|
* **Example** (Equivalence based on object property)
|
|
636
617
|
*
|
|
@@ -683,17 +664,16 @@ export declare const mapInput: {
|
|
|
683
664
|
*
|
|
684
665
|
* **When to use**
|
|
685
666
|
*
|
|
686
|
-
* Use when
|
|
687
|
-
*
|
|
688
|
-
* - Use when working with fixed-length tuples instead of arrays
|
|
689
|
-
* - Prefer this over `Array` when you have a known tuple structure with different types
|
|
667
|
+
* Use when you need an `Equivalence` for fixed-length tuples with per-position
|
|
668
|
+
* equivalences.
|
|
690
669
|
*
|
|
691
670
|
* **Details**
|
|
692
671
|
*
|
|
693
|
-
*
|
|
694
|
-
*
|
|
695
|
-
*
|
|
696
|
-
*
|
|
672
|
+
* Tuples must have the same length; different lengths are never equivalent.
|
|
673
|
+
* Each equivalence is applied to the corresponding element position. The result
|
|
674
|
+
* returns `true` only if all elements are equivalent according to their
|
|
675
|
+
* respective equivalences, and it also satisfies reflexive, symmetric, and
|
|
676
|
+
* transitive properties.
|
|
697
677
|
*
|
|
698
678
|
* **Example** (Homogeneous tuple equivalence)
|
|
699
679
|
*
|
|
@@ -751,10 +731,7 @@ export {
|
|
|
751
731
|
*
|
|
752
732
|
* **When to use**
|
|
753
733
|
*
|
|
754
|
-
* Use when
|
|
755
|
-
* - Use when all elements should use the same equivalence logic
|
|
756
|
-
* - Use when working with variable-length arrays instead of fixed tuples
|
|
757
|
-
* - Prefer this over `Tuple` when you have arrays of the same type
|
|
734
|
+
* Use when you need to compare arrays with one equivalence for every element.
|
|
758
735
|
*
|
|
759
736
|
* **Details**
|
|
760
737
|
*
|
|
@@ -803,18 +780,16 @@ Array_ as Array };
|
|
|
803
780
|
*
|
|
804
781
|
* **When to use**
|
|
805
782
|
*
|
|
806
|
-
* Use when
|
|
807
|
-
*
|
|
808
|
-
* - Use when working with struct or interface types with specific fields
|
|
809
|
-
* - Prefer this over `Record` when you have a fixed set of known properties
|
|
783
|
+
* Use when you need an `Equivalence` for objects with known, fixed property
|
|
784
|
+
* names.
|
|
810
785
|
*
|
|
811
786
|
* **Details**
|
|
812
787
|
*
|
|
813
|
-
*
|
|
814
|
-
*
|
|
815
|
-
*
|
|
816
|
-
*
|
|
817
|
-
*
|
|
788
|
+
* Compares only the properties specified in the struct definition; other
|
|
789
|
+
* properties are ignored. String and symbol keys are supported via
|
|
790
|
+
* `Reflect.ownKeys`. The result returns `true` only if all specified properties
|
|
791
|
+
* are equivalent according to their equivalences, and it also satisfies
|
|
792
|
+
* reflexive, symmetric, and transitive properties.
|
|
818
793
|
*
|
|
819
794
|
* **Example** (Struct with different equivalences per field)
|
|
820
795
|
*
|
|
@@ -876,10 +851,8 @@ export declare function Struct<R extends Record<string, Equivalence<any>>>(field
|
|
|
876
851
|
*
|
|
877
852
|
* **When to use**
|
|
878
853
|
*
|
|
879
|
-
* Use when
|
|
880
|
-
*
|
|
881
|
-
* - Use when working with record or dictionary types
|
|
882
|
-
* - Prefer this over `Struct` when you have variable properties or need to compare all properties uniformly
|
|
854
|
+
* Use when you need to compare records with the same equivalence for every
|
|
855
|
+
* property value.
|
|
883
856
|
*
|
|
884
857
|
* **Details**
|
|
885
858
|
*
|
|
@@ -931,16 +904,14 @@ export declare function Record<A>(value: Equivalence<A>): Equivalence<Record<Pro
|
|
|
931
904
|
*
|
|
932
905
|
* **When to use**
|
|
933
906
|
*
|
|
934
|
-
* Use when you need
|
|
935
|
-
* - Use when implementing fold operations over collections of equivalences
|
|
936
|
-
* - Use when working with reducers that operate on equivalences
|
|
907
|
+
* Use when you need a reducer that combines equivalences.
|
|
937
908
|
*
|
|
938
909
|
* **Details**
|
|
939
910
|
*
|
|
940
|
-
*
|
|
941
|
-
*
|
|
942
|
-
*
|
|
943
|
-
*
|
|
911
|
+
* Returns a reducer that combines equivalences using `combine`. The identity
|
|
912
|
+
* element for empty collections is an equivalence that always returns `true`.
|
|
913
|
+
* The reducer uses `combineAll` for collections of equivalences and can be used
|
|
914
|
+
* with fold operations.
|
|
944
915
|
*
|
|
945
916
|
* **Example** (Creating a Reducer)
|
|
946
917
|
*
|
|
@@ -971,7 +942,8 @@ export declare function makeReducer<A>(): Reducer.Reducer<Equivalence<A>>;
|
|
|
971
942
|
*
|
|
972
943
|
* **When to use**
|
|
973
944
|
*
|
|
974
|
-
* Use when
|
|
945
|
+
* Use when you need an `Equivalence` for JavaScript date objects by their
|
|
946
|
+
* millisecond timestamp.
|
|
975
947
|
*
|
|
976
948
|
* **Details**
|
|
977
949
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Equivalence.d.ts","sourceRoot":"","sources":["../src/Equivalence.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC
|
|
1
|
+
{"version":3,"file":"Equivalence.d.ts","sourceRoot":"","sources":["../src/Equivalence.ts"],"names":[],"mappings":"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"}
|
package/dist/Equivalence.js
CHANGED
|
@@ -58,15 +58,15 @@ import * as Reducer from "./Reducer.js";
|
|
|
58
58
|
*
|
|
59
59
|
* **When to use**
|
|
60
60
|
*
|
|
61
|
-
* Use when you need
|
|
62
|
-
*
|
|
63
|
-
* - Use when you want the performance benefit of reference equality optimization
|
|
61
|
+
* Use when you need an equality rule that the built-in instances and input
|
|
62
|
+
* mapping helpers cannot express, and you can provide a law-abiding comparison.
|
|
64
63
|
*
|
|
65
64
|
* **Details**
|
|
66
65
|
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
66
|
+
* The returned equivalence first checks reference equality (`===`) for
|
|
67
|
+
* performance. If the values are not the same reference, it falls back to the
|
|
68
|
+
* provided equivalence function, which must satisfy reflexive, symmetric, and
|
|
69
|
+
* transitive properties.
|
|
70
70
|
*
|
|
71
71
|
* **Example** (Case-insensitive string equivalence)
|
|
72
72
|
*
|
|
@@ -108,16 +108,14 @@ const isStrictEquivalent = (x, y) => x === y;
|
|
|
108
108
|
*
|
|
109
109
|
* **When to use**
|
|
110
110
|
*
|
|
111
|
-
* Use when you need
|
|
112
|
-
* - Use when you need reference equality for objects
|
|
113
|
-
* - Use as a building block for more complex equivalences via {@link mapInput} or {@link combine}
|
|
114
|
-
* - Use when performance is critical and you do not need structural equality
|
|
111
|
+
* Use when you need strict equality (`===`) as the comparison.
|
|
115
112
|
*
|
|
116
113
|
* **Details**
|
|
117
114
|
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
115
|
+
* Uses JavaScript's strict equality operator (`===`). Primitives compare by
|
|
116
|
+
* value. Objects compare by reference, so only the same object instance is
|
|
117
|
+
* equivalent. Use this as a building block for more complex equivalences via
|
|
118
|
+
* `mapInput` or `combine`.
|
|
121
119
|
*
|
|
122
120
|
* **Gotchas**
|
|
123
121
|
*
|
|
@@ -158,7 +156,7 @@ export const strictEqual = () => isStrictEquivalent;
|
|
|
158
156
|
*
|
|
159
157
|
* **When to use**
|
|
160
158
|
*
|
|
161
|
-
* Use when
|
|
159
|
+
* Use when you need to supply case-sensitive string equality.
|
|
162
160
|
*
|
|
163
161
|
* **Example** (Comparing strings)
|
|
164
162
|
*
|
|
@@ -178,12 +176,7 @@ export const String = isStrictEquivalent;
|
|
|
178
176
|
*
|
|
179
177
|
* **When to use**
|
|
180
178
|
*
|
|
181
|
-
* Use when
|
|
182
|
-
* `NaN` equals `NaN`.
|
|
183
|
-
*
|
|
184
|
-
* **Details**
|
|
185
|
-
*
|
|
186
|
-
* `NaN` is considered equal to `NaN`.
|
|
179
|
+
* Use when you need numeric equality that treats NaN as equal to itself.
|
|
187
180
|
*
|
|
188
181
|
* **Example** (Comparing numbers)
|
|
189
182
|
*
|
|
@@ -204,7 +197,7 @@ export const Number = /*#__PURE__*/make((self, that) => globalThis.Number.isNaN(
|
|
|
204
197
|
*
|
|
205
198
|
* **When to use**
|
|
206
199
|
*
|
|
207
|
-
* Use when
|
|
200
|
+
* Use when you need to supply boolean equality.
|
|
208
201
|
*
|
|
209
202
|
* **Example** (Comparing booleans)
|
|
210
203
|
*
|
|
@@ -224,7 +217,7 @@ export const Boolean = isStrictEquivalent;
|
|
|
224
217
|
*
|
|
225
218
|
* **When to use**
|
|
226
219
|
*
|
|
227
|
-
* Use when
|
|
220
|
+
* Use when you need to supply bigint equality.
|
|
228
221
|
*
|
|
229
222
|
* **Example** (Comparing bigints)
|
|
230
223
|
*
|
|
@@ -244,15 +237,14 @@ export const BigInt = isStrictEquivalent;
|
|
|
244
237
|
*
|
|
245
238
|
* **When to use**
|
|
246
239
|
*
|
|
247
|
-
* Use when you need to combine exactly two equivalences
|
|
248
|
-
* - Use when building complex equivalences from simpler ones
|
|
249
|
-
* - Use when you want both conditions to be satisfied
|
|
240
|
+
* Use when you need to combine exactly two equivalences with AND semantics.
|
|
250
241
|
*
|
|
251
242
|
* **Details**
|
|
252
243
|
*
|
|
253
|
-
*
|
|
254
|
-
* -
|
|
255
|
-
*
|
|
244
|
+
* Returns `true` only if both equivalences return `true`. The comparison
|
|
245
|
+
* short-circuits when the first equivalence returns `false`. The result is also
|
|
246
|
+
* an equivalence that satisfies reflexive, symmetric, and transitive
|
|
247
|
+
* properties.
|
|
256
248
|
*
|
|
257
249
|
* **Example** (Combining name and age equivalences)
|
|
258
250
|
*
|
|
@@ -295,17 +287,15 @@ export const combine = /*#__PURE__*/dual(2, (self, that) => make((x, y) => self(
|
|
|
295
287
|
*
|
|
296
288
|
* **When to use**
|
|
297
289
|
*
|
|
298
|
-
* Use when you need to combine
|
|
299
|
-
* - Use when you have a dynamic collection of equivalences to combine
|
|
300
|
-
* - Use when building equivalences from arrays or iterables
|
|
301
|
-
* - Prefer this over multiple `combine` calls when you have many equivalences
|
|
290
|
+
* Use when you need to combine many `Equivalence` instances from an iterable.
|
|
302
291
|
*
|
|
303
292
|
* **Details**
|
|
304
293
|
*
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
*
|
|
294
|
+
* Returns `true` only if all equivalences in the collection return `true`. The
|
|
295
|
+
* comparison stops at the first equivalence that returns `false`. Empty
|
|
296
|
+
* collections return an equivalence that always returns `true`. The result is
|
|
297
|
+
* also an equivalence that satisfies reflexive, symmetric, and transitive
|
|
298
|
+
* properties.
|
|
309
299
|
*
|
|
310
300
|
* **Example** (Combining multiple field equivalences)
|
|
311
301
|
*
|
|
@@ -369,10 +359,7 @@ export const combineAll = collection => make((x, y) => {
|
|
|
369
359
|
*
|
|
370
360
|
* **When to use**
|
|
371
361
|
*
|
|
372
|
-
* Use when you need an equivalence for
|
|
373
|
-
* - Use when you want to normalize values before comparison, such as case-insensitive strings
|
|
374
|
-
* - Use when creating equivalences that focus on specific fields of objects
|
|
375
|
-
* - Use as a building block for creating equivalences via {@link combine} or {@link combineAll}
|
|
362
|
+
* Use when you need an equivalence for one type by comparing a derived value.
|
|
376
363
|
*
|
|
377
364
|
* **Details**
|
|
378
365
|
*
|
|
@@ -380,6 +367,8 @@ export const combineAll = collection => make((x, y) => {
|
|
|
380
367
|
* - The transformation function should be pure and have no side effects
|
|
381
368
|
* - The resulting equivalence compares the transformed values using the provided equivalence
|
|
382
369
|
* - The result is also an equivalence that satisfies reflexive, symmetric, and transitive properties
|
|
370
|
+
* - Useful for comparing by one property or normalizing values before
|
|
371
|
+
* comparison, such as case-insensitive strings
|
|
383
372
|
*
|
|
384
373
|
* **Example** (Equivalence based on object property)
|
|
385
374
|
*
|
|
@@ -431,17 +420,16 @@ export const mapInput = /*#__PURE__*/dual(2, (self, f) => make((x, y) => self(f(
|
|
|
431
420
|
*
|
|
432
421
|
* **When to use**
|
|
433
422
|
*
|
|
434
|
-
* Use when
|
|
435
|
-
*
|
|
436
|
-
* - Use when working with fixed-length tuples instead of arrays
|
|
437
|
-
* - Prefer this over `Array` when you have a known tuple structure with different types
|
|
423
|
+
* Use when you need an `Equivalence` for fixed-length tuples with per-position
|
|
424
|
+
* equivalences.
|
|
438
425
|
*
|
|
439
426
|
* **Details**
|
|
440
427
|
*
|
|
441
|
-
*
|
|
442
|
-
*
|
|
443
|
-
*
|
|
444
|
-
*
|
|
428
|
+
* Tuples must have the same length; different lengths are never equivalent.
|
|
429
|
+
* Each equivalence is applied to the corresponding element position. The result
|
|
430
|
+
* returns `true` only if all elements are equivalent according to their
|
|
431
|
+
* respective equivalences, and it also satisfies reflexive, symmetric, and
|
|
432
|
+
* transitive properties.
|
|
445
433
|
*
|
|
446
434
|
* **Example** (Homogeneous tuple equivalence)
|
|
447
435
|
*
|
|
@@ -517,10 +505,7 @@ export {
|
|
|
517
505
|
*
|
|
518
506
|
* **When to use**
|
|
519
507
|
*
|
|
520
|
-
* Use when
|
|
521
|
-
* - Use when all elements should use the same equivalence logic
|
|
522
|
-
* - Use when working with variable-length arrays instead of fixed tuples
|
|
523
|
-
* - Prefer this over `Tuple` when you have arrays of the same type
|
|
508
|
+
* Use when you need to compare arrays with one equivalence for every element.
|
|
524
509
|
*
|
|
525
510
|
* **Details**
|
|
526
511
|
*
|
|
@@ -569,18 +554,16 @@ Array_ as Array };
|
|
|
569
554
|
*
|
|
570
555
|
* **When to use**
|
|
571
556
|
*
|
|
572
|
-
* Use when
|
|
573
|
-
*
|
|
574
|
-
* - Use when working with struct or interface types with specific fields
|
|
575
|
-
* - Prefer this over `Record` when you have a fixed set of known properties
|
|
557
|
+
* Use when you need an `Equivalence` for objects with known, fixed property
|
|
558
|
+
* names.
|
|
576
559
|
*
|
|
577
560
|
* **Details**
|
|
578
561
|
*
|
|
579
|
-
*
|
|
580
|
-
*
|
|
581
|
-
*
|
|
582
|
-
*
|
|
583
|
-
*
|
|
562
|
+
* Compares only the properties specified in the struct definition; other
|
|
563
|
+
* properties are ignored. String and symbol keys are supported via
|
|
564
|
+
* `Reflect.ownKeys`. The result returns `true` only if all specified properties
|
|
565
|
+
* are equivalent according to their equivalences, and it also satisfies
|
|
566
|
+
* reflexive, symmetric, and transitive properties.
|
|
584
567
|
*
|
|
585
568
|
* **Example** (Struct with different equivalences per field)
|
|
586
569
|
*
|
|
@@ -648,10 +631,8 @@ export function Struct(fields) {
|
|
|
648
631
|
*
|
|
649
632
|
* **When to use**
|
|
650
633
|
*
|
|
651
|
-
* Use when
|
|
652
|
-
*
|
|
653
|
-
* - Use when working with record or dictionary types
|
|
654
|
-
* - Prefer this over `Struct` when you have variable properties or need to compare all properties uniformly
|
|
634
|
+
* Use when you need to compare records with the same equivalence for every
|
|
635
|
+
* property value.
|
|
655
636
|
*
|
|
656
637
|
* **Details**
|
|
657
638
|
*
|
|
@@ -715,16 +696,14 @@ export function Record(value) {
|
|
|
715
696
|
*
|
|
716
697
|
* **When to use**
|
|
717
698
|
*
|
|
718
|
-
* Use when you need
|
|
719
|
-
* - Use when implementing fold operations over collections of equivalences
|
|
720
|
-
* - Use when working with reducers that operate on equivalences
|
|
699
|
+
* Use when you need a reducer that combines equivalences.
|
|
721
700
|
*
|
|
722
701
|
* **Details**
|
|
723
702
|
*
|
|
724
|
-
*
|
|
725
|
-
*
|
|
726
|
-
*
|
|
727
|
-
*
|
|
703
|
+
* Returns a reducer that combines equivalences using `combine`. The identity
|
|
704
|
+
* element for empty collections is an equivalence that always returns `true`.
|
|
705
|
+
* The reducer uses `combineAll` for collections of equivalences and can be used
|
|
706
|
+
* with fold operations.
|
|
728
707
|
*
|
|
729
708
|
* **Example** (Creating a Reducer)
|
|
730
709
|
*
|
|
@@ -757,7 +736,8 @@ export function makeReducer() {
|
|
|
757
736
|
*
|
|
758
737
|
* **When to use**
|
|
759
738
|
*
|
|
760
|
-
* Use when
|
|
739
|
+
* Use when you need an `Equivalence` for JavaScript date objects by their
|
|
740
|
+
* millisecond timestamp.
|
|
761
741
|
*
|
|
762
742
|
* **Details**
|
|
763
743
|
*
|