mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-24 05:06:02 +08:00
24
rsmq/rsmq-tests.ts
Normal file
24
rsmq/rsmq-tests.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
/// <reference path="rsmq.d.ts" />
|
||||
|
||||
var RedisSMQ = require("rsmq");
|
||||
var rsmq = new RedisSMQ( {host: "127.0.0.1", port: 6379, ns: "rsmq"} );
|
||||
var rsmq2 = new RedisSMQ({client: rsmq.redis, ns: "rsmq2"});
|
||||
|
||||
rsmq.createQueue({qname: "my-queue"}, (e: Error, success: number) => {
|
||||
if (e) {
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
console.info('"my-queue" has created');
|
||||
});
|
||||
|
||||
rsmq.sendMessage({qname: "my-queue", message: "first message"}, (e: Error, id: string) => {
|
||||
rsmq.changeMessageVisibility({qname: "my-queue", id: id, vt: 100}, (e: Error, success: number) => {});
|
||||
});
|
||||
rsmq.getQueueAttributes({qname: 'my-queue'}, (e: Error, attr: RedisSMQ.QueueAttributes) =>{} );
|
||||
rsmq.setQueueAttributes({qname: "my-queue", vt: 20}, (e: Error, attr: RedisSMQ.QueueAttributes) => {});
|
||||
rsmq.receiveMessage({qname: "my-queue"}, (e: Error, message: RedisSMQ.Message) => {
|
||||
rsmq.deleteMessage(message, (e: Error, success: number) => {});
|
||||
});
|
||||
rsmq.listQueues((e: Error, list: string[]) => {});
|
||||
rsmq.deleteQueue({qname: "my-queue"}, (e: Error, res: number) => {});
|
||||
91
rsmq/rsmq.d.ts
vendored
Normal file
91
rsmq/rsmq.d.ts
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
// Type definitions for rsmq 0.3.16
|
||||
// Project: http://smrchy.github.io/rsmq/
|
||||
// Definitions by: Qubo <https://github.com/MugeSo>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path='../redis/redis.d.ts'/>
|
||||
|
||||
declare module RedisSMQ {
|
||||
interface CallbackT<R> {
|
||||
(e?:Error, res?:R): void;
|
||||
}
|
||||
|
||||
interface QueueIdentifier {
|
||||
qname: string;
|
||||
}
|
||||
|
||||
interface QueueOptions extends QueueIdentifier {
|
||||
vt?: number;
|
||||
delay?: number;
|
||||
maxsize?: number;
|
||||
}
|
||||
|
||||
interface MessageIdentifier extends QueueIdentifier {
|
||||
id: string;
|
||||
}
|
||||
|
||||
interface VisibilityOptions extends MessageIdentifier {
|
||||
vt: number;
|
||||
}
|
||||
|
||||
export interface QueueAttributes extends QueueIdentifier {
|
||||
vt: number;
|
||||
delay: number;
|
||||
maxsize: number;
|
||||
totalrecv: number;
|
||||
totalsent: number;
|
||||
created: number;
|
||||
modified: number;
|
||||
msgs: number;
|
||||
hiddenmsgs: number;
|
||||
}
|
||||
|
||||
interface ReceiveOptions extends QueueIdentifier {
|
||||
vt?: number;
|
||||
}
|
||||
|
||||
export interface Message extends MessageIdentifier {
|
||||
message: string;
|
||||
sent: number;
|
||||
fr: number;
|
||||
rc: number;
|
||||
}
|
||||
|
||||
interface NewMessage extends QueueIdentifier {
|
||||
message: string;
|
||||
delay?: number;
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'rsmq' {
|
||||
import redis = require('redis');
|
||||
|
||||
interface RedisSMQStatic {
|
||||
new (options:ClientOptions): Client;
|
||||
}
|
||||
|
||||
interface Client {
|
||||
createQueue(options:RedisSMQ.QueueOptions, cb:RedisSMQ.CallbackT<number>): void;
|
||||
changeMessageVisibility(options:RedisSMQ.VisibilityOptions, cb:RedisSMQ.CallbackT<number>): void;
|
||||
deleteMessage(options:RedisSMQ.MessageIdentifier, cb:RedisSMQ.CallbackT<number>): void;
|
||||
deleteQueue(options:RedisSMQ.QueueIdentifier, cb:RedisSMQ.CallbackT<number>): void;
|
||||
getQueueAttributes(options:RedisSMQ.QueueIdentifier, cb:RedisSMQ.CallbackT<RedisSMQ.QueueAttributes>): void;
|
||||
listQueues(cb:RedisSMQ.CallbackT<string[]>): void;
|
||||
receiveMessage(options:RedisSMQ.ReceiveOptions, cb:RedisSMQ.CallbackT<RedisSMQ.Message>): void;
|
||||
sendMessage(options:RedisSMQ.NewMessage, cb:RedisSMQ.CallbackT<string>): void;
|
||||
setQueueAttributes(options:RedisSMQ.QueueOptions, cb:RedisSMQ.CallbackT<RedisSMQ.QueueAttributes>): void;
|
||||
quit(): void;
|
||||
redis: redis.RedisClient;
|
||||
}
|
||||
|
||||
interface ClientOptions {
|
||||
host?: string;
|
||||
port?: number;
|
||||
options?: redis.ClientOpts;
|
||||
client?: redis.RedisClient;
|
||||
ns?: string;
|
||||
}
|
||||
|
||||
var rsmq: RedisSMQStatic;
|
||||
export = rsmq;
|
||||
}
|
||||
Reference in New Issue
Block a user