github.com/bingoohuang/gg@v0.0.0-20240325092523-45da7dee9335/pkg/jsoni/any_invalid.go (about)

     1  package jsoni
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  )
     7  
     8  type invalidAny struct {
     9  	baseAny
    10  	err error
    11  }
    12  
    13  func newInvalidAny(path []interface{}) *invalidAny {
    14  	return &invalidAny{baseAny{}, fmt.Errorf("%v not found", path)}
    15  }
    16  
    17  func (a *invalidAny) LastError() error                 { return a.err }
    18  func (a *invalidAny) ValueType() ValueType             { return InvalidValue }
    19  func (a *invalidAny) MustBeValid() Any                 { panic(a.err) }
    20  func (a *invalidAny) ToBool() bool                     { return false }
    21  func (a *invalidAny) ToInt() int                       { return 0 }
    22  func (a *invalidAny) ToInt32() int32                   { return 0 }
    23  func (a *invalidAny) ToInt64() int64                   { return 0 }
    24  func (a *invalidAny) ToUint() uint                     { return 0 }
    25  func (a *invalidAny) ToUint32() uint32                 { return 0 }
    26  func (a *invalidAny) ToUint64() uint64                 { return 0 }
    27  func (a *invalidAny) ToFloat32() float32               { return 0 }
    28  func (a *invalidAny) ToFloat64() float64               { return 0 }
    29  func (a *invalidAny) ToString() string                 { return "" }
    30  func (a *invalidAny) WriteTo(context.Context, *Stream) {}
    31  
    32  func (a *invalidAny) Get(path ...interface{}) Any {
    33  	if a.err == nil {
    34  		return &invalidAny{baseAny{}, fmt.Errorf("get %v from invalid", path)}
    35  	}
    36  	return &invalidAny{baseAny{}, fmt.Errorf("%v, get %v from invalid", a.err, path)}
    37  }
    38  
    39  func (a *invalidAny) Parse() *Iterator                         { return nil }
    40  func (a *invalidAny) GetInterface(context.Context) interface{} { return nil }