12345678910111213141516171819202122232425262728 |
- "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
|