u8-mqtt 0.1.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +23 -55
  2. package/cjs/index.cjs +632 -557
  3. package/cjs/index.cjs.map +1 -1
  4. package/cjs/v4.cjs +479 -662
  5. package/cjs/v4.cjs.map +1 -1
  6. package/cjs/v5.cjs +631 -550
  7. package/cjs/v5.cjs.map +1 -1
  8. package/code/_conn.jsy +53 -54
  9. package/code/_router.jsy +15 -4
  10. package/code/base.jsy +35 -16
  11. package/code/core.jsy +78 -59
  12. package/code/index.mjs +4 -4
  13. package/code/v4.mjs +6 -6
  14. package/code/v5.mjs +14 -6
  15. package/esm/deno/index.js +635 -562
  16. package/esm/deno/index.js.map +1 -1
  17. package/esm/deno/v4.js +486 -669
  18. package/esm/deno/v4.js.map +1 -1
  19. package/esm/deno/v5.js +637 -558
  20. package/esm/deno/v5.js.map +1 -1
  21. package/esm/node/index.js +628 -555
  22. package/esm/node/index.js.map +1 -1
  23. package/esm/node/index.mjs +628 -555
  24. package/esm/node/index.mjs.map +1 -1
  25. package/esm/node/v4.js +479 -662
  26. package/esm/node/v4.js.map +1 -1
  27. package/esm/node/v4.mjs +479 -662
  28. package/esm/node/v4.mjs.map +1 -1
  29. package/esm/node/v5.js +630 -551
  30. package/esm/node/v5.js.map +1 -1
  31. package/esm/node/v5.mjs +630 -551
  32. package/esm/node/v5.mjs.map +1 -1
  33. package/esm/web/index.js +630 -557
  34. package/esm/web/index.js.map +1 -1
  35. package/esm/web/index.min.js +1 -0
  36. package/esm/web/index.min.js.br +0 -0
  37. package/esm/web/index.min.js.gz +0 -0
  38. package/esm/web/v4.js +481 -664
  39. package/esm/web/v4.js.map +1 -1
  40. package/esm/web/v4.min.js +1 -0
  41. package/esm/web/v4.min.js.br +0 -0
  42. package/esm/web/v4.min.js.gz +0 -0
  43. package/esm/web/v5.js +632 -553
  44. package/esm/web/v5.js.map +1 -1
  45. package/esm/web/v5.min.js +1 -0
  46. package/esm/web/v5.min.js.br +0 -0
  47. package/esm/web/v5.min.js.gz +0 -0
  48. package/package.json +23 -12
  49. package/code/session.mjs +0 -65
  50. package/esm/deno/index.mjs +0 -1502
  51. package/esm/deno/index.mjs.map +0 -1
  52. package/esm/deno/v4.mjs +0 -1496
  53. package/esm/deno/v4.mjs.map +0 -1
  54. package/esm/deno/v5.mjs +0 -1496
  55. package/esm/deno/v5.mjs.map +0 -1
  56. package/esm/web/index.min.mjs +0 -1
  57. package/esm/web/index.mjs +0 -1502
  58. package/esm/web/index.mjs.map +0 -1
  59. package/esm/web/v4.min.mjs +0 -1
  60. package/esm/web/v4.mjs +0 -1496
  61. package/esm/web/v4.mjs.map +0 -1
  62. package/esm/web/v5.min.mjs +0 -1
  63. package/esm/web/v5.mjs +0 -1496
  64. package/esm/web/v5.mjs.map +0 -1
package/README.md CHANGED
@@ -33,68 +33,36 @@ Targeting [MQTT-3.1.1 (v4)][spec-3.1.1] and [MQTT-5.0.0 (v5)][spec-5.0.0] compat
33
33
 
34
34
  ## Use
35
35
 
