jsonld-expandable-core
Runtime support for the Expandable derive: the Expandable trait itself, the JsonValue backend trait that lets generated code target any JSON value type, and the ToJsonValue conversions for leaf field values. Language maps and dynamic @type arrays have their own traits, implemented here for the ordinary map shapes.
Three backends ship behind features: serde_json, sonic-rs and jstrict. A fourth is whatever you implement JsonValue for.
Application code rarely names this crate. Enable an expandable* feature on jsonld instead, which re-exports both this crate and the derive.
Status: experimental. Version numbers move fast and there is no compatibility promise before 1.0. The workspace README says what that means in practice.
Feature flags
| Flag | Default | Enables |
|---|---|---|
serde-json, sonic-rs, jstrict |
JsonValue for that crate's value type |
|
chrono |
chrono temporal types as field values |
|
codegen |
the attribute parser and code generator, which only the derive crate needs |
License
Dual-licensed, same as upstream. Pick whichever fits: