teo_parser/ast/
use_middlewares.rs

1
2use crate::ast::literals::ArrayLiteral;
3use crate::{declare_container_node, impl_container_node_defaults, node_child_fn};
4use crate::ast::middleware::MiddlewareType;
5use crate::format::Writer;
6use crate::traits::info_provider::InfoProvider;
7use crate::traits::write::Write;
8
9declare_container_node!(UseMiddlewaresBlock, named, availability,
10    pub(crate) array_literal: usize,
11    pub(crate) middleware_type: MiddlewareType,
12);
13
14impl_container_node_defaults!(UseMiddlewaresBlock, named, availability);
15
16impl UseMiddlewaresBlock {
17    node_child_fn!(array_literal, ArrayLiteral);
18
19    pub fn middleware_type(&self) -> MiddlewareType {
20        self.middleware_type
21    }
22}
23
24impl InfoProvider for UseMiddlewaresBlock {
25    fn namespace_skip(&self) -> usize {
26        1
27    }
28}
29
30impl Write for UseMiddlewaresBlock {
31    fn write<'a>(&'a self, writer: &mut Writer<'a>) {
32        writer.write_children(self, self.children.values())
33    }
34}