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/cjs/v5.cjs
CHANGED
|
@@ -819,9 +819,10 @@ const with_topic_router = mqtt_topic_router =>
|
|
|
819
819
|
return super._aliases() +
|
|
820
820
|
' sub_topic:subscribe_topic unsub_topic:unsubscribe_topic'}
|
|
821
821
|
|
|
822
|
-
_init_router(opt) {
|
|
823
|
-
|
|
824
|
-
|
|
822
|
+
_init_router(opt, client, target) {
|
|
823
|
+
let router = this.router = target.router =
|
|
824
|
+
mqtt_topic_router(opt, this);
|
|
825
|
+
return router?.invoke}
|
|
825
826
|
get on_topic() {return this.router.add}
|
|
826
827
|
|
|
827
828
|
_sub_chain(topic, ex, topic_prefix) {
|
|
@@ -857,14 +858,20 @@ const mqtt_topic = topic_route =>
|
|
|
857
858
|
.replace(/[*].*$/, '#')
|
|
858
859
|
.replace(/:\w+\??/g, '+');
|
|
859
860
|
|
|
860
|
-
|
|
861
|
+
/* From the [MQTT v5 Spec](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Topic_Names_and)
|
|
862
|
+
4.7.1.2 Multi-level wildcard -- (‘#’ U+0023)
|
|
863
|
+
... MUST be specified either on its own or following a topic level separator.
|
|
864
|
+
In either case it MUST be the last character specified in the Topic Filter
|
|
865
|
+
|
|
866
|
+
4.7.1.3 Single-level wildcard -- (‘+’ U+002B)
|
|
867
|
+
...it MUST occupy an entire level of the filter.
|
|
868
|
+
*/
|
|
869
|
+
|
|
870
|
+
const as_topic_path = (topic_route, id) =>(
|
|
871
|
+
id=1,
|
|
861
872
|
topic_route
|
|
862
|
-
.replace(/#$/, '*')
|
|
863
|
-
.
|
|
864
|
-
.reduce (( sz, v, idx ) => sz +(
|
|
865
|
-
idx & 1 // even entires are body, odd are MQTT + tokens
|
|
866
|
-
? `:$${1 + idx>>1}` // replace with `:$#` sequential ids, using ? for partial entries
|
|
867
|
-
: v ) ) );// pass through body
|
|
873
|
+
.replace(/#$/, '*' )// replace MQTT '#' multi-level wildcard at end
|
|
874
|
+
.replace(/\+/g, () => `:$${id++}` ) );// replace MQTT '+' single-level wildcards
|
|
868
875
|
|
|
869
876
|
function _ignore(pkt, params, ctx) {ctx.done = true;}
|
|
870
877
|
|
|
@@ -1358,15 +1365,10 @@ class MQTTBase {
|
|
|
1358
1365
|
|
|
1359
1366
|
_init_dispatch(opt) {
|
|
1360
1367
|
this.constructor?._once_();
|
|
1361
|
-
let
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
__proto__: opt.on_mqtt_type || {}
|
|
1366
|
-
, router};
|
|
1367
|
-
|
|
1368
|
-
tgt.mqtt_publish ||= router?.invoke;
|
|
1369
|
-
return _mqtt_dispatch(this, tgt)}
|
|
1368
|
+
let target ={__proto__: opt.on_mqtt_type};
|
|
1369
|
+
target.mqtt_publish ||=
|
|
1370
|
+
this._init_router?.(opt, this, target);
|
|
1371
|
+
return _mqtt_dispatch(this, target)}
|
|
1370
1372
|
|
|
1371
1373
|
static _aliases() {
|
|
1372
1374
|
return ' pub:publish sub:subscribe unsub:unsubscribe '}
|
|
@@ -1629,7 +1631,7 @@ class MQTTCore extends MQTTBase {
|
|
|
1629
1631
|
|
|
1630
1632
|
return this} }
|
|
1631
1633
|
|
|
1632
|
-
const version = '0.4.
|
|
1634
|
+
const version = '0.4.1';
|
|
1633
1635
|
|
|
1634
1636
|
const MQTTClient_v4 = /* #__PURE__ */
|
|
1635
1637
|
with_topic_path_router(
|