| use crate::{Encode, Section}; |
| |
| /// A section made up of uninterpreted, raw bytes. |
| /// |
| /// Allows you to splat any data into a module or component. |
| #[derive(Clone, Copy, Debug)] |
| pub struct RawSection<'a> { |
| /// The id for this section. |
| pub id: u8, |
| /// The raw data for this section. |
| pub data: &'a [u8], |
| } |
| |
| impl Encode for RawSection<'_> { |
| fn encode(&self, sink: &mut Vec<u8>) { |
| self.data.encode(sink); |
| } |
| } |
| |
| impl Section for RawSection<'_> { |
| fn id(&self) -> u8 { |
| self.id |
| } |
| } |
| |
| #[cfg(feature = "component-model")] |
| impl crate::ComponentSection for RawSection<'_> { |
| fn id(&self) -> u8 { |
| self.id |
| } |
| } |