revault_lockbox_api 0.0.9

reVault lockbox API to create and manage lockboxes
Documentation
use std::{
    collections::{BTreeMap, BTreeSet},
    sync::Arc,
};

use super::Lockbox;
use crate::form::{
    FormDefinition, FormFieldDefinition, FormFieldKind, FormFieldValue, FormRecord, FormTypeId,
    FormValue,
};
use crate::form_btree::{
    decode_form_node_secure, definition_key, encode_form_internal, encode_form_leaf_secure,
    form_child_groups, form_entries_from_maps, form_leaf_groups, record_key, FormChild, FormEntry,
    FormEntryValue, FormInternal, FormLeaf, FormNode, FormTreeNode,
};
use crate::free_slot::FreeSlot;
use crate::incremental_btree::{IncrementalBTree, LeafRewrite};
use crate::page::{page_size_for_objects, PageObject, PageObjectKind};
use crate::page_cache::SecurePageAppend;
use crate::secret_vec::SecureVec;
use crate::{crypto::derive_page_content_key, Error, LockboxPath, Result, SecretString};
use zeroize::Zeroize;

type FormTreeDecodeResult = (
    BTreeMap<String, FormDefinition>,
    BTreeMap<LockboxPath, FormRecord>,
    FormTreeNode,
    Vec<FormLeaf>,
);

mod definitions;
mod fields;
mod persistence;
mod records;