UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

29 lines (28 loc) 907 B
"use strict"; // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. Object.defineProperty(exports, "__esModule", { value: true }); exports.ReducerRegistry = void 0; // Based on http://nicolasgallagher.com/redux-modules-and-code-splitting/ class ReducerRegistry { emitChange; reducers = {}; setReducers = (reducers) => { this.reducers = reducers; }; getReducers = () => { return { ...this.reducers }; }; register = (name, reducer) => { this.reducers = { ...this.reducers, [name]: reducer }; if (this.emitChange) { this.emitChange(this.getReducers()); } }; setChangeListener = (listener) => { this.emitChange = listener; }; } exports.ReducerRegistry = ReducerRegistry; const reducerRegistry = new ReducerRegistry(); exports.default = reducerRegistry;