sfcode An Online Competing and Development Environment

caniuse-api

request the caniuse data to check browsers compatibilities

# Installation

$ yarn add caniuse-api

# Usage

const caniuse = require('caniuse-api')
caniuse.getSupport('border-radius')
caniuse.isSupported('border-radius', 'ie 8, ie 9')
caniuse.setBrowserScope('> 5%, last 1 version')
caniuse.getSupport('border-radius')
// ...

# API

### <tt>caniuse.getSupport(feature)</tt>

ask since which browsers versions a feature is available

- `y`: Since which browser version the feature is available
- `n`: Up to which browser version the feature is unavailable
- `a`: Up to which browser version the feature is partially supported
- `x`: Up to which browser version the feature is prefixed

caniuse.getSupport('border-radius', true)
/*
{ and_chr: { y: 67 },
and_ff: { y: 60 },
and_qq: { y: 1.2 },
and_uc: { y: 11.8 },
android: { y: 2.1, x: 2.1 },
baidu: { y: 7.12 },
chrome: { y: 4, x: 4 },
edge: { y: 12 },
firefox: { a: 2, x: 3.6, y: 3 },
ie: { n: 8, y: 9 },
ie_mob: { y: 10 },
ios_saf: { y: 3.2, x: 3.2 },
op_mini: {},
op_mob: { n: 10, y: 11 },
opera: { n: 10, y: 10.5 },
safari: { y: 3.1, x: 4 },
samsung: { y: 4 } }
*/

### <tt>caniuse.isSupported(feature, browsers)</tt>

ask if a feature is supported by some browsers

caniuse.isSupported('border-radius', 'ie 8, ie 9') // false
caniuse.isSupported('border-radius', 'ie 9') // true

### <tt>caniuse.find(query)</tt>

search for a caniuse feature name

Ex:

caniuse.find('radius') // ['border-radius']
caniuse.find('nothingness') // []
caniuse.find('css3')
/*
[ 'css3-attr',
'css3-boxsizing',
'css3-colors',
'css3-cursors-grab',
'css3-cursors-newer',
'css3-cursors',
'css3-tabsize' ]
*/

### <tt>caniuse.getLatestStableBrowsers()</tt>

get the current version for each browser

caniuse.getLatestStableBrowsers()
/*
[ 'and_chr 67',
'and_ff 60',
'and_qq 1.2',
'and_uc 11.8',
'android 67',
'baidu 7.12',
'bb 10',
'chrome 67',
'edge 17',
'firefox 61',
'ie 11',
'ie_mob 11',
'ios_saf 11.3-11.4',
'op_mini all',
'op_mob 46',
'opera 53',
'safari 11.1',
'samsung 7.2' ]
*/

### <tt>caniuse.getBrowserScope()</tt>

returns a list of browsers currently used for the scope of operations

caniuse.getBrowserScope()
/*
[ 'and_chr',
'and_ff',
'and_qq',
'and_uc',
'android',
'baidu',
'chrome',
'edge',
'firefox',
'ie',
'ie_mob',
'ios_saf',
'op_mini',
'op_mob',
'opera',
'safari',
'samsung' ]
*/

### <tt>caniuse.setBrowserScope(browserscope)</tt>

if you do not like the default browser scope, you can set it globally by using this method

- browserscope should be a 'autoprefixer' formatted string

caniuse.setBrowserScope('> 5%, last 2 versions, Firefox ESR, Opera 12.1')

# @ref /opt/lampp/htdocs/sfcode/node_modules/caniuse-api/CHANGELOG.md "Changelog"

# [License](LICENSE)