ts-match

A TypeScript implementation of Rust's match control flow operator

Basic usage

from example.ts:

import {match} from './mod.ts';

function doubleOddHalfEven (n: number): number {
  const result = match(n, [
    [n => n % 2 === 0, n => n / 2],
  ], n => n * 2);

  return result;
}

console.log(doubleOddHalfEven(2)); //=> 1
console.log(doubleOddHalfEven(1)); //=> 2
console.log(doubleOddHalfEven(12)); //=> 6
console.log(doubleOddHalfEven(5)); //=> 10
console.log(doubleOddHalfEven(3)); //=> 6