From ffd486c5373bfbac125830746a57b5b5833b515e Mon Sep 17 00:00:00 2001 From: Paul Datsiuk Date: Tue, 27 Jun 2017 10:49:28 +0300 Subject: [PATCH 1/4] add typescript definition for browser-report --- types/browser-report/browser-report-tests.ts | 13 +++++ types/browser-report/index.d.ts | 56 ++++++++++++++++++++ types/browser-report/tsconfig.json | 22 ++++++++ 3 files changed, 91 insertions(+) create mode 100644 types/browser-report/browser-report-tests.ts create mode 100644 types/browser-report/index.d.ts create mode 100644 types/browser-report/tsconfig.json diff --git a/types/browser-report/browser-report-tests.ts b/types/browser-report/browser-report-tests.ts new file mode 100644 index 0000000000..11734d810c --- /dev/null +++ b/types/browser-report/browser-report-tests.ts @@ -0,0 +1,13 @@ +import 'browser-report'; + +function test_sync() { + var browserInfo = window.browserReportSync(); + console.log(browserInfo.browser.name); +} + +function test_async() { + window.browserReport((error, result) => { + console.log(result.ip + ' ' + result.browser.name); + debugger; + }); +} \ No newline at end of file diff --git a/types/browser-report/index.d.ts b/types/browser-report/index.d.ts new file mode 100644 index 0000000000..8c7dec2b5d --- /dev/null +++ b/types/browser-report/index.d.ts @@ -0,0 +1,56 @@ +// Type definitions for browser-report v2.2.9 +// Project: https://github.com/JTOne123/browser-report +// Definitions by: Paul Datsiuk +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +interface Window { + browserReport(result: (error: ErrorEvent, report: ReportResult) => any): void; + browserReportSync(): ReportResult; +} + +interface ReportResult { + "browser": { + "name": (string), + "version": (string) + }, + "cookies": (boolean), + "flash": { + "version": (string) + }, + "ip": (string), + "country": { + "name": (string), + "code": (string), + "city": (string), + "latitude" : (string), + "longitude": (string), + "timezone": (string) + }, + "java": { + "version": (string) + }, + "lang": (Array), + "os": { + "name": (string), + "version": (string) + }, + "screen": { + "colors": (number), + "dppx": (number), + "height": (number), + "width": (number) + }, + "scripts": (boolean), + "timestamp": (string), + "userAgent": (string), + "viewport": { + "height": (number), + "layout": { + "height": (number), + "width": (number) + } + "width": (number), + "zoom": (number) + } + "websockets": (boolean) +} \ No newline at end of file diff --git a/types/browser-report/tsconfig.json b/types/browser-report/tsconfig.json new file mode 100644 index 0000000000..fa2a017bdd --- /dev/null +++ b/types/browser-report/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "browser-report-tests.ts" + ] +} \ No newline at end of file From 130cf981c3e8026d44ad835c396cccb51e7dc567 Mon Sep 17 00:00:00 2001 From: Paul Datsiuk Date: Tue, 27 Jun 2017 10:56:25 +0300 Subject: [PATCH 2/4] fix test --- types/browser-report/browser-report-tests.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/types/browser-report/browser-report-tests.ts b/types/browser-report/browser-report-tests.ts index 11734d810c..9f50b5b0f2 100644 --- a/types/browser-report/browser-report-tests.ts +++ b/types/browser-report/browser-report-tests.ts @@ -8,6 +8,5 @@ function test_sync() { function test_async() { window.browserReport((error, result) => { console.log(result.ip + ' ' + result.browser.name); - debugger; }); } \ No newline at end of file From 2a104b3dcc8c5e1d49987541033b9a33a5372e09 Mon Sep 17 00:00:00 2001 From: Paul Datsiuk Date: Tue, 27 Jun 2017 11:08:12 +0300 Subject: [PATCH 3/4] add dom lib --- types/browser-report/tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/types/browser-report/tsconfig.json b/types/browser-report/tsconfig.json index fa2a017bdd..997b307339 100644 --- a/types/browser-report/tsconfig.json +++ b/types/browser-report/tsconfig.json @@ -2,7 +2,8 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es6" + "es6", + "dom" ], "noImplicitAny": true, "noImplicitThis": true, From 86e255d38bf3add28248d1a795ede453b81e93ac Mon Sep 17 00:00:00 2001 From: Paul Datsiuk Date: Wed, 28 Jun 2017 00:15:03 +0300 Subject: [PATCH 4/4] parentheses was deleted --- types/browser-report/index.d.ts | 56 ++++++++++++++++----------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/types/browser-report/index.d.ts b/types/browser-report/index.d.ts index 8c7dec2b5d..c5852aae97 100644 --- a/types/browser-report/index.d.ts +++ b/types/browser-report/index.d.ts @@ -10,47 +10,47 @@ interface Window { interface ReportResult { "browser": { - "name": (string), - "version": (string) + "name": string, + "version": string }, - "cookies": (boolean), + "cookies": boolean, "flash": { - "version": (string) + "version": string }, - "ip": (string), + "ip": string, "country": { - "name": (string), - "code": (string), - "city": (string), - "latitude" : (string), - "longitude": (string), - "timezone": (string) + "name": string, + "code": string, + "city": string, + "latitude" : string, + "longitude": string, + "timezone": string }, "java": { - "version": (string) + "version": string }, - "lang": (Array), + "lang": Array, "os": { - "name": (string), - "version": (string) + "name": string, + "version": string }, "screen": { - "colors": (number), - "dppx": (number), - "height": (number), - "width": (number) + "colors": number, + "dppx": number, + "height": number, + "width": number }, - "scripts": (boolean), - "timestamp": (string), - "userAgent": (string), + "scripts": boolean, + "timestamp": string, + "userAgent": string, "viewport": { - "height": (number), + "height": number, "layout": { - "height": (number), - "width": (number) + "height": number, + "width": number } - "width": (number), - "zoom": (number) + "width": number, + "zoom": number } - "websockets": (boolean) + "websockets": boolean } \ No newline at end of file