36
- ```javascript
37
- // using NodeJS
38
- import mqtt_client from 'u8-mqtt/esm/node/v4.mjs'
39
-
40
- // or using Deno
41
- import mqtt_client from 'u8-mqtt/esm/deno/v4.mjs'
42
-
43
- // or using WebSockets
44
- import mqtt_client from 'u8-mqtt/esm/web/v4.mjs'
45
-
46
-
47
- const my_mqtt = mqtt_client()
48
-
49
-
50
- // Connect using NodeJS or Deno
51
- my_mqtt.with_tcp(1883, '127.0.0.1')
36
+ - from [Web CDN](./use_from_web_cdn.md)
37
+ - from [Web bundler](./use_from_web_bundler.md) like [Rollup][] or [ESBuild][]
38
+ - from [NodeJS](./use_from_nodejs.md)
39
+ - from [Deno](./use_from_deno.md)
52
40
 
53
- // or connect using WebSockets
54
- my_mqtt.with_websock('ws://127.0.0.1:9001')
41
+ [Rollup]: https://rollupjs.org
42
+ [ESBuild]: https://esbuild.github.io
55
43
 
56
44
 
57
- // use on_live to converse with the MQTT server
58
- my_mqtt.on_live = somewhere_in_your_code
59
-
60
-
61
- // ...
62
- async function somewhere_in_your_code(my_mqtt) {
63
- my_mqtt
64
- .on_topic('u8-mqtt-demo/topic/:arg', (pkt, params, ctx) => {
65
- console.log('topic:', params, [params.arg, pkt.utf8()])
66
- })
67
- .on_topic('u8-mqtt-demo/another/:first/:second', (pkt, params, ctx) => {
68
- console.log('another:', params, [params.first, params.second, pkt.utf8()])
69
- })
70
- .subscribe_topic('u8-mqtt-demo/bye', (pkt, params, ctx) => {
71
- console.log('other mqtt said bye:', params, [pkt.utf8()])
72
- })
73
-
45
+ ```javascript
46
+ import mqtt_client from 'https://cdn.jsdelivr.net/npm/u8-mqtt/esm/web/index.js'
47
+ // or import mqtt_client from 'u8-mqtt'
74
48
 
75
- await my_mqtt.connect({
76
- client_id: ['my-mqtt--', '--demo'],
77
- will: {
78
- topic: 'u8-mqtt-demo/bye',
79
- payload: 'gone!',
80
- }
81
- })
49
+ let my_mqtt = mqtt_client()
50
+ .with_websock('wss://test.mosquitto.org:8081')
51
+ // or .with_tcp('tcp://test.mosquitto.org:1883')
52
+ .with_autoreconnect()
82
53
 
83
- await my_mqtt.subscribe([
84
- 'u8-mqtt-demo/another/#',
85
- 'u8-mqtt-demo/topic/+',
86
- ])
54
+ await my_mqtt.connect()
87
55
 
88
- my_mqtt.publish({
89
- topic: 'u8-mqtt-demo/topic/node-side-fun-test',
90
- payload: 'awesome from both web and node',
56
+ my_mqtt.subscribe_topic(
57
+ 'u8-mqtt/demo-simple/:topic',
58
+ (pkt, params, ctx) => {
59
+ console.log('topic packet', params, pkt, pkt.json())
91
60
  })
92
61
 
93
- my_mqtt.send(
94
- 'u8-mqtt-demo/another/apple/orange',
95
- 'MQTT Fruity fun')
96
-
97
- }
62
+ await my_mqtt.json_send(
63
+ 'u8-mqtt/demo-simple/live',
64
+ { note: 'from README example',
65
+ live: new Date().toISOString() })
98
66
  ```
99
67
 
100
68
  ## Sizes
@@ -105,7 +73,7 @@ Built for small footprint with ES Modules (ESM) using embedded [u8-mqtt-packet][
105
73
  |-------|-----|------------
106
74
  | 187KB | 13x | `curl -sL https://cdn.jsdelivr.net/npm/mqtt@4.0.1/dist/mqtt.min.js \| wc -c`
107
75
  | 32KB | 2x | `curl -sL https://cdn.jsdelivr.net/npm/paho-mqtt@1.1.0/paho-mqtt.min.js \| wc -c`
108
- | 16KB | 1x | `cat ./u8-mqtt/esm/web/v4.min.mjs \| wc -c`
76
+ | 19KB | 1x | `cat ./u8-mqtt/esm/web/index.min.mjs \| wc -c`
109
77
 
110
78
 
111
79
  ## Prior Art