Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/node-red/node_modules/object-get/lib/ drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict'
/**
* Access nested property values at any depth with a simple expression.
*
* @module object-get
* @typicalname objectGet
* @example
* ```js
* const objectGet = require('object-get')
*
* const colour = objectGet(mammal, 'fur.appearance.colour')
* const text = objectGet(el, 'children[2].children[1].children[1].textContent')
* ```
*
* Helps avoid long logical expressions like:
*
* ```js
* const colour = mammal && mammal.fur && mammal.fur.appearance && mammal.fur.appearance.colour
* ```
*/
module.exports = objectGet
/**
* Returns the value at the given property.
*
* @param {object} - the input object
* @param {string} - the property accessor expression.
* @returns {*}
* @alias module:object-get
* @example
* > objectGet({ animal: 'cow' }, 'animal')
* 'cow'
*
* > objectGet({ animal: { mood: 'lazy' } }, 'animal')
* { mood: 'lazy' }
*
* > objectGet({ animal: { mood: 'lazy' } }, 'animal.mood')
* 'lazy'
*
* > objectGet({ animal: { mood: 'lazy' } }, 'animal.email')
* undefined
*/
function objectGet (object, expression) {
if (!(object && expression)) throw new Error('both object and expression args are required')
return expression.trim().split('.').reduce(function (prev, curr) {
var arr = curr.match(/(.*?)\[(.*?)\]/)
if (arr) {
return prev && prev[arr[1]] && prev[arr[1]][arr[2]]
} else {
return prev && prev[curr]
}
}, object)
}
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.004 ]-- |