| Crates.io | serde-scale-wrap |
| lib.rs | serde-scale-wrap |
| version | 0.3.0 |
| created_at | 2020-10-08 07:33:13.195568+00 |
| updated_at | 2021-07-02 06:42:00.784871+00 |
| description | Wrapper for types implementing `Serialize`/`Deserialize` to implement `Encode`/`Decode` automatically |
| homepage | https://github.com/stephaneyfx/serde-scale-wrap |
| repository | https://github.com/stephaneyfx/serde-scale-wrap.git |
| max_upload_size | |
| id | 297176 |
| size | 10,810 |
Wrapper for types implementing Serialize/Deserialize to implement
Encode/Decode automatically.
extern crate alloc;
use alloc::string::String;
use parity_scale_codec::{Decode, Encode};
use serde::{Deserialize, Serialize};
use serde_scale_wrap::Wrap;
#[derive(Debug, Deserialize, PartialEq, Serialize)]
struct Foo {
x: i32,
s: String,
}
let original = Foo { x: 3, s: "foo".into() };
let serialized = Wrap(&original).encode();
let Wrap(deserialized) = Wrap::<Foo>::decode(&mut &*serialized).unwrap();
assert_eq!(original, deserialized);
âš Option<bool> is serialized as a single byte according to the SCALE encoding, which differs
from the result of Encode::encode -- Encode expects OptionBool to be used instead.
no_std is supported by disabling default features.
std: Support for std. It is enabled by default.🔖 Features enabled in build dependencies and proc-macros are also enabled for normal
dependencies, which may cause serde to have its std feature on when it is not desired.
Nightly cargo prevents this from happening with
-Z features=host_dep
or the following in .cargo/config:
[unstable]
features = ["host_dep"]
For example, this issue arises when depending on parity-scale-codec-derive.
All contributions shall be licensed under the zlib license.
serde