Expand description
FFI-agnostic facade over jmdict-fast.
This crate intentionally exposes only the shapes that every popular Rust
FFI generator can describe: owned data, concrete enums, Arc<Self> handles,
no lifetimes, no generics, no iterators across the boundary. The generator
crates (jmdict-fast-uniffi, jmdict-fast-frb, jmdict-fast-bolt, …)
describe these types externally (UDL, FRB scan, bolt IDL) and add their
own scaffolding — they should not need to reach into jmdict-fast itself.
§Differences from jmdict-fast
Dict::load/load_defaultreturnArc<Self>(every generator requiresArcfor object handles).- The chainable
QueryBuildercollapses into aQueryOptionsrecord so callers in foreign languages don’t need fluent chaining. JmdictError::IoError(std::io::Error)collapses intoError::Io { message }so the error survives codegen —io::Erroris not FFI-safe.- Iterators (
iter_entries) become an explicit(start, count)pagination.
§Re-exports
Data types (Entry, KanjiEntry, Xref, …) are re-exported unchanged from
jmdict-fast. They are already plain POD with public fields and no
lifetimes — every FFI generator can describe them as records.
Structs§
- Batch
Result - Per-term batch result, paired with the original term so callers can correlate output without relying on input order.
- Data
Version - Dictionary data version information.
- Deinflection
Info - Information about how a term was deinflected to find its base form.
- Dict
- FFI-friendly handle around a loaded dictionary. Construct via
Dict::loadorDict::load_default; the resultingArc<Dict>can be shared freely across threads and FFI calls. - Entry
- Gloss
Entry - Kana
Entry - Kanji
Entry - Language
Source - Lookup
Result - A single dictionary lookup hit.
- Query
Options - Options for
Dict::lookup_with_options/Dict::lookup_batch. - Sense
Entry - Xref