react-scripts
Version:
Configuration and scripts for Create React App.
36 lines (26 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (identifierNode, context) {
if (_lodash2.default.has(identifierNode, 'name')) {
return identifierNode.name;
}
if (_lodash2.default.has(identifierNode, 'left.name')) {
return identifierNode.left.name;
}
if (identifierNode.type === 'RestElement') {
return identifierNode.argument.name;
}
if (identifierNode.type === 'ObjectPattern' || identifierNode.type === 'ArrayPattern') {
return context.getSourceCode().getText(identifierNode);
}
if (_lodash2.default.get(identifierNode, 'left.type') === 'ObjectPattern' && _lodash2.default.get(identifierNode, 'right.type') === 'ObjectExpression') {
return context.getSourceCode().getText(identifierNode.left);
}
throw new Error('Unsupported function signature.');
};
module.exports = exports['default'];