| 
						 | 
						- 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;
 
 
  |