ifc_rs/properties/
mod.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use winnow::combinator::alt;

use crate::{parser::*, prelude::*};

pub(crate) mod base;
pub(crate) mod extended_base;
pub(crate) mod material;
pub(crate) mod prelude;
pub(crate) mod set;
pub(crate) mod single_value;

pub struct Properties;

impl Properties {
    pub fn parse<'a>() -> impl IFCParser<'a, Box<dyn IfcType>> {
        alt((
            material::MaterialProperties::parse_any(),
            set::PropertySet::parse_any(),
            single_value::PropertySingleValue::parse_any(),
        ))
    }
}