@seriousme/opifex 1.11.3 → 2.1.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.
- package/README.md +99 -40
- package/bin/conformanceServer.ts +45 -13
- package/bin/demoServer.ts +38 -13
- package/bin/mqtt.ts +2 -2
- package/client/ConnectionState.ts +3 -1
- package/client/client.ts +88 -47
- package/client/context.ts +79 -27
- package/client/deps.ts +10 -3
- package/client/handlers/handleAuth.test.ts +193 -0
- package/client/handlers/handleAuth.ts +89 -0
- package/client/handlers/handleConnack.test.ts +173 -0
- package/client/handlers/handleConnack.ts +18 -8
- package/client/handlers/handleDisconnect.test.ts +22 -0
- package/client/handlers/handleDisconnect.ts +17 -0
- package/client/handlers/handlePacket.test.ts +242 -0
- package/client/handlers/handlePacket.ts +19 -5
- package/client/handlers/handlePuback.test.ts +99 -0
- package/client/handlers/handlePuback.ts +6 -0
- package/client/handlers/handlePubcomp.test.ts +112 -0
- package/client/handlers/handlePubcomp.ts +5 -0
- package/client/handlers/handlePublish.test.ts +188 -0
- package/client/handlers/handlePubrec.test.ts +119 -0
- package/client/handlers/handlePubrec.ts +5 -1
- package/client/handlers/handlePubrel.test.ts +136 -0
- package/client/handlers/handleSuback.test.ts +122 -0
- package/client/handlers/handleSuback.ts +3 -0
- package/client/handlers/handleUnsuback.test.ts +101 -0
- package/client/mod.ts +13 -2
- package/client/store/memoryStore.ts +12 -11
- package/client/store/store.ts +4 -2
- package/deno/README.md +1 -2
- package/deno/tcpClient.test.ts +75 -0
- package/deno/tcpClient.ts +36 -18
- package/deno/tcpServer.test.ts +22 -21
- package/deno/tcpServer.ts +26 -4
- package/deno/tlsServer.test.ts +97 -0
- package/deno/tlsServer.ts +58 -0
- package/deno/wsServer.test.ts +93 -0
- package/deno/wsServer.ts +96 -0
- package/dev_utils/generateCert.ts +95 -0
- package/dev_utils/mockConn.ts +36 -0
- package/dev_utils/mockServer.ts +28 -0
- package/dev_utils/mod.ts +30 -3
- package/dev_utils/packetHelpers.ts +404 -0
- package/dev_utils/test-handlers.ts +98 -0
- package/dev_utils/timers.ts +14 -0
- package/dev_utils/webStreamPair.test.ts +171 -0
- package/dev_utils/webStreamPair.ts +143 -0
- package/dist/bin/conformanceServer.js +17 -12
- package/dist/bin/conformanceServer.js.map +1 -1
- package/dist/bin/demoServer.js +16 -12
- package/dist/bin/demoServer.js.map +1 -1
- package/dist/bin/mqtt.js +2 -2
- package/dist/bin/mqtt.js.map +1 -1
- package/dist/client/ConnectionState.d.ts +3 -1
- package/dist/client/ConnectionState.d.ts.map +1 -1
- package/dist/client/ConnectionState.js +2 -0
- package/dist/client/ConnectionState.js.map +1 -1
- package/dist/client/client.d.ts +47 -21
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +57 -20
- package/dist/client/client.js.map +1 -1
- package/dist/client/context.d.ts +15 -7
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +44 -12
- package/dist/client/context.js.map +1 -1
- package/dist/client/deps.d.ts +4 -3
- package/dist/client/deps.d.ts.map +1 -1
- package/dist/client/deps.js +1 -1
- package/dist/client/deps.js.map +1 -1
- package/dist/client/handlers/handleAuth.d.ts +9 -0
- package/dist/client/handlers/handleAuth.d.ts.map +1 -0
- package/dist/client/handlers/handleAuth.js +66 -0
- package/dist/client/handlers/handleAuth.js.map +1 -0
- package/dist/client/handlers/handleConnack.d.ts +2 -2
- package/dist/client/handlers/handleConnack.d.ts.map +1 -1
- package/dist/client/handlers/handleConnack.js +16 -6
- package/dist/client/handlers/handleConnack.js.map +1 -1
- package/dist/client/handlers/handleDisconnect.d.ts +11 -0
- package/dist/client/handlers/handleDisconnect.d.ts.map +1 -0
- package/dist/client/handlers/handleDisconnect.js +15 -0
- package/dist/client/handlers/handleDisconnect.js.map +1 -0
- package/dist/client/handlers/handlePacket.d.ts.map +1 -1
- package/dist/client/handlers/handlePacket.js +14 -3
- package/dist/client/handlers/handlePacket.js.map +1 -1
- package/dist/client/handlers/handlePuback.d.ts.map +1 -1
- package/dist/client/handlers/handlePuback.js +5 -0
- package/dist/client/handlers/handlePuback.js.map +1 -1
- package/dist/client/handlers/handlePubcomp.d.ts.map +1 -1
- package/dist/client/handlers/handlePubcomp.js +5 -0
- package/dist/client/handlers/handlePubcomp.js.map +1 -1
- package/dist/client/handlers/handlePubrec.d.ts.map +1 -1
- package/dist/client/handlers/handlePubrec.js +5 -1
- package/dist/client/handlers/handlePubrec.js.map +1 -1
- package/dist/client/handlers/handleSuback.d.ts +1 -0
- package/dist/client/handlers/handleSuback.d.ts.map +1 -1
- package/dist/client/handlers/handleSuback.js +3 -0
- package/dist/client/handlers/handleSuback.js.map +1 -1
- package/dist/client/mod.d.ts +3 -2
- package/dist/client/mod.d.ts.map +1 -1
- package/dist/client/mod.js +1 -1
- package/dist/client/mod.js.map +1 -1
- package/dist/client/store/memoryStore.d.ts +3 -3
- package/dist/client/store/memoryStore.d.ts.map +1 -1
- package/dist/client/store/memoryStore.js +3 -3
- package/dist/client/store/memoryStore.js.map +1 -1
- package/dist/client/store/store.d.ts +3 -2
- package/dist/client/store/store.d.ts.map +1 -1
- package/dist/client/store/store.js +1 -1
- package/dist/client/store/store.js.map +1 -1
- package/dist/dev_utils/generateCert.d.ts +11 -0
- package/dist/dev_utils/generateCert.d.ts.map +1 -0
- package/dist/dev_utils/generateCert.js +76 -0
- package/dist/dev_utils/generateCert.js.map +1 -0
- package/dist/examples/authHandler.test.d.ts +2 -0
- package/dist/examples/authHandler.test.d.ts.map +1 -0
- package/dist/examples/authHandler.test.js +123 -0
- package/dist/examples/authHandler.test.js.map +1 -0
- package/dist/examples/mqtt.test.d.ts +2 -0
- package/dist/examples/mqtt.test.d.ts.map +1 -0
- package/dist/examples/mqtt.test.js +70 -0
- package/dist/examples/mqtt.test.js.map +1 -0
- package/dist/examples/mqtts.test.d.ts +2 -0
- package/dist/examples/mqtts.test.d.ts.map +1 -0
- package/dist/examples/mqtts.test.js +81 -0
- package/dist/examples/mqtts.test.js.map +1 -0
- package/dist/mqttConn/mqttConn.d.ts +24 -31
- package/dist/mqttConn/mqttConn.d.ts.map +1 -1
- package/dist/mqttConn/mqttConn.js +57 -36
- package/dist/mqttConn/mqttConn.js.map +1 -1
- package/dist/mqttPacket/AuthenticationResult.d.ts +4 -0
- package/dist/mqttPacket/AuthenticationResult.d.ts.map +1 -1
- package/dist/mqttPacket/AuthenticationResult.js.map +1 -1
- package/dist/mqttPacket/BitMask.d.ts.map +1 -1
- package/dist/mqttPacket/PacketType.d.ts +4 -0
- package/dist/mqttPacket/PacketType.d.ts.map +1 -1
- package/dist/mqttPacket/Properties.d.ts +4 -4
- package/dist/mqttPacket/Properties.d.ts.map +1 -1
- package/dist/mqttPacket/Properties.js.map +1 -1
- package/dist/mqttPacket/ReasonCode.d.ts +4 -5
- package/dist/mqttPacket/ReasonCode.d.ts.map +1 -1
- package/dist/mqttPacket/ReasonCode.js +1 -0
- package/dist/mqttPacket/ReasonCode.js.map +1 -1
- package/dist/mqttPacket/RetainHandling.d.ts +4 -0
- package/dist/mqttPacket/RetainHandling.d.ts.map +1 -1
- package/dist/mqttPacket/auth.d.ts +7 -8
- package/dist/mqttPacket/auth.d.ts.map +1 -1
- package/dist/mqttPacket/auth.js +31 -30
- package/dist/mqttPacket/auth.js.map +1 -1
- package/dist/mqttPacket/codec.d.ts +48 -0
- package/dist/mqttPacket/codec.d.ts.map +1 -0
- package/dist/mqttPacket/codec.js +93 -0
- package/dist/mqttPacket/codec.js.map +1 -0
- package/dist/mqttPacket/connack.d.ts +11 -10
- package/dist/mqttPacket/connack.d.ts.map +1 -1
- package/dist/mqttPacket/connack.js +43 -45
- package/dist/mqttPacket/connack.js.map +1 -1
- package/dist/mqttPacket/connect.d.ts +7 -7
- package/dist/mqttPacket/connect.d.ts.map +1 -1
- package/dist/mqttPacket/connect.js +156 -157
- package/dist/mqttPacket/connect.js.map +1 -1
- package/dist/mqttPacket/decoder.d.ts +6 -16
- package/dist/mqttPacket/decoder.d.ts.map +1 -1
- package/dist/mqttPacket/decoder.js +7 -28
- package/dist/mqttPacket/decoder.js.map +1 -1
- package/dist/mqttPacket/disconnect.d.ts +9 -8
- package/dist/mqttPacket/disconnect.d.ts.map +1 -1
- package/dist/mqttPacket/disconnect.js +41 -43
- package/dist/mqttPacket/disconnect.js.map +1 -1
- package/dist/mqttPacket/encoder.d.ts +7 -19
- package/dist/mqttPacket/encoder.d.ts.map +1 -1
- package/dist/mqttPacket/encoder.js +5 -28
- package/dist/mqttPacket/encoder.js.map +1 -1
- package/dist/mqttPacket/mod.d.ts +21 -103
- package/dist/mqttPacket/mod.d.ts.map +1 -1
- package/dist/mqttPacket/mod.js +5 -94
- package/dist/mqttPacket/mod.js.map +1 -1
- package/dist/mqttPacket/pingreq.d.ts +6 -6
- package/dist/mqttPacket/pingreq.d.ts.map +1 -1
- package/dist/mqttPacket/pingreq.js +11 -13
- package/dist/mqttPacket/pingreq.js.map +1 -1
- package/dist/mqttPacket/pingres.d.ts +6 -6
- package/dist/mqttPacket/pingres.d.ts.map +1 -1
- package/dist/mqttPacket/pingres.js +11 -13
- package/dist/mqttPacket/pingres.js.map +1 -1
- package/dist/mqttPacket/protocolLevels.d.ts +11 -6
- package/dist/mqttPacket/protocolLevels.d.ts.map +1 -1
- package/dist/mqttPacket/protocolLevels.js +5 -1
- package/dist/mqttPacket/protocolLevels.js.map +1 -1
- package/dist/mqttPacket/pubblishAcks.d.ts +9 -10
- package/dist/mqttPacket/pubblishAcks.d.ts.map +1 -1
- package/dist/mqttPacket/pubblishAcks.js +43 -45
- package/dist/mqttPacket/pubblishAcks.js.map +1 -1
- package/dist/mqttPacket/publish.d.ts +8 -7
- package/dist/mqttPacket/publish.d.ts.map +1 -1
- package/dist/mqttPacket/publish.js +53 -55
- package/dist/mqttPacket/publish.js.map +1 -1
- package/dist/mqttPacket/suback.d.ts +9 -8
- package/dist/mqttPacket/suback.d.ts.map +1 -1
- package/dist/mqttPacket/suback.js +38 -40
- package/dist/mqttPacket/suback.js.map +1 -1
- package/dist/mqttPacket/subscribe.d.ts +41 -10
- package/dist/mqttPacket/subscribe.d.ts.map +1 -1
- package/dist/mqttPacket/subscribe.js +90 -89
- package/dist/mqttPacket/subscribe.js.map +1 -1
- package/dist/mqttPacket/types.d.ts +2 -29
- package/dist/mqttPacket/types.d.ts.map +1 -1
- package/dist/mqttPacket/unsuback.d.ts +9 -8
- package/dist/mqttPacket/unsuback.d.ts.map +1 -1
- package/dist/mqttPacket/unsuback.js +32 -34
- package/dist/mqttPacket/unsuback.js.map +1 -1
- package/dist/mqttPacket/unsubscribe.d.ts +26 -8
- package/dist/mqttPacket/unsubscribe.d.ts.map +1 -1
- package/dist/mqttPacket/unsubscribe.js +45 -44
- package/dist/mqttPacket/unsubscribe.js.map +1 -1
- package/dist/mqttPacket/validators.d.ts +4 -16
- package/dist/mqttPacket/validators.d.ts.map +1 -1
- package/dist/mqttPacket/validators.js +5 -26
- package/dist/mqttPacket/validators.js.map +1 -1
- package/dist/node/tcpClient.d.ts +22 -2
- package/dist/node/tcpClient.d.ts.map +1 -1
- package/dist/node/tcpClient.js +29 -10
- package/dist/node/tcpClient.js.map +1 -1
- package/dist/node/tcpServer.d.ts +18 -0
- package/dist/node/tcpServer.d.ts.map +1 -1
- package/dist/node/tcpServer.js +21 -2
- package/dist/node/tcpServer.js.map +1 -1
- package/dist/node/tlsServer.d.ts +37 -0
- package/dist/node/tlsServer.d.ts.map +1 -0
- package/dist/node/tlsServer.js +73 -0
- package/dist/node/tlsServer.js.map +1 -0
- package/dist/node/wrapNodeSocket.d.ts.map +1 -1
- package/dist/node/wrapNodeSocket.js +6 -28
- package/dist/node/wrapNodeSocket.js.map +1 -1
- package/dist/persistence/basicPersistence.d.ts +36 -0
- package/dist/persistence/basicPersistence.d.ts.map +1 -0
- package/dist/persistence/basicPersistence.js +306 -0
- package/dist/persistence/basicPersistence.js.map +1 -0
- package/dist/persistence/deps.d.ts +3 -2
- package/dist/persistence/deps.d.ts.map +1 -1
- package/dist/persistence/deps.js +2 -1
- package/dist/persistence/deps.js.map +1 -1
- package/dist/persistence/memory/memoryPersistence.d.ts +6 -23
- package/dist/persistence/memory/memoryPersistence.d.ts.map +1 -1
- package/dist/persistence/memory/memoryPersistence.js +12 -115
- package/dist/persistence/memory/memoryPersistence.js.map +1 -1
- package/dist/persistence/memory/memoryStorage.d.ts +45 -0
- package/dist/persistence/memory/memoryStorage.d.ts.map +1 -0
- package/dist/persistence/memory/memoryStorage.js +143 -0
- package/dist/persistence/memory/memoryStorage.js.map +1 -0
- package/dist/persistence/mod.d.ts +3 -3
- package/dist/persistence/mod.d.ts.map +1 -1
- package/dist/persistence/mod.js +6 -1
- package/dist/persistence/mod.js.map +1 -1
- package/dist/persistence/persistence.d.ts +45 -70
- package/dist/persistence/persistence.d.ts.map +1 -1
- package/dist/persistence/persistence.js +1 -2
- package/dist/persistence/persistence.js.map +1 -1
- package/dist/persistence/sqlite/sqliteDatabase.d.ts +46 -0
- package/dist/persistence/sqlite/sqliteDatabase.d.ts.map +1 -0
- package/dist/persistence/sqlite/sqliteDatabase.js +215 -0
- package/dist/persistence/sqlite/sqliteDatabase.js.map +1 -0
- package/dist/persistence/sqlite/sqlitePersistence.d.ts +16 -0
- package/dist/persistence/sqlite/sqlitePersistence.d.ts.map +1 -0
- package/dist/persistence/sqlite/sqlitePersistence.js +29 -0
- package/dist/persistence/sqlite/sqlitePersistence.js.map +1 -0
- package/dist/persistence/sqlite/sqliteStorage.d.ts +36 -0
- package/dist/persistence/sqlite/sqliteStorage.d.ts.map +1 -0
- package/dist/persistence/sqlite/sqliteStorage.js +194 -0
- package/dist/persistence/sqlite/sqliteStorage.js.map +1 -0
- package/dist/persistence/storage.d.ts +38 -0
- package/dist/persistence/storage.d.ts.map +1 -0
- package/dist/persistence/storage.js +5 -0
- package/dist/persistence/storage.js.map +1 -0
- package/dist/server/config.d.ts +47 -0
- package/dist/server/config.d.ts.map +1 -0
- package/dist/server/config.js +41 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/context.d.ts +199 -25
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +432 -53
- package/dist/server/context.js.map +1 -1
- package/dist/server/deps.d.ts +5 -6
- package/dist/server/deps.d.ts.map +1 -1
- package/dist/server/deps.js +2 -2
- package/dist/server/deps.js.map +1 -1
- package/dist/server/handlers/completeConnect.d.ts +9 -0
- package/dist/server/handlers/completeConnect.d.ts.map +1 -0
- package/dist/server/handlers/completeConnect.js +74 -0
- package/dist/server/handlers/completeConnect.js.map +1 -0
- package/dist/server/handlers/handleAuth.d.ts +9 -0
- package/dist/server/handlers/handleAuth.d.ts.map +1 -0
- package/dist/server/handlers/handleAuth.js +69 -0
- package/dist/server/handlers/handleAuth.js.map +1 -0
- package/dist/server/handlers/handleConnect.d.ts +2 -4
- package/dist/server/handlers/handleConnect.d.ts.map +1 -1
- package/dist/server/handlers/handleConnect.js +140 -67
- package/dist/server/handlers/handleConnect.js.map +1 -1
- package/dist/server/handlers/handleDisconnect.d.ts +1 -1
- package/dist/server/handlers/handleDisconnect.d.ts.map +1 -1
- package/dist/server/handlers/handleDisconnect.js +3 -3
- package/dist/server/handlers/handleDisconnect.js.map +1 -1
- package/dist/server/handlers/handlePacket.d.ts.map +1 -1
- package/dist/server/handlers/handlePacket.js +19 -6
- package/dist/server/handlers/handlePacket.js.map +1 -1
- package/dist/server/handlers/handlePuback.d.ts +1 -3
- package/dist/server/handlers/handlePuback.d.ts.map +1 -1
- package/dist/server/handlers/handlePuback.js +2 -8
- package/dist/server/handlers/handlePuback.js.map +1 -1
- package/dist/server/handlers/handlePubcomp.d.ts +1 -1
- package/dist/server/handlers/handlePubcomp.d.ts.map +1 -1
- package/dist/server/handlers/handlePubcomp.js +2 -4
- package/dist/server/handlers/handlePubcomp.js.map +1 -1
- package/dist/server/handlers/handlePublish.d.ts +1 -1
- package/dist/server/handlers/handlePublish.d.ts.map +1 -1
- package/dist/server/handlers/handlePublish.js +149 -45
- package/dist/server/handlers/handlePublish.js.map +1 -1
- package/dist/server/handlers/handlePubrec.d.ts.map +1 -1
- package/dist/server/handlers/handlePubrec.js +2 -3
- package/dist/server/handlers/handlePubrec.js.map +1 -1
- package/dist/server/handlers/handlePubrel.d.ts.map +1 -1
- package/dist/server/handlers/handlePubrel.js +6 -2
- package/dist/server/handlers/handlePubrel.js.map +1 -1
- package/dist/server/handlers/handleSubscribe.d.ts +1 -6
- package/dist/server/handlers/handleSubscribe.d.ts.map +1 -1
- package/dist/server/handlers/handleSubscribe.js +99 -38
- package/dist/server/handlers/handleSubscribe.js.map +1 -1
- package/dist/server/handlers/handleUnsubscribe.d.ts.map +1 -1
- package/dist/server/handlers/handleUnsubscribe.js +19 -4
- package/dist/server/handlers/handleUnsubscribe.js.map +1 -1
- package/dist/server/mod.d.ts +3 -3
- package/dist/server/mod.d.ts.map +1 -1
- package/dist/server/mod.js +1 -1
- package/dist/server/mod.js.map +1 -1
- package/dist/server/server.d.ts +32 -9
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +84 -15
- package/dist/server/server.js.map +1 -1
- package/dist/socket/socket.d.ts +15 -9
- package/dist/socket/socket.d.ts.map +1 -1
- package/dist/socket/socket.js +66 -18
- package/dist/socket/socket.js.map +1 -1
- package/dist/timer/timer.d.ts +32 -0
- package/dist/timer/timer.d.ts.map +1 -1
- package/dist/timer/timer.js +32 -0
- package/dist/timer/timer.js.map +1 -1
- package/dist/trie/trie.d.ts +10 -5
- package/dist/trie/trie.d.ts.map +1 -1
- package/dist/trie/trie.js +61 -41
- package/dist/trie/trie.js.map +1 -1
- package/dist/utils/assert.d.ts.map +1 -1
- package/dist/utils/{BufferedAsyncIterable.d.ts → bufferedAsyncIterable.d.ts} +1 -1
- package/dist/utils/bufferedAsyncIterable.d.ts.map +1 -0
- package/dist/utils/{BufferedAsyncIterable.js → bufferedAsyncIterable.js} +1 -1
- package/dist/utils/bufferedAsyncIterable.js.map +1 -0
- package/dist/utils/deferred.d.ts.map +1 -1
- package/dist/utils/deferred.js.map +1 -1
- package/dist/utils/getOrInsertPolyFill.d.ts +2 -0
- package/dist/utils/getOrInsertPolyFill.d.ts.map +1 -0
- package/dist/utils/getOrInsertPolyFill.js +12 -0
- package/dist/utils/getOrInsertPolyFill.js.map +1 -0
- package/dist/utils/logger.d.ts +42 -5
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +53 -7
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/mod.d.ts +6 -1
- package/dist/utils/mod.d.ts.map +1 -1
- package/dist/utils/mod.js +5 -1
- package/dist/utils/mod.js.map +1 -1
- package/dist/utils/outboundTopicAliasManager.d.ts +52 -0
- package/dist/utils/outboundTopicAliasManager.d.ts.map +1 -0
- package/dist/utils/outboundTopicAliasManager.js +74 -0
- package/dist/utils/outboundTopicAliasManager.js.map +1 -0
- package/dist/utils/queue.d.ts.map +1 -1
- package/dist/utils/topicFilter.d.ts +32 -0
- package/dist/utils/topicFilter.d.ts.map +1 -0
- package/dist/utils/topicFilter.js +52 -0
- package/dist/utils/topicFilter.js.map +1 -0
- package/dist/utils/utils.d.ts +2 -0
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +2 -0
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/validators.d.ts +34 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +61 -0
- package/dist/utils/validators.js.map +1 -0
- package/dist/web/webSocketStream.d.ts +29 -0
- package/dist/web/webSocketStream.d.ts.map +1 -0
- package/dist/web/webSocketStream.js +69 -0
- package/dist/web/webSocketStream.js.map +1 -0
- package/dist/web/wrapWebSocket.d.ts +12 -0
- package/dist/web/wrapWebSocket.d.ts.map +1 -0
- package/dist/web/wrapWebSocket.js +41 -0
- package/dist/web/wrapWebSocket.js.map +1 -0
- package/dist/web/wsClient.d.ts +14 -0
- package/dist/web/wsClient.d.ts.map +1 -0
- package/dist/web/wsClient.js +33 -0
- package/dist/web/wsClient.js.map +1 -0
- package/dist/web/wsClient.test.d.ts +2 -0
- package/dist/web/wsClient.test.d.ts.map +1 -0
- package/dist/web/wsClient.test.js +20 -0
- package/dist/web/wsClient.test.js.map +1 -0
- package/examples/authHandler.test.ts +164 -0
- package/examples/mqtt.test.ts +89 -0
- package/examples/mqtts.test.ts +100 -0
- package/examples/webSocket.test.ts +94 -0
- package/mqttConn/mqttConn.test.ts +9 -9
- package/mqttConn/mqttConn.ts +76 -60
- package/mqttPacket/AuthenticationResult.ts +6 -0
- package/mqttPacket/PacketType.ts +5 -0
- package/mqttPacket/Properties.ts +8 -5
- package/mqttPacket/ReasonCode.ts +8 -9
- package/mqttPacket/RetainHandling.ts +5 -0
- package/mqttPacket/auth.test.ts +1 -1
- package/mqttPacket/auth.ts +44 -51
- package/mqttPacket/codec.ts +147 -0
- package/mqttPacket/connack.ts +63 -73
- package/mqttPacket/connect.test.ts +2 -2
- package/mqttPacket/connect.ts +178 -192
- package/mqttPacket/decoder.test.ts +0 -39
- package/mqttPacket/decoder.ts +17 -46
- package/mqttPacket/disconnect.ts +60 -71
- package/mqttPacket/encoder.test.ts +2 -2
- package/mqttPacket/encoder.ts +13 -46
- package/mqttPacket/mod.ts +48 -204
- package/mqttPacket/pingreq.ts +22 -28
- package/mqttPacket/pingres.ts +22 -28
- package/mqttPacket/protocolLevels.ts +12 -7
- package/mqttPacket/pubblishAcks.ts +61 -75
- package/mqttPacket/publish.ts +70 -84
- package/mqttPacket/publishAcks.test.ts +3 -3
- package/mqttPacket/suback.ts +53 -68
- package/mqttPacket/subscribe.ts +146 -128
- package/mqttPacket/types.ts +2 -35
- package/mqttPacket/unsuback.ts +50 -61
- package/mqttPacket/unsubscribe.ts +77 -72
- package/mqttPacket/validators.ts +5 -31
- package/node/socket-node-stream.test.ts +322 -0
- package/node/socket-node-stream.ts +174 -0
- package/node/tcpClient.test.ts +70 -0
- package/node/tcpClient.ts +33 -17
- package/node/tcpServer.test.ts +24 -20
- package/node/tcpServer.ts +29 -6
- package/node/tlsServer.test.ts +94 -0
- package/node/tlsServer.ts +97 -0
- package/node/wrapNodeSocket.ts +7 -30
- package/package.json +72 -44
- package/persistence/basicPersistence.ts +495 -0
- package/persistence/deps.ts +11 -1
- package/persistence/memory/memoryPersistence.ts +12 -153
- package/persistence/memory/memoryStorage.ts +232 -0
- package/persistence/mod.ts +5 -10
- package/persistence/persistence.test.ts +24 -0
- package/persistence/persistence.testing.ts +1324 -0
- package/persistence/persistence.ts +112 -68
- package/persistence/sqlite/sqliteDatabase.ts +294 -0
- package/persistence/sqlite/sqlitePersistence.test.ts +48 -0
- package/persistence/sqlite/sqlitePersistence.ts +36 -0
- package/persistence/sqlite/sqliteStorage.ts +324 -0
- package/persistence/storage.ts +84 -0
- package/server/config.ts +65 -0
- package/server/context.ts +660 -76
- package/server/deps.ts +24 -5
- package/server/handlers/completeConnect.ts +93 -0
- package/server/handlers/duplicate.test.ts +196 -0
- package/server/handlers/handleAuth.test.ts +225 -0
- package/server/handlers/handleAuth.ts +88 -0
- package/server/handlers/handleConnect.test.ts +589 -0
- package/server/handlers/handleConnect.ts +201 -86
- package/server/handlers/handleConnect.version.test.ts +108 -0
- package/server/handlers/handleDisconnect.test.ts +56 -0
- package/server/handlers/handleDisconnect.ts +3 -3
- package/server/handlers/handlePacket.test.ts +24 -0
- package/server/handlers/handlePacket.ts +30 -8
- package/server/handlers/handlePingreq.test.ts +29 -0
- package/server/handlers/handlePuback.test.ts +28 -0
- package/server/handlers/handlePuback.ts +5 -8
- package/server/handlers/handlePubcomp.test.ts +28 -0
- package/server/handlers/handlePubcomp.ts +5 -4
- package/server/handlers/handlePublish.test.ts +471 -0
- package/server/handlers/handlePublish.ts +188 -35
- package/server/handlers/handlePubrec.test.ts +28 -0
- package/server/handlers/handlePubrec.ts +2 -3
- package/server/handlers/handlePubrel.test.ts +74 -0
- package/server/handlers/handlePubrel.ts +12 -2
- package/server/handlers/handleSubscribe.test.ts +971 -0
- package/server/handlers/handleSubscribe.ts +157 -39
- package/server/handlers/handleUnsubscribe.test.ts +79 -0
- package/server/handlers/handleUnsubscribe.ts +28 -4
- package/server/handlers/keepalive.test.ts +132 -0
- package/server/handlers/session.persistence.test.ts +194 -0
- package/server/handlers/will.delivery.test.ts +221 -0
- package/server/mod.ts +5 -4
- package/server/preconnect.test.ts +151 -0
- package/server/server.ts +117 -19
- package/socket/socket.test.ts +91 -0
- package/socket/socket.ts +85 -34
- package/timer/timer.test.ts +4 -7
- package/timer/timer.ts +36 -0
- package/tools/benchmarks/receiver.ts +51 -0
- package/tools/benchmarks/sender.ts +48 -0
- package/tools/benchmarks/utils.ts +31 -0
- package/tools/mqtt-compat/README.md +130 -0
- package/tools/mqtt-compat/broker.ts +52 -0
- package/tools/mqtt-compat/paho-mqtt4.test.ts +379 -0
- package/tools/mqtt-compat/paho-mqtt5.tests.ts +887 -0
- package/trie/trie.test.ts +9 -1
- package/trie/trie.ts +70 -45
- package/utils/bufferedAsyncIterable.test.ts +92 -0
- package/utils/deferred.test.ts +36 -0
- package/utils/deferred.ts +0 -1
- package/utils/getOrInsertPolyFill.ts +12 -0
- package/utils/logger.test.ts +189 -0
- package/utils/logger.ts +64 -9
- package/utils/mod.ts +15 -1
- package/utils/outboundTopicAliasManager.ts +100 -0
- package/utils/queue.test.ts +61 -0
- package/utils/topicFilter.test.ts +63 -0
- package/utils/topicFilter.ts +61 -0
- package/utils/utils.ts +3 -0
- package/utils/validators.ts +67 -0
- package/web/webSocketStream.ts +97 -0
- package/web/wrapWebSocket.ts +52 -0
- package/web/wsClient.test.ts +26 -0
- package/web/wsClient.ts +37 -0
- package/benchmarks/receiver.ts +0 -35
- package/benchmarks/sender.ts +0 -32
- package/benchmarks/utils.ts +0 -9
- package/dev_utils/dummyConn.ts +0 -110
- package/dev_utils/socketPair.ts +0 -85
- package/dist/persistence/store.d.ts +0 -14
- package/dist/persistence/store.d.ts.map +0 -1
- package/dist/persistence/store.js +0 -2
- package/dist/persistence/store.js.map +0 -1
- package/dist/utils/BufferedAsyncIterable.d.ts.map +0 -1
- package/dist/utils/BufferedAsyncIterable.js.map +0 -1
- package/examples/tcpServer.test.ts +0 -148
- package/persistence/memory/memoryPersistence.test.ts +0 -156
- package/persistence/store.ts +0 -16
- package/server/test/handleConnect.test.ts +0 -122
- package/server/test/test-handlers.ts +0 -53
- /package/utils/{BufferedAsyncIterable.ts → bufferedAsyncIterable.ts} +0 -0
package/dist/trie/trie.js
CHANGED
|
@@ -47,14 +47,11 @@ export class Trie {
|
|
|
47
47
|
* @returns Array of matched values
|
|
48
48
|
*/
|
|
49
49
|
_matchPrefix(parts) {
|
|
50
|
-
if (parts.length === 0) {
|
|
51
|
-
return this.#value ? this.#value : [];
|
|
52
|
-
}
|
|
53
50
|
const [first, ...rest] = parts;
|
|
54
|
-
if (first
|
|
55
|
-
return
|
|
56
|
-
|
|
57
|
-
return
|
|
51
|
+
if (first === undefined)
|
|
52
|
+
return [];
|
|
53
|
+
// Direct lookup on the reserved topic node without evaluating top-level + or #
|
|
54
|
+
return this.matchChild(first, rest);
|
|
58
55
|
}
|
|
59
56
|
/**
|
|
60
57
|
* Internal method to match keys with wildcard support
|
|
@@ -62,18 +59,26 @@ export class Trie {
|
|
|
62
59
|
* @returns Array of matched values
|
|
63
60
|
*/
|
|
64
61
|
_match(parts) {
|
|
62
|
+
let results = [];
|
|
63
|
+
// 1. Check if there is a multi-level wildcard ('#') at this level.
|
|
64
|
+
// In MQTT, 'a/#' matches 'a', 'a/b', 'a/b/c', etc.
|
|
65
|
+
const subtreeNode = this.#children.get(this.wildcardSubtree);
|
|
66
|
+
if (subtreeNode) {
|
|
67
|
+
results = results.concat(subtreeNode.#value);
|
|
68
|
+
}
|
|
69
|
+
// 2. Base case: we reached the end of the topic parts.
|
|
65
70
|
if (parts.length === 0) {
|
|
66
|
-
return this.#value
|
|
71
|
+
return results.concat(this.#value);
|
|
67
72
|
}
|
|
68
73
|
const [first, ...rest] = parts;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return
|
|
74
|
+
// deno-coverage-ignore
|
|
75
|
+
if (first === undefined)
|
|
76
|
+
return [];
|
|
77
|
+
// 3. Exact matching child node
|
|
78
|
+
const exact = this.matchChild(first, rest);
|
|
79
|
+
// 4. Single-level wildcard ('+') matching child node
|
|
80
|
+
const single = this.matchChild(this.wildcardOne, rest);
|
|
81
|
+
return results.concat(exact, single);
|
|
77
82
|
}
|
|
78
83
|
/**
|
|
79
84
|
* Adds a value to the trie at the specified key
|
|
@@ -94,24 +99,29 @@ export class Trie {
|
|
|
94
99
|
return;
|
|
95
100
|
}
|
|
96
101
|
const [first, ...rest] = parts;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
102
|
+
// deno-coverage-ignore
|
|
103
|
+
if (first === undefined)
|
|
104
|
+
return;
|
|
105
|
+
const child = this.#children.get(first);
|
|
106
|
+
if (child instanceof Trie) {
|
|
107
|
+
child._add(rest, value);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const node = new Trie(this.looseCompare);
|
|
111
|
+
this.#children.set(first, node);
|
|
112
|
+
node._add(rest, value);
|
|
107
113
|
}
|
|
108
|
-
return;
|
|
109
114
|
}
|
|
110
115
|
/**
|
|
111
116
|
* Removes a value from the trie at the specified key
|
|
112
117
|
* @param key The key to remove the value from
|
|
113
118
|
* @param value The value to remove
|
|
114
119
|
*/
|
|
120
|
+
/**
|
|
121
|
+
* Removes a value from the trie at the specified key
|
|
122
|
+
* @param key The key to remove the value from
|
|
123
|
+
* @param value The value (or partial object) to remove
|
|
124
|
+
*/
|
|
115
125
|
remove(key, value) {
|
|
116
126
|
return this._remove(key.split(this.separator), value);
|
|
117
127
|
}
|
|
@@ -122,37 +132,47 @@ export class Trie {
|
|
|
122
132
|
*/
|
|
123
133
|
_remove(parts, value) {
|
|
124
134
|
if (parts.length === 0) {
|
|
125
|
-
const arr = this.#value
|
|
135
|
+
const arr = this.#value;
|
|
126
136
|
this.#value = arr.filter(this.filter(value));
|
|
127
137
|
return;
|
|
128
138
|
}
|
|
129
139
|
const [first, ...rest] = parts;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
140
|
+
// deno-coverage-ignore
|
|
141
|
+
if (first === undefined)
|
|
142
|
+
return;
|
|
143
|
+
const node = this.#children.get(first);
|
|
144
|
+
if (node) {
|
|
145
|
+
node._remove(rest, value);
|
|
146
|
+
if (node.#value.length === 0 && node.#children.size === 0) {
|
|
147
|
+
this.#children.delete(first);
|
|
137
148
|
}
|
|
138
149
|
}
|
|
139
150
|
}
|
|
140
151
|
/**
|
|
141
152
|
* Creates a filter function for removing values
|
|
142
|
-
*
|
|
143
|
-
* @
|
|
153
|
+
* Supports partial object matching when looseCompare is enabled or when matching objects.
|
|
154
|
+
* @param value The value (or partial value) to filter against
|
|
155
|
+
* @returns Filter function (returns true to KEEP the item, false to REMOVE it)
|
|
144
156
|
*/
|
|
145
157
|
filter(value) {
|
|
146
|
-
if (
|
|
158
|
+
if (typeof value === "object" && value !== null) {
|
|
147
159
|
return (item) => {
|
|
160
|
+
if (typeof item !== "object" || item === null) {
|
|
161
|
+
return true; // Keep if the stored item isn't an object but we are filtering by one
|
|
162
|
+
}
|
|
163
|
+
// Check if every key-value pair in our filter object matches the stored item
|
|
148
164
|
for (const key in value) {
|
|
149
|
-
if (value
|
|
150
|
-
|
|
165
|
+
if (Object.prototype.hasOwnProperty.call(value, key)) {
|
|
166
|
+
// If the stored item has a different value (or doesn't have the key), it's not a match
|
|
167
|
+
if (item[key] !== value[key]) {
|
|
168
|
+
return true; // Keep the item (no match)
|
|
169
|
+
}
|
|
151
170
|
}
|
|
152
171
|
}
|
|
153
|
-
return false;
|
|
172
|
+
return false; // Remove the item (it matches all criteria in the partial object)
|
|
154
173
|
};
|
|
155
174
|
}
|
|
175
|
+
// Fallback for primitives
|
|
156
176
|
return (item) => item !== value;
|
|
157
177
|
}
|
|
158
178
|
}
|
package/dist/trie/trie.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trie.js","sourceRoot":"","sources":["../../trie/trie.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,OAAO,IAAI;IACf,MAAM,CAAW;IACjB,SAAS,CAAuB;IACxB,SAAS,GAAG,GAAG,CAAC;IAChB,WAAW,GAAG,GAAG,CAAC;IAClB,eAAe,GAAG,GAAG,CAAC;IACtB,cAAc,GAAG,GAAG,CAAC;IACrB,YAAY,CAAU;IAE9B;;;OAGG;IACH,YAAY,YAAY,GAAG,KAAK;QAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAa,EAAE,KAAY;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAW;QACf,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,KAAY;QAC/B,
|
|
1
|
+
{"version":3,"file":"trie.js","sourceRoot":"","sources":["../../trie/trie.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../utils/assert.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;IACvC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../utils/assert.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;IACvC,iCAAiC;IACjC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,gEAAgE;AAChE,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAK,GAAG,OAAO,CAAC,IAAI,CAI5D"}
|
|
@@ -23,4 +23,4 @@ export declare class BufferedAsyncIterable<T> implements AsyncIterable<T> {
|
|
|
23
23
|
readonly push: (item: T) => void | Promise<void>;
|
|
24
24
|
get isDone(): boolean;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=bufferedAsyncIterable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bufferedAsyncIterable.d.ts","sourceRoot":"","sources":["../../utils/bufferedAsyncIterable.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;;IAC/D,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,IAAI,CAAS;IAIrB,YAAY,UAAU,GAAE,MAAa,EAGpC;IAEM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAIzE;IAED,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAUrB;IAED,KAAK,CAAC,MAAM,SAAW,GAAG,IAAI,CAK7B;IAED,QAAQ,CAAC,IAAI,SAAU,CAAC,KAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7C;IAEF,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bufferedAsyncIterable.js","sourceRoot":"","sources":["../../utils/bufferedAsyncIterable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,qBAAqB;IACxB,MAAM,CAAgB;IACtB,UAAU,CAAS;IAEnB,IAAI,GAAG,KAAK,CAAC;IAErB,KAAK,CAA2B;IAEhC,YAAY,UAAU,GAAW,IAAI;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI;QACF,oBAAoB;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAG,CAAC;QAChC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,EAAK,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM,GAAG,QAAQ;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEQ,IAAI,GAAG,CAAC,IAAO,EAAwB,EAAE;QAChD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,8EAA8E;YAC9E,6EAA6E;YAC7E,6EAA6E;YAC7E,2EAA2E;YAC3E,+EAA+E;YAC/E,oCAAoC;YACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred.d.ts","sourceRoot":"","sources":["../../utils/deferred.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"deferred.d.ts","sourceRoot":"","sources":["../../utils/deferred.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAG,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,MAAM,EAAG,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAE9B,cAKC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../utils/deferred.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../utils/deferred.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,QAAQ;IACnB,OAAO,CAAa;IACpB,OAAO,CAAoB;IAC3B,MAAM,CAAwB;IAE9B;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOrInsertPolyFill.d.ts","sourceRoot":"","sources":["../../utils/getOrInsertPolyFill.ts"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAM5E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Node 26 has getOrInsert by default.
|
|
3
|
+
This is a polyfill for older versions
|
|
4
|
+
*/
|
|
5
|
+
export function getOrInsert(map, key, defaultValue) {
|
|
6
|
+
if (map.has(key)) {
|
|
7
|
+
return map.get(key);
|
|
8
|
+
}
|
|
9
|
+
map.set(key, defaultValue);
|
|
10
|
+
return defaultValue;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=getOrInsertPolyFill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOrInsertPolyFill.js","sourceRoot":"","sources":["../../utils/getOrInsertPolyFill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,WAAW,CAAO,GAAc,EAAE,GAAM,EAAE,YAAe;IACvE,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC3B,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The available log levels
|
|
2
|
+
* The available log levels used to filter messages.
|
|
3
3
|
*/
|
|
4
4
|
export declare const LogLevel: {
|
|
5
|
+
/** Crucial application errors or failures. */
|
|
5
6
|
readonly error: 0;
|
|
7
|
+
/** Non-fatal warnings that indicate unexpected behavior. */
|
|
6
8
|
readonly warn: 1;
|
|
9
|
+
/** Informational statements highlighting general operational flow. */
|
|
7
10
|
readonly info: 2;
|
|
11
|
+
/** Detailed tracing and comprehensive runtime statements. */
|
|
8
12
|
readonly verbose: 3;
|
|
13
|
+
/** High-density internal troubleshooting logs. */
|
|
9
14
|
readonly debug: 4;
|
|
10
15
|
};
|
|
11
|
-
export type TLogLevel = typeof LogLevel[keyof typeof LogLevel];
|
|
12
16
|
/**
|
|
13
|
-
*
|
|
17
|
+
* Union type representing the permitted numeric log level indices.
|
|
18
|
+
*/
|
|
19
|
+
export type LogLevel = typeof LogLevel[keyof typeof LogLevel];
|
|
20
|
+
/**
|
|
21
|
+
* Simple logger class providing level-configurable output routing.
|
|
22
|
+
* @class Logger
|
|
23
|
+
*
|
|
14
24
|
* @example
|
|
15
25
|
* ```ts
|
|
16
26
|
* const logger = new Logger();
|
|
@@ -23,21 +33,48 @@ export type TLogLevel = typeof LogLevel[keyof typeof LogLevel];
|
|
|
23
33
|
* ```
|
|
24
34
|
*/
|
|
25
35
|
export declare class Logger {
|
|
36
|
+
/** Native console reference used to output critical errors. */
|
|
26
37
|
private defaultError;
|
|
38
|
+
/** Native console reference used to output warning flags. */
|
|
27
39
|
private defaultWarn;
|
|
40
|
+
/** Native console reference used to output standard runtime indicators. */
|
|
28
41
|
private defaultInfo;
|
|
42
|
+
/** Native console reference used to track granular metrics and details. */
|
|
29
43
|
private defaultVerbose;
|
|
44
|
+
/** Native console reference used to step through highly specific operations. */
|
|
30
45
|
private defaultDebug;
|
|
46
|
+
/** Flag indicating if error messages should be logged. */
|
|
47
|
+
isError: boolean;
|
|
48
|
+
/** Flag indicating if warning messages should be logged. */
|
|
49
|
+
isWarn: boolean;
|
|
50
|
+
/** Flag indicating if informational messages should be logged. */
|
|
51
|
+
isInfo: boolean;
|
|
52
|
+
/** Flag indicating if verbose messages should be logged. */
|
|
53
|
+
isVerbose: boolean;
|
|
54
|
+
/** Flag indicating if debug messages should be logged. */
|
|
55
|
+
isDebug: boolean;
|
|
56
|
+
/** Log an error message to the standard error stream. */
|
|
31
57
|
error: typeof console.log;
|
|
58
|
+
/** Log a warning message if the active log level permits. */
|
|
32
59
|
warn: typeof console.log;
|
|
60
|
+
/** Log an informational status update if the active log level permits. */
|
|
33
61
|
info: typeof console.log;
|
|
62
|
+
/** Log extended telemetry notes if the active log level permits. */
|
|
34
63
|
verbose: typeof console.log;
|
|
64
|
+
/** Log debug parameters and objects if the active log level permits. */
|
|
35
65
|
debug: typeof console.log;
|
|
66
|
+
/** Creates a wrapper function that evaluates lazy log arguments before invoking the target logging function. */
|
|
67
|
+
private createLogFn;
|
|
68
|
+
/** Create a new Logger instance. */
|
|
36
69
|
constructor();
|
|
37
|
-
|
|
70
|
+
/**
|
|
71
|
+
* Adjusts the current verbosity threshold, enabling or masking specific log outputs.
|
|
72
|
+
* @param {LogLevel} logLevel - The minimum numeric severity level threshold to output.
|
|
73
|
+
*/
|
|
74
|
+
level(logLevel: LogLevel): void;
|
|
38
75
|
}
|
|
39
76
|
/**
|
|
40
|
-
*
|
|
77
|
+
* Provides a single pre-configured global logger instance.
|
|
41
78
|
* @example
|
|
42
79
|
* ```ts
|
|
43
80
|
* import { logger } from "./utils/logger.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../utils/logger.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../utils/logger.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,8CAA8C;aAC9C,KAAK,EAAE,CAAC;IACR,4DAA4D;aAC5D,IAAI,EAAE,CAAC;IACP,sEAAsE;aACtE,IAAI,EAAE,CAAC;IACP,6DAA6D;aAC7D,OAAO,EAAE,CAAC;IACV,kDAAkD;aAClD,KAAK,EAAE,CAAC;CACA,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAI9D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,MAAM;IACjB,+DAA+D;IAC/D,OAAO,CAAC,YAAY,CAAiB;IACrC,6DAA6D;IAC7D,OAAO,CAAC,WAAW,CAAgB;IACnC,2EAA2E;IAC3E,OAAO,CAAC,WAAW,CAAgB;IACnC,2EAA2E;IAC3E,OAAO,CAAC,cAAc,CAAe;IACrC,gFAAgF;IAChF,OAAO,CAAC,YAAY,CAAe;IAEnC,0DAA0D;IAC1D,OAAO,UAAQ;IACf,4DAA4D;IAC5D,MAAM,UAAQ;IACd,kEAAkE;IAClE,MAAM,UAAQ;IACd,4DAA4D;IAC5D,SAAS,UAAS;IAClB,0DAA0D;IAC1D,OAAO,UAAS;IAEhB,yDAAyD;IACzD,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,CAAqB;IAC9C,6DAA6D;IAC7D,IAAI,EAAE,OAAO,OAAO,CAAC,GAAG,CAAoB;IAC5C,0EAA0E;IAC1E,IAAI,EAAE,OAAO,OAAO,CAAC,GAAG,CAAoB;IAC5C,oEAAoE;IACpE,OAAO,EAAE,OAAO,OAAO,CAAC,GAAG,CAAQ;IACnC,wEAAwE;IACxE,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,CAAQ;IAEjC,gHAAgH;IAEhH,OAAO,CAAC,WAAW;IASnB,oCAAoC;IACpC,cAAgB;IAEhB;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,QAWvB;CACF;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,EAAE,MAAqB,CAAC"}
|
package/dist/utils/logger.js
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { noop } from "./utils.js";
|
|
2
2
|
/**
|
|
3
|
-
* The available log levels
|
|
3
|
+
* The available log levels used to filter messages.
|
|
4
4
|
*/
|
|
5
5
|
export const LogLevel = {
|
|
6
|
+
/** Crucial application errors or failures. */
|
|
6
7
|
error: 0,
|
|
8
|
+
/** Non-fatal warnings that indicate unexpected behavior. */
|
|
7
9
|
warn: 1,
|
|
10
|
+
/** Informational statements highlighting general operational flow. */
|
|
8
11
|
info: 2,
|
|
12
|
+
/** Detailed tracing and comprehensive runtime statements. */
|
|
9
13
|
verbose: 3,
|
|
14
|
+
/** High-density internal troubleshooting logs. */
|
|
10
15
|
debug: 4,
|
|
11
16
|
};
|
|
12
17
|
/**
|
|
13
|
-
* Simple logger class
|
|
18
|
+
* Simple logger class providing level-configurable output routing.
|
|
19
|
+
* @class Logger
|
|
20
|
+
*
|
|
14
21
|
* @example
|
|
15
22
|
* ```ts
|
|
16
23
|
* const logger = new Logger();
|
|
@@ -23,26 +30,65 @@ export const LogLevel = {
|
|
|
23
30
|
* ```
|
|
24
31
|
*/
|
|
25
32
|
export class Logger {
|
|
33
|
+
/** Native console reference used to output critical errors. */
|
|
26
34
|
defaultError = console.error;
|
|
35
|
+
/** Native console reference used to output warning flags. */
|
|
27
36
|
defaultWarn = console.warn;
|
|
37
|
+
/** Native console reference used to output standard runtime indicators. */
|
|
28
38
|
defaultInfo = console.info;
|
|
39
|
+
/** Native console reference used to track granular metrics and details. */
|
|
29
40
|
defaultVerbose = console.log;
|
|
41
|
+
/** Native console reference used to step through highly specific operations. */
|
|
30
42
|
defaultDebug = console.log;
|
|
43
|
+
/** Flag indicating if error messages should be logged. */
|
|
44
|
+
isError = true;
|
|
45
|
+
/** Flag indicating if warning messages should be logged. */
|
|
46
|
+
isWarn = true;
|
|
47
|
+
/** Flag indicating if informational messages should be logged. */
|
|
48
|
+
isInfo = true;
|
|
49
|
+
/** Flag indicating if verbose messages should be logged. */
|
|
50
|
+
isVerbose = false;
|
|
51
|
+
/** Flag indicating if debug messages should be logged. */
|
|
52
|
+
isDebug = false;
|
|
53
|
+
/** Log an error message to the standard error stream. */
|
|
31
54
|
error = this.defaultError;
|
|
55
|
+
/** Log a warning message if the active log level permits. */
|
|
32
56
|
warn = this.defaultWarn;
|
|
57
|
+
/** Log an informational status update if the active log level permits. */
|
|
33
58
|
info = this.defaultInfo;
|
|
59
|
+
/** Log extended telemetry notes if the active log level permits. */
|
|
34
60
|
verbose = noop;
|
|
61
|
+
/** Log debug parameters and objects if the active log level permits. */
|
|
35
62
|
debug = noop;
|
|
63
|
+
/** Creates a wrapper function that evaluates lazy log arguments before invoking the target logging function. */
|
|
64
|
+
// deno-lint-ignore no-explicit-any
|
|
65
|
+
createLogFn(targetFn) {
|
|
66
|
+
return (...args) => {
|
|
67
|
+
const evaluated = args.map((arg) => (typeof arg === "function" ? arg() : arg));
|
|
68
|
+
targetFn(...evaluated);
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/** Create a new Logger instance. */
|
|
36
72
|
constructor() { }
|
|
73
|
+
/**
|
|
74
|
+
* Adjusts the current verbosity threshold, enabling or masking specific log outputs.
|
|
75
|
+
* @param {LogLevel} logLevel - The minimum numeric severity level threshold to output.
|
|
76
|
+
*/
|
|
37
77
|
level(logLevel) {
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
78
|
+
this.isWarn = logLevel >= LogLevel.warn;
|
|
79
|
+
this.isInfo = logLevel >= LogLevel.info;
|
|
80
|
+
this.isVerbose = logLevel >= LogLevel.verbose;
|
|
81
|
+
this.isDebug = logLevel >= LogLevel.debug;
|
|
82
|
+
this.warn = this.isWarn ? this.createLogFn(this.defaultWarn) : noop;
|
|
83
|
+
this.info = this.isInfo ? this.createLogFn(this.defaultInfo) : noop;
|
|
84
|
+
this.verbose = this.isVerbose
|
|
85
|
+
? this.createLogFn(this.defaultVerbose)
|
|
86
|
+
: noop;
|
|
87
|
+
this.debug = this.isDebug ? this.createLogFn(this.defaultDebug) : noop;
|
|
42
88
|
}
|
|
43
89
|
}
|
|
44
90
|
/**
|
|
45
|
-
*
|
|
91
|
+
* Provides a single pre-configured global logger instance.
|
|
46
92
|
* @example
|
|
47
93
|
* ```ts
|
|
48
94
|
* import { logger } from "./utils/logger.ts";
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;CACA,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../utils/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/mod.d.ts
CHANGED
|
@@ -5,5 +5,10 @@
|
|
|
5
5
|
export { assert } from "./assert.ts";
|
|
6
6
|
export { Deferred } from "./deferred.ts";
|
|
7
7
|
export { Logger, logger, LogLevel } from "./logger.ts";
|
|
8
|
-
export { BufferedAsyncIterable } from "./
|
|
8
|
+
export { BufferedAsyncIterable } from "./bufferedAsyncIterable.ts";
|
|
9
|
+
export { joinTopicFilter, parseTopicFilter, topicFilterToRegExp, } from "./topicFilter.ts";
|
|
10
|
+
export { OutboundTopicAliasManager } from "./outboundTopicAliasManager.ts";
|
|
11
|
+
export type { OutboundTopicAlias } from "./outboundTopicAliasManager.ts";
|
|
12
|
+
export { hasWildcards, invalidmaxTopicLevels, invalidTopic, invalidTopicFilter, } from "./validators.ts";
|
|
13
|
+
export { delay, noop } from "./utils.ts";
|
|
9
14
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/utils/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../utils/mod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../utils/mod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,YAAY,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/utils/mod.js
CHANGED
|
@@ -5,5 +5,9 @@
|
|
|
5
5
|
export { assert } from "./assert.js";
|
|
6
6
|
export { Deferred } from "./deferred.js";
|
|
7
7
|
export { Logger, logger, LogLevel } from "./logger.js";
|
|
8
|
-
export { BufferedAsyncIterable } from "./
|
|
8
|
+
export { BufferedAsyncIterable } from "./bufferedAsyncIterable.js";
|
|
9
|
+
export { joinTopicFilter, parseTopicFilter, topicFilterToRegExp, } from "./topicFilter.js";
|
|
10
|
+
export { OutboundTopicAliasManager } from "./outboundTopicAliasManager.js";
|
|
11
|
+
export { hasWildcards, invalidmaxTopicLevels, invalidTopic, invalidTopicFilter, } from "./validators.js";
|
|
12
|
+
export { delay, noop } from "./utils.js";
|
|
9
13
|
//# sourceMappingURL=mod.js.map
|
package/dist/utils/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../utils/mod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../utils/mod.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents the result of processing an outbound topic name,
|
|
3
|
+
* containing either the original topic name, a topic alias integer, or both.
|
|
4
|
+
*/
|
|
5
|
+
export interface OutboundTopicAlias {
|
|
6
|
+
/**
|
|
7
|
+
* The topic name.
|
|
8
|
+
* Will be empty (`""`) when a valid alias mapping has already been established.
|
|
9
|
+
*/
|
|
10
|
+
topicName: string;
|
|
11
|
+
/**
|
|
12
|
+
* The numeric alias assigned to the topic, if aliases are enabled.
|
|
13
|
+
*/
|
|
14
|
+
topicAlias?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Manages outbound MQTT topic aliases using a Least Recently Used (LRU) caching strategy.
|
|
18
|
+
*/
|
|
19
|
+
export declare class OutboundTopicAliasManager {
|
|
20
|
+
/**
|
|
21
|
+
* The maximum number of topic aliases supported by the broker/client.
|
|
22
|
+
*/
|
|
23
|
+
private readonly maxAliases;
|
|
24
|
+
/**
|
|
25
|
+
* Internal mapping from topic names to assigned aliases.
|
|
26
|
+
* Leverages JavaScript's Map insertion-order behavior to act as an LRU cache.
|
|
27
|
+
*/
|
|
28
|
+
private readonly topicToAlias;
|
|
29
|
+
/**
|
|
30
|
+
* Creates an instance of `OutboundTopicAliasManager`.
|
|
31
|
+
*
|
|
32
|
+
* @param clientTopicAliasMaximum - The maximum number of topic aliases allowed (defaults to `0`, meaning disabled).
|
|
33
|
+
*/
|
|
34
|
+
constructor(clientTopicAliasMaximum?: number);
|
|
35
|
+
/**
|
|
36
|
+
* Processes an outbound topic name and returns the appropriate payload metadata
|
|
37
|
+
* (`OutboundTopcAlias`) based on alias availability and caching state.
|
|
38
|
+
*
|
|
39
|
+
* - If aliases are disabled (`maxAliases === 0`), returns only the original `topicName`.
|
|
40
|
+
* - If the topic is already cached (cache hit), refreshes its LRU position and returns the `topicAlias` with an empty `topicName`.
|
|
41
|
+
* - If the topic is not cached (cache miss), assigns a new alias or evicts the least recently used topic alias mapping.
|
|
42
|
+
*
|
|
43
|
+
* @param topic - The outbound MQTT topic name to process.
|
|
44
|
+
* @returns An object containing the formatted `topicName` and optional `topicAlias`.
|
|
45
|
+
*/
|
|
46
|
+
processTopic(topic: string): OutboundTopicAlias;
|
|
47
|
+
/**
|
|
48
|
+
* Clears all internal topic alias mappings and releases cached resources.
|
|
49
|
+
*/
|
|
50
|
+
destroy(): void;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=outboundTopicAliasManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outboundTopicAliasManager.d.ts","sourceRoot":"","sources":["../../utils/outboundTopicAliasManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAEnD;;;;OAIG;IACH,YAAY,uBAAuB,GAAE,MAAU,EAG9C;IAED;;;;;;;;;;OAUG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAsCrD;IAED;;OAEG;IACI,OAAO,IAAI,IAAI,CAErB;CACF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages outbound MQTT topic aliases using a Least Recently Used (LRU) caching strategy.
|
|
3
|
+
*/
|
|
4
|
+
export class OutboundTopicAliasManager {
|
|
5
|
+
/**
|
|
6
|
+
* The maximum number of topic aliases supported by the broker/client.
|
|
7
|
+
*/
|
|
8
|
+
maxAliases;
|
|
9
|
+
/**
|
|
10
|
+
* Internal mapping from topic names to assigned aliases.
|
|
11
|
+
* Leverages JavaScript's Map insertion-order behavior to act as an LRU cache.
|
|
12
|
+
*/
|
|
13
|
+
topicToAlias;
|
|
14
|
+
/**
|
|
15
|
+
* Creates an instance of `OutboundTopicAliasManager`.
|
|
16
|
+
*
|
|
17
|
+
* @param clientTopicAliasMaximum - The maximum number of topic aliases allowed (defaults to `0`, meaning disabled).
|
|
18
|
+
*/
|
|
19
|
+
constructor(clientTopicAliasMaximum = 0) {
|
|
20
|
+
this.maxAliases = clientTopicAliasMaximum;
|
|
21
|
+
this.topicToAlias = new Map();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Processes an outbound topic name and returns the appropriate payload metadata
|
|
25
|
+
* (`OutboundTopcAlias`) based on alias availability and caching state.
|
|
26
|
+
*
|
|
27
|
+
* - If aliases are disabled (`maxAliases === 0`), returns only the original `topicName`.
|
|
28
|
+
* - If the topic is already cached (cache hit), refreshes its LRU position and returns the `topicAlias` with an empty `topicName`.
|
|
29
|
+
* - If the topic is not cached (cache miss), assigns a new alias or evicts the least recently used topic alias mapping.
|
|
30
|
+
*
|
|
31
|
+
* @param topic - The outbound MQTT topic name to process.
|
|
32
|
+
* @returns An object containing the formatted `topicName` and optional `topicAlias`.
|
|
33
|
+
*/
|
|
34
|
+
processTopic(topic) {
|
|
35
|
+
if (this.maxAliases === 0) {
|
|
36
|
+
return { topicName: topic };
|
|
37
|
+
}
|
|
38
|
+
// Cache Hit -> Refresh LRU-position in Map
|
|
39
|
+
if (this.topicToAlias.has(topic)) {
|
|
40
|
+
const alias = this.topicToAlias.get(topic);
|
|
41
|
+
this.topicToAlias.delete(topic);
|
|
42
|
+
this.topicToAlias.set(topic, alias);
|
|
43
|
+
return {
|
|
44
|
+
topicName: "",
|
|
45
|
+
topicAlias: alias,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Cache Miss
|
|
49
|
+
let assignedAlias;
|
|
50
|
+
if (this.topicToAlias.size < this.maxAliases) {
|
|
51
|
+
// While there is space, simply assign the next alias (1, 2, 3...)
|
|
52
|
+
assignedAlias = this.topicToAlias.size + 1;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// Cache full: reuse the alias of the least used topic (first key in the Map)
|
|
56
|
+
const lruTopic = this.topicToAlias.keys().next().value;
|
|
57
|
+
assignedAlias = this.topicToAlias.get(lruTopic);
|
|
58
|
+
this.topicToAlias.delete(lruTopic);
|
|
59
|
+
}
|
|
60
|
+
// Store the new topic
|
|
61
|
+
this.topicToAlias.set(topic, assignedAlias);
|
|
62
|
+
return {
|
|
63
|
+
topicName: topic,
|
|
64
|
+
topicAlias: assignedAlias,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Clears all internal topic alias mappings and releases cached resources.
|
|
69
|
+
*/
|
|
70
|
+
destroy() {
|
|
71
|
+
this.topicToAlias.clear();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=outboundTopicAliasManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outboundTopicAliasManager.js","sourceRoot":"","sources":["../../utils/outboundTopicAliasManager.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpC;;OAEG;IACc,UAAU,CAAS;IAEpC;;;OAGG;IACc,YAAY,CAAsB;IAEnD;;;;OAIG;IACH,YAAY,uBAAuB,GAAW,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACI,YAAY,CAAC,KAAa;QAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAEpC,OAAO;gBACL,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,CAAC;QAED,aAAa;QACb,IAAI,aAAqB,CAAC;QAE1B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7C,kEAAkE;YAClE,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACvD,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAS,CAAE,CAAC;YAElD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;QACtC,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAE5C,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,aAAa;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../utils/queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,qBAAa,UAAU,CAAC,CAAC;IACvB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAAa;IAE9B;;;OAGG;IACI,IAAI,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../utils/queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,qBAAa,UAAU,CAAC,CAAC;IACvB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAAa;IAE9B;;;OAGG;IACI,IAAI,IAAI,MAAM,CAEpB;IACD;;;OAGG;IACI,OAAO,IAAI,OAAO,CAExB;IACD;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAE5B;IACD;;;;OAIG;IACI,OAAO,IAAI,CAAC,GAAG,SAAS,CAgB9B;CACF"}
|