fix: state clear
This commit is contained in:
1 parent
ec12f29fdb
commit
cb1ed91e05
2 files changed
+12
-10
No files matched your search
+7
-3
@@ -11,8 +11,6 @@ var (
|
||||
ErrKeyNotFound = fmt.Errorf("state: key not found")
|
||||
)
|
||||
|
||||
const ClearState State = "clear"
|
||||
|
||||
type State string
|
||||
|
||||
type Codec interface {
|
||||
@@ -41,6 +39,7 @@ type Context struct {
|
||||
state State
|
||||
data map[string][]byte
|
||||
codec Codec
|
||||
clear bool
|
||||
}
|
||||
|
||||
type Option func(*Context)
|
||||
@@ -83,10 +82,15 @@ func (sc *Context) Set(state State) {
|
||||
func (sc *Context) State() State { return sc.state }
|
||||
|
||||
func (sc *Context) Clear() {
|
||||
sc.state = ClearState
|
||||
sc.state = ""
|
||||
sc.clear = true
|
||||
sc.data = make(map[string][]byte)
|
||||
}
|
||||
|
||||
func (sc *Context) IsEmpty() bool {
|
||||
return sc.state == "" && sc.clear
|
||||
}
|
||||
|
||||
func (sc *Context) Store(key string, val any) error {
|
||||
b, err := sc.codec.Marshal(val)
|
||||
if err != nil {
|
||||
|
||||
Reference in new issue
Block a user