wasm_metadata/
metadata.rs

1use serde_derive::Serialize;
2use std::ops::Range;
3
4use crate::{Authors, Description, Homepage, Licenses, Producers, Revision, Source, Version};
5
6/// Metadata associated with a Wasm Component or Module
7#[derive(Debug, Serialize, Default)]
8#[serde(rename_all = "lowercase")]
9pub struct Metadata {
10    /// The component name, if any. Found in the component-name section.
11    pub name: Option<String>,
12    /// The component's producers section, if any.
13    pub producers: Option<Producers>,
14    /// The component's authors section, if any.
15    pub authors: Option<Authors>,
16    /// Human-readable description of the binary
17    pub description: Option<Description>,
18    /// License(s) under which contained software is distributed as an SPDX License Expression.
19    pub licenses: Option<Licenses>,
20    /// URL to get source code for building the image
21    pub source: Option<Source>,
22    /// URL to find more information on the binary
23    pub homepage: Option<Homepage>,
24    /// Source control revision identifier for the packaged software.
25    pub revision: Option<Revision>,
26    /// Version of the packaged software
27    pub version: Option<Version>,
28    /// Byte range of the module in the parent binary
29    pub range: Range<usize>,
30}