beuvy_runtime/utility/
parser.rs1use super::builtin::parse_builtin_utility_tokens;
2use super::types::{ParseUtilityError, UtilityStylePatch};
3use crate::stylesheet::{default_style_sheet, parse_style_classes_with_sheet};
4use crate::theme_config::UiThemeConfig;
5
6pub fn parse_utility_classes(input: &str) -> Result<UtilityStylePatch, ParseUtilityError> {
13 parse_style_classes_with_sheet(default_style_sheet(), input)
14 .map_err(|error| ParseUtilityError::new(input, error.reason))
15}
16
17#[doc(hidden)]
18pub fn parse_utility_classes_with_config(
19 config: &UiThemeConfig,
20 input: &str,
21) -> Result<UtilityStylePatch, ParseUtilityError> {
22 let tokens = input
23 .split_whitespace()
24 .map(ToString::to_string)
25 .collect::<Vec<_>>();
26 parse_builtin_utility_tokens(config, &tokens)
27}