Library adapter to use Phoenix.js as a saga. Inspired by @trixta/phoenix-to-redux
Library support only one socket at a time.
Phoenix.js Channel's adapter.
Join to socket's channel Related Phoenix.js documentation.
Kind: static method of Channel
| Param | Type | Description |
|---|---|---|
| topic | string |
Channel's topic name |
| [opts] | Object |
Opts of socket's channel. |
| [opts.events] | Array.<Object> |
Array of events to watch. |
| opts.events[].name | string |
Event to listen to on current channel. |
| opts.events[].saga | Generator |
Saga to trigger on event. |
| [opts.chanParams] | Object |
Parameters for the channel, for example {token: roomToken}. |
| [opts.onErrorSaga] | Generator |
Saga to trigger on error. |
Leave socket's channel
Kind: static method of Channel
| Param | Type | Description |
|---|---|---|
| topic | string |
Channel's topic name |
Push event to socket's channel
Kind: static method of Channel
| Param | Type | Description |
|---|---|---|
| topic | string |
Channel's topic name |
| event | string |
Event name, for example "phx_join" |
| [payload] | Object |
The payload, for example {user_id: 123} |
| [opts] | Object |
Options of push event: |
| [opts.onReplySaga] | Generator |
Callback saga to trigger on success response |
| [opts.onErrorSaga] | Generator |
Callback saga to trigger on error response |
| [opts.onTimeoutSaga] | Generator |
Callback saga to trigger on timeout |
| [opts.timeout] | number |
The push timeout in milliseconds |
Phoenix.js Socket's adapter.
Create socket connection saga Phoenix.js socket options.
Kind: static method of Socket
| Param | Type | Description |
|---|---|---|
| endPoint | string |
The string WebSocket endpoint, ie, "ws://example.com/socket" , "wss://example.com" "/socket" (inherited host & protocol) |
| [opts] | Object |
Opts on socket connection. |
Disconnect from socket saga. Phoenix.js disconnect socket documentation.
Kind: static method of Socket
| Param | Type | Description |
|---|---|---|
| [code] | integer |
A status code for disconnection (Optional) See Mozilla documentation for valid status codes.. |
| [reason] | string |
A textual description of the reason to disconnect. |
Add ...newPhoenixReducer to your combineReducers functions;
import { phoenixReducer } from "@x-qdo/phoenix-redux-saga";
...
export const rootReducer = (history) => combineReducers({
...newPhoenixReducer,
myOtherReducer,
myOtherAmazingReducer,
})
© 2021-2023 X-QDO OÜ