typedux
Version:
Slightly adjusted Redux (awesome by default) for TS
40 lines • 1.28 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionRouter = void 0;
//import 'reflect-metadata'
const logger_proxy_1 = require("@3fv/logger-proxy");
const log = logger_proxy_1.getLogger(__filename);
//const log = require<any>('log/make')('ActionLoader')
const util_1 = require("../util");
// The proxy container
const proxies = {};
class ActionRouter {
constructor(...actionFactories) {
this.actionFactories = [];
this.actionFactories.push(...actionFactories);
}
/**
* Update a specific action factory
*
* @param key
* @param actions
*/
update(key, actions) {
if (proxies[key]) {
proxies[key].changeTarget(actions);
}
else {
proxies[key] = new util_1.VariableProxy(actions, ['dispatcher']);
ActionRouter[key] = proxies[key].proxy;
}
}
load() {
// TODO: Implement load
// update('LogActions', new LogActionFactory())
// update('EditorActions', new EditorActionFactory())
// update('DocumentationActions', new DocumentationActionFactory())
// update('TipActions', new TipActionFactory())
}
}
exports.ActionRouter = ActionRouter;
//# sourceMappingURL=ActionRouter.js.map
;