Skip to content

Commit

Permalink
Merge c882d03 into 122d4a9
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandercerutti committed Jan 19, 2019
2 parents 122d4a9 + c882d03 commit d25ace6
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 30 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ A browser detector. Because sometimes, there is no other way, and not even good

The library is made to help to detect what browser your user has and gives you a convenient API to filter the users somehow depending on their browsers.

_Please, note that this is an alpha version. Check out the [1.x](https://github.com/lancedikson/bowser/tree/v1.x) branch for a stable version._

**Changes of version 2.0**
The upcoming 2.0 version has drastically changed API. All available methods can be found in the `docs` folder from now on and on a webpage soon.

The version 2.0 has drastically changed API. All available methods can be found in the `docs` folder from now on and on a webpage soon.

_For legacy code, check out the [1.x](https://github.com/lancedikson/bowser/tree/v1.x) branch and install it through `npm install bowser@1.9.4`._


# Use cases

Expand Down
54 changes: 27 additions & 27 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ declare namespace Bowser {
* @param {boolean} skipParsing
*/

function getParser(UA: string, skipParsing?: boolean): Parser.Parser;
function getParser(UA: string, skipParsing?: boolean): Parser.Parser;

/**
* Creates a Parser instance and runs Parser.getResult immediately
Expand All @@ -26,28 +26,28 @@ declare namespace Bowser {

declare namespace Parser {
class Parser {
constructor(UA: string, skipParsing?: boolean);
constructor(UA: string, skipParsing?: boolean);

/**
* Get parsed browser object
* @return {BrowserDetails} Browser's details
*/

getBrowser(): BrowserDetails;
getBrowser(): BrowserDetails;

/**
* Get browser's name
* @return {String} Browser's name or an empty string
*/

getBrowserName(): string;
getBrowserName(): string;

/**
* Get browser's version
* @return {String} version of browser
*/

getBrowserVersion(): string;
getBrowserVersion(): string;

/**
* Get OS
Expand All @@ -60,57 +60,57 @@ declare namespace Parser {
* // }
*/

getOS(): OSDetails;
getOS(): OSDetails;

/**
* Get OS name
* @param {Boolean} [toLowerCase] return lower-cased value
* @return {String} name of the OS — macOS, Windows, Linux, etc.
*/

getOSName(toLowerCase?: boolean): string;
getOSName(toLowerCase?: boolean): string;

/**
* Get OS version
* @return {String} full version with dots ('10.11.12', '5.6', etc)
*/

getOSVersion(): string;
getOSVersion(): string;

/**
* Get parsed platform
* @returns {PlatformDetails}
*/

getPlatform(): PlatformDetails;
getPlatform(): PlatformDetails;

/**
* Get platform name
* @param {boolean} toLowerCase
*/

getPlatformType(toLowerCase?: boolean): string;
getPlatformType(toLowerCase?: boolean): string;

/**
* Get parsed engine
* @returns {EngineDetails}
*/

getEngine(): EngineDetails;
getEngine(): EngineDetails;

/**
* Get parsed result
* @return {ParsedResult}
*/

getResult(): ParsedResult;
getResult(): ParsedResult;

/**
* Get UserAgent string of current Parser instance
* @return {String} User-Agent String of the current <Parser> object
*/

getUA(): string;
getUA(): string;

/**
* Is anything? Check if the browser is called "anything",
Expand All @@ -119,41 +119,41 @@ declare namespace Parser {
* @returns {Boolean}
*/

is(anything: any): boolean;
is(anything: any): boolean;

/**
* Parse full information about the browser
*/

parse(): void;
parse(): void;

/**
* Get parsed browser object
* @returns {BrowserDetails}
*/

parseBrowser(): BrowserDetails;
parseBrowser(): BrowserDetails;

/**
* Get parsed engine
* @returns {EngineDetails}
*/

parseEngine(): EngineDetails;
parseEngine(): EngineDetails;

/**
* Parse OS and save it to this.parsedResult.os
* @returns {OSDetails}
*/

parseOS(): OSDetails;
parseOS(): OSDetails;

/**
* Get parsed platform
* @returns {PlatformDetails}
*/

parsePlatform(): PlatformDetails;
parsePlatform(): PlatformDetails;

/**
* Check if parsed browser matches certain conditions
Expand All @@ -174,15 +174,15 @@ declare namespace Parser {
* if (browser.check({desktop: { chrome: '>118.01.1322' } }))
*/

satisfies(checkTree: checkTree): boolean | undefined;
satisfies(checkTree: checkTree): boolean | undefined;

/**
* Check if any of the given values satifies `.is(anything)`
* @param {string[]} anythings
* @returns {boolean} true if at least one condition is satisfied, false otherwise.
*/

some(anythings: string[]): boolean | undefined;
some(anythings: string[]): boolean | undefined;

/**
* Test a UA string for a regexp
Expand All @@ -191,34 +191,34 @@ declare namespace Parser {
*/

test(regex: RegExp): boolean;
}
}

interface ParsedResult {
browser: BrowserDetails;
os: OSDetails;
platform: PlatformDetails;
engine: EngineDetails;
}
}

interface Details {
name?: string;
version?: string;
}
}

interface OSDetails extends Details {
versionName?: string;
}
}

interface PlatformDetails {
type?: string;
vendor?: string;
model?: string;
}
}

type BrowserDetails = Details;
type EngineDetails = Details;

interface checkTree {
interface checkTree {
[key: string]: any;
}
}

0 comments on commit d25ace6

Please sign in to comment.