Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jridgewell/babel-plugin-transform-for-of-as-array
Transform all for-of loops into the equivalent array for loop
https://github.com/jridgewell/babel-plugin-transform-for-of-as-array
babel-plugin for-of transform
Last synced: 2 months ago
JSON representation
Transform all for-of loops into the equivalent array for loop
- Host: GitHub
- URL: https://github.com/jridgewell/babel-plugin-transform-for-of-as-array
- Owner: jridgewell
- License: mit
- Created: 2017-04-29T22:17:03.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-02-08T06:08:07.000Z (almost 7 years ago)
- Last Synced: 2024-10-03T09:18:27.114Z (3 months ago)
- Topics: babel-plugin, for-of, transform
- Language: JavaScript
- Size: 17.6 KB
- Stars: 14
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# babel-plugin-transform-for-of-as-array
Transform all for-of loops into the equivalent array for loop
## Example
**In**
```js
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**
```js
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**
```js
const array = null;
for (const elm of array) {
console.log(elm);
}let item;
for ({ item } of array.map(item => ({ item }))) {
console.log(item);
}
```**Out**
```js
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
```sh
$ npm install babel-plugin-transform-for-of-as-array
```## Usage
### Via `.babelrc` (Recommended)
**.babelrc**
```json
{
"plugins": ["transform-for-of-as-array"]
}
```### Via CLI
```sh
$ babel --plugins transform-for-of-as-array script.js
```### Via Node API
```javascript
require("babel-core").transform("code", {
plugins: ["transform-for-of-as-array"]
});
```