mirror of
https://code.forgejo.org/actions/setup-node.git
synced 2025-05-21 05:24:45 +00:00
.
This commit is contained in:
parent
fc725ba36b
commit
422b9fdb15
7395 changed files with 1786235 additions and 3476 deletions
74
node_modules/lodash/mixin.js
generated
vendored
Normal file
74
node_modules/lodash/mixin.js
generated
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
var arrayEach = require('./_arrayEach'),
|
||||
arrayPush = require('./_arrayPush'),
|
||||
baseFunctions = require('./_baseFunctions'),
|
||||
copyArray = require('./_copyArray'),
|
||||
isFunction = require('./isFunction'),
|
||||
isObject = require('./isObject'),
|
||||
keys = require('./keys');
|
||||
|
||||
/**
|
||||
* Adds all own enumerable string keyed function properties of a source
|
||||
* object to the destination object. If `object` is a function, then methods
|
||||
* are added to its prototype as well.
|
||||
*
|
||||
* **Note:** Use `_.runInContext` to create a pristine `lodash` function to
|
||||
* avoid conflicts caused by modifying the original.
|
||||
*
|
||||
* @static
|
||||
* @since 0.1.0
|
||||
* @memberOf _
|
||||
* @category Util
|
||||
* @param {Function|Object} [object=lodash] The destination object.
|
||||
* @param {Object} source The object of functions to add.
|
||||
* @param {Object} [options={}] The options object.
|
||||
* @param {boolean} [options.chain=true] Specify whether mixins are chainable.
|
||||
* @returns {Function|Object} Returns `object`.
|
||||
* @example
|
||||
*
|
||||
* function vowels(string) {
|
||||
* return _.filter(string, function(v) {
|
||||
* return /[aeiou]/i.test(v);
|
||||
* });
|
||||
* }
|
||||
*
|
||||
* _.mixin({ 'vowels': vowels });
|
||||
* _.vowels('fred');
|
||||
* // => ['e']
|
||||
*
|
||||
* _('fred').vowels().value();
|
||||
* // => ['e']
|
||||
*
|
||||
* _.mixin({ 'vowels': vowels }, { 'chain': false });
|
||||
* _('fred').vowels();
|
||||
* // => ['e']
|
||||
*/
|
||||
function mixin(object, source, options) {
|
||||
var props = keys(source),
|
||||
methodNames = baseFunctions(source, props);
|
||||
|
||||
var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
|
||||
isFunc = isFunction(object);
|
||||
|
||||
arrayEach(methodNames, function(methodName) {
|
||||
var func = source[methodName];
|
||||
object[methodName] = func;
|
||||
if (isFunc) {
|
||||
object.prototype[methodName] = function() {
|
||||
var chainAll = this.__chain__;
|
||||
if (chain || chainAll) {
|
||||
var result = object(this.__wrapped__),
|
||||
actions = result.__actions__ = copyArray(this.__actions__);
|
||||
|
||||
actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
|
||||
result.__chain__ = chainAll;
|
||||
return result;
|
||||
}
|
||||
return func.apply(object, arrayPush([this.value()], arguments));
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
return object;
|
||||
}
|
||||
|
||||
module.exports = mixin;
|
Loading…
Add table
Add a link
Reference in a new issue