![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/themes/metras/node_modules/map-obj/ |
'use strict'; // customized for this use-case const isObject = x => typeof x === 'object' && x !== null && !(x instanceof RegExp) && !(x instanceof Error) && !(x instanceof Date); module.exports = function mapObj(obj, fn, opts, seen) { opts = Object.assign({ deep: false, target: {} }, opts); seen = seen || new WeakMap(); if (seen.has(obj)) { return seen.get(obj); } seen.set(obj, opts.target); const target = opts.target; delete opts.target; for (const key of Object.keys(obj)) { const val = obj[key]; const res = fn(key, val, obj); let newVal = res[1]; if (opts.deep && isObject(newVal)) { if (Array.isArray(newVal)) { newVal = newVal.map(x => isObject(x) ? mapObj(x, fn, opts, seen) : x); } else { newVal = mapObj(newVal, fn, opts, seen); } } target[res[0]] = newVal; } return target; };