mirror of https://github.com/EasyDarwin/EasyDarwin
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1.3 KiB
82 lines
1.3 KiB
package jsoniter |
|
|
|
import "fmt" |
|
|
|
type invalidAny struct { |
|
baseAny |
|
err error |
|
} |
|
|
|
func newInvalidAny(path []interface{}) *invalidAny { |
|
return &invalidAny{baseAny{}, fmt.Errorf("%v not found", path)} |
|
} |
|
|
|
func (any *invalidAny) LastError() error { |
|
return any.err |
|
} |
|
|
|
func (any *invalidAny) ValueType() ValueType { |
|
return InvalidValue |
|
} |
|
|
|
func (any *invalidAny) MustBeValid() Any { |
|
panic(any.err) |
|
} |
|
|
|
func (any *invalidAny) ToBool() bool { |
|
return false |
|
} |
|
|
|
func (any *invalidAny) ToInt() int { |
|
return 0 |
|
} |
|
|
|
func (any *invalidAny) ToInt32() int32 { |
|
return 0 |
|
} |
|
|
|
func (any *invalidAny) ToInt64() int64 { |
|
return 0 |
|
} |
|
|
|
func (any *invalidAny) ToUint() uint { |
|
return 0 |
|
} |
|
|
|
func (any *invalidAny) ToUint32() uint32 { |
|
return 0 |
|
} |
|
|
|
func (any *invalidAny) ToUint64() uint64 { |
|
return 0 |
|
} |
|
|
|
func (any *invalidAny) ToFloat32() float32 { |
|
return 0 |
|
} |
|
|
|
func (any *invalidAny) ToFloat64() float64 { |
|
return 0 |
|
} |
|
|
|
func (any *invalidAny) ToString() string { |
|
return "" |
|
} |
|
|
|
func (any *invalidAny) WriteTo(stream *Stream) { |
|
} |
|
|
|
func (any *invalidAny) Get(path ...interface{}) Any { |
|
if any.err == nil { |
|
return &invalidAny{baseAny{}, fmt.Errorf("get %v from invalid", path)} |
|
} |
|
return &invalidAny{baseAny{}, fmt.Errorf("%v, get %v from invalid", any.err, path)} |
|
} |
|
|
|
func (any *invalidAny) Parse() *Iterator { |
|
return nil |
|
} |
|
|
|
func (any *invalidAny) GetInterface() interface{} { |
|
return nil |
|
}
|
|
|