jridgewell/babel-plugin-transform-for-of-as-array


Transform all for-of loops into the equivalent array for loop

License: MIT

Language: JavaScript

Keywords: babel-plugin, for-of, transform


babel-plugin-transform-for-of-as-array

Transform all for-of loops into the equivalent array for loop

Example

In

const array = [1, 2, 3];
for (const elm of array) {
  console.log(elm);
}

let item;
for ({ item } of array.map(item => ({ item }))) {
  console.log(item);
}

Out

const array = [1, 2, 3];

for (let _i = 0, _length = array.length; _i < _length; _i++) {
  const elm = array[_i];
  console.log(elm);
}

let item;
for (let _i2 = 0, _array$map = array.map(item => ({ item })), _length2 = _array$map.length; _i2 < _length2; _i2++) {
  ({ item } = _array$map[_i2]);

  console.log(item);
}

loose transformation

In addition to the normal transform, we also support a null-ish checking loose transform. Passing { loose: true } option into the plugin enables it:

In

const array = null;
for (const elm of array) {
  console.log(elm);
}

let item;
for ({ item } of array.map(item => ({ item }))) {
  console.log(item);
}

Out

const array = null;

for (let _i = 0, _length = array == null ? 0 : array.length; _i < _length; _i++) {
  const elm = array[_i];
  console.log(elm);
}

let item;
for (let _i2 = 0, _array$map = array.map(item => ({ item })), _length2 = _array$map == null ? 0 : _array$map.length; _i2 < _length2; _i2++) {
  ({ item } = _array$map[_i2]);

  console.log(item);
}

Installation

$ npm install babel-plugin-transform-for-of-as-array

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-for-of-as-array"]
}

Via CLI

$ babel --plugins transform-for-of-as-array script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-for-of-as-array"]
});

Project Statistics

Sourcerank 7
Repository Size 17.6 KB
Stars 14
Forks 1
Watchers 1
Open issues 0
Dependencies 5
Contributors 2
Tags 7
Created
Last updated
Last pushed

Top Contributors See all

Justin Ridgewell Mattias Buelens

Packages Referencing this Repo

babel-plugin-transform-for-of-as-array
Transform all for-of loops into the equivalent array for loop
Latest release 1.1.1 - Updated - 14 stars

Recent Tags See all

v1.1.1 February 08, 2018
v1.1.0 February 01, 2018
v1.0.4 October 15, 2017
v1.0.3 April 30, 2017
v1.0.2 April 30, 2017
v1.0.1 April 30, 2017
v1.0.0 April 29, 2017

Something wrong with this page? Make a suggestion

Last synced: 2018-02-12 22:48:09 UTC

Login to resync this repository