@x-qdo/phoenix-redux-saga

0.1.6 • Public • Published

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.

Socket

Phoenix.js Socket's adapter.

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Ü

Dependencies (3)

Dev Dependencies (1)

Package Sidebar

Install

npm i @x-qdo/phoenix-redux-saga

Weekly Downloads

7

Version

0.1.6

License

MIT

Unpacked Size

15.3 kB

Total Files

10

Last publish

Collaborators

  • ramanb
  • kuzaxak