rsmq-worker: export Client interface

This commit is contained in:
MugeSo
2015-08-19 11:34:54 +09:00
parent efa0c1196d
commit 763868e7de
2 changed files with 39 additions and 36 deletions
+3 -1
View File
@@ -1,7 +1,9 @@
import RSMQWorker = require('rsmq-worker');
var worker = new RSMQWorker("my-queue");
var worker: RSMQWorker.Client;
worker = new RSMQWorker("my-queue");
worker.changeInterval(1);
worker.changeInterval([0, 1, 5, 10]);
+36 -35
View File
@@ -9,44 +9,45 @@ declare module "rsmq-worker" {
import redis = require('redis');
import events = require('events');
interface CallbackT<R> {
(e?:Error, res?:R): void;
module RSMQWorker {
export interface Client extends events.EventEmitter {
start(): Client;
stop(): Client;
send(message: string, delay?: number, cb?: CallbackT<string>): Client;
send(message: string, cb: CallbackT<string>): Client;
del(id: string, cb?: CallbackT<void>): Client;
changeInterval(interval: number|number[]): Client;
}
export interface Options {
interval?: number;
maxReceiveCount?: number;
invisibletime?: number;
defaultDelay?: number;
autostart?: boolean;
timeout: number;
customExceedCheck?: CustomExceedCheckCallback;
rsmq?: RedisSMQ.Client;
redis?: redis.RedisClient;
redisPrefix?: string;
host?: string;
port?: number;
options?: redis.ClientOpts;
}
export interface CustomExceedCheckCallback {
(message: RedisSMQ.Message): boolean;
}
export interface CallbackT<R> {
(e?:Error, res?:R): void;
}
}
interface RSMQWorkerStatic {
new(queuename: string, options?: WorkerOptions): RSMQWorker;
new(queuename: string, options?: RSMQWorker.Options): RSMQWorker.Client;
}
interface WorkerOptions {
interval?: number;
maxReceiveCount?: number;
invisibletime?: number;
defaultDelay?: number;
autostart?: boolean;
timeout: number;
customExceedCheck?: CustomExceedCheckCallback;
rsmq?: RedisSMQ.Client;
redis?: redis.RedisClient;
redisPrefix?: string;
host?: string;
port?: number;
options?: redis.ClientOpts;
}
interface CustomExceedCheckCallback {
(message: RedisSMQ.Message): boolean;
}
interface RSMQWorker extends events.EventEmitter {
start(): RSMQWorker;
stop(): RSMQWorker;
send(message: string, delay?: number, cb?: CallbackT<string>): RSMQWorker;
send(message: string, cb: CallbackT<string>): RSMQWorker;
del(id: string, cb?: CallbackT<void>): RSMQWorker;
changeInterval(interval: number|number[]): RSMQWorker;
}
var worker: RSMQWorkerStatic;
export = worker;
var RSMQWorker: RSMQWorkerStatic;
export = RSMQWorker;
}