GitHub - es-shims/Object.entries: ES2017 spec-compliant shim for Object.entries (original) (raw)

object.entries Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ES2017 spec-compliant Object.entries shim. Invoke its "shim" method to shim Object.entries if it is unavailable or noncompliant.

This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the spec.

Most common usage:

var assert = require('assert'); var entries = require('object.entries');

var obj = { a: 1, b: 2, c: 3 }; var expected = [['a', 1], ['b', 2], ['c', 3]];

if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') { // for environments with Symbol support var sym = Symbol(); obj[sym] = 4; obj.d = sym; expected.push(['d', sym]); }

assert.deepEqual(entries(obj), expected);

if (!Object.entries) { entries.shim(); }

assert.deepEqual(Object.entries(obj), expected);

Tests

Simply clone the repo, npm install, and run npm test