Skip to content

ljharb/object-keys

Folders and files

NameName
Last commit message
Last commit date
Oct 27, 2022
May 24, 2021
Sep 23, 2014
Dec 8, 2021
Oct 27, 2022
Sep 15, 2019
May 24, 2021
Apr 7, 2019
Sep 20, 2013
May 24, 2021
Sep 15, 2019
Mar 4, 2021
Nov 22, 2021
Oct 27, 2022

Repository files navigation

object-keys Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An Object.keys shim. Invoke its "shim" method to shim Object.keys if it is unavailable.

Most common usage:

var keys = Object.keys || require('object-keys');

Example

var keys = require('object-keys');
var assert = require('assert');
var obj = {
	a: true,
	b: true,
	c: true
};

assert.deepEqual(keys(obj), ['a', 'b', 'c']);
var keys = require('object-keys');
var assert = require('assert');
/* when Object.keys is not present */
delete Object.keys;
var shimmedKeys = keys.shim();
assert.equal(shimmedKeys, keys);
assert.deepEqual(Object.keys(obj), keys(obj));
var keys = require('object-keys');
var assert = require('assert');
/* when Object.keys is present */
var shimmedKeys = keys.shim();
assert.equal(shimmedKeys, Object.keys);
assert.deepEqual(Object.keys(obj), keys(obj));

Source

Implementation taken directly from es5-shim, with modifications, including from lodash.

Tests

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