junobuild-utils

Crates.iojunobuild-utils
lib.rsjunobuild-utils
version0.0.4
sourcesrc
created_at2024-02-04 17:39:51.470637
updated_at2024-10-18 14:21:55.244088
descriptionA collection of utilities for developers on Juno.
homepagehttps://juno.build
repositoryhttps://github.com/junobuild/juno
max_upload_size
id1126524
size48,683
David Dal Busco (peterpeterparker)

documentation

https://docs.rs/junobuild-utils

README

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.
Commit count: 1463

cargo fmt