Packages · @purista/mqttbridge

@purista/mqttbridge

Package for using an MQTT broker as event bridge.

Signature

@purista/mqttbridge.ts typescript
@purista/mqttbridge

Examples

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

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

Classes

1 entry

TopicRouter

Classes

Source
TopicRouter.ts typescript
class TopicRouter

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

Type Aliases

8 entries

GetCommandResponseSubscriptionTopicFn

Types

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

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

GetCommandTopicFn

Types

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

Function signature for building an MQTT command subscription topic filter.

GetSharedTopicNameFn

Types

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

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

GetSubscriptionTopicFn

Types

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

Function signature for building an MQTT subscription topic filter.

GetTopicNameFn

Types

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

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

IMqttBridge

Types

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

Internal receiver shape used by exported MQTT helper functions.

IncomingMessageFunction

Types

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

MQTT message handler bound to an IMqttBridge instance.

MqttBridgeConfig

Types

Source
MqttBridgeConfig.ts typescript
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.ts typescript
const getCommandResponseSubscriptionTopic: GetCommandResponseSubscriptionTopicFn

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

getCommandSubscriptionTopic

Variables

Source
getCommandSubscriptionTopic.ts typescript
const getCommandSubscriptionTopic: GetCommandTopicFn

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

getSharedTopicName

Variables

Source
getSharedTopicName.ts typescript
const getSharedTopicName: GetSharedTopicNameFn

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

getSubscriptionTopic

Variables

Source
getSubscriptionTopic.ts typescript
const getSubscriptionTopic: GetSubscriptionTopicFn

Builds the MQTT topic filter for a PURISTA subscription definition.

getTopicName

Variables

Source
getTopicName.ts typescript
const getTopicName: GetTopicNameFn

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

handleCommandResponse

Variables

Source
handleCommandResponse.ts typescript
const handleCommandResponse: IncomingMessageFunction

Handles MQTT command responses for pending invocations.

puristaVersion

Variables

Source
puristaVersion.ts typescript
const puristaVersion: "3.0.1"

The PURISTA package version embedded in the published runtime build.

Functions

5 entries

getCommandHandler

Functions

Source
getCommandHandler.ts typescript
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.ts typescript
getDefaultMqttBridgeConfig(): { allowRetries: boolean; defaultMessageExpiryInterval: number; defaultSessionExpiryInterval: number; emptyTopicPartString: string; qosCommand: QoS; qoSSubscription: QoS; ... }

getSubscriptionHandler

Functions

Source
getSubscriptionHandler.ts typescript
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.ts typescript
isMatchingTopic(input: string, pattern: string): boolean

msToSec

Functions

Source
msToSec.ts typescript
msToSec(ms: number): number

Event bridge

1 entry

MqttBridge

Classes

Source
MqttBridge.ts typescript
class MqttBridge

EventBridge implementation for MQTT 5 brokers.