PhoenixKit.Notifications.Channels (phoenix_kit v1.7.221)

Copy Markdown View Source

Registry of notification delivery channels.

list/0 returns core channels first, then channels contributed by feature modules via PhoenixKit.Module's notification_channels/0 — the same core-first, dedupe-by-key, rescue-guarded merge that PhoenixKit.Notifications.Types.list/0 uses for types. A module channel whose key/0 collides with a core (or already-seen) key is dropped with a warning, so core always wins.

Every entry is a module implementing PhoenixKit.Notifications.Channel.

Summary

Functions

The channel module for key, or nil.

All channel keys, in list/0 order.

All registered channel modules — core first, then valid module-contributed ones, with duplicate keys rejected (first claim wins).

Functions

get(key)

@spec get(String.t()) :: module() | nil

The channel module for key, or nil.

keys()

@spec keys() :: [String.t()]

All channel keys, in list/0 order.

list()

@spec list() :: [module()]

All registered channel modules — core first, then valid module-contributed ones, with duplicate keys rejected (first claim wins).