UNPKG

art-template

Version:
26 lines (22 loc) 662 B
'use strict'; var isKeyword = require('is-keyword-js'); var jsTokens = require('js-tokens').default; var matchToToken = require('js-tokens').matchToToken; /** * 将逻辑表达式解释为 Tokens * @param {string} code * @return {Object[]} */ var esTokenizer = function esTokenizer(code) { var tokens = code.match(jsTokens).map(function (value) { jsTokens.lastIndex = 0; return matchToToken(jsTokens.exec(value)); }).map(function (token) { if (token.type === 'name' && isKeyword(token.value)) { token.type = 'keyword'; } return token; }); return tokens; }; module.exports = esTokenizer;