An ES2017 spec-compliant shim for Object.getOwnPropertyDescriptors that works in ES5. Invoke its "shim" method to shim Object.getOwnPropertyDescriptors if it is unavailable, and if Object.getOwnPropertyDescriptor is available.
This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the spec.
var getDescriptors =require('object.getownpropertydescriptors');var assert =require('assert');/* when Object.getOwnPropertyDescriptors is not present */deleteObject.getOwnPropertyDescriptors;var shimmedDescriptors =getDescriptors.shim();assert.equal(shimmedDescriptors, getDescriptors);assert.deepEqual(shimmedDescriptors(obj),getDescriptors(obj));
var getDescriptors =require('object.getownpropertydescriptors');var assert =require('assert');/* when Object.getOwnPropertyDescriptors is present */var shimmedDescriptors =getDescriptors.shim();assert.notEqual(shimmedDescriptors, getDescriptors);assert.deepEqual(shimmedDescriptors(obj),getDescriptors(obj));
Tests
Simply clone the repo, npm install, and run npm test