Function icu_plurals::rules::serialize[][src]

pub fn serialize(rule: &Rule, w: &mut impl Write) -> Result

Unicode Plural Rule serializer converts an AST to a String.

Examples

use icu::plurals::rules::parse;
use icu::plurals::rules::ast;
use icu::plurals::rules::serialize;

let input = "i = 0 or n = 1 @integer 0, 1 @decimal 0.0~1.0, 0.00~0.04";

let ast = parse(input.as_bytes())
    .expect("Parsing failed.");

assert_eq!(ast.condition.0[0].0[0].expression.operand, ast::Operand::I);
assert_eq!(ast.condition.0[1].0[0].expression.operand, ast::Operand::N);

let mut result = String::new();
serialize(&ast, &mut result)
    .expect("Serialization failed.");

assert_eq!(input, result);