UNPKG

1.3 kBPlain TextView Raw
1import amqpLib = require("amqplib/callback_api")
2import { AMQPEventEmitter as eventManager } from "./EventEmitter"
3
4import taskManager = require("./TaskManager")
5import async = require("async")
6import { channelManager, ChannelManager } from './ChannelManager'
7import { TaskManager } from "./TaskManager";
8import { Event } from "./Event";
9import { EventListener } from "./EventListener";
10import { EventListenerConstructorOptions } from "./EventListener";
11import { EventConstructorOptions } from "./Event";
12import { RPCManager } from "./RPCManager"
13
14export class AMQPManager {
15 private taskManager: TaskManager;
16
17 get events() {
18 return eventManager;
19 }
20
21 get rpc() {
22 return RPCManager;
23 }
24
25 get channelManager(): ChannelManager {
26 return channelManager;
27 }
28
29 get tasks():TaskManager {
30 if (!this.taskManager) {
31 this.taskManager = new TaskManager();
32 }
33 return this.taskManager;
34 }
35
36 createEvent(options: EventConstructorOptions) {
37 return new Event(options);
38 }
39
40 createEventListener(options: EventListenerConstructorOptions) {
41 return new EventListener(options);
42 }
43
44 setConnectionURI(uri) {
45 channelManager.setConnectionURI(uri);
46 }
47
48 disconnect(cb) {
49 channelManager.disconnect(cb);
50 }
51
52 reconnect(cb?) {
53 channelManager.reconnect(cb);
54 }
55}
\No newline at end of file