pub struct InfinityView<'a> { /* private fields */ }Expand description
A validated, borrow-only module view.
Implementations§
Source§impl<'a> InfinityView<'a>
impl<'a> InfinityView<'a>
Sourcepub fn with_opts(buf: &'a [u8], opts: DecodeOpts) -> Result<Self>
pub fn with_opts(buf: &'a [u8], opts: DecodeOpts) -> Result<Self>
Validate buf and borrow it, with full option control.
Sourcepub fn from_validated(validated: Validated<'a>) -> Self
pub fn from_validated(validated: Validated<'a>) -> Self
Borrow an image that was already validated.
pub fn validated(&self) -> &Validated<'a>
pub fn buf(&self) -> &'a [u8] ⓘ
pub fn meta(&self) -> Meta
pub fn content_hash(&self) -> [u8; 32]
pub fn content_hash_hex(&self) -> String
pub fn node_count(&self) -> u32
pub fn root(&self) -> Result<Option<NodeId>>
pub fn bindings(&self) -> Result<Vec<(&'a str, NodeId)>>
pub fn annotations(&self) -> Result<Vec<(NodeId, u32, u32)>>
pub fn provenance(&self) -> Result<Option<Provenance>>
Sourcepub fn blob(&self, id: u32) -> Result<&'a [u8]>
pub fn blob(&self, id: u32) -> Result<&'a [u8]>
Borrow blob payload id from the image (zero copy).
Sourcepub fn node_string_id(&self, id: NodeId) -> Result<Option<u32>>
pub fn node_string_id(&self, id: NodeId) -> Result<Option<u32>>
The string id a node points at, for the string-bearing scalar kinds.
Sourcepub fn primary_string(&self, id: NodeId) -> Result<Option<&'a str>>
pub fn primary_string(&self, id: NodeId) -> Result<Option<&'a str>>
Borrow the primary string of a string-bearing node (zero copy).
Sourcepub fn children(&self, id: NodeId) -> Result<Vec<NodeId>>
pub fn children(&self, id: NodeId) -> Result<Vec<NodeId>>
Child ids of a container node, in stored order.
Sourcepub fn fields(&self, id: NodeId) -> Result<Vec<(&'a str, NodeId)>>
pub fn fields(&self, id: NodeId) -> Result<Vec<(&'a str, NodeId)>>
Table fields of a table node, borrowing names from the image.
Sourcepub fn dependents(&self, id: NodeId) -> Result<Vec<NodeId>>
pub fn dependents(&self, id: NodeId) -> Result<Vec<NodeId>>
Derived dependents of a node (nodes that reference it), sorted.
Sourcepub fn dependencies(&self, id: NodeId) -> Result<Vec<NodeId>>
pub fn dependencies(&self, id: NodeId) -> Result<Vec<NodeId>>
Derived dependencies of a node (nodes it references), sorted.
Sourcepub fn provenance_entries(&self) -> Result<Vec<(String, ProvEntry)>>
pub fn provenance_entries(&self) -> Result<Vec<(String, ProvEntry)>>
Provenance entries, borrowed.
A raw accessor: it returns the stored entries as they are. The encoded
form is already redacted against the module’s secrets, so this is safe
for a validated image; a caller that builds a view over hand-made bytes
should use interop::provenance_json for output that leaves the process.