| 1234567891011121314151617181920212223 | 
							- //      
 
- 'use strict';
 
- // Resolves property names or property paths defined with period-delimited
 
- // strings or arrays of strings. Property names that are found on the source
 
- // object are used directly (even if they include a period).
 
- // Nested property names that include periods, within a path, are only
 
- // understood in array paths.
 
- function getPropertyByPath(source        , path                        )      {
 
-   if (typeof path === 'string' && source.hasOwnProperty(path)) {
 
-     return source[path];
 
-   }
 
-   const parsedPath = typeof path === 'string' ? path.split('.') : path;
 
-   return parsedPath.reduce((previous, key) => {
 
-     if (previous === undefined) {
 
-       return previous;
 
-     }
 
-     return previous[key];
 
-   }, source);
 
- }
 
- module.exports = getPropertyByPath;
 
 
  |