mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-11 12:30:18 +00:00
nsqjs: adds tslint.json and fixes definitions. (#20437)
* Fixes event definitions. * Fixes parameter definition. * Adds new tests. * Fixes lint errors.
This commit is contained in:
committed by
Wesley Wigham
parent
1031351010
commit
b3c8a9c24d
Vendored
+98
-126
@@ -1,4 +1,4 @@
|
||||
// Type definitions for nsqjs 0.8.4
|
||||
// Type definitions for nsqjs 0.9
|
||||
// Project: https://github.com/dudleycarr/nsqjs
|
||||
// Definitions by: Robert Kania <https://github.com/cezaryrk>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
@@ -7,138 +7,110 @@
|
||||
|
||||
import * as events from 'events';
|
||||
|
||||
export = nsqjs
|
||||
export class Message extends events.EventEmitter {
|
||||
static BACKOFF: string;
|
||||
static RESPOND: string;
|
||||
static FINISH: number;
|
||||
static REQUEUE: number;
|
||||
static TOUCH: number;
|
||||
|
||||
readonly id: string;
|
||||
body: any;
|
||||
hasResponded: boolean;
|
||||
timestamp: number;
|
||||
|
||||
declare namespace nsqjs {
|
||||
constructor(id: string, timestamp: number, attempts: number, body: any,
|
||||
requeueDelay: number, msgTimeout: number, maxMsgTimeout: number);
|
||||
|
||||
json(): any;
|
||||
|
||||
export enum RESPONSE_TYPE {
|
||||
FINISH = 0,
|
||||
REQUEUE = 1,
|
||||
TOUCH = 2
|
||||
}
|
||||
timeUntilTimeout(hard?: boolean): number;
|
||||
|
||||
export class Message extends events.EventEmitter {
|
||||
finish(): any;
|
||||
|
||||
static BACKOFF: string;
|
||||
static RESPOND: string;
|
||||
static FINISH: number;
|
||||
static REQUEUE: number;
|
||||
static TOUCH: number;
|
||||
requeue(delay?: number, backoff?: boolean): any;
|
||||
|
||||
readonly id: string;
|
||||
body: any;
|
||||
hasResponded: boolean;
|
||||
timestamp: number;
|
||||
|
||||
|
||||
constructor(id: string, timestamp: number, attempts: number, body: any,
|
||||
requeueDelay: number, msgTimeout: number, maxMsgTimeout: number);
|
||||
|
||||
json(): any;
|
||||
|
||||
timeUntilTimeout(hard?: boolean): number;
|
||||
|
||||
finish(): any;
|
||||
|
||||
requeue(delay: number, backoff: string): any;
|
||||
|
||||
touch(): any;
|
||||
|
||||
respond(responseType: RESPONSE_TYPE, wireData: any): any;
|
||||
|
||||
}
|
||||
|
||||
export class Writer extends events.EventEmitter {
|
||||
|
||||
readonly nsqdHost: string
|
||||
readonly nsqdPort: number
|
||||
|
||||
static READY: string;
|
||||
static CLOSED: string;
|
||||
static ERROR: string;
|
||||
|
||||
constructor(nsqdHost: string, nsqdPort: number, options?: IConnectionConfigOptions);
|
||||
|
||||
connect(): any;
|
||||
|
||||
publish(topic: string, msgs: any, listener?: (err: Error) => void): any;
|
||||
|
||||
close(): any;
|
||||
|
||||
on(event: string, listener: Function): this;
|
||||
on(event: "ready", listener: () => void): void;
|
||||
on(event: "closed", listener: () => void): void;
|
||||
on(event: "error", listener: (err: Error) => void): void;
|
||||
on(event: "connection_error", listener: (err: Error) => void): void;
|
||||
|
||||
}
|
||||
|
||||
export class Reader extends events.EventEmitter {
|
||||
|
||||
static ERROR: string;
|
||||
static MESSAGE: string;
|
||||
static DISCARD: string;
|
||||
static NSQD_CONNECTED: string;
|
||||
static NSQD_CLOSED: string;
|
||||
|
||||
constructor(topic: string, channel: any, options?: IReaderConnectionConfigOptions);
|
||||
|
||||
connect(): any;
|
||||
|
||||
close(): any;
|
||||
|
||||
pause(): any;
|
||||
|
||||
unpause(): any;
|
||||
|
||||
isPaused(): boolean;
|
||||
|
||||
queryLookupd(): any;
|
||||
|
||||
connectToNSQD(host: string, port: number): any;
|
||||
|
||||
handleMessage(message: any): any;
|
||||
|
||||
on(event: string, listener: Function): this;
|
||||
on(event: "nsqd_connected", listener: (host: string, port: number) => void): void;
|
||||
on(event: "nsqd_closed", listener: (host: string, port: number) => void): void;
|
||||
on(event: "message", listener: (message: Message) => void): void;
|
||||
on(event: "discard", listener: (message: Message) => void): void;
|
||||
on(event: "error", listener: (err: Error) => void): void;
|
||||
on(event: "connection_error", listener: (err: Error) => void): void;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
interface IConnectionConfigOptions {
|
||||
authSecret?: string,
|
||||
clientId?: string,
|
||||
deflate?: boolean,
|
||||
deflateLevel?: number,
|
||||
heartbeatInterval?: number,
|
||||
maxInFlight?: number,
|
||||
messageTimeout?: number,
|
||||
outputBufferSize?: number,
|
||||
outputBufferTimeout?: number,
|
||||
requeueDelay?: number,
|
||||
sampleRate?: number,
|
||||
snappy?: boolean,
|
||||
tls?: boolean,
|
||||
tlsVerification?: boolean
|
||||
}
|
||||
|
||||
interface IReaderConnectionConfigOptions extends IConnectionConfigOptions {
|
||||
lookupdHTTPAddresses?: string | string[],
|
||||
lookupdPollInterval?: number,
|
||||
lookupdPollJitter?: number,
|
||||
name?: string,
|
||||
nsqdTCPAddresses?: string | string[],
|
||||
maxAttempts?: number,
|
||||
maxBackoffDuration?: number
|
||||
}
|
||||
touch(): any;
|
||||
|
||||
respond(responseType: number, wireData: Buffer): any;
|
||||
|
||||
on(event: "backoff", listener: () => void): this;
|
||||
on(event: "respond", listener: (responseType: number, wireData: Buffer) => void): this;
|
||||
}
|
||||
|
||||
export class Writer extends events.EventEmitter {
|
||||
readonly nsqdHost: string;
|
||||
readonly nsqdPort: number;
|
||||
|
||||
static READY: string;
|
||||
static CLOSED: string;
|
||||
static ERROR: string;
|
||||
|
||||
constructor(nsqdHost: string, nsqdPort: number, options?: ConnectionConfigOptions);
|
||||
|
||||
connect(): any;
|
||||
|
||||
publish(topic: string, msgs: any, listener?: (err: Error) => void): any;
|
||||
|
||||
close(): any;
|
||||
|
||||
on(event: "ready" | "closed", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
}
|
||||
|
||||
export class Reader extends events.EventEmitter {
|
||||
static ERROR: string;
|
||||
static MESSAGE: string;
|
||||
static DISCARD: string;
|
||||
static NSQD_CONNECTED: string;
|
||||
static NSQD_CLOSED: string;
|
||||
|
||||
constructor(topic: string, channel: any, options?: ReaderConnectionConfigOptions);
|
||||
|
||||
connect(): any;
|
||||
|
||||
close(): any;
|
||||
|
||||
pause(): any;
|
||||
|
||||
unpause(): any;
|
||||
|
||||
isPaused(): boolean;
|
||||
|
||||
queryLookupd(): any;
|
||||
|
||||
connectToNSQD(host: string, port: number): any;
|
||||
|
||||
handleMessage(message: any): any;
|
||||
|
||||
on(event: "nsqd_connected" | "nsqd_closed", listener: (host: string, port: number) => void): this;
|
||||
on(event: "message" | "discard", listener: (message: Message) => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
}
|
||||
|
||||
export interface ConnectionConfigOptions {
|
||||
authSecret?: string;
|
||||
clientId?: string;
|
||||
deflate?: boolean;
|
||||
deflateLevel?: number;
|
||||
heartbeatInterval?: number;
|
||||
maxInFlight?: number;
|
||||
messageTimeout?: number;
|
||||
outputBufferSize?: number;
|
||||
outputBufferTimeout?: number;
|
||||
requeueDelay?: number;
|
||||
sampleRate?: number;
|
||||
snappy?: boolean;
|
||||
tls?: boolean;
|
||||
tlsVerification?: boolean;
|
||||
}
|
||||
|
||||
export interface ReaderConnectionConfigOptions extends ConnectionConfigOptions {
|
||||
lookupdHTTPAddresses?: string | string[];
|
||||
lookupdPollInterval?: number;
|
||||
lookupdPollJitter?: number;
|
||||
name?: string;
|
||||
nsqdTCPAddresses?: string | string[];
|
||||
maxAttempts?: number;
|
||||
maxBackoffDuration?: number;
|
||||
}
|
||||
|
||||
+40
-42
@@ -1,52 +1,50 @@
|
||||
import nsqjs = require("nsqjs")
|
||||
import nsqjs = require('nsqjs');
|
||||
|
||||
|
||||
/*
|
||||
* Enable reader
|
||||
*/
|
||||
|
||||
let reader = new nsqjs.Reader("sample_topic", 'test_channel', {
|
||||
nsqdTCPAddresses: '127.0.0.1:4150',
|
||||
//lookupdHTTPAddresses: ['127.0.0.1:4161']
|
||||
})
|
||||
reader.connect()
|
||||
|
||||
|
||||
reader.on("nsqd_connected", function (err: Error) {
|
||||
console.log('reader connected => ', err)
|
||||
})
|
||||
|
||||
reader.on('message', function (msg: nsqjs.Message) {
|
||||
console.log('Received message [%s]: %s', msg.id, msg.body.toString());
|
||||
msg.finish();
|
||||
// Reader
|
||||
const reader = new nsqjs.Reader('sample_topic', 'test_channel', {
|
||||
nsqdTCPAddresses: '127.0.0.1:4150'
|
||||
});
|
||||
|
||||
reader.connect();
|
||||
reader.pause();
|
||||
reader.unpause();
|
||||
reader.isPaused();
|
||||
reader.close();
|
||||
|
||||
/*
|
||||
* Enable writer
|
||||
*/
|
||||
reader.on('nsqd_connected', (host, port) => {});
|
||||
reader.on('nsqd_closed', (host, port) => {});
|
||||
reader.on('error', error => {});
|
||||
reader.on('discard', message => {});
|
||||
|
||||
reader.on('message', message => {
|
||||
console.log('Received message [%s]', message.id);
|
||||
|
||||
message.body.toString();
|
||||
message.json();
|
||||
|
||||
message.requeue();
|
||||
message.requeue(100);
|
||||
message.requeue(100, false);
|
||||
|
||||
message.finish();
|
||||
|
||||
message.on('backoff', () => {});
|
||||
message.on('respond', (responseType, wireData) => {});
|
||||
});
|
||||
|
||||
// Writer
|
||||
const writer = new nsqjs.Writer('127.0.0.1', 4150);
|
||||
|
||||
let writer = new nsqjs.Writer("127.0.0.1", 4150)
|
||||
writer.connect();
|
||||
|
||||
writer.on('ready', function () {
|
||||
console.log('writer ready')
|
||||
writer.publish('sample_topic', 'it really tied the room together');
|
||||
writer.publish('sample_topic', [
|
||||
'Uh, excuse me. Mark it zero. Next frame.',
|
||||
'Smokey, this is not \'Nam. This is bowling. There are rules.'
|
||||
]);
|
||||
writer.publish('sample_topic', 'Wu?', function (err: Error) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log('Message sent successfully');
|
||||
writer.on('closed', () => {});
|
||||
writer.on('error', error => {});
|
||||
|
||||
writer.on('ready', () => {
|
||||
writer.publish('sample_topic', 'message');
|
||||
writer.publish('sample_topic', ['message 1', 'message 2']);
|
||||
writer.publish('sample_topic', 'message', error => {
|
||||
if (error) { return; }
|
||||
writer.close();
|
||||
});
|
||||
});
|
||||
|
||||
writer.on('closed', function () {
|
||||
console.log('Writer closed');
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -14,10 +14,11 @@
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strictFunctionTypes": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"nsqjs-tests.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user