macro_rules! implement_into_ffi_by_json {
($($T:ty),* $(,)*) => { ... };
}
Expand description
Implements [IntoFfi
] for the provided types (more than one may be passed in) by converting to
the type to a JSON string. This macro also allows you to return Vec<T>
for the types, also by
serialization to JSON (by way of [IntoFfiJsonTag
]).
This is typically going to be used from the “Rust component”, and not the “FFI component” (see the top level crate documentation for more information).
Note: Each type passed in must implement or derive serde::Serialize
.
Panics
The [IntoFfi
] implementation this macro generates may panic in the following cases:
-
You’ve passed a type that contains a Map that has non-string keys (which can’t be represented in JSON).
-
You’ve passed a type which has a custom serializer, and the custom serializer failed.
These cases are both rare enough that this still seems fine for the majority of uses.