wasm_metadata/
metadata.rs

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