effect 4.0.0-beta.99 → 4.0.0-rc.108
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/AGENTS.md +381 -0
- package/CLAUDE.md +381 -0
- package/README.md +14 -19
- package/ai-docs/README.md +44 -0
- package/ai-docs/package.json +36 -0
- package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
- package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
- package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
- package/ai-docs/src/01_effect/01_basics/index.md +5 -0
- package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
- package/ai-docs/src/01_effect/02_schema/index.md +7 -0
- package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
- package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
- package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
- package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
- package/ai-docs/src/01_effect/03_services/index.md +5 -0
- package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
- package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
- package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
- package/ai-docs/src/01_effect/04_errors/index.md +1 -0
- package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
- package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
- package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
- package/ai-docs/src/01_effect/05_resources/index.md +3 -0
- package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
- package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
- package/ai-docs/src/01_effect/06_running/index.md +1 -0
- package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
- package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
- package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
- package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
- package/ai-docs/src/03_stream/30_encoding.ts +165 -0
- package/ai-docs/src/03_stream/index.md +4 -0
- package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
- package/ai-docs/src/04_integration/index.md +5 -0
- package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
- package/ai-docs/src/05_batching/index.md +3 -0
- package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
- package/ai-docs/src/06_schedule/index.md +3 -0
- package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
- package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
- package/ai-docs/src/07_datetime/index.md +5 -0
- package/ai-docs/src/08_observability/10_logging.ts +66 -0
- package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
- package/ai-docs/src/08_observability/index.md +7 -0
- package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
- package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
- package/ai-docs/src/09_testing/index.md +1 -0
- package/ai-docs/src/10_predicate/01_basics.ts +14 -0
- package/ai-docs/src/10_predicate/index.md +9 -0
- package/ai-docs/src/50_http-client/10_basics.ts +102 -0
- package/ai-docs/src/50_http-client/index.md +3 -0
- package/ai-docs/src/51_http-server/10_basics.ts +116 -0
- package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
- package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
- package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
- package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
- package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
- package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
- package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
- package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
- package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
- package/ai-docs/src/51_http-server/index.md +3 -0
- package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
- package/ai-docs/src/60_child-process/index.md +3 -0
- package/ai-docs/src/70_cli/10_basics.ts +136 -0
- package/ai-docs/src/70_cli/index.md +5 -0
- package/ai-docs/src/71_ai/10_language-model.ts +156 -0
- package/ai-docs/src/71_ai/20_tools.ts +226 -0
- package/ai-docs/src/71_ai/30_chat.ts +158 -0
- package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
- package/ai-docs/src/71_ai/index.md +5 -0
- package/ai-docs/src/80_cluster/10_entities.ts +97 -0
- package/ai-docs/src/80_cluster/index.md +4 -0
- package/ai-docs/src/index.md +10 -0
- package/ai-docs/tsconfig.json +24 -0
- package/dist/Array.d.ts +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +462 -412
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +433 -756
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +200 -325
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +207 -267
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +107 -135
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +146 -188
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +64 -84
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +3 -3
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +4 -3
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +409 -256
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +213 -134
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +167 -277
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +122 -176
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +756 -769
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +588 -449
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +834 -1173
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +326 -439
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +180 -49
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +96 -31
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +20 -33
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +18 -30
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +226 -174
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +361 -267
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +229 -71
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +164 -95
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +233 -33
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +232 -32
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +153 -277
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +172 -236
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +144 -176
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +227 -162
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +13 -15
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +22 -15
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +60 -80
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +18 -24
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +562 -660
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +307 -362
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +253 -256
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +110 -98
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +216 -308
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +157 -188
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +3142 -3345
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1452 -1570
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +22 -40
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +22 -40
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +33 -37
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +39 -23
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +103 -105
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +77 -79
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +51 -27
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +50 -26
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +86 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +8 -29
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +116 -192
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +82 -130
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +83 -147
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +48 -87
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +152 -105
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +109 -75
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +213 -168
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +114 -89
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +123 -81
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +86 -60
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +154 -265
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +42 -147
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +61 -33
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +26 -15
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +24 -32
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +55 -60
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +106 -148
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +81 -62
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +360 -714
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +168 -297
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +12 -6
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +47 -83
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +46 -68
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +319 -411
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +122 -166
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +1 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +177 -284
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +68 -109
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +19 -18
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +20 -16
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +620 -786
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +241 -317
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +11 -13
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +46 -103
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +8 -8
- package/dist/JsonPointer.js +8 -8
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +98 -44
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +319 -241
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +23 -35
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +16 -28
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +359 -260
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +202 -180
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +42 -29
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +31 -21
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +6 -2
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +6 -2
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +114 -214
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +41 -76
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +218 -467
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +208 -453
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +16 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +10 -5
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +217 -252
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +150 -183
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +442 -993
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +202 -645
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +144 -173
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +68 -79
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +84 -89
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +44 -47
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +71 -370
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +63 -284
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +420 -243
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +209 -120
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +21 -14
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +15 -13
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +7 -137
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +5 -93
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +196 -233
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +90 -109
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +132 -210
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +221 -324
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +447 -812
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +213 -393
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +109 -109
- package/dist/Order.js +91 -91
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +20 -23
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +8 -9
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +1 -4
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +38 -41
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +3 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +6 -5
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +2 -2
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +3 -3
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +4 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -2
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +200 -181
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +100 -108
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +7 -7
- package/dist/PrimaryKey.js +5 -5
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +425 -494
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +373 -362
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +24 -18
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +11 -9
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +200 -159
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +166 -138
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +49 -74
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +35 -54
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +121 -63
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +42 -21
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +24 -13
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +15 -9
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +361 -466
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +163 -216
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -2
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +7 -2
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +25 -25
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +19 -20
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +8 -15
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +6 -12
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +95 -165
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +75 -122
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +102 -213
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -213
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +10 -14
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +10 -14
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +31 -21
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +25 -19
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +201 -90
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +87 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +302 -470
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +135 -218
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +50 -75
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +39 -60
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +292 -1638
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +164 -805
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +5 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +18 -6
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2056 -1269
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2868 -1135
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +64 -72
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +698 -468
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +236 -188
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +281 -234
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +219 -190
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +303 -309
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +32 -2
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +170 -118
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +433 -1511
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +301 -2854
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +117 -77
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +139 -104
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +123 -151
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +72 -92
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +3 -3
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +2 -2
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +101 -13
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +78 -39
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +118 -108
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +107 -100
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +18 -5
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +6 -3
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +2467 -2962
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1154 -1413
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +262 -308
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +184 -215
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +109 -114
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +46 -54
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +282 -250
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +104 -92
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +3 -3
- package/dist/Symbol.js +3 -3
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.js +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +100 -54
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +41 -24
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +287 -679
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +109 -251
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +98 -131
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +42 -57
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +201 -121
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +85 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +62 -46
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +30 -22
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +631 -779
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +268 -330
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +297 -236
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +130 -100
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +126 -95
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +74 -56
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +101 -88
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +87 -66
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +200 -180
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +161 -137
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +89 -114
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +75 -53
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +51 -32
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +23 -15
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +129 -95
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +85 -70
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +97 -70
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +44 -34
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +127 -70
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +45 -65
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +6 -9
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +23 -16
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +3 -7
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -8
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +4 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +5 -1
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/doNotation.js.map +1 -1
- package/dist/internal/effect.js +252 -108
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/executionPlan.js +52 -3
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/hashMap.js +12 -8
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/matcher.js +2 -2
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/persistence.d.ts +2 -0
- package/dist/internal/persistence.d.ts.map +1 -0
- package/dist/internal/persistence.js +3 -0
- package/dist/internal/persistence.js.map +1 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +18 -13
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/record.d.ts +0 -3
- package/dist/internal/record.d.ts.map +1 -1
- package/dist/internal/record.js +10 -5
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -4
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/annotations.js +15 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
- package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js +761 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
- package/dist/internal/schema/fromRepresentation.d.ts +2 -0
- package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
- package/dist/internal/schema/fromRepresentation.js +245 -0
- package/dist/internal/schema/fromRepresentation.js.map +1 -0
- package/dist/internal/schema/parser.d.ts +14 -0
- package/dist/internal/schema/parser.d.ts.map +1 -0
- package/dist/internal/schema/parser.js +13 -0
- package/dist/internal/schema/parser.js.map +1 -0
- package/dist/internal/schema/schema.js +29 -49
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/toArbitrary.d.ts +2 -0
- package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
- package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -83
- package/dist/internal/schema/toArbitrary.js.map +1 -0
- package/dist/internal/schema/toCodeDocument.d.ts +2 -0
- package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
- package/dist/internal/schema/toCodeDocument.js +438 -0
- package/dist/internal/schema/toCodeDocument.js.map +1 -0
- package/dist/internal/schema/toEquivalence.d.ts +2 -0
- package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
- package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
- package/dist/internal/schema/toEquivalence.js.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
- package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.js +522 -0
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
- package/dist/internal/schema/toRepresentation.d.ts +2 -0
- package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
- package/dist/internal/schema/toRepresentation.js +351 -0
- package/dist/internal/schema/toRepresentation.js.map +1 -0
- package/dist/internal/stackTraceLimit.js +3 -6
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +24 -10
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +8 -7
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +8 -7
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +57 -28
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +65 -20
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +31 -31
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +35 -34
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +121 -144
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +118 -140
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +132 -97
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +56 -52
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +32 -28
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +26 -21
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +111 -68
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +127 -83
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpProtocol.d.ts +30 -0
- package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/McpProtocol.js +20 -0
- package/dist/unstable/ai/McpProtocol.js.map +1 -0
- package/dist/unstable/ai/McpSchema.d.ts +320 -254
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +79 -71
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +71 -62
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +777 -245
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +8 -19
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -20
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +131 -44
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +100 -36
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +47 -33
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +23 -18
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +46 -13
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +18 -7
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -3
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +63 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +59 -42
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +35 -9
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +32 -14
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +4 -0
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +4 -0
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +15 -12
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
- package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
- package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
- package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
- package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +315 -0
- package/dist/unstable/ai/internal/structured-output.js.map +1 -0
- package/dist/unstable/cli/Argument.d.ts +279 -72
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +113 -34
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliConfig.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +126 -76
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +136 -76
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +35 -54
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -42
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +736 -115
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +282 -56
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +299 -83
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +146 -60
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +370 -149
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +377 -162
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -14
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +54 -31
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.js +2 -2
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +5 -3
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +21 -13
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js +69 -9
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js +5 -5
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.d.ts +0 -48
- package/dist/unstable/cli/internal/config.d.ts.map +1 -1
- package/dist/unstable/cli/internal/config.js +8 -10
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts.map +1 -1
- package/dist/unstable/cli/internal/help.js +4 -2
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js +17 -7
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +5 -5
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.js +2 -2
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js +7 -7
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
- package/dist/unstable/cluster/ClusterSchema.js +8 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +32 -16
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +12 -12
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +9 -9
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +7 -5
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +8 -5
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +5 -4
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +6 -4
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +9 -9
- package/dist/unstable/cluster/Message.js +6 -6
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +13 -6
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +8 -0
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +17 -5
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +1 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +29 -23
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +8 -7
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +11 -15
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +32 -22
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +164 -31
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
- package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js +2 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +8 -8
- package/dist/unstable/cluster/Snowflake.js +8 -8
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +141 -79
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/index.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +25 -13
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +2 -2
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +17 -0
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
- package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
- package/dist/unstable/cluster/internal/shardLock.js +4 -0
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +7 -2
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +8 -5
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/devtools/index.js.map +1 -1
- package/dist/unstable/encoding/Ini.d.ts +20 -0
- package/dist/unstable/encoding/Ini.d.ts.map +1 -0
- package/dist/unstable/encoding/Ini.js +153 -0
- package/dist/unstable/encoding/Ini.js.map +1 -0
- package/dist/unstable/encoding/Msgpack.d.ts +2 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +31 -19
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js +7 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +72 -8
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +72 -31
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/Toml.d.ts +19 -0
- package/dist/unstable/encoding/Toml.d.ts.map +1 -0
- package/dist/unstable/encoding/Toml.js +434 -0
- package/dist/unstable/encoding/Toml.js.map +1 -0
- package/dist/unstable/encoding/Yaml.d.ts +19 -0
- package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
- package/dist/unstable/encoding/Yaml.js +461 -0
- package/dist/unstable/encoding/Yaml.js.map +1 -0
- package/dist/unstable/encoding/index.d.ts +12 -0
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +12 -0
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +20 -20
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +17 -17
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +27 -19
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +18 -14
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +8 -7
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +16 -14
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +31 -31
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +12 -8
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
- package/dist/unstable/eventlog/EventLogRemote.js +5 -5
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +45 -21
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +16 -7
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +3 -6
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +54 -40
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +1 -1
- package/dist/unstable/http/Etag.js +1 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
- package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
- package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
- package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
- package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
- package/dist/unstable/http/FindMyWay.d.ts +33 -8
- package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
- package/dist/unstable/http/FindMyWay.js +4 -7
- package/dist/unstable/http/FindMyWay.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +2 -2
- package/dist/unstable/http/Headers.js +10 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +5 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +11 -5
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +110 -47
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +79 -36
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.js +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +16 -12
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +3 -18
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +7 -9
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +7 -8
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +6 -9
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +6 -9
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +164 -39
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +76 -0
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +53 -3
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +91 -92
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +78 -79
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +13 -13
- package/dist/unstable/http/HttpServer.js +6 -6
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -2
- package/dist/unstable/http/HttpServerError.js +2 -2
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +23 -15
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +17 -5
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +35 -7
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +28 -9
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +65 -35
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
- package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
- package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
- package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/Search.js +14 -0
- package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
- package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
- package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/headers.js +208 -0
- package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.js +241 -0
- package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
- package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
- package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
- package/dist/unstable/http/MultipartParser.d.ts +98 -0
- package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
- package/dist/unstable/http/MultipartParser.js +23 -0
- package/dist/unstable/http/MultipartParser.js.map +1 -0
- package/dist/unstable/http/Template.d.ts.map +1 -1
- package/dist/unstable/http/Template.js +3 -3
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +33 -63
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +14 -28
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +10 -18
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +26 -31
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +1 -1
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +1 -1
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.d.ts +2 -0
- package/dist/unstable/http/internal/compression.d.ts.map +1 -0
- package/dist/unstable/http/internal/compression.js +155 -0
- package/dist/unstable/http/internal/compression.js.map +1 -0
- package/dist/unstable/http/internal/httpBody.d.ts +2 -0
- package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
- package/dist/unstable/http/internal/httpBody.js +10 -0
- package/dist/unstable/http/internal/httpBody.js.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +9 -9
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +82 -30
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +89 -51
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +30 -30
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
- package/dist/unstable/httpapi/HttpApiGroup.js +2 -2
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +225 -6
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +110 -57
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/index.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +71 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +86 -7
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +4 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +31 -15
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +16 -7
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +21 -12
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +3 -3
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +10 -3
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +3 -0
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +22 -13
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +8 -8
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +2 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +15 -15
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +3 -3
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +108 -22
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +47 -26
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +31 -47
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +4 -4
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +72 -21
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +14 -5
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +4 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +14 -13
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +131 -30
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +53 -34
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +25 -4
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +4 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +1 -1
- package/dist/unstable/reactivity/Hydration.js +1 -1
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +35 -33
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +26 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +40 -22
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js +2 -2
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
- package/dist/unstable/rpc/RpcGroup.js +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +6 -6
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +177 -96
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +13 -13
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +20 -15
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +53 -51
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +35 -33
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +11 -12
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +28 -17
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +12 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +38 -17
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/socket/index.js.map +1 -1
- package/dist/unstable/sql/Migrator.d.ts +9 -1
- package/dist/unstable/sql/Migrator.d.ts.map +1 -1
- package/dist/unstable/sql/Migrator.js +15 -2
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +8 -4
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +2 -2
- package/dist/unstable/sql/SqlError.js +15 -15
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.js +2 -2
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +5 -5
- package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +30 -24
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +6 -6
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +30 -27
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +13 -14
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +11 -11
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
- package/dist/unstable/workers/WorkerRunner.js +1 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +2 -2
- package/dist/unstable/workflow/Activity.js +2 -2
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +13 -8
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +22 -20
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +21 -21
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +13 -14
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -3
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +72 -6
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.js.map +1 -1
- package/dist/unstable/workflow/internal/crypto.js.map +1 -1
- package/package.json +10 -14
- package/src/Array.ts +1068 -1070
- package/src/BigDecimal.ts +433 -756
- package/src/BigInt.ts +213 -269
- package/src/Boolean.ts +146 -188
- package/src/Brand.ts +4 -4
- package/src/Cache.ts +469 -851
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +982 -831
- package/src/ChannelSchema.ts +1 -1
- package/src/Chunk.ts +841 -1181
- package/src/Clock.ts +181 -49
- package/src/Combiner.ts +20 -33
- package/src/Config.ts +642 -335
- package/src/ConfigProvider.ts +267 -135
- package/src/Console.ts +289 -39
- package/src/Context.ts +323 -404
- package/src/Cron.ts +271 -219
- package/src/Crypto.ts +30 -23
- package/src/Data.ts +63 -82
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +259 -258
- package/src/Duration.ts +244 -311
- package/src/Effect.ts +3215 -3394
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +59 -41
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +91 -56
- package/src/Exit.ts +116 -192
- package/src/Fiber.ts +82 -149
- package/src/FiberHandle.ts +155 -107
- package/src/FiberMap.ts +225 -174
- package/src/FiberSet.ts +125 -83
- package/src/FileSystem.ts +156 -264
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +69 -76
- package/src/Function.ts +119 -151
- package/src/Graph.ts +416 -770
- package/src/HKT.ts +12 -6
- package/src/Hash.ts +52 -83
- package/src/HashMap.ts +319 -411
- package/src/HashRing.ts +1 -0
- package/src/HashSet.ts +177 -284
- package/src/Inspectable.ts +22 -20
- package/src/Iterable.ts +633 -797
- package/src/JsonPatch.ts +60 -113
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +408 -251
- package/src/Latch.ts +23 -35
- package/src/Layer.ts +366 -265
- package/src/LayerMap.ts +49 -29
- package/src/LayerRef.ts +6 -2
- package/src/LogLevel.ts +114 -214
- package/src/Logger.ts +348 -700
- package/src/ManagedRuntime.ts +20 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +520 -1092
- package/src/MutableHashMap.ts +218 -255
- package/src/MutableHashSet.ts +84 -89
- package/src/MutableList.ts +77 -370
- package/src/MutableRef.ts +420 -243
- package/src/Newtype.ts +21 -14
- package/src/NonEmptyIterable.ts +7 -137
- package/src/Number.ts +196 -233
- package/src/Optic.ts +303 -441
- package/src/Option.ts +449 -813
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/PartitionedSemaphore.ts +1 -4
- package/src/Path.ts +38 -41
- package/src/Pipeable.ts +6 -5
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +4 -2
- package/src/Predicate.ts +200 -181
- package/src/PrimaryKey.ts +7 -7
- package/src/PubSub.ts +526 -552
- package/src/Pull.ts +24 -18
- package/src/Queue.ts +204 -165
- package/src/Random.ts +49 -74
- package/src/RcMap.ts +121 -63
- package/src/RcRef.ts +24 -13
- package/src/Record.ts +387 -487
- package/src/Redactable.ts +10 -3
- package/src/Redacted.ts +25 -25
- package/src/Reducer.ts +8 -15
- package/src/Ref.ts +221 -361
- package/src/References.ts +102 -214
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +36 -28
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +314 -485
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +311 -1737
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +3475 -1913
- package/src/SchemaAST.ts +902 -573
- package/src/SchemaGetter.ts +351 -233
- package/src/SchemaIssue.ts +367 -334
- package/src/SchemaParser.ts +254 -148
- package/src/SchemaRepresentation.ts +732 -3414
- package/src/SchemaTransformation.ts +186 -97
- package/src/Scope.ts +123 -151
- package/src/ScopedCache.ts +1 -1
- package/src/ScopedRef.ts +6 -4
- package/src/Semaphore.ts +157 -54
- package/src/Sink.ts +129 -114
- package/src/Stdio.ts +24 -5
- package/src/Stream.ts +2745 -3173
- package/src/String.ts +275 -312
- package/src/Struct.ts +114 -118
- package/src/SubscriptionRef.ts +284 -252
- package/src/Symbol.ts +3 -3
- package/src/SynchronizedRef.ts +1 -1
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +99 -131
- package/src/TxChunk.ts +201 -121
- package/src/TxDeferred.ts +62 -46
- package/src/TxHashMap.ts +645 -799
- package/src/TxHashSet.ts +443 -356
- package/src/TxPriorityQueue.ts +130 -98
- package/src/TxPubSub.ts +107 -80
- package/src/TxQueue.ts +215 -184
- package/src/TxReentrantLock.ts +136 -101
- package/src/TxRef.ts +51 -32
- package/src/TxSemaphore.ts +129 -95
- package/src/TxSubscriptionRef.ts +97 -70
- package/src/Types.ts +127 -70
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/index.ts +0 -10
- package/src/internal/core.ts +6 -5
- package/src/internal/dateTime.ts +7 -1
- package/src/internal/effect.ts +304 -134
- package/src/internal/executionPlan.ts +106 -10
- package/src/internal/hashMap.ts +20 -14
- package/src/internal/matcher.ts +3 -3
- package/src/internal/persistence.ts +2 -0
- package/src/internal/rcRef.ts +24 -16
- package/src/internal/record.ts +11 -7
- package/src/internal/references.ts +3 -7
- package/src/internal/schedule.ts +4 -4
- package/src/internal/schema/annotations.ts +48 -1
- package/src/internal/schema/fromJsonSchemaDocument.ts +977 -0
- package/src/internal/schema/fromRepresentation.ts +339 -0
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/schema.ts +46 -63
- package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +9 -81
- package/src/internal/schema/toCodeDocument.ts +572 -0
- package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
- package/src/internal/schema/toJsonSchemaDocument.ts +549 -0
- package/src/internal/schema/toRepresentation.ts +404 -0
- package/src/internal/stackTraceLimit.ts +3 -7
- package/src/internal/trie.ts +21 -12
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +86 -32
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +40 -40
- package/src/unstable/ai/AiError.ts +119 -141
- package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
- package/src/unstable/ai/Chat.ts +133 -98
- package/src/unstable/ai/EmbeddingModel.ts +1 -1
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +141 -97
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +92 -81
- package/src/unstable/ai/McpServer.ts +1057 -303
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
- package/src/unstable/ai/Prompt.ts +212 -63
- package/src/unstable/ai/Response.ts +52 -38
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +81 -48
- package/src/unstable/ai/Toolkit.ts +45 -15
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/codec-transformer.ts +13 -7
- package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
- package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
- package/src/unstable/ai/internal/structured-output.ts +453 -0
- package/src/unstable/cli/Argument.ts +279 -72
- package/src/unstable/cli/CliError.ts +159 -91
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +764 -124
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +1 -1
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +336 -100
- package/src/unstable/cli/Primitive.ts +383 -156
- package/src/unstable/cli/Prompt.ts +64 -34
- package/src/unstable/cli/internal/ansi.ts +2 -2
- package/src/unstable/cli/internal/command.ts +28 -15
- package/src/unstable/cli/internal/completions/bash.ts +59 -9
- package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
- package/src/unstable/cli/internal/completions/fish.ts +5 -7
- package/src/unstable/cli/internal/config.ts +8 -10
- package/src/unstable/cli/internal/help.ts +4 -2
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +5 -5
- package/src/unstable/cli/internal/wizard.ts +2 -2
- package/src/unstable/cluster/ClusterError.ts +7 -7
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +36 -20
- package/src/unstable/cluster/Entity.ts +23 -19
- package/src/unstable/cluster/EntityProxy.ts +16 -7
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +5 -4
- package/src/unstable/cluster/HttpRunner.ts +6 -4
- package/src/unstable/cluster/Message.ts +9 -9
- package/src/unstable/cluster/MessageStorage.ts +24 -20
- package/src/unstable/cluster/Reply.ts +26 -7
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +45 -18
- package/src/unstable/cluster/RunnerStorage.ts +11 -9
- package/src/unstable/cluster/Runners.ts +48 -26
- package/src/unstable/cluster/ShardId.ts +1 -1
- package/src/unstable/cluster/Sharding.ts +223 -55
- package/src/unstable/cluster/ShardingConfig.ts +8 -4
- package/src/unstable/cluster/SingleRunner.ts +4 -2
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
- package/src/unstable/cluster/SqlRunnerStorage.ts +223 -133
- package/src/unstable/cluster/internal/entityManager.ts +43 -26
- package/src/unstable/cluster/internal/resourceMap.ts +5 -2
- package/src/unstable/cluster/internal/resourceRef.ts +27 -5
- package/src/unstable/cluster/internal/shardLock.ts +9 -0
- package/src/unstable/devtools/DevToolsClient.ts +3 -2
- package/src/unstable/devtools/DevToolsSchema.ts +10 -5
- package/src/unstable/encoding/Ini.ts +174 -0
- package/src/unstable/encoding/Msgpack.ts +61 -40
- package/src/unstable/encoding/Ndjson.ts +9 -1
- package/src/unstable/encoding/Sse.ts +109 -37
- package/src/unstable/encoding/Toml.ts +504 -0
- package/src/unstable/encoding/Yaml.ts +541 -0
- package/src/unstable/encoding/index.ts +15 -0
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +30 -22
- package/src/unstable/eventlog/EventLog.ts +24 -14
- package/src/unstable/eventlog/EventLogEncryption.ts +17 -18
- package/src/unstable/eventlog/EventLogMessage.ts +15 -9
- package/src/unstable/eventlog/EventLogRemote.ts +5 -5
- package/src/unstable/eventlog/EventLogServer.ts +41 -7
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +15 -7
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- package/src/unstable/eventlog/SqlEventJournal.ts +8 -6
- package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
- package/src/unstable/http/Cookies.ts +64 -45
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
- package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
- package/src/unstable/http/FindMyWay.ts +65 -6
- package/src/unstable/http/Headers.ts +10 -10
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +215 -78
- package/src/unstable/http/HttpClientError.ts +1 -1
- package/src/unstable/http/HttpClientRequest.ts +59 -12
- package/src/unstable/http/HttpClientResponse.ts +5 -21
- package/src/unstable/http/HttpEffect.ts +20 -19
- package/src/unstable/http/HttpMethod.ts +6 -9
- package/src/unstable/http/HttpMiddleware.ts +202 -39
- package/src/unstable/http/HttpPlatform.ts +129 -6
- package/src/unstable/http/HttpRouter.ts +109 -101
- package/src/unstable/http/HttpServer.ts +13 -13
- package/src/unstable/http/HttpServerError.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +31 -17
- package/src/unstable/http/HttpServerResponse.ts +38 -6
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +67 -36
- package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
- package/src/unstable/http/MultipartParser/Search.ts +17 -0
- package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
- package/src/unstable/http/MultipartParser/internal/headers.ts +244 -0
- package/src/unstable/http/MultipartParser/internal/multipart.ts +279 -0
- package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
- package/src/unstable/http/MultipartParser.ts +115 -0
- package/src/unstable/http/Template.ts +7 -6
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +27 -32
- package/src/unstable/http/index.ts +1 -1
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/http/internal/httpBody.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +10 -11
- package/src/unstable/httpapi/HttpApiBuilder.ts +154 -33
- package/src/unstable/httpapi/HttpApiClient.ts +142 -61
- package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
- package/src/unstable/httpapi/HttpApiError.ts +46 -52
- package/src/unstable/httpapi/HttpApiGroup.ts +17 -17
- package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
- package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
- package/src/unstable/httpapi/OpenApi.ts +153 -62
- package/src/unstable/observability/OtlpExporter.ts +130 -12
- package/src/unstable/observability/OtlpLogger.ts +8 -6
- package/src/unstable/observability/OtlpMetrics.ts +42 -21
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/OtlpTracer.ts +9 -5
- package/src/unstable/observability/PrometheusMetrics.ts +13 -4
- package/src/unstable/observability/internal/otlpEnv.ts +1 -1
- package/src/unstable/observability/internal/protobuf.ts +3 -0
- package/src/unstable/persistence/KeyValueStore.ts +72 -49
- package/src/unstable/persistence/Persistable.ts +11 -10
- package/src/unstable/persistence/PersistedQueue.ts +18 -15
- package/src/unstable/persistence/Persistence.ts +153 -26
- package/src/unstable/persistence/RateLimiter.ts +79 -45
- package/src/unstable/persistence/Redis.ts +5 -5
- package/src/unstable/process/ChildProcess.ts +72 -21
- package/src/unstable/process/ChildProcessSpawner.ts +22 -11
- package/src/unstable/reactivity/AsyncResult.ts +23 -18
- package/src/unstable/reactivity/Atom.ts +161 -47
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +25 -4
- package/src/unstable/reactivity/AtomRpc.ts +5 -4
- package/src/unstable/reactivity/Hydration.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +35 -33
- package/src/unstable/rpc/RpcClient.ts +65 -29
- package/src/unstable/rpc/RpcClientError.ts +2 -2
- package/src/unstable/rpc/RpcGroup.ts +8 -8
- package/src/unstable/rpc/RpcMessage.ts +31 -30
- package/src/unstable/rpc/RpcMiddleware.ts +10 -10
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +167 -68
- package/src/unstable/rpc/RpcServer.ts +22 -17
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/schema/Model.ts +52 -50
- package/src/unstable/schema/VariantSchema.ts +51 -43
- package/src/unstable/socket/Socket.ts +42 -19
- package/src/unstable/sql/Migrator.ts +22 -9
- package/src/unstable/sql/SqlClient.ts +64 -56
- package/src/unstable/sql/SqlError.ts +15 -15
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +41 -31
- package/src/unstable/sql/Statement.ts +44 -37
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +15 -16
- package/src/unstable/workers/WorkerError.ts +12 -12
- package/src/unstable/workers/WorkerRunner.ts +1 -1
- package/src/unstable/workflow/Activity.ts +2 -2
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +18 -13
- package/src/unstable/workflow/DurableQueue.ts +22 -20
- package/src/unstable/workflow/Workflow.ts +23 -26
- package/src/unstable/workflow/WorkflowEngine.ts +111 -8
- package/src/unstable/workflow/WorkflowProxy.ts +4 -2
- package/dist/SchemaError.d.ts +0 -53
- package/dist/SchemaError.d.ts.map +0 -1
- package/dist/SchemaError.js +0 -61
- package/dist/SchemaError.js.map +0 -1
- package/dist/SchemaUtils.d.ts +0 -28
- package/dist/SchemaUtils.d.ts.map +0 -1
- package/dist/SchemaUtils.js +0 -45
- package/dist/SchemaUtils.js.map +0 -1
- package/dist/internal/schema/arbitrary.d.ts +0 -5
- package/dist/internal/schema/arbitrary.d.ts.map +0 -1
- package/dist/internal/schema/arbitrary.js.map +0 -1
- package/dist/internal/schema/equivalence.d.ts +0 -2
- package/dist/internal/schema/equivalence.d.ts.map +0 -1
- package/dist/internal/schema/equivalence.js.map +0 -1
- package/dist/internal/schema/representation.d.ts +0 -2
- package/dist/internal/schema/representation.d.ts.map +0 -1
- package/dist/internal/schema/representation.js +0 -865
- package/dist/internal/schema/representation.js.map +0 -1
- package/dist/internal/version.d.ts +0 -3
- package/dist/internal/version.d.ts.map +0 -1
- package/dist/internal/version.js +0 -2
- package/dist/internal/version.js.map +0 -1
- package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
- package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
- package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
- package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Node.js +0 -14
- package/dist/unstable/http/Multipasta/Node.js.map +0 -1
- package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Search.js +0 -14
- package/dist/unstable/http/Multipasta/Search.js.map +0 -1
- package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
- package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta/Web.js +0 -14
- package/dist/unstable/http/Multipasta/Web.js.map +0 -1
- package/dist/unstable/http/Multipasta.d.ts +0 -15
- package/dist/unstable/http/Multipasta.d.ts.map +0 -1
- package/dist/unstable/http/Multipasta.js +0 -15
- package/dist/unstable/http/Multipasta.js.map +0 -1
- package/src/SchemaError.ts +0 -64
- package/src/SchemaUtils.ts +0 -51
- package/src/internal/schema/representation.ts +0 -795
- package/src/internal/version.ts +0 -2
- package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
- package/src/unstable/http/Multipasta/Node.ts +0 -14
- package/src/unstable/http/Multipasta/Search.ts +0 -14
- package/src/unstable/http/Multipasta/Web.ts +0 -14
- package/src/unstable/http/Multipasta.ts +0 -15
package/dist/Iterable.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import * as Equal from "./Equal.js";
|
|
12
12
|
import { dual } from "./Function.js";
|
|
13
|
+
import * as InternalRecord from "./internal/record.js";
|
|
13
14
|
import * as O from "./Option.js";
|
|
14
15
|
import { isBoolean } from "./Predicate.js";
|
|
15
16
|
import * as R from "./Result.js";
|
|
@@ -25,21 +26,21 @@ import * as Tuple from "./Tuple.js";
|
|
|
25
26
|
*
|
|
26
27
|
* **Example** (Generating values by index)
|
|
27
28
|
*
|
|
28
|
-
* ```ts
|
|
29
|
+
* ```ts import.meta.vitest
|
|
29
30
|
* import { Iterable } from "effect"
|
|
30
31
|
*
|
|
31
32
|
* // Generate first 5 even numbers
|
|
32
33
|
* const evens = Iterable.makeBy((n) => n * 2, { length: 5 })
|
|
33
|
-
*
|
|
34
|
+
* Array.from(evens) // => [0, 2, 4, 6, 8]
|
|
34
35
|
*
|
|
35
36
|
* // Generate squares
|
|
36
37
|
* const squares = Iterable.makeBy((n) => n * n, { length: 4 })
|
|
37
|
-
*
|
|
38
|
+
* Array.from(squares) // => [0, 1, 4, 9]
|
|
38
39
|
*
|
|
39
40
|
* // Infinite sequence (be careful when consuming!)
|
|
40
41
|
* const naturals = Iterable.makeBy((n) => n)
|
|
41
42
|
* const first10 = Iterable.take(naturals, 10)
|
|
42
|
-
*
|
|
43
|
+
* Array.from(first10) // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
|
43
44
|
* ```
|
|
44
45
|
*
|
|
45
46
|
* @category constructors
|
|
@@ -78,11 +79,10 @@ export const makeBy = (f, options) => {
|
|
|
78
79
|
*
|
|
79
80
|
* **Example** (Creating a range)
|
|
80
81
|
*
|
|
81
|
-
* ```ts
|
|
82
|
+
* ```ts import.meta.vitest
|
|
82
83
|
* import { Iterable } from "effect"
|
|
83
|
-
* import * as assert from "node:assert"
|
|
84
84
|
*
|
|
85
|
-
*
|
|
85
|
+
* Array.from(Iterable.range(1, 3)) // => [1, 2, 3]
|
|
86
86
|
* ```
|
|
87
87
|
*
|
|
88
88
|
* @category constructors
|
|
@@ -105,11 +105,10 @@ export const range = (start, end) => {
|
|
|
105
105
|
*
|
|
106
106
|
* **Example** (Repeating a value)
|
|
107
107
|
*
|
|
108
|
-
* ```ts
|
|
108
|
+
* ```ts import.meta.vitest
|
|
109
109
|
* import { Iterable } from "effect"
|
|
110
|
-
* import * as assert from "node:assert"
|
|
111
110
|
*
|
|
112
|
-
*
|
|
111
|
+
* Array.from(Iterable.replicate("a", 3)) // => ["a", "a", "a"]
|
|
113
112
|
* ```
|
|
114
113
|
*
|
|
115
114
|
* @category constructors
|
|
@@ -163,15 +162,11 @@ export const forever = self => repeat(self, Infinity);
|
|
|
163
162
|
*
|
|
164
163
|
* **Example** (Converting a record to entries)
|
|
165
164
|
*
|
|
166
|
-
* ```ts
|
|
165
|
+
* ```ts import.meta.vitest
|
|
167
166
|
* import { Iterable } from "effect"
|
|
168
|
-
* import * as assert from "node:assert"
|
|
169
167
|
*
|
|
170
168
|
* const x = { a: 1, b: 2, c: 3 }
|
|
171
|
-
*
|
|
172
|
-
* "c",
|
|
173
|
-
* 3
|
|
174
|
-
* ]])
|
|
169
|
+
* Array.from(Iterable.fromRecord(x)) // => [["a", 1], ["b", 2], ["c", 3]]
|
|
175
170
|
* ```
|
|
176
171
|
*
|
|
177
172
|
* @category converting
|
|
@@ -191,17 +186,17 @@ export const fromRecord = self => ({
|
|
|
191
186
|
*
|
|
192
187
|
* **Example** (Prepending an element)
|
|
193
188
|
*
|
|
194
|
-
* ```ts
|
|
189
|
+
* ```ts import.meta.vitest
|
|
195
190
|
* import { Iterable } from "effect"
|
|
196
191
|
*
|
|
197
192
|
* const numbers = [2, 3, 4]
|
|
198
193
|
* const withOne = Iterable.prepend(numbers, 1)
|
|
199
|
-
*
|
|
194
|
+
* Array.from(withOne) // => [1, 2, 3, 4]
|
|
200
195
|
*
|
|
201
196
|
* // Works with any iterable
|
|
202
197
|
* const letters = "abc"
|
|
203
198
|
* const withZ = Iterable.prepend(letters, "z")
|
|
204
|
-
*
|
|
199
|
+
* Array.from(withZ) // => ["z", "a", "b", "c"]
|
|
205
200
|
* ```
|
|
206
201
|
*
|
|
207
202
|
* @category combining
|
|
@@ -213,14 +208,10 @@ export const prepend = /*#__PURE__*/dual(2, (self, head) => prependAll(self, [he
|
|
|
213
208
|
*
|
|
214
209
|
* **Example** (Prepending another iterable)
|
|
215
210
|
*
|
|
216
|
-
* ```ts
|
|
211
|
+
* ```ts import.meta.vitest
|
|
217
212
|
* import { Iterable } from "effect"
|
|
218
|
-
* import * as assert from "node:assert"
|
|
219
213
|
*
|
|
220
|
-
*
|
|
221
|
-
* Array.from(Iterable.prependAll([1, 2], ["a", "b"])),
|
|
222
|
-
* ["a", "b", 1, 2]
|
|
223
|
-
* )
|
|
214
|
+
* Array.from(Iterable.prependAll([1, 2], ["a", "b"])) // => ["a", "b", 1, 2]
|
|
224
215
|
* ```
|
|
225
216
|
*
|
|
226
217
|
* @category combining
|
|
@@ -247,19 +238,11 @@ export const prependAll = /*#__PURE__*/dual(2, (self, that) => appendAll(that, s
|
|
|
247
238
|
*
|
|
248
239
|
* **Example** (Appending an element)
|
|
249
240
|
*
|
|
250
|
-
* ```ts
|
|
241
|
+
* ```ts import.meta.vitest
|
|
251
242
|
* import { Iterable } from "effect"
|
|
252
243
|
*
|
|
253
244
|
* const numbers = [1, 2, 3]
|
|
254
|
-
*
|
|
255
|
-
* console.log(Array.from(withFour)) // [1, 2, 3, 4]
|
|
256
|
-
*
|
|
257
|
-
* // Chain multiple appends
|
|
258
|
-
* const result = Iterable.append(
|
|
259
|
-
* Iterable.append([1, 2], 3),
|
|
260
|
-
* 4
|
|
261
|
-
* )
|
|
262
|
-
* console.log(Array.from(result)) // [1, 2, 3, 4]
|
|
245
|
+
* Array.from(Iterable.append(numbers, 4)) // => [1, 2, 3, 4]
|
|
263
246
|
* ```
|
|
264
247
|
*
|
|
265
248
|
* @see {@link prepend} for adding one element before the existing elements
|
|
@@ -288,25 +271,21 @@ export const append = /*#__PURE__*/dual(2, (self, last) => appendAll(self, [last
|
|
|
288
271
|
*
|
|
289
272
|
* **Example** (Concatenating iterables)
|
|
290
273
|
*
|
|
291
|
-
* ```ts
|
|
274
|
+
* ```ts import.meta.vitest
|
|
292
275
|
* import { Iterable } from "effect"
|
|
293
276
|
*
|
|
294
|
-
*
|
|
295
|
-
* const second = [4, 5, 6]
|
|
296
|
-
* const combined = Iterable.appendAll(first, second)
|
|
297
|
-
* console.log(Array.from(combined)) // [1, 2, 3, 4, 5, 6]
|
|
277
|
+
* Array.from(Iterable.appendAll([1, 2, 3], [4, 5, 6])) // => [1, 2, 3, 4, 5, 6]
|
|
298
278
|
*
|
|
299
279
|
* // Works with different iterable types
|
|
300
280
|
* const numbers = [1, 2]
|
|
301
281
|
* const letters = "abc"
|
|
302
282
|
* const mixed = Iterable.appendAll(numbers, letters)
|
|
303
|
-
*
|
|
283
|
+
* Array.from(mixed) // => [1, 2, "a", "b", "c"]
|
|
304
284
|
*
|
|
305
285
|
* // Lazy evaluation - only consumes what's needed
|
|
306
286
|
* const infinite = Iterable.range(1)
|
|
307
287
|
* const finite = [0, -1, -2]
|
|
308
|
-
*
|
|
309
|
-
* console.log(Array.from(result)) // [0, -1, -2, 1, 2]
|
|
288
|
+
* Array.from(Iterable.take(Iterable.appendAll(finite, infinite), 5)) // => [0, -1, -2, 1, 2]
|
|
310
289
|
* ```
|
|
311
290
|
*
|
|
312
291
|
* @see {@link append} for appending one value instead of another iterable
|
|
@@ -341,23 +320,23 @@ export const appendAll = /*#__PURE__*/dual(2, (self, that) => ({
|
|
|
341
320
|
*
|
|
342
321
|
* **Example** (Tracking running results)
|
|
343
322
|
*
|
|
344
|
-
* ```ts
|
|
323
|
+
* ```ts import.meta.vitest
|
|
345
324
|
* import { Iterable } from "effect"
|
|
346
325
|
*
|
|
347
326
|
* // Running sum of numbers
|
|
348
327
|
* const numbers = [1, 2, 3, 4, 5]
|
|
349
328
|
* const runningSum = Iterable.scan(numbers, 0, (acc, n) => acc + n)
|
|
350
|
-
*
|
|
329
|
+
* Array.from(runningSum) // => [0, 1, 3, 6, 10, 15]
|
|
351
330
|
*
|
|
352
331
|
* // Build strings progressively
|
|
353
332
|
* const letters = ["a", "b", "c"]
|
|
354
333
|
* const progressive = Iterable.scan(letters, "", (acc, letter) => acc + letter)
|
|
355
|
-
*
|
|
334
|
+
* Array.from(progressive) // => ["", "a", "ab", "abc"]
|
|
356
335
|
*
|
|
357
336
|
* // Track maximum values seen so far
|
|
358
337
|
* const values = [3, 1, 4, 1, 5, 9, 2]
|
|
359
338
|
* const runningMax = Iterable.scan(values, -Infinity, Math.max)
|
|
360
|
-
*
|
|
339
|
+
* Array.from(runningMax) // => [-Infinity, 3, 3, 4, 4, 5, 9, 9]
|
|
361
340
|
* ```
|
|
362
341
|
*
|
|
363
342
|
* @category folding
|
|
@@ -395,12 +374,11 @@ export const scan = /*#__PURE__*/dual(3, (self, b, f) => ({
|
|
|
395
374
|
*
|
|
396
375
|
* **Example** (Checking for emptiness)
|
|
397
376
|
*
|
|
398
|
-
* ```ts
|
|
377
|
+
* ```ts import.meta.vitest
|
|
399
378
|
* import { Iterable } from "effect"
|
|
400
|
-
* import * as assert from "node:assert"
|
|
401
379
|
*
|
|
402
|
-
*
|
|
403
|
-
*
|
|
380
|
+
* Iterable.isEmpty([]) // => true
|
|
381
|
+
* Iterable.isEmpty([1, 2, 3]) // => false
|
|
404
382
|
* ```
|
|
405
383
|
*
|
|
406
384
|
* @category guards
|
|
@@ -415,22 +393,22 @@ export const isEmpty = self => {
|
|
|
415
393
|
*
|
|
416
394
|
* **Example** (Counting iterable elements)
|
|
417
395
|
*
|
|
418
|
-
* ```ts
|
|
396
|
+
* ```ts import.meta.vitest
|
|
419
397
|
* import { Iterable } from "effect"
|
|
420
398
|
*
|
|
421
399
|
* const numbers = [1, 2, 3, 4, 5]
|
|
422
|
-
*
|
|
400
|
+
* Iterable.size(numbers) // => 5
|
|
423
401
|
*
|
|
424
402
|
* const empty = Iterable.empty<number>()
|
|
425
|
-
*
|
|
403
|
+
* Iterable.size(empty) // => 0
|
|
426
404
|
*
|
|
427
405
|
* // Works with any iterable
|
|
428
406
|
* const letters = "hello"
|
|
429
|
-
*
|
|
407
|
+
* Iterable.size(letters) // => 5
|
|
430
408
|
*
|
|
431
409
|
* // Note: This consumes the entire iterable
|
|
432
410
|
* const range = Iterable.range(1, 100)
|
|
433
|
-
*
|
|
411
|
+
* Iterable.size(range) // => 100
|
|
434
412
|
* ```
|
|
435
413
|
*
|
|
436
414
|
* @category getters
|
|
@@ -449,24 +427,24 @@ export const size = self => {
|
|
|
449
427
|
*
|
|
450
428
|
* **Example** (Getting the first element)
|
|
451
429
|
*
|
|
452
|
-
* ```ts
|
|
430
|
+
* ```ts import.meta.vitest
|
|
453
431
|
* import { Iterable, Option } from "effect"
|
|
454
432
|
*
|
|
455
433
|
* const numbers = [1, 2, 3]
|
|
456
|
-
*
|
|
434
|
+
* Iterable.head(numbers) // => Option.some(1)
|
|
457
435
|
*
|
|
458
436
|
* const empty = Iterable.empty<number>()
|
|
459
|
-
*
|
|
437
|
+
* Iterable.head(empty) // => Option.none()
|
|
460
438
|
*
|
|
461
439
|
* // Safe way to get first element
|
|
462
440
|
* const firstEven = Iterable.head(
|
|
463
441
|
* Iterable.filter([1, 3, 4, 5], (x) => x % 2 === 0)
|
|
464
442
|
* )
|
|
465
|
-
*
|
|
443
|
+
* firstEven // => Option.some(4)
|
|
466
444
|
*
|
|
467
445
|
* // Use with Option methods
|
|
468
446
|
* const doubled = Option.map(Iterable.head([5, 10, 15]), (x) => x * 2)
|
|
469
|
-
*
|
|
447
|
+
* doubled // => Option.some(10)
|
|
470
448
|
* ```
|
|
471
449
|
*
|
|
472
450
|
* @category getters
|
|
@@ -491,21 +469,21 @@ export const head = self => {
|
|
|
491
469
|
*
|
|
492
470
|
* **Example** (Getting the first element unsafely)
|
|
493
471
|
*
|
|
494
|
-
* ```ts
|
|
472
|
+
* ```ts import.meta.vitest
|
|
495
473
|
* import { Iterable } from "effect"
|
|
496
474
|
*
|
|
497
475
|
* const numbers = [1, 2, 3]
|
|
498
|
-
*
|
|
476
|
+
* Iterable.headUnsafe(numbers) // => 1
|
|
499
477
|
*
|
|
500
478
|
* const letters = "hello"
|
|
501
|
-
*
|
|
479
|
+
* Iterable.headUnsafe(letters) // => "h"
|
|
502
480
|
*
|
|
503
481
|
* // Iterable.headUnsafe(Iterable.empty<number>())
|
|
504
482
|
* // throws Error: "headUnsafe: empty iterable"
|
|
505
483
|
*
|
|
506
484
|
* // Use only when you're certain the iterable is non-empty
|
|
507
485
|
* const nonEmpty = Iterable.range(1, 10)
|
|
508
|
-
*
|
|
486
|
+
* Iterable.headUnsafe(nonEmpty) // => 1
|
|
509
487
|
* ```
|
|
510
488
|
*
|
|
511
489
|
* @category getters
|
|
@@ -526,25 +504,25 @@ export const headUnsafe = self => {
|
|
|
526
504
|
*
|
|
527
505
|
* **Example** (Taking from the start)
|
|
528
506
|
*
|
|
529
|
-
* ```ts
|
|
507
|
+
* ```ts import.meta.vitest
|
|
530
508
|
* import { Iterable } from "effect"
|
|
531
509
|
*
|
|
532
510
|
* const numbers = [1, 2, 3, 4, 5]
|
|
533
511
|
* const firstThree = Iterable.take(numbers, 3)
|
|
534
|
-
*
|
|
512
|
+
* Array.from(firstThree) // => [1, 2, 3]
|
|
535
513
|
*
|
|
536
514
|
* // Taking more than available returns all elements
|
|
537
515
|
* const firstTen = Iterable.take(numbers, 10)
|
|
538
|
-
*
|
|
516
|
+
* Array.from(firstTen) // => [1, 2, 3, 4, 5]
|
|
539
517
|
*
|
|
540
518
|
* // Taking 0 or negative returns empty
|
|
541
519
|
* const none = Iterable.take(numbers, 0)
|
|
542
|
-
*
|
|
520
|
+
* Array.from(none) // => []
|
|
543
521
|
*
|
|
544
522
|
* // Useful with infinite iterables
|
|
545
523
|
* const naturals = Iterable.range(1)
|
|
546
524
|
* const firstFive = Iterable.take(naturals, 5)
|
|
547
|
-
*
|
|
525
|
+
* Array.from(firstFive) // => [1, 2, 3, 4, 5]
|
|
548
526
|
* ```
|
|
549
527
|
*
|
|
550
528
|
* @category getters
|
|
@@ -574,22 +552,22 @@ export const take = /*#__PURE__*/dual(2, (self, n) => ({
|
|
|
574
552
|
*
|
|
575
553
|
* **Example** (Taking while a predicate holds)
|
|
576
554
|
*
|
|
577
|
-
* ```ts
|
|
555
|
+
* ```ts import.meta.vitest
|
|
578
556
|
* import { Iterable } from "effect"
|
|
579
557
|
*
|
|
580
558
|
* const numbers = [2, 4, 6, 8, 3, 10, 12]
|
|
581
559
|
* const evenPrefix = Iterable.takeWhile(numbers, (x) => x % 2 === 0)
|
|
582
|
-
*
|
|
560
|
+
* Array.from(evenPrefix) // => [2, 4, 6, 8]
|
|
583
561
|
*
|
|
584
562
|
* // With index
|
|
585
563
|
* const letters = ["a", "b", "c", "d", "e"]
|
|
586
564
|
* const firstThreeByIndex = Iterable.takeWhile(letters, (_, i) => i < 3)
|
|
587
|
-
*
|
|
565
|
+
* Array.from(firstThreeByIndex) // => ["a", "b", "c"]
|
|
588
566
|
*
|
|
589
567
|
* // Stops at first non-matching element
|
|
590
568
|
* const mixed = [1, 3, 5, 4, 7, 9]
|
|
591
569
|
* const oddPrefix = Iterable.takeWhile(mixed, (x) => x % 2 === 1)
|
|
592
|
-
*
|
|
570
|
+
* Array.from(oddPrefix) // => [1, 3, 5]
|
|
593
571
|
*
|
|
594
572
|
* // Type refinement
|
|
595
573
|
* const values: Array<string | number> = ["a", "b", "c", 1, "d"]
|
|
@@ -597,7 +575,7 @@ export const take = /*#__PURE__*/dual(2, (self, n) => ({
|
|
|
597
575
|
* values,
|
|
598
576
|
* (x): x is string => typeof x === "string"
|
|
599
577
|
* )
|
|
600
|
-
*
|
|
578
|
+
* Array.from(stringPrefix) // => ["a", "b", "c"]
|
|
601
579
|
* ```
|
|
602
580
|
*
|
|
603
581
|
* @category getters
|
|
@@ -630,24 +608,24 @@ export const takeWhile = /*#__PURE__*/dual(2, (self, predicate) => ({
|
|
|
630
608
|
*
|
|
631
609
|
* **Example** (Dropping from the start)
|
|
632
610
|
*
|
|
633
|
-
* ```ts
|
|
611
|
+
* ```ts import.meta.vitest
|
|
634
612
|
* import { Iterable } from "effect"
|
|
635
613
|
*
|
|
636
614
|
* const numbers = [1, 2, 3, 4, 5]
|
|
637
615
|
* const withoutFirstTwo = Iterable.drop(numbers, 2)
|
|
638
|
-
*
|
|
616
|
+
* Array.from(withoutFirstTwo) // => [3, 4, 5]
|
|
639
617
|
*
|
|
640
618
|
* // Dropping more than available returns empty
|
|
641
619
|
* const withoutFirstTen = Iterable.drop(numbers, 10)
|
|
642
|
-
*
|
|
620
|
+
* Array.from(withoutFirstTen) // => []
|
|
643
621
|
*
|
|
644
622
|
* // Dropping 0 or negative returns all elements
|
|
645
623
|
* const all = Iterable.drop(numbers, 0)
|
|
646
|
-
*
|
|
624
|
+
* Array.from(all) // => [1, 2, 3, 4, 5]
|
|
647
625
|
*
|
|
648
626
|
* // Combine with take for slicing
|
|
649
627
|
* const slice = Iterable.take(Iterable.drop(numbers, 1), 3)
|
|
650
|
-
*
|
|
628
|
+
* Array.from(slice) // => [2, 3, 4]
|
|
651
629
|
* ```
|
|
652
630
|
*
|
|
653
631
|
* @category getters
|
|
@@ -680,20 +658,20 @@ export const drop = /*#__PURE__*/dual(2, (self, n) => ({
|
|
|
680
658
|
*
|
|
681
659
|
* **Example** (Finding the first match)
|
|
682
660
|
*
|
|
683
|
-
* ```ts
|
|
661
|
+
* ```ts import.meta.vitest
|
|
684
662
|
* import { Iterable, Option } from "effect"
|
|
685
663
|
*
|
|
686
664
|
* const numbers = [1, 3, 4, 6, 8]
|
|
687
665
|
* const firstEven = Iterable.findFirst(numbers, (x) => x % 2 === 0)
|
|
688
|
-
*
|
|
666
|
+
* firstEven // => Option.some(4)
|
|
689
667
|
*
|
|
690
668
|
* const firstGreaterThan10 = Iterable.findFirst(numbers, (x) => x > 10)
|
|
691
|
-
*
|
|
669
|
+
* firstGreaterThan10 // => Option.none()
|
|
692
670
|
*
|
|
693
671
|
* // With index
|
|
694
672
|
* const letters = ["a", "b", "c", "d"]
|
|
695
673
|
* const atEvenIndex = Iterable.findFirst(letters, (_, i) => i % 2 === 0)
|
|
696
|
-
*
|
|
674
|
+
* atEvenIndex // => Option.some("a")
|
|
697
675
|
*
|
|
698
676
|
* // Type refinement
|
|
699
677
|
* const mixed: Array<string | number> = [1, "hello", 2, "world"]
|
|
@@ -701,17 +679,17 @@ export const drop = /*#__PURE__*/dual(2, (self, n) => ({
|
|
|
701
679
|
* mixed,
|
|
702
680
|
* (x): x is string => typeof x === "string"
|
|
703
681
|
* )
|
|
704
|
-
*
|
|
682
|
+
* firstString // => Option.some("hello")
|
|
705
683
|
*
|
|
706
684
|
* // Transform during search
|
|
707
685
|
* const findSquareRoot = Iterable.findFirst([1, 4, 9, 16], (x) => {
|
|
708
686
|
* const sqrt = Math.sqrt(x)
|
|
709
687
|
* return Number.isInteger(sqrt) ? Option.some(sqrt) : Option.none()
|
|
710
688
|
* })
|
|
711
|
-
*
|
|
689
|
+
* findSquareRoot // => Option.some(1)
|
|
712
690
|
* ```
|
|
713
691
|
*
|
|
714
|
-
* @category
|
|
692
|
+
* @category searching
|
|
715
693
|
* @since 2.0.0
|
|
716
694
|
*/
|
|
717
695
|
export const findFirst = /*#__PURE__*/dual(2, (self, f) => {
|
|
@@ -736,20 +714,20 @@ export const findFirst = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
736
714
|
*
|
|
737
715
|
* **Example** (Finding the last match)
|
|
738
716
|
*
|
|
739
|
-
* ```ts
|
|
740
|
-
* import { Iterable } from "effect"
|
|
717
|
+
* ```ts import.meta.vitest
|
|
718
|
+
* import { Iterable, Option } from "effect"
|
|
741
719
|
*
|
|
742
720
|
* const numbers = [1, 3, 4, 6, 8, 2]
|
|
743
721
|
* const lastEven = Iterable.findLast(numbers, (x) => x % 2 === 0)
|
|
744
|
-
*
|
|
722
|
+
* lastEven // => Option.some(2)
|
|
745
723
|
*
|
|
746
724
|
* const lastGreaterThan10 = Iterable.findLast(numbers, (x) => x > 10)
|
|
747
|
-
*
|
|
725
|
+
* lastGreaterThan10 // => Option.none()
|
|
748
726
|
*
|
|
749
727
|
* // With index
|
|
750
728
|
* const letters = ["a", "b", "c", "d", "e"]
|
|
751
729
|
* const lastAtEvenIndex = Iterable.findLast(letters, (_, i) => i % 2 === 0)
|
|
752
|
-
*
|
|
730
|
+
* lastAtEvenIndex // => Option.some("e")
|
|
753
731
|
*
|
|
754
732
|
* // Type refinement
|
|
755
733
|
* const mixed: Array<string | number> = [1, "hello", 2, "world", 3]
|
|
@@ -757,10 +735,10 @@ export const findFirst = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
757
735
|
* mixed,
|
|
758
736
|
* (x): x is string => typeof x === "string"
|
|
759
737
|
* )
|
|
760
|
-
*
|
|
738
|
+
* lastString // => Option.some("world")
|
|
761
739
|
* ```
|
|
762
740
|
*
|
|
763
|
-
* @category
|
|
741
|
+
* @category searching
|
|
764
742
|
* @since 2.0.0
|
|
765
743
|
*/
|
|
766
744
|
export const findLast = /*#__PURE__*/dual(2, (self, f) => {
|
|
@@ -786,31 +764,31 @@ export const findLast = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
786
764
|
*
|
|
787
765
|
* **Example** (Zipping iterables)
|
|
788
766
|
*
|
|
789
|
-
* ```ts
|
|
767
|
+
* ```ts import.meta.vitest
|
|
790
768
|
* import { Iterable } from "effect"
|
|
791
769
|
*
|
|
792
770
|
* const numbers = [1, 2, 3]
|
|
793
771
|
* const letters = ["a", "b", "c"]
|
|
794
772
|
* const zipped = Iterable.zip(numbers, letters)
|
|
795
|
-
*
|
|
773
|
+
* Array.from(zipped) // => [[1, "a"], [2, "b"], [3, "c"]]
|
|
796
774
|
*
|
|
797
775
|
* // Different lengths - shorter one determines result length
|
|
798
776
|
* const short = [1, 2]
|
|
799
777
|
* const long = ["a", "b", "c", "d"]
|
|
800
778
|
* const partial = Iterable.zip(short, long)
|
|
801
|
-
*
|
|
779
|
+
* Array.from(partial) // => [[1, "a"], [2, "b"]]
|
|
802
780
|
*
|
|
803
781
|
* // Works with any iterables
|
|
804
782
|
* const range = Iterable.range(1, 3)
|
|
805
783
|
* const word = "abc"
|
|
806
784
|
* const mixed = Iterable.zip(range, word)
|
|
807
|
-
*
|
|
785
|
+
* Array.from(mixed) // => [[1, "a"], [2, "b"], [3, "c"]]
|
|
808
786
|
*
|
|
809
787
|
* // Create indexed pairs
|
|
810
788
|
* const values = ["apple", "banana", "cherry"]
|
|
811
789
|
* const indices = Iterable.range(0, 2)
|
|
812
790
|
* const indexed = Iterable.zip(indices, values)
|
|
813
|
-
*
|
|
791
|
+
* Array.from(indexed) // => [[0, "apple"], [1, "banana"], [2, "cherry"]]
|
|
814
792
|
* ```
|
|
815
793
|
*
|
|
816
794
|
* @category zipping
|
|
@@ -823,14 +801,14 @@ export const zip = /*#__PURE__*/dual(2, (self, that) => zipWith(self, that, Tupl
|
|
|
823
801
|
*
|
|
824
802
|
* **Example** (Zipping with a combining function)
|
|
825
803
|
*
|
|
826
|
-
* ```ts
|
|
804
|
+
* ```ts import.meta.vitest
|
|
827
805
|
* import { Iterable } from "effect"
|
|
828
806
|
*
|
|
829
807
|
* // Add corresponding elements
|
|
830
808
|
* const a = [1, 2, 3, 4]
|
|
831
809
|
* const b = [10, 20, 30, 40]
|
|
832
810
|
* const sums = Iterable.zipWith(a, b, (x, y) => x + y)
|
|
833
|
-
*
|
|
811
|
+
* Array.from(sums) // => [11, 22, 33, 44]
|
|
834
812
|
*
|
|
835
813
|
* // Combine strings
|
|
836
814
|
* const firstNames = ["John", "Jane", "Bob"]
|
|
@@ -840,7 +818,7 @@ export const zip = /*#__PURE__*/dual(2, (self, that) => zipWith(self, that, Tupl
|
|
|
840
818
|
* lastNames,
|
|
841
819
|
* (first, last) => `${first} ${last}`
|
|
842
820
|
* )
|
|
843
|
-
*
|
|
821
|
+
* Array.from(fullNames) // => ["John Doe", "Jane Smith", "Bob Johnson"]
|
|
844
822
|
*
|
|
845
823
|
* // Different lengths - stops at shorter
|
|
846
824
|
* const short = [1, 2]
|
|
@@ -850,7 +828,7 @@ export const zip = /*#__PURE__*/dual(2, (self, that) => zipWith(self, that, Tupl
|
|
|
850
828
|
* long,
|
|
851
829
|
* (num, letter) => `${num}${letter}`
|
|
852
830
|
* )
|
|
853
|
-
*
|
|
831
|
+
* Array.from(combined) // => ["1a", "2b"]
|
|
854
832
|
*
|
|
855
833
|
* // Complex transformations
|
|
856
834
|
* const prices = [10.99, 25.50, 5.00]
|
|
@@ -858,7 +836,7 @@ export const zip = /*#__PURE__*/dual(2, (self, that) => zipWith(self, that, Tupl
|
|
|
858
836
|
* const totals = Iterable.zipWith(prices, quantities, (price, qty) => {
|
|
859
837
|
* return Math.round(price * qty * 100) / 100 // round to 2 decimal places
|
|
860
838
|
* })
|
|
861
|
-
*
|
|
839
|
+
* Array.from(totals) // => [21.98, 25.5, 15]
|
|
862
840
|
* ```
|
|
863
841
|
*
|
|
864
842
|
* @category zipping
|
|
@@ -899,33 +877,33 @@ export const zipWith = /*#__PURE__*/dual(3, (self, that, f) => ({
|
|
|
899
877
|
*
|
|
900
878
|
* **Example** (Interspersing separators)
|
|
901
879
|
*
|
|
902
|
-
* ```ts
|
|
880
|
+
* ```ts import.meta.vitest
|
|
903
881
|
* import { Iterable } from "effect"
|
|
904
882
|
*
|
|
905
883
|
* // Join numbers with separator
|
|
906
884
|
* const numbers = [1, 2, 3, 4]
|
|
907
885
|
* const withCommas = Iterable.intersperse(numbers, ",")
|
|
908
|
-
*
|
|
886
|
+
* Array.from(withCommas) // => [1, ",", 2, ",", 3, ",", 4]
|
|
909
887
|
*
|
|
910
888
|
* // Join words with spaces
|
|
911
889
|
* const words = ["hello", "world", "from", "effect"]
|
|
912
890
|
* const sentence = Iterable.intersperse(words, " ")
|
|
913
|
-
*
|
|
891
|
+
* Array.from(sentence).join("") // => "hello world from effect"
|
|
914
892
|
*
|
|
915
893
|
* // Empty iterable remains empty
|
|
916
894
|
* const empty = Iterable.empty<string>()
|
|
917
895
|
* const stillEmpty = Iterable.intersperse(empty, "-")
|
|
918
|
-
*
|
|
896
|
+
* Array.from(stillEmpty) // => []
|
|
919
897
|
*
|
|
920
898
|
* // Single element has no separators added
|
|
921
899
|
* const single = [42]
|
|
922
900
|
* const noSeparator = Iterable.intersperse(single, "|")
|
|
923
|
-
*
|
|
901
|
+
* Array.from(noSeparator) // => [42]
|
|
924
902
|
*
|
|
925
903
|
* // Build CSS-like strings
|
|
926
904
|
* const styles = ["color: red", "font-size: 14px", "margin: 10px"]
|
|
927
905
|
* const css = Iterable.intersperse(styles, "; ")
|
|
928
|
-
*
|
|
906
|
+
* Array.from(css).join("") // => "color: red; font-size: 14px; margin: 10px"
|
|
929
907
|
* ```
|
|
930
908
|
*
|
|
931
909
|
* @category combining
|
|
@@ -960,7 +938,7 @@ export const intersperse = /*#__PURE__*/dual(2, (self, middle) => ({
|
|
|
960
938
|
*
|
|
961
939
|
* **Example** (Checking membership with custom equivalence)
|
|
962
940
|
*
|
|
963
|
-
* ```ts
|
|
941
|
+
* ```ts import.meta.vitest
|
|
964
942
|
* import { Iterable } from "effect"
|
|
965
943
|
*
|
|
966
944
|
* // Custom equivalence for objects
|
|
@@ -969,7 +947,7 @@ export const intersperse = /*#__PURE__*/dual(2, (self, middle) => ({
|
|
|
969
947
|
*
|
|
970
948
|
* const users = [{ id: 1 }, { id: 2 }]
|
|
971
949
|
* const hasUser1 = containsById(users, { id: 1 })
|
|
972
|
-
*
|
|
950
|
+
* hasUser1 // => true
|
|
973
951
|
*
|
|
974
952
|
* // Case-insensitive string comparison
|
|
975
953
|
* const caseInsensitive = (a: string, b: string) =>
|
|
@@ -978,7 +956,7 @@ export const intersperse = /*#__PURE__*/dual(2, (self, middle) => ({
|
|
|
978
956
|
*
|
|
979
957
|
* const words = ["Hello", "World"]
|
|
980
958
|
* const hasHello = containsCaseInsensitive(words, "hello")
|
|
981
|
-
*
|
|
959
|
+
* hasHello // => true
|
|
982
960
|
*
|
|
983
961
|
* // Approximate number comparison
|
|
984
962
|
* const approxEqual = (a: number, b: number) => Math.abs(a - b) < 0.1
|
|
@@ -986,10 +964,10 @@ export const intersperse = /*#__PURE__*/dual(2, (self, middle) => ({
|
|
|
986
964
|
*
|
|
987
965
|
* const values = [1.0, 2.0, 3.0]
|
|
988
966
|
* const hasAlmostTwo = containsApprox(values, 2.05)
|
|
989
|
-
*
|
|
967
|
+
* hasAlmostTwo // => true
|
|
990
968
|
* ```
|
|
991
969
|
*
|
|
992
|
-
* @category
|
|
970
|
+
* @category predicates
|
|
993
971
|
* @since 2.0.0
|
|
994
972
|
*/
|
|
995
973
|
export const containsWith = isEquivalent => dual(2, (self, a) => {
|
|
@@ -1011,29 +989,29 @@ export const containsWith = isEquivalent => dual(2, (self, a) => {
|
|
|
1011
989
|
*
|
|
1012
990
|
* **Example** (Checking membership)
|
|
1013
991
|
*
|
|
1014
|
-
* ```ts
|
|
992
|
+
* ```ts import.meta.vitest
|
|
1015
993
|
* import { Iterable } from "effect"
|
|
1016
994
|
*
|
|
1017
995
|
* const numbers = [1, 2, 3, 4, 5]
|
|
1018
|
-
*
|
|
1019
|
-
*
|
|
996
|
+
* Iterable.contains(numbers, 3) // => true
|
|
997
|
+
* Iterable.contains(numbers, 6) // => false
|
|
1020
998
|
*
|
|
1021
999
|
* const letters = "hello"
|
|
1022
|
-
*
|
|
1023
|
-
*
|
|
1000
|
+
* Iterable.contains(letters, "l") // => true
|
|
1001
|
+
* Iterable.contains(letters, "x") // => false
|
|
1024
1002
|
*
|
|
1025
1003
|
* // Works with any iterable
|
|
1026
1004
|
* const range = Iterable.range(1, 100)
|
|
1027
|
-
*
|
|
1028
|
-
*
|
|
1005
|
+
* Iterable.contains(range, 50) // => true
|
|
1006
|
+
* Iterable.contains(range, 150) // => false
|
|
1029
1007
|
*
|
|
1030
1008
|
* // Curried version
|
|
1031
1009
|
* const containsThree = Iterable.contains(3)
|
|
1032
|
-
*
|
|
1033
|
-
*
|
|
1010
|
+
* containsThree([1, 2, 3]) // => true
|
|
1011
|
+
* containsThree([4, 5, 6]) // => false
|
|
1034
1012
|
* ```
|
|
1035
1013
|
*
|
|
1036
|
-
* @category
|
|
1014
|
+
* @category predicates
|
|
1037
1015
|
* @since 2.0.0
|
|
1038
1016
|
*/
|
|
1039
1017
|
export const contains = /*#__PURE__*/containsWith(/*#__PURE__*/Equal.asEquivalence());
|
|
@@ -1043,25 +1021,22 @@ export const contains = /*#__PURE__*/containsWith(/*#__PURE__*/Equal.asEquivalen
|
|
|
1043
1021
|
*
|
|
1044
1022
|
* **Example** (Chunking an iterable)
|
|
1045
1023
|
*
|
|
1046
|
-
* ```ts
|
|
1024
|
+
* ```ts import.meta.vitest
|
|
1047
1025
|
* import { Iterable } from "effect"
|
|
1048
1026
|
*
|
|
1049
1027
|
* const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
|
|
1050
1028
|
* const chunks = Iterable.chunksOf(numbers, 3)
|
|
1051
|
-
*
|
|
1052
|
-
* // [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
|
1029
|
+
* Array.from(chunks) // => [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
|
1053
1030
|
*
|
|
1054
1031
|
* // Last chunk can be shorter
|
|
1055
1032
|
* const uneven = [1, 2, 3, 4, 5, 6, 7]
|
|
1056
1033
|
* const chunks2 = Iterable.chunksOf(uneven, 3)
|
|
1057
|
-
*
|
|
1058
|
-
* // [[1, 2, 3], [4, 5, 6], [7]]
|
|
1034
|
+
* Array.from(chunks2) // => [[1, 2, 3], [4, 5, 6], [7]]
|
|
1059
1035
|
*
|
|
1060
1036
|
* // Chunk size larger than iterable
|
|
1061
1037
|
* const small = [1, 2]
|
|
1062
1038
|
* const chunks3 = Iterable.chunksOf(small, 5)
|
|
1063
|
-
*
|
|
1064
|
-
* // [[1, 2]]
|
|
1039
|
+
* Array.from(chunks3) // => [[1, 2]]
|
|
1065
1040
|
*
|
|
1066
1041
|
* // Process data in batches
|
|
1067
1042
|
* const data = Iterable.range(1, 100)
|
|
@@ -1070,7 +1045,7 @@ export const contains = /*#__PURE__*/containsWith(/*#__PURE__*/Equal.asEquivalen
|
|
|
1070
1045
|
* batches,
|
|
1071
1046
|
* (batch) => Iterable.reduce(batch, 0, (sum, n) => sum + n)
|
|
1072
1047
|
* )
|
|
1073
|
-
*
|
|
1048
|
+
* Array.from(Iterable.take(batchSums, 3)) // => [55, 155, 255]
|
|
1074
1049
|
* ```
|
|
1075
1050
|
*
|
|
1076
1051
|
* @category splitting
|
|
@@ -1118,35 +1093,31 @@ export const chunksOf = /*#__PURE__*/dual(2, (self, n) => {
|
|
|
1118
1093
|
*
|
|
1119
1094
|
* **Example** (Grouping consecutive elements with custom equivalence)
|
|
1120
1095
|
*
|
|
1121
|
-
* ```ts
|
|
1096
|
+
* ```ts import.meta.vitest
|
|
1122
1097
|
* import { Iterable } from "effect"
|
|
1123
1098
|
*
|
|
1124
1099
|
* // Group consecutive equal numbers
|
|
1125
1100
|
* const numbers = [1, 1, 2, 2, 2, 3, 1, 1]
|
|
1126
1101
|
* const grouped = Iterable.groupWith(numbers, (a, b) => a === b)
|
|
1127
|
-
*
|
|
1128
|
-
* // [[1, 1], [2, 2, 2], [3], [1, 1]]
|
|
1102
|
+
* Array.from(grouped) // => [[1, 1], [2, 2, 2], [3], [1, 1]]
|
|
1129
1103
|
*
|
|
1130
1104
|
* // Case-insensitive grouping of strings
|
|
1131
1105
|
* const words = ["Apple", "APPLE", "banana", "Banana", "cherry"]
|
|
1132
1106
|
* const caseInsensitive = (a: string, b: string) =>
|
|
1133
1107
|
* a.toLowerCase() === b.toLowerCase()
|
|
1134
1108
|
* const groupedWords = Iterable.groupWith(words, caseInsensitive)
|
|
1135
|
-
*
|
|
1136
|
-
* // [["Apple", "APPLE"], ["banana", "Banana"], ["cherry"]]
|
|
1109
|
+
* Array.from(groupedWords) // => [["Apple", "APPLE"], ["banana", "Banana"], ["cherry"]]
|
|
1137
1110
|
*
|
|
1138
1111
|
* // Group by approximate equality
|
|
1139
1112
|
* const floats = [1.1, 1.12, 1.9, 2.01, 2.05, 3.5]
|
|
1140
1113
|
* const approxEqual = (a: number, b: number) => Math.abs(a - b) < 0.2
|
|
1141
1114
|
* const groupedFloats = Iterable.groupWith(floats, approxEqual)
|
|
1142
|
-
*
|
|
1143
|
-
* // [[1.1, 1.12], [1.9, 2.01, 2.05], [3.5]]
|
|
1115
|
+
* Array.from(groupedFloats) // => [[1.1, 1.12], [1.9, 2.01, 2.05], [3.5]]
|
|
1144
1116
|
*
|
|
1145
1117
|
* // Only groups consecutive elements
|
|
1146
1118
|
* const scattered = [1, 2, 1, 2, 1]
|
|
1147
1119
|
* const scatteredGroups = Iterable.groupWith(scattered, (a, b) => a === b)
|
|
1148
|
-
*
|
|
1149
|
-
* // [[1], [2], [1], [2], [1]] (no grouping since none are consecutive)
|
|
1120
|
+
* Array.from(scatteredGroups) // => [[1], [2], [1], [2], [1]]
|
|
1150
1121
|
* ```
|
|
1151
1122
|
*
|
|
1152
1123
|
* @category grouping
|
|
@@ -1198,18 +1169,16 @@ export const groupWith = /*#__PURE__*/dual(2, (self, isEquivalent) => ({
|
|
|
1198
1169
|
*
|
|
1199
1170
|
* **Example** (Grouping consecutive elements)
|
|
1200
1171
|
*
|
|
1201
|
-
* ```ts
|
|
1172
|
+
* ```ts import.meta.vitest
|
|
1202
1173
|
* import { Iterable } from "effect"
|
|
1203
1174
|
*
|
|
1204
1175
|
* const numbers = [1, 1, 2, 2, 2, 3, 1, 1]
|
|
1205
1176
|
* const grouped = Iterable.group(numbers)
|
|
1206
|
-
*
|
|
1207
|
-
* // [[1, 1], [2, 2, 2], [3], [1, 1]]
|
|
1177
|
+
* Array.from(grouped) // => [[1, 1], [2, 2, 2], [3], [1, 1]]
|
|
1208
1178
|
*
|
|
1209
1179
|
* const letters = "aabbccaa"
|
|
1210
1180
|
* const groupedLetters = Iterable.group(letters)
|
|
1211
|
-
*
|
|
1212
|
-
* // [["a", "a"], ["b", "b"], ["c", "c"], ["a", "a"]]
|
|
1181
|
+
* Array.from(groupedLetters) // => [["a", "a"], ["b", "b"], ["c", "c"], ["a", "a"]]
|
|
1213
1182
|
*
|
|
1214
1183
|
* // Works with objects using deep equality
|
|
1215
1184
|
* const objects = [
|
|
@@ -1219,7 +1188,7 @@ export const groupWith = /*#__PURE__*/dual(2, (self, isEquivalent) => ({
|
|
|
1219
1188
|
* { type: "A", value: 1 }
|
|
1220
1189
|
* ]
|
|
1221
1190
|
* const groupedObjects = Iterable.group(objects)
|
|
1222
|
-
*
|
|
1191
|
+
* Array.from(groupedObjects).length // => 3
|
|
1223
1192
|
* // Note: Only consecutive equal objects are grouped together
|
|
1224
1193
|
* ```
|
|
1225
1194
|
*
|
|
@@ -1238,20 +1207,18 @@ export const group = /*#__PURE__*/groupWith(/*#__PURE__*/Equal.asEquivalence());
|
|
|
1238
1207
|
*
|
|
1239
1208
|
* **Example** (Grouping by a key)
|
|
1240
1209
|
*
|
|
1241
|
-
* ```ts
|
|
1210
|
+
* ```ts import.meta.vitest
|
|
1242
1211
|
* import { Iterable } from "effect"
|
|
1243
1212
|
*
|
|
1244
1213
|
* // Group by string length
|
|
1245
1214
|
* const words = ["a", "bb", "ccc", "dd", "eee", "f"]
|
|
1246
1215
|
* const byLength = Iterable.groupBy(words, (word) => word.length.toString())
|
|
1247
|
-
*
|
|
1248
|
-
* // { "1": ["a", "f"], "2": ["bb", "dd"], "3": ["ccc", "eee"] }
|
|
1216
|
+
* byLength // => { "1": ["a", "f"], "2": ["bb", "dd"], "3": ["ccc", "eee"] }
|
|
1249
1217
|
*
|
|
1250
1218
|
* // Group by first letter
|
|
1251
1219
|
* const names = ["Alice", "Bob", "Charlie", "David", "Anna", "Betty"]
|
|
1252
1220
|
* const byFirstLetter = Iterable.groupBy(names, (name) => name[0])
|
|
1253
|
-
*
|
|
1254
|
-
* // { "A": ["Alice", "Anna"], "B": ["Bob", "Betty"], "C": ["Charlie"], "D": ["David"] }
|
|
1221
|
+
* byFirstLetter // => { A: ["Alice", "Anna"], B: ["Bob", "Betty"], C: ["Charlie"], D: ["David"] }
|
|
1255
1222
|
*
|
|
1256
1223
|
* // Group by category
|
|
1257
1224
|
* const items = [
|
|
@@ -1261,17 +1228,12 @@ export const group = /*#__PURE__*/groupWith(/*#__PURE__*/Equal.asEquivalence());
|
|
|
1261
1228
|
* { name: "broccoli", category: "vegetable" }
|
|
1262
1229
|
* ]
|
|
1263
1230
|
* const byCategory = Iterable.groupBy(items, (item) => item.category)
|
|
1264
|
-
*
|
|
1265
|
-
* // {
|
|
1266
|
-
* // "fruit": [{ name: "apple", category: "fruit" }, { name: "banana", category: "fruit" }],
|
|
1267
|
-
* // "vegetable": [{ name: "carrot", category: "vegetable" }, { name: "broccoli", category: "vegetable" }]
|
|
1268
|
-
* // }
|
|
1231
|
+
* Object.keys(byCategory) // => ["fruit", "vegetable"]
|
|
1269
1232
|
*
|
|
1270
1233
|
* // Group numbers by even/odd
|
|
1271
1234
|
* const numbers = [1, 2, 3, 4, 5, 6]
|
|
1272
1235
|
* const evenOdd = Iterable.groupBy(numbers, (n) => n % 2 === 0 ? "even" : "odd")
|
|
1273
|
-
*
|
|
1274
|
-
* // { "odd": [1, 3, 5], "even": [2, 4, 6] }
|
|
1236
|
+
* evenOdd // => { odd: [1, 3, 5], even: [2, 4, 6] }
|
|
1275
1237
|
* ```
|
|
1276
1238
|
*
|
|
1277
1239
|
* @category grouping
|
|
@@ -1284,7 +1246,7 @@ export const groupBy = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1284
1246
|
if (Object.hasOwn(out, k)) {
|
|
1285
1247
|
out[k].push(a);
|
|
1286
1248
|
} else {
|
|
1287
|
-
out
|
|
1249
|
+
InternalRecord.assignProperty(out, k, [a]);
|
|
1288
1250
|
}
|
|
1289
1251
|
}
|
|
1290
1252
|
return out;
|
|
@@ -1312,18 +1274,10 @@ const constEmptyIterator = {
|
|
|
1312
1274
|
*
|
|
1313
1275
|
* **Example** (Creating an empty iterable)
|
|
1314
1276
|
*
|
|
1315
|
-
* ```ts
|
|
1277
|
+
* ```ts import.meta.vitest
|
|
1316
1278
|
* import { Iterable } from "effect"
|
|
1317
1279
|
*
|
|
1318
|
-
*
|
|
1319
|
-
* console.log(Array.from(empty)) // []
|
|
1320
|
-
* console.log(Iterable.isEmpty(empty)) // true
|
|
1321
|
-
*
|
|
1322
|
-
* // Useful as base case for reductions
|
|
1323
|
-
* const hasData = true
|
|
1324
|
-
* const result = hasData
|
|
1325
|
-
* ? Iterable.range(1, 5)
|
|
1326
|
-
* : Iterable.empty<number>()
|
|
1280
|
+
* Array.from(Iterable.empty<string>()) // => []
|
|
1327
1281
|
* ```
|
|
1328
1282
|
*
|
|
1329
1283
|
* @category constructors
|
|
@@ -1340,11 +1294,11 @@ export const empty = () => constEmpty;
|
|
|
1340
1294
|
*
|
|
1341
1295
|
* **Example** (Wrapping a single value)
|
|
1342
1296
|
*
|
|
1343
|
-
* ```ts
|
|
1297
|
+
* ```ts import.meta.vitest
|
|
1344
1298
|
* import { Iterable } from "effect"
|
|
1345
1299
|
*
|
|
1346
1300
|
* const single = Iterable.of(42)
|
|
1347
|
-
*
|
|
1301
|
+
* Array.from(single) // => [42]
|
|
1348
1302
|
*
|
|
1349
1303
|
* // Useful for creating homogeneous sequences
|
|
1350
1304
|
* const sequences = [
|
|
@@ -1359,7 +1313,7 @@ export const empty = () => constEmpty;
|
|
|
1359
1313
|
* numbers,
|
|
1360
1314
|
* (n) => n % 2 === 0 ? Iterable.of(n) : Iterable.empty()
|
|
1361
1315
|
* )
|
|
1362
|
-
*
|
|
1316
|
+
* Array.from(evensOnly) // => [2, 4]
|
|
1363
1317
|
* ```
|
|
1364
1318
|
*
|
|
1365
1319
|
* @category constructors
|
|
@@ -1378,24 +1332,22 @@ export const of = a => [a];
|
|
|
1378
1332
|
*
|
|
1379
1333
|
* **Example** (Mapping elements)
|
|
1380
1334
|
*
|
|
1381
|
-
* ```ts
|
|
1335
|
+
* ```ts import.meta.vitest
|
|
1382
1336
|
* import { Iterable } from "effect"
|
|
1383
1337
|
*
|
|
1384
1338
|
* // Transform numbers to their squares
|
|
1385
1339
|
* const numbers = [1, 2, 3, 4, 5]
|
|
1386
1340
|
* const squares = Iterable.map(numbers, (x) => x * x)
|
|
1387
|
-
*
|
|
1341
|
+
* Array.from(squares) // => [1, 4, 9, 16, 25]
|
|
1388
1342
|
*
|
|
1389
1343
|
* // Use index in transformation
|
|
1390
1344
|
* const indexed = Iterable.map(["a", "b", "c"], (char, i) => `${i}: ${char}`)
|
|
1391
|
-
*
|
|
1345
|
+
* Array.from(indexed) // => ["0: a", "1: b", "2: c"]
|
|
1392
1346
|
*
|
|
1393
|
-
*
|
|
1394
|
-
* const result = Iterable.map(
|
|
1347
|
+
* Array.from(Iterable.map(
|
|
1395
1348
|
* Iterable.map([1, 2, 3], (x) => x * 2),
|
|
1396
1349
|
* (x) => x + 1
|
|
1397
|
-
* )
|
|
1398
|
-
* console.log(Array.from(result)) // [3, 5, 7]
|
|
1350
|
+
* )) // => [3, 5, 7]
|
|
1399
1351
|
* ```
|
|
1400
1352
|
*
|
|
1401
1353
|
* @category mapping
|
|
@@ -1427,18 +1379,18 @@ export const map = /*#__PURE__*/dual(2, (self, f) => ({
|
|
|
1427
1379
|
*
|
|
1428
1380
|
* **Example** (Flat mapping iterables)
|
|
1429
1381
|
*
|
|
1430
|
-
* ```ts
|
|
1382
|
+
* ```ts import.meta.vitest
|
|
1431
1383
|
* import { Iterable } from "effect"
|
|
1432
1384
|
*
|
|
1433
1385
|
* // Expand each number to a range
|
|
1434
1386
|
* const numbers = [1, 2, 3]
|
|
1435
1387
|
* const expanded = Iterable.flatMap(numbers, (n) => Iterable.range(1, n))
|
|
1436
|
-
*
|
|
1388
|
+
* Array.from(expanded) // => [1, 1, 2, 1, 2, 3]
|
|
1437
1389
|
*
|
|
1438
1390
|
* // Split strings into characters
|
|
1439
1391
|
* const words = ["hi", "bye"]
|
|
1440
1392
|
* const chars = Iterable.flatMap(words, (word) => word)
|
|
1441
|
-
*
|
|
1393
|
+
* Array.from(chars) // => ["h", "i", "b", "y", "e"]
|
|
1442
1394
|
*
|
|
1443
1395
|
* // Conditional expansion with empty iterables
|
|
1444
1396
|
* const values = [1, 2, 3, 4, 5]
|
|
@@ -1446,7 +1398,7 @@ export const map = /*#__PURE__*/dual(2, (self, f) => ({
|
|
|
1446
1398
|
* values,
|
|
1447
1399
|
* (n) => n % 2 === 0 ? [n, n * 2, n * 3] : []
|
|
1448
1400
|
* )
|
|
1449
|
-
*
|
|
1401
|
+
* Array.from(evenMultiples) // => [2, 4, 6, 4, 8, 12]
|
|
1450
1402
|
*
|
|
1451
1403
|
* // Use index in transformation
|
|
1452
1404
|
* const letters = ["a", "b", "c"]
|
|
@@ -1454,7 +1406,7 @@ export const map = /*#__PURE__*/dual(2, (self, f) => ({
|
|
|
1454
1406
|
* letters,
|
|
1455
1407
|
* (letter, i) => Iterable.replicate(letter, i + 1)
|
|
1456
1408
|
* )
|
|
1457
|
-
*
|
|
1409
|
+
* Array.from(indexed) // => ["a", "b", "b", "c", "c", "c"]
|
|
1458
1410
|
* ```
|
|
1459
1411
|
*
|
|
1460
1412
|
* @category sequencing
|
|
@@ -1466,29 +1418,29 @@ export const flatMap = /*#__PURE__*/dual(2, (self, f) => flatten(map(self, f)));
|
|
|
1466
1418
|
*
|
|
1467
1419
|
* **Example** (Flattening nested iterables)
|
|
1468
1420
|
*
|
|
1469
|
-
* ```ts
|
|
1421
|
+
* ```ts import.meta.vitest
|
|
1470
1422
|
* import { Iterable } from "effect"
|
|
1471
1423
|
*
|
|
1472
1424
|
* // Flatten nested arrays
|
|
1473
1425
|
* const nested = [[1, 2], [3, 4], [5, 6]]
|
|
1474
1426
|
* const flat = Iterable.flatten(nested)
|
|
1475
|
-
*
|
|
1427
|
+
* Array.from(flat) // => [1, 2, 3, 4, 5, 6]
|
|
1476
1428
|
*
|
|
1477
1429
|
* // Flatten different iterable types
|
|
1478
1430
|
* const mixed: Array<Iterable<string>> = ["ab", "cd"]
|
|
1479
1431
|
* const flatMixed = Iterable.flatten(mixed)
|
|
1480
|
-
*
|
|
1432
|
+
* Array.from(flatMixed) // => ["a", "b", "c", "d"]
|
|
1481
1433
|
*
|
|
1482
1434
|
* // Flatten deeply nested (only one level)
|
|
1483
1435
|
* const deepNested = [[[1, 2]], [[3, 4]]]
|
|
1484
1436
|
* const oneLevelFlat = Iterable.flatten(deepNested)
|
|
1485
|
-
*
|
|
1437
|
+
* Array.from(oneLevelFlat) // => [[1, 2], [3, 4]]
|
|
1486
1438
|
* // [[1, 2], [3, 4]] (still contains arrays)
|
|
1487
1439
|
*
|
|
1488
1440
|
* // Empty iterables are handled correctly
|
|
1489
1441
|
* const withEmpty = [[1, 2], [], [3, 4], []]
|
|
1490
1442
|
* const flatWithEmpty = Iterable.flatten(withEmpty)
|
|
1491
|
-
*
|
|
1443
|
+
* Array.from(flatWithEmpty) // => [1, 2, 3, 4]
|
|
1492
1444
|
* ```
|
|
1493
1445
|
*
|
|
1494
1446
|
* @category sequencing
|
|
@@ -1499,19 +1451,20 @@ export const flatten = self => ({
|
|
|
1499
1451
|
const outerIterator = self[Symbol.iterator]();
|
|
1500
1452
|
let innerIterator;
|
|
1501
1453
|
function next() {
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1454
|
+
while (true) {
|
|
1455
|
+
if (innerIterator === undefined) {
|
|
1456
|
+
const next = outerIterator.next();
|
|
1457
|
+
if (next.done) {
|
|
1458
|
+
return next;
|
|
1459
|
+
}
|
|
1460
|
+
innerIterator = next.value[Symbol.iterator]();
|
|
1461
|
+
}
|
|
1462
|
+
const result = innerIterator.next();
|
|
1463
|
+
if (!result.done) {
|
|
1464
|
+
return result;
|
|
1506
1465
|
}
|
|
1507
|
-
innerIterator = next.value[Symbol.iterator]();
|
|
1508
|
-
}
|
|
1509
|
-
const result = innerIterator.next();
|
|
1510
|
-
if (result.done) {
|
|
1511
1466
|
innerIterator = undefined;
|
|
1512
|
-
return next();
|
|
1513
1467
|
}
|
|
1514
|
-
return result;
|
|
1515
1468
|
}
|
|
1516
1469
|
return {
|
|
1517
1470
|
next
|
|
@@ -1529,7 +1482,7 @@ export const flatten = self => ({
|
|
|
1529
1482
|
*
|
|
1530
1483
|
* **Example** (Filtering and transforming Result values)
|
|
1531
1484
|
*
|
|
1532
|
-
* ```ts
|
|
1485
|
+
* ```ts import.meta.vitest
|
|
1533
1486
|
* import { Iterable, Result } from "effect"
|
|
1534
1487
|
*
|
|
1535
1488
|
* // Parse strings to numbers, keeping only valid ones
|
|
@@ -1538,7 +1491,7 @@ export const flatten = self => ({
|
|
|
1538
1491
|
* const num = parseInt(s)
|
|
1539
1492
|
* return isNaN(num) ? Result.failVoid : Result.succeed(num)
|
|
1540
1493
|
* })
|
|
1541
|
-
*
|
|
1494
|
+
* Array.from(numbers) // => [1, 2, 4]
|
|
1542
1495
|
*
|
|
1543
1496
|
* // Extract specific properties from objects
|
|
1544
1497
|
* const users = [
|
|
@@ -1552,7 +1505,7 @@ export const flatten = self => ({
|
|
|
1552
1505
|
* (user) =>
|
|
1553
1506
|
* user.age >= 18 && user.email ? Result.succeed(user.email) : Result.failVoid
|
|
1554
1507
|
* )
|
|
1555
|
-
*
|
|
1508
|
+
* Array.from(adultEmails) // => ["alice@example.com", "charlie@example.com"]
|
|
1556
1509
|
*
|
|
1557
1510
|
* // Use index in transformation
|
|
1558
1511
|
* const items = ["a", "b", "c", "d", "e"]
|
|
@@ -1560,7 +1513,7 @@ export const flatten = self => ({
|
|
|
1560
1513
|
* items,
|
|
1561
1514
|
* (item, i) => i % 2 === 0 ? Result.succeed(`${i}: ${item}`) : Result.failVoid
|
|
1562
1515
|
* )
|
|
1563
|
-
*
|
|
1516
|
+
* Array.from(evenIndexItems) // => ["0: a", "2: c", "4: e"]
|
|
1564
1517
|
* ```
|
|
1565
1518
|
*
|
|
1566
1519
|
* @category filtering
|
|
@@ -1596,7 +1549,7 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => ({
|
|
|
1596
1549
|
*
|
|
1597
1550
|
* **Example** (Filtering and transforming until failure)
|
|
1598
1551
|
*
|
|
1599
|
-
* ```ts
|
|
1552
|
+
* ```ts import.meta.vitest
|
|
1600
1553
|
* import { Iterable, Result } from "effect"
|
|
1601
1554
|
*
|
|
1602
1555
|
* // Parse numbers until we hit an invalid one
|
|
@@ -1605,7 +1558,7 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => ({
|
|
|
1605
1558
|
* const num = parseInt(s)
|
|
1606
1559
|
* return isNaN(num) ? Result.failVoid : Result.succeed(num)
|
|
1607
1560
|
* })
|
|
1608
|
-
*
|
|
1561
|
+
* Array.from(numbers) // => [1, 2, 3]
|
|
1609
1562
|
*
|
|
1610
1563
|
* // Take elements while they meet a condition and transform them
|
|
1611
1564
|
* const values = [2, 4, 6, 7, 8, 10]
|
|
@@ -1613,7 +1566,7 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => ({
|
|
|
1613
1566
|
* values,
|
|
1614
1567
|
* (n) => n % 2 === 0 ? Result.succeed(n * 2) : Result.failVoid
|
|
1615
1568
|
* )
|
|
1616
|
-
*
|
|
1569
|
+
* Array.from(doubledEvens) // => [4, 8, 12]
|
|
1617
1570
|
*
|
|
1618
1571
|
* // Process with index until condition fails
|
|
1619
1572
|
* const letters = ["a", "b", "c", "d", "e"]
|
|
@@ -1621,7 +1574,7 @@ export const filterMap = /*#__PURE__*/dual(2, (self, f) => ({
|
|
|
1621
1574
|
* letters,
|
|
1622
1575
|
* (letter, i) => letter !== "c" ? Result.succeed(`${i}: ${letter}`) : Result.failVoid
|
|
1623
1576
|
* )
|
|
1624
|
-
*
|
|
1577
|
+
* Array.from(indexedUntilC) // => ["0: a", "1: b"]
|
|
1625
1578
|
* ```
|
|
1626
1579
|
*
|
|
1627
1580
|
* @category filtering
|
|
@@ -1660,16 +1613,10 @@ export const filterMapWhile = /*#__PURE__*/dual(2, (self, f) => ({
|
|
|
1660
1613
|
*
|
|
1661
1614
|
* **Example** (Extracting Some values)
|
|
1662
1615
|
*
|
|
1663
|
-
* ```ts
|
|
1616
|
+
* ```ts import.meta.vitest
|
|
1664
1617
|
* import { Iterable, Option } from "effect"
|
|
1665
|
-
* import * as assert from "node:assert"
|
|
1666
1618
|
*
|
|
1667
|
-
*
|
|
1668
|
-
* Array.from(
|
|
1669
|
-
* Iterable.getSomes([Option.some(1), Option.none(), Option.some(2)])
|
|
1670
|
-
* ),
|
|
1671
|
-
* [1, 2]
|
|
1672
|
-
* )
|
|
1619
|
+
* Array.from(Iterable.getSomes([Option.some(1), Option.none(), Option.some(2)])) // => [1, 2]
|
|
1673
1620
|
* ```
|
|
1674
1621
|
*
|
|
1675
1622
|
* @category filtering
|
|
@@ -1706,20 +1653,14 @@ export const getSomes = self => {
|
|
|
1706
1653
|
*
|
|
1707
1654
|
* **Example** (Extracting failures)
|
|
1708
1655
|
*
|
|
1709
|
-
* ```ts
|
|
1656
|
+
* ```ts import.meta.vitest
|
|
1710
1657
|
* import { Iterable, Result } from "effect"
|
|
1711
|
-
*
|
|
1712
|
-
*
|
|
1713
|
-
*
|
|
1714
|
-
*
|
|
1715
|
-
*
|
|
1716
|
-
*
|
|
1717
|
-
* Result.fail("err"),
|
|
1718
|
-
* Result.succeed(2)
|
|
1719
|
-
* ])
|
|
1720
|
-
* ),
|
|
1721
|
-
* ["err"]
|
|
1722
|
-
* )
|
|
1658
|
+
*
|
|
1659
|
+
* Array.from(Iterable.getFailures([
|
|
1660
|
+
* Result.succeed(1),
|
|
1661
|
+
* Result.fail("err"),
|
|
1662
|
+
* Result.succeed(2)
|
|
1663
|
+
* ])) // => ["err"]
|
|
1723
1664
|
* ```
|
|
1724
1665
|
*
|
|
1725
1666
|
* @category filtering
|
|
@@ -1756,20 +1697,14 @@ export const getFailures = self => {
|
|
|
1756
1697
|
*
|
|
1757
1698
|
* **Example** (Extracting successes)
|
|
1758
1699
|
*
|
|
1759
|
-
* ```ts
|
|
1700
|
+
* ```ts import.meta.vitest
|
|
1760
1701
|
* import { Iterable, Result } from "effect"
|
|
1761
|
-
*
|
|
1762
|
-
*
|
|
1763
|
-
*
|
|
1764
|
-
*
|
|
1765
|
-
*
|
|
1766
|
-
*
|
|
1767
|
-
* Result.fail("err"),
|
|
1768
|
-
* Result.succeed(2)
|
|
1769
|
-
* ])
|
|
1770
|
-
* ),
|
|
1771
|
-
* [1, 2]
|
|
1772
|
-
* )
|
|
1702
|
+
*
|
|
1703
|
+
* Array.from(Iterable.getSuccesses([
|
|
1704
|
+
* Result.succeed(1),
|
|
1705
|
+
* Result.fail("err"),
|
|
1706
|
+
* Result.succeed(2)
|
|
1707
|
+
* ])) // => [1, 2]
|
|
1773
1708
|
* ```
|
|
1774
1709
|
*
|
|
1775
1710
|
* @category filtering
|
|
@@ -1811,18 +1746,18 @@ export const getSuccesses = self => {
|
|
|
1811
1746
|
*
|
|
1812
1747
|
* **Example** (Filtering elements)
|
|
1813
1748
|
*
|
|
1814
|
-
* ```ts
|
|
1749
|
+
* ```ts import.meta.vitest
|
|
1815
1750
|
* import { Iterable } from "effect"
|
|
1816
1751
|
*
|
|
1817
1752
|
* // Filter even numbers
|
|
1818
1753
|
* const numbers = [1, 2, 3, 4, 5, 6]
|
|
1819
1754
|
* const evens = Iterable.filter(numbers, (x) => x % 2 === 0)
|
|
1820
|
-
*
|
|
1755
|
+
* Array.from(evens) // => [2, 4, 6]
|
|
1821
1756
|
*
|
|
1822
1757
|
* // Filter with index
|
|
1823
1758
|
* const items = ["a", "b", "c", "d"]
|
|
1824
1759
|
* const oddPositions = Iterable.filter(items, (_, i) => i % 2 === 1)
|
|
1825
|
-
*
|
|
1760
|
+
* Array.from(oddPositions) // => ["b", "d"]
|
|
1826
1761
|
*
|
|
1827
1762
|
* // Type refinement
|
|
1828
1763
|
* const mixed: Array<string | number> = ["hello", 42, "world", 100]
|
|
@@ -1830,14 +1765,14 @@ export const getSuccesses = self => {
|
|
|
1830
1765
|
* mixed,
|
|
1831
1766
|
* (x): x is string => typeof x === "string"
|
|
1832
1767
|
* )
|
|
1833
|
-
*
|
|
1768
|
+
* Array.from(onlyStrings) // => ["hello", "world"]
|
|
1834
1769
|
*
|
|
1835
1770
|
* // Combine with map
|
|
1836
1771
|
* const processed = Iterable.map(
|
|
1837
1772
|
* Iterable.filter([1, 2, 3, 4, 5], (x) => x > 2),
|
|
1838
1773
|
* (x) => x * 10
|
|
1839
1774
|
* )
|
|
1840
|
-
*
|
|
1775
|
+
* Array.from(processed) // => [30, 40, 50]
|
|
1841
1776
|
* ```
|
|
1842
1777
|
*
|
|
1843
1778
|
* @category filtering
|
|
@@ -1877,7 +1812,7 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => ({
|
|
|
1877
1812
|
*
|
|
1878
1813
|
* **Example** (Flat mapping nullable results)
|
|
1879
1814
|
*
|
|
1880
|
-
* ```ts
|
|
1815
|
+
* ```ts import.meta.vitest
|
|
1881
1816
|
* import { Iterable } from "effect"
|
|
1882
1817
|
*
|
|
1883
1818
|
* // Extract valid elements from nullable function results
|
|
@@ -1886,7 +1821,7 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => ({
|
|
|
1886
1821
|
* const num = parseInt(s)
|
|
1887
1822
|
* return isNaN(num) ? null : num * 2
|
|
1888
1823
|
* })
|
|
1889
|
-
*
|
|
1824
|
+
* Array.from(parsed) // => [2, 4, 8]
|
|
1890
1825
|
*
|
|
1891
1826
|
* // Safe property access
|
|
1892
1827
|
* const objects = [
|
|
@@ -1896,7 +1831,7 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => ({
|
|
|
1896
1831
|
* {}
|
|
1897
1832
|
* ]
|
|
1898
1833
|
* const values = Iterable.flatMapNullishOr(objects, (obj) => obj.nested?.value)
|
|
1899
|
-
*
|
|
1834
|
+
* Array.from(values) // => [10, 20]
|
|
1900
1835
|
*
|
|
1901
1836
|
* // Working with Map.get (returns undefined for missing keys)
|
|
1902
1837
|
* const map = new Map([
|
|
@@ -1906,7 +1841,7 @@ export const filter = /*#__PURE__*/dual(2, (self, predicate) => ({
|
|
|
1906
1841
|
* ])
|
|
1907
1842
|
* const keys = ["a", "x", "b", "y", "c"]
|
|
1908
1843
|
* const foundValues = Iterable.flatMapNullishOr(keys, (key) => map.get(key))
|
|
1909
|
-
*
|
|
1844
|
+
* Array.from(foundValues) // => [1, 2, 3]
|
|
1910
1845
|
* ```
|
|
1911
1846
|
*
|
|
1912
1847
|
* @category sequencing
|
|
@@ -1921,21 +1856,21 @@ export const flatMapNullishOr = /*#__PURE__*/dual(2, (self, f) => filterMap(self
|
|
|
1921
1856
|
*
|
|
1922
1857
|
* **Example** (Checking whether some element matches)
|
|
1923
1858
|
*
|
|
1924
|
-
* ```ts
|
|
1859
|
+
* ```ts import.meta.vitest
|
|
1925
1860
|
* import { Iterable } from "effect"
|
|
1926
1861
|
*
|
|
1927
1862
|
* const numbers = [1, 3, 5, 7, 8]
|
|
1928
1863
|
* const hasEven = Iterable.some(numbers, (x) => x % 2 === 0)
|
|
1929
|
-
*
|
|
1864
|
+
* hasEven // => true
|
|
1930
1865
|
*
|
|
1931
1866
|
* const allOdd = [1, 3, 5, 7]
|
|
1932
1867
|
* const hasEvenInAllOdd = Iterable.some(allOdd, (x) => x % 2 === 0)
|
|
1933
|
-
*
|
|
1868
|
+
* hasEvenInAllOdd // => false
|
|
1934
1869
|
*
|
|
1935
1870
|
* // With index
|
|
1936
1871
|
* const letters = ["a", "b", "c"]
|
|
1937
1872
|
* const hasElementAtIndex2 = Iterable.some(letters, (_, i) => i === 2)
|
|
1938
|
-
*
|
|
1873
|
+
* hasElementAtIndex2 // => true
|
|
1939
1874
|
*
|
|
1940
1875
|
* // Early termination - stops at first match
|
|
1941
1876
|
* const infiniteOdds = Iterable.filter(Iterable.range(1), (x) => x % 2 === 1)
|
|
@@ -1943,7 +1878,7 @@ export const flatMapNullishOr = /*#__PURE__*/dual(2, (self, f) => filterMap(self
|
|
|
1943
1878
|
* Iterable.take(infiniteOdds, 1000),
|
|
1944
1879
|
* (x) => x % 2 === 0
|
|
1945
1880
|
* )
|
|
1946
|
-
*
|
|
1881
|
+
* hasEvenInInfiniteOdds // => false
|
|
1947
1882
|
*
|
|
1948
1883
|
* // Type guard usage
|
|
1949
1884
|
* const mixed: Array<string | number> = [1, 2, "hello"]
|
|
@@ -1951,10 +1886,10 @@ export const flatMapNullishOr = /*#__PURE__*/dual(2, (self, f) => filterMap(self
|
|
|
1951
1886
|
* mixed,
|
|
1952
1887
|
* (x): x is string => typeof x === "string"
|
|
1953
1888
|
* )
|
|
1954
|
-
*
|
|
1889
|
+
* hasString // => true
|
|
1955
1890
|
* ```
|
|
1956
1891
|
*
|
|
1957
|
-
* @category
|
|
1892
|
+
* @category predicates
|
|
1958
1893
|
* @since 2.0.0
|
|
1959
1894
|
*/
|
|
1960
1895
|
export const some = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
@@ -1978,21 +1913,21 @@ export const some = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
|
1978
1913
|
*
|
|
1979
1914
|
* **Example** (Unfolding state into values)
|
|
1980
1915
|
*
|
|
1981
|
-
* ```ts
|
|
1916
|
+
* ```ts import.meta.vitest
|
|
1982
1917
|
* import { Iterable, Option } from "effect"
|
|
1983
1918
|
*
|
|
1984
1919
|
* // Generate Fibonacci sequence
|
|
1985
1920
|
* const fibonacci = Iterable.unfold([0, 1], ([a, b]) => Option.some([a, [b, a + b]]))
|
|
1986
1921
|
* const first10Fib = Iterable.take(fibonacci, 10)
|
|
1987
|
-
*
|
|
1922
|
+
* Array.from(first10Fib) // => [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
|
|
1988
1923
|
*
|
|
1989
1924
|
* // Generate powers of 2 up to a limit
|
|
1990
1925
|
* const powersOf2 = Iterable.unfold(1, (n) => n <= 1000 ? Option.some([n, n * 2]) : Option.none())
|
|
1991
|
-
*
|
|
1926
|
+
* Array.from(powersOf2) // => [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
|
|
1992
1927
|
*
|
|
1993
1928
|
* // Generate countdown
|
|
1994
1929
|
* const countdown = Iterable.unfold(5, (n) => n > 0 ? Option.some([n, n - 1]) : Option.none())
|
|
1995
|
-
*
|
|
1930
|
+
* Array.from(countdown) // => [5, 4, 3, 2, 1]
|
|
1996
1931
|
*
|
|
1997
1932
|
* // Generate collatz sequence
|
|
1998
1933
|
* const collatz = Iterable.unfold(7, (n) => {
|
|
@@ -2000,7 +1935,7 @@ export const some = /*#__PURE__*/dual(2, (self, predicate) => {
|
|
|
2000
1935
|
* const next = n % 2 === 0 ? n / 2 : n * 3 + 1
|
|
2001
1936
|
* return Option.some([n, next])
|
|
2002
1937
|
* })
|
|
2003
|
-
*
|
|
1938
|
+
* Array.from(collatz) // => [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2]
|
|
2004
1939
|
* ```
|
|
2005
1940
|
*
|
|
2006
1941
|
* @category constructors
|
|
@@ -2033,37 +1968,40 @@ export const unfold = (b, f) => ({
|
|
|
2033
1968
|
*
|
|
2034
1969
|
* **Example** (Iterating with side effects)
|
|
2035
1970
|
*
|
|
2036
|
-
* ```ts
|
|
1971
|
+
* ```ts import.meta.vitest
|
|
2037
1972
|
* import { Iterable } from "effect"
|
|
2038
1973
|
*
|
|
2039
|
-
* //
|
|
1974
|
+
* // Collect each visited element
|
|
2040
1975
|
* const numbers = [1, 2, 3, 4, 5]
|
|
2041
|
-
*
|
|
2042
|
-
*
|
|
1976
|
+
* const visited: Array<number> = []
|
|
1977
|
+
* Iterable.forEach(numbers, (n) => visited.push(n))
|
|
1978
|
+
* visited // => [1, 2, 3, 4, 5]
|
|
2043
1979
|
*
|
|
2044
1980
|
* // Use index in the callback
|
|
2045
1981
|
* const letters = ["a", "b", "c"]
|
|
1982
|
+
* const indexed: Array<string> = []
|
|
2046
1983
|
* Iterable.forEach(letters, (letter, i) => {
|
|
2047
|
-
*
|
|
1984
|
+
* indexed.push(`${i}: ${letter}`)
|
|
2048
1985
|
* })
|
|
2049
|
-
* //
|
|
1986
|
+
* indexed // => ["0: a", "1: b", "2: c"]
|
|
2050
1987
|
*
|
|
2051
1988
|
* // Side effects with any iterable
|
|
2052
1989
|
* const results: Array<number> = []
|
|
2053
1990
|
* Iterable.forEach(Iterable.range(1, 5), (n) => {
|
|
2054
1991
|
* results.push(n * n)
|
|
2055
1992
|
* })
|
|
2056
|
-
*
|
|
1993
|
+
* results // => [1, 4, 9, 16, 25]
|
|
2057
1994
|
*
|
|
2058
1995
|
* // Process in chunks
|
|
2059
1996
|
* const data = Iterable.chunksOf([1, 2, 3, 4, 5, 6], 2)
|
|
1997
|
+
* const processed: Array<Array<number>> = []
|
|
2060
1998
|
* Iterable.forEach(data, (chunk) => {
|
|
2061
|
-
*
|
|
1999
|
+
* processed.push(Array.from(chunk))
|
|
2062
2000
|
* })
|
|
2063
|
-
* //
|
|
2001
|
+
* processed // => [[1, 2], [3, 4], [5, 6]]
|
|
2064
2002
|
* ```
|
|
2065
2003
|
*
|
|
2066
|
-
* @category
|
|
2004
|
+
* @category traversing
|
|
2067
2005
|
* @since 2.0.0
|
|
2068
2006
|
*/
|
|
2069
2007
|
export const forEach = /*#__PURE__*/dual(2, (self, f) => {
|
|
@@ -2082,18 +2020,17 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
2082
2020
|
*
|
|
2083
2021
|
* **Example** (Reducing an iterable)
|
|
2084
2022
|
*
|
|
2085
|
-
* ```ts
|
|
2023
|
+
* ```ts import.meta.vitest
|
|
2086
2024
|
* import { Iterable } from "effect"
|
|
2087
2025
|
*
|
|
2088
2026
|
* // Sum all numbers
|
|
2089
2027
|
* const numbers = [1, 2, 3, 4, 5]
|
|
2090
2028
|
* const sum = Iterable.reduce(numbers, 0, (acc, n) => acc + n)
|
|
2091
|
-
*
|
|
2029
|
+
* sum // => 15
|
|
2092
2030
|
*
|
|
2093
2031
|
* // Find maximum value
|
|
2094
2032
|
* const values = [3, 1, 4, 1, 5, 9, 2]
|
|
2095
|
-
*
|
|
2096
|
-
* console.log(max) // 9
|
|
2033
|
+
* Iterable.reduce(values, -Infinity, (max, value) => Math.max(max, value)) // => 9
|
|
2097
2034
|
*
|
|
2098
2035
|
* // Build an object from key-value pairs
|
|
2099
2036
|
* const pairs = [["a", 1], ["b", 2], ["c", 3]] as const
|
|
@@ -2105,7 +2042,7 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
2105
2042
|
* return acc
|
|
2106
2043
|
* }
|
|
2107
2044
|
* )
|
|
2108
|
-
*
|
|
2045
|
+
* obj // => { a: 1, b: 2, c: 3 }
|
|
2109
2046
|
*
|
|
2110
2047
|
* // Use index in the reducer
|
|
2111
2048
|
* const letters = ["a", "b", "c"]
|
|
@@ -2117,7 +2054,7 @@ export const forEach = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
2117
2054
|
* return acc
|
|
2118
2055
|
* }
|
|
2119
2056
|
* )
|
|
2120
|
-
*
|
|
2057
|
+
* indexed // => ["0: a", "1: b", "2: c"]
|
|
2121
2058
|
* ```
|
|
2122
2059
|
*
|
|
2123
2060
|
* @category folding
|
|
@@ -2139,20 +2076,20 @@ export const reduce = /*#__PURE__*/dual(3, (self, b, f) => {
|
|
|
2139
2076
|
*
|
|
2140
2077
|
* **Example** (Deduplicating adjacent elements with custom equivalence)
|
|
2141
2078
|
*
|
|
2142
|
-
* ```ts
|
|
2079
|
+
* ```ts import.meta.vitest
|
|
2143
2080
|
* import { Iterable } from "effect"
|
|
2144
2081
|
*
|
|
2145
2082
|
* // Remove adjacent duplicates with custom equality
|
|
2146
2083
|
* const numbers = [1, 1, 2, 2, 3, 1, 1]
|
|
2147
2084
|
* const dedupedNumbers = Iterable.dedupeAdjacentWith(numbers, (a, b) => a === b)
|
|
2148
|
-
*
|
|
2085
|
+
* Array.from(dedupedNumbers) // => [1, 2, 3, 1]
|
|
2149
2086
|
*
|
|
2150
2087
|
* // Case-insensitive deduplication
|
|
2151
2088
|
* const words = ["Hello", "HELLO", "world", "World", "test"]
|
|
2152
2089
|
* const caseInsensitive = (a: string, b: string) =>
|
|
2153
2090
|
* a.toLowerCase() === b.toLowerCase()
|
|
2154
2091
|
* const dedupedWords = Iterable.dedupeAdjacentWith(words, caseInsensitive)
|
|
2155
|
-
*
|
|
2092
|
+
* Array.from(dedupedWords) // => ["Hello", "world", "test"]
|
|
2156
2093
|
*
|
|
2157
2094
|
* // Deduplication by object property
|
|
2158
2095
|
* const users = [
|
|
@@ -2164,13 +2101,13 @@ export const reduce = /*#__PURE__*/dual(3, (self, b, f) => {
|
|
|
2164
2101
|
* ]
|
|
2165
2102
|
* const byId = (a: typeof users[0], b: typeof users[0]) => a.id === b.id
|
|
2166
2103
|
* const dedupedUsers = Iterable.dedupeAdjacentWith(users, byId)
|
|
2167
|
-
*
|
|
2104
|
+
* Array.from(dedupedUsers, (user) => user.id) // => [1, 2, 3]
|
|
2168
2105
|
*
|
|
2169
2106
|
* // Approximate numeric equality
|
|
2170
2107
|
* const floats = [1.0, 1.01, 1.02, 2.0, 2.01, 3.0]
|
|
2171
2108
|
* const approxEqual = (a: number, b: number) => Math.abs(a - b) < 0.1
|
|
2172
2109
|
* const dedupedFloats = Iterable.dedupeAdjacentWith(floats, approxEqual)
|
|
2173
|
-
*
|
|
2110
|
+
* Array.from(dedupedFloats) // => [1, 2, 3]
|
|
2174
2111
|
* ```
|
|
2175
2112
|
*
|
|
2176
2113
|
* @category filtering
|
|
@@ -2211,18 +2148,18 @@ export const dedupeAdjacentWith = /*#__PURE__*/dual(2, (self, isEquivalent) => (
|
|
|
2211
2148
|
*
|
|
2212
2149
|
* **Example** (Deduplicating adjacent elements)
|
|
2213
2150
|
*
|
|
2214
|
-
* ```ts
|
|
2151
|
+
* ```ts import.meta.vitest
|
|
2215
2152
|
* import { Iterable } from "effect"
|
|
2216
2153
|
*
|
|
2217
2154
|
* // Remove adjacent duplicate numbers
|
|
2218
2155
|
* const numbers = [1, 1, 2, 2, 2, 3, 1, 1]
|
|
2219
2156
|
* const deduped = Iterable.dedupeAdjacent(numbers)
|
|
2220
|
-
*
|
|
2157
|
+
* Array.from(deduped) // => [1, 2, 3, 1]
|
|
2221
2158
|
*
|
|
2222
2159
|
* // Remove adjacent duplicate characters
|
|
2223
2160
|
* const letters = "aabbccaa"
|
|
2224
2161
|
* const dedupedLetters = Iterable.dedupeAdjacent(letters)
|
|
2225
|
-
*
|
|
2162
|
+
* Array.from(dedupedLetters) // => ["a", "b", "c", "a"]
|
|
2226
2163
|
*
|
|
2227
2164
|
* // Works with objects using deep equality
|
|
2228
2165
|
* const objects = [
|
|
@@ -2233,12 +2170,12 @@ export const dedupeAdjacentWith = /*#__PURE__*/dual(2, (self, isEquivalent) => (
|
|
|
2233
2170
|
* { type: "A" }
|
|
2234
2171
|
* ]
|
|
2235
2172
|
* const dedupedObjects = Iterable.dedupeAdjacent(objects)
|
|
2236
|
-
*
|
|
2173
|
+
* Array.from(dedupedObjects, (object) => object.type) // => ["A", "B", "A"]
|
|
2237
2174
|
*
|
|
2238
2175
|
* // Clean up streaming data
|
|
2239
2176
|
* const sensorData = [100, 100, 100, 101, 101, 102, 102, 102, 100]
|
|
2240
2177
|
* const cleanedData = Iterable.dedupeAdjacent(sensorData)
|
|
2241
|
-
*
|
|
2178
|
+
* Array.from(cleanedData) // => [100, 101, 102, 100]
|
|
2242
2179
|
* ```
|
|
2243
2180
|
*
|
|
2244
2181
|
* @category filtering
|
|
@@ -2250,14 +2187,14 @@ export const dedupeAdjacent = /*#__PURE__*/dedupeAdjacentWith(/*#__PURE__*/Equal
|
|
|
2250
2187
|
*
|
|
2251
2188
|
* **Example** (Combining cartesian products)
|
|
2252
2189
|
*
|
|
2253
|
-
* ```ts
|
|
2190
|
+
* ```ts import.meta.vitest
|
|
2254
2191
|
* import { Iterable } from "effect"
|
|
2255
2192
|
*
|
|
2256
2193
|
* // Create coordinate pairs
|
|
2257
2194
|
* const xs = [1, 2]
|
|
2258
2195
|
* const ys = ["a", "b", "c"]
|
|
2259
2196
|
* const coordinates = Iterable.cartesianWith(xs, ys, (x, y) => `(${x},${y})`)
|
|
2260
|
-
*
|
|
2197
|
+
* Array.from(coordinates) // => ["(1,a)", "(1,b)", "(1,c)", "(2,a)", "(2,b)", "(2,c)"]
|
|
2261
2198
|
*
|
|
2262
2199
|
* // Generate all combinations of options
|
|
2263
2200
|
* const sizes = ["S", "M", "L"]
|
|
@@ -2267,18 +2204,13 @@ export const dedupeAdjacent = /*#__PURE__*/dedupeAdjacentWith(/*#__PURE__*/Equal
|
|
|
2267
2204
|
* colors,
|
|
2268
2205
|
* (size, color) => ({ size, color })
|
|
2269
2206
|
* )
|
|
2270
|
-
*
|
|
2271
|
-
* // [
|
|
2272
|
-
* // { size: "S", color: "red" }, { size: "S", color: "blue" },
|
|
2273
|
-
* // { size: "M", color: "red" }, { size: "M", color: "blue" },
|
|
2274
|
-
* // { size: "L", color: "red" }, { size: "L", color: "blue" }
|
|
2275
|
-
* // ]
|
|
2207
|
+
* Array.from(products, ({ color, size }) => `${size}:${color}`) // => ["S:red", "S:blue", "M:red", "M:blue", "L:red", "L:blue"]
|
|
2276
2208
|
*
|
|
2277
2209
|
* // Mathematical operations on all pairs
|
|
2278
2210
|
* const a = [1, 2, 3]
|
|
2279
2211
|
* const b = [10, 20]
|
|
2280
2212
|
* const mathProducts = Iterable.cartesianWith(a, b, (x, y) => x * y)
|
|
2281
|
-
*
|
|
2213
|
+
* Array.from(mathProducts) // => [10, 20, 20, 40, 30, 60]
|
|
2282
2214
|
*
|
|
2283
2215
|
* // Create test data combinations
|
|
2284
2216
|
* const userTypes = ["admin", "user"]
|
|
@@ -2288,11 +2220,10 @@ export const dedupeAdjacent = /*#__PURE__*/dedupeAdjacentWith(/*#__PURE__*/Equal
|
|
|
2288
2220
|
* features,
|
|
2289
2221
|
* (user, feature) => `${user}_can_${feature}`
|
|
2290
2222
|
* )
|
|
2291
|
-
*
|
|
2292
|
-
* // ["admin_can_read", "admin_can_write", "admin_can_delete", "user_can_read", "user_can_write", "user_can_delete"]
|
|
2223
|
+
* Array.from(testCases) // => ["admin_can_read", "admin_can_write", "admin_can_delete", "user_can_read", "user_can_write", "user_can_delete"]
|
|
2293
2224
|
* ```
|
|
2294
2225
|
*
|
|
2295
|
-
* @category
|
|
2226
|
+
* @category combining
|
|
2296
2227
|
* @since 2.0.0
|
|
2297
2228
|
*/
|
|
2298
2229
|
export const cartesianWith = /*#__PURE__*/dual(3, (self, that, f) => ({
|
|
@@ -2341,40 +2272,34 @@ export const cartesianWith = /*#__PURE__*/dual(3, (self, that, f) => ({
|
|
|
2341
2272
|
*
|
|
2342
2273
|
* **Example** (Generating cartesian pairs)
|
|
2343
2274
|
*
|
|
2344
|
-
* ```ts
|
|
2275
|
+
* ```ts import.meta.vitest
|
|
2345
2276
|
* import { Iterable } from "effect"
|
|
2346
2277
|
*
|
|
2347
2278
|
* // All pairs of numbers and letters
|
|
2348
2279
|
* const numbers = [1, 2, 3]
|
|
2349
2280
|
* const letters = ["a", "b"]
|
|
2350
2281
|
* const pairs = Iterable.cartesian(numbers, letters)
|
|
2351
|
-
*
|
|
2352
|
-
* // [[1, "a"], [1, "b"], [2, "a"], [2, "b"], [3, "a"], [3, "b"]]
|
|
2282
|
+
* Array.from(pairs) // => [[1, "a"], [1, "b"], [2, "a"], [2, "b"], [3, "a"], [3, "b"]]
|
|
2353
2283
|
*
|
|
2354
2284
|
* // Generate coordinate grid
|
|
2355
2285
|
* const x = [0, 1, 2]
|
|
2356
2286
|
* const y = [0, 1]
|
|
2357
2287
|
* const grid = Iterable.cartesian(x, y)
|
|
2358
|
-
*
|
|
2359
|
-
* // [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1]]
|
|
2288
|
+
* Array.from(grid) // => [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1]]
|
|
2360
2289
|
*
|
|
2361
2290
|
* // All combinations for testing
|
|
2362
2291
|
* const browsers = ["chrome", "firefox"]
|
|
2363
2292
|
* const devices = ["desktop", "mobile", "tablet"]
|
|
2364
2293
|
* const testMatrix = Iterable.cartesian(browsers, devices)
|
|
2365
|
-
*
|
|
2366
|
-
* // [
|
|
2367
|
-
* // ["chrome", "desktop"], ["chrome", "mobile"], ["chrome", "tablet"],
|
|
2368
|
-
* // ["firefox", "desktop"], ["firefox", "mobile"], ["firefox", "tablet"]
|
|
2369
|
-
* // ]
|
|
2294
|
+
* Array.from(testMatrix, ([browser, device]) => `${browser}:${device}`) // => ["chrome:desktop", "chrome:mobile", "chrome:tablet", "firefox:desktop", "firefox:mobile", "firefox:tablet"]
|
|
2370
2295
|
*
|
|
2371
2296
|
* // Empty iterable results in empty cartesian product
|
|
2372
2297
|
* const empty = Iterable.empty<number>()
|
|
2373
2298
|
* const withEmpty = Iterable.cartesian([1, 2], empty)
|
|
2374
|
-
*
|
|
2299
|
+
* Array.from(withEmpty) // => []
|
|
2375
2300
|
* ```
|
|
2376
2301
|
*
|
|
2377
|
-
* @category
|
|
2302
|
+
* @category combining
|
|
2378
2303
|
* @since 2.0.0
|
|
2379
2304
|
*/
|
|
2380
2305
|
export const cartesian = /*#__PURE__*/dual(2, (self, that) => cartesianWith(self, that, (a, b) => [a, b]));
|
|
@@ -2383,11 +2308,10 @@ export const cartesian = /*#__PURE__*/dual(2, (self, that) => cartesianWith(self
|
|
|
2383
2308
|
*
|
|
2384
2309
|
* **Example** (Counting matching elements)
|
|
2385
2310
|
*
|
|
2386
|
-
* ```ts
|
|
2311
|
+
* ```ts import.meta.vitest
|
|
2387
2312
|
* import { Iterable } from "effect"
|
|
2388
2313
|
*
|
|
2389
|
-
*
|
|
2390
|
-
* console.log(result) // 2
|
|
2314
|
+
* Iterable.countBy([1, 2, 3, 4, 5], (n) => n % 2 === 0) // => 2
|
|
2391
2315
|
* ```
|
|
2392
2316
|
*
|
|
2393
2317
|
* @category folding
|