// Copyright 2015, 2016 Ethcore (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // Parity is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Parity. If not, see . import accountsReducer from './addresses/accounts-reducer.js'; import contactsReducer from './addresses/contacts-reducer.js'; import lookupReducer from './Lookup/reducers.js'; import eventsReducer from './Events/reducers.js'; import namesReducer from './Names/reducers.js'; import recordsReducer from './Records/reducers.js'; const contractReducer = (state = null, action) => action.type === 'set contract' ? action.contract : state; const feeReducer = (state = null, action) => action.type === 'set fee' ? action.fee : state; const ownerReducer = (state = null, action) => action.type === 'set owner' ? action.owner : state; const initialState = { accounts: accountsReducer(undefined, { type: '' }), contacts: contactsReducer(undefined, { type: '' }), contract: contractReducer(undefined, { type: '' }), fee: feeReducer(undefined, { type: '' }), owner: ownerReducer(undefined, { type: '' }), lookup: lookupReducer(undefined, { type: '' }), events: eventsReducer(undefined, { type: '' }), names: namesReducer(undefined, { type: '' }), records: recordsReducer(undefined, { type: '' }) }; export default (state = initialState, action) => ({ accounts: accountsReducer(state.accounts, action), contacts: contactsReducer(state.contacts, action), contract: contractReducer(state.contract, action), fee: feeReducer(state.fee, action), owner: ownerReducer(state.owner, action), lookup: lookupReducer(state.lookup, action), events: eventsReducer(state.events, action), names: namesReducer(state.names, action), records: recordsReducer(state.records, action) });