first commit

This commit is contained in:
tbushman
2018-10-29 19:41:46 -06:00
committed by mrugesh mohapatra
parent d341b9c45e
commit 5bb3556bfd
14042 changed files with 1580673 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
var baseToNumber = require('./_baseToNumber'),
baseToString = require('./_baseToString');
/**
* Creates a function that performs a mathematical operation on two values.
*
* @private
* @param {Function} operator The function to perform the operation.
* @param {number} [defaultValue] The value used for `undefined` arguments.
* @returns {Function} Returns the new mathematical operation function.
*/
function createMathOperation(operator, defaultValue) {
return function(value, other) {
var result;
if (value === undefined && other === undefined) {
return defaultValue;
}
if (value !== undefined) {
result = value;
}
if (other !== undefined) {
if (result === undefined) {
return other;
}
if (typeof value == 'string' || typeof other == 'string') {
value = baseToString(value);
other = baseToString(other);
} else {
value = baseToNumber(value);
other = baseToNumber(other);
}
result = operator(value, other);
}
return result;
};
}
module.exports = createMathOperation;