reflect.ownkeys
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/reflect.ownkeys package

1.1.4 • Public • Published

reflect.ownkeys Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

An ES2015 spec-compliant Reflect.ownKeys shim. Invoke its "shim" method to shim Reflect.ownKeys 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 ownKeys = require('reflect.ownkeys');

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

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

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

if (!Reflect.ownKeys) {
	ownKeys.shim();
}

assert.deepEqual(Reflect.ownKeys(obj), expected);

Tests

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

Package Sidebar

Install

npm i reflect.ownkeys

Weekly Downloads

606,612

Version

1.1.4

License

MIT

Unpacked Size

23.9 kB

Total Files

17

Last publish

Collaborators

  • ljharb
  • glenjamin