From c1b72da5ff145247afede05c4c280a7512f20a95 Mon Sep 17 00:00:00 2001 From: Vitaly Tomilov Date: Thu, 14 Apr 2016 15:55:10 +0100 Subject: [PATCH] adding typescript. --- .gitignore | 2 ++ package.json | 2 +- test/typescript/basic.ts | 42 +++++++++++++++++++++++++++ typescript/README.md | 19 ++++++++++++ typescript/pg-monitor.d.ts | 59 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 test/typescript/basic.ts create mode 100644 typescript/README.md create mode 100644 typescript/pg-monitor.d.ts diff --git a/.gitignore b/.gitignore index 14d4bb8..7ba89d3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .idea/ node_modules/ coverage/ +test/typescript/*.js +test/typescript/*.map diff --git a/package.json b/package.json index f18760e..4a41cee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pg-monitor", - "version": "0.4.6", + "version": "0.5.0", "description": "Event monitor for pg-promise.", "main": "lib/index.js", "scripts": { diff --git a/test/typescript/basic.ts b/test/typescript/basic.ts new file mode 100644 index 0000000..9f7d66e --- /dev/null +++ b/test/typescript/basic.ts @@ -0,0 +1,42 @@ +/// + +import * as pgMonitor from "pg-monitor"; + +var options = {}; + +pgMonitor.attach(options, ['query'], true); + +pgMonitor.attach({ + options: options, + events: [], + override: true +}); + +pgMonitor.detach(); + +pgMonitor.log = function (msg, info) { + info.display = false; +}; + +pgMonitor.setTheme('matrix'); + +pgMonitor.setTheme({ + time: null, + value: null, + cn: null, + tx: null, + paramTitle: null, + errorTitle: null, + query: null, + special: null, + error: null +}); + +pgMonitor.detailed = false; + +pgMonitor.connect({}); +pgMonitor.disconnect({}); +pgMonitor.query({}); +pgMonitor.task({}); +pgMonitor.transact({}); +pgMonitor.error('ops', {}, true); diff --git a/typescript/README.md b/typescript/README.md new file mode 100644 index 0000000..c7b63c8 --- /dev/null +++ b/typescript/README.md @@ -0,0 +1,19 @@ +### TypeScript for pg-monitor + +Complete TypeScript declarations for [pg-monitor] version 0.5.0 or later. + +#### Usage + +```ts +/// + +import * as pgMonitor from "pg-monitor"; + +var pgOptions = { + // Initialization Options object that's used for initializing pg-promise +}; + +pgMonitor.attach(pgOptions); +``` + +[pg-monitor]:https://github.com/vitaly-t/pg-monitor diff --git a/typescript/pg-monitor.d.ts b/typescript/pg-monitor.d.ts new file mode 100644 index 0000000..eac5db7 --- /dev/null +++ b/typescript/pg-monitor.d.ts @@ -0,0 +1,59 @@ +//////////////////////////////////////// +// Requires pg-monitor v0.5.0 or later. +//////////////////////////////////////// + +declare module "pg-monitor" { + + interface ColorTheme { + time:Function; + value:Function; + cn:Function; + tx:Function; + paramTitle:Function; + errorTitle:Function; + query:Function; + special:Function; + error:Function; + } + + interface EventInfo { + time:Date; + text:string; + event:string; + display:boolean; + } + + namespace pgMonitor { + + export function attach(options:Object, events?:Array, override?:boolean):void; + + export function attach(options:{ + options:Object, + events?:Array, + override?:boolean + }):void; + + export function detach():void; + + export function setTheme(theme:string|ColorTheme):void; + + export function log(msg:string, info:EventInfo):void; + + export var detailed:boolean; + + export function connect(client:Object, detailed?:boolean):void; + + export function disconnect(client:Object, detailed?:boolean):void; + + export function query(e:Object, detailed?:boolean):void; + + export function task(e:Object):void; + + export function transact(e:Object):void; + + export function error(err:any, e:Object, detailed?:boolean):void; + + } + + export = pgMonitor; +}