static WebVTTNodeType tokenToNodeType(WebVTTToken& token) { switch (token.name().size()) { case 1: if (token.name()[0] == 'c') return WebVTTNodeTypeClass; if (token.name()[0] == 'v') return WebVTTNodeTypeVoice; if (token.name()[0] == 'b') return WebVTTNodeTypeBold; if (token.name()[0] == 'i') return WebVTTNodeTypeItalic; if (token.name()[0] == 'u') return WebVTTNodeTypeUnderline; break; case 2: if (token.name()[0] == 'r' && token.name()[1] == 't') return WebVTTNodeTypeRubyText; break; case 4: if (token.name()[0] == 'r' && token.name()[1] == 'u' && token.name()[2] == 'b' && token.name()[3] == 'y') return WebVTTNodeTypeRuby; if (token.name()[0] == 'l' && token.name()[1] == 'a' && token.name()[2] == 'n' && token.name()[3] == 'g') return WebVTTNodeTypeLanguage; break; } return WebVTTNodeTypeNone; }
static inline bool isLangToken(WebVTTToken& token) { return token.name().size() == 4 && token.name()[0] == 'l' && token.name()[1] == 'a' && token.name()[2] == 'n' && token.name()[3] == 'g'; }