teo_runtime/middleware/
block.rs1use std::sync::Arc;
2use serde::Serialize;
3use crate::middleware::Use;
4
5#[derive(Debug, Clone)]
6pub struct Block {
7 inner: Arc<Inner>,
8}
9
10#[derive(Debug, Serialize)]
11struct Inner {
12 uses: Vec<Use>,
13}
14
15impl Block {
16
17 pub fn new(uses: Vec<Use>) -> Self {
18 Self {
19 inner: Arc::new(Inner {
20 uses,
21 }),
22 }
23 }
24
25 pub fn uses(&self) -> &Vec<Use> {
26 &self.inner.uses
27 }
28}
29
30impl Serialize for Block {
31 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: serde::Serializer {
32 self.inner.serialize(serializer)
33 }
34}