From 8e583399089b3902fa4cb325a1f4d330f7251f4e Mon Sep 17 00:00:00 2001 From: vladlv Date: Tue, 11 Apr 2017 16:53:47 +0300 Subject: [PATCH 1/3] Adding TypeScript typings form Debessmann monitoring system. --- types/debessmann/debessmann-tests.ts | 0 types/debessmann/index.d.ts | 29 ++++++++++++++++++++++++++++ types/debessmann/tsconfig.json | 22 +++++++++++++++++++++ types/debessmann/tslint.json | 1 + 4 files changed, 52 insertions(+) create mode 100644 types/debessmann/debessmann-tests.ts create mode 100644 types/debessmann/index.d.ts create mode 100644 types/debessmann/tsconfig.json create mode 100644 types/debessmann/tslint.json diff --git a/types/debessmann/debessmann-tests.ts b/types/debessmann/debessmann-tests.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/types/debessmann/index.d.ts b/types/debessmann/index.d.ts new file mode 100644 index 0000000000..63dec7da13 --- /dev/null +++ b/types/debessmann/index.d.ts @@ -0,0 +1,29 @@ +// Type definitions for debessmann 0.1 +// Project: https://github.com/fs535/debessmann#readme +// Definitions by: Vladislavs Korehovs +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export class EventId { + time: Date; + seq: number; +} + +export class Event { + _id: EventId; + id: string; + timestamp: string; + payload: any; + headers: { [key:string]:string; }; + metrics: { [key:string]:number }; +} + +export class DM { + init(endpoint:string, authkey:string): void ; + send(data:Event): void ; +} + +declare global { + interface Window { + dm: DM; + } +} diff --git a/types/debessmann/tsconfig.json b/types/debessmann/tsconfig.json new file mode 100644 index 0000000000..745457f1b5 --- /dev/null +++ b/types/debessmann/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "debessmann-tests.ts" + ] +} diff --git a/types/debessmann/tslint.json b/types/debessmann/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/types/debessmann/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" } From 22c9625421f5a594094f5586f1d141024e4109ee Mon Sep 17 00:00:00 2001 From: vladlv Date: Tue, 11 Apr 2017 17:17:50 +0300 Subject: [PATCH 2/3] fixing lint --- types/debessmann/debessmann-tests.ts | 0 types/debessmann/index.d.ts | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 types/debessmann/debessmann-tests.ts diff --git a/types/debessmann/debessmann-tests.ts b/types/debessmann/debessmann-tests.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/types/debessmann/index.d.ts b/types/debessmann/index.d.ts index 63dec7da13..b99dc2809b 100644 --- a/types/debessmann/index.d.ts +++ b/types/debessmann/index.d.ts @@ -13,13 +13,13 @@ export class Event { id: string; timestamp: string; payload: any; - headers: { [key:string]:string; }; - metrics: { [key:string]:number }; + headers: { [key: string]: string; }; + metrics: { [key: string]: number; }; } export class DM { - init(endpoint:string, authkey:string): void ; - send(data:Event): void ; + init(endpoint: string, authkey: string): void; + send(data: Event): void; } declare global { From 9d33294f1d347679d87986e389831c7393014a8a Mon Sep 17 00:00:00 2001 From: vladlv Date: Wed, 12 Apr 2017 10:29:29 +0300 Subject: [PATCH 3/3] fioxing lint errors, and adding unit tests! --- types/debessmann/debessmann-tests.ts | 13 +++++++++++++ types/debessmann/index.d.ts | 8 ++++---- 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 types/debessmann/debessmann-tests.ts diff --git a/types/debessmann/debessmann-tests.ts b/types/debessmann/debessmann-tests.ts new file mode 100644 index 0000000000..3e44ff8cd6 --- /dev/null +++ b/types/debessmann/debessmann-tests.ts @@ -0,0 +1,13 @@ +import {DM, Event, EventId} from 'debessmann'; + +let eventId: EventId = {seq: 0, time: new Date()}; +let e: Event = {_id: eventId, headers: {'header1': 'header1Val'}}; + +let dm: DM = { + init(endpoint: string, auth: string): void { + }, + send(data: Event): void { + } +}; +dm.init("ep.debessmann.com", "AUTHID"); +dm.send(e); diff --git a/types/debessmann/index.d.ts b/types/debessmann/index.d.ts index b99dc2809b..acb415faa7 100644 --- a/types/debessmann/index.d.ts +++ b/types/debessmann/index.d.ts @@ -10,11 +10,11 @@ export class EventId { export class Event { _id: EventId; - id: string; - timestamp: string; - payload: any; + timestamp?: string; + id?: string; + payload?: any; headers: { [key: string]: string; }; - metrics: { [key: string]: number; }; + metrics?: { [key: string]: number; }; } export class DM {