-
Notifications
You must be signed in to change notification settings - Fork 2
/
session_state_error.go
54 lines (40 loc) · 1.38 KB
/
session_state_error.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package sdktypes
import (
sessionv1 "go.autokitteh.dev/autokitteh/proto/gen/go/autokitteh/sessions/v1"
)
type SessionStateError struct {
object[*SessionStateErrorPB, SessionStateErrorTraits]
}
var InvalidSessionStateError SessionStateError
type SessionStateErrorPB = sessionv1.SessionState_Error
type SessionStateErrorTraits struct{}
func (SessionStateError) isConcreteSessionState() {}
func (SessionStateErrorTraits) Validate(m *SessionStateErrorPB) error {
return objectField[ProgramError]("error", m.Error)
}
func (SessionStateErrorTraits) StrictValidate(m *SessionStateErrorPB) error {
return mandatory("error", m.Error)
}
func SessionStateErrorFromProto(m *SessionStateErrorPB) (SessionStateError, error) {
return FromProto[SessionStateError](m)
}
func StrictSessionStateErrorFromProto(m *SessionStateErrorPB) (SessionStateError, error) {
return Strict(SessionStateErrorFromProto(m))
}
func (s SessionState) GetError() SessionStateError {
if s.m == nil {
return InvalidSessionStateError
}
return forceFromProto[SessionStateError](s.m.Error)
}
func (se SessionStateError) GetProgramError() ProgramError {
return forceFromProto[ProgramError](se.read().Error)
}
func NewSessionStateError(err error, prints []string) SessionState {
return forceFromProto[SessionState](&SessionStatePB{
Error: &SessionStateErrorPB{
Prints: prints,
Error: WrapError(err).ToProto(),
},
})
}