Skip to content

Commit 7807b0e

Browse files
committed
feat(devtools): support error dispatch
1 parent 4d0b29e commit 7807b0e

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

examples/src/component/Counter.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import AsyncIncreamentalUseCase from "../usecase/AsyncIncreamentalUseCase"
55
import IncrementalCounterUseCase from "../usecase/IncrementalCounterUseCase"
66
import DecrementalCounterUseCase from "../usecase/DecrementalCounterUseCase"
77
import UpDownCounterUseCase from "../usecase/UpDownCounterUseCase"
8+
import ThrowErrorUseCase from "../usecase/ThrowErrorUseCase"
89
import {Context} from "almin"
910
import CounterState from "../store/CounterState"
1011
export default class CounterComponent extends React.Component {
@@ -32,6 +33,10 @@ export default class CounterComponent extends React.Component {
3233
const both = () => {
3334
context.useCase(new UpDownCounterUseCase()).execute();
3435
};
36+
37+
const throwError = () => {
38+
context.useCase(new ThrowErrorUseCase()).execute();
39+
};
3540
const counterState = this.props.counterState;
3641

3742
return (
@@ -41,6 +46,7 @@ export default class CounterComponent extends React.Component {
4146
<button onClick={decrement}>Counter --</button>
4247
<button onClick={both}>Counter +-</button>
4348
<button onClick={parallel}>Counter +- in parallel</button>
49+
<button onClick={throwError}>Throw Error</button>
4450
<p>
4551
Count: {counterState.count}
4652
</p>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// MIT © 2017 azu
2+
"use strict";
3+
import { UseCase } from "almin";
4+
export default class ThrowErrorUseCase extends UseCase {
5+
execute() {
6+
this.throwError(new Error("ERR!"));
7+
}
8+
}

src/almin-devtools.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ module.exports = class AlminDevTools {
7070
this.devTools.send(`UseCase:${meta.useCase.name}`, this.alminContext.getState());
7171
});
7272
});
73+
this.alminContext.onErrorDispatch((payload, meta) => {
74+
this.devTools.error(payload.error.message);
75+
});
7376
}
7477

7578
/**

0 commit comments

Comments
 (0)