artdaq_node_server  v1_00_07
 All Classes Namespaces Files Variables Pages
_createMathOperation.js
1 var baseToNumber = require('./_baseToNumber'),
2  baseToString = require('./_baseToString');
3 
12 function createMathOperation(operator, defaultValue) {
13  return function(value, other) {
14  var result;
15  if (value === undefined && other === undefined) {
16  return defaultValue;
17  }
18  if (value !== undefined) {
19  result = value;
20  }
21  if (other !== undefined) {
22  if (result === undefined) {
23  return other;
24  }
25  if (typeof value == 'string' || typeof other == 'string') {
26  value = baseToString(value);
27  other = baseToString(other);
28  } else {
29  value = baseToNumber(value);
30  other = baseToNumber(other);
31  }
32  result = operator(value, other);
33  }
34  return result;
35  };
36 }
37 
38 module.exports = createMathOperation;