1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = getDisplayName;
|
5 |
|
6 | var _createFilename = require("./createFilename");
|
7 |
|
8 | var _getNameFromPath = _interopRequireDefault(require("./getNameFromPath"));
|
9 |
|
10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11 |
|
12 | function getDisplayName(path, {
|
13 | file
|
14 | }, defaultName = (0, _createFilename.getNameFromFile)(file.opts.filename)) {
|
15 |
|
16 | while (path = path.parentPath) {
|
17 | if (path.isVariableDeclarator()) return (0, _getNameFromPath.default)(path.get('id'));
|
18 | if (path.isAssignmentExpression()) return (0, _getNameFromPath.default)(path.get('left'));
|
19 | if (path.isExportDefaultDeclaration()) return (0, _createFilename.getNameFromFile)(file.opts.filename);
|
20 | }
|
21 |
|
22 | return defaultName || null;
|
23 | } |
\ | No newline at end of file |