Version 1
[yaffs-website] / node_modules / uncss / node_modules / form-data / node_modules / lodash / _createMathOperation.js
diff --git a/node_modules/uncss/node_modules/form-data/node_modules/lodash/_createMathOperation.js b/node_modules/uncss/node_modules/form-data/node_modules/lodash/_createMathOperation.js
new file mode 100644 (file)
index 0000000..f1e238a
--- /dev/null
@@ -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;