@zio.dev/zio-blocks 0.0.55 → 0.0.56

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 (83) hide show
  1. package/guides/async-getting-started.md +1 -1
  2. package/guides/query-dsl-extending.md +1 -1
  3. package/guides/query-dsl-fluent-builder.md +1 -1
  4. package/guides/query-dsl-reified-optics.md +1 -1
  5. package/guides/query-dsl-sql.md +1 -1
  6. package/guides/telemetry-guide.md +3 -3
  7. package/guides/zio-schema-migration.md +6 -6
  8. package/index.md +58 -34
  9. package/package.json +1 -1
  10. package/reference/async.md +2 -2
  11. package/reference/chunk.md +3 -3
  12. package/reference/codegen/index.md +1 -1
  13. package/reference/combinators.md +4 -4
  14. package/reference/config/config-source.md +2 -2
  15. package/reference/config/formats.md +3 -3
  16. package/reference/config/index.md +7 -7
  17. package/reference/config/rollout.md +1 -1
  18. package/reference/context.md +1 -1
  19. package/reference/data-migration.md +1 -1
  20. package/reference/datastar/index.md +2 -2
  21. package/reference/datastar.md +2 -2
  22. package/reference/docs.md +2 -2
  23. package/reference/endpoint/endpoint.md +1 -0
  24. package/reference/endpoint/index.md +4 -4
  25. package/reference/html.md +2 -2
  26. package/reference/htmx/index.md +2 -2
  27. package/reference/http-model/model.md +2 -2
  28. package/reference/http-model/schema-codecs.md +1 -1
  29. package/reference/http-model/schema.md +2 -2
  30. package/reference/jwt.md +1 -1
  31. package/reference/maybe.md +2 -2
  32. package/reference/media-type.md +2 -2
  33. package/reference/mux.mdx +2 -2
  34. package/reference/openapi.md +3 -3
  35. package/reference/projection.md +3 -3
  36. package/reference/resource-management/index.md +1 -1
  37. package/reference/resource-management/resource.md +2 -2
  38. package/reference/resource-management/scope.md +1 -1
  39. package/reference/resource-management/wire.md +2 -2
  40. package/reference/ringbuffer/index.mdx +2 -2
  41. package/reference/schema/built-in-codecs/avro.md +2 -2
  42. package/reference/schema/built-in-codecs/bson.md +9 -9
  43. package/reference/schema/built-in-codecs/csv.md +2 -2
  44. package/reference/schema/built-in-codecs/json/index.md +2 -2
  45. package/reference/schema/built-in-codecs/json/json.md +1 -0
  46. package/reference/schema/built-in-codecs/messagepack.md +3 -3
  47. package/reference/schema/built-in-codecs/thrift.md +2 -2
  48. package/reference/schema/built-in-codecs/toon.md +3 -3
  49. package/reference/schema/built-in-codecs/yaml.md +2 -2
  50. package/reference/schema/codec.md +10 -10
  51. package/reference/schema/dynamic-schema.md +3 -3
  52. package/reference/schema/schema-evolution/as.md +4 -4
  53. package/reference/schema/schema-evolution/into.md +2 -2
  54. package/reference/schema/schema-expr.md +2 -2
  55. package/reference/schema/type-class-derivation.md +1 -1
  56. package/reference/smithy.md +1 -1
  57. package/reference/sql/db-codec-deriver.md +3 -3
  58. package/reference/sql/db-codec.md +11 -11
  59. package/reference/sql/db-con.md +4 -4
  60. package/reference/sql/db-connection.md +1 -1
  61. package/reference/sql/db-tx.md +2 -2
  62. package/reference/sql/ddl.md +1 -1
  63. package/reference/sql/index.md +6 -6
  64. package/reference/sql/repo.md +5 -5
  65. package/reference/sql/sql-dialect.md +1 -1
  66. package/reference/sql/sql-logger.md +1 -1
  67. package/reference/sql/sql-name-mapper.md +3 -3
  68. package/reference/sql/table-metadata.md +3 -3
  69. package/reference/sql/table.md +10 -10
  70. package/reference/sql/transactor-zio.md +1 -1
  71. package/reference/sql/transactor.md +8 -8
  72. package/reference/sql-zio.md +2 -2
  73. package/reference/streams/core/pipeline.md +17 -17
  74. package/reference/streams/core/sink.md +4 -4
  75. package/reference/streams/core/stream.md +3 -3
  76. package/reference/streams/execution-and-compatibility/async-execution.md +1 -1
  77. package/reference/streams/index.md +3 -3
  78. package/reference/streams/primitives/reader.md +25 -25
  79. package/reference/streams/primitives/writer.md +18 -18
  80. package/reference/telemetry/index.md +3 -3
  81. package/reference/telemetry/otel/index.md +1 -1
  82. package/sidebars.js +261 -219
  83. package/reference/mux.md +0 -254
@@ -28,7 +28,7 @@ By the end of this tutorial, you will be able to:
28
28
  To add the async module to your project, include this dependency in your `build.sbt`:
29
29
 
30
30
  ```scala
31
- libraryDependencies += "dev.zio" %%% "zio-blocks-async" % "0.0.55"
31
+ libraryDependencies += "dev.zio" %%% "zio-blocks-async" % "0.0.56"
32
32
  ```
33
33
 
34
34
  Then bring the full DSL into scope at the top of each file you use it from:
@@ -52,7 +52,7 @@ None of these can be expressed with `SchemaExpr` alone. You could generate the S
52
52
  This guide builds on [Part 1: Expressions](./query-dsl-reified-optics.md) and [Part 2: SQL Generation](./query-dsl-sql.md). You should be comfortable building `SchemaExpr` values and translating them to SQL.
