UNPKG

1.17 kBTypeScriptView Raw
1/// <reference types="node" />
2export interface MqttRecordOptions {
3 /**
4 * The QoS
5 */
6 qos?: 0 | 1 | 2;
7 /**
8 * The retain flag
9 */
10 retain?: boolean;
11 /**
12 * Whether or not mark a message as duplicate
13 */
14 dup?: boolean;
15 properties?: {
16 payloadFormatIndicator?: number;
17 messageExpiryInterval?: number;
18 topicAlias?: string;
19 responseTopic?: string;
20 correlationData?: Buffer;
21 userProperties?: Record<string, string | string[]>;
22 subscriptionIdentifier?: number;
23 contentType?: string;
24 };
25}
26export declare class MqttRecord<TData = any> {
27 readonly data: TData;
28 options?: MqttRecordOptions;
29 constructor(data: TData, options?: MqttRecordOptions);
30}
31export declare class MqttRecordBuilder<TData> {
32 private data?;
33 private options?;
34 constructor(data?: TData);
35 setData(data: TData): this;
36 setQoS(qos: MqttRecordOptions['qos']): this;
37 setRetain(retain: MqttRecordOptions['retain']): this;
38 setDup(dup: MqttRecordOptions['dup']): this;
39 setProperties(properties: MqttRecordOptions['properties']): this;
40 build(): MqttRecord;
41}