@x-qdo/phoenix-redux-saga
v0.1.6
Published
phoenixjs to saga adapter
Readme
phoenix-redux-saga
Library adapter to use Phoenix.js as a saga. Inspired by @trixta/phoenix-to-redux
Known limitations
Library support only one socket at a time.
Modules
Channel
Phoenix.js Channel's adapter.
Channel.joinToChannelSaga(topic, [opts])
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. |
Channel.leaveChannelSaga(topic)
Leave socket's channel
Kind: static method of Channel
| Param | Type | Description | | --- | --- | --- | | topic | string | Channel's topic name |
Channel.pushToChannelSaga(topic, event, [payload], [opts])
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 |
Socket
Phoenix.js Socket's adapter.
Socket.connectToSocketSaga(endPoint, [opts])
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. |
Socket.disconnectSocketSaga([code], [reason])
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. |
Installation
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Ü
