1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use torin::prelude::{
    Length,
    VisibleSize,
};

use crate::{
    Parse,
    ParseError,
};

impl Parse for VisibleSize {
    fn parse(value: &str) -> Result<Self, ParseError> {
        if value.contains('%') {
            Ok(VisibleSize::InnerPercentage(Length::new(
                value
                    .replace('%', "")
                    .parse::<f32>()
                    .map_err(|_| ParseError)?,
            )))
        } else {
            Err(ParseError)
        }
    }
}