mirror of
https://github.com/lancedikson/bowser
synced 2024-10-27 20:34:22 +00:00
Fix the docs
This commit is contained in:
parent
cab0d0d946
commit
a87ccad88a
@ -105,15 +105,15 @@ const isValidBrowser = browser.satisfies({
|
|||||||
|
|
||||||
// per platform (mobile, desktop or tablet)
|
// per platform (mobile, desktop or tablet)
|
||||||
mobile: {
|
mobile: {
|
||||||
safari: '>9',
|
safari: '>=9',
|
||||||
'android browser': '>3.10'
|
'android browser': '>3.10'
|
||||||
},
|
},
|
||||||
|
|
||||||
// or in general
|
// or in general
|
||||||
chrome: ">20.1.1432",
|
chrome: "~20.1.1432",
|
||||||
firefox: ">31",
|
firefox: ">31",
|
||||||
opera: ">22"
|
opera: ">=22"
|
||||||
|
|
||||||
// also supports equality operator
|
// also supports equality operator
|
||||||
chrome: "=20.1.1432", // will match particular build only
|
chrome: "=20.1.1432", // will match particular build only
|
||||||
|
|
||||||
|
@ -572,7 +572,7 @@ const result = parser.getResult();</code></pre>
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Oct 19 2018 19:31:53 GMT+0200 (Central European Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sat Jan 19 2019 15:43:45 GMT+0200 (EET) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -1564,7 +1564,7 @@ like <a href="Parser.html#parseBrowser">Parser#parseBrowser</a> or <a href="Pars
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="parser.js.html">parser.js</a>, <a href="parser.js.html#line438">line 438</a>
|
<a href="parser.js.html">parser.js</a>, <a href="parser.js.html#line446">line 446</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -2211,7 +2211,7 @@ the OS called "anything" or the platform called "anything"</
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="parser.js.html">parser.js</a>, <a href="parser.js.html#line340">line 340</a>
|
<a href="parser.js.html">parser.js</a>, <a href="parser.js.html#line339">line 339</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -2382,7 +2382,7 @@ Returns <code>undefined</code> when the browser is no described in the checkTree
|
|||||||
|
|
||||||
<dt class="tag-source">Source:</dt>
|
<dt class="tag-source">Source:</dt>
|
||||||
<dd class="tag-source"><ul class="dummy"><li>
|
<dd class="tag-source"><ul class="dummy"><li>
|
||||||
<a href="parser.js.html">parser.js</a>, <a href="parser.js.html#line447">line 447</a>
|
<a href="parser.js.html">parser.js</a>, <a href="parser.js.html#line455">line 455</a>
|
||||||
</li></ul></dd>
|
</li></ul></dd>
|
||||||
|
|
||||||
|
|
||||||
@ -2422,7 +2422,7 @@ Returns <code>undefined</code> when the browser is no described in the checkTree
|
|||||||
|
|
||||||
|
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<p>Check if any of the given values satifies this.is(anything)</p>
|
<p>Check if any of the given values satisfies this.is(anything)</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -2687,7 +2687,7 @@ Returns <code>undefined</code> when the browser is no described in the checkTree
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Oct 19 2018 19:31:53 GMT+0200 (Central European Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sat Jan 19 2019 15:43:45 GMT+0200 (EET) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -105,7 +105,7 @@ export default Bowser;
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Oct 19 2018 19:31:53 GMT+0200 (Central European Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sat Jan 19 2019 15:43:45 GMT+0200 (EET) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -766,7 +766,7 @@ like <code>"iPhone"</code> or <code>"Kindle Fire HD 7"</code
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Oct 19 2018 19:31:53 GMT+0200 (Central European Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sat Jan 19 2019 15:43:45 GMT+0200 (EET) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -62,9 +62,10 @@
|
|||||||
<p><em>Please, note that this is an alpha version. Check out the <a href="https://github.com/lancedikson/bowser/tree/v1.x">1.x</a> branch for a stable version.</em></p>
|
<p><em>Please, note that this is an alpha version. Check out the <a href="https://github.com/lancedikson/bowser/tree/v1.x">1.x</a> branch for a stable version.</em></p>
|
||||||
<p><strong>Changes of version 2.0</strong>
|
<p><strong>Changes of version 2.0</strong>
|
||||||
The upcoming 2.0 version has drastically changed API. All available methods can be found in the <code>docs</code> folder from now on and on a webpage soon.</p>
|
The upcoming 2.0 version has drastically changed API. All available methods can be found in the <code>docs</code> folder from now on and on a webpage soon.</p>
|
||||||
<h1>Use cases</h1><p>First of all, require the library:</p>
|
<h1>Use cases</h1><p>First of all, require the library. This is a UMD Module, so it will work for AMD, Typescript and CommonJS module systems.</p>
|
||||||
<pre class="prettyprint source lang-javascript"><code>const bowser = require('bowser');</code></pre><p>By default, <code>require('bowser')</code> requires the <em>ES5 version of files</em>, which
|
<pre class="prettyprint source lang-javascript"><code>const Bowser = require("bowser"); // CommonJS
|
||||||
<strong>do not</strong> include any polyfills.</p>
|
|
||||||
|
import * as Bowser from "bowser" // Typescript</code></pre><p>By default, the exported version is the <em>ES5 transpiled version</em>, which <strong>do not</strong> include any polyfills.</p>
|
||||||
<p>In case you don't use your own <code>babel-polyfill</code> you may need to have pre-built bundle with all needed polyfills.
|
<p>In case you don't use your own <code>babel-polyfill</code> you may need to have pre-built bundle with all needed polyfills.
|
||||||
So, for you it's suitable to require bowser like this: <code>require('bowser/bundled')</code>.
|
So, for you it's suitable to require bowser like this: <code>require('bowser/bundled')</code>.
|
||||||
As the result, you get a ES5 version of bowser with <code>babel-polyfill</code> bundled together.</p>
|
As the result, you get a ES5 version of bowser with <code>babel-polyfill</code> bundled together.</p>
|
||||||
@ -83,6 +84,7 @@ impression.brVer = browserInfo.version;</code></pre><p>or</p>
|
|||||||
<pre class="prettyprint source lang-javascript"><code>const browser = bowser.getParser(window.navigator.userAgent);
|
<pre class="prettyprint source lang-javascript"><code>const browser = bowser.getParser(window.navigator.userAgent);
|
||||||
impression.userTechData = browser.parse();
|
impression.userTechData = browser.parse();
|
||||||
console.log(impression.userTechData);
|
console.log(impression.userTechData);
|
||||||
|
|
||||||
// outputs
|
// outputs
|
||||||
{
|
{
|
||||||
browser: {
|
browser: {
|
||||||
@ -115,14 +117,14 @@ const isValidBrowser = browser.satisfies({
|
|||||||
|
|
||||||
// per platform (mobile, desktop or tablet)
|
// per platform (mobile, desktop or tablet)
|
||||||
mobile: {
|
mobile: {
|
||||||
safari: '>9',
|
safari: '>=9',
|
||||||
'android browser': '>3.10'
|
'android browser': '>3.10'
|
||||||
},
|
},
|
||||||
|
|
||||||
// or in general
|
// or in general
|
||||||
chrome: ">20.1.1432",
|
chrome: "~20.1.1432",
|
||||||
firefox: ">31",
|
firefox: ">31",
|
||||||
opera: ">22"
|
opera: ">=22"
|
||||||
|
|
||||||
// also supports equality operator
|
// also supports equality operator
|
||||||
chrome: "=20.1.1432", // will match particular build only
|
chrome: "=20.1.1432", // will match particular build only
|
||||||
@ -134,8 +136,9 @@ const isValidBrowser = browser.satisfies({
|
|||||||
Thus, you can define OS or platform specific rules and they will have more priority in the end.</p>
|
Thus, you can define OS or platform specific rules and they will have more priority in the end.</p>
|
||||||
<p>More of API and possibilities you will find in the <code>docs</code> folder.</p>
|
<p>More of API and possibilities you will find in the <code>docs</code> folder.</p>
|
||||||
<h1>Contributing</h1><p>If you'd like to contribute a change to bowser, modify the files in <code>src/</code>, then run the following (you'll need node + npm installed):</p>
|
<h1>Contributing</h1><p>If you'd like to contribute a change to bowser, modify the files in <code>src/</code>, then run the following (you'll need node + npm installed):</p>
|
||||||
<pre class="prettyprint source lang-sh"><code>$ npm install
|
<pre class="prettyprint source lang-sh"><code>$ npm install #build
|
||||||
$ npm test</code></pre><h3>Adding tests</h3><p>See the list in <code>test/acceptance/useragentstrings.yml</code> with example user agents and their expected bowser object.</p>
|
$ npm test #run tests
|
||||||
|
$ npm run lint #check lint rules</code></pre><h3>Adding tests</h3><p>See the list in <code>test/acceptance/useragentstrings.yml</code> with example user agents and their expected bowser object.</p>
|
||||||
<p>Whenever you add support for new browsers or notice a bug / mismatch, please update the list and
|
<p>Whenever you add support for new browsers or notice a bug / mismatch, please update the list and
|
||||||
check if all tests are still passing.</p>
|
check if all tests are still passing.</p>
|
||||||
<h3>Similar Projects</h3><ul>
|
<h3>Similar Projects</h3><ul>
|
||||||
@ -156,7 +159,7 @@ check if all tests are still passing.</p>
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Oct 19 2018 19:31:53 GMT+0200 (Central European Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sat Jan 19 2019 15:43:45 GMT+0200 (EET) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -358,8 +358,7 @@ class Parser {
|
|||||||
* @return {ParsedResult}
|
* @return {ParsedResult}
|
||||||
*/
|
*/
|
||||||
getResult() {
|
getResult() {
|
||||||
/* TODO: Make this function pure, return a new object instead of the reference */
|
return Object.assign({}, this.parsedResult);
|
||||||
return this.parsedResult;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -438,7 +437,7 @@ class Parser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
compareVersion(version) {
|
compareVersion(version) {
|
||||||
let expectedResult = 0;
|
let expectedResults = [0];
|
||||||
let comparableVersion = version;
|
let comparableVersion = version;
|
||||||
let isLoose = false;
|
let isLoose = false;
|
||||||
|
|
||||||
@ -448,12 +447,19 @@ class Parser {
|
|||||||
return void 0;
|
return void 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (version[0] === '>') {
|
if (version[0] === '>' || version[0] === '<') {
|
||||||
expectedResult = 1;
|
|
||||||
comparableVersion = version.substr(1);
|
|
||||||
} else if (version[0] === '<') {
|
|
||||||
expectedResult = -1;
|
|
||||||
comparableVersion = version.substr(1);
|
comparableVersion = version.substr(1);
|
||||||
|
if (version[1] === '=') {
|
||||||
|
isLoose = true;
|
||||||
|
comparableVersion = version.substr(2);
|
||||||
|
} else {
|
||||||
|
expectedResults = [];
|
||||||
|
}
|
||||||
|
if (version[0] === '>') {
|
||||||
|
expectedResults.push(1);
|
||||||
|
} else {
|
||||||
|
expectedResults.push(-1);
|
||||||
|
}
|
||||||
} else if (version[0] === '=') {
|
} else if (version[0] === '=') {
|
||||||
comparableVersion = version.substr(1);
|
comparableVersion = version.substr(1);
|
||||||
} else if (version[0] === '~') {
|
} else if (version[0] === '~') {
|
||||||
@ -461,7 +467,9 @@ class Parser {
|
|||||||
comparableVersion = version.substr(1);
|
comparableVersion = version.substr(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return compareVersions(currentBrowserVersion, comparableVersion, isLoose) === expectedResult;
|
return expectedResults.indexOf(
|
||||||
|
compareVersions(currentBrowserVersion, comparableVersion, isLoose),
|
||||||
|
) > -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
isOS(osName) {
|
isOS(osName) {
|
||||||
@ -483,7 +491,7 @@ class Parser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if any of the given values satifies this.is(anything)
|
* Check if any of the given values satisfies this.is(anything)
|
||||||
* @param {String[]} anythings
|
* @param {String[]} anythings
|
||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
*/
|
*/
|
||||||
@ -507,7 +515,7 @@ export default Parser;
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Oct 19 2018 19:31:53 GMT+0200 (Central European Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sat Jan 19 2019 15:43:45 GMT+0200 (EET) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -94,6 +94,50 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Android version name
|
||||||
|
* 1.5 - Cupcake
|
||||||
|
* 1.6 - Donut
|
||||||
|
* 2.0 - Eclair
|
||||||
|
* 2.1 - Eclair
|
||||||
|
* 2.2 - Froyo
|
||||||
|
* 2.x - Gingerbread
|
||||||
|
* 3.x - Honeycomb
|
||||||
|
* 4.0 - Ice Cream Sandwich
|
||||||
|
* 4.1 - Jelly Bean
|
||||||
|
* 4.4 - KitKat
|
||||||
|
* 5.x - Lollipop
|
||||||
|
* 6.x - Marshmallow
|
||||||
|
* 7.x - Nougat
|
||||||
|
* 8.x - Oreo
|
||||||
|
* 9.x - ?
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* getAndroidVersionName("7.0") // 'Nougat'
|
||||||
|
*
|
||||||
|
* @param {string} version
|
||||||
|
* @return {string} versionName
|
||||||
|
*/
|
||||||
|
static getAndroidVersionName(version) {
|
||||||
|
const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);
|
||||||
|
v.push(0);
|
||||||
|
if (v[0] === 1 && v[1] < 5) return undefined;
|
||||||
|
if (v[0] === 1 && v[1] < 6) return 'Cupcake';
|
||||||
|
if (v[0] === 1 && v[1] >= 6) return 'Donut';
|
||||||
|
if (v[0] === 2 && v[1] < 2) return 'Eclair';
|
||||||
|
if (v[0] === 2 && v[1] === 2) return 'Froyo';
|
||||||
|
if (v[0] === 2 && v[1] > 2) return 'Gingerbread';
|
||||||
|
if (v[0] === 3) return 'Honeycomb';
|
||||||
|
if (v[0] === 4 && v[1] < 1) return 'Ice Cream Sandwich';
|
||||||
|
if (v[0] === 4 && v[1] < 4) return 'Jelly Bean';
|
||||||
|
if (v[0] === 4 && v[1] >= 4) return 'KitKat';
|
||||||
|
if (v[0] === 5) return 'Lollipop';
|
||||||
|
if (v[0] === 6) return 'Marshmallow';
|
||||||
|
if (v[0] === 7) return 'Nougat';
|
||||||
|
if (v[0] === 8) return 'Oreo';
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get version precisions count
|
* Get version precisions count
|
||||||
*
|
*
|
||||||
@ -203,7 +247,7 @@ module.exports = Utils;
|
|||||||
<br class="clear">
|
<br class="clear">
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Oct 19 2018 19:31:53 GMT+0200 (Central European Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sat Jan 19 2019 15:43:45 GMT+0200 (EET) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>prettyPrint();</script>
|
<script>prettyPrint();</script>
|
||||||
|
@ -448,7 +448,7 @@ class Parser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if any of the given values satifies this.is(anything)
|
* Check if any of the given values satisfies this.is(anything)
|
||||||
* @param {String[]} anythings
|
* @param {String[]} anythings
|
||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user