@seriousme/opifex 1.11.2 → 1.11.3
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/LICENSE.txt +1 -1
- package/README.md +8 -8
- package/bin/mqtt.ts +52 -30
- package/client/client.ts +9 -9
- package/client/deps.ts +1 -0
- package/client/mod.ts +1 -1
- package/dev_utils/mod.ts +1 -0
- package/dev_utils/socketPair.ts +85 -0
- package/dist/bin/mqtt.js +19 -16
- package/dist/bin/mqtt.js.map +1 -1
- package/dist/client/client.d.ts +6 -6
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js.map +1 -1
- package/dist/client/deps.d.ts +1 -1
- package/dist/client/deps.d.ts.map +1 -1
- package/dist/client/deps.js.map +1 -1
- package/dist/client/mod.d.ts +1 -1
- package/dist/client/mod.d.ts.map +1 -1
- package/dist/mqttConn/mqttConn.d.ts +2 -1
- package/dist/mqttConn/mqttConn.d.ts.map +1 -1
- package/dist/mqttConn/mqttConn.js +16 -8
- package/dist/mqttConn/mqttConn.js.map +1 -1
- package/dist/mqttPacket/BitMask.d.ts +12 -11
- package/dist/mqttPacket/BitMask.d.ts.map +1 -1
- package/dist/mqttPacket/BitMask.js +10 -18
- package/dist/mqttPacket/BitMask.js.map +1 -1
- package/dist/mqttPacket/connect.d.ts +22 -22
- package/dist/mqttPacket/connect.d.ts.map +1 -1
- package/dist/mqttPacket/decoder.js +1 -1
- package/dist/mqttPacket/decoder.js.map +1 -1
- package/dist/mqttPacket/length.js +1 -1
- package/dist/mqttPacket/length.js.map +1 -1
- package/dist/mqttPacket/mod.js +1 -1
- package/dist/mqttPacket/mod.js.map +1 -1
- package/dist/mqttPacket/pubblishAcks.d.ts +5 -5
- package/dist/mqttPacket/pubblishAcks.d.ts.map +1 -1
- package/dist/mqttPacket/pubblishAcks.js.map +1 -1
- package/dist/mqttPacket/publish.d.ts +9 -9
- package/dist/mqttPacket/publish.d.ts.map +1 -1
- package/dist/persistence/memory/memoryPersistence.d.ts +3 -3
- package/dist/persistence/memory/memoryPersistence.d.ts.map +1 -1
- package/dist/persistence/memory/memoryPersistence.js +1 -1
- package/dist/persistence/memory/memoryPersistence.js.map +1 -1
- package/dist/persistence/mod.d.ts +1 -1
- package/dist/persistence/mod.d.ts.map +1 -1
- package/dist/persistence/mod.js.map +1 -1
- package/dist/persistence/store.d.ts +3 -2
- package/dist/persistence/store.d.ts.map +1 -1
- package/dist/server/context.d.ts +1 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/handlers/handlePublish.js +1 -1
- package/dist/server/handlers/handlePublish.js.map +1 -1
- package/dist/socket/socket.d.ts.map +1 -1
- package/dist/socket/socket.js +4 -0
- package/dist/socket/socket.js.map +1 -1
- package/dist/trie/trie.d.ts.map +1 -1
- package/dist/trie/trie.js +30 -20
- package/dist/trie/trie.js.map +1 -1
- package/dist/utils/BufferedAsyncIterable.js.map +1 -1
- package/mqttConn/mqttConn.ts +18 -8
- package/mqttPacket/BitMask.ts +11 -19
- package/mqttPacket/connect.ts +22 -22
- package/mqttPacket/decoder.ts +1 -1
- package/mqttPacket/length.ts +1 -1
- package/mqttPacket/mod.ts +1 -1
- package/mqttPacket/pubblishAcks.ts +16 -11
- package/mqttPacket/publish.ts +9 -9
- package/package.json +3 -3
- package/persistence/memory/memoryPersistence.ts +4 -3
- package/persistence/mod.ts +6 -1
- package/persistence/store.ts +3 -2
- package/server/context.ts +1 -1
- package/server/handlers/handlePublish.ts +1 -1
- package/server/test/handleConnect.test.ts +13 -21
- package/socket/socket.ts +3 -0
- package/trie/trie.ts +29 -19
- package/utils/BufferedAsyncIterable.ts +1 -1
package/trie/trie.ts
CHANGED
|
@@ -46,7 +46,7 @@ export class Trie<T> {
|
|
|
46
46
|
*/
|
|
47
47
|
match(key: string): T[] {
|
|
48
48
|
const parts = key.split(this.separator);
|
|
49
|
-
if (parts.length > 0 && parts[0]
|
|
49
|
+
if (parts.length > 0 && parts[0]?.charAt(0) === this.reservedPrefix) {
|
|
50
50
|
return this._matchPrefix(parts);
|
|
51
51
|
}
|
|
52
52
|
return this._match(parts);
|
|
@@ -62,7 +62,10 @@ export class Trie<T> {
|
|
|
62
62
|
return this.#value ? this.#value : [];
|
|
63
63
|
}
|
|
64
64
|
const [first, ...rest] = parts;
|
|
65
|
-
|
|
65
|
+
if (first !== undefined) {
|
|
66
|
+
return this.matchChild(first, rest);
|
|
67
|
+
}
|
|
68
|
+
return [];
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
/**
|
|
@@ -75,11 +78,14 @@ export class Trie<T> {
|
|
|
75
78
|
return this.#value ? this.#value : [];
|
|
76
79
|
}
|
|
77
80
|
const [first, ...rest] = parts;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
if (first !== undefined) {
|
|
82
|
+
const exact = this.matchChild(first, rest);
|
|
83
|
+
const single = this.matchChild(this.wildcardOne, rest);
|
|
84
|
+
const subtree = this.matchChild(this.wildcardSubtree, []);
|
|
85
|
+
const results = exact.concat(single, subtree);
|
|
86
|
+
return results;
|
|
87
|
+
}
|
|
88
|
+
return [];
|
|
83
89
|
}
|
|
84
90
|
|
|
85
91
|
/**
|
|
@@ -102,13 +108,15 @@ export class Trie<T> {
|
|
|
102
108
|
return;
|
|
103
109
|
}
|
|
104
110
|
const [first, ...rest] = parts;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
child
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
111
|
+
if (first !== undefined) {
|
|
112
|
+
const child = this.#children.get(first);
|
|
113
|
+
if (child instanceof Trie) {
|
|
114
|
+
child._add(rest, value);
|
|
115
|
+
} else {
|
|
116
|
+
const node = new Trie<T>(this.looseCompare);
|
|
117
|
+
this.#children.set(first, node);
|
|
118
|
+
node._add(rest, value);
|
|
119
|
+
}
|
|
112
120
|
}
|
|
113
121
|
return;
|
|
114
122
|
}
|
|
@@ -134,11 +142,13 @@ export class Trie<T> {
|
|
|
134
142
|
return;
|
|
135
143
|
}
|
|
136
144
|
const [first, ...rest] = parts;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
node
|
|
140
|
-
|
|
141
|
-
this.#children.
|
|
145
|
+
if (first !== undefined) {
|
|
146
|
+
const node = this.#children.get(first);
|
|
147
|
+
if (node) {
|
|
148
|
+
node._remove(rest, value);
|
|
149
|
+
if (node.#value.length === 0 && this.#children.size === 0) {
|
|
150
|
+
this.#children.delete(first);
|
|
151
|
+
}
|
|
142
152
|
}
|
|
143
153
|
}
|
|
144
154
|
}
|