gleamunison/namespace_codec

Canonical byte codecs for namespace snapshots and branch heads. This module knows data and refs, not branch mutation or storage policy.

Values

pub fn decode_text(text: String) -> Result(String, Nil)
pub fn encode_text(text: String) -> String

The one base64-text codec: padded base64 of the UTF-8 bytes; decode collapses every failure (bad base64, invalid UTF-8) to Nil.

pub fn parse_bindings(
  bytes: BitArray,
) -> Result(dict.Dict(String, identity.DefinitionRef), Nil)
pub fn parse_head(
  bytes: BitArray,
) -> Result(
  #(
    String,
    Int,
    identity.DefinitionRef,
    option.Option(identity.DefinitionRef),
  ),
  Nil,
)
pub fn serialize_bindings(
  bindings: dict.Dict(String, identity.DefinitionRef),
) -> BitArray
pub fn serialize_head(
  branch: String,
  seq: Int,
  ns_ref: identity.DefinitionRef,
  prev: option.Option(identity.DefinitionRef),
) -> BitArray
✨ Search Document