use super::types::CssProperty;
use super::parsers::{
OverflowParser, OverscrollParser, PositionParser, InsetParser,
VisibilityParser, ZIndexParser
};
pub trait LayoutParsers {
fn parse_overflow_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_overscroll_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_position_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_inset_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_visibility_class(&self, class: &str) -> Option<Vec<CssProperty>>;
fn parse_z_index_class(&self, class: &str) -> Option<Vec<CssProperty>>;
}
impl LayoutParsers for super::CssGenerator {
fn parse_overflow_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = OverflowParser::new();
parser.parse_class(class)
}
fn parse_overscroll_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = OverscrollParser::new();
parser.parse_class(class)
}
fn parse_position_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = PositionParser::new();
parser.parse_class(class)
}
fn parse_inset_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = InsetParser::new();
parser.parse_class(class)
}
fn parse_visibility_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = VisibilityParser::new();
parser.parse_class(class)
}
fn parse_z_index_class(&self, class: &str) -> Option<Vec<CssProperty>> {
use super::parsers::UtilityParser;
let parser = ZIndexParser::new();
parser.parse_class(class)
}
}