Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including flap with all npm packages installed. Try it out:

var flap = require("flap")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

flap v1.0.3

Guard clauses for ES6


:rooster: Guard clauses for JS


flap allows you to cleanly enforce integrity conditions and modifications to the inputs and outputs of functions.

You can also think of it as a generic datal-flow wrapper for functions, with a dash of pattern-matching awesomeness.


  • Wraps JS functions and their arguments with guard clauses found in languages such as Elixir and Haskell
  • Elegantly modifies and reacts to arguments based on expressions
  • Pattern matching against object arguments
  • Improves readability of complex conditions by chaining discrete units of logic
  • Helps prevent deep nesting and callback hell
  • Optionally bind to Function.prototype for maximum sugar


npm i flap


You can find detailed documentation and examples at


Contributions are always welcome! Simply open a PR with completely covered tests.

npm run coverage




RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free