u8-mqtt 0.6.4 → 0.6.5
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/cjs/basic-v4.cjs +1 -1
- package/cjs/basic-v5.cjs +1 -1
- package/cjs/full-v4.cjs +30 -23
- package/cjs/full-v4.cjs.map +1 -1
- package/cjs/full-v5.cjs +30 -23
- package/cjs/full-v5.cjs.map +1 -1
- package/cjs/index.cjs +30 -23
- package/cjs/index.cjs.map +1 -1
- package/cjs/v4.cjs +30 -23
- package/cjs/v4.cjs.map +1 -1
- package/cjs/v5.cjs +30 -23
- package/cjs/v5.cjs.map +1 -1
- package/code/router_path.jsy +19 -16
- package/esm/basic-v4.js +1 -1
- package/esm/basic-v5.js +1 -1
- package/esm/deno/basic-v4.js +1 -1
- package/esm/deno/basic-v5.js +1 -1
- package/esm/deno/full-v4.js +30 -23
- package/esm/deno/full-v4.js.map +1 -1
- package/esm/deno/full-v5.js +30 -23
- package/esm/deno/full-v5.js.map +1 -1
- package/esm/deno/index.js +30 -23
- package/esm/deno/index.js.map +1 -1
- package/esm/deno/v4.js +30 -23
- package/esm/deno/v4.js.map +1 -1
- package/esm/deno/v5.js +30 -23
- package/esm/deno/v5.js.map +1 -1
- package/esm/full-v4.js +30 -23
- package/esm/full-v4.js.map +1 -1
- package/esm/full-v5.js +30 -23
- package/esm/full-v5.js.map +1 -1
- package/esm/index.js +30 -23
- package/esm/index.js.map +1 -1
- package/esm/node/basic-v4.js +1 -1
- package/esm/node/basic-v4.mjs +1 -1
- package/esm/node/basic-v5.js +1 -1
- package/esm/node/basic-v5.mjs +1 -1
- package/esm/node/full-v4.js +30 -23
- package/esm/node/full-v4.js.map +1 -1
- package/esm/node/full-v4.mjs +30 -23
- package/esm/node/full-v4.mjs.map +1 -1
- package/esm/node/full-v5.js +30 -23
- package/esm/node/full-v5.js.map +1 -1
- package/esm/node/full-v5.mjs +30 -23
- package/esm/node/full-v5.mjs.map +1 -1
- package/esm/node/index.js +30 -23
- package/esm/node/index.js.map +1 -1
- package/esm/node/index.mjs +30 -23
- package/esm/node/index.mjs.map +1 -1
- package/esm/node/v4.js +30 -23
- package/esm/node/v4.js.map +1 -1
- package/esm/node/v4.mjs +30 -23
- package/esm/node/v4.mjs.map +1 -1
- package/esm/node/v5.js +30 -23
- package/esm/node/v5.js.map +1 -1
- package/esm/node/v5.mjs +30 -23
- package/esm/node/v5.mjs.map +1 -1
- package/esm/v4.js +30 -23
- package/esm/v4.js.map +1 -1
- package/esm/v5.js +30 -23
- package/esm/v5.js.map +1 -1
- package/esm/web/basic-v4.js +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 +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/full-v4.js +30 -23
- package/esm/web/full-v4.js.map +1 -1
- package/esm/web/full-v4.min.js +1 -1
- package/esm/web/full-v4.min.js.br +0 -0
- package/esm/web/full-v4.min.js.gz +0 -0
- package/esm/web/full-v5.js +30 -23
- package/esm/web/full-v5.js.map +1 -1
- package/esm/web/full-v5.min.js +1 -1
- package/esm/web/full-v5.min.js.br +0 -0
- package/esm/web/full-v5.min.js.gz +0 -0
- package/esm/web/index.js +30 -23
- 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 +30 -23
- 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 +30 -23
- 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 +2 -2
package/esm/deno/full-v5.js
CHANGED
|
@@ -841,16 +841,20 @@ const mqtt_opts_v5 =
|
|
|
841
841
|
encode_fns: mqtt_encode_v5,
|
|
842
842
|
mqtt_writer: mqtt_writer_v5, };
|
|
843
843
|
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
844
|
+
/**
|
|
845
|
+
* @param {string|RegExp} input The route pattern
|
|
846
|
+
* @param {boolean} [loose] Allow open-ended matching. Ignored with `RegExp` input.
|
|
847
|
+
*/
|
|
848
|
+
function parse(input, loose) {
|
|
849
|
+
if (input instanceof RegExp) return { keys:false, pattern:input };
|
|
850
|
+
var c, o, tmp, ext, keys=[], pattern='', arr = input.split('/');
|
|
847
851
|
arr[0] || arr.shift();
|
|
848
852
|
|
|
849
853
|
while (tmp = arr.shift()) {
|
|
850
854
|
c = tmp[0];
|
|
851
855
|
if (c === '*') {
|
|
852
|
-
keys.push(
|
|
853
|
-
pattern += '/(.*)';
|
|
856
|
+
keys.push(c);
|
|
857
|
+
pattern += tmp[1] === '?' ? '(?:/(.*))?' : '/(.*)';
|
|
854
858
|
} else if (c === ':') {
|
|
855
859
|
o = tmp.indexOf('?', 1);
|
|
856
860
|
ext = tmp.indexOf('.', 1);
|
|
@@ -1020,18 +1024,23 @@ function mqtt_topic_path_router() {
|
|
|
1020
1024
|
await ctx.mqtt.puback(pkt);} } } }
|
|
1021
1025
|
|
|
1022
1026
|
|
|
1027
|
+
const _regexparam ={
|
|
1028
|
+
get wild() {return this['*']}
|
|
1029
|
+
, set wild(v) {return this['*']=wild} };
|
|
1030
|
+
|
|
1023
1031
|
function * _routes_iter(all_route_lists, topic) {
|
|
1024
1032
|
topic = topic.replace(/^[\/]*/, '/'); // ensure '/' prefix for regexparam library
|
|
1025
|
-
for (let
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1033
|
+
for (let route of all_route_lists.flat()) {
|
|
1034
|
+
let match = route?.pattern.exec(topic);
|
|
1035
|
+
if (match) {
|
|
1036
|
+
let keys = route.keys;
|
|
1037
|
+
if (keys) {
|
|
1038
|
+
let k, i=0, params={__proto__:_regexparam};
|
|
1039
|
+
for (k of keys) {
|
|
1040
|
+
params[k] = match[++i];}
|
|
1041
|
+
yield [route.tgt, params, route];}
|
|
1042
|
+
else {
|
|
1043
|
+
yield [route.tgt, match.groups ?? match, route];} } } }
|
|
1035
1044
|
|
|
1036
1045
|
|
|
1037
1046
|
function _route_remove(all_route_lists, query) {
|
|
@@ -1040,16 +1049,14 @@ function _route_remove(all_route_lists, query) {
|
|
|
1040
1049
|
let idx_tip = 0;
|
|
1041
1050
|
for (let route of lst) {
|
|
1042
1051
|
// skip matching routes to remove from compacted list
|
|
1043
|
-
|
|
1044
|
-
if (route.topic === query.topic)
|
|
1045
|
-
|
|
1046
|
-
if (route.tgt === query.tgt) continue}
|
|
1052
|
+
let skip = route === query;
|
|
1053
|
+
if (!skip && route.topic === query.topic)
|
|
1054
|
+
skip = (null == query.tgt) || (route.tgt === query.tgt);
|
|
1047
1055
|
|
|
1048
|
-
lst[idx_tip++] = route;}
|
|
1056
|
+
if (!skip) lst[idx_tip++] = route;}
|
|
1049
1057
|
|
|
1050
1058
|
// truncate remaining list
|
|
1051
|
-
|
|
1052
|
-
ans = true;}
|
|
1059
|
+
lst.length = idx_tip;}
|
|
1053
1060
|
|
|
1054
1061
|
return ans}
|
|
1055
1062
|
|
|
@@ -1666,7 +1673,7 @@ class MQTTCore extends MQTTBase {
|
|
|
1666
1673
|
|
|
1667
1674
|
return this} }
|
|
1668
1675
|
|
|
1669
|
-
const version = '0.6.
|
|
1676
|
+
const version = '0.6.5-deno';
|
|
1670
1677
|
|
|
1671
1678
|
const MQTTClient_v4 = /* #__PURE__ */
|
|
1672
1679
|
with_topic_path_router(
|