breakable.js
Break out of functions, recursive or not, in a more composable way than by using exceptions explicitly. Non-local return.
Usage
You can use breakable to break out of simple loops like this example
but note that it is often simpler to just use .some
instead. Anyways,
here's a minimal example.
var breakable = ; ;
Pass a value to brk
and it becomes the return-value of breakable.
breakable is useful when you want to break out of a deep recursion, passing a value, without riddling your code with exception ceremony.
Instead of:
var esprima = parse;var traverse = ;var ast = ; var val;try ; catche if val === undefined throw e; // re-throw if it wasn't our exception consoledirval; // { type: 'Identifier', name: 'x' }
you use breakable and do:
var breakable = ;var esprima = parse;var traverse = ;var ast = ; var val = ; consoledirval; // { type: 'Identifier', name: 'x' }
Installation
Node
Install using npm
npm install breakable
var breakable = ;
Browser
Clone the repo and include it in a script tag
git clone https://github.com/olov/breakable.git