@zio.dev/zio-blocks 0.0.21 → 0.0.24
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/guides/query-dsl-extending.md +758 -0
- package/guides/query-dsl-fluent-builder.md +1287 -0
- package/guides/query-dsl-reified-optics.md +494 -0
- package/guides/query-dsl-sql.md +680 -0
- package/index.md +57 -34
- package/package.json +1 -1
- package/path-interpolator.md +24 -23
- package/reference/codec.md +386 -0
- package/reference/docs.md +1 -1
- package/reference/dynamic-optic.md +396 -0
- package/reference/formats.md +68 -12
- package/reference/json-schema.md +14 -11
- package/reference/json.md +2 -2
- package/reference/lazy.md +361 -0
- package/reference/media-type.md +460 -0
- package/reference/modifier.md +340 -0
- package/reference/optics.md +4 -0
- package/reference/schema-expr.md +669 -0
- package/reference/schema.md +1 -0
- package/reference/syntax.md +11 -11
- package/reference/type-class-derivation.md +1960 -0
- package/scope.md +754 -502
- package/sidebars.js +18 -1
- package/undocumented-report.md +331 -0
package/sidebars.js
CHANGED
|
@@ -11,17 +11,34 @@ const sidebars = {
|
|
|
11
11
|
"reference/binding",
|
|
12
12
|
"reference/registers",
|
|
13
13
|
"reference/typeid",
|
|
14
|
+
"reference/modifier",
|
|
14
15
|
"reference/dynamic-value",
|
|
15
16
|
"reference/optics",
|
|
17
|
+
"reference/schema-expr",
|
|
18
|
+
"reference/dynamic-optic",
|
|
19
|
+
"reference/type-class-derivation",
|
|
20
|
+
"reference/codec",
|
|
21
|
+
"reference/formats",
|
|
22
|
+
"path-interpolator",
|
|
16
23
|
"reference/chunk",
|
|
17
24
|
"reference/validation",
|
|
18
25
|
"reference/schema-evolution",
|
|
19
26
|
"reference/context",
|
|
20
27
|
"reference/docs",
|
|
21
|
-
"reference/formats",
|
|
22
28
|
"reference/json",
|
|
23
29
|
"reference/json-schema",
|
|
24
30
|
"reference/syntax",
|
|
31
|
+
"reference/media-type",
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
type: "category",
|
|
36
|
+
label: "Guides",
|
|
37
|
+
items: [
|
|
38
|
+
"guides/query-dsl-reified-optics",
|
|
39
|
+
"guides/query-dsl-sql",
|
|
40
|
+
"guides/query-dsl-extending",
|
|
41
|
+
"guides/query-dsl-fluent-builder",
|
|
25
42
|
]
|
|
26
43
|
}
|
|
27
44
|
]
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: undocumented-report
|
|
3
|
+
title: "Documentation Coverage Report"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Documentation Coverage Report
|
|
7
|
+
|
|
8
|
+
Comprehensive analysis of documentation gaps in ZIO Blocks, combining automated scanning with manual source-code review.
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
| Metric | Count |
|
|
13
|
+
|--------|-------|
|
|
14
|
+
| Total public types found | 552 |
|
|
15
|
+
| Types with documentation | 302 |
|
|
16
|
+
| Types lacking documentation | 250 |
|
|
17
|
+
| Documentation coverage | 54% |
|
|
18
|
+
| Existing reference pages | 24 |
|
|
19
|
+
| Missing methods in existing pages | ~44 |
|
|
20
|
+
| Missing examples in existing pages | ~39 |
|
|
21
|
+
| Conceptual docs (guides, how-tos) | 0 |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Critical: Missing Reference Pages
|
|
26
|
+
|
|
27
|
+
These are core public API types that users interact with directly. Each needs a dedicated reference page or a substantial new section in an existing page.
|
|
28
|
+
|
|
29
|
+
- [ ] **`MediaType`** (module `mediatype`) — Public API for media type parsing and matching; essential for content negotiation. The entire `zio.blocks.mediatype` package has zero documentation. **Scope: new page**. Source: `mediatype/shared/src/main/scala/zio/blocks/mediatype/MediaType.scala`
|
|
30
|
+
- [ ] **`MediaTypes`** (module `mediatype`) — Predefined media type instances (application/json, text/html, etc.). Should be part of the `MediaType` page. **Scope: new section**. Source: `mediatype/shared/src/main/scala/zio/blocks/mediatype/MediaTypes.scala`
|
|
31
|
+
- [ ] **`SchemaExpr`** (module `schema`) — Core trait for expression evaluation on schema-described types; central to the validation DSL. **Scope: new page**. Source: `schema/shared/src/main/scala/zio/blocks/schema/SchemaExpr.scala`
|
|
32
|
+
- [ ] **`SchemaError`** (module `schema`) — Primary error type returned from schema operations (ConversionFailed, MissingField, DuplicatedField, ExpectationMismatch, UnknownCase). Users handle these constantly. **Scope: new page or major section in schema.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/SchemaError.scala`
|
|
33
|
+
- [ ] **`Into`** (module `schema`) — Core conversion type class appearing in all cross-type transformations. **Scope: new page**. Source: `schema/shared/src/main/scala/zio/blocks/schema/Into.scala`
|
|
34
|
+
- [ ] **`JsonPatch`** (module `schema`) — Main public API for JSON patching and diffing operations. **Scope: new section in json.md or patch.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/json/JsonPatch.scala`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## High Priority: Incomplete Coverage
|
|
39
|
+
|
|
40
|
+
### Types needing at least a dedicated section in an existing page
|
|
41
|
+
|
|
42
|
+
**schema module — Binding subsystem:**
|
|
43
|
+
- [ ] **`BindingResolver`** — Essential for type binding resolution; critical for schema rebinding. Referenced in 6 source files. **Scope: new section in binding.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/binding/BindingResolver.scala`
|
|
44
|
+
- [ ] **`MapConstructor` / `MapDeconstructor`** — Public traits for customizing map handling in bindings. Referenced in 7 files each. **Scope: new section in binding.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/binding/MapConstructor.scala`
|
|
45
|
+
- [ ] **`ConstantConstructor` / `ConstantDeconstructor`** — Binding helpers for constant values. Referenced in 11 files each. **Scope: brief section in binding.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/binding/Constructor.scala`
|
|
46
|
+
- [ ] **`RegisterType`** — Type-safe register representation. Referenced in 5 files. **Scope: brief section in registers.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/binding/RegisterType.scala`
|
|
47
|
+
|
|
48
|
+
**schema module — Derivation subsystem:**
|
|
49
|
+
- [ ] **`InstanceOverride`** — Used for customizing schema derivation. Referenced in 8 files. **Scope: new section in type-class-derivation.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/derive/InstanceOverride.scala`
|
|
50
|
+
- [ ] **`ModifierOverride`** — Used for overriding modifiers during derivation. Referenced in 3 files. **Scope: new section in type-class-derivation.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/derive/ModifierOverride.scala`
|
|
51
|
+
|
|
52
|
+
**schema module — Type classes:**
|
|
53
|
+
- [ ] **`IsNumeric`** — Type class for arithmetic operations. Referenced in 3 files. **Scope: brief section in schema.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/IsNumeric.scala`
|
|
54
|
+
- [ ] **`IsCollection`** — Type class for collection operations. **Scope: brief section in schema.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/IsCollection.scala`
|
|
55
|
+
- [ ] **`IsMap`** — Type class for map operations. **Scope: brief section in schema.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/IsMap.scala`
|
|
56
|
+
- [ ] **`Reflectable`** — Trait for types with reflectable modifiers. Referenced in 3 files. **Scope: brief section in reflect.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/Reflectable.scala`
|
|
57
|
+
- [ ] **`ToStructural`** — Converts nominal to structural schemas. **Scope: brief section in reflect.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/ToStructural.scala`
|
|
58
|
+
|
|
59
|
+
**schema module — JSON subsystem:**
|
|
60
|
+
- [ ] **`Keyable`** — Type class for JSON key support. Referenced in 5 files. **Scope: new section in json.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/json/Keyable.scala`
|
|
61
|
+
- [ ] **`NameMapper`** (`CamelCase`, `KebabCase`, `PascalCase`) — Public field name transformations. **Scope: new section in json.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/json/NameMapper.scala`
|
|
62
|
+
- [ ] **`JsonBinaryCodecError`** — Custom exception for JSON codec errors. Referenced in 7 files. **Scope: brief section in json.md**. Source: `schema/shared/src/main/scala/zio/blocks/schema/json/JsonBinaryCodecError.scala`
|
|
63
|
+
|
|
64
|
+
**typeid module:**
|
|
65
|
+
- [ ] **`TypeRepr`** — Central type representation (24 subtypes: ThisType, TypeLambda, Singleton, Repeated, etc.). Referenced across 4-8 files each. **Scope: new section in typeid.md**. Source: `typeid/shared/src/main/scala/zio/blocks/typeid/TypeRepr.scala`
|
|
66
|
+
- [ ] **`TypeDefKind`** — Type definition classifier (AbstractType, EnumCase, TypeAlias, etc.). **Scope: new section in typeid.md**. Source: `typeid/shared/src/main/scala/zio/blocks/typeid/TypeDefKind.scala`
|
|
67
|
+
- [ ] **`Kind`** and **`Arrow`** — Higher-kinded type expressions. **Scope: new section in typeid.md**. Source: `typeid/shared/src/main/scala/zio/blocks/typeid/Kind.scala`
|
|
68
|
+
- [ ] **`Annotation`** — Type annotation metadata (ArrayArg, ClassOf, EnumValue). **Scope: new section in typeid.md**. Source: `typeid/shared/src/main/scala/zio/blocks/typeid/Annotation.scala`
|
|
69
|
+
- [ ] **`Owner`** and **`Segment`** — Type ownership path. **Scope: new section in typeid.md**. Source: `typeid/shared/src/main/scala/zio/blocks/typeid/Owner.scala`
|
|
70
|
+
|
|
71
|
+
**context module:**
|
|
72
|
+
- [ ] **`IsNominalType`** — Type class for nominal type extraction. Referenced in 6 files. **Scope: new section in context.md**. Source: `context/shared/src/main/scala/zio/blocks/context/IsNominalType.scala`
|
|
73
|
+
- [ ] **`IsNominalIntersection`** — Type class for intersection type handling. Referenced in 4 files. **Scope: new section in context.md**. Source: `context/shared/src/main/scala/zio/blocks/context/IsNominalIntersection.scala`
|
|
74
|
+
|
|
75
|
+
**Format codec modules:**
|
|
76
|
+
- [ ] **`BsonEncoder` / `BsonDecoder` / `BsonCodec`** (schema-bson) — Core encoding/decoding types for BSON. **Scope: expand formats.md BSON section**. Source: `schema-bson/src/main/scala/zio/blocks/schema/bson/BsonTypes.scala`
|
|
77
|
+
- [ ] **`MessagePackBinaryCodec`** (schema-messagepack) — Public codec for MessagePack. **Scope: expand formats.md MessagePack section**. Source: `schema-messagepack/src/main/scala/zio/blocks/schema/msgpack/MessagePackBinaryCodec.scala`
|
|
78
|
+
- [ ] **`ThriftBinaryCodec`** (schema-thrift) — Public codec for Thrift. **Scope: expand formats.md Thrift section**. Source: `schema-thrift/src/main/scala/zio/blocks/schema/thrift/ThriftBinaryCodec.scala`
|
|
79
|
+
- [ ] **`ToonReader` / `ToonWriter`** (schema-toon) — Public codec for TOON. Referenced in 9-10 files. **Scope: expand formats.md TOON section**. Source: `schema-toon/src/main/scala/zio/blocks/schema/toon/`
|
|
80
|
+
|
|
81
|
+
**markdown module:**
|
|
82
|
+
- [ ] **`Block`** subtypes (`BlockQuote`, `BulletList`, `CodeBlock`, `HtmlBlock`, `OrderedList`, `ThematicBreak`) — Core markdown AST elements. **Scope: new section in docs.md**. Source: `markdown/shared/src/main/scala/zio/blocks/docs/Block.scala`
|
|
83
|
+
- [ ] **`Inline`** subtypes (`Autolink`, `HtmlInline`, `Image`, `HardBreak`, `SoftBreak`) — Core markdown AST elements. **Scope: new section in docs.md**. Source: `markdown/shared/src/main/scala/zio/blocks/docs/Inline.scala`
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Medium Priority: Brief Mentions Needed
|
|
88
|
+
|
|
89
|
+
Types that should be mentioned in related pages but don't need dedicated sections.
|
|
90
|
+
|
|
91
|
+
**schema module:**
|
|
92
|
+
- [ ] `SchemaMetadata` / `Folder` — metadata traversal infrastructure. **Mention in: schema.md**
|
|
93
|
+
- [ ] `FromBinding` — type class for binding conversion. **Mention in: binding.md**
|
|
94
|
+
- [ ] `UnapplySeq` / `UnapplyMap` — implicit evidence for seq/map operations. **Mention in: binding.md**
|
|
95
|
+
- [ ] `OpticCheck` subtypes (`EmptyMap`, `MissingKey`, `SequenceIndexOutOfBounds`, `WrappingError`) — validation results from optic operations. **Mention in: optics.md**
|
|
96
|
+
- [ ] `RebindException` — thrown during schema rebinding. **Mention in: binding.md**
|
|
97
|
+
- [ ] `JsonDiffer` — JSON diffing utility. **Mention in: json.md**
|
|
98
|
+
- [ ] `JsonSchemaType` / `SchemaType` — JSON Schema type system. **Mention in: json-schema.md**
|
|
99
|
+
- [ ] `ContextDetector` parsing states — JSON interpolator internals. **Mention in: json.md**
|
|
100
|
+
- [ ] `TypeIdSchemas` — hand-rolled schema instances for TypeId. **Mention in: typeid.md**
|
|
101
|
+
|
|
102
|
+
**chunk module:**
|
|
103
|
+
- [ ] `ChunkIterator` — streaming iterator for chunks. **Mention in: chunk.md**
|
|
104
|
+
- [ ] `IsText` — type class for chunk-to-string conversion. **Mention in: chunk.md**
|
|
105
|
+
|
|
106
|
+
**scope module:**
|
|
107
|
+
- [ ] `InStack` — trait for stack-like containment. **Mention in: scope.md**
|
|
108
|
+
|
|
109
|
+
**markdown module:**
|
|
110
|
+
- [ ] `Alignment` / `Center` — table column alignment. **Mention in: docs.md**
|
|
111
|
+
- [ ] `HeadingLevel` (`H4`, `H5`) — heading levels. **Mention in: docs.md**
|
|
112
|
+
- [ ] `TerminalRenderer` — ANSI terminal rendering. **Mention in: docs.md**
|
|
113
|
+
- [ ] `MdInterpolatorRuntime` — runtime support for `md"..."`. **Mention in: docs.md**
|
|
114
|
+
|
|
115
|
+
**schema-toon module:**
|
|
116
|
+
- [ ] `Delimiter` / `Comma` / `Pipe` / `Tab` — array delimiters. **Mention in: formats.md**
|
|
117
|
+
- [ ] `ArrayFormat` — array encoding strategy. **Mention in: formats.md**
|
|
118
|
+
- [ ] `KeyFolding` / `PathExpansion` — TOON reader/writer config. **Mention in: formats.md**
|
|
119
|
+
|
|
120
|
+
**schema-bson module:**
|
|
121
|
+
- [ ] `DiscriminatorField` / `NoDiscriminator` / `WrapperWithClassNameField` — sum type encoding strategies. **Mention in: formats.md**
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Documentation Depth Issues
|
|
126
|
+
|
|
127
|
+
Existing pages that need updates — missing methods, examples, or cross-references.
|
|
128
|
+
|
|
129
|
+
### Schema (`schema.md`)
|
|
130
|
+
- [ ] Missing examples of schema serialization to JSON Schema and back
|
|
131
|
+
- [ ] Missing example of caching behavior with `derive(format)`
|
|
132
|
+
- [ ] Missing example of using modifiers on schemas
|
|
133
|
+
- [ ] No mention of `TypeId` integration in schema derivation
|
|
134
|
+
- [ ] Missing reference to schema validation with `DynamicSchema`
|
|
135
|
+
|
|
136
|
+
### Reflect (`reflect.md`)
|
|
137
|
+
- [ ] `Reflect#noBinding` — critical for understanding serialization, not documented
|
|
138
|
+
- [ ] `Reflect#transform` — used extensively but not documented
|
|
139
|
+
- [ ] `Reflect.Extractors` — pattern matching helpers not documented
|
|
140
|
+
- [ ] Missing example of working with `Reflect.Unbound` for serialization
|
|
141
|
+
- [ ] Missing example of recursive type handling with `Deferred`
|
|
142
|
+
- [ ] Should reference `Binding` more clearly for each reflect type
|
|
143
|
+
|
|
144
|
+
### Binding (`binding.md`)
|
|
145
|
+
- [ ] Missing documentation on `Register` and `RegisterOffset` API — critical for zero-allocation architecture
|
|
146
|
+
- [ ] Missing `SpecializedIndexed` documentation for array-based performance
|
|
147
|
+
- [ ] No detailed example of `RegisterOffset` calculation
|
|
148
|
+
- [ ] No example of implementing custom `SeqConstructor` for new collection types
|
|
149
|
+
- [ ] No example of `MapConstructor` / `MapDeconstructor` implementation
|
|
150
|
+
- [ ] Missing explanation of why specialized constructors exist
|
|
151
|
+
|
|
152
|
+
### Chunk (`chunk.md`)
|
|
153
|
+
- [ ] `Chunk.BitChunk` and bit operations barely documented
|
|
154
|
+
- [ ] No example of the `BitChunk` operations with endianness
|
|
155
|
+
- [ ] Missing performance comparison with `Vector` for various operations
|
|
156
|
+
- [ ] `Chunk.materialize` automatic triggering conditions are vague
|
|
157
|
+
- [ ] Missing `NonEmptyChunk#flatMap` documentation
|
|
158
|
+
|
|
159
|
+
### JSON (`json.md`)
|
|
160
|
+
- [ ] Missing `Keyable` typeclass documentation
|
|
161
|
+
- [ ] `Json#diff` operation types not documented
|
|
162
|
+
- [ ] No example of complex querying with predicates
|
|
163
|
+
- [ ] No example of recursive transformation with `transformDown` vs `transformUp`
|
|
164
|
+
- [ ] No example of merging strategies in detail
|
|
165
|
+
- [ ] Should reference `JsonSchema` more thoroughly
|
|
166
|
+
|
|
167
|
+
### Codec (`codec.md`)
|
|
168
|
+
- [ ] Missing explanation of `Format` trait interface
|
|
169
|
+
- [ ] Missing documentation of `Deriver` pattern for custom codecs
|
|
170
|
+
- [ ] No example of implementing a custom `Format`
|
|
171
|
+
- [ ] No example of `DerivationBuilder` advanced usage
|
|
172
|
+
- [ ] Codec instance caching mechanism not explained
|
|
173
|
+
- [ ] JSON codec configuration incomplete — missing validation options
|
|
174
|
+
|
|
175
|
+
### Patch (`patch.md`)
|
|
176
|
+
- [ ] `DynamicPatch` operations not fully documented
|
|
177
|
+
- [ ] No example of `modifyKey` on maps with type parameters
|
|
178
|
+
- [ ] No example of composing patches across different types
|
|
179
|
+
- [ ] Missing example of serialization and storage of patches
|
|
180
|
+
- [ ] Should explain relationship to `DynamicValue.diff`
|
|
181
|
+
|
|
182
|
+
### TypeId (`typeid.md`)
|
|
183
|
+
- [ ] `TypeRepr` subtypes barely documented (24 variants)
|
|
184
|
+
- [ ] `TypeDefKind` variants incomplete
|
|
185
|
+
- [ ] `Member` API — parameter modifiers underdocumented
|
|
186
|
+
- [ ] `TermPath` and singleton types barely covered
|
|
187
|
+
- [ ] No mention of Scala 2 vs Scala 3 differences in TypeId derivation
|
|
188
|
+
|
|
189
|
+
### Context (`context.md`)
|
|
190
|
+
- [ ] `IsNominalType` typeclass not explained
|
|
191
|
+
- [ ] No mention of performance characteristics
|
|
192
|
+
- [ ] Missing explanation of why only nominal types are supported
|
|
193
|
+
- [ ] Missing example of context composition in larger applications
|
|
194
|
+
|
|
195
|
+
### Validation (`validation.md`)
|
|
196
|
+
- [ ] Composition/chaining methods not documented
|
|
197
|
+
- [ ] No example of using validations directly on `PrimitiveType`
|
|
198
|
+
- [ ] No example of validation in format derivers
|
|
199
|
+
- [ ] Missing guidance on validation composition workarounds
|
|
200
|
+
- [ ] Missing integration examples with JSON Schema
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Conceptual Gaps
|
|
205
|
+
|
|
206
|
+
Missing guides, overviews, and tutorials — none of these exist today.
|
|
207
|
+
|
|
208
|
+
- [ ] **Getting Started Guide** — No quick-start for new users. Should cover: adding dependencies, defining a case class, deriving a schema, encoding/decoding JSON. **Scope: new page `docs/getting-started.md`**
|
|
209
|
+
- [ ] **Architecture Overview** — No high-level design document. Should cover: module dependency graph, register-based zero-allocation architecture, the Reflect/Binding/Schema layering, and the Deriver pattern. **Scope: new page `docs/architecture.md`**
|
|
210
|
+
- [ ] **How-To: Custom Codec** — No guide for implementing a custom `Format` and its `Deriver`. **Scope: new page `docs/how-to-custom-codec.md`**
|
|
211
|
+
- [ ] **How-To: Schema Derivation** — No guide walking through `Schema.derived` vs manual schema construction. **Scope: new section in schema.md or new page**
|
|
212
|
+
- [ ] **How-To: Working with DynamicValue** — No guide on converting between typed and dynamic representations. **Scope: new section in dynamic-value.md**
|
|
213
|
+
- [ ] **End-to-End Pipeline Example** — No documentation showing the full Schema -> Codec -> Encoding -> Decoding -> Validation pipeline. **Scope: new page or section in index.md**
|
|
214
|
+
- [ ] **Migration Guide** — No version migration docs (may not be needed yet if pre-1.0, but placeholder is useful)
|
|
215
|
+
- [ ] **Performance Guide** — No guidance on when to use `materialize` on Chunks, binding register allocation strategies, caching behavior in schema derivation, or JSON encoder/decoder performance characteristics
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Low Priority / Skip
|
|
220
|
+
|
|
221
|
+
Internal types that don't need documentation.
|
|
222
|
+
|
|
223
|
+
| Type | Module | Reason |
|
|
224
|
+
|------|--------|--------|
|
|
225
|
+
| `LittleEndian` | chunk | Endianness marker for bit operations; specialized internal |
|
|
226
|
+
| `ChunkMapBuilder` | chunk | Internal builder behind `ChunkMap.newBuilder` |
|
|
227
|
+
| `PlatformSpecific` | schema | Platform-specific trait for JVM/JS split |
|
|
228
|
+
| `Extractors` | schema | Internal pattern matching helpers on `Reflect` |
|
|
229
|
+
| `AsLowPriorityImplicits` | schema | Implicit resolution priority helper |
|
|
230
|
+
| `IntoPrimitiveInstances` / `IntoContainerInstances` | schema | Implicit instance providers (infrastructure) |
|
|
231
|
+
| `HasInstances` | schema | Derivation infrastructure |
|
|
232
|
+
| `UnapplySeqLowPriority` | schema | Implicit priority helper |
|
|
233
|
+
| `Leaf` (in Doc) | schema | Internal documentation node type |
|
|
234
|
+
| `Folder` | schema | Internal metadata traversal helper |
|
|
235
|
+
| All `*Delta` / `*Dummy` types in `DynamicPatch` | schema | Internal patch operation representations (BigDecimalDelta, ByteDelta, DoubleDelta, DurationDelta, DurationDummy, FloatDelta, InstantDelta, IntDelta, LocalDateDelta, LocalDateTimeDelta, LongDelta, PeriodDelta, PeriodDummy, ShortDelta) |
|
|
236
|
+
| All `PathParser` error types | schema | Internal parser errors (EmptyChar, InvalidEscape, InvalidIdentifier, InvalidSyntax, IntegerOverflow, MultiCharLiteral, UnexpectedChar, UnexpectedEnd, UnterminatedChar, UnterminatedString) |
|
|
237
|
+
| `ContextDetector` / parsing states | schema | Internal JSON interpolator state machine (AfterValue, ExpectingColon, ExpectingKey, ExpectingValue, InString, TopLevel) |
|
|
238
|
+
| `JsonSchemaToReflect` helpers | schema | Internal conversion types (FieldVariant, KeyVariant, MapShape, OptionOf, PrimKind) |
|
|
239
|
+
| `CaseInfo` / `EnumInfo` | schema | Internal JSON codec deriver helpers |
|
|
240
|
+
| `DynamicValueMergeStrategy` / `KeepLeft` | schema | Internal merge strategy implementation |
|
|
241
|
+
| `DynamicValueSelection` | schema | Internal selection helper |
|
|
242
|
+
| `NoBinding` | schema | Internal marker type |
|
|
243
|
+
| `ReflectPrinter` | schema | Internal debug printing |
|
|
244
|
+
| `Registry` / `Registry.Entry` | schema | Internal binding resolver storage |
|
|
245
|
+
| `ObjectIdSupport` | schema-bson | Internal BSON ObjectId helper |
|
|
246
|
+
| `BsonBuilder` / `BsonTrace` / `EncoderContext` / `BsonDecoderContext` | schema-bson | Internal codec implementation |
|
|
247
|
+
| `MessagePackBinaryCodecDeriver` | schema-messagepack | Internal deriver |
|
|
248
|
+
| `MessagePackReader` / `MessagePackWriter` | schema-messagepack | Internal binary readers/writers |
|
|
249
|
+
| `Mixed` / `UniformRecords` | schema-toon | Internal codec strategy types |
|
|
250
|
+
| `ArrayHeader` | schema-toon | Internal reader state |
|
|
251
|
+
| `Off` | schema-toon | Internal config value |
|
|
252
|
+
| All `scope/internal/*` types | scope | Internal error rendering (Colors, DepNode, DepStatus, ErrorMessages, Found, Missing, Pending, ProviderInfo) |
|
|
253
|
+
| `Destroyed` / `Uninitialized` | scope | Internal resource lifecycle states |
|
|
254
|
+
| `FlatMap` / `ZSink` / `ZSinkFiber` / `ZSource` / `ZSourceFiber` | streams | Experimental/WIP module |
|
|
255
|
+
| `TypeIdInstances` | typeid | Internal implicit provider trait |
|
|
256
|
+
| `TypeIdPrinter` | typeid | Internal rendering utility |
|
|
257
|
+
| `Owners` | typeid | Internal namespace helper |
|
|
258
|
+
| All `*Const` types in `TypeRepr` | typeid | Internal literal type representations (BooleanConst, CharConst, ClassOfConst, DoubleConst, FloatConst, IntConst, LongConst, NullConst, StringConst, UnitConst) |
|
|
259
|
+
| `AnyKindType` / `AnyType` / `NothingType` / `NullType` / `UnitType` | typeid | Internal special type representations |
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Suggested Actions
|
|
264
|
+
|
|
265
|
+
Ordered TODO checklist grouped by module, with estimated scope.
|
|
266
|
+
|
|
267
|
+
### Conceptual Documentation (highest impact)
|
|
268
|
+
|
|
269
|
+
1. - [ ] Write **Getting Started Guide** — `docs/getting-started.md` — *new page*
|
|
270
|
+
2. - [ ] Write **Architecture Overview** — `docs/architecture.md` — *new page*
|
|
271
|
+
3. - [ ] Write **End-to-End Pipeline Example** — Schema -> Codec -> Encode -> Decode -> Validate — *new page or section*
|
|
272
|
+
|
|
273
|
+
### Module: `mediatype` (entirely undocumented)
|
|
274
|
+
|
|
275
|
+
4. - [ ] Write **MediaType reference page** — `docs/reference/media-type.md` — *new page*
|
|
276
|
+
|
|
277
|
+
### Module: `schema` (core gaps)
|
|
278
|
+
|
|
279
|
+
5. - [ ] Write **SchemaError reference** — error types, handling patterns — *new page or new section in schema.md*
|
|
280
|
+
6. - [ ] Write **SchemaExpr reference** — expression DSL, validation expressions — *new page*
|
|
281
|
+
7. - [ ] Write **Into reference** — cross-type conversions — *new page*
|
|
282
|
+
8. - [ ] Add **BindingResolver, MapConstructor, MapDeconstructor** sections to `binding.md` — *update existing*
|
|
283
|
+
9. - [ ] Add **InstanceOverride, ModifierOverride** sections to `type-class-derivation.md` — *update existing*
|
|
284
|
+
10. - [ ] Add **IsNumeric, IsCollection, IsMap** section to `schema.md` — *update existing*
|
|
285
|
+
11. - [ ] Add **Keyable, NameMapper** section to `json.md` — *update existing*
|
|
286
|
+
12. - [ ] Add **JsonPatch operations** section to `json.md` or `patch.md` — *update existing*
|
|
287
|
+
13. - [ ] Add **Reflectable, ToStructural** sections to `reflect.md` — *update existing*
|
|
288
|
+
14. - [ ] Expand **Register/RegisterOffset** explanation in `binding.md` and `registers.md` — *update existing*
|
|
289
|
+
|
|
290
|
+
### Module: `typeid` (many subtypes undocumented)
|
|
291
|
+
|
|
292
|
+
15. - [ ] Add **TypeRepr** section with key subtypes to `typeid.md` — *update existing*
|
|
293
|
+
16. - [ ] Add **TypeDefKind** section to `typeid.md` — *update existing*
|
|
294
|
+
17. - [ ] Add **Kind/Arrow** section to `typeid.md` — *update existing*
|
|
295
|
+
18. - [ ] Add **Annotation** subtypes section to `typeid.md` — *update existing*
|
|
296
|
+
19. - [ ] Add **Owner/Segment** section to `typeid.md` — *update existing*
|
|
297
|
+
|
|
298
|
+
### Module: `context`
|
|
299
|
+
|
|
300
|
+
20. - [ ] Add **IsNominalType, IsNominalIntersection** section to `context.md` — *update existing*
|
|
301
|
+
|
|
302
|
+
### Module: `markdown`
|
|
303
|
+
|
|
304
|
+
21. - [ ] Add **Block subtypes** reference section to `docs.md` — *update existing*
|
|
305
|
+
22. - [ ] Add **Inline subtypes** reference section to `docs.md` — *update existing*
|
|
306
|
+
23. - [ ] Add **Alignment, HeadingLevel, TerminalRenderer** mentions to `docs.md` — *update existing*
|
|
307
|
+
|
|
308
|
+
### Module: `chunk`
|
|
309
|
+
|
|
310
|
+
24. - [ ] Add **BitChunk operations** section to `chunk.md` — *update existing*
|
|
311
|
+
25. - [ ] Add **ChunkIterator** mention to `chunk.md` — *update existing*
|
|
312
|
+
|
|
313
|
+
### Format modules (expand `formats.md`)
|
|
314
|
+
|
|
315
|
+
26. - [ ] Expand **BSON section** in `formats.md` with BsonEncoder/BsonDecoder API — *update existing*
|
|
316
|
+
27. - [ ] Expand **MessagePack section** in `formats.md` with MessagePackBinaryCodec API — *update existing*
|
|
317
|
+
28. - [ ] Expand **Thrift section** in `formats.md` with ThriftBinaryCodec API — *update existing*
|
|
318
|
+
29. - [ ] Expand **TOON section** in `formats.md` with ToonReader/ToonWriter, Delimiter, config — *update existing*
|
|
319
|
+
|
|
320
|
+
### Depth improvements (existing pages)
|
|
321
|
+
|
|
322
|
+
30. - [ ] Add missing **Reflect#transform** and **Reflect#noBinding** to `reflect.md`
|
|
323
|
+
31. - [ ] Add missing **Format trait interface** and **custom Format** example to `codec.md`
|
|
324
|
+
32. - [ ] Add missing **DynamicPatch** operations and **patch serialization** example to `patch.md`
|
|
325
|
+
33. - [ ] Add missing **Validation composition** guidance and **JSON Schema integration** to `validation.md`
|
|
326
|
+
34. - [ ] Add missing **TypeRepr pattern matching** and **Scala 2/3 differences** to `typeid.md`
|
|
327
|
+
35. - [ ] Add missing **Cache behavior** and **intersection type** examples to `context.md`
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
*Report generated on 2026-02-13. Scan performed by `scan-undocumented.sh`; manual enrichment by AI review of 250 undocumented types across 12 modules and 10 existing reference pages.*
|