ce4c83ff
wxy
初始提交
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
/**
* @author Toru Nagashima
* @copyright 2016 Toru Nagashima. All rights reserved.
* See LICENSE file in root directory for full license.
*/
"use strict"
//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
/**
* Gets the value of a given node if it's a literal or a template literal.
*
* @param {ASTNode} node - A node to get.
* @returns {string|null} The value of the node, or `null`.
*/
module.exports = function getValueIfString(node) {
if (!node) {
return null
}
switch (node.type) {
case "Literal":
if (typeof node.value === "string") {
return node.value
}
break
case "TemplateLiteral":
if (node.expressions.length === 0) {
return node.quasis[0].value.cooked
}
break
// no default
}
return null
}
|