MCPcopy
hub / github.com/lowlighter/metrics / setKey

Function setKey

source/plugins/community/splatoon/s3si/index.ts:823–848  ·  view source on GitHub ↗
(obj, name, value, collect = true)

Source from the content-addressed store, hash-verified

821 return flags.allBools && /^--[^=]+$/.test(arg) || get(flags.bools, key) || !!get(flags.strings, key) || !!get(aliases, key);
822 }
823 function setKey(obj, name, value, collect = true) {
824 let o = obj;
825 const keys = name.split(".");
826 keys.slice(0, -1).forEach(function(key) {
827 if (get(o, key) === undefined) {
828 o[key] = {};
829 }
830 o = get(o, key);
831 });
832 const key = keys[keys.length - 1];
833 const collectable = collect && !!get(flags.collect, name);
834 if (!collectable) {
835 o[key] = value;
836 } else if (get(o, key) === undefined) {
837 o[key] = [
838 value
839 ];
840 } else if (Array.isArray(get(o, key))) {
841 o[key].push(value);
842 } else {
843 o[key] = [
844 get(o, key),
845 value
846 ];
847 }
848 }
849 function setArg(key, val, arg = undefined, collect) {
850 if (arg && flags.unknownFn && !argDefined(key, arg)) {
851 if (flags.unknownFn(arg, key, val) === false) return;

Callers 2

setArgFunction · 0.85
parseFunction · 0.85

Calls 2

sliceMethod · 0.80
getFunction · 0.70

Tested by

no test coverage detected