lib/tag.js (52 lines of code) (raw):
'use strict';
exports.Tag = Object.freeze({
STRING: 1, // String literal
ID: 2,
VID: 3, // @ID
CONST: 4,
MODEL: 5,
EXTENDS: 7, // extends
TYPE: 8, // string/number/bytes
NUMBER: 9, // Number literal
SUPER: 10, // super
VAR: 11, // var
TEMPLATE: 12, // tempalte
BOOL: 13, // true/false
NULL: 14, // null
RETURN: 15, //return
THROW: 16, //throw
IF: 17, // if
ELSE: 18, // else
ANNOTATION: 19, //annotation
COMMENT: 20, // comments
IMPORT: 22, // import
NEW: 23, // new
RPC: 24, // rpc
STATIC: 25, // static
AND: 26, // &&
OR: 27, // ||
TRY: 28, // try
CATCH: 29, // catch
FINALLY: 30, // finally
WHILE: 31, // while
FOR: 32, // for
BREAK: 33, // break
YIELD: 34, // yield
INCREMENT: 35, // ++
DECREMENT: 36, // --
EQ: 37, // ==
NEQ: 38, // !=
GT: 39, // >
GTE: 40, // >=
LT: 41, // <
LTE: 42, // <=
NOTE: 43, // @ID()
});
var TagTip = {};
Object.keys(exports.Tag).forEach((key) => {
var value = exports.Tag[key];
TagTip[value] = key;
});
exports.tip = function (tag) {
return TagTip[tag] || tag;
};