Expand description
Haystack wire format codecs for serialization and deserialization.
Provides the Codec trait and five built-in implementations:
| MIME Type | Module | Description |
|---|---|---|
text/zinc | zinc | Zinc — the default Haystack text format (fastest encode/decode) |
text/trio | trio | Trio — tag-oriented format for defining entities and defs |
application/json | json (v4) | Haystack JSON v4 — standard JSON encoding |
application/json;v=3 | json (v3) | Haystack JSON v3 — legacy JSON encoding |
text/csv | csv | CSV — comma-separated values for spreadsheet interop |
Additional output-only codecs:
| Module | Description |
|---|---|
rdf | RDF serialization in Turtle and JSON-LD formats |
Use codec_for() to look up a codec by MIME type:
use haystack_core::codecs::codec_for;
let zinc = codec_for("text/zinc").unwrap();
let grid = zinc.decode_grid("ver:\"3.0\"\nempty\n").unwrap();
let encoded = zinc.encode_grid(&grid).unwrap();The shared submodule provides common encoding/decoding helper functions
used by multiple codec implementations.
Modules§
- csv
- CSV wire format codec for Haystack grids.
- json
- rdf
- RDF serialization of Haystack entities in Turtle and JSON-LD formats.
- shared
- Shared formatting helpers used by multiple codecs.
- trio
- zinc
Enums§
- Codec
Error - Errors that can occur during encoding or decoding.
Constants§
- HBF_
MIME - MIME type for Haystack Binary Format.
Traits§
- Codec
- Trait for Haystack wire format codecs.
Functions§
- codec_
for - Look up a codec by MIME type.