{"_id":"@avanlan/mqtt-client","_rev":"1-f970fe8c9cb53266772042346c5d09de","name":"@avanlan/mqtt-client","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@avanlan/mqtt-client","version":"0.0.1","keywords":["mqtt","mqtt-client"],"author":{"name":"Avan","email":"layouwen@gmail.com"},"license":"MIT","_id":"@avanlan/mqtt-client@0.0.1","maintainers":[{"name":"layouwen","email":"layouwen@gmail.com"}],"homepage":"https://github.com/Layouwen/mqtt-client#readme","bugs":{"url":"https://github.com/Layouwen/mqtt-client/issues"},"dist":{"shasum":"359fdba88b1bf81b4194e20db8bd357aeab8e56c","tarball":"https://registry.npmjs.org/@avanlan/mqtt-client/-/mqtt-client-0.0.1.tgz","fileCount":6,"integrity":"sha512-+ThUv10fWZgicvYMuu97DsGWvmHEGZDq+zz0wjbXrSiJwegrfd0+X+hr0VPdDvMSphT50jFRp0DeQaaldQ1kbQ==","signatures":[{"sig":"MEUCIBeKZytVeExlRGWA52AeyqfAkryhlrQzzKuf6eowRyr/AiEA7JfdlNxfxjIjoZ/BSBaJ4K7WUctrrbN5TxZ5lvGh5uo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6138},"main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"dev":"nodemon demo/index.ts","build":"rimraf dist && tsc"},"_npmUser":{"name":"layouwen","email":"layouwen@gmail.com"},"repository":{"url":"git+https://github.com/Layouwen/mqtt-client.git","type":"git"},"_npmVersion":"8.19.4","description":"MQTT client for Node.js","directories":{},"_nodeVersion":"16.20.2","dependencies":{"mqtt":"^5.10.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","nodemon":"^3.1.7","prettier":"^3.3.3","typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/mqtt-client_0.0.1_1730705295327_0.9665152339306902","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@avanlan/mqtt-client","version":"0.0.3","description":"MQTT client for Node.js","main":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"dev":"nodemon demo/index.ts","build":"rimraf dist && tsc"},"keywords":["mqtt","mqtt-client"],"author":{"name":"Avan","email":"layouwen@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/Layouwen/mqtt-client.git"},"license":"MIT","devDependencies":{"dotenv":"^16.4.5","nodemon":"^3.1.7","prettier":"^3.3.3","rimraf":"^6.0.1","typescript":"^5.6.3"},"dependencies":{"mqtt":"^5.10.1"},"publishConfig":{"access":"public"},"gitHead":"f36f9b0373af1c4cbadbe5085d90c384c1e6b94d","bugs":{"url":"https://github.com/Layouwen/mqtt-client/issues"},"homepage":"https://github.com/Layouwen/mqtt-client#readme","_id":"@avanlan/mqtt-client@0.0.3","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-5g/o2ChnJ5wzagvkzIlVMmlRqZvkkxs1N4vlQTIoPjY9j2ohfePJiw68+C0qaRQqrOTNZfVFNtnmpYfqAtBvsQ==","shasum":"2ea9874a85132344d5e531ed911a24bc9c74fa3c","tarball":"https://registry.npmjs.org/@avanlan/mqtt-client/-/mqtt-client-0.0.3.tgz","fileCount":6,"unpackedSize":7495,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBqMu6uzFlmgBmF0agKgNHNTzEaqHUyY/FTnoD3LMrxxAiAjBHI2AmTXo3PJ+wQfrfnA37DlSX0BoLFWOcYkQR2C3g=="}]},"_npmUser":{"name":"layouwen","email":"layouwen@gmail.com"},"directories":{},"maintainers":[{"name":"layouwen","email":"layouwen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mqtt-client_0.0.3_1730709245500_0.9861037962219135"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-04T07:28:15.202Z","modified":"2024-11-04T08:34:05.899Z","0.0.1":"2024-11-04T07:28:15.542Z","0.0.3":"2024-11-04T08:34:05.712Z"},"bugs":{"url":"https://github.com/Layouwen/mqtt-client/issues"},"author":{"name":"Avan","email":"layouwen@gmail.com"},"license":"MIT","homepage":"https://github.com/Layouwen/mqtt-client#readme","keywords":["mqtt","mqtt-client"],"repository":{"type":"git","url":"git+https://github.com/Layouwen/mqtt-client.git"},"description":"MQTT client for Node.js","maintainers":[{"name":"layouwen","email":"layouwen@gmail.com"}],"readme":"# MQTT CLIENT\n\nMQTT client wrapper that supports subscription and message handling.\n\n[![Version npm](https://img.shields.io/npm/v/@avanlan/mqtt-client.svg?style=flat-square)](https://www.npmjs.com/package/@avanlan/mqtt-client)\n[![NPM Downloads](https://img.shields.io/npm/dw/%40avanlan%2Fmqtt-client)](https://www.npmjs.com/package/@avanlan/mqtt-client)\n\n[![NPM](https://nodei.co/npm/@avanlan/mqtt-client.png?downloads=true&downloadRank=true)](https://nodei.co/npm/@avanlan/mqtt-client/)\n\n## Install\n\n```bash\nnpm install @avanlan/mqtt-client\n```\n\n## Usage\n\n```typescript\nimport { MqttClient, MqttTopicInfo } from \"@avanlan/mqtt-client\";\n\nexport const mqttTopicInfoList = [\n  {\n    key: \"event\",\n    topic: `/+/station/pub/tag/event`,\n    opts: {\n      qos: 2,\n      retain: false,\n    },\n    handle: (topic: string, data: any) => {\n      console.log(\"handle data\", topic, data);\n    },\n  },\n] as MqttTopicInfo[];\n\nexport async function mqttInit() {\n  const mqttClient = new MqttClient({\n    brokerUrl: \"mqtt://localhost:1883\",\n    opts: {\n      protocolVersion: 5,\n      clientId: \"mqtt-client\",\n      clean: false,\n    },\n  });\n\n  mqttClient.on(\"connect\", () => {\n    console.log(\"mqtt connect success\");\n    mqttClient.onSubscribes(mqttTopicInfoList);\n  });\n\n  mqttClient.on(\"error\", (err) => {\n    console.error(\"mqtt connect error\", err);\n  });\n\n  mqttClient.on(\"messageReceived\", (topic, message) => {\n    console.log(\"mqtt message\", topic, message.toString());\n  });\n\n  mqttClient.on(\"messageJsonParseError\", (err) => {\n    console.error(\"mqtt message json parse error\", err);\n  });\n\n  await mqttClient.connect();\n}\n\nmqttInit();\n```\n\n## Demo\n\n[mqtt-client-ts](./demo/index.ts)\n\n```bash\nnpm install\nnpm run dev\n```\n","readmeFilename":"README.md"}