19 lines
407 B
JavaScript
19 lines
407 B
JavaScript
|
var utils = require('../utils');
|
||
|
|
||
|
/**
|
||
|
* Perform `op` on the `left` and `right` operands.
|
||
|
*
|
||
|
* @param {String} op
|
||
|
* @param {Node} left
|
||
|
* @param {Node} right
|
||
|
* @return {Node}
|
||
|
* @api public
|
||
|
*/
|
||
|
|
||
|
module.exports = function operate(op, left, right){
|
||
|
utils.assertType(op, 'string', 'op');
|
||
|
utils.assertPresent(left, 'left');
|
||
|
utils.assertPresent(right, 'right');
|
||
|
return left.operate(op.val, right);
|
||
|
};
|