lib/utils/utils.js
function getPropertyValue(node, path) {
  const parts = typeof path === 'string' ? path.split('.') : path;

  if (parts.length === 1) {
    return node[path];
  }

  const property = node[parts[0]];

  if (property && parts.length > 1) {
    parts.shift();
    return getPropertyValue(property, parts);
  }

  return property;
}
function getPropertyValue(node, path) {
  const parts = typeof path === 'string' ? path.split('.') : path;

  if (parts.length === 1) {
    return node[path];
  }

  const property = node[parts[0]];

  if (property && parts.length > 1) {
    parts.shift();
    return getPropertyValue(property, parts);
  }

  return property;
}
function getPropertyValue ( node , path ) { const parts = typeof path === 'string' ? path . split ( '.' ) : path ; if ( parts . length === 1 ) { return node [ path ] ; } const property = node [ parts [ 0 ] ] ; if ( property && parts . length > 1 ) { parts . shift ( ) ; return getPropertyValue ( property , parts ) ; } return property ; }
Gets a property's value either by property path.

@example
getPropertyValue('name');
getPropertyValue('parent.key.name');

@param {Object} node
@param {String} path
@returns
Gets a property s value either by property path .