babel-plugin-loop-optimizer
Optimizes .forEach
and .map
statements to for
stements
Installation
$ npm install babel-plugin-loop-optimizer
Usage
.babelrc
(Recommended)
Via .babelrc
Via CLI
$ babel --plugins loop-optimizer script.js
Via Node API
;
Bugs?
Now you may say "wait, wait, wait!" This optimizes on things that aren't just arrays! My map#forEach
is optimized too! To fix this, add a comment that says // O: KEEP
right before the line on which you use the forEach
. Examples:
var m = new Map();
// O: KEEP
m.forEach(f)
or:
var s = new Set();
// O: KEEP
for (var i = 0; i < 5; s.forEach(f)) {
// ...
}
This is required since it is not possible to determine an object's type at compile-time.
Example
{ return arr;}
to:
{ var _a = arr; var n * 2; var _r = ; for var _i = 0; _i < _alength; _i++ _r; return _r;}
If you need any other help, don't hesitate to leave an issue