UNPKG

355 BJavaScriptView Raw
1export default function flatten ( node ) {
2 let parts = [];
3 while ( node.type === 'MemberExpression' ) {
4 if ( node.computed ) return null;
5 parts.unshift( node.property.name );
6
7 node = node.object;
8 }
9
10 if ( node.type !== 'Identifier' ) return null;
11
12 const name = node.name;
13 parts.unshift( name );
14
15 return { name, keypath: parts.join( '.' ) };
16}