@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.
Files changed (215) hide show
  1. package/adr/2026-07-18-data-migration.md +123 -0
  2. package/guides/async-getting-started.md +687 -0
  3. package/guides/compile-time-resource-safety-with-scope.md +21 -16
  4. package/guides/getting-started-with-mux.md +1395 -0
  5. package/guides/query-dsl-extending.md +161 -102
  6. package/guides/query-dsl-fluent-builder.md +217 -157
  7. package/guides/query-dsl-reified-optics.md +12 -10
  8. package/guides/query-dsl-sql.md +640 -165
  9. package/guides/sql-checked-interpolation.md +173 -0
  10. package/guides/sql-transactions.md +286 -0
  11. package/guides/telemetry-guide.md +1130 -0
  12. package/guides/zio-schema-migration.md +29 -22
  13. package/index.md +248 -389
  14. package/package.json +1 -1
  15. package/plans/config-follow-up-prs.md +188 -0
  16. package/plans/config-pr-assessment-roadmap.md +310 -0
  17. package/reference/MuxDataFlow.jsx +250 -0
  18. package/reference/async.md +1499 -0
  19. package/reference/chunk.md +3533 -308
  20. package/reference/codegen/case-class.md +436 -0
  21. package/reference/codegen/emitter-config.md +383 -0
  22. package/reference/codegen/examples.md +664 -0
  23. package/reference/codegen/field.md +316 -0
  24. package/reference/codegen/index.md +317 -0
  25. package/reference/codegen/scala-emitter.md +392 -0
  26. package/reference/codegen/scala-file.md +276 -0
  27. package/reference/codegen/sealed-trait.md +408 -0
  28. package/reference/codegen/type-definition.md +340 -0
  29. package/reference/codegen/type-ref.md +201 -0
  30. package/reference/combinators.md +347 -117
  31. package/reference/config/config-decoder.md +460 -0
  32. package/reference/config/config-source.md +489 -0
  33. package/reference/config/errors.md +278 -0
  34. package/reference/config/flags.md +369 -0
  35. package/reference/config/formats.md +314 -0
  36. package/reference/config/index.md +304 -0
  37. package/reference/config/rollout.md +336 -0
  38. package/reference/context.md +9 -52
  39. package/reference/data-migration.md +269 -0
  40. package/reference/datastar/attributes.md +302 -0
  41. package/reference/datastar/events.md +234 -0
  42. package/reference/datastar/index.md +256 -0
  43. package/reference/datastar/signals.md +230 -0
  44. package/reference/datastar/sse.md +295 -0
  45. package/reference/datastar.md +346 -0
  46. package/reference/docs.md +1461 -345
  47. package/reference/endpoint/auth-type.md +146 -0
  48. package/reference/endpoint/bulk-creation.md +96 -0
  49. package/reference/endpoint/endpoint.md +297 -0
  50. package/reference/endpoint/http-codec.md +249 -0
  51. package/reference/endpoint/index.md +745 -0
  52. package/reference/endpoint/path-codec.md +225 -0
  53. package/reference/endpoint/route-pattern.md +194 -0
  54. package/reference/endpoint/route-tree.md +111 -0
  55. package/reference/endpoint/segment-codec.md +199 -0
  56. package/reference/html.md +1424 -0
  57. package/reference/htmx/attribute-values.md +359 -0
  58. package/reference/htmx/hx-encoding.md +111 -0
  59. package/reference/htmx/hx-params.md +204 -0
  60. package/reference/htmx/hx-swap.md +276 -0
  61. package/reference/htmx/hx-sync.md +251 -0
  62. package/reference/htmx/hx-target.md +314 -0
  63. package/reference/htmx/hx-trigger.md +457 -0
  64. package/reference/htmx/hx-url-update.md +239 -0
  65. package/reference/htmx/index.md +807 -0
  66. package/reference/htmx/response-headers.md +240 -0
  67. package/reference/http-model/headers.md +735 -0
  68. package/reference/http-model/index.md +49 -0
  69. package/reference/http-model/model.md +1517 -0
  70. package/reference/http-model/schema-codecs.md +522 -0
  71. package/reference/http-model/schema.md +750 -0
  72. package/reference/http-model/server-sent-event.md +341 -0
  73. package/reference/jwt.md +195 -0
  74. package/reference/maybe.md +943 -0
  75. package/reference/media-type.md +2 -2
  76. package/reference/mux.md +254 -0
  77. package/reference/mux.mdx +828 -0
  78. package/reference/openapi.md +1351 -0
  79. package/reference/projection.md +654 -0
  80. package/reference/resource-management/defer-handle.md +1 -1
  81. package/reference/resource-management/resource.md +31 -98
  82. package/reference/resource-management/scope.md +28 -220
  83. package/reference/resource-management/wire.md +5 -55
  84. package/reference/ringbuffer/MpmcDiagram.jsx +717 -0
  85. package/reference/ringbuffer/MpscDiagram.jsx +618 -0
  86. package/reference/ringbuffer/SpmcDiagram.jsx +680 -0
  87. package/reference/ringbuffer/SpscDiagram.jsx +677 -0
  88. package/reference/ringbuffer/advanced.mdx +109 -0
  89. package/reference/ringbuffer/index.mdx +145 -0
  90. package/reference/ringbuffer/mpmc.mdx +185 -0
  91. package/reference/ringbuffer/mpsc.mdx +164 -0
  92. package/reference/ringbuffer/spmc.mdx +108 -0
  93. package/reference/ringbuffer/spsc.mdx +416 -0
  94. package/reference/{allows.md → schema/allows.md} +4 -100
  95. package/reference/{binding-resolver.md → schema/binding-resolver.md} +1 -1
  96. package/reference/{binding.md → schema/binding.md} +3 -4
  97. package/reference/schema/built-in-codecs/avro.md +451 -0
  98. package/reference/schema/built-in-codecs/bson.md +510 -0
  99. package/reference/schema/built-in-codecs/csv.md +564 -0
  100. package/reference/schema/built-in-codecs/index.md +77 -0
  101. package/reference/schema/built-in-codecs/json/index.md +295 -0
  102. package/reference/schema/built-in-codecs/json/json-config.md +217 -0
  103. package/reference/{json-patch.md → schema/built-in-codecs/json/json-patch.md} +5 -5
  104. package/reference/{json-schema.md → schema/built-in-codecs/json/json-schema.md} +14 -47
  105. package/reference/schema/built-in-codecs/json/json-selection.md +322 -0
  106. package/reference/{json.md → schema/built-in-codecs/json/json.md} +32 -64
  107. package/reference/schema/built-in-codecs/messagepack.md +508 -0
  108. package/reference/schema/built-in-codecs/thrift.md +433 -0
  109. package/reference/schema/built-in-codecs/toon.md +1078 -0
  110. package/reference/{xml.md → schema/built-in-codecs/xml.md} +13 -9
  111. package/reference/schema/built-in-codecs/yaml.md +552 -0
  112. package/reference/{codec.md → schema/codec.md} +11 -11
  113. package/reference/{dynamic-optic.md → schema/dynamic-optic.md} +196 -5
  114. package/reference/{dynamic-schema.md → schema/dynamic-schema.md} +8 -8
  115. package/reference/schema/format.md +92 -0
  116. package/reference/schema/index.md +52 -0
  117. package/reference/schema/migration.md +297 -0
  118. package/reference/{modifier.md → schema/modifier.md} +58 -7
  119. package/reference/{optics.md → schema/optics.md} +2 -2
  120. package/reference/{patch.md → schema/patch.md} +1 -1
  121. package/{path-interpolator.md → reference/schema/path-interpolator.md} +167 -72
  122. package/reference/schema/reflect-transformer.md +140 -0
  123. package/reference/{schema-evolution → schema/schema-evolution}/as.md +8 -8
  124. package/reference/{schema-evolution → schema/schema-evolution}/index.md +2 -2
  125. package/reference/{schema-evolution → schema/schema-evolution}/into.md +8 -8
  126. package/reference/{schema-expr.md → schema/schema-expr.md} +110 -175
  127. package/reference/schema/schema-search.md +263 -0
  128. package/reference/{schema.md → schema/schema.md} +22 -2
  129. package/reference/{structural-types.md → schema/structural-types.md} +1 -1
  130. package/reference/{type-class-derivation.md → schema/type-class-derivation.md} +63 -1
  131. package/reference/smithy.md +1032 -0
  132. package/reference/sql/db-codec-deriver.md +71 -0
  133. package/reference/sql/db-codec.md +687 -0
  134. package/reference/sql/db-con.md +271 -0
  135. package/reference/sql/db-connection.md +153 -0
  136. package/reference/sql/db-param-writer.md +77 -0
  137. package/reference/sql/db-param.md +66 -0
  138. package/reference/sql/db-result-reader.md +148 -0
  139. package/reference/sql/db-tx.md +114 -0
  140. package/reference/sql/db-value.md +41 -0
  141. package/reference/sql/ddl.md +85 -0
  142. package/reference/sql/frag.md +288 -0
  143. package/reference/sql/index.md +341 -0
  144. package/reference/sql/repo.md +600 -0
  145. package/reference/sql/sql-dialect.md +73 -0
  146. package/reference/sql/sql-logger.md +62 -0
  147. package/reference/sql/sql-name-mapper.md +70 -0
  148. package/reference/sql/table-metadata.md +134 -0
  149. package/reference/sql/table.md +448 -0
  150. package/reference/sql/transactor-zio.md +399 -0
  151. package/reference/sql/transactor.md +363 -0
  152. package/reference/sql-zio.md +112 -0
  153. package/reference/streams/core/index.md +32 -0
  154. package/reference/streams/core/pipeline.md +854 -0
  155. package/reference/streams/core/sink.md +1404 -0
  156. package/reference/streams/core/stream.md +3236 -0
  157. package/reference/streams/execution-and-compatibility/async-execution.md +822 -0
  158. package/reference/streams/execution-and-compatibility/index.md +35 -0
  159. package/reference/streams/execution-and-compatibility/platform-differences.md +297 -0
  160. package/reference/streams/execution-and-compatibility/scala-2-compatibility.md +88 -0
  161. package/reference/streams/execution-and-compatibility/zero-boxing.md +393 -0
  162. package/reference/streams/index.md +726 -0
  163. package/reference/streams/primitives/index.md +30 -0
  164. package/reference/streams/primitives/reader.md +1992 -0
  165. package/reference/streams/primitives/writer.md +1201 -0
  166. package/reference/telemetry/common/any-value.md +90 -0
  167. package/reference/telemetry/common/attribute-key.md +87 -0
  168. package/reference/telemetry/common/attributes.md +118 -0
  169. package/reference/telemetry/common/index.md +39 -0
  170. package/reference/telemetry/common/instrumentation-scope.md +24 -0
  171. package/reference/telemetry/common/resource.md +34 -0
  172. package/reference/telemetry/index.md +311 -0
  173. package/reference/telemetry/logging/index.md +197 -0
  174. package/reference/telemetry/logging/log-enrichment.md +72 -0
  175. package/reference/telemetry/logging/log-formatter.md +100 -0
  176. package/reference/telemetry/logging/log-record-processor.md +56 -0
  177. package/reference/telemetry/logging/log-record.md +44 -0
  178. package/reference/telemetry/logging/log-writer.md +64 -0
  179. package/reference/telemetry/logging/logger-provider.md +142 -0
  180. package/reference/telemetry/logging/logger.md +83 -0
  181. package/reference/telemetry/logging/severity.md +62 -0
  182. package/reference/telemetry/metrics/index.md +150 -0
  183. package/reference/telemetry/metrics/instruments.md +183 -0
  184. package/reference/telemetry/metrics/labeled-instruments.md +74 -0
  185. package/reference/telemetry/metrics/meter-provider.md +76 -0
  186. package/reference/telemetry/metrics/meter.md +98 -0
  187. package/reference/telemetry/metrics/metric-data.md +57 -0
  188. package/reference/telemetry/otel/custom-exporter.md +216 -0
  189. package/reference/telemetry/otel/index.md +212 -0
  190. package/reference/telemetry/tracing/index.md +155 -0
  191. package/reference/telemetry/tracing/sampler.md +89 -0
  192. package/reference/telemetry/tracing/span-builder.md +57 -0
  193. package/reference/telemetry/tracing/span-context.md +39 -0
  194. package/reference/telemetry/tracing/span-data.md +32 -0
  195. package/reference/telemetry/tracing/span-kind.md +55 -0
  196. package/reference/telemetry/tracing/span-processor.md +53 -0
  197. package/reference/telemetry/tracing/span-status.md +47 -0
  198. package/reference/telemetry/tracing/span.md +117 -0
  199. package/reference/telemetry/tracing/tracer-provider.md +91 -0
  200. package/reference/telemetry/tracing/tracer.md +52 -0
  201. package/reference/typeid.md +5 -83
  202. package/sidebars.js +376 -43
  203. package/undocumented-report.md +528 -270
  204. package/reference/formats.md +0 -694
  205. package/reference/http-model.md +0 -1716
  206. package/reference/streams.md +0 -989
  207. package/ringbuffer.md +0 -249
  208. /package/reference/{json-differ.md → schema/built-in-codecs/json/json-differ.md} +0 -0
  209. /package/reference/{dynamic-value.md → schema/dynamic-value.md} +0 -0
  210. /package/reference/{lazy.md → schema/lazy.md} +0 -0
  211. /package/reference/{reflect.md → schema/reflect.md} +0 -0
  212. /package/reference/{registers.md → schema/registers.md} +0 -0
  213. /package/reference/{schema-error.md → schema/schema-error.md} +0 -0
  214. /package/reference/{syntax.md → schema/syntax.md} +0 -0
  215. /package/reference/{validation.md → schema/validation.md} +0 -0
@@ -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 util.ShowExpr.show
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 util.ShowExpr.show
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 util.ShowExpr.show
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 util.ShowExpr.show
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 Evolution",
35
- link: { type: "doc", id: "reference/schema-evolution/index" },
11
+ label: "Schema",
12
+ link: { type: "doc", id: "reference/schema/index" },
36
13
  items: [
37
- "reference/schema-evolution/into",
38
- "reference/schema-evolution/as",
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
- "reference/combinators",
57
- "reference/docs",
58
- "reference/json",
59
- "reference/json-patch",
60
- "reference/json-differ",
61
- "reference/json-schema",
62
- "reference/xml",
63
- "reference/syntax",
64
- "reference/media-type",
65
- "reference/http-model",
66
- "ringbuffer",
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/zio-schema-migration",
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
  ]