21 lines
578 B
JavaScript
21 lines
578 B
JavaScript
|
var toNumber = require('./toNumber');
|
||
|
|
||
|
/**
|
||
|
* Creates a function that performs a relational operation on two values.
|
||
|
*
|
||
|
* @private
|
||
|
* @param {Function} operator The function to perform the operation.
|
||
|
* @returns {Function} Returns the new relational operation function.
|
||
|
*/
|
||
|
function createRelationalOperation(operator) {
|
||
|
return function(value, other) {
|
||
|
if (!(typeof value == 'string' && typeof other == 'string')) {
|
||
|
value = toNumber(value);
|
||
|
other = toNumber(other);
|
||
|
}
|
||
|
return operator(value, other);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports = createRelationalOperation;
|