UNPKG

2.15 kBTypeScriptView Raw
1/// <reference types="node" />
2export declare type QoS = 0 | 1 | 2
3export declare type PacketCmd = 'connack' |
4 'connect' |
5 'disconnect' |
6 'pingreq' |
7 'pingresp' |
8 'puback' |
9 'pubcomp' |
10 'publish' |
11 'pubrel' |
12 'pubrec' |
13 'suback' |
14 'subscribe' |
15 'unsuback' |
16 'unsubscribe'
17export interface IPacket {
18 cmd: PacketCmd
19 messageId?: number
20 length?: number
21}
22export interface IConnectPacket extends IPacket {
23 cmd: 'connect'
24 clientId: string
25 protocolVersion?: 4 | 3
26 protocolId?: 'MQTT' | 'MQIsdp'
27 clean?: boolean
28 keepalive?: number
29 username?: string
30 password?: Buffer
31 will?: {
32 topic: string
33 payload: Buffer
34 qos?: QoS
35 retain?: boolean
36 }
37}
38export interface IPublishPacket extends IPacket {
39 cmd: 'publish'
40 qos: QoS
41 dup: boolean
42 retain: boolean
43 topic: string
44 payload: string | Buffer
45}
46export interface IConnackPacket extends IPacket {
47 cmd: 'connack'
48 returnCode: number
49 sessionPresent: boolean
50}
51export interface ISubscribePacket extends IPacket {
52 cmd: 'subscribe'
53 subscriptions: Array<{
54 topic: string
55 qos: QoS
56 }>
57}
58export interface ISubackPacket extends IPacket {
59 cmd: 'suback'
60 granted: number[]
61}
62export interface IUnsubscribePacket extends IPacket {
63 cmd: 'unsubscribe'
64 unsubscriptions: string[]
65}
66export interface IUnsubackPacket extends IPacket {
67 cmd: 'unsuback'
68}
69export interface IPubackPacket extends IPacket {
70 cmd: 'puback'
71}
72export interface IPubcompPacket extends IPacket {
73 cmd: 'pubcomp'
74}
75export interface IPubrelPacket extends IPacket {
76 cmd: 'pubrel'
77}
78export interface IPubrecPacket extends IPacket {
79 cmd: 'pubrec'
80}
81export interface IPingreqPacket extends IPacket {
82 cmd: 'pingreq'
83}
84export interface IPingrespPacket extends IPacket {
85 cmd: 'pingresp'
86}
87export interface IDisconnectPacket extends IPacket {
88 cmd: 'disconnect'
89}
90
91export declare type Packet = IConnectPacket |
92 IPublishPacket |
93 IConnackPacket |
94 ISubscribePacket |
95 ISubackPacket |
96 IUnsubscribePacket |
97 IUnsubackPacket |
98 IPubackPacket |
99 IPubcompPacket |
100 IPubrelPacket |
101 IPingreqPacket |
102 IPingrespPacket |
103 IDisconnectPacket |
104 IPubrecPacket