12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- export type Operator =
- | '+'
- | '-'
- | '/'
- | '%'
- | '*'
- | '**'
- | '&'
- | '|'
- | '>>'
- | '>>>'
- | '<<'
- | '^'
- | '=='
- | '==='
- | '!='
- | '!=='
- | 'in'
- | 'instanceof'
- | '>'
- | '<'
- | '>='
- | '<=';
- export default function binaryOperation(
- operator: Operator,
- left: any,
- right: any,
- ): any {
- switch (operator) {
- case '+':
- return left + right;
- case '-':
- return left - right;
- case '/':
- return left / right;
- case '%':
- return left % right;
- case '*':
- return left * right;
- case '**':
- return left ** right;
- case '&':
- return left & right;
- case '|':
- return left | right;
- case '>>':
- return left >> right;
- case '>>>':
- return left >>> right;
- case '<<':
- return left << right;
- case '^':
- return left ^ right;
- case '==':
- return left == right;
- case '===':
- return left === right;
- case '!=':
- return left != right;
- case '!==':
- return left !== right;
- case 'in':
- return left in right;
- case 'instanceof':
- return left instanceof right;
- case '>':
- return left > right;
- case '<':
- return left < right;
- case '>=':
- return left >= right;
- case '<=':
- return left <= right;
- }
- }
|