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-6.3.1 node_modules/cosmiconfig/dist/getPropertyByPath.js
pcp-server-ruby-sdk-0.0.6 node_modules/cosmiconfig/dist/getPropertyByPath.js
pcp-server-ruby-sdk-0.1.0 node_modules/cosmiconfig/dist/getPropertyByPath.js
optimacms-0.1.61 spec/dummy/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-5.0.7 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-5.0.6 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-5.0.5 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-5.0.4 node_modules/cosmiconfig/dist/getPropertyByPath.js
disco_app-0.16.1 test/dummy/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
disco_app-0.15.2 test/dummy/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-5.0.3 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-5.0.2 node_modules/cosmiconfig/dist/getPropertyByPath.js
disco_app-0.18.4 test/dummy/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
disco_app-0.18.1 test/dummy/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
disco_app-0.14.0 test/dummy/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-5.0.1 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-4.3.5 node_modules/cosmiconfig/dist/getPropertyByPath.js
trusty-cms-5.0.0 node_modules/cosmiconfig/dist/getPropertyByPath.js