Skip to main content

Module codecs

Module codecs 

Source
Expand description

Haystack wire format codecs for serialization and deserialization.

Provides the Codec trait and five built-in implementations:

MIME TypeModuleDescription
text/zinczincZinc — the default Haystack text format (fastest encode/decode)
text/triotrioTrio — tag-oriented format for defining entities and defs
application/jsonjson (v4)Haystack JSON v4 — standard JSON encoding
application/json;v=3json (v3)Haystack JSON v3 — legacy JSON encoding
text/csvcsvCSV — comma-separated values for spreadsheet interop

Additional output-only codecs:

ModuleDescription
rdfRDF 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§

CodecError
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.