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/PubSub.js
CHANGED
|
@@ -30,7 +30,7 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription";
|
|
|
30
30
|
*
|
|
31
31
|
* **Example** (Creating a PubSub with a custom strategy)
|
|
32
32
|
*
|
|
33
|
-
* ```ts
|
|
33
|
+
* ```ts import.meta.vitest
|
|
34
34
|
* import { Effect, PubSub } from "effect"
|
|
35
35
|
*
|
|
36
36
|
* const program = Effect.gen(function*() {
|
|
@@ -41,8 +41,13 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription";
|
|
|
41
41
|
* })
|
|
42
42
|
*
|
|
43
43
|
* // Use the created PubSub
|
|
44
|
-
* yield* PubSub.publish(pubsub, "Hello")
|
|
44
|
+
* const published = yield* PubSub.publish(pubsub, "Hello")
|
|
45
|
+
* yield* PubSub.shutdown(pubsub)
|
|
46
|
+
* return published
|
|
45
47
|
* })
|
|
48
|
+
*
|
|
49
|
+
* const actual = await Effect.runPromise(program)
|
|
50
|
+
* actual // => true
|
|
46
51
|
* ```
|
|
47
52
|
*
|
|
48
53
|
* @category constructors
|
|
@@ -62,7 +67,7 @@ export const make = options => Effect.sync(() => makePubSubUnsafe(options.atomic
|
|
|
62
67
|
*
|
|
63
68
|
* **Example** (Creating a bounded PubSub)
|
|
64
69
|
*
|
|
65
|
-
* ```ts
|
|
70
|
+
* ```ts import.meta.vitest
|
|
66
71
|
* import { Effect, PubSub } from "effect"
|
|
67
72
|
*
|
|
68
73
|
* const program = Effect.gen(function*() {
|
|
@@ -74,7 +79,15 @@ export const make = options => Effect.sync(() => makePubSubUnsafe(options.atomic
|
|
|
74
79
|
* capacity: 100,
|
|
75
80
|
* replay: 10 // Last 10 messages replayed to new subscribers
|
|
76
81
|
* })
|
|
82
|
+
*
|
|
83
|
+
* const capacities = [PubSub.capacity(pubsub), PubSub.capacity(pubsubWithReplay)]
|
|
84
|
+
* yield* PubSub.shutdown(pubsub)
|
|
85
|
+
* yield* PubSub.shutdown(pubsubWithReplay)
|
|
86
|
+
* return capacities
|
|
77
87
|
* })
|
|
88
|
+
*
|
|
89
|
+
* const actual = await Effect.runPromise(program)
|
|
90
|
+
* actual // => [100, 100]
|
|
78
91
|
* ```
|
|
79
92
|
*
|
|
80
93
|
* @category constructors
|
|
@@ -94,33 +107,27 @@ export const bounded = capacity => make({
|
|
|
94
107
|
*
|
|
95
108
|
* **Example** (Dropping messages when full)
|
|
96
109
|
*
|
|
97
|
-
* ```ts
|
|
110
|
+
* ```ts import.meta.vitest
|
|
98
111
|
* import { Effect, PubSub } from "effect"
|
|
99
112
|
*
|
|
100
|
-
* const program = Effect.gen(function*() {
|
|
113
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
101
114
|
* // Create dropping PubSub that drops new messages when full
|
|
102
115
|
* const pubsub = yield* PubSub.dropping<string>(3)
|
|
103
116
|
*
|
|
104
|
-
*
|
|
105
|
-
* const pubsubWithReplay = yield* PubSub.dropping<string>({
|
|
106
|
-
* capacity: 3,
|
|
107
|
-
* replay: 5
|
|
108
|
-
* })
|
|
117
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
109
118
|
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
119
|
+
* // Fill the PubSub and see dropping behavior
|
|
120
|
+
* yield* PubSub.publish(pubsub, "msg1") // succeeds
|
|
121
|
+
* yield* PubSub.publish(pubsub, "msg2") // succeeds
|
|
122
|
+
* yield* PubSub.publish(pubsub, "msg3") // succeeds
|
|
123
|
+
* const dropped = yield* PubSub.publish(pubsub, "msg4") // returns false (dropped)
|
|
112
124
|
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* yield* PubSub.publish(pubsub, "msg3") // succeeds
|
|
117
|
-
* const dropped = yield* PubSub.publish(pubsub, "msg4") // returns false (dropped)
|
|
118
|
-
* console.log("Message dropped:", !dropped) // true
|
|
125
|
+
* const messages = yield* PubSub.takeAll(subscription)
|
|
126
|
+
* return { dropped: !dropped, messages }
|
|
127
|
+
* }))
|
|
119
128
|
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* }))
|
|
123
|
-
* })
|
|
129
|
+
* const actual = await Effect.runPromise(program)
|
|
130
|
+
* actual // => { dropped: true, messages: ["msg1", "msg2", "msg3"] }
|
|
124
131
|
* ```
|
|
125
132
|
*
|
|
126
133
|
* @category constructors
|
|
@@ -140,32 +147,26 @@ export const dropping = capacity => make({
|
|
|
140
147
|
*
|
|
141
148
|
* **Example** (Sliding old messages when full)
|
|
142
149
|
*
|
|
143
|
-
* ```ts
|
|
150
|
+
* ```ts import.meta.vitest
|
|
144
151
|
* import { Effect, PubSub } from "effect"
|
|
145
152
|
*
|
|
146
|
-
* const program = Effect.gen(function*() {
|
|
153
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
147
154
|
* // Create sliding PubSub that evicts old messages when full
|
|
148
155
|
* const pubsub = yield* PubSub.sliding<string>(3)
|
|
149
156
|
*
|
|
150
|
-
*
|
|
151
|
-
* const pubsubWithReplay = yield* PubSub.sliding<string>({
|
|
152
|
-
* capacity: 3,
|
|
153
|
-
* replay: 2
|
|
154
|
-
* })
|
|
157
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
155
158
|
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
159
|
+
* // Fill and overflow the PubSub
|
|
160
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
161
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
162
|
+
* yield* PubSub.publish(pubsub, "msg3")
|
|
163
|
+
* yield* PubSub.publish(pubsub, "msg4") // "msg1" is evicted
|
|
158
164
|
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
* yield* PubSub.publish(pubsub, "msg2")
|
|
162
|
-
* yield* PubSub.publish(pubsub, "msg3")
|
|
163
|
-
* yield* PubSub.publish(pubsub, "msg4") // "msg1" is evicted
|
|
165
|
+
* return yield* PubSub.takeAll(subscription)
|
|
166
|
+
* }))
|
|
164
167
|
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
* }))
|
|
168
|
-
* })
|
|
168
|
+
* const actual = await Effect.runPromise(program)
|
|
169
|
+
* actual // => ["msg2", "msg3", "msg4"]
|
|
169
170
|
* ```
|
|
170
171
|
*
|
|
171
172
|
* @category constructors
|
|
@@ -180,30 +181,25 @@ export const sliding = capacity => make({
|
|
|
180
181
|
*
|
|
181
182
|
* **Example** (Creating an unbounded PubSub)
|
|
182
183
|
*
|
|
183
|
-
* ```ts
|
|
184
|
+
* ```ts import.meta.vitest
|
|
184
185
|
* import { Effect, PubSub } from "effect"
|
|
185
186
|
*
|
|
186
|
-
* const program = Effect.gen(function*() {
|
|
187
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
187
188
|
* // Create unbounded PubSub
|
|
188
189
|
* const pubsub = yield* PubSub.unbounded<string>()
|
|
189
190
|
*
|
|
190
|
-
*
|
|
191
|
-
* const pubsubWithReplay = yield* PubSub.unbounded<string>({
|
|
192
|
-
* replay: 10
|
|
193
|
-
* })
|
|
191
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
194
192
|
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
193
|
+
* // Can publish unlimited messages
|
|
194
|
+
* for (let i = 0; i < 3; i++) {
|
|
195
|
+
* yield* PubSub.publish(pubsub, `message-${i}`)
|
|
196
|
+
* }
|
|
197
197
|
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
* yield* PubSub.publish(pubsub, `message-${i}`)
|
|
201
|
-
* }
|
|
198
|
+
* return yield* PubSub.takeAll(subscription)
|
|
199
|
+
* }))
|
|
202
200
|
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* }))
|
|
206
|
-
* })
|
|
201
|
+
* const actual = await Effect.runPromise(program)
|
|
202
|
+
* actual // => ["message-0", "message-1", "message-2"]
|
|
207
203
|
* ```
|
|
208
204
|
*
|
|
209
205
|
* @category constructors
|
|
@@ -281,18 +277,17 @@ export const makeAtomicUnbounded = options => new UnboundedPubSub(options?.repla
|
|
|
281
277
|
*
|
|
282
278
|
* **Example** (Getting PubSub capacity)
|
|
283
279
|
*
|
|
284
|
-
* ```ts
|
|
280
|
+
* ```ts import.meta.vitest
|
|
285
281
|
* import { Effect, PubSub } from "effect"
|
|
286
282
|
*
|
|
287
283
|
* const program = Effect.gen(function*() {
|
|
288
284
|
* const pubsub = yield* PubSub.bounded<string>(100)
|
|
289
|
-
* const cap = PubSub.capacity(pubsub)
|
|
290
|
-
* console.log("PubSub capacity:", cap) // 100
|
|
291
|
-
*
|
|
292
285
|
* const unboundedPubsub = yield* PubSub.unbounded<string>()
|
|
293
|
-
*
|
|
294
|
-
* console.log("Unbounded capacity:", unboundedCap) // Number.MAX_SAFE_INTEGER
|
|
286
|
+
* return [PubSub.capacity(pubsub), PubSub.capacity(unboundedPubsub)]
|
|
295
287
|
* })
|
|
288
|
+
*
|
|
289
|
+
* const actual = await Effect.runPromise(program)
|
|
290
|
+
* actual // => [100, Number.MAX_SAFE_INTEGER]
|
|
296
291
|
* ```
|
|
297
292
|
*
|
|
298
293
|
* @category getters
|
|
@@ -310,29 +305,28 @@ export const capacity = self => self.pubsub.capacity;
|
|
|
310
305
|
*
|
|
311
306
|
* **Example** (Getting PubSub size)
|
|
312
307
|
*
|
|
313
|
-
* ```ts
|
|
308
|
+
* ```ts import.meta.vitest
|
|
314
309
|
* import { Effect, PubSub } from "effect"
|
|
315
310
|
*
|
|
316
|
-
* const program = Effect.gen(function*() {
|
|
311
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
317
312
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
318
313
|
*
|
|
319
314
|
* // Initially empty
|
|
320
315
|
* const initialSize = yield* PubSub.size(pubsub)
|
|
321
|
-
* console.log("Initial size:", initialSize) // 0
|
|
322
316
|
*
|
|
323
|
-
* yield*
|
|
324
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
317
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
325
318
|
*
|
|
326
|
-
*
|
|
327
|
-
*
|
|
328
|
-
*
|
|
319
|
+
* // Publish some messages for the active subscription
|
|
320
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
321
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
329
322
|
*
|
|
330
|
-
*
|
|
331
|
-
*
|
|
323
|
+
* const afterPublish = yield* PubSub.size(pubsub)
|
|
324
|
+
* const messages = yield* PubSub.takeAll(subscription)
|
|
325
|
+
* return { initialSize, afterPublish, messages }
|
|
326
|
+
* }))
|
|
332
327
|
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
* })
|
|
328
|
+
* const actual = await Effect.runPromise(program)
|
|
329
|
+
* actual // => { initialSize: 0, afterPublish: 2, messages: ["msg1", "msg2"] }
|
|
336
330
|
* ```
|
|
337
331
|
*
|
|
338
332
|
* @category getters
|
|
@@ -355,14 +349,16 @@ export const size = self => Effect.sync(() => sizeUnsafe(self));
|
|
|
355
349
|
*
|
|
356
350
|
* **Example** (Reading size synchronously)
|
|
357
351
|
*
|
|
358
|
-
* ```ts
|
|
359
|
-
* import { PubSub } from "effect"
|
|
352
|
+
* ```ts import.meta.vitest
|
|
353
|
+
* import { Effect, PubSub } from "effect"
|
|
360
354
|
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
355
|
+
* const program = Effect.gen(function*() {
|
|
356
|
+
* const pubsub = yield* PubSub.bounded<string>(2)
|
|
357
|
+
* return PubSub.sizeUnsafe(pubsub)
|
|
358
|
+
* })
|
|
363
359
|
*
|
|
364
|
-
* const
|
|
365
|
-
*
|
|
360
|
+
* const actual = await Effect.runPromise(program)
|
|
361
|
+
* actual // => 0
|
|
366
362
|
* ```
|
|
367
363
|
*
|
|
368
364
|
* @category getters
|
|
@@ -383,29 +379,28 @@ export const sizeUnsafe = self => {
|
|
|
383
379
|
*
|
|
384
380
|
* **Example** (Checking whether a PubSub is full)
|
|
385
381
|
*
|
|
386
|
-
* ```ts
|
|
382
|
+
* ```ts import.meta.vitest
|
|
387
383
|
* import { Effect, PubSub } from "effect"
|
|
388
384
|
*
|
|
389
|
-
* const program = Effect.gen(function*() {
|
|
385
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
390
386
|
* const pubsub = yield* PubSub.bounded<string>(2)
|
|
391
387
|
*
|
|
392
388
|
* // Initially not full
|
|
393
389
|
* const initiallyFull = yield* PubSub.isFull(pubsub)
|
|
394
|
-
* console.log("Initially full:", initiallyFull) // false
|
|
395
390
|
*
|
|
396
|
-
* yield*
|
|
397
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
391
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
398
392
|
*
|
|
399
|
-
*
|
|
400
|
-
*
|
|
401
|
-
*
|
|
393
|
+
* // Fill the PubSub for the active subscription
|
|
394
|
+
* yield* PubSub.publish(pubsub, "msg1")
|
|
395
|
+
* yield* PubSub.publish(pubsub, "msg2")
|
|
402
396
|
*
|
|
403
|
-
*
|
|
404
|
-
*
|
|
397
|
+
* const nowFull = yield* PubSub.isFull(pubsub)
|
|
398
|
+
* const messages = yield* PubSub.takeAll(subscription)
|
|
399
|
+
* return { initiallyFull, nowFull, messages }
|
|
400
|
+
* }))
|
|
405
401
|
*
|
|
406
|
-
*
|
|
407
|
-
*
|
|
408
|
-
* })
|
|
402
|
+
* const actual = await Effect.runPromise(program)
|
|
403
|
+
* actual // => { initiallyFull: false, nowFull: true, messages: ["msg1", "msg2"] }
|
|
409
404
|
* ```
|
|
410
405
|
*
|
|
411
406
|
* @category predicates
|
|
@@ -417,28 +412,27 @@ export const isFull = self => Effect.map(size(self), size => size === self.pubsu
|
|
|
417
412
|
*
|
|
418
413
|
* **Example** (Checking whether a PubSub is empty)
|
|
419
414
|
*
|
|
420
|
-
* ```ts
|
|
415
|
+
* ```ts import.meta.vitest
|
|
421
416
|
* import { Effect, PubSub } from "effect"
|
|
422
417
|
*
|
|
423
|
-
* const program = Effect.gen(function*() {
|
|
418
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
424
419
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
425
420
|
*
|
|
426
421
|
* // Initially empty
|
|
427
422
|
* const initiallyEmpty = yield* PubSub.isEmpty(pubsub)
|
|
428
|
-
* console.log("Initially empty:", initiallyEmpty) // true
|
|
429
423
|
*
|
|
430
|
-
* yield*
|
|
431
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
424
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
432
425
|
*
|
|
433
|
-
*
|
|
434
|
-
*
|
|
426
|
+
* // Publish a message for the active subscription
|
|
427
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
435
428
|
*
|
|
436
|
-
*
|
|
437
|
-
*
|
|
429
|
+
* const nowEmpty = yield* PubSub.isEmpty(pubsub)
|
|
430
|
+
* const message = yield* PubSub.take(subscription)
|
|
431
|
+
* return { initiallyEmpty, nowEmpty, message }
|
|
432
|
+
* }))
|
|
438
433
|
*
|
|
439
|
-
*
|
|
440
|
-
*
|
|
441
|
-
* })
|
|
434
|
+
* const actual = await Effect.runPromise(program)
|
|
435
|
+
* actual // => { initiallyEmpty: true, nowEmpty: false, message: "Hello" }
|
|
442
436
|
* ```
|
|
443
437
|
*
|
|
444
438
|
* @category predicates
|
|
@@ -457,7 +451,7 @@ export const isEmpty = self => Effect.map(size(self), size => size === 0);
|
|
|
457
451
|
*
|
|
458
452
|
* **Example** (Shutting down a PubSub)
|
|
459
453
|
*
|
|
460
|
-
* ```ts
|
|
454
|
+
* ```ts import.meta.vitest
|
|
461
455
|
* import { Effect, PubSub } from "effect"
|
|
462
456
|
*
|
|
463
457
|
* const program = Effect.gen(function*() {
|
|
@@ -467,12 +461,14 @@ export const isEmpty = self => Effect.map(size(self), size => size === 0);
|
|
|
467
461
|
* yield* PubSub.shutdown(pubsub)
|
|
468
462
|
*
|
|
469
463
|
* const isShutdown = yield* PubSub.isShutdown(pubsub)
|
|
470
|
-
* console.log("Is shutdown:", isShutdown) // true
|
|
471
464
|
*
|
|
472
465
|
* // Publishing after shutdown returns false
|
|
473
466
|
* const published = yield* PubSub.publish(pubsub, "msg1")
|
|
474
|
-
*
|
|
467
|
+
* return { isShutdown, published }
|
|
475
468
|
* })
|
|
469
|
+
*
|
|
470
|
+
* const actual = await Effect.runPromise(program)
|
|
471
|
+
* actual // => { isShutdown: true, published: false }
|
|
476
472
|
* ```
|
|
477
473
|
*
|
|
478
474
|
* @category lifecycle
|
|
@@ -488,7 +484,7 @@ export const shutdown = self => Effect.uninterruptible(Effect.withFiber(fiber =>
|
|
|
488
484
|
*
|
|
489
485
|
* **Example** (Checking whether a PubSub is shut down)
|
|
490
486
|
*
|
|
491
|
-
* ```ts
|
|
487
|
+
* ```ts import.meta.vitest
|
|
492
488
|
* import { Effect, PubSub } from "effect"
|
|
493
489
|
*
|
|
494
490
|
* const program = Effect.gen(function*() {
|
|
@@ -496,14 +492,16 @@ export const shutdown = self => Effect.uninterruptible(Effect.withFiber(fiber =>
|
|
|
496
492
|
*
|
|
497
493
|
* // Initially not shutdown
|
|
498
494
|
* const initiallyShutdown = yield* PubSub.isShutdown(pubsub)
|
|
499
|
-
* console.log("Initially shutdown:", initiallyShutdown) // false
|
|
500
495
|
*
|
|
501
496
|
* // Shutdown the PubSub
|
|
502
497
|
* yield* PubSub.shutdown(pubsub)
|
|
503
498
|
*
|
|
504
499
|
* const nowShutdown = yield* PubSub.isShutdown(pubsub)
|
|
505
|
-
*
|
|
500
|
+
* return [initiallyShutdown, nowShutdown]
|
|
506
501
|
* })
|
|
502
|
+
*
|
|
503
|
+
* const actual = await Effect.runPromise(program)
|
|
504
|
+
* actual // => [false, true]
|
|
507
505
|
* ```
|
|
508
506
|
*
|
|
509
507
|
* @category predicates
|
|
@@ -521,18 +519,18 @@ export const isShutdown = self => Effect.sync(() => isShutdownUnsafe(self));
|
|
|
521
519
|
*
|
|
522
520
|
* **Example** (Checking shutdown synchronously)
|
|
523
521
|
*
|
|
524
|
-
* ```ts
|
|
525
|
-
* import { PubSub } from "effect"
|
|
522
|
+
* ```ts import.meta.vitest
|
|
523
|
+
* import { Effect, PubSub } from "effect"
|
|
526
524
|
*
|
|
527
|
-
*
|
|
525
|
+
* const program = Effect.gen(function*() {
|
|
526
|
+
* const pubsub = yield* PubSub.bounded<string>(2)
|
|
527
|
+
* const initiallyShutdown = PubSub.isShutdownUnsafe(pubsub)
|
|
528
|
+
* yield* PubSub.shutdown(pubsub)
|
|
529
|
+
* return [initiallyShutdown, PubSub.isShutdownUnsafe(pubsub)]
|
|
530
|
+
* })
|
|
528
531
|
*
|
|
529
|
-
*
|
|
530
|
-
*
|
|
531
|
-
* if (isDown) {
|
|
532
|
-
* console.log("PubSub is shutdown, cannot publish")
|
|
533
|
-
* } else {
|
|
534
|
-
* console.log("PubSub is active")
|
|
535
|
-
* }
|
|
532
|
+
* const actual = await Effect.runPromise(program)
|
|
533
|
+
* actual // => [false, true]
|
|
536
534
|
* ```
|
|
537
535
|
*
|
|
538
536
|
* @category predicates
|
|
@@ -546,7 +544,7 @@ export const isShutdownUnsafe = self => self.shutdownFlag.current;
|
|
|
546
544
|
*
|
|
547
545
|
* **Example** (Waiting for shutdown)
|
|
548
546
|
*
|
|
549
|
-
* ```ts
|
|
547
|
+
* ```ts import.meta.vitest
|
|
550
548
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
551
549
|
*
|
|
552
550
|
* const program = Effect.gen(function*() {
|
|
@@ -556,19 +554,19 @@ export const isShutdownUnsafe = self => self.shutdownFlag.current;
|
|
|
556
554
|
* const waiterFiber = yield* Effect.forkChild(
|
|
557
555
|
* Effect.gen(function*() {
|
|
558
556
|
* yield* PubSub.awaitShutdown(pubsub)
|
|
559
|
-
*
|
|
557
|
+
* return "PubSub has been shutdown!"
|
|
560
558
|
* })
|
|
561
559
|
* )
|
|
562
560
|
*
|
|
563
|
-
* // Do some work...
|
|
564
|
-
* yield* Effect.sleep("100 millis")
|
|
565
|
-
*
|
|
566
561
|
* // Shutdown the PubSub
|
|
567
562
|
* yield* PubSub.shutdown(pubsub)
|
|
568
563
|
*
|
|
569
564
|
* // The waiter will now complete
|
|
570
|
-
* yield* Fiber.join(waiterFiber)
|
|
565
|
+
* return yield* Fiber.join(waiterFiber)
|
|
571
566
|
* })
|
|
567
|
+
*
|
|
568
|
+
* const actual = await Effect.runPromise(program)
|
|
569
|
+
* actual // => "PubSub has been shutdown!"
|
|
572
570
|
* ```
|
|
573
571
|
*
|
|
574
572
|
* @category lifecycle
|
|
@@ -592,24 +590,24 @@ export const awaitShutdown = self => self.shutdownHook.await;
|
|
|
592
590
|
*
|
|
593
591
|
* **Example** (Publishing a message)
|
|
594
592
|
*
|
|
595
|
-
* ```ts
|
|
593
|
+
* ```ts import.meta.vitest
|
|
596
594
|
* import { Effect, PubSub } from "effect"
|
|
597
595
|
*
|
|
598
|
-
* const program = Effect.gen(function*() {
|
|
596
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
599
597
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
600
598
|
*
|
|
601
599
|
* // Publish a message
|
|
602
600
|
* const published = yield* PubSub.publish(pubsub, "Hello World")
|
|
603
|
-
* console.log("Message published:", published) // true
|
|
604
601
|
*
|
|
605
|
-
* yield*
|
|
606
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
602
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
607
603
|
*
|
|
608
|
-
*
|
|
609
|
-
*
|
|
610
|
-
*
|
|
611
|
-
*
|
|
612
|
-
*
|
|
604
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
605
|
+
* const message = yield* PubSub.take(subscription)
|
|
606
|
+
* return { published, message }
|
|
607
|
+
* }))
|
|
608
|
+
*
|
|
609
|
+
* const actual = await Effect.runPromise(program)
|
|
610
|
+
* actual // => { published: true, message: "Hello" }
|
|
613
611
|
* ```
|
|
614
612
|
*
|
|
615
613
|
* @see {@link publishUnsafe} for a synchronous non-blocking attempt that does not run effectful surplus handling
|
|
@@ -644,24 +642,16 @@ export const publish = /*#__PURE__*/dual(2, (self, value) => Effect.suspend(() =
|
|
|
644
642
|
*
|
|
645
643
|
* **Example** (Publishing without suspending)
|
|
646
644
|
*
|
|
647
|
-
* ```ts
|
|
648
|
-
* import { PubSub } from "effect"
|
|
649
|
-
*
|
|
650
|
-
* declare const pubsub: PubSub.PubSub<string>
|
|
645
|
+
* ```ts import.meta.vitest
|
|
646
|
+
* import { Effect, PubSub } from "effect"
|
|
651
647
|
*
|
|
652
|
-
*
|
|
653
|
-
*
|
|
654
|
-
*
|
|
655
|
-
*
|
|
656
|
-
* } else {
|
|
657
|
-
* console.log("Message dropped (PubSub full or shutdown)")
|
|
658
|
-
* }
|
|
648
|
+
* const program = Effect.gen(function*() {
|
|
649
|
+
* const pubsub = yield* PubSub.bounded<string>(2)
|
|
650
|
+
* return PubSub.publishUnsafe(pubsub, "Hello")
|
|
651
|
+
* })
|
|
659
652
|
*
|
|
660
|
-
*
|
|
661
|
-
*
|
|
662
|
-
* const publishedCount =
|
|
663
|
-
* messages.filter((msg) => PubSub.publishUnsafe(pubsub, msg)).length
|
|
664
|
-
* console.log(`Published ${publishedCount} out of ${messages.length} messages`)
|
|
653
|
+
* const actual = await Effect.runPromise(program)
|
|
654
|
+
* actual // => true
|
|
665
655
|
* ```
|
|
666
656
|
*
|
|
667
657
|
* @see {@link publish} for effectful publishing that honors the configured surplus strategy
|
|
@@ -683,37 +673,30 @@ export const publishUnsafe = /*#__PURE__*/dual(2, (self, value) => {
|
|
|
683
673
|
*
|
|
684
674
|
* **Example** (Publishing multiple messages)
|
|
685
675
|
*
|
|
686
|
-
* ```ts
|
|
676
|
+
* ```ts import.meta.vitest
|
|
687
677
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
688
678
|
*
|
|
689
|
-
* const program = Effect.gen(function*() {
|
|
679
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
690
680
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
691
681
|
*
|
|
692
682
|
* // Publish multiple messages at once
|
|
693
|
-
* const
|
|
694
|
-
* const allPublished = yield* PubSub.publishAll(pubsub, messages)
|
|
695
|
-
* console.log("All messages published:", allPublished) // true
|
|
683
|
+
* const allPublished = yield* PubSub.publishAll(pubsub, ["Hello", "World", "from", "Effect"])
|
|
696
684
|
*
|
|
697
685
|
* // With a smaller capacity and an active subscription
|
|
698
686
|
* const smallPubsub = yield* PubSub.bounded<string>(2)
|
|
699
|
-
* const
|
|
700
|
-
*
|
|
701
|
-
* yield* Effect.scoped(Effect.gen(function*() {
|
|
702
|
-
* const subscription = yield* PubSub.subscribe(smallPubsub)
|
|
687
|
+
* const subscription = yield* PubSub.subscribe(smallPubsub)
|
|
703
688
|
*
|
|
704
|
-
*
|
|
705
|
-
*
|
|
689
|
+
* // Will suspend until space becomes available for all messages
|
|
690
|
+
* const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, ["msg1", "msg2", "msg3", "msg4"]))
|
|
706
691
|
*
|
|
707
|
-
*
|
|
708
|
-
*
|
|
692
|
+
* const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
|
|
693
|
+
* const result = yield* Fiber.join(fiber)
|
|
694
|
+
* const secondBatch = yield* PubSub.takeAll(subscription)
|
|
695
|
+
* return { allPublished, firstBatch, result, secondBatch }
|
|
696
|
+
* }))
|
|
709
697
|
*
|
|
710
|
-
*
|
|
711
|
-
*
|
|
712
|
-
*
|
|
713
|
-
* const secondBatch = yield* PubSub.takeAll(subscription)
|
|
714
|
-
* console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
|
|
715
|
-
* }))
|
|
716
|
-
* })
|
|
698
|
+
* const actual = await Effect.runPromise(program)
|
|
699
|
+
* actual // => { allPublished: true, firstBatch: ["msg1", "msg2"], result: true, secondBatch: ["msg3", "msg4"] }
|
|
717
700
|
* ```
|
|
718
701
|
*
|
|
719
702
|
* @category publishing
|
|
@@ -737,14 +720,14 @@ export const publishAll = /*#__PURE__*/dual(2, (self, elements) => Effect.suspen
|
|
|
737
720
|
*
|
|
738
721
|
* **Example** (Subscribing to messages)
|
|
739
722
|
*
|
|
740
|
-
* ```ts
|
|
723
|
+
* ```ts import.meta.vitest
|
|
741
724
|
* import { Effect, PubSub } from "effect"
|
|
742
725
|
*
|
|
743
726
|
* const program = Effect.gen(function*() {
|
|
744
727
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
745
728
|
*
|
|
746
729
|
* // Subscribe within a scope for automatic cleanup
|
|
747
|
-
* yield* Effect.scoped(Effect.gen(function*() {
|
|
730
|
+
* const first = yield* Effect.scoped(Effect.gen(function*() {
|
|
748
731
|
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
749
732
|
*
|
|
750
733
|
* // Publish some messages
|
|
@@ -754,25 +737,28 @@ export const publishAll = /*#__PURE__*/dual(2, (self, elements) => Effect.suspen
|
|
|
754
737
|
* // Take messages one by one
|
|
755
738
|
* const msg1 = yield* PubSub.take(subscription)
|
|
756
739
|
* const msg2 = yield* PubSub.take(subscription)
|
|
757
|
-
* console.log(msg1, msg2) // "Hello", "World"
|
|
758
740
|
*
|
|
759
741
|
* // Subscription is automatically cleaned up when scope exits
|
|
742
|
+
* return [msg1, msg2]
|
|
760
743
|
* }))
|
|
761
744
|
*
|
|
762
|
-
* yield* Effect.scoped(Effect.gen(function*() {
|
|
745
|
+
* const second = yield* Effect.scoped(Effect.gen(function*() {
|
|
763
746
|
* const sub1 = yield* PubSub.subscribe(pubsub)
|
|
764
747
|
* const sub2 = yield* PubSub.subscribe(pubsub)
|
|
765
748
|
*
|
|
766
749
|
* // Multiple subscribers can receive the same messages
|
|
767
750
|
* yield* PubSub.publish(pubsub, "Broadcast")
|
|
768
751
|
*
|
|
769
|
-
*
|
|
752
|
+
* return yield* Effect.all([
|
|
770
753
|
* PubSub.take(sub1),
|
|
771
754
|
* PubSub.take(sub2)
|
|
772
755
|
* ])
|
|
773
|
-
* console.log("Both received:", msg1, msg2) // "Broadcast", "Broadcast"
|
|
774
756
|
* }))
|
|
757
|
+
* return [first, second]
|
|
775
758
|
* })
|
|
759
|
+
*
|
|
760
|
+
* const actual = await Effect.runPromise(program)
|
|
761
|
+
* actual // => [["Hello", "World"], ["Broadcast", "Broadcast"]]
|
|
776
762
|
* ```
|
|
777
763
|
*
|
|
778
764
|
* @category subscriptions
|
|
@@ -792,6 +778,7 @@ const unsubscribe = self => Effect.uninterruptible(Effect.withFiber(state => {
|
|
|
792
778
|
}).pipe(Effect.tap(() => Effect.sync(() => {
|
|
793
779
|
self.subscribers.delete(self.subscription);
|
|
794
780
|
self.subscription.unsubscribe();
|
|
781
|
+
self.replayWindow.close();
|
|
795
782
|
self.strategy.onPubSubEmptySpaceUnsafe(self.pubsub, self.subscribers);
|
|
796
783
|
})), Effect.when(self.shutdownHook.open), Effect.asVoid);
|
|
797
784
|
}));
|
|
@@ -801,28 +788,26 @@ const unsubscribe = self => Effect.uninterruptible(Effect.withFiber(state => {
|
|
|
801
788
|
*
|
|
802
789
|
* **Example** (Taking a message)
|
|
803
790
|
*
|
|
804
|
-
* ```ts
|
|
791
|
+
* ```ts import.meta.vitest
|
|
805
792
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
806
793
|
*
|
|
807
|
-
* const program = Effect.gen(function*() {
|
|
794
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
808
795
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
809
796
|
*
|
|
810
|
-
* yield*
|
|
811
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
797
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
812
798
|
*
|
|
813
|
-
*
|
|
814
|
-
*
|
|
815
|
-
* PubSub.take(subscription)
|
|
816
|
-
* )
|
|
799
|
+
* // Start a fiber to take a message (will suspend)
|
|
800
|
+
* const takeFiber = yield* Effect.forkChild(PubSub.take(subscription))
|
|
817
801
|
*
|
|
818
|
-
*
|
|
819
|
-
*
|
|
802
|
+
* // Publish a message
|
|
803
|
+
* yield* PubSub.publish(pubsub, "Hello")
|
|
820
804
|
*
|
|
821
|
-
*
|
|
822
|
-
*
|
|
823
|
-
*
|
|
824
|
-
*
|
|
825
|
-
*
|
|
805
|
+
* // The take will now complete
|
|
806
|
+
* return yield* Fiber.join(takeFiber)
|
|
807
|
+
* }))
|
|
808
|
+
*
|
|
809
|
+
* const actual = await Effect.runPromise(program)
|
|
810
|
+
* actual // => "Hello"
|
|
826
811
|
* ```
|
|
827
812
|
*
|
|
828
813
|
* @category subscriptions
|
|
@@ -850,23 +835,23 @@ export const take = self => Effect.suspend(() => {
|
|
|
850
835
|
*
|
|
851
836
|
* **Example** (Taking all available messages)
|
|
852
837
|
*
|
|
853
|
-
* ```ts
|
|
838
|
+
* ```ts import.meta.vitest
|
|
854
839
|
* import { Effect, PubSub } from "effect"
|
|
855
840
|
*
|
|
856
|
-
* const program = Effect.gen(function*() {
|
|
841
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
857
842
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
858
843
|
*
|
|
859
|
-
* yield*
|
|
860
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
844
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
861
845
|
*
|
|
862
|
-
*
|
|
863
|
-
*
|
|
846
|
+
* // Publish multiple messages
|
|
847
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
864
848
|
*
|
|
865
|
-
*
|
|
866
|
-
*
|
|
867
|
-
*
|
|
868
|
-
*
|
|
869
|
-
*
|
|
849
|
+
* // Take all available messages at once
|
|
850
|
+
* return yield* PubSub.takeAll(subscription)
|
|
851
|
+
* }))
|
|
852
|
+
*
|
|
853
|
+
* const actual = await Effect.runPromise(program)
|
|
854
|
+
* actual // => ["msg1", "msg2", "msg3"]
|
|
870
855
|
* ```
|
|
871
856
|
*
|
|
872
857
|
* @category subscriptions
|
|
@@ -908,31 +893,30 @@ const pollForItem = self => {
|
|
|
908
893
|
*
|
|
909
894
|
* **Example** (Taking up to a maximum number of messages)
|
|
910
895
|
*
|
|
911
|
-
* ```ts
|
|
896
|
+
* ```ts import.meta.vitest
|
|
912
897
|
* import { Effect, PubSub } from "effect"
|
|
913
898
|
*
|
|
914
|
-
* const program = Effect.gen(function*() {
|
|
899
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
915
900
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
916
901
|
*
|
|
917
|
-
* yield*
|
|
918
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
902
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
919
903
|
*
|
|
920
|
-
*
|
|
921
|
-
*
|
|
904
|
+
* // Publish multiple messages
|
|
905
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
|
|
922
906
|
*
|
|
923
|
-
*
|
|
924
|
-
*
|
|
925
|
-
* console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
|
|
907
|
+
* // Take up to 3 messages
|
|
908
|
+
* const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
|
|
926
909
|
*
|
|
927
|
-
*
|
|
928
|
-
*
|
|
929
|
-
* console.log("Up to 5:", upTo5) // ["msg4", "msg5"]
|
|
910
|
+
* // Take up to 5 more (only 2 remaining)
|
|
911
|
+
* const upTo5 = yield* PubSub.takeUpTo(subscription, 5)
|
|
930
912
|
*
|
|
931
|
-
*
|
|
932
|
-
*
|
|
933
|
-
*
|
|
934
|
-
*
|
|
935
|
-
*
|
|
913
|
+
* // No more messages available
|
|
914
|
+
* const noMore = yield* PubSub.takeUpTo(subscription, 10)
|
|
915
|
+
* return [upTo3, upTo5, noMore]
|
|
916
|
+
* }))
|
|
917
|
+
*
|
|
918
|
+
* const actual = await Effect.runPromise(program)
|
|
919
|
+
* actual // => [["msg1", "msg2", "msg3"], ["msg4", "msg5"], []]
|
|
936
920
|
* ```
|
|
937
921
|
*
|
|
938
922
|
* @category subscriptions
|
|
@@ -957,28 +941,26 @@ export const takeUpTo = /*#__PURE__*/dual(2, (self, max) => Effect.suspend(() =>
|
|
|
957
941
|
*
|
|
958
942
|
* **Example** (Taking between a minimum and maximum)
|
|
959
943
|
*
|
|
960
|
-
* ```ts
|
|
944
|
+
* ```ts import.meta.vitest
|
|
961
945
|
* import { Effect, Fiber, PubSub } from "effect"
|
|
962
946
|
*
|
|
963
|
-
* const program = Effect.gen(function*() {
|
|
947
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
964
948
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
965
949
|
*
|
|
966
|
-
* yield*
|
|
967
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
950
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
968
951
|
*
|
|
969
|
-
*
|
|
970
|
-
*
|
|
971
|
-
* PubSub.takeBetween(subscription, 2, 5)
|
|
972
|
-
* )
|
|
952
|
+
* // Start taking between 2 and 5 messages (will suspend)
|
|
953
|
+
* const takeFiber = yield* Effect.forkChild(PubSub.takeBetween(subscription, 2, 5))
|
|
973
954
|
*
|
|
974
|
-
*
|
|
975
|
-
*
|
|
955
|
+
* // Publish 3 messages
|
|
956
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
976
957
|
*
|
|
977
|
-
*
|
|
978
|
-
*
|
|
979
|
-
*
|
|
980
|
-
*
|
|
981
|
-
*
|
|
958
|
+
* // Now the take will complete with 3 messages
|
|
959
|
+
* return yield* Fiber.join(takeFiber)
|
|
960
|
+
* }))
|
|
961
|
+
*
|
|
962
|
+
* const actual = await Effect.runPromise(program)
|
|
963
|
+
* actual // => ["msg1", "msg2", "msg3"]
|
|
982
964
|
* ```
|
|
983
965
|
*
|
|
984
966
|
* @category subscriptions
|
|
@@ -1023,29 +1005,29 @@ const takeRemainderLoop = (self, min, max, acc) => {
|
|
|
1023
1005
|
*
|
|
1024
1006
|
* **Example** (Checking remaining messages)
|
|
1025
1007
|
*
|
|
1026
|
-
* ```ts
|
|
1008
|
+
* ```ts import.meta.vitest
|
|
1027
1009
|
* import { Effect, PubSub } from "effect"
|
|
1028
1010
|
*
|
|
1029
|
-
* const program = Effect.gen(function*() {
|
|
1011
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
1030
1012
|
* const pubsub = yield* PubSub.bounded<string>(10)
|
|
1031
1013
|
*
|
|
1032
|
-
* yield*
|
|
1033
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1014
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1034
1015
|
*
|
|
1035
|
-
*
|
|
1036
|
-
*
|
|
1016
|
+
* // Publish some messages
|
|
1017
|
+
* yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
|
|
1037
1018
|
*
|
|
1038
|
-
*
|
|
1039
|
-
*
|
|
1040
|
-
* console.log("Messages available:", count) // 3
|
|
1019
|
+
* // Check how many messages are available
|
|
1020
|
+
* const count = yield* PubSub.remaining(subscription)
|
|
1041
1021
|
*
|
|
1042
|
-
*
|
|
1043
|
-
*
|
|
1022
|
+
* // Take one message
|
|
1023
|
+
* const message = yield* PubSub.take(subscription)
|
|
1044
1024
|
*
|
|
1045
|
-
*
|
|
1046
|
-
*
|
|
1047
|
-
*
|
|
1048
|
-
*
|
|
1025
|
+
* const remaining = yield* PubSub.remaining(subscription)
|
|
1026
|
+
* return { count, message, remaining }
|
|
1027
|
+
* }))
|
|
1028
|
+
*
|
|
1029
|
+
* const actual = await Effect.runPromise(program)
|
|
1030
|
+
* actual // => { count: 3, message: "msg1", remaining: 2 }
|
|
1049
1031
|
* ```
|
|
1050
1032
|
*
|
|
1051
1033
|
* @see {@link remainingUnsafe} for a synchronous check that reports shutdown as `Option.none()`
|
|
@@ -1065,23 +1047,17 @@ export const remaining = self => Effect.suspend(() => self.shutdownFlag.current
|
|
|
1065
1047
|
*
|
|
1066
1048
|
* **Example** (Checking remaining messages synchronously)
|
|
1067
1049
|
*
|
|
1068
|
-
* ```ts
|
|
1069
|
-
* import { PubSub } from "effect"
|
|
1050
|
+
* ```ts import.meta.vitest
|
|
1051
|
+
* import { Effect, Option, PubSub } from "effect"
|
|
1070
1052
|
*
|
|
1071
|
-
*
|
|
1072
|
-
*
|
|
1073
|
-
*
|
|
1074
|
-
*
|
|
1075
|
-
*
|
|
1076
|
-
* console.log("Messages available:", remainingOption.value)
|
|
1077
|
-
* } else {
|
|
1078
|
-
* console.log("Subscription is shutdown")
|
|
1079
|
-
* }
|
|
1053
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
1054
|
+
* const pubsub = yield* PubSub.bounded<string>(2)
|
|
1055
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1056
|
+
* return PubSub.remainingUnsafe(subscription)
|
|
1057
|
+
* }))
|
|
1080
1058
|
*
|
|
1081
|
-
*
|
|
1082
|
-
*
|
|
1083
|
-
* // Process messages in batch
|
|
1084
|
-
* }
|
|
1059
|
+
* const actual = await Effect.runPromise(program)
|
|
1060
|
+
* actual // => Option.some(0)
|
|
1085
1061
|
* ```
|
|
1086
1062
|
*
|
|
1087
1063
|
* @see {@link remaining} for the effectful variant that interrupts on shutdown
|
|
@@ -1119,6 +1095,7 @@ const removeSubscribers = (subscribers, subscription, pollers) => {
|
|
|
1119
1095
|
const makeSubscriptionUnsafe = (pubsub, subscribers, strategy) => new SubscriptionImpl(pubsub, subscribers, pubsub.subscribe(), MutableList.make(), Latch.makeUnsafe(false), MutableRef.make(false), strategy, pubsub.replayWindow());
|
|
1120
1096
|
class BoundedPubSubArb {
|
|
1121
1097
|
array;
|
|
1098
|
+
replayIndices;
|
|
1122
1099
|
publisherIndex = 0;
|
|
1123
1100
|
subscribers;
|
|
1124
1101
|
subscriberCount = 0;
|
|
@@ -1131,6 +1108,9 @@ class BoundedPubSubArb {
|
|
|
1131
1108
|
this.array = Array.from({
|
|
1132
1109
|
length: capacity
|
|
1133
1110
|
});
|
|
1111
|
+
this.replayIndices = replayBuffer ? Array.from({
|
|
1112
|
+
length: capacity
|
|
1113
|
+
}) : [];
|
|
1134
1114
|
this.subscribers = Array.from({
|
|
1135
1115
|
length: capacity
|
|
1136
1116
|
});
|
|
@@ -1151,15 +1131,16 @@ class BoundedPubSubArb {
|
|
|
1151
1131
|
if (this.isFull()) {
|
|
1152
1132
|
return false;
|
|
1153
1133
|
}
|
|
1134
|
+
const replayIndex = this.replayBuffer?.offer(value);
|
|
1154
1135
|
if (this.subscriberCount !== 0) {
|
|
1155
1136
|
const index = this.publisherIndex % this.capacity;
|
|
1156
1137
|
this.array[index] = value;
|
|
1138
|
+
if (replayIndex !== undefined) {
|
|
1139
|
+
this.replayIndices[index] = replayIndex;
|
|
1140
|
+
}
|
|
1157
1141
|
this.subscribers[index] = this.subscriberCount;
|
|
1158
1142
|
this.publisherIndex += 1;
|
|
1159
1143
|
}
|
|
1160
|
-
if (this.replayBuffer) {
|
|
1161
|
-
this.replayBuffer.offer(value);
|
|
1162
|
-
}
|
|
1163
1144
|
return true;
|
|
1164
1145
|
}
|
|
1165
1146
|
publishAll(elements) {
|
|
@@ -1183,23 +1164,23 @@ class BoundedPubSubArb {
|
|
|
1183
1164
|
const a = chunk[iteratorIndex++];
|
|
1184
1165
|
const index = this.publisherIndex % this.capacity;
|
|
1185
1166
|
this.array[index] = a;
|
|
1167
|
+
const replayIndex = this.replayBuffer?.offer(a);
|
|
1168
|
+
if (replayIndex !== undefined) {
|
|
1169
|
+
this.replayIndices[index] = replayIndex;
|
|
1170
|
+
}
|
|
1186
1171
|
this.subscribers[index] = this.subscriberCount;
|
|
1187
1172
|
this.publisherIndex += 1;
|
|
1188
|
-
if (this.replayBuffer) {
|
|
1189
|
-
this.replayBuffer.offer(a);
|
|
1190
|
-
}
|
|
1191
1173
|
}
|
|
1192
1174
|
return chunk.slice(iteratorIndex);
|
|
1193
1175
|
}
|
|
1194
1176
|
slide() {
|
|
1195
1177
|
if (this.subscribersIndex !== this.publisherIndex) {
|
|
1196
1178
|
const index = this.subscribersIndex % this.capacity;
|
|
1179
|
+
const value = this.array[index];
|
|
1197
1180
|
this.array[index] = AbsentValue;
|
|
1198
1181
|
this.subscribers[index] = 0;
|
|
1199
1182
|
this.subscribersIndex += 1;
|
|
1200
|
-
|
|
1201
|
-
if (this.replayBuffer) {
|
|
1202
|
-
this.replayBuffer.slide();
|
|
1183
|
+
this.replayBuffer?.slide(value, this.replayIndices[index]);
|
|
1203
1184
|
}
|
|
1204
1185
|
}
|
|
1205
1186
|
subscribe() {
|
|
@@ -1287,6 +1268,7 @@ class BoundedPubSubArbSubscription {
|
|
|
1287
1268
|
}
|
|
1288
1269
|
class BoundedPubSubPow2 {
|
|
1289
1270
|
array;
|
|
1271
|
+
replayIndices;
|
|
1290
1272
|
mask;
|
|
1291
1273
|
publisherIndex = 0;
|
|
1292
1274
|
subscribers;
|
|
@@ -1300,6 +1282,9 @@ class BoundedPubSubPow2 {
|
|
|
1300
1282
|
this.array = Array.from({
|
|
1301
1283
|
length: capacity
|
|
1302
1284
|
});
|
|
1285
|
+
this.replayIndices = replayBuffer ? Array.from({
|
|
1286
|
+
length: capacity
|
|
1287
|
+
}) : [];
|
|
1303
1288
|
this.mask = capacity - 1;
|
|
1304
1289
|
this.subscribers = Array.from({
|
|
1305
1290
|
length: capacity
|
|
@@ -1321,15 +1306,16 @@ class BoundedPubSubPow2 {
|
|
|
1321
1306
|
if (this.isFull()) {
|
|
1322
1307
|
return false;
|
|
1323
1308
|
}
|
|
1309
|
+
const replayIndex = this.replayBuffer?.offer(value);
|
|
1324
1310
|
if (this.subscriberCount !== 0) {
|
|
1325
1311
|
const index = this.publisherIndex & this.mask;
|
|
1326
1312
|
this.array[index] = value;
|
|
1313
|
+
if (replayIndex !== undefined) {
|
|
1314
|
+
this.replayIndices[index] = replayIndex;
|
|
1315
|
+
}
|
|
1327
1316
|
this.subscribers[index] = this.subscriberCount;
|
|
1328
1317
|
this.publisherIndex += 1;
|
|
1329
1318
|
}
|
|
1330
|
-
if (this.replayBuffer) {
|
|
1331
|
-
this.replayBuffer.offer(value);
|
|
1332
|
-
}
|
|
1333
1319
|
return true;
|
|
1334
1320
|
}
|
|
1335
1321
|
publishAll(elements) {
|
|
@@ -1353,23 +1339,23 @@ class BoundedPubSubPow2 {
|
|
|
1353
1339
|
const elem = chunk[iteratorIndex++];
|
|
1354
1340
|
const index = this.publisherIndex & this.mask;
|
|
1355
1341
|
this.array[index] = elem;
|
|
1342
|
+
const replayIndex = this.replayBuffer?.offer(elem);
|
|
1343
|
+
if (replayIndex !== undefined) {
|
|
1344
|
+
this.replayIndices[index] = replayIndex;
|
|
1345
|
+
}
|
|
1356
1346
|
this.subscribers[index] = this.subscriberCount;
|
|
1357
1347
|
this.publisherIndex += 1;
|
|
1358
|
-
if (this.replayBuffer) {
|
|
1359
|
-
this.replayBuffer.offer(elem);
|
|
1360
|
-
}
|
|
1361
1348
|
}
|
|
1362
1349
|
return chunk.slice(iteratorIndex);
|
|
1363
1350
|
}
|
|
1364
1351
|
slide() {
|
|
1365
1352
|
if (this.subscribersIndex !== this.publisherIndex) {
|
|
1366
1353
|
const index = this.subscribersIndex & this.mask;
|
|
1354
|
+
const value = this.array[index];
|
|
1367
1355
|
this.array[index] = AbsentValue;
|
|
1368
1356
|
this.subscribers[index] = 0;
|
|
1369
1357
|
this.subscribersIndex += 1;
|
|
1370
|
-
|
|
1371
|
-
if (this.replayBuffer) {
|
|
1372
|
-
this.replayBuffer.slide();
|
|
1358
|
+
this.replayBuffer?.slide(value, this.replayIndices[index]);
|
|
1373
1359
|
}
|
|
1374
1360
|
}
|
|
1375
1361
|
subscribe() {
|
|
@@ -1460,6 +1446,7 @@ class BoundedPubSubSingle {
|
|
|
1460
1446
|
subscriberCount = 0;
|
|
1461
1447
|
subscribers = 0;
|
|
1462
1448
|
value = AbsentValue;
|
|
1449
|
+
replayIndex = 0;
|
|
1463
1450
|
capacity = 1;
|
|
1464
1451
|
replayBuffer;
|
|
1465
1452
|
constructor(replayBuffer) {
|
|
@@ -1484,14 +1471,15 @@ class BoundedPubSubSingle {
|
|
|
1484
1471
|
if (this.isFull()) {
|
|
1485
1472
|
return false;
|
|
1486
1473
|
}
|
|
1474
|
+
const replayIndex = this.replayBuffer?.offer(value);
|
|
1487
1475
|
if (this.subscriberCount !== 0) {
|
|
1488
1476
|
this.value = value;
|
|
1477
|
+
if (replayIndex !== undefined) {
|
|
1478
|
+
this.replayIndex = replayIndex;
|
|
1479
|
+
}
|
|
1489
1480
|
this.subscribers = this.subscriberCount;
|
|
1490
1481
|
this.publisherIndex += 1;
|
|
1491
1482
|
}
|
|
1492
|
-
if (this.replayBuffer) {
|
|
1493
|
-
this.replayBuffer.offer(value);
|
|
1494
|
-
}
|
|
1495
1483
|
return true;
|
|
1496
1484
|
}
|
|
1497
1485
|
publishAll(elements) {
|
|
@@ -1513,11 +1501,10 @@ class BoundedPubSubSingle {
|
|
|
1513
1501
|
}
|
|
1514
1502
|
slide() {
|
|
1515
1503
|
if (this.isFull()) {
|
|
1504
|
+
const value = this.value;
|
|
1516
1505
|
this.subscribers = 0;
|
|
1517
1506
|
this.value = AbsentValue;
|
|
1518
|
-
|
|
1519
|
-
if (this.replayBuffer) {
|
|
1520
|
-
this.replayBuffer.slide();
|
|
1507
|
+
this.replayBuffer?.slide(value, this.replayIndex);
|
|
1521
1508
|
}
|
|
1522
1509
|
}
|
|
1523
1510
|
subscribe() {
|
|
@@ -1580,6 +1567,7 @@ class BoundedPubSubSingleSubscription {
|
|
|
1580
1567
|
class UnboundedPubSub {
|
|
1581
1568
|
publisherHead = {
|
|
1582
1569
|
value: AbsentValue,
|
|
1570
|
+
replayIndex: undefined,
|
|
1583
1571
|
subscribers: 0,
|
|
1584
1572
|
next: null
|
|
1585
1573
|
};
|
|
@@ -1604,19 +1592,19 @@ class UnboundedPubSub {
|
|
|
1604
1592
|
return this.publisherIndex - this.subscribersIndex;
|
|
1605
1593
|
}
|
|
1606
1594
|
publish(value) {
|
|
1595
|
+
const replayIndex = this.replayBuffer?.offer(value);
|
|
1607
1596
|
const subscribers = this.publisherTail.subscribers;
|
|
1608
1597
|
if (subscribers !== 0) {
|
|
1609
|
-
|
|
1598
|
+
const node = {
|
|
1610
1599
|
value,
|
|
1600
|
+
replayIndex,
|
|
1611
1601
|
subscribers,
|
|
1612
1602
|
next: null
|
|
1613
1603
|
};
|
|
1604
|
+
this.publisherTail.next = node;
|
|
1614
1605
|
this.publisherTail = this.publisherTail.next;
|
|
1615
1606
|
this.publisherIndex += 1;
|
|
1616
1607
|
}
|
|
1617
|
-
if (this.replayBuffer) {
|
|
1618
|
-
this.replayBuffer.offer(value);
|
|
1619
|
-
}
|
|
1620
1608
|
return true;
|
|
1621
1609
|
}
|
|
1622
1610
|
publishAll(elements) {
|
|
@@ -1631,12 +1619,12 @@ class UnboundedPubSub {
|
|
|
1631
1619
|
}
|
|
1632
1620
|
slide() {
|
|
1633
1621
|
if (this.publisherHead !== this.publisherTail) {
|
|
1622
|
+
const node = this.publisherHead.next;
|
|
1623
|
+
const value = node.value;
|
|
1634
1624
|
this.publisherHead = this.publisherHead.next;
|
|
1635
1625
|
this.publisherHead.value = AbsentValue;
|
|
1636
1626
|
this.subscribersIndex += 1;
|
|
1637
|
-
|
|
1638
|
-
if (this.replayBuffer) {
|
|
1639
|
-
this.replayBuffer.slide();
|
|
1627
|
+
this.replayBuffer?.slide(value, node.replayIndex);
|
|
1640
1628
|
}
|
|
1641
1629
|
}
|
|
1642
1630
|
subscribe() {
|
|
@@ -1906,34 +1894,30 @@ export class BackPressureStrategy {
|
|
|
1906
1894
|
*
|
|
1907
1895
|
* **Example** (Applying a dropping strategy)
|
|
1908
1896
|
*
|
|
1909
|
-
* ```ts
|
|
1897
|
+
* ```ts import.meta.vitest
|
|
1910
1898
|
* import { Effect, PubSub } from "effect"
|
|
1911
1899
|
*
|
|
1912
|
-
* const program = Effect.gen(function*() {
|
|
1913
|
-
* //
|
|
1914
|
-
* const pubsub = yield* PubSub.
|
|
1915
|
-
*
|
|
1916
|
-
* // Or explicitly create with dropping strategy
|
|
1917
|
-
* const customPubsub = yield* PubSub.make<string>({
|
|
1900
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
1901
|
+
* // Explicitly create a PubSub with a dropping strategy
|
|
1902
|
+
* const pubsub = yield* PubSub.make<string>({
|
|
1918
1903
|
* atomicPubSub: () => PubSub.makeAtomicBounded(2),
|
|
1919
1904
|
* strategy: () => new PubSub.DroppingStrategy()
|
|
1920
1905
|
* })
|
|
1921
1906
|
*
|
|
1922
|
-
* yield*
|
|
1923
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1907
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1924
1908
|
*
|
|
1925
|
-
*
|
|
1926
|
-
*
|
|
1927
|
-
*
|
|
1928
|
-
*
|
|
1909
|
+
* // Fill the PubSub
|
|
1910
|
+
* const pub1 = yield* PubSub.publish(pubsub, "msg1") // true
|
|
1911
|
+
* const pub2 = yield* PubSub.publish(pubsub, "msg2") // true
|
|
1912
|
+
* const pub3 = yield* PubSub.publish(pubsub, "msg3") // false (dropped)
|
|
1929
1913
|
*
|
|
1930
|
-
*
|
|
1914
|
+
* // Subscribers will only see the first two messages
|
|
1915
|
+
* const messages = yield* PubSub.takeAll(subscription)
|
|
1916
|
+
* return { published: [pub1, pub2, pub3], messages }
|
|
1917
|
+
* }))
|
|
1931
1918
|
*
|
|
1932
|
-
*
|
|
1933
|
-
*
|
|
1934
|
-
* console.log("Received messages:", messages) // ["msg1", "msg2"]
|
|
1935
|
-
* }))
|
|
1936
|
-
* })
|
|
1919
|
+
* const actual = await Effect.runPromise(program)
|
|
1920
|
+
* actual // => { published: [true, true, false], messages: ["msg1", "msg2"] }
|
|
1937
1921
|
* ```
|
|
1938
1922
|
*
|
|
1939
1923
|
* @category models
|
|
@@ -1975,33 +1959,30 @@ export class DroppingStrategy {
|
|
|
1975
1959
|
*
|
|
1976
1960
|
* **Example** (Applying a sliding strategy)
|
|
1977
1961
|
*
|
|
1978
|
-
* ```ts
|
|
1962
|
+
* ```ts import.meta.vitest
|
|
1979
1963
|
* import { Effect, PubSub } from "effect"
|
|
1980
1964
|
*
|
|
1981
|
-
* const program = Effect.gen(function*() {
|
|
1982
|
-
* //
|
|
1983
|
-
* const pubsub = yield* PubSub.
|
|
1984
|
-
*
|
|
1985
|
-
* // Or explicitly create with sliding strategy
|
|
1986
|
-
* const customPubsub = yield* PubSub.make<string>({
|
|
1965
|
+
* const program = Effect.scoped(Effect.gen(function*() {
|
|
1966
|
+
* // Explicitly create a PubSub with a sliding strategy
|
|
1967
|
+
* const pubsub = yield* PubSub.make<string>({
|
|
1987
1968
|
* atomicPubSub: () => PubSub.makeAtomicBounded(2),
|
|
1988
1969
|
* strategy: () => new PubSub.SlidingStrategy()
|
|
1989
1970
|
* })
|
|
1990
1971
|
*
|
|
1991
|
-
* yield*
|
|
1992
|
-
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1972
|
+
* const subscription = yield* PubSub.subscribe(pubsub)
|
|
1993
1973
|
*
|
|
1994
|
-
*
|
|
1995
|
-
*
|
|
1996
|
-
*
|
|
1997
|
-
*
|
|
1998
|
-
*
|
|
1974
|
+
* // Publish messages that exceed capacity
|
|
1975
|
+
* yield* PubSub.publish(pubsub, "msg1") // stored
|
|
1976
|
+
* yield* PubSub.publish(pubsub, "msg2") // stored
|
|
1977
|
+
* yield* PubSub.publish(pubsub, "msg3") // "msg1" evicted, "msg3" stored
|
|
1978
|
+
* yield* PubSub.publish(pubsub, "msg4") // "msg2" evicted, "msg4" stored
|
|
1999
1979
|
*
|
|
2000
|
-
*
|
|
2001
|
-
*
|
|
2002
|
-
*
|
|
2003
|
-
*
|
|
2004
|
-
*
|
|
1980
|
+
* // Subscribers will see the most recent messages
|
|
1981
|
+
* return yield* PubSub.takeAll(subscription)
|
|
1982
|
+
* }))
|
|
1983
|
+
*
|
|
1984
|
+
* const actual = await Effect.runPromise(program)
|
|
1985
|
+
* actual // => ["msg3", "msg4"]
|
|
2005
1986
|
* ```
|
|
2006
1987
|
*
|
|
2007
1988
|
* @category models
|
|
@@ -2078,21 +2059,31 @@ class ReplayBuffer {
|
|
|
2078
2059
|
capacity;
|
|
2079
2060
|
head = {
|
|
2080
2061
|
value: AbsentValue,
|
|
2062
|
+
index: 0,
|
|
2081
2063
|
next: null
|
|
2082
2064
|
};
|
|
2083
2065
|
tail = this.head;
|
|
2066
|
+
slideValues = [];
|
|
2084
2067
|
size = 0;
|
|
2085
2068
|
index = 0;
|
|
2069
|
+
publisherIndex = 0;
|
|
2086
2070
|
constructor(capacity) {
|
|
2087
2071
|
this.capacity = capacity;
|
|
2088
2072
|
}
|
|
2089
|
-
slide() {
|
|
2073
|
+
slide(value, publisherIndex) {
|
|
2074
|
+
this.slideValues[this.index % this.capacity] = {
|
|
2075
|
+
value,
|
|
2076
|
+
index: publisherIndex
|
|
2077
|
+
};
|
|
2090
2078
|
this.index++;
|
|
2091
2079
|
}
|
|
2092
2080
|
offer(a) {
|
|
2081
|
+
const index = this.publisherIndex++;
|
|
2093
2082
|
this.tail.value = a;
|
|
2083
|
+
this.tail.index = index;
|
|
2094
2084
|
this.tail.next = {
|
|
2095
2085
|
value: AbsentValue,
|
|
2086
|
+
index: 0,
|
|
2096
2087
|
next: null
|
|
2097
2088
|
};
|
|
2098
2089
|
this.tail = this.tail.next;
|
|
@@ -2101,6 +2092,7 @@ class ReplayBuffer {
|
|
|
2101
2092
|
} else {
|
|
2102
2093
|
this.size += 1;
|
|
2103
2094
|
}
|
|
2095
|
+
return index;
|
|
2104
2096
|
}
|
|
2105
2097
|
offerAll(as) {
|
|
2106
2098
|
for (const a of as) {
|
|
@@ -2109,47 +2101,65 @@ class ReplayBuffer {
|
|
|
2109
2101
|
}
|
|
2110
2102
|
}
|
|
2111
2103
|
class ReplayWindowImpl {
|
|
2112
|
-
head;
|
|
2113
|
-
index;
|
|
2114
|
-
remaining;
|
|
2115
2104
|
buffer;
|
|
2105
|
+
values;
|
|
2106
|
+
index = 0;
|
|
2107
|
+
remaining;
|
|
2108
|
+
slideIndex;
|
|
2109
|
+
newestIndex = -1;
|
|
2116
2110
|
constructor(buffer) {
|
|
2117
2111
|
this.buffer = buffer;
|
|
2118
|
-
this.index = buffer.index;
|
|
2119
2112
|
this.remaining = buffer.size;
|
|
2120
|
-
this.
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
this.
|
|
2125
|
-
this.index
|
|
2113
|
+
this.slideIndex = buffer.index;
|
|
2114
|
+
this.values = new Array(this.remaining);
|
|
2115
|
+
let node = buffer.head;
|
|
2116
|
+
for (let i = 0; i < this.remaining; i++) {
|
|
2117
|
+
this.values[i] = node.value;
|
|
2118
|
+
this.newestIndex = node.index;
|
|
2119
|
+
node = node.next;
|
|
2120
|
+
}
|
|
2121
|
+
}
|
|
2122
|
+
close() {
|
|
2123
|
+
this.values.length = 0;
|
|
2124
|
+
this.remaining = 0;
|
|
2125
|
+
}
|
|
2126
|
+
sync() {
|
|
2127
|
+
const slides = this.buffer.index - this.slideIndex;
|
|
2128
|
+
if (slides === 0 || this.remaining === 0) {
|
|
2129
|
+
return;
|
|
2130
|
+
}
|
|
2131
|
+
const count = Math.min(slides, this.buffer.capacity);
|
|
2132
|
+
const start = this.buffer.index - count;
|
|
2133
|
+
for (let i = 0; i < count; i++) {
|
|
2134
|
+
const entry = this.buffer.slideValues[(start + i) % this.buffer.capacity];
|
|
2135
|
+
if (entry.index > this.newestIndex) {
|
|
2136
|
+
this.index = (this.index + 1) % this.values.length;
|
|
2137
|
+
this.values[(this.index + this.remaining - 1) % this.values.length] = entry.value;
|
|
2138
|
+
this.newestIndex = entry.index;
|
|
2139
|
+
}
|
|
2126
2140
|
}
|
|
2141
|
+
this.slideIndex = this.buffer.index;
|
|
2127
2142
|
}
|
|
2128
2143
|
take() {
|
|
2129
2144
|
if (this.remaining === 0) {
|
|
2130
2145
|
return undefined;
|
|
2131
|
-
} else if (this.index < this.buffer.index) {
|
|
2132
|
-
this.fastForward();
|
|
2133
2146
|
}
|
|
2147
|
+
this.sync();
|
|
2148
|
+
const value = this.values[this.index];
|
|
2149
|
+
this.values[this.index] = AbsentValue;
|
|
2150
|
+
this.index = (this.index + 1) % this.values.length;
|
|
2134
2151
|
this.remaining--;
|
|
2135
|
-
|
|
2136
|
-
|
|
2152
|
+
if (this.remaining === 0) {
|
|
2153
|
+
this.close();
|
|
2154
|
+
}
|
|
2137
2155
|
return value;
|
|
2138
2156
|
}
|
|
2139
2157
|
takeN(n) {
|
|
2140
|
-
if (this.remaining === 0) {
|
|
2141
|
-
return [];
|
|
2142
|
-
} else if (this.index < this.buffer.index) {
|
|
2143
|
-
this.fastForward();
|
|
2144
|
-
}
|
|
2145
2158
|
const len = Math.min(n, this.remaining);
|
|
2146
2159
|
const items = new Array(len);
|
|
2147
2160
|
for (let i = 0; i < len; i++) {
|
|
2148
|
-
|
|
2149
|
-
this.head = this.head.next;
|
|
2150
|
-
items[i] = value;
|
|
2161
|
+
items[i] = this.take();
|
|
2151
2162
|
}
|
|
2152
|
-
this.remaining -= len;
|
|
2153
2163
|
return items;
|
|
2154
2164
|
}
|
|
2155
2165
|
takeAll() {
|
|
@@ -2160,6 +2170,7 @@ const emptyReplayWindow = {
|
|
|
2160
2170
|
remaining: 0,
|
|
2161
2171
|
take: () => undefined,
|
|
2162
2172
|
takeN: () => [],
|
|
2163
|
-
takeAll: () => []
|
|
2173
|
+
takeAll: () => [],
|
|
2174
|
+
close: () => void 0
|
|
2164
2175
|
};
|
|
2165
2176
|
//# sourceMappingURL=PubSub.js.map
|