UNPKG

object-str-find

Version:

Find substring or match regexp in the object and his inner objects.

27 lines (21 loc) 702 B
const { isObject } = require('./utils') /** * Recursevly extract all properties for target object and his inner objects * @param {Object} object Target object * @param {String} parentPropName Parent property name of parent property * @returns {Array} */ const extractObjectEntries = (object, parentPropName = '') => { let entries = [] Object.entries(object).forEach((item) => { const [prop, value] = item const path = parentPropName ? `${parentPropName}.${prop}` : prop if (isObject(value)) { entries = entries.concat(extractObjectEntries(value, path)) } else { entries.push({ path, value }) } }) return entries } module.exports = extractObjectEntries