blob: fd975baaa927bb82b881f4cbf9aded9d4fd2d944 [file] [log] [blame]
/*
getName(describe()) === 'describe';
getName(describe.only()) === 'describe.only';
getName(describe['only']()) === 'describe.only';
*/
function getName (node) {
function joinNames (a, b) {
return a && b ? a + '.' + b : null
}
switch (node && node.type) {
case 'Identifier':
return node.name
case 'Literal':
return node.value
case 'MemberExpression':
return joinNames(getName(node.object), getName(node.property))
}
return null
}
module.exports = getName