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);
Simply clone the repo, npm install
, and run npm test