ECMAScript 7 compatibility shims for legacy JavaScript engines.
es7-shim.js
exports an object that contains shims that can be used to monkeypatch a JavaScript context to contain all ECMAScript 7 methods that can be faithfully emulated with a legacy JavaScript engine.
es7-shim.browser.js
calls the “shim” method on the export of es7-shim.js
which actually modifies the global object, including replacing native methods when engine-specific bugs exist.
Published on npm are dist/es7-shim.js
and dist/es7-shim.min.js
which are pre-prepared browserified versions of es7-shim.browser.js
.
Source for shims
Every shim in this module is a separate, independent npm
module.
To be included, all shims must have a ".shim()" method that installs the shim into the global object whenever it is necessary. It should also handle any engine-specific specific to the method it is shimming.
Tests
Simply clone the repo, npm install
, and run npm test
Shims
Array.prototype
:
includes
standalone
Object
:
getOwnPropertyDescriptors
standaloneentries
standalonevalues
standalone
String.prototype
:
at
standalonetrimLeft
standalonetrimRight
standalonepadStart
standalonepadEnd
standalone
Shams
⚠️ None yet!