Current section
Files
Jump to
Current section
Files
src/eyg@ir@cid.erl
-module(eyg@ir@cid).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/eyg/ir/cid.gleam").
-export([from_block/1, from_tree/1]).
-export_type([effect/1]).
-type effect(FAY) :: {sha256, bitstring(), fun((bitstring()) -> FAY)}.
-file("src/eyg/ir/cid.gleam", 16).
-spec from_block(bitstring()) -> effect(multiformats@cid@v1:cid()).
from_block(Bytes) ->
{sha256,
Bytes,
fun(Digest) ->
Multihash = {multihash, sha256, Digest},
{cid, dag_json:code(), Multihash}
end}.
-file("src/eyg/ir/cid.gleam", 11).
-spec from_tree({eyg@ir@tree:expression(FBF), FBF}) -> effect(multiformats@cid@v1:cid()).
from_tree(Source) ->
Bytes = eyg@ir@dag_json:to_block(Source),
from_block(Bytes).