Sha256: 794d5688daaae7a09a3271dac9b4b572328d4b0814d2d4d8c4b5325790420e71

Contents?: true

Size: 938 Bytes

Versions: 43

Compression:

Stored size: 938 Bytes

Contents

"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

Version data entries

43 entries across 42 versions & 8 rubygems

Version Path
trusty-cms-4.3.4 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.3.3 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.3.2 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.3.1 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.3 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.2.3 node_modules/cosmiconfig/dist/getPropertyByPath.js
tang-0.2.1 spec/tang_app/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.2.2 node_modules/cosmiconfig/dist/getPropertyByPath.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.2.1 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.2 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.1.9 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.1.8 node_modules/cosmiconfig/dist/getPropertyByPath.js
tang-0.2.0 spec/tang_app/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.1.7 node_modules/cosmiconfig/dist/getPropertyByPath.js
tang-0.1.0 spec/tang_app/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
tang-0.0.9 spec/tang_app/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js