mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
react app
This commit is contained in:
55
react-app/node_modules/lodash/object/set.js
generated
vendored
Normal file
55
react-app/node_modules/lodash/object/set.js
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
var isIndex = require('../internal/isIndex'),
|
||||
isKey = require('../internal/isKey'),
|
||||
isObject = require('../lang/isObject'),
|
||||
toPath = require('../internal/toPath');
|
||||
|
||||
/**
|
||||
* Sets the property value of `path` on `object`. If a portion of `path`
|
||||
* does not exist it's created.
|
||||
*
|
||||
* @static
|
||||
* @memberOf _
|
||||
* @category Object
|
||||
* @param {Object} object The object to augment.
|
||||
* @param {Array|string} path The path of the property to set.
|
||||
* @param {*} value The value to set.
|
||||
* @returns {Object} Returns `object`.
|
||||
* @example
|
||||
*
|
||||
* var object = { 'a': [{ 'b': { 'c': 3 } }] };
|
||||
*
|
||||
* _.set(object, 'a[0].b.c', 4);
|
||||
* console.log(object.a[0].b.c);
|
||||
* // => 4
|
||||
*
|
||||
* _.set(object, 'x[0].y.z', 5);
|
||||
* console.log(object.x[0].y.z);
|
||||
* // => 5
|
||||
*/
|
||||
function set(object, path, value) {
|
||||
if (object == null) {
|
||||
return object;
|
||||
}
|
||||
var pathKey = (path + '');
|
||||
path = (object[pathKey] != null || isKey(path, object)) ? [pathKey] : toPath(path);
|
||||
|
||||
var index = -1,
|
||||
length = path.length,
|
||||
lastIndex = length - 1,
|
||||
nested = object;
|
||||
|
||||
while (nested != null && ++index < length) {
|
||||
var key = path[index];
|
||||
if (isObject(nested)) {
|
||||
if (index == lastIndex) {
|
||||
nested[key] = value;
|
||||
} else if (nested[key] == null) {
|
||||
nested[key] = isIndex(path[index + 1]) ? [] : {};
|
||||
}
|
||||
}
|
||||
nested = nested[key];
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
module.exports = set;
|
Reference in New Issue
Block a user