Skip to content
/ match Public

Alternative to JavaScript’s switch statement with a functional twist

License

Notifications You must be signed in to change notification settings

el3um4s/match

Repository files navigation

@el3um4s/match

Alternative to JavaScript’s switch statement with a functional twist

Based on Alternative to JavaScript’s switch statement with a functional twist

NPM: @el3um4s/match

Install and use the package

To use the package in a project:

npm i @el3um4s/match

and then in a file:

import match from "@el3um4s/match";

const handleShape = (shape, w) => area(shape,w);

function area (type = "Circle", width = 2) {
  return match(type)
          .on(type => type.toLowerCase() === "circle", () => {
              return Math.PI * (width / 2) ** 2;
            })
          .on(type => type.toLowerCase() === "square", () => width ** 2)
          .otherwise(() => 0);
};

handleShape("Square", 3);