reflect.ownkeys

    1.1.0 • 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

    Install

    npm i reflect.ownkeys

    DownloadsWeekly Downloads

    2,247,495

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    21.3 kB

    Total Files

    18

    Last publish

    Collaborators

    • ljharb
    • glenjamin