diff --git a/types/browser-report/browser-report-tests.ts b/types/browser-report/browser-report-tests.ts new file mode 100644 index 0000000000..9f50b5b0f2 --- /dev/null +++ b/types/browser-report/browser-report-tests.ts @@ -0,0 +1,12 @@ +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); + }); +} \ 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..c5852aae97 --- /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..997b307339 --- /dev/null +++ b/types/browser-report/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "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