123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- // Type definitions for Bowser 1.x
- // Project: https://github.com/lancedikson/bowser
- // Definitions by: Paulo Cesar <https://github.com/pocesar>
- // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
- declare const bowser: bowser.IBowser;
- export = bowser;
- export as namespace bowser;
- declare namespace bowser {
- export interface IBowserPlatform {
- ipad: boolean;
- ipod: boolean;
- iphone: boolean;
- /** If a tablet device is detected, the flag tablet is set instead of mobile. */
- tablet: boolean;
- /** All detected mobile OSes are additionally flagged mobile, unless it's a tablet */
- mobile: boolean;
- }
- export interface IBowserOS {
- mac: boolean;
- /**other than Windows Phone */
- windows: boolean;
- windowsphone: boolean;
- /**other than android, chromeos, webos, tizen, and sailfish */
- linux: boolean;
- chromeos: boolean;
- android: boolean;
- /** also sets one of iphone/ipad/ipod */
- ios: boolean;
- blackberry: boolean;
- firefoxos: boolean;
- /** may also set touchpad */
- webos: boolean;
- bada: boolean;
- tizen: boolean;
- sailfish: boolean;
- }
- export interface IBowserVersions {
- chrome: boolean;
- chromium: boolean;
- firefox: boolean;
- msie: boolean;
- msedge: boolean;
- safari: boolean;
- android: boolean;
- ios: boolean;
- opera: boolean;
- samsungBrowser: boolean;
- phantom: boolean;
- blackberry: boolean;
- webos: boolean;
- silk: boolean;
- bada: boolean;
- tizen: boolean;
- seamonkey: boolean;
- sailfish: boolean;
- ucbrowser: boolean;
- qupzilla: boolean;
- vivaldi: boolean;
- sleipnir: boolean;
- kMeleon: boolean;
- whale: boolean;
- }
- export interface IBowserEngines {
- /** IE <= 11 */
- msie: boolean;
- /**Chrome 0-27, Android <4.4, iOs, BB, etc. */
- webkit: boolean;
- /**Chrome >=28, Android >=4.4, Opera, etc. */
- blink: boolean;
- /**Firefox, etc. */
- gecko: boolean;
- /** IE > 11 */
- msedge: boolean;
- }
- export interface IBowserGrade {
- /** Grade A browser */
- a: boolean;
- /** Grade C browser */
- c: boolean;
- /** Grade X browser */
- x: boolean;
- /** A human readable name for this browser. E.g. 'Chrome', '' */
- name: string;
- /** Version number for the browser. E.g. '32.0' */
- version: string|number;
- /** Name for this operating system. E.g. 'macOS' */
- osname: string;
- /** Version number for this operating system. E.g. '10.12.6' */
- osversion: string|number;
- }
- export interface IBowserDetection extends IBowserGrade, IBowserEngines, IBowserOS, IBowserVersions, IBowserPlatform { }
- export interface IBowserMinVersions {
- // { msie: "11", "firefox": "4" }
- [index: string]: string;
- }
- export interface IBowser extends IBowserDetection {
- (): IBowserDetection;
- test(browserList: string[]): boolean;
- _detect(ua: string): IBowser;
- detect(ua: string): IBowser;
- compareVersions(versions: string[]): number;
- check(minVersions: IBowserMinVersions, strictMode?: boolean|string, ua?: string): Boolean;
- isUnsupportedBrowser(minVersions: IBowserMinVersions, strictMode?: boolean|string, ua?: string): boolean;
- }
- }
|