1 unstable release

0.0.1 Feb 4, 2024

#4 in #juno

45 downloads per month
Used in junobuild-satellite

Custom license

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 };

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