2022-11-21 04:31:56 +03:00
|
|
|
package model
|
|
|
|
|
2022-11-21 04:46:32 +03:00
|
|
|
import "fmt"
|
|
|
|
|
2022-11-21 04:31:56 +03:00
|
|
|
type BooleanNode struct {
|
|
|
|
Value bool
|
|
|
|
}
|
|
|
|
|
|
|
|
func (n BooleanNode) Type() NodeType {
|
|
|
|
return BooleanType
|
|
|
|
}
|
|
|
|
|
|
|
|
func (n *BooleanNode) MarshalJSON() ([]byte, error) {
|
|
|
|
if n.Value {
|
|
|
|
return []byte("true"), nil
|
|
|
|
}
|
|
|
|
return []byte("false"), nil
|
|
|
|
}
|
2022-11-21 04:46:32 +03:00
|
|
|
|
|
|
|
func (n *BooleanNode) Set(v any) error {
|
|
|
|
val, ok := v.(bool)
|
|
|
|
if !ok {
|
|
|
|
return fmt.Errorf("%v is not boolean", v)
|
|
|
|
}
|
|
|
|
n.Value = val
|
|
|
|
return nil
|
|
|
|
}
|