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§
- DocData
BigInt - Represents a large integer value for document data, particularly useful for interacting with
languages or environments that support large numeric types, such as the
bigintin JavaScript. - DocData
Principal - Represents a wrapper around the
candid::Principaltype. - DocData
Uint8 Array - Represents a byte array value for document data, mirroring JavaScript’s
Uint8Array.
Functions§
- decode_
doc_ data - Decodes serialized document data into a Rust struct, tailored for use with Juno hooks.
- encode_
doc_ data - Encodes a Rust struct into serialized document data, designed for use with Juno hooks.
- encode_
doc_ data_ to_ string - Encodes a Rust struct into a JSON string, designed for use with Juno hooks.