npm.io
4.0.0 • Published 6 months ago

@putout/plugin-convert-object-entries-to-array-entries

Licence
MIT
Version
4.0.0
Deps
0
Size
5 kB
Vulns
0
Weekly
0
Stars
797

@putout/plugin-convert-object-entries-to-array-entries NPM version

The Object.entries() static method returns an array of a given object's own enumerable string-keyed property key-value pairs.

(c) Object.entries()

The entries() method returns a new Array Iterator object that contains the key/value pairs for each index in the array.

(c) Array.prototype.entries()

Putout plugin adds ability to convert Object.entries() to Array.prototype.entries() to avoid bugs related to using index in unary (!index) or binary (index > length) expressions, the thing is Object.entries() returns list of Array<String, any> tuples, and Array.prototype.entries() returns list of Array<Number, any> tuples it can lead to bugs when you expected that index is number.

Check out in Putout Editor.

Install

npm i @putout/plugin-convert-object-entries-to-array-entries -D

Rule

{
    "rules": {
        "convert-object-entries-to-array-entries": "on"
    }
}

Example of incorrect code

const {entries} = Object;

for (const [i, token] of entries(tokens)) {
    if (!i)
        continue;
    
    fn(token);
}

Example of correct code

for (const [i, token] of tokens.entries()) {
    if (!i)
        continue;
    
    fn(token);
}

License

MIT

Keywords