nl_tokens: credit : https : // github . com / styled - components / babel - plugin - styled - components / blob / 37a13e9c21c52148ce6e403100df54c0b1561a88 / src / utils / getName . js
pl_tokens: function getName ( path ) { let namedNode path . find ( parentPath => { if ( parentPath . isObjectProperty ( ) ) { // const X = { Y: glamorous } namedNode = parentPath . node . key } else if ( parentPath . isVariableDeclarator ( ) ) { // let X; X = glamorous namedNode = parentPath . node . id } else if ( parentPath . isStatement ( ) ) { // we've hit a statement, we should stop crawling up return true } // we've got an displayName (if we need it) no need to continue if ( namedNode ) { return true } return <mask> } ) // identifiers are the only thing we can reliably get a name from return t . isIdentifier ( namedNode ) ? namedNode . name : undefined }