A Babel Macro that allows your functions to recurse infinitely.
Problem
In typical environments like V8, number of recursion is limited to tens of thousands.
{ return upTo <= 0 ? 0 : upTo + ;} // RangeError: Maximum call stack size exceededconsole;
Solution
With the infinite
macro, your function supports infinite number of recursion.
; const sum = ; // 500000500000console;
Usage
Configure Babel to use babel-pugin-macros. That's all!
infinite
The infinite
macro supports the form of infinite(function func(...args) { ... })
. Any other form of expressions will result in a compile-time or runtime error.
If you are a fan of default exports, the infinite
macro can also be obtained as a default export:
;
run
The rec
macro is an inline version of the infinite
macro. It receives a recursive function as the first argument and the arguments to it as the rest of the arguments. Usage:
; const sumTo1e6 = ;
Contribution
Welcome
License
MIT