Sha256: ee95632890c1fc7a4b986777dfe45c31cc40305b1cdd3c9515db58be9b5a6a9d
Contents?: true
Size: 775 Bytes
Versions: 26
Compression:
Stored size: 775 Bytes
Contents
// '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;
Version data entries
26 entries across 25 versions & 8 rubygems