u8-mqtt 0.1.2 → 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 +633 -558
  3. package/cjs/index.cjs.map +1 -1
  4. package/cjs/v4.cjs +480 -663
  5. package/cjs/v4.cjs.map +1 -1
  6. package/cjs/v5.cjs +632 -551
  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 +36 -17
  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 +636 -563
  16. package/esm/deno/index.js.map +1 -1
  17. package/esm/deno/v4.js +487 -670
  18. package/esm/deno/v4.js.map +1 -1
  19. package/esm/deno/v5.js +638 -559
  20. package/esm/deno/v5.js.map +1 -1
  21. package/esm/node/index.js +629 -556
  22. package/esm/node/index.js.map +1 -1
  23. package/esm/node/index.mjs +629 -556
  24. package/esm/node/index.mjs.map +1 -1
  25. package/esm/node/v4.js +480 -663
  26. package/esm/node/v4.js.map +1 -1
  27. package/esm/node/v4.mjs +480 -663
  28. package/esm/node/v4.mjs.map +1 -1
  29. package/esm/node/v5.js +631 -552
  30. package/esm/node/v5.js.map +1 -1
  31. package/esm/node/v5.mjs +631 -552
  32. package/esm/node/v5.mjs.map +1 -1
  33. package/esm/web/index.js +631 -558
  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 +482 -665
  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 +633 -554
  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