🐛 Update: Added support for the 'find' command in settings.local.json. Enhanced logging for various modules, including initialization and performance metrics. Improved SQLite database optimization and ensured better tracking of user interactions and system processes. 📚
This commit is contained in:
55
network-visualization/node_modules/set-value/index.js
generated
vendored
Normal file
55
network-visualization/node_modules/set-value/index.js
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
/*!
|
||||
* set-value <https://github.com/jonschlinkert/set-value>
|
||||
*
|
||||
* Copyright (c) 2014-2015, 2017, Jon Schlinkert.
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var split = require('split-string');
|
||||
var extend = require('extend-shallow');
|
||||
var isPlainObject = require('is-plain-object');
|
||||
var isObject = require('is-extendable');
|
||||
|
||||
module.exports = function(obj, prop, val) {
|
||||
if (!isObject(obj)) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
if (Array.isArray(prop)) {
|
||||
prop = [].concat.apply([], prop).join('.');
|
||||
}
|
||||
|
||||
if (typeof prop !== 'string') {
|
||||
return obj;
|
||||
}
|
||||
|
||||
var keys = split(prop, {sep: '.', brackets: true}).filter(isValidKey);
|
||||
var len = keys.length;
|
||||
var idx = -1;
|
||||
var current = obj;
|
||||
|
||||
while (++idx < len) {
|
||||
var key = keys[idx];
|
||||
if (idx !== len - 1) {
|
||||
if (!isObject(current[key])) {
|
||||
current[key] = {};
|
||||
}
|
||||
current = current[key];
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isPlainObject(current[key]) && isPlainObject(val)) {
|
||||
current[key] = extend({}, current[key], val);
|
||||
} else {
|
||||
current[key] = val;
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
};
|
||||
|
||||
function isValidKey(key) {
|
||||
return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';
|
||||
}
|
Reference in New Issue
Block a user