babel-plugin-transform-object-enumerables
Version:
Helps obtain an array of keys, values, and key/value pairs (what the spec calls “entries”) from an object, for the purposes of iteration or serialization
101 lines (72 loc) • 1.62 kB
Markdown
Helps obtain an array of keys, values, and key/value pairs (what the spec calls
“entries”) from an object, for the purposes of iteration or serialization. See
the [proposal](https://github.com/leobalter/object-enumerables) for more details
## Examples
```js
// Given the current variables:
var results;
var iterSuper = {
foo: 42
};
var iter = Object.create( iterSuper );
iter.bar = 43;
```
```js
// Before
results = [];
for ( let x in iter ) {
results.push( x );
}
results; // [ "foo", "bar" ]
// After
results = Object.enumerableKeys( iter );
results; // [ "foo", "bar" ] (same order as for loop)
```
```js
// Before
results = [];
for ( let x in iter ) {
results.push( iter[ x ] );
}
results; // [ 42, 43 ]
// After
results = Object.enumerableValues( iter );
results; // [ 42, 43 ] (same order as for loop)
```
```js
// Before
results = [];
for ( let x in iter ) {
results.push( [ x, iter[ x ] ] );
}
results; // [ [ "foo", 42 ], [ "bar", 43 ] ]
// After
results = Object.enumerableEntries( iter );
results; // [ [ "foo", 42 ], [ "bar", 43 ] ] (same order as for loop)
```
```sh
$ npm install babel-plugin-object-enumerables
```
**.babelrc**
```json
{
"plugins": ["object-enumerables"]
}
```
```sh
$ babel --plugins object-enumerables script.js
```
```javascript
require("babel-core").transform("code", {
plugins: ["object-enumerables"]
});
```