From c4e5067c3c3628828b6232deccc8e8cda87e3f0c Mon Sep 17 00:00:00 2001 From: Paulo Cesar Date: Sun, 23 Aug 2015 15:54:58 -0300 Subject: [PATCH] add bowser --- bowser/bowser-tests.ts | 7 ++++++ bowser/bowser.d.ts | 54 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 bowser/bowser-tests.ts create mode 100644 bowser/bowser.d.ts diff --git a/bowser/bowser-tests.ts b/bowser/bowser-tests.ts new file mode 100644 index 0000000000..07d9f18cba --- /dev/null +++ b/bowser/bowser-tests.ts @@ -0,0 +1,7 @@ +import Bowser = require('bowser'); + +Bowser.msedge === true; +Bowser.test(['msie']) === true; +Bowser.a === Bowser.c; +Bowser.osversion > 10; +Bowser.osversion === '10.1A'; \ No newline at end of file diff --git a/bowser/bowser.d.ts b/bowser/bowser.d.ts new file mode 100644 index 0000000000..afd15fa5db --- /dev/null +++ b/bowser/bowser.d.ts @@ -0,0 +1,54 @@ +// Type definitions for Bowser 1.x +// Project: https://github.com/ded/bowser +// Definitions by: Paulo Cesar +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module 'bowser' { + var def: BowserModule.IBowser; + export = def; +} + +declare module BowserModule { + + export interface IBowserUA { + msie: boolean; + chrome: boolean; + webkit: boolean; + phantom: boolean; + opera: boolean; + safari: boolean; + android: boolean; + ios: boolean; + webos: boolean; + msedge: boolean; + seamonkey: boolean; + firefox: boolean; + yandexbrowser: boolean; + blackberry: boolean; + tablet: boolean; + mobile: boolean; + silk: boolean; + bada: boolean; + tizen: boolean; + windowsphone: boolean; + firefoxos: boolean; + gecko: boolean; + sailfish: boolean; + chromeBook: boolean; + /** Grade A browser */ + a: boolean; + /** Grade C browser */ + c: boolean; + /** Grade X browser */ + x: boolean; + name: string; + version: string; + osversion: string|number; + } + + export interface IBowser extends IBowserUA { + test(browserList: string[]): boolean; + _detect(ua: string): IBowser; + } + +}