effect 4.0.0-beta.98 → 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 +13 -20
- 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 +463 -413
- 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 +1412 -775
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +1180 -561
- 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 +282 -318
- 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 +2869 -1136
- 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 +261 -111
- 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 +198 -132
- 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 +70 -55
- 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.d.ts +76 -0
- package/dist/unstable/cli/CliConfig.d.ts.map +1 -0
- package/dist/unstable/cli/CliConfig.js +63 -0
- package/dist/unstable/cli/CliConfig.js.map +1 -0
- 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 +138 -75
- 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 +765 -109
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +335 -52
- 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 +24 -3
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +20 -4
- 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 +152 -62
- 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.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
- package/dist/unstable/cli/internal/ansi.js +4 -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 +16 -7
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.d.ts +13 -0
- package/dist/unstable/cli/internal/wizard.d.ts.map +1 -0
- package/dist/unstable/cli/internal/wizard.js +212 -0
- package/dist/unstable/cli/internal/wizard.js.map +1 -0
- 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 +9 -8
- 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 +68 -36
- 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 +2 -2
- 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 +9 -7
- 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 +2 -3
- 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 +12 -16
- package/src/Array.ts +1069 -1071
- 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 +3258 -1102
- 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 +665 -799
- 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 +3476 -1914
- 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 +313 -137
- 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 +94 -64
- 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/CliConfig.ts +85 -0
- package/src/unstable/cli/CliError.ts +161 -90
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +839 -123
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +34 -6
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +351 -103
- package/src/unstable/cli/Primitive.ts +383 -156
- package/src/unstable/cli/Prompt.ts +64 -34
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/ansi.ts +5 -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 +19 -7
- package/src/unstable/cli/internal/wizard.ts +283 -0
- 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 +12 -10
- 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 +70 -37
- 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 +155 -34
- 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 +14 -9
- 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 +65 -58
- 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/src/SchemaGetter.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import * as DateTime from "./DateTime.ts"
|
|
15
15
|
import * as Effect from "./Effect.ts"
|
|
16
16
|
import * as Encoding from "./Encoding.ts"
|
|
17
|
-
import * as
|
|
17
|
+
import * as InternalRecord from "./internal/record.ts"
|
|
18
18
|
import * as Option from "./Option.ts"
|
|
19
19
|
import * as Pipeable from "./Pipeable.ts"
|
|
20
20
|
import * as Predicate from "./Predicate.ts"
|
|
@@ -45,13 +45,13 @@ import * as Str from "./String.ts"
|
|
|
45
45
|
*
|
|
46
46
|
* **Example** (Creating and composing getters)
|
|
47
47
|
*
|
|
48
|
-
* ```ts
|
|
49
|
-
* import { SchemaGetter } from "effect"
|
|
48
|
+
* ```ts import.meta.vitest
|
|
49
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
50
50
|
*
|
|
51
51
|
* const parseNumber = SchemaGetter.transform<number, string>((s) => Number(s))
|
|
52
52
|
* const double = SchemaGetter.transform<number, number>((n) => n * 2)
|
|
53
53
|
* const composed = parseNumber.compose(double)
|
|
54
|
-
*
|
|
54
|
+
* await Effect.runPromise(composed.run(Option.some("21"), {})) // => Option.some(42)
|
|
55
55
|
* ```
|
|
56
56
|
*
|
|
57
57
|
* @see {@link transform} to create a getter from a pure function
|
|
@@ -105,11 +105,11 @@ export class Getter<out T, in E, R = never> extends Pipeable.Class {
|
|
|
105
105
|
*
|
|
106
106
|
* **Example** (Returning a constant getter)
|
|
107
107
|
*
|
|
108
|
-
* ```ts
|
|
109
|
-
* import { SchemaGetter } from "effect"
|
|
108
|
+
* ```ts import.meta.vitest
|
|
109
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
110
110
|
*
|
|
111
111
|
* const alwaysZero = SchemaGetter.succeed(0)
|
|
112
|
-
*
|
|
112
|
+
* await Effect.runPromise(alwaysZero.run(Option.none(), {})) // => Option.some(0)
|
|
113
113
|
* ```
|
|
114
114
|
*
|
|
115
115
|
* @see {@link transform} when you need to use the input value
|
|
@@ -133,16 +133,19 @@ export function succeed<const T, E>(t: T): Getter<T, E> {
|
|
|
133
133
|
* **Details**
|
|
134
134
|
*
|
|
135
135
|
* - Always fails with the `Issue` returned by `f`.
|
|
136
|
-
* - The failure function receives the original `Option<E>` input
|
|
136
|
+
* - The failure function receives the original `Option<E>` input and the
|
|
137
|
+
* effective `ParseOptions` for error context.
|
|
137
138
|
*
|
|
138
139
|
* **Example** (Defining an always-failing getter)
|
|
139
140
|
*
|
|
140
|
-
* ```ts
|
|
141
|
-
* import { Option, SchemaGetter, SchemaIssue } from "effect"
|
|
141
|
+
* ```ts import.meta.vitest
|
|
142
|
+
* import { Effect, Option, SchemaGetter, SchemaIssue } from "effect"
|
|
142
143
|
*
|
|
143
144
|
* const rejectAll = SchemaGetter.fail<string, string>(
|
|
144
|
-
* (
|
|
145
|
+
* () => new SchemaIssue.InvalidValue({ message: "not allowed" })
|
|
145
146
|
* )
|
|
147
|
+
* const issue = await Effect.runPromise(Effect.flip(rejectAll.run(Option.some("x"), {})))
|
|
148
|
+
* issue._tag // => "InvalidValue"
|
|
146
149
|
* ```
|
|
147
150
|
*
|
|
148
151
|
* @see {@link forbidden} for a convenience helper for `Forbidden` issues
|
|
@@ -151,8 +154,10 @@ export function succeed<const T, E>(t: T): Getter<T, E> {
|
|
|
151
154
|
* @category constructors
|
|
152
155
|
* @since 4.0.0
|
|
153
156
|
*/
|
|
154
|
-
export function fail<T, E>(
|
|
155
|
-
|
|
157
|
+
export function fail<T, E>(
|
|
158
|
+
f: (oe: Option.Option<E>, options: SchemaAST.ParseOptions) => SchemaIssue.Issue
|
|
159
|
+
): Getter<T, E> {
|
|
160
|
+
return new Getter((oe, options) => Effect.fail(f(oe, options)))
|
|
156
161
|
}
|
|
157
162
|
|
|
158
163
|
/**
|
|
@@ -171,12 +176,14 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Gett
|
|
|
171
176
|
*
|
|
172
177
|
* **Example** (Forbidding a decode direction)
|
|
173
178
|
*
|
|
174
|
-
* ```ts
|
|
175
|
-
* import { SchemaGetter } from "effect"
|
|
179
|
+
* ```ts import.meta.vitest
|
|
180
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
176
181
|
*
|
|
177
182
|
* const noEncode = SchemaGetter.forbidden<string, number>(
|
|
178
183
|
* () => "encoding is not supported"
|
|
179
184
|
* )
|
|
185
|
+
* const issue = await Effect.runPromise(Effect.flip(noEncode.run(Option.some(1), {})))
|
|
186
|
+
* issue._tag // => "Forbidden"
|
|
180
187
|
* ```
|
|
181
188
|
*
|
|
182
189
|
* @see {@link fail} to fail with a custom issue type
|
|
@@ -185,7 +192,12 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Gett
|
|
|
185
192
|
* @since 4.0.0
|
|
186
193
|
*/
|
|
187
194
|
export function forbidden<T, E>(message: (oe: Option.Option<E>) => string): Getter<T, E> {
|
|
188
|
-
return fail<T, E>((oe) =>
|
|
195
|
+
return fail<T, E>((oe, options) => {
|
|
196
|
+
const annotations = { message: message(oe) }
|
|
197
|
+
return Option.isSome(oe)
|
|
198
|
+
? new SchemaIssue.Forbidden(annotations, oe.value, options)
|
|
199
|
+
: new SchemaIssue.Forbidden(annotations)
|
|
200
|
+
})
|
|
189
201
|
}
|
|
190
202
|
|
|
191
203
|
const passthrough_ = new Getter<any, any>(Effect.succeed)
|
|
@@ -211,7 +223,7 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
|
|
|
211
223
|
*
|
|
212
224
|
* **Example** (Passing through identity transformations)
|
|
213
225
|
*
|
|
214
|
-
* ```ts
|
|
226
|
+
* ```ts import.meta.vitest
|
|
215
227
|
* import { Schema, SchemaGetter } from "effect"
|
|
216
228
|
*
|
|
217
229
|
* // No transformation needed — types already match
|
|
@@ -221,6 +233,7 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
|
|
|
221
233
|
* encode: SchemaGetter.passthrough()
|
|
222
234
|
* })
|
|
223
235
|
* )
|
|
236
|
+
* Schema.decodeSync(StringToString)("hello") // => "hello"
|
|
224
237
|
* ```
|
|
225
238
|
*
|
|
226
239
|
* @see {@link passthroughSupertype} when `T extends E`
|
|
@@ -250,11 +263,12 @@ export function passthrough<T>(): Getter<T, T> {
|
|
|
250
263
|
*
|
|
251
264
|
* **Example** (Passing through supertypes)
|
|
252
265
|
*
|
|
253
|
-
* ```ts
|
|
254
|
-
* import { SchemaGetter } from "effect"
|
|
266
|
+
* ```ts import.meta.vitest
|
|
267
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
255
268
|
*
|
|
256
269
|
* // string extends string, so this is valid
|
|
257
270
|
* const g = SchemaGetter.passthroughSupertype<string, string>()
|
|
271
|
+
* await Effect.runPromise(g.run(Option.some("hello"), {})) // => Option.some("hello")
|
|
258
272
|
* ```
|
|
259
273
|
*
|
|
260
274
|
* @see {@link passthrough} when types are identical
|
|
@@ -282,11 +296,12 @@ export function passthroughSupertype<T>(): Getter<T, T> {
|
|
|
282
296
|
*
|
|
283
297
|
* **Example** (Passing through subtypes)
|
|
284
298
|
*
|
|
285
|
-
* ```ts
|
|
286
|
-
* import { SchemaGetter } from "effect"
|
|
299
|
+
* ```ts import.meta.vitest
|
|
300
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
287
301
|
*
|
|
288
302
|
* // "hello" extends string, so E extends T
|
|
289
303
|
* const g = SchemaGetter.passthroughSubtype<string, "hello">()
|
|
304
|
+
* await Effect.runPromise(g.run(Option.some("hello"), {})) // => Option.some("hello")
|
|
290
305
|
* ```
|
|
291
306
|
*
|
|
292
307
|
* @see {@link passthrough} when types are identical
|
|
@@ -317,19 +332,20 @@ export function passthroughSubtype<T>(): Getter<T, T> {
|
|
|
317
332
|
*
|
|
318
333
|
* **Example** (Providing a default timestamp for a missing field)
|
|
319
334
|
*
|
|
320
|
-
* ```ts
|
|
335
|
+
* ```ts import.meta.vitest
|
|
321
336
|
* import { Effect, Option, SchemaGetter } from "effect"
|
|
322
337
|
*
|
|
323
338
|
* const withTimestamp = SchemaGetter.onNone<number>(() =>
|
|
324
|
-
* Effect.succeed(Option.some(
|
|
339
|
+
* Effect.succeed(Option.some(0))
|
|
325
340
|
* )
|
|
341
|
+
* await Effect.runPromise(withTimestamp.run(Option.none(), {})) // => Option.some(0)
|
|
326
342
|
* ```
|
|
327
343
|
*
|
|
328
344
|
* @see {@link required} when absent input should fail
|
|
329
345
|
* @see {@link withDefault} for a simpler default value for undefined inputs
|
|
330
346
|
* @see {@link onSome} to handle only present values
|
|
331
347
|
*
|
|
332
|
-
* @category
|
|
348
|
+
* @category transforming
|
|
333
349
|
* @since 4.0.0
|
|
334
350
|
*/
|
|
335
351
|
export function onNone<T, E extends T = T, R = never>(
|
|
@@ -354,16 +370,18 @@ export function onNone<T, E extends T = T, R = never>(
|
|
|
354
370
|
*
|
|
355
371
|
* **Example** (Defining a required struct field)
|
|
356
372
|
*
|
|
357
|
-
* ```ts
|
|
358
|
-
* import { SchemaGetter } from "effect"
|
|
373
|
+
* ```ts import.meta.vitest
|
|
374
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
359
375
|
*
|
|
360
376
|
* const mustExist = SchemaGetter.required<string>()
|
|
377
|
+
* const issue = await Effect.runPromise(Effect.flip(mustExist.run(Option.none(), {})))
|
|
378
|
+
* issue._tag // => "MissingKey"
|
|
361
379
|
* ```
|
|
362
380
|
*
|
|
363
381
|
* @see {@link onNone} to provide a fallback instead of failing
|
|
364
382
|
* @see {@link withDefault} to substitute a default for undefined values
|
|
365
383
|
*
|
|
366
|
-
* @category
|
|
384
|
+
* @category validation
|
|
367
385
|
* @since 4.0.0
|
|
368
386
|
*/
|
|
369
387
|
export function required<T, E extends T = T>(annotations?: Schema.Annotations.Key<T>): Getter<T, E> {
|
|
@@ -387,19 +405,20 @@ export function required<T, E extends T = T>(annotations?: Schema.Annotations.Ke
|
|
|
387
405
|
*
|
|
388
406
|
* **Example** (Transforming only present values)
|
|
389
407
|
*
|
|
390
|
-
* ```ts
|
|
408
|
+
* ```ts import.meta.vitest
|
|
391
409
|
* import { Effect, Option, SchemaGetter } from "effect"
|
|
392
410
|
*
|
|
393
411
|
* const parseIfPresent = SchemaGetter.onSome<number, string>(
|
|
394
412
|
* (s) => Effect.succeed(Option.some(Number(s)))
|
|
395
413
|
* )
|
|
414
|
+
* await Effect.runPromise(parseIfPresent.run(Option.some("42"), {})) // => Option.some(42)
|
|
396
415
|
* ```
|
|
397
416
|
*
|
|
398
417
|
* @see {@link onNone} to handle only absent values
|
|
399
418
|
* @see {@link transform} for a simpler pure transformation of present values
|
|
400
419
|
* @see {@link transformOrFail} for fallible transformation of present values
|
|
401
420
|
*
|
|
402
|
-
* @category
|
|
421
|
+
* @category transforming
|
|
403
422
|
* @since 4.0.0
|
|
404
423
|
*/
|
|
405
424
|
export function onSome<T, E, R = never>(
|
|
@@ -430,18 +449,19 @@ export function onSome<T, E, R = never>(
|
|
|
430
449
|
*
|
|
431
450
|
* **Example** (Validating effectfully)
|
|
432
451
|
*
|
|
433
|
-
* ```ts
|
|
434
|
-
* import { Effect, SchemaGetter } from "effect"
|
|
452
|
+
* ```ts import.meta.vitest
|
|
453
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
435
454
|
*
|
|
436
455
|
* const nonNegative = SchemaGetter.checkEffect<number>((n) =>
|
|
437
456
|
* Effect.succeed(n >= 0 ? undefined : "must be non-negative")
|
|
438
457
|
* )
|
|
458
|
+
* await Effect.runPromise(nonNegative.run(Option.some(1), {})) // => Option.some(1)
|
|
439
459
|
* ```
|
|
440
460
|
*
|
|
441
461
|
* @see {@link transform} when you need to change the value, not just validate
|
|
442
462
|
* @see {@link fail} for unconditional failure
|
|
443
463
|
*
|
|
444
|
-
* @category
|
|
464
|
+
* @category validation
|
|
445
465
|
* @since 4.0.0
|
|
446
466
|
*/
|
|
447
467
|
export function checkEffect<T, R = never>(
|
|
@@ -453,7 +473,7 @@ export function checkEffect<T, R = never>(
|
|
|
453
473
|
): Getter<T, T, R> {
|
|
454
474
|
return onSome((t, options) => {
|
|
455
475
|
return f(t, options).pipe(Effect.flatMapEager((out) => {
|
|
456
|
-
const issue = SchemaIssue.makeSingle(t,
|
|
476
|
+
const issue = SchemaIssue.makeSingle(out, t, options)
|
|
457
477
|
return issue ?
|
|
458
478
|
Effect.fail(issue) :
|
|
459
479
|
Effect.succeed(Option.some(t))
|
|
@@ -479,7 +499,7 @@ export function checkEffect<T, R = never>(
|
|
|
479
499
|
*
|
|
480
500
|
* **Example** (Transforming strings to numbers)
|
|
481
501
|
*
|
|
482
|
-
* ```ts
|
|
502
|
+
* ```ts import.meta.vitest
|
|
483
503
|
* import { Schema, SchemaGetter } from "effect"
|
|
484
504
|
*
|
|
485
505
|
* const NumberFromString = Schema.String.pipe(
|
|
@@ -488,13 +508,14 @@ export function checkEffect<T, R = never>(
|
|
|
488
508
|
* encode: SchemaGetter.transform((n) => String(n))
|
|
489
509
|
* })
|
|
490
510
|
* )
|
|
511
|
+
* Schema.decodeSync(NumberFromString)("42") // => 42
|
|
491
512
|
* ```
|
|
492
513
|
*
|
|
493
514
|
* @see {@link transformOrFail} when the transformation can fail
|
|
494
515
|
* @see {@link transformOptional} when you need to handle `None` inputs
|
|
495
516
|
* @see {@link passthrough} when no transformation is needed
|
|
496
517
|
*
|
|
497
|
-
* @category
|
|
518
|
+
* @category transforming
|
|
498
519
|
* @since 4.0.0
|
|
499
520
|
*/
|
|
500
521
|
export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
|
|
@@ -517,23 +538,24 @@ export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
|
|
|
517
538
|
*
|
|
518
539
|
* **Example** (Parsing with failure)
|
|
519
540
|
*
|
|
520
|
-
* ```ts
|
|
541
|
+
* ```ts import.meta.vitest
|
|
521
542
|
* import { Effect, Option, SchemaGetter, SchemaIssue } from "effect"
|
|
522
543
|
*
|
|
523
544
|
* const safeParseInt = SchemaGetter.transformOrFail<number, string>(
|
|
524
|
-
* (s) => {
|
|
545
|
+
* (s, options) => {
|
|
525
546
|
* const n = parseInt(s, 10)
|
|
526
547
|
* return isNaN(n)
|
|
527
|
-
* ? Effect.fail(new SchemaIssue.InvalidValue(
|
|
548
|
+
* ? Effect.fail(new SchemaIssue.InvalidValue({ message: "not an integer" }, s, options))
|
|
528
549
|
* : Effect.succeed(n)
|
|
529
550
|
* }
|
|
530
551
|
* )
|
|
552
|
+
* await Effect.runPromise(safeParseInt.run(Option.some("42"), {})) // => Option.some(42)
|
|
531
553
|
* ```
|
|
532
554
|
*
|
|
533
555
|
* @see {@link transform} when transformation cannot fail
|
|
534
556
|
* @see {@link onSome} when you need full `Option` control over the output
|
|
535
557
|
*
|
|
536
|
-
* @category
|
|
558
|
+
* @category transforming
|
|
537
559
|
* @since 4.0.0
|
|
538
560
|
*/
|
|
539
561
|
export function transformOrFail<T, E, R = never>(
|
|
@@ -557,18 +579,19 @@ export function transformOrFail<T, E, R = never>(
|
|
|
557
579
|
*
|
|
558
580
|
* **Example** (Filtering out empty strings)
|
|
559
581
|
*
|
|
560
|
-
* ```ts
|
|
561
|
-
* import { Option, SchemaGetter } from "effect"
|
|
582
|
+
* ```ts import.meta.vitest
|
|
583
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
562
584
|
*
|
|
563
585
|
* const skipEmpty = SchemaGetter.transformOptional<string, string>((o) =>
|
|
564
586
|
* Option.filter(o, (s) => s.length > 0)
|
|
565
587
|
* )
|
|
588
|
+
* await Effect.runPromise(skipEmpty.run(Option.some(""), {})) // => Option.none()
|
|
566
589
|
* ```
|
|
567
590
|
*
|
|
568
591
|
* @see {@link transform} when you only need to transform present values
|
|
569
592
|
* @see {@link omit} when you always want `None`
|
|
570
593
|
*
|
|
571
|
-
* @category
|
|
594
|
+
* @category transforming
|
|
572
595
|
* @since 4.0.0
|
|
573
596
|
*/
|
|
574
597
|
export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Option<T>): Getter<T, E> {
|
|
@@ -590,16 +613,17 @@ export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Opti
|
|
|
590
613
|
*
|
|
591
614
|
* **Example** (Omitting a field during encoding)
|
|
592
615
|
*
|
|
593
|
-
* ```ts
|
|
594
|
-
* import { SchemaGetter } from "effect"
|
|
616
|
+
* ```ts import.meta.vitest
|
|
617
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
595
618
|
*
|
|
596
619
|
* const omitField = SchemaGetter.omit<string>()
|
|
620
|
+
* await Effect.runPromise(omitField.run(Option.some("hidden"), {})) // => Option.none()
|
|
597
621
|
* ```
|
|
598
622
|
*
|
|
599
623
|
* @see {@link transformOptional} when you want conditional omission
|
|
600
624
|
* @see {@link forbidden} when you want to fail instead of silently omit
|
|
601
625
|
*
|
|
602
|
-
* @category
|
|
626
|
+
* @category filtering
|
|
603
627
|
* @since 4.0.0
|
|
604
628
|
*/
|
|
605
629
|
export function omit<T>(): Getter<never, T> {
|
|
@@ -622,17 +646,17 @@ export function omit<T>(): Getter<never, T> {
|
|
|
622
646
|
*
|
|
623
647
|
* **Example** (Providing a default value for an optional field)
|
|
624
648
|
*
|
|
625
|
-
* ```ts
|
|
626
|
-
* import { Effect, SchemaGetter } from "effect"
|
|
649
|
+
* ```ts import.meta.vitest
|
|
650
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
627
651
|
*
|
|
628
652
|
* const withZero = SchemaGetter.withDefault(Effect.succeed(0))
|
|
629
|
-
*
|
|
653
|
+
* await Effect.runPromise(withZero.run(Option.some(undefined), {})) // => Option.some(0)
|
|
630
654
|
* ```
|
|
631
655
|
*
|
|
632
656
|
* @see {@link onNone} to handle only absent keys (not `undefined` values)
|
|
633
657
|
* @see {@link required} when absent input should fail instead of using a default
|
|
634
658
|
*
|
|
635
|
-
* @category
|
|
659
|
+
* @category transforming
|
|
636
660
|
* @since 4.0.0
|
|
637
661
|
*/
|
|
638
662
|
export function withDefault<T, R = never>(
|
|
@@ -658,16 +682,16 @@ export function withDefault<T, R = never>(
|
|
|
658
682
|
*
|
|
659
683
|
* **Example** (Coercing to a string)
|
|
660
684
|
*
|
|
661
|
-
* ```ts
|
|
662
|
-
* import { SchemaGetter } from "effect"
|
|
685
|
+
* ```ts import.meta.vitest
|
|
686
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
663
687
|
*
|
|
664
688
|
* const toString = SchemaGetter.String<number>()
|
|
665
|
-
*
|
|
689
|
+
* await Effect.runPromise(toString.run(Option.some(42), {})) // => Option.some("42")
|
|
666
690
|
* ```
|
|
667
691
|
*
|
|
668
692
|
* @see {@link transform} for custom string conversions
|
|
669
693
|
*
|
|
670
|
-
* @category
|
|
694
|
+
* @category converting
|
|
671
695
|
* @since 4.0.0
|
|
672
696
|
*/
|
|
673
697
|
export function String<E>(): Getter<string, E> {
|
|
@@ -689,16 +713,16 @@ export function String<E>(): Getter<string, E> {
|
|
|
689
713
|
*
|
|
690
714
|
* **Example** (Coercing to a number)
|
|
691
715
|
*
|
|
692
|
-
* ```ts
|
|
693
|
-
* import { SchemaGetter } from "effect"
|
|
716
|
+
* ```ts import.meta.vitest
|
|
717
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
694
718
|
*
|
|
695
719
|
* const toNumber = SchemaGetter.Number<string>()
|
|
696
|
-
*
|
|
720
|
+
* await Effect.runPromise(toNumber.run(Option.some("42"), {})) // => Option.some(42)
|
|
697
721
|
* ```
|
|
698
722
|
*
|
|
699
723
|
* @see {@link transformOrFail} for validated number parsing
|
|
700
724
|
*
|
|
701
|
-
* @category
|
|
725
|
+
* @category converting
|
|
702
726
|
* @since 4.0.0
|
|
703
727
|
*/
|
|
704
728
|
export function Number<E>(): Getter<number, E> {
|
|
@@ -719,14 +743,14 @@ export function Number<E>(): Getter<number, E> {
|
|
|
719
743
|
*
|
|
720
744
|
* **Example** (Coercing to a boolean)
|
|
721
745
|
*
|
|
722
|
-
* ```ts
|
|
723
|
-
* import { SchemaGetter } from "effect"
|
|
746
|
+
* ```ts import.meta.vitest
|
|
747
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
724
748
|
*
|
|
725
749
|
* const toBool = SchemaGetter.Boolean<string>()
|
|
726
|
-
*
|
|
750
|
+
* await Effect.runPromise(toBool.run(Option.some("true"), {})) // => Option.some(true)
|
|
727
751
|
* ```
|
|
728
752
|
*
|
|
729
|
-
* @category
|
|
753
|
+
* @category converting
|
|
730
754
|
* @since 4.0.0
|
|
731
755
|
*/
|
|
732
756
|
export function Boolean<E>(): Getter<boolean, E> {
|
|
@@ -748,14 +772,14 @@ export function Boolean<E>(): Getter<boolean, E> {
|
|
|
748
772
|
*
|
|
749
773
|
* **Example** (Coercing to a bigint)
|
|
750
774
|
*
|
|
751
|
-
* ```ts
|
|
752
|
-
* import { SchemaGetter } from "effect"
|
|
775
|
+
* ```ts import.meta.vitest
|
|
776
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
753
777
|
*
|
|
754
778
|
* const toBigInt = SchemaGetter.BigInt<string>()
|
|
755
|
-
*
|
|
779
|
+
* await Effect.runPromise(toBigInt.run(Option.some("42"), {})) // => Option.some(42n)
|
|
756
780
|
* ```
|
|
757
781
|
*
|
|
758
|
-
* @category
|
|
782
|
+
* @category converting
|
|
759
783
|
* @since 4.0.0
|
|
760
784
|
*/
|
|
761
785
|
export function BigInt<E extends string | number | bigint | boolean>(): Getter<bigint, E> {
|
|
@@ -777,16 +801,17 @@ export function BigInt<E extends string | number | bigint | boolean>(): Getter<b
|
|
|
777
801
|
*
|
|
778
802
|
* **Example** (Coercing to a Date)
|
|
779
803
|
*
|
|
780
|
-
* ```ts
|
|
781
|
-
* import { SchemaGetter } from "effect"
|
|
804
|
+
* ```ts import.meta.vitest
|
|
805
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
782
806
|
*
|
|
783
807
|
* const toDate = SchemaGetter.Date<string>()
|
|
784
|
-
*
|
|
808
|
+
* const result = await Effect.runPromise(toDate.run(Option.some("1970-01-01"), {}))
|
|
809
|
+
* Option.map(result, (date) => date.toISOString()) // => Option.some("1970-01-01T00:00:00.000Z")
|
|
785
810
|
* ```
|
|
786
811
|
*
|
|
787
812
|
* @see {@link dateTimeUtcFromInput} for validated DateTime parsing
|
|
788
813
|
*
|
|
789
|
-
* @category
|
|
814
|
+
* @category converting
|
|
790
815
|
* @since 4.0.0
|
|
791
816
|
*/
|
|
792
817
|
export function Date<E extends string | number | Date>(): Getter<Date, E> {
|
|
@@ -802,13 +827,14 @@ export function Date<E extends string | number | Date>(): Getter<Date, E> {
|
|
|
802
827
|
*
|
|
803
828
|
* **Example** (Trimming whitespace)
|
|
804
829
|
*
|
|
805
|
-
* ```ts
|
|
806
|
-
* import { SchemaGetter } from "effect"
|
|
830
|
+
* ```ts import.meta.vitest
|
|
831
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
807
832
|
*
|
|
808
833
|
* const trimmed = SchemaGetter.trim<string>()
|
|
834
|
+
* await Effect.runPromise(trimmed.run(Option.some(" hello "), {})) // => Option.some("hello")
|
|
809
835
|
* ```
|
|
810
836
|
*
|
|
811
|
-
* @category
|
|
837
|
+
* @category transforming
|
|
812
838
|
* @since 4.0.0
|
|
813
839
|
*/
|
|
814
840
|
export function trim<E extends string>(): Getter<string, E> {
|
|
@@ -824,13 +850,14 @@ export function trim<E extends string>(): Getter<string, E> {
|
|
|
824
850
|
*
|
|
825
851
|
* **Example** (Capitalizing a string)
|
|
826
852
|
*
|
|
827
|
-
* ```ts
|
|
828
|
-
* import { SchemaGetter } from "effect"
|
|
853
|
+
* ```ts import.meta.vitest
|
|
854
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
829
855
|
*
|
|
830
856
|
* const cap = SchemaGetter.capitalize<string>()
|
|
857
|
+
* await Effect.runPromise(cap.run(Option.some("hello"), {})) // => Option.some("Hello")
|
|
831
858
|
* ```
|
|
832
859
|
*
|
|
833
|
-
* @category
|
|
860
|
+
* @category transforming
|
|
834
861
|
* @since 4.0.0
|
|
835
862
|
*/
|
|
836
863
|
export function capitalize<E extends string>(): Getter<string, E> {
|
|
@@ -846,13 +873,14 @@ export function capitalize<E extends string>(): Getter<string, E> {
|
|
|
846
873
|
*
|
|
847
874
|
* **Example** (Uncapitalizing a string)
|
|
848
875
|
*
|
|
849
|
-
* ```ts
|
|
850
|
-
* import { SchemaGetter } from "effect"
|
|
876
|
+
* ```ts import.meta.vitest
|
|
877
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
851
878
|
*
|
|
852
879
|
* const uncap = SchemaGetter.uncapitalize<string>()
|
|
880
|
+
* await Effect.runPromise(uncap.run(Option.some("Hello"), {})) // => Option.some("hello")
|
|
853
881
|
* ```
|
|
854
882
|
*
|
|
855
|
-
* @category
|
|
883
|
+
* @category transforming
|
|
856
884
|
* @since 4.0.0
|
|
857
885
|
*/
|
|
858
886
|
export function uncapitalize<E extends string>(): Getter<string, E> {
|
|
@@ -868,15 +896,16 @@ export function uncapitalize<E extends string>(): Getter<string, E> {
|
|
|
868
896
|
*
|
|
869
897
|
* **Example** (Converting snake case to camel case)
|
|
870
898
|
*
|
|
871
|
-
* ```ts
|
|
872
|
-
* import { SchemaGetter } from "effect"
|
|
899
|
+
* ```ts import.meta.vitest
|
|
900
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
873
901
|
*
|
|
874
902
|
* const toCamel = SchemaGetter.snakeToCamel<string>()
|
|
903
|
+
* await Effect.runPromise(toCamel.run(Option.some("user_name"), {})) // => Option.some("userName")
|
|
875
904
|
* ```
|
|
876
905
|
*
|
|
877
906
|
* @see {@link camelToSnake} for the inverse operation
|
|
878
907
|
*
|
|
879
|
-
* @category
|
|
908
|
+
* @category transforming
|
|
880
909
|
* @since 4.0.0
|
|
881
910
|
*/
|
|
882
911
|
export function snakeToCamel<E extends string>(): Getter<string, E> {
|
|
@@ -892,15 +921,16 @@ export function snakeToCamel<E extends string>(): Getter<string, E> {
|
|
|
892
921
|
*
|
|
893
922
|
* **Example** (Converting camel case to snake case)
|
|
894
923
|
*
|
|
895
|
-
* ```ts
|
|
896
|
-
* import { SchemaGetter } from "effect"
|
|
924
|
+
* ```ts import.meta.vitest
|
|
925
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
897
926
|
*
|
|
898
927
|
* const toSnake = SchemaGetter.camelToSnake<string>()
|
|
928
|
+
* await Effect.runPromise(toSnake.run(Option.some("userName"), {})) // => Option.some("user_name")
|
|
899
929
|
* ```
|
|
900
930
|
*
|
|
901
931
|
* @see {@link snakeToCamel} for the inverse operation
|
|
902
932
|
*
|
|
903
|
-
* @category
|
|
933
|
+
* @category transforming
|
|
904
934
|
* @since 4.0.0
|
|
905
935
|
*/
|
|
906
936
|
export function camelToSnake<E extends string>(): Getter<string, E> {
|
|
@@ -916,15 +946,16 @@ export function camelToSnake<E extends string>(): Getter<string, E> {
|
|
|
916
946
|
*
|
|
917
947
|
* **Example** (Converting to lowercase)
|
|
918
948
|
*
|
|
919
|
-
* ```ts
|
|
920
|
-
* import { SchemaGetter } from "effect"
|
|
949
|
+
* ```ts import.meta.vitest
|
|
950
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
921
951
|
*
|
|
922
952
|
* const lower = SchemaGetter.toLowerCase<string>()
|
|
953
|
+
* await Effect.runPromise(lower.run(Option.some("HELLO"), {})) // => Option.some("hello")
|
|
923
954
|
* ```
|
|
924
955
|
*
|
|
925
956
|
* @see {@link toUpperCase} for the inverse operation
|
|
926
957
|
*
|
|
927
|
-
* @category
|
|
958
|
+
* @category transforming
|
|
928
959
|
* @since 4.0.0
|
|
929
960
|
*/
|
|
930
961
|
export function toLowerCase<E extends string>(): Getter<string, E> {
|
|
@@ -940,15 +971,16 @@ export function toLowerCase<E extends string>(): Getter<string, E> {
|
|
|
940
971
|
*
|
|
941
972
|
* **Example** (Converting to uppercase)
|
|
942
973
|
*
|
|
943
|
-
* ```ts
|
|
944
|
-
* import { SchemaGetter } from "effect"
|
|
974
|
+
* ```ts import.meta.vitest
|
|
975
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
945
976
|
*
|
|
946
977
|
* const upper = SchemaGetter.toUpperCase<string>()
|
|
978
|
+
* await Effect.runPromise(upper.run(Option.some("hello"), {})) // => Option.some("HELLO")
|
|
947
979
|
* ```
|
|
948
980
|
*
|
|
949
981
|
* @see {@link toLowerCase} for the inverse operation
|
|
950
982
|
*
|
|
951
|
-
* @category
|
|
983
|
+
* @category transforming
|
|
952
984
|
* @since 4.0.0
|
|
953
985
|
*/
|
|
954
986
|
export function toUpperCase<E extends string>(): Getter<string, E> {
|
|
@@ -972,35 +1004,53 @@ type ParseJsonOptions = {
|
|
|
972
1004
|
* - Skips `None` inputs.
|
|
973
1005
|
* - Without `reviver`: returns `Schema.MutableJson` (typed JSON).
|
|
974
1006
|
* - With `reviver`: returns `unknown` (reviver may produce arbitrary values).
|
|
975
|
-
* - On parse failure, fails with `SchemaIssue.InvalidValue`
|
|
1007
|
+
* - On parse failure, fails with `SchemaIssue.InvalidValue` whose `expected`
|
|
1008
|
+
* annotation is `"a valid JSON string"`. Its default message includes the
|
|
1009
|
+
* reported input when `reportInput` is enabled.
|
|
976
1010
|
*
|
|
977
1011
|
* **Example** (Parsing JSON)
|
|
978
1012
|
*
|
|
979
|
-
* ```ts
|
|
980
|
-
* import { SchemaGetter } from "effect"
|
|
1013
|
+
* ```ts import.meta.vitest
|
|
1014
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
981
1015
|
*
|
|
982
1016
|
* const parse = SchemaGetter.parseJson<string>()
|
|
983
|
-
*
|
|
1017
|
+
* await Effect.runPromise(parse.run(Option.some("{\"a\":1}"), {})) // => Option.some({ a: 1 })
|
|
984
1018
|
* ```
|
|
985
1019
|
*
|
|
986
1020
|
* @see {@link stringifyJson} for the inverse operation
|
|
987
1021
|
*
|
|
988
|
-
* @category
|
|
1022
|
+
* @category decoding
|
|
989
1023
|
* @since 4.0.0
|
|
990
1024
|
*/
|
|
991
1025
|
export function parseJson<E extends string>(): Getter<Schema.MutableJson, E>
|
|
992
1026
|
export function parseJson<E extends string>(options: ParseJsonOptions): Getter<unknown, E>
|
|
993
1027
|
export function parseJson<E extends string>(options?: ParseJsonOptions | undefined): Getter<unknown, E> {
|
|
994
|
-
return onSome((input) =>
|
|
1028
|
+
return onSome((input, parseOptions) =>
|
|
995
1029
|
Effect.try({
|
|
996
1030
|
try: () => Option.some(JSON.parse(input, options?.reviver)),
|
|
997
|
-
catch: (
|
|
1031
|
+
catch: () =>
|
|
1032
|
+
new SchemaIssue.InvalidValue(
|
|
1033
|
+
{ expected: "a valid JSON string" },
|
|
1034
|
+
input,
|
|
1035
|
+
parseOptions
|
|
1036
|
+
)
|
|
998
1037
|
})
|
|
999
1038
|
)
|
|
1000
1039
|
}
|
|
1001
1040
|
|
|
1041
|
+
/**
|
|
1042
|
+
* Replacer function or property allowlist accepted by `JSON.stringify`.
|
|
1043
|
+
*
|
|
1044
|
+
* @category utility types
|
|
1045
|
+
* @since 4.0.0
|
|
1046
|
+
*/
|
|
1047
|
+
export type JsonReplacer =
|
|
1048
|
+
| ((this: any, key: string, value: any) => any)
|
|
1049
|
+
| Array<string | number>
|
|
1050
|
+
| null
|
|
1051
|
+
|
|
1002
1052
|
type StringifyJsonOptions = {
|
|
1003
|
-
readonly replacer?:
|
|
1053
|
+
readonly replacer?: JsonReplacer | undefined
|
|
1004
1054
|
readonly space?: Parameters<typeof JSON.stringify>[2]
|
|
1005
1055
|
}
|
|
1006
1056
|
|
|
@@ -1015,33 +1065,41 @@ type StringifyJsonOptions = {
|
|
|
1015
1065
|
* **Details**
|
|
1016
1066
|
*
|
|
1017
1067
|
* - Skips `None` inputs.
|
|
1018
|
-
* -
|
|
1068
|
+
* - If `JSON.stringify` throws or returns `undefined`, fails with
|
|
1019
1069
|
* `SchemaIssue.InvalidValue`.
|
|
1020
1070
|
* - Supports optional `replacer` and `space` options, matching
|
|
1021
1071
|
* `JSON.stringify`.
|
|
1022
|
-
* - If `JSON.stringify` returns `undefined`, such as for `undefined`,
|
|
1023
|
-
* functions, symbols, or a replacer that removes the root value, that
|
|
1024
|
-
* `undefined` result is returned rather than converted into an `Issue`.
|
|
1025
1072
|
*
|
|
1026
1073
|
* **Example** (Stringifying JSON)
|
|
1027
1074
|
*
|
|
1028
|
-
* ```ts
|
|
1029
|
-
* import { SchemaGetter } from "effect"
|
|
1075
|
+
* ```ts import.meta.vitest
|
|
1076
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1030
1077
|
*
|
|
1031
1078
|
* const stringify = SchemaGetter.stringifyJson()
|
|
1032
|
-
*
|
|
1079
|
+
* await Effect.runPromise(stringify.run(Option.some({ a: 1 }), {})) // => Option.some("{\"a\":1}")
|
|
1033
1080
|
* ```
|
|
1034
1081
|
*
|
|
1035
1082
|
* @see {@link parseJson} for the inverse operation
|
|
1036
1083
|
*
|
|
1037
|
-
* @category
|
|
1084
|
+
* @category encoding
|
|
1038
1085
|
* @since 4.0.0
|
|
1039
1086
|
*/
|
|
1040
1087
|
export function stringifyJson(options?: StringifyJsonOptions): Getter<string, unknown> {
|
|
1041
|
-
return onSome((input) =>
|
|
1088
|
+
return onSome((input, parseOptions) =>
|
|
1042
1089
|
Effect.try({
|
|
1043
|
-
try: () =>
|
|
1044
|
-
|
|
1090
|
+
try: () => {
|
|
1091
|
+
const output = JSON.stringify(input, options?.replacer as any, options?.space)
|
|
1092
|
+
if (output === undefined) {
|
|
1093
|
+
throw new TypeError("Value cannot be represented as JSON")
|
|
1094
|
+
}
|
|
1095
|
+
return Option.some(output)
|
|
1096
|
+
},
|
|
1097
|
+
catch: () =>
|
|
1098
|
+
new SchemaIssue.InvalidValue(
|
|
1099
|
+
{ expected: "a JSON-serializable value" },
|
|
1100
|
+
input,
|
|
1101
|
+
parseOptions
|
|
1102
|
+
)
|
|
1045
1103
|
})
|
|
1046
1104
|
)
|
|
1047
1105
|
}
|
|
@@ -1062,17 +1120,17 @@ export function stringifyJson(options?: StringifyJsonOptions): Getter<string, un
|
|
|
1062
1120
|
*
|
|
1063
1121
|
* **Example** (Parsing a key-value string)
|
|
1064
1122
|
*
|
|
1065
|
-
* ```ts
|
|
1066
|
-
* import { SchemaGetter } from "effect"
|
|
1123
|
+
* ```ts import.meta.vitest
|
|
1124
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1067
1125
|
*
|
|
1068
1126
|
* const parse = SchemaGetter.splitKeyValue<string>()
|
|
1069
|
-
*
|
|
1127
|
+
* await Effect.runPromise(parse.run(Option.some("a=1,b=2"), {})) // => Option.some({ a: "1", b: "2" })
|
|
1070
1128
|
* ```
|
|
1071
1129
|
*
|
|
1072
1130
|
* @see {@link joinKeyValue} for the inverse operation
|
|
1073
1131
|
* @see {@link split} to split into an array of strings
|
|
1074
1132
|
*
|
|
1075
|
-
* @category
|
|
1133
|
+
* @category splitting
|
|
1076
1134
|
* @since 4.0.0
|
|
1077
1135
|
*/
|
|
1078
1136
|
export function splitKeyValue<E extends string>(options?: {
|
|
@@ -1085,7 +1143,7 @@ export function splitKeyValue<E extends string>(options?: {
|
|
|
1085
1143
|
input.split(separator).reduce((acc, pair) => {
|
|
1086
1144
|
const [key, value] = pair.split(keyValueSeparator)
|
|
1087
1145
|
if (key && value) {
|
|
1088
|
-
acc
|
|
1146
|
+
InternalRecord.assignProperty(acc, key, value)
|
|
1089
1147
|
}
|
|
1090
1148
|
return acc
|
|
1091
1149
|
}, {} as Record<string, string>)
|
|
@@ -1108,16 +1166,16 @@ export function splitKeyValue<E extends string>(options?: {
|
|
|
1108
1166
|
*
|
|
1109
1167
|
* **Example** (Joining key-value records)
|
|
1110
1168
|
*
|
|
1111
|
-
* ```ts
|
|
1112
|
-
* import { SchemaGetter } from "effect"
|
|
1169
|
+
* ```ts import.meta.vitest
|
|
1170
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1113
1171
|
*
|
|
1114
1172
|
* const join = SchemaGetter.joinKeyValue()
|
|
1115
|
-
*
|
|
1173
|
+
* await Effect.runPromise(join.run(Option.some({ a: "1", b: "2" }), {})) // => Option.some("a=1,b=2")
|
|
1116
1174
|
* ```
|
|
1117
1175
|
*
|
|
1118
1176
|
* @see {@link splitKeyValue} for the inverse operation
|
|
1119
1177
|
*
|
|
1120
|
-
* @category
|
|
1178
|
+
* @category combining
|
|
1121
1179
|
* @since 4.0.0
|
|
1122
1180
|
*/
|
|
1123
1181
|
export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
|
|
@@ -1146,17 +1204,16 @@ export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
|
|
|
1146
1204
|
*
|
|
1147
1205
|
* **Example** (Splitting a comma-separated string)
|
|
1148
1206
|
*
|
|
1149
|
-
* ```ts
|
|
1150
|
-
* import { SchemaGetter } from "effect"
|
|
1207
|
+
* ```ts import.meta.vitest
|
|
1208
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1151
1209
|
*
|
|
1152
1210
|
* const splitComma = SchemaGetter.split<string>()
|
|
1153
|
-
*
|
|
1154
|
-
* // "" -> []
|
|
1211
|
+
* await Effect.runPromise(splitComma.run(Option.some("a,b,c"), {})) // => Option.some(["a", "b", "c"])
|
|
1155
1212
|
* ```
|
|
1156
1213
|
*
|
|
1157
1214
|
* @see {@link splitKeyValue} when values are key-value pairs
|
|
1158
1215
|
*
|
|
1159
|
-
* @category
|
|
1216
|
+
* @category splitting
|
|
1160
1217
|
* @since 4.0.0
|
|
1161
1218
|
*/
|
|
1162
1219
|
export function split<E extends string>(options?: {
|
|
@@ -1175,17 +1232,18 @@ export function split<E extends string>(options?: {
|
|
|
1175
1232
|
*
|
|
1176
1233
|
* **Example** (Encoding to Base64)
|
|
1177
1234
|
*
|
|
1178
|
-
* ```ts
|
|
1179
|
-
* import { SchemaGetter } from "effect"
|
|
1235
|
+
* ```ts import.meta.vitest
|
|
1236
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1180
1237
|
*
|
|
1181
1238
|
* const encode = SchemaGetter.encodeBase64<Uint8Array>()
|
|
1239
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("AQID")
|
|
1182
1240
|
* ```
|
|
1183
1241
|
*
|
|
1184
1242
|
* @see {@link decodeBase64} for the inverse operation to `Uint8Array`
|
|
1185
1243
|
* @see {@link decodeBase64String} for the inverse operation to `string`
|
|
1186
1244
|
* @see {@link encodeBase64Url} for the URL-safe variant
|
|
1187
1245
|
*
|
|
1188
|
-
* @category
|
|
1246
|
+
* @category encoding
|
|
1189
1247
|
* @since 4.0.0
|
|
1190
1248
|
*/
|
|
1191
1249
|
export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1201,17 +1259,18 @@ export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E>
|
|
|
1201
1259
|
*
|
|
1202
1260
|
* **Example** (Encoding to Base64Url)
|
|
1203
1261
|
*
|
|
1204
|
-
* ```ts
|
|
1205
|
-
* import { SchemaGetter } from "effect"
|
|
1262
|
+
* ```ts import.meta.vitest
|
|
1263
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1206
1264
|
*
|
|
1207
1265
|
* const encode = SchemaGetter.encodeBase64Url<Uint8Array>()
|
|
1266
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([251, 255])), {})) // => Option.some("-_8")
|
|
1208
1267
|
* ```
|
|
1209
1268
|
*
|
|
1210
1269
|
* @see {@link decodeBase64Url} for the inverse operation to `Uint8Array`
|
|
1211
1270
|
* @see {@link decodeBase64UrlString} for the inverse operation to `string`
|
|
1212
1271
|
* @see {@link encodeBase64} for the standard Base64 variant
|
|
1213
1272
|
*
|
|
1214
|
-
* @category
|
|
1273
|
+
* @category encoding
|
|
1215
1274
|
* @since 4.0.0
|
|
1216
1275
|
*/
|
|
1217
1276
|
export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1227,16 +1286,17 @@ export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string,
|
|
|
1227
1286
|
*
|
|
1228
1287
|
* **Example** (Encoding to hex)
|
|
1229
1288
|
*
|
|
1230
|
-
* ```ts
|
|
1231
|
-
* import { SchemaGetter } from "effect"
|
|
1289
|
+
* ```ts import.meta.vitest
|
|
1290
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1232
1291
|
*
|
|
1233
1292
|
* const encode = SchemaGetter.encodeHex<Uint8Array>()
|
|
1293
|
+
* await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("010203")
|
|
1234
1294
|
* ```
|
|
1235
1295
|
*
|
|
1236
1296
|
* @see {@link decodeHex} for the inverse operation to `Uint8Array`
|
|
1237
1297
|
* @see {@link decodeHexString} for the inverse operation to `string`
|
|
1238
1298
|
*
|
|
1239
|
-
* @category
|
|
1299
|
+
* @category encoding
|
|
1240
1300
|
* @since 4.0.0
|
|
1241
1301
|
*/
|
|
1242
1302
|
export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
@@ -1252,24 +1312,30 @@ export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
|
|
|
1252
1312
|
*
|
|
1253
1313
|
* **Example** (Decoding Base64 to bytes)
|
|
1254
1314
|
*
|
|
1255
|
-
* ```ts
|
|
1256
|
-
* import { SchemaGetter } from "effect"
|
|
1315
|
+
* ```ts import.meta.vitest
|
|
1316
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1257
1317
|
*
|
|
1258
1318
|
* const decode = SchemaGetter.decodeBase64<string>()
|
|
1259
|
-
*
|
|
1319
|
+
* const result = await Effect.runPromise(decode.run(Option.some("AQID"), {}))
|
|
1320
|
+
* Option.map(result, Array.from) // => Option.some([1, 2, 3])
|
|
1260
1321
|
* ```
|
|
1261
1322
|
*
|
|
1262
1323
|
* @see {@link decodeBase64String} to decode to `string` instead
|
|
1263
1324
|
* @see {@link encodeBase64} for the inverse operation
|
|
1264
1325
|
*
|
|
1265
|
-
* @category
|
|
1326
|
+
* @category decoding
|
|
1266
1327
|
* @since 4.0.0
|
|
1267
1328
|
*/
|
|
1268
1329
|
export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
1269
|
-
return transformOrFail((input) =>
|
|
1330
|
+
return transformOrFail((input, options) =>
|
|
1270
1331
|
Effect.mapErrorEager(
|
|
1271
1332
|
Effect.fromResult(Encoding.decodeBase64(input)),
|
|
1272
|
-
(
|
|
1333
|
+
() =>
|
|
1334
|
+
new SchemaIssue.InvalidValue(
|
|
1335
|
+
{ expected: "a valid Base64 string" },
|
|
1336
|
+
input,
|
|
1337
|
+
options
|
|
1338
|
+
)
|
|
1273
1339
|
)
|
|
1274
1340
|
)
|
|
1275
1341
|
}
|
|
@@ -1283,23 +1349,30 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1283
1349
|
*
|
|
1284
1350
|
* **Example** (Decoding Base64 to string)
|
|
1285
1351
|
*
|
|
1286
|
-
* ```ts
|
|
1287
|
-
* import { SchemaGetter } from "effect"
|
|
1352
|
+
* ```ts import.meta.vitest
|
|
1353
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1288
1354
|
*
|
|
1289
1355
|
* const decode = SchemaGetter.decodeBase64String<string>()
|
|
1290
|
-
*
|
|
1356
|
+
* await Effect.runPromise(decode.run(Option.some("aGVsbG8="), {})) // => Option.some("hello")
|
|
1291
1357
|
* ```
|
|
1292
1358
|
*
|
|
1293
1359
|
* @see {@link decodeBase64} to decode to `Uint8Array` instead
|
|
1294
1360
|
* @see {@link encodeBase64} for the inverse operation
|
|
1295
1361
|
*
|
|
1296
|
-
* @category
|
|
1362
|
+
* @category decoding
|
|
1297
1363
|
* @since 4.0.0
|
|
1298
1364
|
*/
|
|
1299
1365
|
export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
1300
|
-
return transformOrFail((input) =>
|
|
1366
|
+
return transformOrFail((input, options) =>
|
|
1301
1367
|
Result.match(Encoding.decodeBase64String(input), {
|
|
1302
|
-
onFailure: (
|
|
1368
|
+
onFailure: () =>
|
|
1369
|
+
Effect.fail(
|
|
1370
|
+
new SchemaIssue.InvalidValue(
|
|
1371
|
+
{ expected: "a valid Base64 string" },
|
|
1372
|
+
input,
|
|
1373
|
+
options
|
|
1374
|
+
)
|
|
1375
|
+
),
|
|
1303
1376
|
onSuccess: Effect.succeed
|
|
1304
1377
|
})
|
|
1305
1378
|
)
|
|
@@ -1314,23 +1387,31 @@ export function decodeBase64String<E extends string>(): Getter<string, E> {
|
|
|
1314
1387
|
*
|
|
1315
1388
|
* **Example** (Decoding Base64Url to bytes)
|
|
1316
1389
|
*
|
|
1317
|
-
* ```ts
|
|
1318
|
-
* import { SchemaGetter } from "effect"
|
|
1390
|
+
* ```ts import.meta.vitest
|
|
1391
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1319
1392
|
*
|
|
1320
1393
|
* const decode = SchemaGetter.decodeBase64Url<string>()
|
|
1321
|
-
*
|
|
1394
|
+
* const result = await Effect.runPromise(decode.run(Option.some("-_8="), {}))
|
|
1395
|
+
* Option.map(result, Array.from) // => Option.some([251, 255])
|
|
1322
1396
|
* ```
|
|
1323
1397
|
*
|
|
1324
1398
|
* @see {@link decodeBase64UrlString} to decode to `string` instead
|
|
1325
1399
|
* @see {@link encodeBase64Url} for the inverse operation
|
|
1326
1400
|
*
|
|
1327
|
-
* @category
|
|
1401
|
+
* @category decoding
|
|
1328
1402
|
* @since 4.0.0
|
|
1329
1403
|
*/
|
|
1330
1404
|
export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
1331
|
-
return transformOrFail((input) =>
|
|
1405
|
+
return transformOrFail((input, options) =>
|
|
1332
1406
|
Result.match(Encoding.decodeBase64Url(input), {
|
|
1333
|
-
onFailure: (
|
|
1407
|
+
onFailure: () =>
|
|
1408
|
+
Effect.fail(
|
|
1409
|
+
new SchemaIssue.InvalidValue(
|
|
1410
|
+
{ expected: "a valid Base64Url string" },
|
|
1411
|
+
input,
|
|
1412
|
+
options
|
|
1413
|
+
)
|
|
1414
|
+
),
|
|
1334
1415
|
onSuccess: Effect.succeed
|
|
1335
1416
|
})
|
|
1336
1417
|
)
|
|
@@ -1345,23 +1426,30 @@ export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1345
1426
|
*
|
|
1346
1427
|
* **Example** (Decoding Base64Url to string)
|
|
1347
1428
|
*
|
|
1348
|
-
* ```ts
|
|
1349
|
-
* import { SchemaGetter } from "effect"
|
|
1429
|
+
* ```ts import.meta.vitest
|
|
1430
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1350
1431
|
*
|
|
1351
1432
|
* const decode = SchemaGetter.decodeBase64UrlString<string>()
|
|
1352
|
-
*
|
|
1433
|
+
* await Effect.runPromise(decode.run(Option.some("aGVsbG8"), {})) // => Option.some("hello")
|
|
1353
1434
|
* ```
|
|
1354
1435
|
*
|
|
1355
1436
|
* @see {@link decodeBase64Url} to decode to `Uint8Array` instead
|
|
1356
1437
|
* @see {@link encodeBase64Url} for the inverse operation
|
|
1357
1438
|
*
|
|
1358
|
-
* @category
|
|
1439
|
+
* @category decoding
|
|
1359
1440
|
* @since 4.0.0
|
|
1360
1441
|
*/
|
|
1361
1442
|
export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
1362
|
-
return transformOrFail((input) =>
|
|
1443
|
+
return transformOrFail((input, options) =>
|
|
1363
1444
|
Result.match(Encoding.decodeBase64UrlString(input), {
|
|
1364
|
-
onFailure: (
|
|
1445
|
+
onFailure: () =>
|
|
1446
|
+
Effect.fail(
|
|
1447
|
+
new SchemaIssue.InvalidValue(
|
|
1448
|
+
{ expected: "a valid Base64Url string" },
|
|
1449
|
+
input,
|
|
1450
|
+
options
|
|
1451
|
+
)
|
|
1452
|
+
),
|
|
1365
1453
|
onSuccess: Effect.succeed
|
|
1366
1454
|
})
|
|
1367
1455
|
)
|
|
@@ -1376,23 +1464,31 @@ export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
|
|
|
1376
1464
|
*
|
|
1377
1465
|
* **Example** (Decoding hex to bytes)
|
|
1378
1466
|
*
|
|
1379
|
-
* ```ts
|
|
1380
|
-
* import { SchemaGetter } from "effect"
|
|
1467
|
+
* ```ts import.meta.vitest
|
|
1468
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1381
1469
|
*
|
|
1382
1470
|
* const decode = SchemaGetter.decodeHex<string>()
|
|
1383
|
-
*
|
|
1471
|
+
* const result = await Effect.runPromise(decode.run(Option.some("010203"), {}))
|
|
1472
|
+
* Option.map(result, Array.from) // => Option.some([1, 2, 3])
|
|
1384
1473
|
* ```
|
|
1385
1474
|
*
|
|
1386
1475
|
* @see {@link decodeHexString} to decode to `string` instead
|
|
1387
1476
|
* @see {@link encodeHex} for the inverse operation
|
|
1388
1477
|
*
|
|
1389
|
-
* @category
|
|
1478
|
+
* @category decoding
|
|
1390
1479
|
* @since 4.0.0
|
|
1391
1480
|
*/
|
|
1392
1481
|
export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
1393
|
-
return transformOrFail((input) =>
|
|
1482
|
+
return transformOrFail((input, options) =>
|
|
1394
1483
|
Result.match(Encoding.decodeHex(input), {
|
|
1395
|
-
onFailure: (
|
|
1484
|
+
onFailure: () =>
|
|
1485
|
+
Effect.fail(
|
|
1486
|
+
new SchemaIssue.InvalidValue(
|
|
1487
|
+
{ expected: "a valid hexadecimal string" },
|
|
1488
|
+
input,
|
|
1489
|
+
options
|
|
1490
|
+
)
|
|
1491
|
+
),
|
|
1396
1492
|
onSuccess: Effect.succeed
|
|
1397
1493
|
})
|
|
1398
1494
|
)
|
|
@@ -1407,23 +1503,30 @@ export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
|
|
|
1407
1503
|
*
|
|
1408
1504
|
* **Example** (Decoding hex to string)
|
|
1409
1505
|
*
|
|
1410
|
-
* ```ts
|
|
1411
|
-
* import { SchemaGetter } from "effect"
|
|
1506
|
+
* ```ts import.meta.vitest
|
|
1507
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1412
1508
|
*
|
|
1413
1509
|
* const decode = SchemaGetter.decodeHexString<string>()
|
|
1414
|
-
*
|
|
1510
|
+
* await Effect.runPromise(decode.run(Option.some("68656c6c6f"), {})) // => Option.some("hello")
|
|
1415
1511
|
* ```
|
|
1416
1512
|
*
|
|
1417
1513
|
* @see {@link decodeHex} to decode to `Uint8Array` instead
|
|
1418
1514
|
* @see {@link encodeHex} for the inverse operation
|
|
1419
1515
|
*
|
|
1420
|
-
* @category
|
|
1516
|
+
* @category decoding
|
|
1421
1517
|
* @since 4.0.0
|
|
1422
1518
|
*/
|
|
1423
1519
|
export function decodeHexString<E extends string>(): Getter<string, E> {
|
|
1424
|
-
return transformOrFail((input) =>
|
|
1520
|
+
return transformOrFail((input, options) =>
|
|
1425
1521
|
Result.match(Encoding.decodeHexString(input), {
|
|
1426
|
-
onFailure: (
|
|
1522
|
+
onFailure: () =>
|
|
1523
|
+
Effect.fail(
|
|
1524
|
+
new SchemaIssue.InvalidValue(
|
|
1525
|
+
{ expected: "a valid hexadecimal string" },
|
|
1526
|
+
input,
|
|
1527
|
+
options
|
|
1528
|
+
)
|
|
1529
|
+
),
|
|
1427
1530
|
onSuccess: Effect.succeed
|
|
1428
1531
|
})
|
|
1429
1532
|
)
|
|
@@ -1440,15 +1543,16 @@ export function decodeHexString<E extends string>(): Getter<string, E> {
|
|
|
1440
1543
|
*
|
|
1441
1544
|
* **Example** (Encoding a URI component)
|
|
1442
1545
|
*
|
|
1443
|
-
* ```ts
|
|
1444
|
-
* import { SchemaGetter } from "effect"
|
|
1546
|
+
* ```ts import.meta.vitest
|
|
1547
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1445
1548
|
*
|
|
1446
1549
|
* const encode = SchemaGetter.encodeUriComponent<string>()
|
|
1550
|
+
* await Effect.runPromise(encode.run(Option.some("hello world"), {})) // => Option.some("hello%20world")
|
|
1447
1551
|
* ```
|
|
1448
1552
|
*
|
|
1449
1553
|
* @see {@link decodeUriComponent} for the inverse operation
|
|
1450
1554
|
*
|
|
1451
|
-
* @category
|
|
1555
|
+
* @category encoding
|
|
1452
1556
|
* @since 4.0.0
|
|
1453
1557
|
*/
|
|
1454
1558
|
export function encodeUriComponent<E extends string>(): Getter<string, E> {
|
|
@@ -1464,27 +1568,29 @@ export function encodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1464
1568
|
*
|
|
1465
1569
|
* **Example** (Decoding a URI component)
|
|
1466
1570
|
*
|
|
1467
|
-
* ```ts
|
|
1468
|
-
* import { SchemaGetter } from "effect"
|
|
1571
|
+
* ```ts import.meta.vitest
|
|
1572
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1469
1573
|
*
|
|
1470
1574
|
* const decode = SchemaGetter.decodeUriComponent<string>()
|
|
1471
|
-
*
|
|
1575
|
+
* await Effect.runPromise(decode.run(Option.some("hello%20world"), {})) // => Option.some("hello world")
|
|
1472
1576
|
* ```
|
|
1473
1577
|
*
|
|
1474
1578
|
* @see {@link encodeUriComponent} for the inverse operation
|
|
1475
1579
|
*
|
|
1476
|
-
* @category
|
|
1580
|
+
* @category decoding
|
|
1477
1581
|
* @since 4.0.0
|
|
1478
1582
|
*/
|
|
1479
1583
|
export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
1480
|
-
return transformOrFail((input) => {
|
|
1584
|
+
return transformOrFail((input, options) => {
|
|
1481
1585
|
try {
|
|
1482
1586
|
return Effect.succeed(globalThis.decodeURIComponent(input))
|
|
1483
|
-
} catch
|
|
1587
|
+
} catch {
|
|
1484
1588
|
return Effect.fail(
|
|
1485
|
-
new SchemaIssue.InvalidValue(
|
|
1486
|
-
|
|
1487
|
-
|
|
1589
|
+
new SchemaIssue.InvalidValue(
|
|
1590
|
+
{ expected: "a valid URI component" },
|
|
1591
|
+
input,
|
|
1592
|
+
options
|
|
1593
|
+
)
|
|
1488
1594
|
)
|
|
1489
1595
|
}
|
|
1490
1596
|
})
|
|
@@ -1509,23 +1615,26 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
|
|
|
1509
1615
|
*
|
|
1510
1616
|
* **Example** (Parsing DateTime)
|
|
1511
1617
|
*
|
|
1512
|
-
* ```ts
|
|
1513
|
-
* import { SchemaGetter } from "effect"
|
|
1618
|
+
* ```ts import.meta.vitest
|
|
1619
|
+
* import { DateTime, Effect, Option, SchemaGetter } from "effect"
|
|
1514
1620
|
*
|
|
1515
1621
|
* const parseDate = SchemaGetter.dateTimeUtcFromInput<string>()
|
|
1516
|
-
*
|
|
1622
|
+
* const result = await Effect.runPromise(parseDate.run(Option.some("2024-01-01T00:00:00Z"), {}))
|
|
1623
|
+
* Option.map(result, DateTime.toEpochMillis) // => Option.some(1704067200000)
|
|
1517
1624
|
* ```
|
|
1518
1625
|
*
|
|
1519
1626
|
* @see {@link Date} for a simpler coercion to `Date` (no validation)
|
|
1520
1627
|
*
|
|
1521
|
-
* @category
|
|
1628
|
+
* @category converting
|
|
1522
1629
|
* @since 4.0.0
|
|
1523
1630
|
*/
|
|
1524
1631
|
export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Getter<DateTime.Utc, E> {
|
|
1525
|
-
return transformOrFail((input) => {
|
|
1632
|
+
return transformOrFail((input, options) => {
|
|
1526
1633
|
return Option.match(DateTime.make(input), {
|
|
1527
1634
|
onNone: () =>
|
|
1528
|
-
Effect.fail(
|
|
1635
|
+
Effect.fail(
|
|
1636
|
+
new SchemaIssue.InvalidValue({ message: "Invalid DateTime input" }, input, options)
|
|
1637
|
+
),
|
|
1529
1638
|
onSome: (dt) => Effect.succeed(DateTime.toUtc(dt))
|
|
1530
1639
|
})
|
|
1531
1640
|
})
|
|
@@ -1547,18 +1656,20 @@ export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Gette
|
|
|
1547
1656
|
*
|
|
1548
1657
|
* **Example** (Decoding FormData)
|
|
1549
1658
|
*
|
|
1550
|
-
* ```ts
|
|
1551
|
-
* import { SchemaGetter } from "effect"
|
|
1659
|
+
* ```ts import.meta.vitest
|
|
1660
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1552
1661
|
*
|
|
1553
1662
|
* const decode = SchemaGetter.decodeFormData()
|
|
1554
|
-
*
|
|
1663
|
+
* const formData = new FormData()
|
|
1664
|
+
* formData.append("user[name]", "Alice")
|
|
1665
|
+
* await Effect.runPromise(decode.run(Option.some(formData), {})) // => Option.some({ user: { name: "Alice" } })
|
|
1555
1666
|
* ```
|
|
1556
1667
|
*
|
|
1557
|
-
* @see {@link encodeFormData} for the
|
|
1668
|
+
* @see {@link encodeFormData} for the corresponding encoder
|
|
1558
1669
|
* @see {@link makeTreeRecord} for the underlying bracket-path parser
|
|
1559
1670
|
* @see {@link decodeURLSearchParams} for the URLSearchParams variant
|
|
1560
1671
|
*
|
|
1561
|
-
* @category
|
|
1672
|
+
* @category decoding
|
|
1562
1673
|
* @since 4.0.0
|
|
1563
1674
|
*/
|
|
1564
1675
|
export function decodeFormData(): Getter<Schema.TreeRecord<string | Blob>, FormData> {
|
|
@@ -1585,18 +1696,19 @@ const collectFormDataEntries = collectBracketPathEntries((value): value is strin
|
|
|
1585
1696
|
*
|
|
1586
1697
|
* **Example** (Encoding to FormData)
|
|
1587
1698
|
*
|
|
1588
|
-
* ```ts
|
|
1589
|
-
* import { SchemaGetter } from "effect"
|
|
1699
|
+
* ```ts import.meta.vitest
|
|
1700
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1590
1701
|
*
|
|
1591
1702
|
* const encode = SchemaGetter.encodeFormData()
|
|
1592
|
-
*
|
|
1703
|
+
* const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
|
|
1704
|
+
* Option.map(result, (formData) => formData.get("name")) // => Option.some("Alice")
|
|
1593
1705
|
* ```
|
|
1594
1706
|
*
|
|
1595
|
-
* @see {@link decodeFormData} for the
|
|
1707
|
+
* @see {@link decodeFormData} for the corresponding decoder
|
|
1596
1708
|
* @see {@link collectBracketPathEntries} for the underlying flattener
|
|
1597
1709
|
* @see {@link encodeURLSearchParams} for the URLSearchParams variant
|
|
1598
1710
|
*
|
|
1599
|
-
* @category
|
|
1711
|
+
* @category encoding
|
|
1600
1712
|
* @since 4.0.0
|
|
1601
1713
|
*/
|
|
1602
1714
|
export function encodeFormData(): Getter<FormData, unknown> {
|
|
@@ -1628,18 +1740,19 @@ export function encodeFormData(): Getter<FormData, unknown> {
|
|
|
1628
1740
|
*
|
|
1629
1741
|
* **Example** (Decoding URLSearchParams)
|
|
1630
1742
|
*
|
|
1631
|
-
* ```ts
|
|
1632
|
-
* import { SchemaGetter } from "effect"
|
|
1743
|
+
* ```ts import.meta.vitest
|
|
1744
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1633
1745
|
*
|
|
1634
1746
|
* const decode = SchemaGetter.decodeURLSearchParams()
|
|
1635
|
-
*
|
|
1747
|
+
* const params = new URLSearchParams("user[name]=Alice")
|
|
1748
|
+
* await Effect.runPromise(decode.run(Option.some(params), {})) // => Option.some({ user: { name: "Alice" } })
|
|
1636
1749
|
* ```
|
|
1637
1750
|
*
|
|
1638
|
-
* @see {@link encodeURLSearchParams} for the
|
|
1751
|
+
* @see {@link encodeURLSearchParams} for the corresponding encoder
|
|
1639
1752
|
* @see {@link makeTreeRecord} for the underlying bracket-path parser
|
|
1640
1753
|
* @see {@link decodeFormData} for the FormData variant
|
|
1641
1754
|
*
|
|
1642
|
-
* @category
|
|
1755
|
+
* @category decoding
|
|
1643
1756
|
* @since 4.0.0
|
|
1644
1757
|
*/
|
|
1645
1758
|
export function decodeURLSearchParams(): Getter<Schema.TreeRecord<string>, URLSearchParams> {
|
|
@@ -1663,18 +1776,19 @@ const collectURLSearchParamsEntries = collectBracketPathEntries(Predicate.isStri
|
|
|
1663
1776
|
*
|
|
1664
1777
|
* **Example** (Encoding to URLSearchParams)
|
|
1665
1778
|
*
|
|
1666
|
-
* ```ts
|
|
1667
|
-
* import { SchemaGetter } from "effect"
|
|
1779
|
+
* ```ts import.meta.vitest
|
|
1780
|
+
* import { Effect, Option, SchemaGetter } from "effect"
|
|
1668
1781
|
*
|
|
1669
1782
|
* const encode = SchemaGetter.encodeURLSearchParams()
|
|
1670
|
-
*
|
|
1783
|
+
* const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
|
|
1784
|
+
* Option.map(result, (params) => params.toString()) // => Option.some("name=Alice")
|
|
1671
1785
|
* ```
|
|
1672
1786
|
*
|
|
1673
|
-
* @see {@link decodeURLSearchParams} for the
|
|
1787
|
+
* @see {@link decodeURLSearchParams} for the corresponding decoder
|
|
1674
1788
|
* @see {@link collectBracketPathEntries} for the underlying flattener
|
|
1675
1789
|
* @see {@link encodeFormData} for the FormData variant
|
|
1676
1790
|
*
|
|
1677
|
-
* @category
|
|
1791
|
+
* @category encoding
|
|
1678
1792
|
* @since 4.0.0
|
|
1679
1793
|
*/
|
|
1680
1794
|
export function encodeURLSearchParams(): Getter<URLSearchParams, unknown> {
|
|
@@ -1704,20 +1818,6 @@ function bracketPathToTokens(bracketPath: string): Array<string | number> {
|
|
|
1704
1818
|
.map((part) => (INDEX_REGEXP.test(part) ? globalThis.Number(part) : part))
|
|
1705
1819
|
}
|
|
1706
1820
|
|
|
1707
|
-
function getOrCreateContainer(
|
|
1708
|
-
self: any,
|
|
1709
|
-
key: PropertyKey,
|
|
1710
|
-
shouldBeArray: boolean
|
|
1711
|
-
): any {
|
|
1712
|
-
const current = Object.hasOwn(self, key) ? self[key] : undefined
|
|
1713
|
-
if (current !== undefined) {
|
|
1714
|
-
return current
|
|
1715
|
-
}
|
|
1716
|
-
const container = shouldBeArray ? [] : {}
|
|
1717
|
-
internalRecord.set(self, key, container)
|
|
1718
|
-
return container
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
1821
|
/**
|
|
1722
1822
|
* Builds a nested tree object from a list of bracket-path entries.
|
|
1723
1823
|
*
|
|
@@ -1740,31 +1840,47 @@ function getOrCreateContainer(
|
|
|
1740
1840
|
* - `"foo[]"` → append to array `foo`
|
|
1741
1841
|
* - `""` → real empty key
|
|
1742
1842
|
* - Duplicate keys for the same path are merged into arrays.
|
|
1843
|
+
* - If a structural path conflicts with a previous leaf or a different container
|
|
1844
|
+
* type, the later structural path replaces the conflicting value.
|
|
1845
|
+
* - The notation has no escaping for `.`, `[` or `]`, so keys containing these
|
|
1846
|
+
* delimiters cannot be round-tripped without changing their structure.
|
|
1743
1847
|
*
|
|
1744
1848
|
* **Example** (Building a tree from bracket paths)
|
|
1745
1849
|
*
|
|
1746
|
-
* ```ts
|
|
1850
|
+
* ```ts import.meta.vitest
|
|
1747
1851
|
* import { SchemaGetter } from "effect"
|
|
1748
1852
|
*
|
|
1749
|
-
*
|
|
1853
|
+
* SchemaGetter.makeTreeRecord([
|
|
1750
1854
|
* ["user[name]", "Alice"],
|
|
1751
1855
|
* ["user[tags][]", "admin"],
|
|
1752
1856
|
* ["user[tags][]", "editor"]
|
|
1753
|
-
* ])
|
|
1754
|
-
* // { user: { name: "Alice", tags: ["admin", "editor"] } }
|
|
1857
|
+
* ]) // => { user: { name: "Alice", tags: ["admin", "editor"] } }
|
|
1755
1858
|
* ```
|
|
1756
1859
|
*
|
|
1757
|
-
* @see {@link collectBracketPathEntries} for
|
|
1860
|
+
* @see {@link collectBracketPathEntries} for flattening trees into bracket-path entries
|
|
1758
1861
|
* @see {@link decodeFormData} for a higher-level FormData decoder
|
|
1759
1862
|
* @see {@link decodeURLSearchParams} for a higher-level URLSearchParams decoder
|
|
1760
1863
|
*
|
|
1761
|
-
* @category
|
|
1864
|
+
* @category constructors
|
|
1762
1865
|
* @since 4.0.0
|
|
1763
1866
|
*/
|
|
1764
1867
|
export function makeTreeRecord<A>(
|
|
1765
1868
|
bracketPathEntries: ReadonlyArray<readonly [bracketPath: string, value: A]>
|
|
1766
1869
|
): Schema.TreeRecord<A> {
|
|
1767
1870
|
const out: any = {}
|
|
1871
|
+
const containers = new WeakSet<object>()
|
|
1872
|
+
|
|
1873
|
+
function getOrCreateContainer(self: any, key: PropertyKey, shouldBeArray: boolean): any {
|
|
1874
|
+
const current = Object.hasOwn(self, key) ? self[key] : undefined
|
|
1875
|
+
if (containers.has(current) && Array.isArray(current) === shouldBeArray) {
|
|
1876
|
+
return current
|
|
1877
|
+
}
|
|
1878
|
+
const container = shouldBeArray ? [] : {}
|
|
1879
|
+
containers.add(container)
|
|
1880
|
+
InternalRecord.assignProperty(self, key, container)
|
|
1881
|
+
return container
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1768
1884
|
bracketPathEntries.forEach(([key, value]) => {
|
|
1769
1885
|
const tokens = bracketPathToTokens(key)
|
|
1770
1886
|
let cur: any = out
|
|
@@ -1789,9 +1905,9 @@ export function makeTreeRecord<A>(
|
|
|
1789
1905
|
if (hasOwn && Array.isArray(cur[token])) {
|
|
1790
1906
|
cur[token].push(value)
|
|
1791
1907
|
} else if (hasOwn) {
|
|
1792
|
-
|
|
1908
|
+
InternalRecord.assignProperty(cur, token, [cur[token], value])
|
|
1793
1909
|
} else {
|
|
1794
|
-
|
|
1910
|
+
InternalRecord.assignProperty(cur, token, value)
|
|
1795
1911
|
}
|
|
1796
1912
|
} else {
|
|
1797
1913
|
const next = tokens[i + 1]
|
|
@@ -1815,7 +1931,6 @@ export function makeTreeRecord<A>(
|
|
|
1815
1931
|
*
|
|
1816
1932
|
* **Details**
|
|
1817
1933
|
*
|
|
1818
|
-
* - This is the inverse of {@link makeTreeRecord}.
|
|
1819
1934
|
* - Takes a nested object and produces flat `[bracketPath, value]` pairs suitable for
|
|
1820
1935
|
* `FormData` or `URLSearchParams`.
|
|
1821
1936
|
* - Returns a curried function: first call provides the leaf type guard, second call provides the object.
|
|
@@ -1823,22 +1938,25 @@ export function makeTreeRecord<A>(
|
|
|
1823
1938
|
* - If all elements of an array are leaves, encodes them as multiple entries with the same key
|
|
1824
1939
|
* (e.g. `tags=a&tags=b`). Otherwise uses indexed bracket paths (e.g. `items[0]`, `items[1]`).
|
|
1825
1940
|
* - Non-leaf values that aren't objects or arrays are silently skipped.
|
|
1941
|
+
* - Empty arrays and objects produce no entries, and path delimiters in property
|
|
1942
|
+
* names are not escaped. The resulting format is therefore lossy.
|
|
1826
1943
|
*
|
|
1827
1944
|
* **Example** (Flattening an object to bracket paths)
|
|
1828
1945
|
*
|
|
1829
|
-
* ```ts
|
|
1946
|
+
* ```ts import.meta.vitest
|
|
1830
1947
|
* import { Predicate, SchemaGetter } from "effect"
|
|
1831
1948
|
*
|
|
1832
1949
|
* const collectStrings = SchemaGetter.collectBracketPathEntries(Predicate.isString)
|
|
1833
1950
|
* const entries = collectStrings({ user: { name: "Alice", tags: ["admin", "editor"] } })
|
|
1834
|
-
*
|
|
1951
|
+
*
|
|
1952
|
+
* entries // => [["user[name]", "Alice"], ["user[tags]", "admin"], ["user[tags]", "editor"]]
|
|
1835
1953
|
* ```
|
|
1836
1954
|
*
|
|
1837
|
-
* @see {@link makeTreeRecord} for
|
|
1955
|
+
* @see {@link makeTreeRecord} for building trees from bracket-path entries
|
|
1838
1956
|
* @see {@link encodeFormData} for a higher-level FormData encoder
|
|
1839
1957
|
* @see {@link encodeURLSearchParams} for a higher-level URLSearchParams encoder
|
|
1840
1958
|
*
|
|
1841
|
-
* @category
|
|
1959
|
+
* @category converting
|
|
1842
1960
|
* @since 4.0.0
|
|
1843
1961
|
*/
|
|
1844
1962
|
export function collectBracketPathEntries<A>(isLeaf: (value: unknown) => value is A) {
|