ripex 0.2.0

Multi-language structural parsing and fact extraction.
Documentation
use crate::js::lexer::token::TokenKind;

pub fn is_keyword(word: &str) -> bool {
    keyword_to_token(word).is_some()
}

pub fn keyword_to_token(word: &str) -> Option<TokenKind> {
    Some(match word {
        "abstract" => TokenKind::Abstract,
        "accessor" => TokenKind::Accessor,
        "any" => TokenKind::Any,
        "as" => TokenKind::As,
        "assert" => TokenKind::Assert,
        "async" => TokenKind::Async,
        "await" => TokenKind::Await,
        "boolean" => TokenKind::Boolean,
        "break" => TokenKind::Break,
        "case" => TokenKind::Case,
        "catch" => TokenKind::Catch,
        "class" => TokenKind::Class,
        "const" => TokenKind::Const,
        "constructor" => TokenKind::Constructor,
        "continue" => TokenKind::Continue,
        "debugger" => TokenKind::Debugger,
        "declare" => TokenKind::Declare,
        "default" => TokenKind::Default,
        "delete" => TokenKind::Delete,
        "do" => TokenKind::Do,
        "else" => TokenKind::Else,
        "enum" => TokenKind::Enum,
        "export" => TokenKind::Export,
        "extends" => TokenKind::Extends,
        "false" => TokenKind::False,
        "finally" => TokenKind::Finally,
        "for" => TokenKind::For,
        "from" => TokenKind::From,
        "function" => TokenKind::Function,
        "get" => TokenKind::Get,
        "if" => TokenKind::If,
        "implements" => TokenKind::Implements,
        "import" => TokenKind::Import,
        "in" => TokenKind::In,
        "infer" => TokenKind::Infer,
        "instanceof" => TokenKind::Instanceof,
        "interface" => TokenKind::Interface,
        "keyof" => TokenKind::KeyOf,
        "let" => TokenKind::Let,
        "module" => TokenKind::Module,
        "namespace" => TokenKind::Namespace,
        "never" => TokenKind::Never,
        "new" => TokenKind::New,
        "null" => TokenKind::Null,
        "number" => TokenKind::Number,
        "of" => TokenKind::Of,
        "package" => TokenKind::Package,
        "private" => TokenKind::Private,
        "protected" => TokenKind::Protected,
        "public" => TokenKind::Public,
        "readonly" => TokenKind::Readonly,
        "return" => TokenKind::Return,
        "satisfies" => TokenKind::Satisfies,
        "set" => TokenKind::Set,
        "static" => TokenKind::Static,
        "string" => TokenKind::String,
        "symbol" => TokenKind::Symbol,
        "super" => TokenKind::Super,
        "switch" => TokenKind::Switch,
        "this" => TokenKind::This,
        "throw" => TokenKind::Throw,
        "true" => TokenKind::True,
        "try" => TokenKind::Try,
        "type" => TokenKind::Type,
        "typeof" => TokenKind::Typeof,
        "undefined" => TokenKind::Undefined,
        "unique" => TokenKind::Unique,
        "unknown" => TokenKind::Unknown,
        "using" => TokenKind::Using,
        "var" => TokenKind::Var,
        "void" => TokenKind::Void,
        "while" => TokenKind::While,
        "with" => TokenKind::With,
        "yield" => TokenKind::Yield,
        _ => return None,
    })
}