Skip to content

Commit

Permalink
adding typescript.
Browse files Browse the repository at this point in the history
  • Loading branch information
vitaly-t committed Apr 14, 2016
1 parent 3df4ba6 commit c1b72da
Show file tree
Hide file tree
Showing 5 changed files with 123 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .gitignore
@@ -1,3 +1,5 @@
.idea/
node_modules/
coverage/
test/typescript/*.js
test/typescript/*.map
2 changes: 1 addition & 1 deletion 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": {
Expand Down
42 changes: 42 additions & 0 deletions test/typescript/basic.ts
@@ -0,0 +1,42 @@
/// <reference path="../../typescript/pg-monitor.d.ts" />

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);
19 changes: 19 additions & 0 deletions 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
/// <reference path="node_modules/pg-monitor/typescript/pg-monitor.d.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
59 changes: 59 additions & 0 deletions 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<string>, override?:boolean):void;

export function attach(options:{
options:Object,
events?:Array<string>,
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;
}

0 comments on commit c1b72da

Please sign in to comment.