aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/styles/parsing/StyleMapParser.java
blob: 618c00b5e02c8b5b1bee89553801e9c4e2d9463d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package org.zwobble.mammoth.styles.parsing;

import org.parboiled.support.Var;
import org.zwobble.mammoth.styles.StyleMap;
import org.zwobble.mammoth.styles.StyleMapBuilder;

public class StyleMapParser {
    public static StyleMap parse(String input) {
        if (input.isEmpty()) {
            return StyleMap.EMPTY;
        } else {
            Var<StyleMapBuilder> styleMap = new Var<>(StyleMap.builder());
            Parsing.parse(StyleMappingParser.class, parser -> parser.StyleMapping(styleMap), input);
            return styleMap.get().build();
        }
    }
}