Crate junobuild_utils
source ·Expand description
§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.
Structs§
- Represents a large integer value for document data, particularly useful for interacting with languages or environments that support large numeric types, such as the
bigint
in JavaScript. - Represents a wrapper around the
candid::Principal
type.
Functions§
- Decodes serialized document data into a Rust struct, tailored for use with Juno hooks.
- Encodes a Rust struct into serialized document data, designed for use with Juno hooks.