UNPKG

822 BJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = getNameFromPath;
5
6var _getMembers = _interopRequireDefault(require("./getMembers"));
7
8var _pascalCase = _interopRequireDefault(require("./pascalCase"));
9
10var _truthy = _interopRequireDefault(require("./truthy"));
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14const getLiteralValue = node => node.raw || node.value;
15
16function getNameFromPath(path) {
17 if (path.isIdentifier() || path.isJSXIdentifier()) return path.node.name;
18 if (path.isLiteral()) return getLiteralValue(path.node);
19
20 if (path.isMemberExpression() || path.isJSXMemberExpression()) {
21 return (0, _pascalCase.default)((0, _getMembers.default)(path).map(m => getNameFromPath(m.path)).filter(_truthy.default).join('-'));
22 }
23
24 return null;
25}
\No newline at end of file