53
53
 
54
54
  ```scala
55
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.55"
55
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.56"
56
56
  ```
57
57
 
58
58
  ```scala
@@ -57,7 +57,7 @@ In this guide, we solve both problems: bridge extensions eliminate `.toExpr`, an
57
57
  This guide builds on [Part 1: Expressions](./query-dsl-reified-optics.md), [Part 2: SQL Generation](./query-dsl-sql.md), and [Part 3: Extending the Expression Language](./query-dsl-extending.md).
58
58
 
59
59
  ```scala
60
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.55"
60
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.56"
61
61
  ```
62
62
 
63
63
  ## Domain Setup
@@ -43,7 +43,7 @@ In this guide, we'll solve this by using ZIO Blocks' `SchemaExpr` and reified op
43
43
  Add the ZIO Blocks Schema dependency:
44
44
 
45
45
  ```scala
46
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.55"
46
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.56"
47
47
  ```
48
48
 
49
49
  ```scala
@@ -43,7 +43,7 @@ This is fragile, repetitive, and vulnerable to SQL injection. Every new query sh
43
43
  This guide builds on [Part 1: Expressions](./query-dsl-reified-optics.md). You should be comfortable building `SchemaExpr` values with optic operators (`===`, `>`, `&&`, etc.).
44
44
 
45
45
  ```scala
46
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.55"
46
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.56"
47
47
  ```
48
48
 
49
49
  ```scala
@@ -11,16 +11,16 @@ If you're looking for API signatures and quick copy-paste snippets, the [Telemet
11
11
 
12
12
  ```scala
13
13
  // Core: logging, tracing, metrics
14
- libraryDependencies += "dev.zio" %% "zio-blocks-telemetry" % "0.0.55"
14
+ libraryDependencies += "dev.zio" %% "zio-blocks-telemetry" % "0.0.56"
15
15
 
16
16
  // OTLP JSON export over HTTP (JVM only)
17
- libraryDependencies += "dev.zio" %% "zio-blocks-telemetry-otel" % "0.0.55"
17
+ libraryDependencies += "dev.zio" %% "zio-blocks-telemetry-otel" % "0.0.56"
18
18
  ```
19
19
 
20
20
  The core module also cross-builds for Scala.js:
21
21
 
22
22
  ```scala
23
- libraryDependencies += "dev.zio" %%% "zio-blocks-telemetry" % "0.0.55"
23
+ libraryDependencies += "dev.zio" %%% "zio-blocks-telemetry" % "0.0.56"
24
24
  ```
25
25
 
26
26
  ---
@@ -38,13 +38,13 @@ libraryDependencies += "dev.zio" %% "zio-schema-avro" % "1.x.x"
38
38
  **After (ZIO Blocks Schema):**
39
39
 
40
40
  ```scala
41
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.55"
41
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.56"
42
42
  // Optional codec modules:
43
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-avro" % "0.0.55"
44
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-thrift" % "0.0.55"
45
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-bson" % "0.0.55"
46
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-messagepack" % "0.0.55"
47
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-toon" % "0.0.55"
43
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-avro" % "0.0.56"
44
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-thrift" % "0.0.56"
45
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-bson" % "0.0.56"
46
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-messagepack" % "0.0.56"
47
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-toon" % "0.0.56"
48
48
  ```
49
49
 
50
50
  Key points:
package/index.md CHANGED
@@ -27,7 +27,7 @@ Add a block and use it. Nothing else to wire up—no runtime to install, no effe
27
27
  type to adopt:
28
28
 
29
29
  ```scala
30
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.55"
30
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.56"
31
31
  ```
32
32
 
33
33
  ```scala
@@ -57,7 +57,7 @@ Every block is published under the `dev.zio` organization. Most cross-build for
57
57
  adopt Scala 3 on your timeline, not ours. The handful of modules that are narrower
58
58
  say so in their own row.
59
59
 
60
- ### Schema & Serialization
60
+ ### Meta Programming
61
61
 
62
62
  JSON support is built into `zio-blocks-schema`; the modules below add further formats.
63
63
 
@@ -72,33 +72,33 @@ JSON support is built into `zio-blocks-schema`; the modules below add further fo
72
72
  | [TOON Codec](./reference/schema/built-in-codecs/toon.md) | `zio-blocks-schema-toon` | JVM · JS | 2.13 · 3.x | Token-oriented notation 30–60% smaller than JSON, tuned for LLM prompts |
73
73
  | [XML Codec](./reference/schema/built-in-codecs/xml.md) | `zio-blocks-schema-xml` | JVM · JS | 2.13 · 3.x | Zero-dependency XML serialization with fluent navigation and patching |
74
74
  | [YAML Codec](./reference/schema/built-in-codecs/yaml.md) | `zio-blocks-schema-yaml` | JVM · JS | 2.13 · 3.x | Human-readable YAML serialization with JSON interop |
75
+ | [TypeId](./reference/typeid.md) | `zio-blocks-typeid` | JVM · JS | 2.13 · 3.x | Compile-time type identity with rich metadata |
76
+
77
+ ### Resource Management
75
78
 
76
- ### Core Data Types
79
+ All of these ship in `zio-blocks-scope`.
77
80
 
78
81
  | Block | Artifact | Platform | Scala | Description |
79
82
  |-------|----------|----------|-------|-------------|
