Packages · @purista/mqttbridge
@purista/mqttbridge
Package for using an MQTT broker as event bridge.
Signature
@purista/mqttbridgeExamples
import { MqttBridge } from '@purista/mqttbridge'
// create and init our eventbridge
const eventBridge = new MqttBridge()
await eventBridge.start()Classes
1 entry
TopicRouter
Classes
class TopicRouterLocal MQTT topic router keyed by subscription identifiers and topic filters.
Type Aliases
8 entries
GetCommandResponseSubscriptionTopicFn
Types
type GetCommandResponseSubscriptionTopicFn = (this: IMqttBridge) => stringFunction signature for building this instance's MQTT command response topic filter.
GetCommandTopicFn
Types
type GetCommandTopicFn = (this: IMqttBridge, address: EBMessageAddress) => stringFunction signature for building an MQTT command subscription topic filter.
GetSharedTopicNameFn
Types
type GetSharedTopicNameFn = (this: IMqttBridge, topic: string) => stringFunction signature for wrapping an MQTT topic as a shared subscription.
GetSubscriptionTopicFn
Types
type GetSubscriptionTopicFn = (this: IMqttBridge, subscription: Subscription) => stringFunction signature for building an MQTT subscription topic filter.
GetTopicNameFn
Types
type GetTopicNameFn = (this: IMqttBridge, message: EBMessage) => stringFunction signature for building an MQTT publish topic from a PURISTA message.
IMqttBridge
Types
type IMqttBridge = { client: MqttClient | undefined; pendingInvocations: PendingInvocationRegistry<unknown> } & EventBridgeBaseClass<MqttBridgeConfig>Internal receiver shape used by exported MQTT helper functions.
IncomingMessageFunction
Types
type IncomingMessageFunction = (this: IMqttBridge, payload: EBMessage, packet: IPublishPacket) => Promise<void>MQTT message handler bound to an IMqttBridge instance.
MqttBridgeConfig
Types
type MqttBridgeConfig = Prettify<{ allowRetries: boolean; defaultMessageExpiryInterval: number; defaultSessionExpiryInterval: number; emptyTopicPartString: string; qosCommand: QoS; qoSSubscription: QoS; ... } & IClientOptions>Configuration for MqttBridge.
Variables
7 entries
getCommandResponseSubscriptionTopic
Variables
const getCommandResponseSubscriptionTopic: GetCommandResponseSubscriptionTopicFnBuilds the MQTT topic filter used to receive command responses for the current bridge instance.
getCommandSubscriptionTopic
Variables
const getCommandSubscriptionTopic: GetCommandTopicFnBuilds the MQTT topic filter used by command handlers for one service address.
getSharedTopicName
Variables
const getSharedTopicName: GetSharedTopicNameFnWraps a topic with the configured MQTT shared-subscription prefix and group.
getSubscriptionTopic
Variables
const getSubscriptionTopic: GetSubscriptionTopicFnBuilds the MQTT topic filter for a PURISTA subscription definition.
getTopicName
Variables
const getTopicName: GetTopicNameFnCalculates the MQTT topic name for a message which should be sent.
handleCommandResponse
Variables
const handleCommandResponse: IncomingMessageFunctionHandles MQTT command responses for pending invocations.
puristaVersion
Variables
const puristaVersion: "3.2.3"Functions
5 entries
getCommandHandler
Functions
getCommandHandler(address: EBMessageAddress, cb: (message: { contentEncoding: string; contentType: string; correlationId: string; eventName: string; id: string; messageType: Command; ... }) => Promise<{ contentEncoding: "utf-8"; contentType: "application/json"; correlationId: string; eventName: string; id: string; isHandledError: boolean; ... } | { contentEncoding: string; contentType: string; correlationId: string; eventName: string; id: string; messageType: CommandSuccessResponse; ... }>, _metadata: CommandDefinitionMetadataBase, _eventBridgeConfig: DefinitionEventBridgeConfig): IncomingMessageFunctiongetDefaultMqttBridgeConfig
Functions
getDefaultMqttBridgeConfig(): { allowRetries: boolean; defaultMessageExpiryInterval: number; defaultSessionExpiryInterval: number; emptyTopicPartString: string; qosCommand: QoS; qoSSubscription: QoS; ... }getSubscriptionHandler
Functions
getSubscriptionHandler(_subscription: Subscription, cb: (message: EBMessage) => Promise<Omit<{ contentEncoding: unknown; contentType: unknown; correlationId: unknown; eventName: unknown; id: unknown; messageType: unknown; ... }, unknown | unknown> | undefined>): IncomingMessageFunctionisMatchingTopic
Functions
isMatchingTopic(input: string, pattern: string): booleanmsToSec
Functions
msToSec(ms: number): numberEvent bridge
1 entry
MqttBridge
Classes
class MqttBridgeEventBridge implementation for MQTT 5 brokers.