mirror of
https://code.forgejo.org/actions/setup-python
synced 2025-06-09 12:52:20 +02:00
Initial pass
This commit is contained in:
commit
39c08a0eaa
7242 changed files with 1886006 additions and 0 deletions
51
node_modules/set-value/index.js
generated
vendored
Normal file
51
node_modules/set-value/index.js
generated
vendored
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*!
|
||||
* 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});
|
||||
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;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue