Sha256: 335738807b39951fd64cb6469bba3a94764786fe3d926938f2275420df34f86c
Contents?: true
Size: 1.08 KB
Versions: 274
Compression:
Stored size: 1.08 KB
Contents
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;
Version data entries
274 entries across 272 versions & 30 rubygems