80
- | [Chunk](./reference/chunk.md) | `zio-blocks-chunk` | JVM · JS | 2.13 · 3.x | High-performance immutable indexed sequences with zero-boxing builders |
81
- | [Maybe](./reference/maybe.md) | `zio-blocks-maybe` | JVM · JS | 2.13 · 3.x | Low-allocation optional values backed by `null` |
82
- | [Combinators](./reference/combinators.md) | `zio-blocks-combinators` | JVM · JS | 2.13 · 3.x | Compile-time composition and decomposition of tuples, eithers, and unions |
83
- | [TypeId](./reference/typeid.md) | `zio-blocks-typeid` | JVM · JS | 2.13 · 3.x | Compile-time type identity with rich metadata |
84
- | [Context](./reference/context.md) | `zio-blocks-context` | JVM · JS | 2.13 · 3.x | Type-indexed heterogeneous collections |
85
- | [MediaType](./reference/media-type.md) | `zio-blocks-mediatype` | JVM · JS | 2.13 · 3.x | Type-safe IANA media types with 2,600+ predefined types |
83
+ | [Scope](./reference/resource-management/index.md) | `zio-blocks-scope` | JVM · JS | 2.13 · 3.x | Compile-time safe resource boundaries that keep values from escaping their lifetime |
84
+ | [Resource](./reference/resource-management/resource.md) | `zio-blocks-scope` | JVM · JS | 2.13 · 3.x | Lazy recipes that pair acquisition with finalization, composable with `map`, `flatMap`, and `zip` |
85
+ | [Unscoped](./reference/resource-management/unscoped.md) | `zio-blocks-scope` | JVM · JS | 2.13 · 3.x | Marker typeclass for plain data that can safely leave a scope |
86
+ | [DeferHandle](./reference/resource-management/defer-handle.md) | `zio-blocks-scope` | JVM · JS | 2.13 · 3.x | Handle returned by `Scope.defer` for cancelling a registered finalizer |
87
+ | [Finalizer](./reference/resource-management/finalizer.md) | `zio-blocks-scope` | JVM · JS | 2.13 · 3.x | Minimal capability interface for registering cleanup actions |
88
+ | [Finalization](./reference/resource-management/finalization.md) | `zio-blocks-scope` | JVM · JS | 2.13 · 3.x | Result of running a scope's finalizers, including any cleanup errors |
86
89
 
87
- ### Concurrency & Streaming
90
+ ### Dependency Injection
88
91
 
89
92
  | Block | Artifact | Platform | Scala | Description |
90
93
  |-------|----------|----------|-------|-------------|
91
- | [Async](./reference/async.md) | `zio-blocks-async` | JVM · JS | 2.13 · 3.x | Zero-allocation asynchronous effect type with direct-style `await` |
92
- | [Streams](./reference/streams/index.md) | `zio-blocks-streams` | JVM · JS | 2.13 · 3.x | Pull-based streaming with typed errors, zero boxing, and synchronous or asynchronous execution |
93
- | [Ring Buffer](./reference/ringbuffer/index.mdx) | `zio-blocks-ringbuffer` | JVM · JS | 2.13 · 3.x | Lock-free bounded ring buffers (SPSC, SPMC, MPSC, MPMC) |
94
- | [Mux](./reference/mux.mdx) | `zio-blocks-mux` | JVM · JS | 2.13 · 3.x | Thread-safe multiplexer for HTTP/2, QUIC, and WebSocket-style protocols |
94
+ | [Wire](./reference/resource-management/wire.md) | `zio-blocks-scope` | JVM · JS | 2.13 · 3.x | Compile-time safe recipes for constructing a service and its dependencies |
95
+ | [Context](./reference/context.md) | `zio-blocks-context` | JVM · JS | 2.13 · 3.x | Type-indexed heterogeneous collections |
95
96
 
96
- ### Resources & Configuration
97
+ ### Configuration & Feature Flags
97
98
 
98
99
  | Block | Artifact | Platform | Scala | Description |
99
100
  |-------|----------|----------|-------|-------------|
100
- | [Scope](./reference/resource-management/index.md) | `zio-blocks-scope` | JVM · JS | 2.13 · 3.x | Compile-time safe resource management and dependency injection |
101
- | [Config](./reference/config/index.md) | `zio-blocks-config` | JVM · JS | 2.13 · 3.x | Typed configuration loading, feature flags, and rollout rules |
101
+ | [Configuration](./reference/config/index.md) | `zio-blocks-config` | JVM · JS | 2.13 · 3.x | Typed configuration loading, feature flags, and rollout rules |
102
102
  | [Config YAML](./reference/config/formats.md) | `zio-blocks-config-yaml` | JVM · JS | 2.13 · 3.x | YAML source adapter for `ConfigSource` |
103
103
  | [Config JSON](./reference/config/formats.md) | `zio-blocks-config-json` | JVM · JS | 2.13 · 3.x | JSON source adapter for `ConfigSource` |
104
104
  | [Config HOCON](./reference/config/formats.md) | `zio-blocks-config-hocon` | JVM · JS | 2.13 · 3.x | HOCON source adapter for `ConfigSource` |
@@ -107,35 +107,59 @@ JSON support is built into `zio-blocks-schema`; the modules below add further fo
107
107
 
108
108
  | Block | Artifact | Platform | Scala | Description |
109
109
  |-------|----------|----------|-------|-------------|
110
+ | [MediaType](./reference/media-type.md) | `zio-blocks-mediatype` | JVM · JS | 2.13 · 3.x | Type-safe IANA media types with 2,600+ predefined types |
110
111
  | [HTTP Model](./reference/http-model/index.md) | `zio-blocks-http-model` | JVM · JS | 2.13 · 3.x | Pure HTTP data model with URL parsing, headers, cookies, and forms |
111
112
  | [HTTP Model Schema](./reference/http-model/schema.md) | `zio-blocks-http-model-schema` | JVM · JS | 2.13 · 3.x | Schema-based typed access to the HTTP model |
