mirror of
https://github.com/lancedikson/bowser
synced 2024-10-27 20:34:22 +00:00
docs(bowser): improve some JSDocs and Error class
This commit is contained in:
parent
41b66d5450
commit
dcadd16ed7
@ -2,7 +2,7 @@
|
|||||||
* Bowser - a browser detector
|
* Bowser - a browser detector
|
||||||
* https://github.com/lancedikson/bowser
|
* https://github.com/lancedikson/bowser
|
||||||
* MIT License | (c) Dustin Diaz 2012-2015
|
* MIT License | (c) Dustin Diaz 2012-2015
|
||||||
* MIT License | (c) Denis Demchenko 2015-2017
|
* MIT License | (c) Denis Demchenko 2015-2019
|
||||||
*/
|
*/
|
||||||
import Parser from './parser.js';
|
import Parser from './parser.js';
|
||||||
import {
|
import {
|
||||||
@ -12,21 +12,37 @@ import {
|
|||||||
PLATFORMS_MAP,
|
PLATFORMS_MAP,
|
||||||
} from './constants.js';
|
} from './constants.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @class
|
||||||
|
* @property name
|
||||||
|
*/
|
||||||
|
class BowserUAIsNotAStringError extends Error {
|
||||||
|
constructor(message) {
|
||||||
|
super(message);
|
||||||
|
this.name = 'BowserUAIsNotAStringError';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bowser class.
|
* Bowser class.
|
||||||
* Keep it simple as much as it can be.
|
* Keep it simple as much as it can be.
|
||||||
* It's supposed to work with collections of {@link Parser} instances
|
* It's supposed to work with collections of {@link Parser} instances
|
||||||
* rather then solve one-instance problems.
|
* rather then solve one-instance problems.
|
||||||
* All the one-instance stuff is located in Parser class.
|
* All the one-instance stuff is located in Parser class.
|
||||||
|
*
|
||||||
|
* @class
|
||||||
|
* @classdesc Bowser is a static object, that provides an API to the Parsers
|
||||||
|
* @hideconstructor
|
||||||
*/
|
*/
|
||||||
class Bowser {
|
class Bowser {
|
||||||
/**
|
/**
|
||||||
* Creates a {@link module:parser:Parser} instance
|
* Creates a {@link Parser} instance
|
||||||
*
|
*
|
||||||
* @param {String} UA UserAgent string
|
* @param {String} UA UserAgent string
|
||||||
* @param {Boolean} [skipParsing=false] same as skipParsing for {@link Parser}
|
* @param {Boolean} [skipParsing=false] Will make the Parser postpone parsing until you ask it
|
||||||
|
* explicitly. Same as `skipParsing` for {@link Parser}.
|
||||||
* @returns {Parser}
|
* @returns {Parser}
|
||||||
* @throws {Error} when UA is not a String
|
* @throws {BowserUAIsNotAStringError} when UA is not a String
|
||||||
*
|
*
|
||||||
* @example
|
* @example
|
||||||
* const parser = Bowser.getParser(window.navigator.userAgent);
|
* const parser = Bowser.getParser(window.navigator.userAgent);
|
||||||
@ -34,7 +50,7 @@ class Bowser {
|
|||||||
*/
|
*/
|
||||||
static getParser(UA, skipParsing = false) {
|
static getParser(UA, skipParsing = false) {
|
||||||
if (typeof UA !== 'string') {
|
if (typeof UA !== 'string') {
|
||||||
throw new Error('UserAgent should be a string');
|
throw new BowserUAIsNotAStringError('UserAgent should be a string');
|
||||||
}
|
}
|
||||||
return new Parser(UA, skipParsing);
|
return new Parser(UA, skipParsing);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user