UNPKG

805 BJavaScriptView Raw
1import * as caniuse from 'caniuse-lite';
2
3// return a list of browsers that do not support the feature
4export default function getUnsupportedBrowsersByFeature(feature) {
5 const caniuseFeature = caniuse.features[feature];
6
7 // if feature support can be determined
8 if (caniuseFeature) {
9 const stats = caniuse.feature(caniuseFeature).stats;
10
11 // return an array of browsers and versions that do not support the feature
12 const results = Object.keys(stats).reduce(
13 (browsers, browser) => browsers.concat(
14 Object.keys(stats[browser]).filter(
15 version => stats[browser][version].indexOf('y') !== 0
16 ).map(
17 version => `${browser} ${version}`
18 )
19 ),
20 []
21 );
22
23 return results;
24 } else {
25 // otherwise, return that the feature does not work in any browser
26 return [ '> 0%' ];
27 }
28}