Packages · @purista/mqttbridge

@purista/mqttbridge

Package for using an MQTT broker as event bridge.

Signature

@purista/mqttbridge.tstypescript
@purista/mqttbridge

Examples

example-1.tstypescript
import { MqttBridge } from '@purista/mqttbridge'

// create and init our eventbridge
const eventBridge = new MqttBridge()
await eventBridge.start()

Classes

1 entry

TopicRouter

Classes

Source
TopicRouter.tstypescript
class TopicRouter

Local MQTT topic router keyed by subscription identifiers and topic filters.

Type Aliases

8 entries

GetCommandResponseSubscriptionTopicFn

Types

Source
GetCommandResponseSubscriptionTopicFn.tstypescript
type GetCommandResponseSubscriptionTopicFn = (this: IMqttBridge) => string

Function signature for building this instance's MQTT command response topic filter.

GetCommandTopicFn

Types

Source
GetCommandTopicFn.tstypescript
type GetCommandTopicFn = (this: IMqttBridge, address: EBMessageAddress) => string

Function signature for building an MQTT command subscription topic filter.

GetSharedTopicNameFn

Types

Source
GetSharedTopicNameFn.tstypescript
type GetSharedTopicNameFn = (this: IMqttBridge, topic: string) => string

Function signature for wrapping an MQTT topic as a shared subscription.

GetSubscriptionTopicFn

Types

Source
GetSubscriptionTopicFn.tstypescript
type GetSubscriptionTopicFn = (this: IMqttBridge, subscription: Subscription) => string

Function signature for building an MQTT subscription topic filter.

GetTopicNameFn

Types

Source
GetTopicNameFn.tstypescript
type GetTopicNameFn = (this: IMqttBridge, message: EBMessage) => string

Function signature for building an MQTT publish topic from a PURISTA message.

IMqttBridge

Types

Source
IMqttBridge.tstypescript
type IMqttBridge = { client: MqttClient | undefined; pendingInvocations: PendingInvocationRegistry<unknown> } & EventBridgeBaseClass<MqttBridgeConfig>

Internal receiver shape used by exported MQTT helper functions.

IncomingMessageFunction

Types

Source
IncomingMessageFunction.tstypescript
type IncomingMessageFunction = (this: IMqttBridge, payload: EBMessage, packet: IPublishPacket) => Promise<void>

MQTT message handler bound to an IMqttBridge instance.

MqttBridgeConfig

Types

Source
MqttBridgeConfig.tstypescript
type MqttBridgeConfig = Prettify<{ allowRetries: boolean; defaultMessageExpiryInterval: number; defaultSessionExpiryInterval: number; emptyTopicPartString: string; qosCommand: QoS; qoSSubscription: QoS; ... } & IClientOptions>

Configuration for MqttBridge.

Variables

7 entries

getCommandResponseSubscriptionTopic

Variables

Source
getCommandResponseSubscriptionTopic.tstypescript
const getCommandResponseSubscriptionTopic: GetCommandResponseSubscriptionTopicFn

Builds the MQTT topic filter used to receive command responses for the current bridge instance.

getCommandSubscriptionTopic

Variables

Source
getCommandSubscriptionTopic.tstypescript
const getCommandSubscriptionTopic: GetCommandTopicFn

Builds the MQTT topic filter used by command handlers for one service address.

getSharedTopicName

Variables

Source
getSharedTopicName.tstypescript
const getSharedTopicName: GetSharedTopicNameFn

Wraps a topic with the configured MQTT shared-subscription prefix and group.

getSubscriptionTopic

Variables

Source
getSubscriptionTopic.tstypescript
const getSubscriptionTopic: GetSubscriptionTopicFn

Builds the MQTT topic filter for a PURISTA subscription definition.

getTopicName

Variables

Source
getTopicName.tstypescript
const getTopicName: GetTopicNameFn

Calculates the MQTT topic name for a message which should be sent.

handleCommandResponse

Variables

Source
handleCommandResponse.tstypescript
const handleCommandResponse: IncomingMessageFunction

Handles MQTT command responses for pending invocations.

puristaVersion

Variables

Source
puristaVersion.tstypescript
const puristaVersion: "3.2.3"

Functions

5 entries

getCommandHandler

Functions

Source
getCommandHandler.tstypescript
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): IncomingMessageFunction

getDefaultMqttBridgeConfig

Functions

Source
getDefaultMqttBridgeConfig.tstypescript
getDefaultMqttBridgeConfig(): { allowRetries: boolean; defaultMessageExpiryInterval: number; defaultSessionExpiryInterval: number; emptyTopicPartString: string; qosCommand: QoS; qoSSubscription: QoS; ... }

getSubscriptionHandler

Functions

Source
getSubscriptionHandler.tstypescript
getSubscriptionHandler(_subscription: Subscription, cb: (message: EBMessage) => Promise<Omit<{ contentEncoding: unknown; contentType: unknown; correlationId: unknown; eventName: unknown; id: unknown; messageType: unknown; ... }, unknown | unknown> | undefined>): IncomingMessageFunction

isMatchingTopic

Functions

Source
isMatchingTopic.tstypescript
isMatchingTopic(input: string, pattern: string): boolean

msToSec

Functions

Source
msToSec.tstypescript
msToSec(ms: number): number

Event bridge

1 entry

MqttBridge

Classes

Source
MqttBridge.tstypescript
class MqttBridge

EventBridge implementation for MQTT 5 brokers.