You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					158 lines
				
				3.1 KiB
			
		
		
			
		
	
	
					158 lines
				
				3.1 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								# caniuse-api [](https://travis-ci.org/Nyalab/caniuse-api) [](https://ci.appveyor.com/project/MoOx/caniuse-api/branch/master)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								request the caniuse data to check browsers compatibilities
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Installation
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```console
							 | 
						||
| 
								 | 
							
								$ yarn add caniuse-api
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Usage
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### `caniuse.getSupport(feature)`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								_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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								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 } }
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### `caniuse.isSupported(feature, browsers)`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								_ask if a feature is supported by some browsers_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								caniuse.isSupported('border-radius', 'ie 8, ie 9') // false
							 | 
						||
| 
								 | 
							
								caniuse.isSupported('border-radius', 'ie 9') // true
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### `caniuse.find(query)`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								_search for a caniuse feature name_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Ex:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								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' ]
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### `caniuse.getLatestStableBrowsers()`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								_get the current version for each browser_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								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' ]
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### `caniuse.getBrowserScope()`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								_returns a list of browsers currently used for the scope of operations_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								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' ]
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### `caniuse.setBrowserScope(browserscope)`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								_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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								caniuse.setBrowserScope('> 5%, last 2 versions, Firefox ESR, Opera 12.1')
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## [Changelog](CHANGELOG.md)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## [License](LICENSE)
							 |