Expand description
Public API surface for jetro-experimental.
Designed for jetro-core and other downstream tools to consume without
depending on internal column layouts. Internals (Stage1,
StructIndex, KeyBitmaps) remain accessible for tests/benches but
should not be used by library callers.
Stable types:
TokenId— opaque token handle (newtype around u32)TokenKind— closed enum,#[non_exhaustive]ByteSpan— byte range in source bufferBuildOptions— knobs for partial buildsStructuralIndex— opaque facade over the internal columnsKeyHits— lazy iterator over key matchesError— public error enum
Stable entry points:
from_bytes— build a structural index from JSON bytes
Stable fused query helpers:
find_eq—$..find(key == literal)count_key— popcount-only count of$..find(key)hitsfind_eq_compound— multi-key ANDjson_string_eq— byte-compare a JSON string value to a plain literal
All iterators are lazy. Memory layout is private; future refactors can swap Roaring for any other bitmap library without breaking callers.
Structs§
- Ancestors
- Build
Options - Byte
Span - KeyHits
- Lazy iterator over key matches. Backed by a Roaring bitmap; supports composition (and/or) without materialising intermediate Vecs.
- Structural
Index - Opaque structural index over a JSON document. Internal layout is subject to change; consume only via the public methods.
- TokenId
- Opaque token handle. Internally a
u32index into the structural index. - Tokens
Enums§
Functions§
- count_
key - O(1) — popcount of the key bitmap.
- find_eq
$..find(key == literal)— emit enclosing-Object token ids.- find_
eq_ compound - Compound
$..find(k1 == l1 AND k2 == l2 ...). Conds applied within the SAME object (parent-token equality). - from_
bytes - from_
bytes_ with - json_
number_ eq - Determine whether a value byte-slice is a JSON number that compares
equal to the literal interpreted as a number. Used by
find_eqwhen the caller wants numeric semantics rather than byte-for-byte match. - json_
string_ eq - Compare a JSON-encoded value byte-slice against a plain literal.
- parse_
f64 - Parse a JSON number byte-slice as
f64. Usesfast-float(SSE/AVX SIMD) when the feature is enabled, falls back tostr::parseotherwise. - parse_
i64 - Parse a JSON number byte-slice as
i64. Tries integer parse first, then falls back toparse_f64(truncating fractional component).