#[non_exhaustive]pub struct CardWire {
pub kind: String,
pub quill: Option<String>,
pub id: Option<String>,
pub ext: Option<Map<String, Value>>,
pub seed: Option<Map<String, Value>>,
pub payload_items: Vec<PayloadItemWire>,
pub body: Value,
}Expand description
Canonical live wire form of a Card. See the module docs.
Serializes to JS-facing camelCase (payloadItems); the snake_case
payload_items is also accepted on input for the Python binding.
deny_unknown_fields makes a stale flat { kind, fields } shape fail
loudly rather than deserialize into an empty card.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.kind: StringThe block’s $kind (e.g. "endorsement"); empty string when the block
declares no $kind. Kept non-optional to match the binding read shape.
quill: Option<String>The block’s $quill reference string (name@version), present on the
main card only. Omitted when absent.
id: Option<String>The block’s $id, if any. Omitted when absent.
ext: Option<Map<String, Value>>The block’s opaque $ext map, if declared. Omitted when absent.
seed: Option<Map<String, Value>>The block’s $seed map (keyed by card-kind), if declared. Present on
the main card only. Omitted when absent.
payload_items: Vec<PayloadItemWire>User fields and comments, in source order.
body: ValueThe card body as canonical Content-JSON: the source-of-truth content
model (a content object, {text, lines, marks, islands}). The empty content
when absent. A markdown string is also accepted on input (imported), so an
LLM/markdown writer can hand a string here.
No body_markdown projection rides this wire. Delimiter safety makes
to_markdown re-parse every rendered line, so an eager export ∘ body
precompute is not cheap; the exportMarkdown(body) codec at the binding
boundary does it on demand instead.