1 unstable release
0.0.1 | Feb 4, 2024 |
---|
#4 in #juno
45 downloads per month
Used in junobuild-satellite
17KB
130 lines
JunoBuild-Utils
junobuild-utils
provides a collection of utilities designed to support developers working on Juno, facilitating easier data handling, serialization, deserialization, and working with specialized data types.
Getting Started
To include junobuild-utils
in your Rust project, add it as a dependency in your Cargo.toml
:
[dependencies]
junobuild-utils = "*"
Replace "*"
with the specific version you want to use, or omit the version to always use the latest version.
Usage Examples
Decoding Document Data
Decode the serialized document data received by a hook.
#[derive(Deserialize)]
struct MyData {
// Your data fields here
}
let decoded: MyData = decode_doc_data(&context.data.data.after.data).expect("Failed to decode data");
Encoding Document Data
Encodes a Rust struct into serialized document data to prepare data to be stored.
#[derive(Serialize)]
struct MyData {
// Your data fields here
}
let encoded = encode_doc_data(&my_data).expect("Failed to encode data");
Handling Specialized Data Types
Work with custom data types such as DocDataPrincipal
for principals and DocDataBigInt
for bigint.
let principal = DocDataPrincipal { value: candid::Principal::anonymous() };
let big_int = DocDataBigInt { value: 123456789 };
Links & Resources
Here are some useful links:
- Looking to get started? Check out the documentation.
- Have a look at the LICENSE for information about licensing and limitation.
- Have questions, comments or feedback? Join our Discord or OpenChat.
Dependencies
~2.1–3MB
~64K SLoC