polyshim
v0.1.3
Published
DOM and ECMAScript polyfills
Downloads
6,242
Readme
Polyshim
A set of polyfills and shims for working with DOM and ECMAScript.
Install
npm install polyshim
Usage
The library offers two use cases:
Polyfill
Just connect the necessary polyfills, and use the functionality as if the functionality was supported by browsers:
import 'polyshim/polyfill/closest';
let item = document.querySelector('.component .component__item');
let component = item.closest('.component');
Shim
The use of shims allows you to "not touch" the native methods, thus without overwriting perhaps another implementation of polyfills. This is especially useful for writing redistributable libraries.
import closest from 'polyshim/shim/closest';
let item = document.querySelector('.component .component__item');
let component = closest.call(item, '.component');
Polyfill list
- Object.assign
- Element.prototype.matches
- Element.prototype.closest
- DOMTokenList.prototype.toggle (force parameter)
- Event (constructor)
- CustomEvent (constructor)
Testing
To run tests, use:
npm test
If necessary, you can install launchers for other browsers and activate them in karma.conf.js
:
npm i --save-dev karma-ie-launcher
Browser support
- Internet Explorer 11+
- Other modern browsers