@robot.com/better-mqtt
Version:
A modern, TypeScript-first MQTT client library that provides a better developer experience with async iterators, shared subscriptions, and React hooks. Better MQTT is a wrapper around the excellent [mqtt.js](https://github.com/mqttjs/MQTT.js) library, enh
89 lines • 2.01 kB
JavaScript
// src/mock.ts
import { EventEmitter } from "ee-ts";
function stringParser(message) {
return message.toString("utf8");
}
function jsonParser(message) {
return JSON.parse(message.toString("utf8"));
}
function binaryParser(message) {
return message;
}
var Subscription = class extends EventEmitter {
topic;
parser;
constructor(opts) {
super();
this.topic = opts.topic;
this.parser = opts.parser;
}
handleMessage(_message, _topic, _params) {
}
async *[Symbol.asyncIterator]() {
}
end() {
this.emit("end");
}
};
var BetterMQTT = class _BetterMQTT extends EventEmitter {
client = new EventEmitter();
error = null;
get status() {
return "offline";
}
publish(_topic, _message, _opts) {
}
async publishAsync(_topic, _message) {
return Promise.resolve();
}
publishJson(_topic, _message) {
}
async publishJsonAsync(_topic, _message) {
return Promise.resolve();
}
unsubscribe(_sub) {
}
subscribe(topic, parser) {
return new Subscription({ mqtt: this, topic, parser });
}
subscribeString(topic) {
return this.subscribe(topic, stringParser);
}
subscribeJson(topic) {
return this.subscribe(topic, jsonParser);
}
subscribeBinary(topic) {
return this.subscribe(topic, binaryParser);
}
async subscribeAsync(topic, parser) {
return Promise.resolve(
new Subscription({ mqtt: this, topic, parser })
);
}
async subscribeStringAsync(topic) {
return this.subscribeAsync(topic, stringParser);
}
async subscribeJsonAsync(topic) {
return this.subscribeAsync(topic, jsonParser);
}
async subscribeBinaryAsync(topic) {
return this.subscribeAsync(topic, binaryParser);
}
static async connectAsync(..._args) {
return Promise.resolve(new _BetterMQTT());
}
static connect(..._args) {
return new _BetterMQTT();
}
end() {
this.emit("end");
}
};
export {
BetterMQTT,
Subscription,
binaryParser,
jsonParser,
stringParser
};
//# sourceMappingURL=mock.js.map