| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.getPropertyByPath = getPropertyByPath; |
| |
| // 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' && Object.prototype.hasOwnProperty.call(source, path)) { |
| return source[path]; |
| } |
| |
| const parsedPath = typeof path === 'string' ? path.split('.') : path; // eslint-disable-next-line @typescript-eslint/no-explicit-any |
| |
| return parsedPath.reduce((previous, key) => { |
| if (previous === undefined) { |
| return previous; |
| } |
| |
| return previous[key]; |
| }, source); |
| } |
| //# sourceMappingURL=getPropertyByPath.js.map |