UNPKG

2.36 kBJavaScriptView Raw
1import ts from 'typescript';
2export function getLiteralValue(node) {
3 if (ts.isStringLiteral(node)) {
4 return node.text;
5 }
6 if (ts.isNumericLiteral(node)) {
7 return parseInt(node.text, 10);
8 }
9 if (ts.isLiteralExpression(node) || ts.isTemplateHead(node) || ts.isTemplateMiddle(node) || ts.isTemplateTail(node)) {
10 return node.text;
11 }
12 throw new Error('Never');
13}
14
15//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpdGVyYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBTTVCLE1BQU0sVUFBVSxlQUFlLENBQzdCLElBTW1CO0lBRW5CLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDbEI7SUFFRCxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM3QixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQ2hDO0lBRUQsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNuSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDbEI7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNCLENBQUMiLCJmaWxlIjoibmVvLW9uZS10cy11dGlscy9zcmMvbGl0ZXJhbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpdGVyYWxWYWx1ZShub2RlOiB0cy5OdW1lcmljTGl0ZXJhbCk6IG51bWJlcjtcbmV4cG9ydCBmdW5jdGlvbiBnZXRMaXRlcmFsVmFsdWUoXG4gIG5vZGU6IHRzLlN0cmluZ0xpdGVyYWwgfCB0cy5MaXRlcmFsRXhwcmVzc2lvbiB8IHRzLlRlbXBsYXRlSGVhZCB8IHRzLlRlbXBsYXRlTWlkZGxlIHwgdHMuVGVtcGxhdGVUYWlsLFxuKTogc3RyaW5nO1xuZXhwb3J0IGZ1bmN0aW9uIGdldExpdGVyYWxWYWx1ZShcbiAgbm9kZTpcbiAgICB8IHRzLlN0cmluZ0xpdGVyYWxcbiAgICB8IHRzLk51bWVyaWNMaXRlcmFsXG4gICAgfCB0cy5MaXRlcmFsRXhwcmVzc2lvblxuICAgIHwgdHMuVGVtcGxhdGVIZWFkXG4gICAgfCB0cy5UZW1wbGF0ZU1pZGRsZVxuICAgIHwgdHMuVGVtcGxhdGVUYWlsLFxuKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgaWYgKHRzLmlzU3RyaW5nTGl0ZXJhbChub2RlKSkge1xuICAgIHJldHVybiBub2RlLnRleHQ7XG4gIH1cblxuICBpZiAodHMuaXNOdW1lcmljTGl0ZXJhbChub2RlKSkge1xuICAgIHJldHVybiBwYXJzZUludChub2RlLnRleHQsIDEwKTtcbiAgfVxuXG4gIGlmICh0cy5pc0xpdGVyYWxFeHByZXNzaW9uKG5vZGUpIHx8IHRzLmlzVGVtcGxhdGVIZWFkKG5vZGUpIHx8IHRzLmlzVGVtcGxhdGVNaWRkbGUobm9kZSkgfHwgdHMuaXNUZW1wbGF0ZVRhaWwobm9kZSkpIHtcbiAgICByZXR1cm4gbm9kZS50ZXh0O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKCdOZXZlcicpO1xufVxuIl19