112
113
  | [Endpoint](./reference/endpoint/index.md) | `zio-blocks-endpoint` | JVM · JS | 2.13 · 3.x | Type-safe HTTP endpoint descriptors with composable codecs and typed auth |
113
- | [HTML](./reference/html.md) | `zio-blocks-html` | JVM · JS | 2.13 · 3.x | Type-safe HTML templating with XSS protection |
114
- | [HTMX](./reference/htmx/index.md) | `zio-blocks-http-htmx` | JVM · JS | 3.x | Typed HTMX DSL for compile-time-checked HTMX attributes |
115
- | [Datastar](./reference/datastar/index.md) | `zio-blocks-datastar` | JVM · JS | 3.x | Typed Datastar attribute and signal DSL, plus the SSE events that patch a live page |
116
114
  | [OpenAPI](./reference/openapi.md) | `zio-blocks-openapi` | JVM · JS | 2.13 · 3.x | Type-safe OpenAPI 3.1 specification generation and rendering |
117
115
  | [JWT](./reference/jwt.md) | `zio-blocks-jwt` | JVM · JS | 2.13 · 3.x | Zero-dependency JWT signing and verification with HMAC, RSA, ECDSA and EdDSA support |
116
+ | [HTML](./reference/html.md) | `zio-blocks-html` | JVM · JS | 2.13 · 3.x | Type-safe HTML templating with XSS protection |
117
+ | [Datastar](./reference/datastar/index.md) | `zio-blocks-datastar` | JVM · JS | 3.x | Typed Datastar attribute and signal DSL, plus the SSE events that patch a live page |
118
+ | [HTMX](./reference/htmx/index.md) | `zio-blocks-http-htmx` | JVM · JS | 3.x | Typed HTMX DSL for compile-time-checked HTMX attributes |
118
119
 
119
- ### Persistence
120
+ ### Data Types
120
121
 
121
122
  | Block | Artifact | Platform | Scala | Description |
122
123
  |-------|----------|----------|-------|-------------|
123
- | [SQL](./reference/sql/index.md) | `zio-blocks-sql` | JVM · JS | 3.x | Type-safe JDBC wrapper with schema-derived codecs and a CRUD repository |
124
- | [SQL — ZIO](./reference/sql-zio.md) | `zio-blocks-sql-zio` | JVM | 3.x | ZIO integration with `ZIO.attemptBlocking` and `ZLayer` |
125
- | [Projection](./reference/projection.md) | `zio-blocks-projection` | JVM | 3.x | Event-sourced projections with per-entity SQLite storage |
124
+ | [Chunk](./reference/chunk.md) | `zio-blocks-chunk` | JVM · JS | 2.13 · 3.x | High-performance immutable indexed sequences with zero-boxing builders |
125
+ | [Maybe](./reference/maybe.md) | `zio-blocks-maybe` | JVM · JS | 2.13 · 3.x | Low-allocation optional values backed by `null` |
126
+ | [Combinators](./reference/combinators.md) | `zio-blocks-combinators` | JVM · JS | 2.13 · 3.x | Compile-time composition and decomposition of tuples, eithers, and unions |
127
+
128
+ ### Concurrency
129
+
130
+ | Block | Artifact | Platform | Scala | Description |
131
+ |-------|----------|----------|-------|-------------|
132
+ | [Async](./reference/async.md) | `zio-blocks-async` | JVM · JS | 2.13 · 3.x | Zero-allocation asynchronous effect type with direct-style `await` |
133
+ | [Mux](./reference/mux.mdx) | `zio-blocks-mux` | JVM · JS | 2.13 · 3.x | Thread-safe multiplexer for HTTP/2, QUIC, and WebSocket-style protocols |
134
+ | [RingBuffer](./reference/ringbuffer/index.mdx) | `zio-blocks-ringbuffer` | JVM · JS | 2.13 · 3.x | Lock-free bounded ring buffers (SPSC, SPMC, MPSC, MPMC) |
135
+
136
+ ### Streams
126
137
 
127
- ### Observability
138
+ | Block | Artifact | Platform | Scala | Description |
139
+ |-------|----------|----------|-------|-------------|
140
+ | [Streams](./reference/streams/index.md) | `zio-blocks-streams` | JVM · JS | 2.13 · 3.x | Pull-based streaming with typed errors, zero boxing, and synchronous or asynchronous execution |
141
+
142
+ ### Telemetry
128
143
 
129
144
  | Block | Artifact | Platform | Scala | Description |
130
145
  |-------|----------|----------|-------|-------------|
131
146
  | [Telemetry](./reference/telemetry/index.md) | `zio-blocks-telemetry` | JVM · JS | 2.13 · 3.x | Zero-dependency OpenTelemetry-aligned tracing, logging, and metrics |
132
147
  | [OTLP Export](./reference/telemetry/otel/index.md) | `zio-blocks-telemetry-otel` | JVM | 2.13 · 3.x | OTLP exporters bridging telemetry signals to an OpenTelemetry collector |
133
148
 
149
+ ### Persistence
150
+
151
+ | Block | Artifact | Platform | Scala | Description |
152
+ |-------|----------|----------|-------|-------------|
153
+ | [SQL Module](./reference/sql/index.md) | `zio-blocks-sql` | JVM · JS | 3.x | Type-safe JDBC wrapper with schema-derived codecs and a CRUD repository |
154
+ | [ZIO Integration](./reference/sql-zio.md) | `zio-blocks-sql-zio` | JVM | 3.x | ZIO integration with `ZIO.attemptBlocking` and `ZLayer` |
155
+ | [Data Migration](./reference/data-migration.md) | `zio-blocks-data-migration` | JVM · JS | 3.x | Typed, online database schema migrations in three execution models, with no hand-written SQL |
156
+ | [Projection](./reference/projection.md) | `zio-blocks-projection` | JVM | 3.x | Event-sourced projections with per-entity SQLite storage |
157
+
134
158
  ### Tooling & Codegen
