summaryrefslogtreecommitdiff
path: root/src/utils.ts
blob: 9c4c97b3cf6dbebda01d62bde80f3a270b04df56 (plain) (blame)
1
2
3
4
5
6
7
8
9
export const eq =
  <T>(a: T) =>
  (b: T): boolean =>
    a === b

export const match =
  <R, K extends string>(pattern: { [key in K | '_']: () => R }) =>
  (k: K): R =>
    (pattern[k] || pattern._)()