MCPcopy Create free account
hub / github.com/violentmonkey/violentmonkey / objectSet

Function objectSet

src/common/object.js:25–38  ·  view source on GitHub ↗
(obj, rawKey, val, retParent)

Source from the content-addressed store, hash-verified

23 * @return {Object} the original object or the parent of `val` if retParent is set
24 */
25export function objectSet(obj, rawKey, val, retParent) {
26 rawKey = normalizeKeys(rawKey);
27 let res = obj || {};
28 let key;
29 for (let i = 0; (key = rawKey[i], i < rawKey.length - 1); i += 1) {
30 res = res[key] || (res[key] = {});
31 }
32 if (val === undefined) {
33 delete res[key];
34 } else {
35 res[key] = val;
36 }
37 return retParent ? res : obj;
38}
39
40/**
41 * @param {{}} obj

Callers 6

setOptionFunction · 0.90
addValueOpenerFunction · 0.90
onOptionChangedFunction · 0.90
_syncFunction · 0.90
setFunction · 0.90
updateFunction · 0.90

Calls 1

normalizeKeysFunction · 0.85

Tested by

no test coverage detected