u8-mqtt 0.4.0 → 0.4.1
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.
- package/README.md +3 -3
- package/cjs/basic-v4.cjs +5 -10
- package/cjs/basic-v4.cjs.map +1 -1
- package/cjs/basic-v5.cjs +5 -10
- package/cjs/basic-v5.cjs.map +1 -1
- package/cjs/index.cjs +22 -20
- package/cjs/index.cjs.map +1 -1
- package/cjs/v4.cjs +22 -20
- package/cjs/v4.cjs.map +1 -1
- package/cjs/v5.cjs +22 -20
- package/cjs/v5.cjs.map +1 -1
- package/code/base.jsy +4 -9
- package/code/router_path.jsy +15 -9
- package/code/with_topic_router.jsy +4 -3
- package/esm/deno/basic-v4.js +5 -10
- package/esm/deno/basic-v4.js.map +1 -1
- package/esm/deno/basic-v5.js +5 -10
- package/esm/deno/basic-v5.js.map +1 -1
- package/esm/deno/index.js +22 -20
- package/esm/deno/index.js.map +1 -1
- package/esm/deno/v4.js +22 -20
- package/esm/deno/v4.js.map +1 -1
- package/esm/deno/v5.js +22 -20
- package/esm/deno/v5.js.map +1 -1
- package/esm/node/basic-v4.js +5 -10
- package/esm/node/basic-v4.js.map +1 -1
- package/esm/node/basic-v4.mjs +5 -10
- package/esm/node/basic-v4.mjs.map +1 -1
- package/esm/node/basic-v5.js +5 -10
- package/esm/node/basic-v5.js.map +1 -1
- package/esm/node/basic-v5.mjs +5 -10
- package/esm/node/basic-v5.mjs.map +1 -1
- package/esm/node/index.js +22 -20
- package/esm/node/index.js.map +1 -1
- package/esm/node/index.mjs +22 -20
- package/esm/node/index.mjs.map +1 -1
- package/esm/node/v4.js +22 -20
- package/esm/node/v4.js.map +1 -1
- package/esm/node/v4.mjs +22 -20
- package/esm/node/v4.mjs.map +1 -1
- package/esm/node/v5.js +22 -20
- package/esm/node/v5.js.map +1 -1
- package/esm/node/v5.mjs +22 -20
- package/esm/node/v5.mjs.map +1 -1
- package/esm/web/basic-v4.js +5 -10
- package/esm/web/basic-v4.js.map +1 -1
- package/esm/web/basic-v4.min.js +1 -1
- package/esm/web/basic-v4.min.js.br +0 -0
- package/esm/web/basic-v4.min.js.gz +0 -0
- package/esm/web/basic-v5.js +5 -10
- package/esm/web/basic-v5.js.map +1 -1
- package/esm/web/basic-v5.min.js +1 -1
- package/esm/web/basic-v5.min.js.br +0 -0
- package/esm/web/basic-v5.min.js.gz +0 -0
- package/esm/web/index.js +22 -20
- package/esm/web/index.js.map +1 -1
- package/esm/web/index.min.js +1 -1
- package/esm/web/index.min.js.br +0 -0
- package/esm/web/index.min.js.gz +0 -0
- package/esm/web/v4.js +22 -20
- package/esm/web/v4.js.map +1 -1
- package/esm/web/v4.min.js +1 -1
- package/esm/web/v4.min.js.br +0 -0
- package/esm/web/v4.min.js.gz +0 -0
- package/esm/web/v5.js +22 -20
- package/esm/web/v5.js.map +1 -1
- package/esm/web/v5.min.js +1 -1
- package/esm/web/v5.min.js.br +0 -0
- package/esm/web/v5.min.js.gz +0 -0
- package/package.json +1 -1
package/esm/web/v5.js
CHANGED
|
@@ -812,9 +812,10 @@ const with_topic_router = mqtt_topic_router =>
|
|
|
812
812
|
return super._aliases() +
|
|
813
813
|
' sub_topic:subscribe_topic unsub_topic:unsubscribe_topic'}
|
|
814
814
|
|
|
815
|
-
_init_router(opt) {
|
|
816
|
-
|
|
817
|
-
|
|
815
|
+
_init_router(opt, client, target) {
|
|
816
|
+
let router = this.router = target.router =
|
|
817
|
+
mqtt_topic_router(opt, this);
|
|
818
|
+
return router?.invoke}
|
|
818
819
|
get on_topic() {return this.router.add}
|
|
819
820
|
|
|
820
821
|
_sub_chain(topic, ex, topic_prefix) {
|
|
@@ -850,14 +851,20 @@ const mqtt_topic = topic_route =>
|
|
|
850
851
|
.replace(/[*].*$/, '#')
|
|
851
852
|
.replace(/:\w+\??/g, '+');
|
|
852
853
|
|
|
853
|
-
|
|
854
|
+
/* From the [MQTT v5 Spec](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Topic_Names_and)
|
|
855
|
+
4.7.1.2 Multi-level wildcard -- (‘#’ U+0023)
|
|
856
|
+
... MUST be specified either on its own or following a topic level separator.
|
|
857
|
+
In either case it MUST be the last character specified in the Topic Filter
|
|
858
|
+
|
|
859
|
+
4.7.1.3 Single-level wildcard -- (‘+’ U+002B)
|
|
860
|
+
...it MUST occupy an entire level of the filter.
|
|
861
|
+
*/
|
|
862
|
+
|
|
863
|
+
const as_topic_path = (topic_route, id) =>(
|
|
864
|
+
id=1,
|
|
854
865
|
topic_route
|
|
855
|
-
.replace(/#$/, '*')
|
|
856
|
-
.
|
|
857
|
-
.reduce (( sz, v, idx ) => sz +(
|
|
858
|
-
idx & 1 // even entires are body, odd are MQTT + tokens
|
|
859
|
-
? `:$${1 + idx>>1}` // replace with `:$#` sequential ids, using ? for partial entries
|
|
860
|
-
: v ) ) );// pass through body
|
|
866
|
+
.replace(/#$/, '*' )// replace MQTT '#' multi-level wildcard at end
|
|
867
|
+
.replace(/\+/g, () => `:$${id++}` ) );// replace MQTT '+' single-level wildcards
|
|
861
868
|
|
|
862
869
|
function _ignore(pkt, params, ctx) {ctx.done = true;}
|
|
863
870
|
|
|
@@ -1351,15 +1358,10 @@ class MQTTBase {
|
|
|
1351
1358
|
|
|
1352
1359
|
_init_dispatch(opt) {
|
|
1353
1360
|
this.constructor?._once_();
|
|
1354
|
-
let
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
__proto__: opt.on_mqtt_type || {}
|
|
1359
|
-
, router};
|
|
1360
|
-
|
|
1361
|
-
tgt.mqtt_publish ||= router?.invoke;
|
|
1362
|
-
return _mqtt_dispatch(this, tgt)}
|
|
1361
|
+
let target ={__proto__: opt.on_mqtt_type};
|
|
1362
|
+
target.mqtt_publish ||=
|
|
1363
|
+
this._init_router?.(opt, this, target);
|
|
1364
|
+
return _mqtt_dispatch(this, target)}
|
|
1363
1365
|
|
|
1364
1366
|
static _aliases() {
|
|
1365
1367
|
return ' pub:publish sub:subscribe unsub:unsubscribe '}
|
|
@@ -1622,7 +1624,7 @@ class MQTTCore extends MQTTBase {
|
|
|
1622
1624
|
|
|
1623
1625
|
return this} }
|
|
1624
1626
|
|
|
1625
|
-
const version = '0.4.
|
|
1627
|
+
const version = '0.4.1';
|
|
1626
1628
|
|
|
1627
1629
|
const MQTTClient_v4 = /* #__PURE__ */
|
|
1628
1630
|
with_topic_path_router(
|