Result is failed by default
This commit is contained in:
@ -10,23 +10,23 @@ import (
|
||||
)
|
||||
|
||||
type Result[In, Out any] struct {
|
||||
consumed, failed bool
|
||||
value Out
|
||||
next State[In]
|
||||
message Message
|
||||
consumed, succeeded bool
|
||||
value Out
|
||||
next State[In]
|
||||
message Message
|
||||
}
|
||||
|
||||
func Fail[In, Out any](consumed bool, msg Message) Result[In, Out] {
|
||||
return Result[In, Out]{
|
||||
consumed: consumed,
|
||||
failed: true,
|
||||
message: msg,
|
||||
consumed: consumed,
|
||||
succeeded: false,
|
||||
message: msg,
|
||||
}
|
||||
}
|
||||
|
||||
func (r Result[In, Out]) Failed() (ok, consumed bool, msg Message) {
|
||||
ok = r.failed
|
||||
if ok {
|
||||
func (r Result[In, Out]) Failed() (failed, consumed bool, msg Message) {
|
||||
failed = !r.succeeded
|
||||
if failed {
|
||||
consumed = r.consumed
|
||||
msg = r.message
|
||||
}
|
||||
@ -35,17 +35,17 @@ func (r Result[In, Out]) Failed() (ok, consumed bool, msg Message) {
|
||||
|
||||
func Succeed[In, Out any](consumed bool, value Out, next State[In], msg Message) Result[In, Out] {
|
||||
return Result[In, Out]{
|
||||
failed: false,
|
||||
value: value,
|
||||
consumed: consumed,
|
||||
next: next,
|
||||
message: msg,
|
||||
succeeded: true,
|
||||
value: value,
|
||||
consumed: consumed,
|
||||
next: next,
|
||||
message: msg,
|
||||
}
|
||||
}
|
||||
|
||||
func (r Result[In, Out]) Succeeded() (ok, consumed bool, value Out, next State[In], msg Message) {
|
||||
ok = !r.failed
|
||||
if ok {
|
||||
func (r Result[In, Out]) Succeeded() (succeeded, consumed bool, value Out, next State[In], msg Message) {
|
||||
succeeded = r.succeeded
|
||||
if succeeded {
|
||||
consumed = r.consumed
|
||||
value = r.value
|
||||
next = r.next
|
||||
|
Reference in New Issue
Block a user