| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | package sdbimport (	"errors")var (	errKeyNotFound = errors.New("key not found"))type M map[string]anyfunc (m M) Int64(k string) int64 {	v, ok := m[k].(int64)	if !ok {		return int64(m.Float64(k))	}	return v}func (m M) MustInt64(k string) int64 {	if _, ok := m[k]; !ok {		panic(errKeyNotFound)	}	return m.Int64(k)}func (m M) String(k string) string {	v, ok := m[k].(string)	if !ok {		return ""	}	return v}func (m M) MustString(k string) string {	if _, ok := m[k]; !ok {		panic(errKeyNotFound)	}	return m.String(k)}func (m M) Any(k string) any {	v, _ := m[k]	return v}func (m M) MustAny(k string) any {	if _, ok := m[k]; !ok {		panic(errKeyNotFound)	}	return m.Any(k)}func (m M) Float64(k string) float64 {	v, ok := m[k].(float64)	if !ok {		return 0	}	return v}func (m M) MustFloat64(k string) float64 {	if _, ok := m[k]; !ok {		panic(errKeyNotFound)	}	return m.Float64(k)}func (m M) Bool(k string) bool {	v, ok := m[k].(bool)	if !ok {		return false	}	return v}func (m M) MustBool(k string) bool {	if _, ok := m[k]; !ok {		panic(errKeyNotFound)	}	return m.Bool(k)}func (m M) Uint(k string) uint64 {	v, ok := m[k].(uint64)	if !ok {		return uint64(m.Int64(k))	}	return v}func (m M) MustUint(k string) uint64 {	if _, ok := m[k]; !ok {		panic(errKeyNotFound)	}	return m.Uint(k)}
 |