UNPKG

830 BJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = getDisplayName;
5
6var _createFilename = require("./createFilename");
7
8var _getNameFromPath = _interopRequireDefault(require("./getNameFromPath"));
9
10function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12function getDisplayName(path, {
13 file
14}, defaultName = (0, _createFilename.getNameFromFile)(file.opts.filename)) {
15 // eslint-disable-next-line no-cond-assign
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