Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed typings indentation and edited readme #281

Merged
merged 2 commits into from
Jan 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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;
}
}