mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
29 lines (28 loc) • 907 B
JavaScript
;
// 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;