operate.js 457 B

1234567891011121314151617181920
  1. var utils = require('../utils');
  2. /**
  3. * Perform `op` on the `left` and `right` operands.
  4. *
  5. * @param {String} op
  6. * @param {Node} left
  7. * @param {Node} right
  8. * @return {Node}
  9. * @api public
  10. */
  11. function operate(op, left, right){
  12. utils.assertType(op, 'string', 'op');
  13. utils.assertPresent(left, 'left');
  14. utils.assertPresent(right, 'right');
  15. return left.operate(op.val, right);
  16. }
  17. operate.params = ['op', 'left', 'right'];
  18. module.exports = operate;