3.1.0 • Published 2 years ago
mqttr v3.1.0
mqttr
A routable mqtt library based on mqtt.js
Installation
$ npm i mqttr
Usage
import {connect, Message} from 'mqttr';
// eslint-disable-next-line @typescript-eslint/no-floating-promises
(async () => {
// You should start a mqtt server at 1883 before or after run this script
const client = connect('mqtt://localhost');
client.on('connect', function () {
console.log('connect');
});
client.on('reconnect', function () {
console.log('reconnect');
});
client.on('close', function () {
console.log('close');
});
client.on('offline', function () {
console.log('offline');
});
client.on('error', function (err: Error) {
throw err;
});
// full params handler
await client.subscribe(
'/users/:userId/message/:messageId/:splats*',
(topic: string, payload: any, message?: Message) => {
message = message!;
console.log('-------------------------------------------------');
console.log('topic :', topic); // => /users/yvan/message/4321/ping
console.log('message:', payload); // => { hello: '🦄' }
console.log('params :', message.params); // => { userId: 'yvan', messageId: 4321, splats: [ 'ping' ] }
console.log('path :', message.path); // => '/users/:userId/message/:messageId/:splats*'
console.log('packet :', message.packet); // => {...} packet received packet, as defined in mqtt-packet
console.log();
},
);
// one context param handler
await client.subscribe('/users/:userId/message/:messageId/:splats*', (message: Message) => {
console.log('-------------------------------------------------');
console.log(message);
console.log();
});
await client.ready();
await client.publish('/users/yvan/message/4321/ping', {hello: '🦄'});
// eslint-disable-next-line @typescript-eslint/no-misused-promises
setTimeout(() => client.end(true), 10);
})();
Topic Patterns
See path-to-regexp
License
MIT © taoyuan
3.1.0
2 years ago
3.0.6
3 years ago
3.0.4
5 years ago
3.0.5
5 years ago
3.0.3
5 years ago
3.0.2
5 years ago
3.0.1
5 years ago
3.0.0-alpha.1
5 years ago
3.0.0-alpha.0
5 years ago
2.0.7
7 years ago
2.0.6
7 years ago
2.0.5
7 years ago
2.0.3
7 years ago
2.0.2
7 years ago
2.0.1
7 years ago
2.0.0
7 years ago
1.3.5
7 years ago
1.3.4
7 years ago
1.3.3
7 years ago
1.3.2
7 years ago
1.3.1
7 years ago
1.3.0
8 years ago
1.2.3
8 years ago
1.2.2
8 years ago
1.2.1
8 years ago
1.2.0
8 years ago
1.1.4
10 years ago
1.1.3
10 years ago
1.1.2
10 years ago
1.1.1
10 years ago
1.0.8
10 years ago
1.0.7
10 years ago
1.0.6
10 years ago
1.0.5
10 years ago
1.0.4
10 years ago
1.0.3
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago
0.0.1
10 years ago