typedux
Version:
Slightly adjusted Redux (awesome by default) for TS
36 lines • 1.12 kB
JavaScript
//import 'reflect-metadata'
import { getLogger } from '@3fv/logger-proxy';
const log = getLogger(__filename);
//const log = require<any>('log/make')('ActionLoader')
import { VariableProxy } from "../util";
// The proxy container
const proxies = {};
export 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 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())
}
}
//# sourceMappingURL=ActionRouter.js.map