135
159
 
136
160
  | Block | Artifact | Platform | Scala | Description |
137
161
  |-------|----------|----------|-------|-------------|
138
- | [Codegen](./reference/codegen/index.md) | `zio-blocks-codegen` | JVM | 2.13 · 3.x | Generic Scala code generation IR and emitter |
162
+ | [Code Generation](./reference/codegen/index.md) | `zio-blocks-codegen` | JVM | 2.13 · 3.x | Generic Scala code generation IR and emitter |
139
163
  | [Docs](./reference/docs.md) | `zio-blocks-markdown` | JVM · JS | 2.13 · 3.x | GitHub Flavored Markdown parsing, rendering, and programmatic construction |
140
164
  | [Smithy](./reference/smithy.md) | `zio-blocks-smithy` | JVM | 2.13 · 3.x | Smithy IDL parser and AST library for API modeling |
141
165
 
@@ -185,10 +209,10 @@ val thriftCodec = Schema[Person].derive(ThriftFormat) // Thrift
185
209
  ### Installation
186
210
 
187
211
  ```scala
188
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.55"
212
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.56"
189
213
  ```
190
214
 
191
- See the [Schema & Serialization](#schema--serialization) rows above for the optional format modules.
215
+ See the [Meta Programming](#meta-programming) rows above for the optional format modules.
192
216
 
193
217
  ### Example
194
218
 
@@ -277,7 +301,7 @@ Scope.global.scoped { scope =>
277
301
  ### Installation
278
302
 
279
303
  ```scala
280
- libraryDependencies += "dev.zio" %% "zio-blocks-scope" % "0.0.55"
304
+ libraryDependencies += "dev.zio" %% "zio-blocks-scope" % "0.0.56"
281
305
  ```
282
306
 
283
307
  ### Example
@@ -307,7 +331,7 @@ Scope.global.scoped { scope =>
307
331
  ### Learn More
308
332
 
309
333
  - [Compile-Time Resource Safety with Scope](./guides/compile-time-resource-safety-with-scope.md) — the step-by-step tutorial, from basic resource management through dependency injection
310
- - [Resource Management & DI reference](./reference/resource-management/index.md) — `Scope`, `Resource`, `Wire`, `Unscoped`, and finalization order
334
+ - [Resource Management reference](./reference/resource-management/index.md) — `Scope`, `Resource`, `Wire`, `Unscoped`, and finalization order
311
335
 
312
336
  ---
313
337
 
@@ -349,7 +373,7 @@ val computed: Int =
349
373
  ### Installation
350
374
 
351
375
  ```scala
352
- libraryDependencies += "dev.zio" %% "zio-blocks-async" % "0.0.55"
376
+ libraryDependencies += "dev.zio" %% "zio-blocks-async" % "0.0.56"
353
377
  ```
354
378
 
355
379
  ### Example
@@ -414,10 +438,10 @@ val frag = sql"SELECT * FROM user WHERE email = ${"alice@example.com"}"
414
438
  ### Installation
415
439
 
416
440
  ```scala
417
- libraryDependencies += "dev.zio" %% "zio-blocks-sql" % "0.0.55"
441
+ libraryDependencies += "dev.zio" %% "zio-blocks-sql" % "0.0.56"
418
442
 
419
443
  // Optional ZIO integration
420
- libraryDependencies += "dev.zio" %% "zio-blocks-sql-zio" % "0.0.55"
444
+ libraryDependencies += "dev.zio" %% "zio-blocks-sql-zio" % "0.0.56"
421
445
  ```
422
446
 
423
447
  ### Example
@@ -488,7 +512,7 @@ large enough to have several pages start from an overview:
488
512
  - [Schema Evolution](./reference/schema/schema-evolution/index.md) - one-way and bidirectional type-safe conversions
489
513
  - [Telemetry](./reference/telemetry/index.md) - tracing, logging, metrics, and OTLP export
490
514
  - [SQL](./reference/sql/index.md) - codecs, fragments, tables, repositories, transactors, and dialects
491
- - [Resource Management & DI](./reference/resource-management/index.md) - `Scope`, `Resource`, `Wire`, `Unscoped`, and finalization
515
+ - [Resource Management](./reference/resource-management/index.md) - `Scope`, `Resource`, `Wire`, `Unscoped`, and finalization
492
516
  - [Streams](./reference/streams/index.md) - `Stream`, `Pipeline`, `Sink`, and the low-level readers and writers
493
517
  - [Endpoint](./reference/endpoint/index.md) - endpoint descriptors, HTTP codecs, route patterns, and typed auth
494
518
  - [HTTP Model](./reference/http-model/index.md) - the pure HTTP data model and its schema-based typed access
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@zio.dev/zio-blocks",
3
3
  "description": "ZIO Blocks Documentation",
4
4
  "license": "Apache-2.0",
5
- "version": "0.0.55",
5
+ "version": "0.0.56",
6
6
  "repository": {
7
7
  "url": "https://github.com/zio/zio-blocks"
8
8
  }
@@ -39,13 +39,13 @@ The type is aimed at infrastructure-level code: places that need a first-class a
39
39
  Add the module to your build:
40
40
 
41
41
  ```scala
42
- libraryDependencies += "dev.zio" %% "zio-blocks-async" % "0.0.55"
42
+ libraryDependencies += "dev.zio" %% "zio-blocks-async" % "0.0.56"
43
43
  ```
44
44
 
45
45
  In a cross-built project, use `%%%` so the same line resolves for both JVM and Scala.js:
46
46
 
47
47
  ```scala
48
- libraryDependencies += "dev.zio" %%% "zio-blocks-async" % "0.0.55"
48
+ libraryDependencies += "dev.zio" %%% "zio-blocks-async" % "0.0.56"
49
49
  ```
50
50
 
51
51
  The module publishes for JVM and Scala.js, on Scala 2.13 and Scala 3. That single coordinate is all you add: it brings `zio-blocks-combinators` with it, along with `dotty-cps-async` on Scala 3 or `scala-reflect` on Scala 2, both of which power the direct-style rewrite.
@@ -86,13 +86,13 @@ The practical result is that Chunk gives you a sequence type that's genuinely ef
86
86
  Chunk is available in the core `zio-blocks` library:
87
87
 
88
88
  ```scala
89
- libraryDependencies += "dev.zio" %% "zio-blocks-chunk" % "0.0.55"
89
+ libraryDependencies += "dev.zio" %% "zio-blocks-chunk" % "0.0.56"
90
90
  ```
91
91
 
92
92
  For Scala.js support:
93
93
 
94
94
  ```scala
95
- libraryDependencies += "dev.zio" %%% "zio-blocks-chunk" % "0.0.55"
95
+ libraryDependencies += "dev.zio" %%% "zio-blocks-chunk" % "0.0.56"
96
96
  ```
97
97
 
98
98
  Supports Scala 2.13.x and 3.x.
@@ -489,7 +489,7 @@ import zio.blocks.chunk.Chunk
489
489
  import java.util.Arrays
490
490
 
491
491
  val javaIter = Arrays.asList(1, 2, 3).iterator()
492
- // javaIter: Iterator[Int] = java.util.Arrays$ArrayItr@1633b83e
492
+ // javaIter: Iterator[Int] = java.util.Arrays$ArrayItr@2bb97c7f
493
493
  val chunk = Chunk.fromJavaIterator(javaIter)
494
494
  // chunk: Chunk[Int] = IndexedSeq(1, 2, 3)
495
495
  ```
@@ -81,7 +81,7 @@ OpenAPI → Scala Smithy → Scala Protobuf → Scala JSON Schema → S
81
81
  Add the library to your project:
82
82
 
83
83
  ```scala
84
- libraryDependencies += "dev.zio" %% "zio-blocks-codegen" % "0.0.55"
84
+ libraryDependencies += "dev.zio" %% "zio-blocks-codegen" % "0.0.56"
85
85
  ```
86
86
 
87
87
  Supported Scala versions: 2.13.x and 3.x
@@ -29,13 +29,13 @@ All typeclasses are derived automatically via compile-time resolution and provid
29
29
  Add the following to your `build.sbt`:
30
30
 
31
31
  ```sbt
32
- libraryDependencies += "dev.zio" %% "zio-blocks-combinators" % "0.0.55"
32
+ libraryDependencies += "dev.zio" %% "zio-blocks-combinators" % "0.0.56"
33
33
  ```
34
34
 
35
35
  For cross-platform projects (Scala.js):
36
36
 
37
37
  ```sbt
38
- libraryDependencies += "dev.zio" %%% "zio-blocks-combinators" % "0.0.55"
38
+ libraryDependencies += "dev.zio" %%% "zio-blocks-combinators" % "0.0.56"
39
39
  ```
40
40
 
41
41
  Supported platforms:
@@ -286,7 +286,7 @@ import zio.blocks.combinators.Eithers
286
286
  val e = summon[Eithers.Eithers[Int, String]]
287
287
  // e: Eithers[Int, String] {
288
288
  type Out >: Either[Int, String] <: Either[Int, String]
289
- } = zio.blocks.combinators.Eithers$Eithers$AtomicInstance@533b9d04
289
+ } = zio.blocks.combinators.Eithers$Eithers$AtomicInstance@60379196
290
290
  val input = Left(42): Either[Int, String]
291
291
  // input: Either[Int, String] = Left(42)
292
292
  e.separate(e.combine(input))
@@ -379,7 +379,7 @@ import zio.blocks.combinators.Unions
379
379
  val u = summon[Unions.Unions.WithOut[Int, String, Int | String]]
380
380
  // u: Unions[Int, String] {
381
381
  type Out >: Int | String <: Int | String
382
- } = zio.blocks.combinators.Unions$Unions$UnionInstance@17919b2f
382
+ } = zio.blocks.combinators.Unions$Unions$UnionInstance@65686c52
383
383
  u.separate(42: Int | String)
384
384
  // res14: Either[Int, String] = Left(42)
385
385
  u.separate("hello": Int | String)
@@ -62,7 +62,7 @@ An absent key yields `Maybe.absent` rather than throwing or returning `null`:
62
62
 
63
63
  ```scala
64
64
  source.get("db.user")
65
- // res1: Maybe[SourceValue[String]] = zio.blocks.maybe.Absent$@16d4dcbe
65
+ // res1: Maybe[SourceValue[String]] = zio.blocks.maybe.Absent$@53f42f8c
66
66
  ```
67
67
 
68
68
  `ConfigSource.MapSource` is the underlying case class, so you can pattern match on it or construct it directly when you want the concrete type rather than the trait.
@@ -363,7 +363,7 @@ loaded.provenanceOf("port")
363
363
  // rawValue = "5432"
364
364
  // )
365
365
  loaded.provenanceOf("nonexistent")
366
- // res21: Maybe[Provenance] = zio.blocks.maybe.Absent$@16d4dcbe
366
+ // res21: Maybe[Provenance] = zio.blocks.maybe.Absent$@53f42f8c
367
367
  ```
368
368
 
369
369
  ### Dumping Configuration
@@ -51,7 +51,7 @@ Writing `tag: null` to unset a value from a lower-priority layer does not work.
51
51
  `config-yaml` reads YAML through the `zio-blocks-schema-yaml` reader:
52
52
 
53
53
  ```scala
54
- libraryDependencies += "dev.zio" %% "zio-blocks-config-yaml" % "0.0.55"
54
+ libraryDependencies += "dev.zio" %% "zio-blocks-config-yaml" % "0.0.56"
55
55
  ```
56
56
 
57
57
  Importing the adapter package makes the constructor available on the `ConfigSource` companion:
@@ -117,7 +117,7 @@ Non-scalar mapping keys are skipped rather than rejected, since a dotted key nam
117
117
  `config-json` reads JSON through the `zio-blocks-schema-json` parser:
118
118
 
119
119
  ```scala
120
- libraryDependencies += "dev.zio" %% "zio-blocks-config-json" % "0.0.55"
120
+ libraryDependencies += "dev.zio" %% "zio-blocks-config-json" % "0.0.56"
121
121
  ```
122
122
 
123
123
  The import and the constructor mirror the YAML adapter:
@@ -160,7 +160,7 @@ A malformed document yields `ConfigError.InvalidValue` with a 100-character exce
160
160
  `config-hocon` has its own parser with no external dependency, and it is the only adapter that supports substitutions and includes:
161
161
 
162
162
  ```scala
163
- libraryDependencies += "dev.zio" %% "zio-blocks-config-hocon" % "0.0.55"
163
+ libraryDependencies += "dev.zio" %% "zio-blocks-config-hocon" % "0.0.56"
164
164
  ```
165
165
 
166
166
  ### Parsing a String
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  id: index
3
- title: "Config"
4
- sidebar_label: "Config"
3
+ title: "Configuration & Feature Flags"
4
+ sidebar_label: "Configuration & Feature Flags"
5
5
  ---
6
6
 
7
7
  `zio.blocks.config` loads typed configuration from string-keyed sources, tracks where every resolved value came from, and evaluates feature flags with percentage-based rollouts. The module is synchronous and zero-dependency. Core types: `ConfigSource`, `ConfigDecoder`, `ConfigError`, `Provenance`, `FlagSource`, `StaticFlag`, `DynamicFlag`, `Rollout`. The shapes at the center of the module:
@@ -43,21 +43,21 @@ Most configuration libraries make you choose between two unpleasant options: a s
43
43
  The core module provides sources, decoding, and flags:
44
44
 
45
45
  ```scala
46
- libraryDependencies += "dev.zio" %% "zio-blocks-config" % "0.0.55"
46
+ libraryDependencies += "dev.zio" %% "zio-blocks-config" % "0.0.56"
47
47
  ```
48
48
 
49
49
  Each file format is a separate artifact, so you depend only on the ones you use:
50
50
 
51
51
  ```scala
52
- libraryDependencies += "dev.zio" %% "zio-blocks-config-yaml" % "0.0.55"
53
- libraryDependencies += "dev.zio" %% "zio-blocks-config-json" % "0.0.55"
54
- libraryDependencies += "dev.zio" %% "zio-blocks-config-hocon" % "0.0.55"
52
+ libraryDependencies += "dev.zio" %% "zio-blocks-config-yaml" % "0.0.56"
53
+ libraryDependencies += "dev.zio" %% "zio-blocks-config-json" % "0.0.56"
54
+ libraryDependencies += "dev.zio" %% "zio-blocks-config-hocon" % "0.0.56"
55
55
  ```
56
56
 
57
57
  For Scala.js, use `%%%` instead of `%%`:
58
58
 
59
59
  ```scala
60
- libraryDependencies += "dev.zio" %%% "zio-blocks-config" % "0.0.55"
60
+ libraryDependencies += "dev.zio" %%% "zio-blocks-config" % "0.0.56"
61
61
  ```
62
62
 
63
63
  Supported Scala versions: 2.13.x and 3.x.
@@ -141,7 +141,7 @@ Five methods cover parsing, evaluation, and diagnostics. `Rollout.select` is the
141
141
  Rollout.select("on@prod/50%; off", "prod", 10)
142
142
  // res9: Maybe[String] = "on"
143
143
  Rollout.select("@@@not-valid", "prod", 10)
144
- // res10: Maybe[String] = zio.blocks.maybe.Absent$@16d4dcbe
144
+ // res10: Maybe[String] = zio.blocks.maybe.Absent$@53f42f8c
145
145
  ```
146
146
 
147
147
  Because a parse failure is indistinguishable from a non-match, use `Rollout.select` only where a malformed expression should behave as "no decision". Parse explicitly when you need to know.
@@ -116,7 +116,7 @@ val config = ctx.get[Config] // Compile-time proof it exists
116
116
  Add the ZIO Blocks Context module to your `build.sbt`:
117
117
 
118
118
  ```scala
119
- libraryDependencies += "dev.zio" %% "zio-blocks-context" % "0.0.55"
119
+ libraryDependencies += "dev.zio" %% "zio-blocks-context" % "0.0.56"
120
120
  ```
121
121
 
122
122
  ## Construction
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  id: data-migration
3
- title: "SQL Data Migration"
3
+ title: "Data Migration"
4
4
  ---
5
5
 
6
6
  The `zio.blocks.data.migration` module provides three execution models for evolving database schemas online. It builds on [`Migration[A, B]`](./schema/migration.md) for the typed row transformation and [`Repo[E, ID]`](./sql/index.md) for database access. No hand-written SQL, no XML, no Liquibase-style migration files.
@@ -41,13 +41,13 @@ This module closes each of those:
41
41
  Add the module to your build:
42
42
 
43
43
  ```scala
44
- libraryDependencies += "dev.zio" %% "zio-blocks-datastar" % "0.0.55"
44
+ libraryDependencies += "dev.zio" %% "zio-blocks-datastar" % "0.0.56"
45
45
  ```
46
46
 
47
47
  For Scala.js, use `%%%` instead of `%%`:
48
48
 
49
49
  ```scala
50
- libraryDependencies += "dev.zio" %%% "zio-blocks-datastar" % "0.0.55"
50
+ libraryDependencies += "dev.zio" %%% "zio-blocks-datastar" % "0.0.56"
51
51
  ```
52
52
 
53
53
  Supported Scala versions: 2.13.x and 3.x.
@@ -9,10 +9,10 @@ title: "Datastar"
9
9
 
10
10
  ```scala
11
11
  // JVM
12
- libraryDependencies += "dev.zio" %% "zio-blocks-datastar" % "0.0.55"
12
+ libraryDependencies += "dev.zio" %% "zio-blocks-datastar" % "0.0.56"
13
13
 
14
14
  // Scala.js
15
- libraryDependencies += "dev.zio" %%% "zio-blocks-datastar" % "0.0.55"
15
+ libraryDependencies += "dev.zio" %%% "zio-blocks-datastar" % "0.0.56"
16
16
  ```
17
17
 
18
18
  ## Signals
package/reference/docs.md CHANGED
@@ -41,13 +41,13 @@ Markdown is the de facto standard for documentation, READMEs, and formatted text
41
41
  Add the dependency to your `build.sbt`:
42
42
 
43
43
  ```sbt
44
- libraryDependencies += "dev.zio" %% "zio-blocks-markdown" % "0.0.55"
44
+ libraryDependencies += "dev.zio" %% "zio-blocks-markdown" % "0.0.56"
45
45
  ```
46
46
 
47
47
  For Scala.js, use the cross-build syntax:
48
48
 
49
49
  ```sbt
50
- libraryDependencies += "dev.zio" %%% "zio-blocks-markdown" % "0.0.55"
50
+ libraryDependencies += "dev.zio" %%% "zio-blocks-markdown" % "0.0.56"
51
51
  ```
52
52
 
53
53
  Supported Scala versions: 2.13.x and 3.x
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  id: endpoint
3
+ slug: /reference/endpoint/endpoint
3
4
  title: "Endpoint"
4
5
  ---
5
6
 
@@ -41,18 +41,18 @@ The endpoint module is a cross-platform library (JVM + Scala.js). Add the depend
41
41
 
42
42
  **JVM (Scala 3.x):**
43
43
  ```scala
44
- libraryDependencies += "dev.zio" %% "zio-blocks-endpoint" % "0.0.55"
44
+ libraryDependencies += "dev.zio" %% "zio-blocks-endpoint" % "0.0.56"
45
45
  ```
46
46
 
47
47
  **Scala.js (Scala 3.x):**
48
48
  ```scala
49
- libraryDependencies += "dev.zio" %%% "zio-blocks-endpoint" % "0.0.55"
49
+ libraryDependencies += "dev.zio" %%% "zio-blocks-endpoint" % "0.0.56"
50
50
  ```
51
51
 
52
52
  **For Scala 3.7+**, the module name is rewritten to `zio-blocks-next-endpoint`:
53
53
  ```scala
54
- libraryDependencies += "dev.zio" %% "zio-blocks-next-endpoint" % "0.0.55" // JVM
55
- libraryDependencies += "dev.zio" %%% "zio-blocks-next-endpoint" % "0.0.55" // Scala.js
54
+ libraryDependencies += "dev.zio" %% "zio-blocks-next-endpoint" % "0.0.56" // JVM
55
+ libraryDependencies += "dev.zio" %%% "zio-blocks-next-endpoint" % "0.0.56" // Scala.js
56
56
  ```
57
57
 
58
58
  Supported Scala versions: 3.x (Scala 3 only — the endpoint module uses Scala 3-only DSL and macro code).
package/reference/html.md CHANGED
@@ -77,13 +77,13 @@ Template engines with runtime parsing add overhead and complexity:
77
77
  Add to `build.sbt`:
78
78
 
79
79
  ```
80
- libraryDependencies += "dev.zio" %% "zio-blocks-html" % "0.0.55"
80
+ libraryDependencies += "dev.zio" %% "zio-blocks-html" % "0.0.56"
81
81
  ```
82
82
 
83
83
  For Scala.js projects, use `%%%`:
84
84
 
85
85
  ```
86
- libraryDependencies += "dev.zio" %%% "zio-blocks-html" % "0.0.55"
86
+ libraryDependencies += "dev.zio" %%% "zio-blocks-html" % "0.0.56"
87
87
  ```
88
88
 
89
89
  Supported Scala versions: 2.13.x and 3.x
@@ -52,10 +52,10 @@ Add the HTMX module to your project dependencies:
52
52
 
53
53
  ```scala
54
54
  // JVM
55
- libraryDependencies += "dev.zio" %% "zio-blocks-http-htmx" % "0.0.55"
55
+ libraryDependencies += "dev.zio" %% "zio-blocks-http-htmx" % "0.0.56"
56
56
 
57
57
  // Scala.js
58
- libraryDependencies += "dev.zio" %%% "zio-blocks-http-htmx" % "0.0.55"
58
+ libraryDependencies += "dev.zio" %%% "zio-blocks-http-htmx" % "0.0.56"
59
59
  ```
60
60
 
61
61
  Supported Scala versions: Scala 3.x. The module is cross-compiled for JVM and Scala.js.