raiden-ts
Version:
Raiden Light Client Typescript/Javascript SDK
31 lines • 1.23 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const isEqual_1 = __importDefault(require("lodash/isEqual"));
const state_1 = require("../state");
const actions_1 = require("../utils/actions");
const redux_1 = require("../utils/redux");
const actions_2 = require("./actions");
/**
* state.transport reducer
* Handles all transport actions and requests
*
* @param state - Current RaidenState['transport'] slice
* @param action - RaidenAction to handle
* @returns New RaidenState['transport'] slice
*/
const transport = (0, actions_1.createReducer)(state_1.initialState.transport).handle(actions_2.matrixSetup, (state, action) => {
// immutably remove rooms from state.transport
if (!(0, isEqual_1.default)(state, action.payload))
state = action.payload;
return state;
});
/**
* Nested/combined reducer for transport
* Currently only handles 'transport' substate
*/
const transportReducer = (0, redux_1.partialCombineReducers)({ transport }, state_1.initialState);
exports.default = transportReducer;
//# sourceMappingURL=reducer.js.map