Expose _.noop. [closes #380]

This commit is contained in:
John-David Dalton
2013-10-30 09:20:56 -07:00
parent 6631b9e78f
commit 6bb89778b2
2 changed files with 54 additions and 24 deletions

View File

@@ -390,15 +390,6 @@
return typeof value.toString != 'function' && typeof (value + '') == 'string';
}
/**
* A no-operation function.
*
* @private
*/
function noop() {
// no operation performed
}
/**
* Releases the given array back to the array pool.
*
@@ -1133,14 +1124,18 @@
}
// fallback for browsers without `Object.create`
if (!nativeCreate) {
baseCreate = function(prototype) {
if (isObject(prototype)) {
noop.prototype = prototype;
var result = new noop;
noop.prototype = null;
}
return result || {};
};
baseCreate = (function() {
function Object() {}
return function(prototype) {
if (isObject(prototype)) {
Object.prototype = prototype;
var result = new Object;
Object.prototype = null;
}
return result || context.Object();
};
}());
}
/**
@@ -6134,6 +6129,22 @@
return this;
}
/**
* A no-operation function.
*
* @static
* @memberOf _
* @category Utilities
* @example
*
* var object = { 'name': 'fred' };
* _.noop(object) === undefined;
* // => true
*/
function noop() {
// no operation performed
}
/**
* Converts the given value into an integer of the specified radix.
* If `radix` is `undefined` or `0` a `radix` of `10` is used unless the
@@ -6754,6 +6765,7 @@
lodash.lastIndexOf = lastIndexOf;
lodash.mixin = mixin;
lodash.noConflict = noConflict;
lodash.noop = noop;
lodash.parseInt = parseInt;
lodash.random = random;
lodash.reduce = reduce;

View File

@@ -3791,15 +3791,14 @@
}
});
test('should return `false` for non objects', 3, function() {
var expected = _.map(falsey, function() { return false; });
test('should return `false` for non objects', 1, function() {
var values = falsey.concat('a', true),
expected = _.map(values, function() { return false; });
var actual = _.map(falsey, function(value, index) {
var actual = _.map(values, function(value, index) {
return index ? _.isObject(value) : _.isObject();
});
strictEqual(_.isObject(true), false);
strictEqual(_.isObject('a'), false);
deepEqual(actual, expected);
});
@@ -4761,6 +4760,23 @@
/*--------------------------------------------------------------------------*/
QUnit.module('lodash.noop');
(function() {
test('should always return `undefined`', 1, function() {
var values = falsey.concat([], true, new Date, _, {}, /x/, 'a'),
expected = _.map(values, function() { return undefined; });
var actual = _.map(values, function(value, index) {
return index ? _.noop(value) : _.noop();
});
deepEqual(actual, expected);
});
}());
/*--------------------------------------------------------------------------*/
QUnit.module('lodash.omit');
(function() {
@@ -5609,7 +5625,9 @@
expected = _.map(falsey, function() { return undefined; });
_.forEach(falsey, function(value, index) {
actual.push(index ? _.result(value) : _.result());
try {
actual.push(index ? _.result(value) : _.result());
} catch(e) { }
});
deepEqual(actual, expected);
@@ -7657,7 +7675,7 @@
var acceptFalsey = _.difference(allMethods, rejectFalsey);
test('should accept falsey arguments', 148, function() {
test('should accept falsey arguments', 149, function() {
var isExported = '_' in root,
oldDash = root._;