UNPKG

raiden-ts

Version:

Raiden Light Client Typescript/Javascript SDK

35 lines 1.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /** * state.iou reducer * Handles all iou actions and requests * * @param state - Current RaidenState['iou'] slice * @param action - RaidenAction to handle * @returns New RaidenState['iou'] slice */ const unset_1 = __importDefault(require("lodash/fp/unset")); const state_1 = require("../state"); const actions_1 = require("../utils/actions"); const redux_1 = require("../utils/redux"); const actions_2 = require("./actions"); const iou = (0, actions_1.createReducer)(state_1.initialState.iou) .handle(actions_2.iouPersist, (state, action) => ({ ...state, [action.meta.tokenNetwork]: { ...state[action.meta.tokenNetwork], [action.meta.serviceAddress]: action.payload.iou, }, })) .handle(actions_2.iouClear, (state, action) => (0, unset_1.default)([action.meta.tokenNetwork, action.meta.serviceAddress], state)); const services = (0, actions_1.createReducer)(state_1.initialState.services).handle(actions_2.servicesValid, (_s, action) => action.payload); /** * Nested combined reducer for iou * Handles the 'iou' substate. */ const servicesReducer = (0, redux_1.partialCombineReducers)({ iou, services }, state_1.initialState); exports.default = servicesReducer; //# sourceMappingURL=reducer.js.map