@zio.dev/zio-blocks 0.0.33 → 0.0.55
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/adr/2026-07-18-data-migration.md +123 -0
- package/guides/async-getting-started.md +687 -0
- package/guides/compile-time-resource-safety-with-scope.md +21 -16
- package/guides/getting-started-with-mux.md +1395 -0
- package/guides/query-dsl-extending.md +161 -102
- package/guides/query-dsl-fluent-builder.md +217 -157
- package/guides/query-dsl-reified-optics.md +12 -10
- package/guides/query-dsl-sql.md +640 -165
- package/guides/sql-checked-interpolation.md +173 -0
- package/guides/sql-transactions.md +286 -0
- package/guides/telemetry-guide.md +1130 -0
- package/guides/zio-schema-migration.md +29 -22
- package/index.md +248 -389
- package/package.json +1 -1
- package/plans/config-follow-up-prs.md +188 -0
- package/plans/config-pr-assessment-roadmap.md +310 -0
- package/reference/MuxDataFlow.jsx +250 -0
- package/reference/async.md +1499 -0
- package/reference/chunk.md +3533 -308
- package/reference/codegen/case-class.md +436 -0
- package/reference/codegen/emitter-config.md +383 -0
- package/reference/codegen/examples.md +664 -0
- package/reference/codegen/field.md +316 -0
- package/reference/codegen/index.md +317 -0
- package/reference/codegen/scala-emitter.md +392 -0
- package/reference/codegen/scala-file.md +276 -0
- package/reference/codegen/sealed-trait.md +408 -0
- package/reference/codegen/type-definition.md +340 -0
- package/reference/codegen/type-ref.md +201 -0
- package/reference/combinators.md +347 -117
- package/reference/config/config-decoder.md +460 -0
- package/reference/config/config-source.md +489 -0
- package/reference/config/errors.md +278 -0
- package/reference/config/flags.md +369 -0
- package/reference/config/formats.md +314 -0
- package/reference/config/index.md +304 -0
- package/reference/config/rollout.md +336 -0
- package/reference/context.md +9 -52
- package/reference/data-migration.md +269 -0
- package/reference/datastar/attributes.md +302 -0
- package/reference/datastar/events.md +234 -0
- package/reference/datastar/index.md +256 -0
- package/reference/datastar/signals.md +230 -0
- package/reference/datastar/sse.md +295 -0
- package/reference/datastar.md +346 -0
- package/reference/docs.md +1461 -345
- package/reference/endpoint/auth-type.md +146 -0
- package/reference/endpoint/bulk-creation.md +96 -0
- package/reference/endpoint/endpoint.md +297 -0
- package/reference/endpoint/http-codec.md +249 -0
- package/reference/endpoint/index.md +745 -0
- package/reference/endpoint/path-codec.md +225 -0
- package/reference/endpoint/route-pattern.md +194 -0
- package/reference/endpoint/route-tree.md +111 -0
- package/reference/endpoint/segment-codec.md +199 -0
- package/reference/html.md +1424 -0
- package/reference/htmx/attribute-values.md +359 -0
- package/reference/htmx/hx-encoding.md +111 -0
- package/reference/htmx/hx-params.md +204 -0
- package/reference/htmx/hx-swap.md +276 -0
- package/reference/htmx/hx-sync.md +251 -0
- package/reference/htmx/hx-target.md +314 -0
- package/reference/htmx/hx-trigger.md +457 -0
- package/reference/htmx/hx-url-update.md +239 -0
- package/reference/htmx/index.md +807 -0
- package/reference/htmx/response-headers.md +240 -0
- package/reference/http-model/headers.md +735 -0
- package/reference/http-model/index.md +49 -0
- package/reference/http-model/model.md +1517 -0
- package/reference/http-model/schema-codecs.md +522 -0
- package/reference/http-model/schema.md +750 -0
- package/reference/http-model/server-sent-event.md +341 -0
- package/reference/jwt.md +195 -0
- package/reference/maybe.md +943 -0
- package/reference/media-type.md +2 -2
- package/reference/mux.md +254 -0
- package/reference/mux.mdx +828 -0
- package/reference/openapi.md +1351 -0
- package/reference/projection.md +654 -0
- package/reference/resource-management/defer-handle.md +1 -1
- package/reference/resource-management/resource.md +31 -98
- package/reference/resource-management/scope.md +28 -220
- package/reference/resource-management/wire.md +5 -55
- package/reference/ringbuffer/MpmcDiagram.jsx +717 -0
- package/reference/ringbuffer/MpscDiagram.jsx +618 -0
- package/reference/ringbuffer/SpmcDiagram.jsx +680 -0
- package/reference/ringbuffer/SpscDiagram.jsx +677 -0
- package/reference/ringbuffer/advanced.mdx +109 -0
- package/reference/ringbuffer/index.mdx +145 -0
- package/reference/ringbuffer/mpmc.mdx +185 -0
- package/reference/ringbuffer/mpsc.mdx +164 -0
- package/reference/ringbuffer/spmc.mdx +108 -0
- package/reference/ringbuffer/spsc.mdx +416 -0
- package/reference/{allows.md → schema/allows.md} +4 -100
- package/reference/{binding-resolver.md → schema/binding-resolver.md} +1 -1
- package/reference/{binding.md → schema/binding.md} +3 -4
- package/reference/schema/built-in-codecs/avro.md +451 -0
- package/reference/schema/built-in-codecs/bson.md +510 -0
- package/reference/schema/built-in-codecs/csv.md +564 -0
- package/reference/schema/built-in-codecs/index.md +77 -0
- package/reference/schema/built-in-codecs/json/index.md +295 -0
- package/reference/schema/built-in-codecs/json/json-config.md +217 -0
- package/reference/{json-patch.md → schema/built-in-codecs/json/json-patch.md} +5 -5
- package/reference/{json-schema.md → schema/built-in-codecs/json/json-schema.md} +14 -47
- package/reference/schema/built-in-codecs/json/json-selection.md +322 -0
- package/reference/{json.md → schema/built-in-codecs/json/json.md} +32 -64
- package/reference/schema/built-in-codecs/messagepack.md +508 -0
- package/reference/schema/built-in-codecs/thrift.md +433 -0
- package/reference/schema/built-in-codecs/toon.md +1078 -0
- package/reference/{xml.md → schema/built-in-codecs/xml.md} +13 -9
- package/reference/schema/built-in-codecs/yaml.md +552 -0
- package/reference/{codec.md → schema/codec.md} +11 -11
- package/reference/{dynamic-optic.md → schema/dynamic-optic.md} +196 -5
- package/reference/{dynamic-schema.md → schema/dynamic-schema.md} +8 -8
- package/reference/schema/format.md +92 -0
- package/reference/schema/index.md +52 -0
- package/reference/schema/migration.md +297 -0
- package/reference/{modifier.md → schema/modifier.md} +58 -7
- package/reference/{optics.md → schema/optics.md} +2 -2
- package/reference/{patch.md → schema/patch.md} +1 -1
- package/{path-interpolator.md → reference/schema/path-interpolator.md} +167 -72
- package/reference/schema/reflect-transformer.md +140 -0
- package/reference/{schema-evolution → schema/schema-evolution}/as.md +8 -8
- package/reference/{schema-evolution → schema/schema-evolution}/index.md +2 -2
- package/reference/{schema-evolution → schema/schema-evolution}/into.md +8 -8
- package/reference/{schema-expr.md → schema/schema-expr.md} +110 -175
- package/reference/schema/schema-search.md +263 -0
- package/reference/{schema.md → schema/schema.md} +22 -2
- package/reference/{structural-types.md → schema/structural-types.md} +1 -1
- package/reference/{type-class-derivation.md → schema/type-class-derivation.md} +63 -1
- package/reference/smithy.md +1032 -0
- package/reference/sql/db-codec-deriver.md +71 -0
- package/reference/sql/db-codec.md +687 -0
- package/reference/sql/db-con.md +271 -0
- package/reference/sql/db-connection.md +153 -0
- package/reference/sql/db-param-writer.md +77 -0
- package/reference/sql/db-param.md +66 -0
- package/reference/sql/db-result-reader.md +148 -0
- package/reference/sql/db-tx.md +114 -0
- package/reference/sql/db-value.md +41 -0
- package/reference/sql/ddl.md +85 -0
- package/reference/sql/frag.md +288 -0
- package/reference/sql/index.md +341 -0
- package/reference/sql/repo.md +600 -0
- package/reference/sql/sql-dialect.md +73 -0
- package/reference/sql/sql-logger.md +62 -0
- package/reference/sql/sql-name-mapper.md +70 -0
- package/reference/sql/table-metadata.md +134 -0
- package/reference/sql/table.md +448 -0
- package/reference/sql/transactor-zio.md +399 -0
- package/reference/sql/transactor.md +363 -0
- package/reference/sql-zio.md +112 -0
- package/reference/streams/core/index.md +32 -0
- package/reference/streams/core/pipeline.md +854 -0
- package/reference/streams/core/sink.md +1404 -0
- package/reference/streams/core/stream.md +3236 -0
- package/reference/streams/execution-and-compatibility/async-execution.md +822 -0
- package/reference/streams/execution-and-compatibility/index.md +35 -0
- package/reference/streams/execution-and-compatibility/platform-differences.md +297 -0
- package/reference/streams/execution-and-compatibility/scala-2-compatibility.md +88 -0
- package/reference/streams/execution-and-compatibility/zero-boxing.md +393 -0
- package/reference/streams/index.md +726 -0
- package/reference/streams/primitives/index.md +30 -0
- package/reference/streams/primitives/reader.md +1992 -0
- package/reference/streams/primitives/writer.md +1201 -0
- package/reference/telemetry/common/any-value.md +90 -0
- package/reference/telemetry/common/attribute-key.md +87 -0
- package/reference/telemetry/common/attributes.md +118 -0
- package/reference/telemetry/common/index.md +39 -0
- package/reference/telemetry/common/instrumentation-scope.md +24 -0
- package/reference/telemetry/common/resource.md +34 -0
- package/reference/telemetry/index.md +311 -0
- package/reference/telemetry/logging/index.md +197 -0
- package/reference/telemetry/logging/log-enrichment.md +72 -0
- package/reference/telemetry/logging/log-formatter.md +100 -0
- package/reference/telemetry/logging/log-record-processor.md +56 -0
- package/reference/telemetry/logging/log-record.md +44 -0
- package/reference/telemetry/logging/log-writer.md +64 -0
- package/reference/telemetry/logging/logger-provider.md +142 -0
- package/reference/telemetry/logging/logger.md +83 -0
- package/reference/telemetry/logging/severity.md +62 -0
- package/reference/telemetry/metrics/index.md +150 -0
- package/reference/telemetry/metrics/instruments.md +183 -0
- package/reference/telemetry/metrics/labeled-instruments.md +74 -0
- package/reference/telemetry/metrics/meter-provider.md +76 -0
- package/reference/telemetry/metrics/meter.md +98 -0
- package/reference/telemetry/metrics/metric-data.md +57 -0
- package/reference/telemetry/otel/custom-exporter.md +216 -0
- package/reference/telemetry/otel/index.md +212 -0
- package/reference/telemetry/tracing/index.md +155 -0
- package/reference/telemetry/tracing/sampler.md +89 -0
- package/reference/telemetry/tracing/span-builder.md +57 -0
- package/reference/telemetry/tracing/span-context.md +39 -0
- package/reference/telemetry/tracing/span-data.md +32 -0
- package/reference/telemetry/tracing/span-kind.md +55 -0
- package/reference/telemetry/tracing/span-processor.md +53 -0
- package/reference/telemetry/tracing/span-status.md +47 -0
- package/reference/telemetry/tracing/span.md +117 -0
- package/reference/telemetry/tracing/tracer-provider.md +91 -0
- package/reference/telemetry/tracing/tracer.md +52 -0
- package/reference/typeid.md +5 -83
- package/sidebars.js +376 -43
- package/undocumented-report.md +528 -270
- package/reference/formats.md +0 -694
- package/reference/http-model.md +0 -1716
- package/reference/streams.md +0 -989
- package/ringbuffer.md +0 -249
- /package/reference/{json-differ.md → schema/built-in-codecs/json/json-differ.md} +0 -0
- /package/reference/{dynamic-value.md → schema/dynamic-value.md} +0 -0
- /package/reference/{lazy.md → schema/lazy.md} +0 -0
- /package/reference/{reflect.md → schema/reflect.md} +0 -0
- /package/reference/{registers.md → schema/registers.md} +0 -0
- /package/reference/{schema-error.md → schema/schema-error.md} +0 -0
- /package/reference/{syntax.md → schema/syntax.md} +0 -0
- /package/reference/{validation.md → schema/validation.md} +0 -0
package/reference/typeid.md
CHANGED
|
@@ -2484,7 +2484,7 @@ object Email {
|
|
|
2484
2484
|
|
|
2485
2485
|
The `Deriver` trait receives a `TypeId` for each node in the schema. Methods like `deriveRecord` and `deriveVariant` include a `typeId: TypeId[A]` parameter alongside fields/cases, bindings, documentation, modifiers, and more. This lets you inspect the type's structure, annotations, and relationships when generating code.
|
|
2486
2486
|
|
|
2487
|
-
For details on the full `Deriver` API and how to implement custom derivers, see the [Type Class Derivation](./type-class-derivation.md) reference.
|
|
2487
|
+
For details on the full `Deriver` API and how to implement custom derivers, see the [Type Class Derivation](./schema/type-class-derivation.md) reference.
|
|
2488
2488
|
|
|
2489
2489
|
## Comparison with Alternatives
|
|
2490
2490
|
|
|
@@ -2527,26 +2527,10 @@ cd zio-blocks
|
|
|
2527
2527
|
Demonstrates deriving TypeIds for case classes, accessing their properties (name, fullName, owner, arity), using predefined TypeIds for built-in types, and implicit derivation:
|
|
2528
2528
|
|
|
2529
2529
|
```scala title="schema-examples/src/main/scala/typeid/TypeIdBasicExample.scala"
|
|
2530
|
-
/*
|
|
2531
|
-
* Copyright 2024-2026 John A. De Goes and the ZIO Contributors
|
|
2532
|
-
*
|
|
2533
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2534
|
-
* you may not use this file except in compliance with the License.
|
|
2535
|
-
* You may obtain a copy of the License at
|
|
2536
|
-
*
|
|
2537
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2538
|
-
*
|
|
2539
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2540
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2541
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2542
|
-
* See the License for the specific language governing permissions and
|
|
2543
|
-
* limitations under the License.
|
|
2544
|
-
*/
|
|
2545
|
-
|
|
2546
2530
|
package typeid
|
|
2547
2531
|
|
|
2548
2532
|
import zio.blocks.typeid.*
|
|
2549
|
-
import
|
|
2533
|
+
import zio.sbt.ExprEval.show
|
|
2550
2534
|
|
|
2551
2535
|
/**
|
|
2552
2536
|
* TypeId Basic Example
|
|
@@ -2789,26 +2773,10 @@ sbt "schema-examples/runMain typeid.TypeIdBasicExample"
|
|
|
2789
2773
|
Demonstrates subtype checking with `isSubtypeOf`, `isSupertypeOf`, and `isEquivalentTo`, including direct inheritance, transitive inheritance, sealed trait cases, and variance-aware subtyping for applied types like `List[Dog] <: List[Animal]`:
|
|
2790
2774
|
|
|
2791
2775
|
```scala title="schema-examples/src/main/scala/typeid/TypeIdSubtypingExample.scala"
|
|
2792
|
-
/*
|
|
2793
|
-
* Copyright 2024-2026 John A. De Goes and the ZIO Contributors
|
|
2794
|
-
*
|
|
2795
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2796
|
-
* you may not use this file except in compliance with the License.
|
|
2797
|
-
* You may obtain a copy of the License at
|
|
2798
|
-
*
|
|
2799
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2800
|
-
*
|
|
2801
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2802
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2803
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2804
|
-
* See the License for the specific language governing permissions and
|
|
2805
|
-
* limitations under the License.
|
|
2806
|
-
*/
|
|
2807
|
-
|
|
2808
2776
|
package typeid
|
|
2809
2777
|
|
|
2810
2778
|
import zio.blocks.typeid._
|
|
2811
|
-
import
|
|
2779
|
+
import zio.sbt.ExprEval.show
|
|
2812
2780
|
|
|
2813
2781
|
/**
|
|
2814
2782
|
* TypeId Subtyping Example
|
|
@@ -2912,26 +2880,10 @@ sbt "schema-examples/runMain typeid.TypeIdSubtypingExample"
|
|
|
2912
2880
|
Demonstrates type alias handling, normalization to underlying types, structural equality, and building type-indexed registries using erased TypeIds:
|
|
2913
2881
|
|
|
2914
2882
|
```scala title="schema-examples/src/main/scala/typeid/TypeIdNormalizationExample.scala"
|
|
2915
|
-
/*
|
|
2916
|
-
* Copyright 2024-2026 John A. De Goes and the ZIO Contributors
|
|
2917
|
-
*
|
|
2918
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
2919
|
-
* you may not use this file except in compliance with the License.
|
|
2920
|
-
* You may obtain a copy of the License at
|
|
2921
|
-
*
|
|
2922
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
2923
|
-
*
|
|
2924
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
2925
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
2926
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2927
|
-
* See the License for the specific language governing permissions and
|
|
2928
|
-
* limitations under the License.
|
|
2929
|
-
*/
|
|
2930
|
-
|
|
2931
2883
|
package typeid
|
|
2932
2884
|
|
|
2933
2885
|
import zio.blocks.typeid._
|
|
2934
|
-
import
|
|
2886
|
+
import zio.sbt.ExprEval.show
|
|
2935
2887
|
|
|
2936
2888
|
/**
|
|
2937
2889
|
* TypeId Normalization Example
|
|
@@ -2963,10 +2915,8 @@ object TypeIdNormalizationExample extends App {
|
|
|
2963
2915
|
aliased = TypeRepr.Ref(TypeId.long)
|
|
2964
2916
|
)
|
|
2965
2917
|
|
|
2966
|
-
println("userIdAlias.name")
|
|
2967
2918
|
show(userIdAlias.name)
|
|
2968
2919
|
|
|
2969
|
-
println("userIdAlias.fullName")
|
|
2970
2920
|
show(userIdAlias.fullName)
|
|
2971
2921
|
|
|
2972
2922
|
println("\n--- Normalization ---\n")
|
|
@@ -2974,10 +2924,8 @@ object TypeIdNormalizationExample extends App {
|
|
|
2974
2924
|
// Normalize the alias to its underlying type
|
|
2975
2925
|
val normalized = TypeId.normalize(userIdAlias)
|
|
2976
2926
|
|
|
2977
|
-
println("TypeId.normalize(userIdAlias).name")
|
|
2978
2927
|
show(normalized.name)
|
|
2979
2928
|
|
|
2980
|
-
println("TypeId.normalize(userIdAlias).fullName")
|
|
2981
2929
|
show(normalized.fullName)
|
|
2982
2930
|
|
|
2983
2931
|
println("\n--- Equality with Normalization ---\n")
|
|
@@ -2990,10 +2938,8 @@ object TypeIdNormalizationExample extends App {
|
|
|
2990
2938
|
aliased = TypeRepr.Ref(TypeId.long)
|
|
2991
2939
|
)
|
|
2992
2940
|
|
|
2993
|
-
println("userIdAlias == anotherUserIdAlias")
|
|
2994
2941
|
show(userIdAlias == anotherUserIdAlias)
|
|
2995
2942
|
|
|
2996
|
-
println("TypeId.normalize(userIdAlias) == TypeId.long")
|
|
2997
2943
|
show(TypeId.normalize(userIdAlias) == TypeId.long)
|
|
2998
2944
|
|
|
2999
2945
|
println("\n--- Erased TypeIds for Registries ---\n")
|
|
@@ -3003,13 +2949,10 @@ object TypeIdNormalizationExample extends App {
|
|
|
3003
2949
|
val stringErased: TypeId.Erased = TypeId.string.erased
|
|
3004
2950
|
val listIntErased: TypeId.Erased = TypeId.of[List[Int]].erased
|
|
3005
2951
|
|
|
3006
|
-
println("TypeId.int.erased")
|
|
3007
2952
|
show(intErased)
|
|
3008
2953
|
|
|
3009
|
-
println("TypeId.string.erased")
|
|
3010
2954
|
show(stringErased)
|
|
3011
2955
|
|
|
3012
|
-
println("TypeId.of[List[Int]].erased")
|
|
3013
2956
|
show(listIntErased)
|
|
3014
2957
|
|
|
3015
2958
|
println("\n--- Type Registry Using Erased TypeIds ---\n")
|
|
@@ -3022,13 +2965,10 @@ object TypeIdNormalizationExample extends App {
|
|
|
3022
2965
|
TypeId.of[List[Int]].erased -> "List of integers"
|
|
3023
2966
|
)
|
|
3024
2967
|
|
|
3025
|
-
println("registry.get(TypeId.int.erased)")
|
|
3026
2968
|
show(registry.get(TypeId.int.erased))
|
|
3027
2969
|
|
|
3028
|
-
println("registry.get(TypeId.string.erased)")
|
|
3029
2970
|
show(registry.get(TypeId.string.erased))
|
|
3030
2971
|
|
|
3031
|
-
println("registry.get(TypeId.of[List[Int]].erased)")
|
|
3032
2972
|
show(registry.get(TypeId.of[List[Int]].erased))
|
|
3033
2973
|
|
|
3034
2974
|
println("\n--- Querying the Registry ---\n")
|
|
@@ -3037,10 +2977,8 @@ object TypeIdNormalizationExample extends App {
|
|
|
3037
2977
|
val intType = TypeId.of[Int].erased
|
|
3038
2978
|
val doubleType = TypeId.of[Double].erased
|
|
3039
2979
|
|
|
3040
|
-
println("registry.get(intType)")
|
|
3041
2980
|
show(registry.get(intType))
|
|
3042
2981
|
|
|
3043
|
-
println("registry.get(doubleType)")
|
|
3044
2982
|
show(registry.get(doubleType))
|
|
3045
2983
|
|
|
3046
2984
|
println("\n═══════════════════════════════════════════════════════════════")
|
|
@@ -3058,26 +2996,10 @@ sbt "schema-examples/runMain typeid.TypeIdNormalizationExample"
|
|
|
3058
2996
|
Demonstrates how TypeId preserves the semantic distinction of opaque types, enabling runtime type safety that pure Scala reflection cannot provide. Shows building type-indexed validator registries keyed by opaque type identity:
|
|
3059
2997
|
|
|
3060
2998
|
```scala title="schema-examples/src/main/scala/typeid/OpaqueTypesExample.scala"
|
|
3061
|
-
/*
|
|
3062
|
-
* Copyright 2024-2026 John A. De Goes and the ZIO Contributors
|
|
3063
|
-
*
|
|
3064
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
3065
|
-
* you may not use this file except in compliance with the License.
|
|
3066
|
-
* You may obtain a copy of the License at
|
|
3067
|
-
*
|
|
3068
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
3069
|
-
*
|
|
3070
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
3071
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
3072
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3073
|
-
* See the License for the specific language governing permissions and
|
|
3074
|
-
* limitations under the License.
|
|
3075
|
-
*/
|
|
3076
|
-
|
|
3077
2999
|
package typeid
|
|
3078
3000
|
|
|
3079
3001
|
import zio.blocks.typeid._
|
|
3080
|
-
import
|
|
3002
|
+
import zio.sbt.ExprEval.show
|
|
3081
3003
|
|
|
3082
3004
|
/**
|
|
3083
3005
|
* Opaque Types Example
|
package/sidebars.js
CHANGED
|
@@ -6,38 +6,113 @@ const sidebars = {
|
|
|
6
6
|
collapsed: false,
|
|
7
7
|
link: { type: "doc", id: "index" },
|
|
8
8
|
items: [
|
|
9
|
-
"reference/schema",
|
|
10
|
-
"reference/allows",
|
|
11
|
-
"reference/reflect",
|
|
12
|
-
"reference/binding",
|
|
13
|
-
"reference/binding-resolver",
|
|
14
|
-
"reference/registers",
|
|
15
|
-
"reference/typeid",
|
|
16
|
-
"reference/modifier",
|
|
17
|
-
"reference/dynamic-value",
|
|
18
|
-
"reference/dynamic-schema",
|
|
19
|
-
"reference/lazy",
|
|
20
|
-
"reference/structural-types",
|
|
21
|
-
"reference/optics",
|
|
22
|
-
"reference/patch",
|
|
23
|
-
"reference/schema-expr",
|
|
24
|
-
"reference/dynamic-optic",
|
|
25
|
-
"reference/type-class-derivation",
|
|
26
|
-
"reference/codec",
|
|
27
|
-
"reference/formats",
|
|
28
|
-
"path-interpolator",
|
|
29
|
-
"reference/chunk",
|
|
30
|
-
"reference/schema-error",
|
|
31
|
-
"reference/validation",
|
|
32
9
|
{
|
|
33
10
|
type: "category",
|
|
34
|
-
label: "Schema
|
|
35
|
-
link: { type: "doc", id: "reference/schema
|
|
11
|
+
label: "Schema",
|
|
12
|
+
link: { type: "doc", id: "reference/schema/index" },
|
|
36
13
|
items: [
|
|
37
|
-
|
|
38
|
-
|
|
14
|
+
{
|
|
15
|
+
type: "category",
|
|
16
|
+
label: "Core Type System",
|
|
17
|
+
collapsed: false,
|
|
18
|
+
items: [
|
|
19
|
+
"reference/schema/schema",
|
|
20
|
+
"reference/schema/reflect",
|
|
21
|
+
"reference/schema/binding",
|
|
22
|
+
"reference/schema/registers",
|
|
23
|
+
"reference/schema/binding-resolver",
|
|
24
|
+
"reference/schema/reflect-transformer",
|
|
25
|
+
"reference/schema/modifier",
|
|
26
|
+
"reference/schema/structural-types",
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
type: "category",
|
|
31
|
+
label: "Dynamic Values",
|
|
32
|
+
collapsed: false,
|
|
33
|
+
items: [
|
|
34
|
+
"reference/schema/dynamic-value",
|
|
35
|
+
"reference/schema/dynamic-schema",
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: "category",
|
|
40
|
+
label: "Reflective Optics",
|
|
41
|
+
collapsed: false,
|
|
42
|
+
items: [
|
|
43
|
+
"reference/schema/optics",
|
|
44
|
+
"reference/schema/dynamic-optic",
|
|
45
|
+
"reference/schema/path-interpolator",
|
|
46
|
+
"reference/schema/schema-search",
|
|
47
|
+
"reference/schema/schema-expr",
|
|
48
|
+
"reference/schema/patch",
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
type: "category",
|
|
53
|
+
label: "Serialization",
|
|
54
|
+
collapsed: false,
|
|
55
|
+
items: [
|
|
56
|
+
"reference/schema/type-class-derivation",
|
|
57
|
+
"reference/schema/codec",
|
|
58
|
+
"reference/schema/format",
|
|
59
|
+
"reference/schema/lazy",
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: "category",
|
|
64
|
+
label: "Built-in Formats and Codecs",
|
|
65
|
+
link: { type: "doc", id: "reference/schema/built-in-codecs/index" },
|
|
66
|
+
collapsed: false,
|
|
67
|
+
items: [
|
|
68
|
+
{
|
|
69
|
+
type: "category",
|
|
70
|
+
label: "JSON Codec",
|
|
71
|
+
link: { type: "doc", id: "reference/schema/built-in-codecs/json/index" },
|
|
72
|
+
collapsed: false,
|
|
73
|
+
items: [
|
|
74
|
+
"reference/schema/built-in-codecs/json/json",
|
|
75
|
+
"reference/schema/built-in-codecs/json/json-config",
|
|
76
|
+
"reference/schema/built-in-codecs/json/json-patch",
|
|
77
|
+
"reference/schema/built-in-codecs/json/json-differ",
|
|
78
|
+
"reference/schema/built-in-codecs/json/json-selection",
|
|
79
|
+
"reference/schema/built-in-codecs/json/json-schema",
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"reference/schema/built-in-codecs/avro",
|
|
83
|
+
"reference/schema/built-in-codecs/bson",
|
|
84
|
+
"reference/schema/built-in-codecs/csv",
|
|
85
|
+
"reference/schema/built-in-codecs/messagepack",
|
|
86
|
+
"reference/schema/built-in-codecs/thrift",
|
|
87
|
+
"reference/schema/built-in-codecs/toon",
|
|
88
|
+
"reference/schema/built-in-codecs/xml",
|
|
89
|
+
"reference/schema/built-in-codecs/yaml",
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: "category",
|
|
94
|
+
label: "Validation & Errors",
|
|
95
|
+
collapsed: false,
|
|
96
|
+
items: [
|
|
97
|
+
"reference/schema/validation",
|
|
98
|
+
"reference/schema/schema-error",
|
|
99
|
+
"reference/schema/allows",
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: "category",
|
|
104
|
+
label: "Schema Evolution",
|
|
105
|
+
link: { type: "doc", id: "reference/schema/schema-evolution/index" },
|
|
106
|
+
items: [
|
|
107
|
+
"reference/schema/schema-evolution/into",
|
|
108
|
+
"reference/schema/schema-evolution/as",
|
|
109
|
+
"reference/schema/migration",
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
"reference/schema/syntax",
|
|
39
113
|
]
|
|
40
114
|
},
|
|
115
|
+
"reference/typeid",
|
|
41
116
|
"reference/context",
|
|
42
117
|
{
|
|
43
118
|
type: "category",
|
|
@@ -52,30 +127,288 @@ const sidebars = {
|
|
|
52
127
|
"reference/resource-management/finalizer",
|
|
53
128
|
"reference/resource-management/finalization",
|
|
54
129
|
]
|
|
130
|
+
},
|
|
131
|
+
"reference/combinators",
|
|
132
|
+
"reference/docs",
|
|
133
|
+
{
|
|
134
|
+
type: "category",
|
|
135
|
+
label: "Config",
|
|
136
|
+
link: { type: "doc", id: "reference/config/index" },
|
|
137
|
+
items: [
|
|
138
|
+
"reference/config/config-source",
|
|
139
|
+
"reference/config/config-decoder",
|
|
140
|
+
"reference/config/errors",
|
|
141
|
+
"reference/config/flags",
|
|
142
|
+
"reference/config/rollout",
|
|
143
|
+
"reference/config/formats",
|
|
144
|
+
]
|
|
55
145
|
},
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
146
|
+
"reference/media-type",
|
|
147
|
+
{
|
|
148
|
+
type: "category",
|
|
149
|
+
label: "Code Generation",
|
|
150
|
+
link: { type: "doc", id: "reference/codegen/index" },
|
|
151
|
+
items: [
|
|
152
|
+
"reference/codegen/scala-file",
|
|
153
|
+
"reference/codegen/type-definition",
|
|
154
|
+
"reference/codegen/case-class",
|
|
155
|
+
"reference/codegen/sealed-trait",
|
|
156
|
+
"reference/codegen/field",
|
|
157
|
+
"reference/codegen/type-ref",
|
|
158
|
+
"reference/codegen/scala-emitter",
|
|
159
|
+
"reference/codegen/emitter-config",
|
|
160
|
+
"reference/codegen/examples",
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: "category",
|
|
165
|
+
label: "HTTP Model",
|
|
166
|
+
link: { type: "doc", id: "reference/http-model/index" },
|
|
167
|
+
items: [
|
|
168
|
+
"reference/http-model/model",
|
|
169
|
+
"reference/http-model/headers",
|
|
170
|
+
"reference/http-model/server-sent-event",
|
|
171
|
+
"reference/http-model/schema",
|
|
172
|
+
"reference/http-model/schema-codecs",
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: "category",
|
|
177
|
+
label: "Endpoint",
|
|
178
|
+
link: { type: "doc", id: "reference/endpoint/index" },
|
|
179
|
+
items: [
|
|
180
|
+
"reference/endpoint/endpoint",
|
|
181
|
+
"reference/endpoint/bulk-creation",
|
|
182
|
+
"reference/endpoint/http-codec",
|
|
183
|
+
"reference/endpoint/route-pattern",
|
|
184
|
+
"reference/endpoint/path-codec",
|
|
185
|
+
"reference/endpoint/segment-codec",
|
|
186
|
+
"reference/endpoint/auth-type",
|
|
187
|
+
"reference/endpoint/route-tree",
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
"reference/chunk",
|
|
191
|
+
"reference/maybe",
|
|
192
|
+
"reference/async",
|
|
193
|
+
"reference/mux",
|
|
194
|
+
{
|
|
195
|
+
type: "category",
|
|
196
|
+
label: "RingBuffer",
|
|
197
|
+
link: { type: "doc", id: "reference/ringbuffer/index" },
|
|
198
|
+
items: [
|
|
199
|
+
"reference/ringbuffer/spsc",
|
|
200
|
+
"reference/ringbuffer/spmc",
|
|
201
|
+
"reference/ringbuffer/mpsc",
|
|
202
|
+
"reference/ringbuffer/mpmc",
|
|
203
|
+
"reference/ringbuffer/advanced",
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
"reference/html",
|
|
207
|
+
"reference/smithy",
|
|
208
|
+
"reference/openapi",
|
|
209
|
+
"reference/jwt",
|
|
210
|
+
{
|
|
211
|
+
type: "category",
|
|
212
|
+
label: "Datastar",
|
|
213
|
+
link: { type: "doc", id: "reference/datastar/index" },
|
|
214
|
+
items: [
|
|
215
|
+
"reference/datastar/signals",
|
|
216
|
+
"reference/datastar/attributes",
|
|
217
|
+
"reference/datastar/events",
|
|
218
|
+
"reference/datastar/sse",
|
|
219
|
+
]
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
type: "category",
|
|
223
|
+
label: "HTMX",
|
|
224
|
+
link: { type: "doc", id: "reference/htmx/index" },
|
|
225
|
+
items: [
|
|
226
|
+
"reference/htmx/hx-swap",
|
|
227
|
+
"reference/htmx/hx-trigger",
|
|
228
|
+
"reference/htmx/hx-target",
|
|
229
|
+
"reference/htmx/hx-params",
|
|
230
|
+
"reference/htmx/hx-url-update",
|
|
231
|
+
"reference/htmx/hx-encoding",
|
|
232
|
+
"reference/htmx/hx-sync",
|
|
233
|
+
"reference/htmx/attribute-values",
|
|
234
|
+
"reference/htmx/response-headers",
|
|
235
|
+
]
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
type: "category",
|
|
239
|
+
label: "Streams",
|
|
240
|
+
link: { type: "doc", id: "reference/streams/index" },
|
|
241
|
+
items: [
|
|
242
|
+
{
|
|
243
|
+
type: "category",
|
|
244
|
+
label: "Core Types",
|
|
245
|
+
collapsed: false,
|
|
246
|
+
link: { type: "doc", id: "reference/streams/core/index" },
|
|
247
|
+
items: [
|
|
248
|
+
"reference/streams/core/stream",
|
|
249
|
+
"reference/streams/core/pipeline",
|
|
250
|
+
"reference/streams/core/sink",
|
|
251
|
+
]
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
type: "category",
|
|
255
|
+
label: "Low-Level Primitives",
|
|
256
|
+
collapsed: false,
|
|
257
|
+
link: { type: "doc", id: "reference/streams/primitives/index" },
|
|
258
|
+
items: [
|
|
259
|
+
"reference/streams/primitives/reader",
|
|
260
|
+
"reference/streams/primitives/writer",
|
|
261
|
+
]
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
type: "category",
|
|
265
|
+
label: "Execution and Compatibility",
|
|
266
|
+
collapsed: false,
|
|
267
|
+
link: { type: "doc", id: "reference/streams/execution-and-compatibility/index" },
|
|
268
|
+
items: [
|
|
269
|
+
"reference/streams/execution-and-compatibility/async-execution",
|
|
270
|
+
"reference/streams/execution-and-compatibility/zero-boxing",
|
|
271
|
+
"reference/streams/execution-and-compatibility/platform-differences",
|
|
272
|
+
"reference/streams/execution-and-compatibility/scala-2-compatibility",
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
]
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
type: "category",
|
|
279
|
+
label: "SQL",
|
|
280
|
+
link: { type: "doc", id: "reference/sql/index" },
|
|
281
|
+
items: [
|
|
282
|
+
{
|
|
283
|
+
type: "category",
|
|
284
|
+
label: "Core Types",
|
|
285
|
+
collapsed: false,
|
|
286
|
+
items: [
|
|
287
|
+
"reference/sql/db-codec",
|
|
288
|
+
"reference/sql/frag",
|
|
289
|
+
"reference/sql/table",
|
|
290
|
+
"reference/sql/repo",
|
|
291
|
+
"reference/sql/transactor",
|
|
292
|
+
"reference/sql/db-con",
|
|
293
|
+
"reference/sql/db-tx",
|
|
294
|
+
],
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
type: "category",
|
|
298
|
+
label: "Supporting Types",
|
|
299
|
+
collapsed: false,
|
|
300
|
+
items: [
|
|
301
|
+
"reference/sql/db-value",
|
|
302
|
+
"reference/sql/db-param",
|
|
303
|
+
"reference/sql/sql-dialect",
|
|
304
|
+
"reference/sql/sql-logger",
|
|
305
|
+
"reference/sql/sql-name-mapper",
|
|
306
|
+
"reference/sql/table-metadata",
|
|
307
|
+
"reference/sql/ddl",
|
|
308
|
+
"reference/sql/db-connection",
|
|
309
|
+
"reference/sql/db-result-reader",
|
|
310
|
+
"reference/sql/db-param-writer",
|
|
311
|
+
"reference/sql/db-codec-deriver",
|
|
312
|
+
"reference/sql/transactor-zio",
|
|
313
|
+
],
|
|
314
|
+
},
|
|
315
|
+
],
|
|
316
|
+
},
|
|
317
|
+
"reference/sql-zio",
|
|
318
|
+
"reference/data-migration",
|
|
319
|
+
"reference/projection",
|
|
320
|
+
{
|
|
321
|
+
type: "category",
|
|
322
|
+
label: "Telemetry",
|
|
323
|
+
link: { type: "doc", id: "reference/telemetry/index" },
|
|
324
|
+
items: [
|
|
325
|
+
{
|
|
326
|
+
type: "category",
|
|
327
|
+
label: "Tracing",
|
|
328
|
+
link: { type: "doc", id: "reference/telemetry/tracing/index" },
|
|
329
|
+
collapsed: false,
|
|
330
|
+
items: [
|
|
331
|
+
"reference/telemetry/tracing/tracer-provider",
|
|
332
|
+
"reference/telemetry/tracing/tracer",
|
|
333
|
+
"reference/telemetry/tracing/span",
|
|
334
|
+
"reference/telemetry/tracing/span-context",
|
|
335
|
+
"reference/telemetry/tracing/span-data",
|
|
336
|
+
"reference/telemetry/tracing/span-builder",
|
|
337
|
+
"reference/telemetry/tracing/span-processor",
|
|
338
|
+
"reference/telemetry/tracing/sampler",
|
|
339
|
+
"reference/telemetry/tracing/span-kind",
|
|
340
|
+
"reference/telemetry/tracing/span-status",
|
|
341
|
+
]
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
type: "category",
|
|
345
|
+
label: "Logging",
|
|
346
|
+
link: { type: "doc", id: "reference/telemetry/logging/index" },
|
|
347
|
+
collapsed: false,
|
|
348
|
+
items: [
|
|
349
|
+
"reference/telemetry/logging/logger-provider",
|
|
350
|
+
"reference/telemetry/logging/logger",
|
|
351
|
+
"reference/telemetry/logging/log-record",
|
|
352
|
+
"reference/telemetry/logging/log-record-processor",
|
|
353
|
+
"reference/telemetry/logging/log-formatter",
|
|
354
|
+
"reference/telemetry/logging/log-writer",
|
|
355
|
+
"reference/telemetry/logging/severity",
|
|
356
|
+
"reference/telemetry/logging/log-enrichment",
|
|
357
|
+
]
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
type: "category",
|
|
361
|
+
label: "Metrics",
|
|
362
|
+
link: { type: "doc", id: "reference/telemetry/metrics/index" },
|
|
363
|
+
collapsed: false,
|
|
364
|
+
items: [
|
|
365
|
+
"reference/telemetry/metrics/meter-provider",
|
|
366
|
+
"reference/telemetry/metrics/meter",
|
|
367
|
+
"reference/telemetry/metrics/instruments",
|
|
368
|
+
"reference/telemetry/metrics/labeled-instruments",
|
|
369
|
+
"reference/telemetry/metrics/metric-data",
|
|
370
|
+
]
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
type: "category",
|
|
374
|
+
label: "Common Types",
|
|
375
|
+
link: { type: "doc", id: "reference/telemetry/common/index" },
|
|
376
|
+
collapsed: false,
|
|
377
|
+
items: [
|
|
378
|
+
"reference/telemetry/common/attributes",
|
|
379
|
+
"reference/telemetry/common/attribute-key",
|
|
380
|
+
"reference/telemetry/common/any-value",
|
|
381
|
+
"reference/telemetry/common/resource",
|
|
382
|
+
"reference/telemetry/common/instrumentation-scope",
|
|
383
|
+
]
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
type: "category",
|
|
387
|
+
label: "OTLP Export",
|
|
388
|
+
link: { type: "doc", id: "reference/telemetry/otel/index" },
|
|
389
|
+
collapsed: false,
|
|
390
|
+
items: [
|
|
391
|
+
"reference/telemetry/otel/custom-exporter",
|
|
392
|
+
]
|
|
393
|
+
},
|
|
394
|
+
]
|
|
395
|
+
},
|
|
396
|
+
]
|
|
397
|
+
},
|
|
69
398
|
{
|
|
70
399
|
type: "category",
|
|
71
400
|
label: "Guides",
|
|
72
401
|
items: [
|
|
402
|
+
"guides/async-getting-started",
|
|
73
403
|
"guides/compile-time-resource-safety-with-scope",
|
|
74
|
-
"guides/
|
|
75
|
-
"guides/query-dsl-reified-optics",
|
|
76
|
-
"guides/query-dsl-sql",
|
|
404
|
+
"guides/getting-started-with-mux",
|
|
77
405
|
"guides/query-dsl-extending",
|
|
78
406
|
"guides/query-dsl-fluent-builder",
|
|
407
|
+
"guides/query-dsl-reified-optics",
|
|
408
|
+
"guides/query-dsl-sql",
|
|
409
|
+
"guides/sql-transactions",
|
|
410
|
+
"guides/zio-schema-migration",
|
|
411
|
+
"guides/telemetry-guide",
|
|
79
412
|
]
|
|
80
413
|
}
|
|
81
414
|
]
|