#holochain #hdk #holo #hdk-helpers

hc_utils

Helper functions for holochain hdk development

64 releases

new 0.4.0-rc.0 Nov 14, 2024
0.4.0-dev.14 Aug 23, 2024
0.4.0-dev.11 Jul 30, 2024
0.3.0-beta-dev… Mar 25, 2024
0.0.115 Nov 12, 2021

#226 in Magic Beans

Download history 169/week @ 2024-07-29 22/week @ 2024-08-05 155/week @ 2024-08-12 137/week @ 2024-08-19 79/week @ 2024-08-26 24/week @ 2024-09-09 253/week @ 2024-09-16 91/week @ 2024-09-23 19/week @ 2024-09-30 1/week @ 2024-10-07 15/week @ 2024-10-14 2/week @ 2024-11-04 105/week @ 2024-11-11

108 downloads per month
Used in hc_cz_profile

Apache-2.0 and AGPL-3.0 WITH mif-exception

24KB
452 lines

hc-utils

A util crate for holochain-rsm

Note: Currently the hc-utils crate will always follow the version of hdk, when hdk version is 1.2.1, hc_utils version will be v1.2.1

Note: all the functions are converted to macros

commit_idempotent

Query for an existing Entry in the local source-chain matching the given EntryType name(s). If one exists, return it Address, otherwise commit it.
Query for an existing Link in the local source-chain matching the given LinkType name(s).  If one exists, return it Address, otherwise commit it.

exists

Query for an existing Entry in the local source-chain matching the given EntryType name(s).  If one exists, return it Address, otherwise returns error

get_action

Gets the action of an Entry

get_latest_entry

Obtains the updates for the target Entry, and examines all of them to selects the latest one by looking at the update time in its action.

An identical Entry can be committed by multiple Agents; this obtains the Entry's Action from the perspective of _this_ Agent. It also may be committed by the same Agent multiple times, this algorithm depends on either making the Entry unique, _or_ that the caller is OK with it returning the latest Update by any of this Agent's commits of this identical Entry.
gets latest link created to the specific base

local_source_chain

Returns a list of elements from the local source-chain
Removes link. The current hdk expects you to get all links and delete_link by specifying the entry_hash of the entry that you want to delete

wrappers

String wrapper for all holo_hash types

get_details

Get details for a list of links passed using the HDK::borrow functions

get

Get element for a list of links passed using the HDK::borrow functions

Macros:

Gets the entries that are linked to a base with LinkTag by matching with the declared TryFrom Entry.
**Macros:**
- `get_links_and_load_type!(base, tag)`
   - `include_latest_updated_entry = true` is used when an entry is updated in the zome and if you need the latest update of those entries
- `get_links_and_load_type!(base, tag, false)`
    - `include_latest_updated_entry = false` is used when an entry does not have updates.

Map versions:

hc-utils hdk
v0.0.107 v0.0.107
v0.0.110 v0.0.110
... ...
v0.0.111 v0.0.111
v0.0.115 v0.0.115

License: CAL 1.0

Copyright (C) 2017-2020, Holo Ltd.

This program is free software: you can redistribute it and/or modify it under the terms of the license provided in the LICENSE file (CAL-1.0). This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Dependencies

~8–20MB
~236K SLoC