package internal

import (
	
	
	

	
)

func ( []byte,  interface{}) []byte {
	switch v := .(type) {
	case nil:
		return append(, "<nil>"...)
	case string:
		return appendUTF8String(, util.StringToBytes())
	case []byte:
		return appendUTF8String(, )
	case int:
		return strconv.AppendInt(, int64(), 10)
	case int8:
		return strconv.AppendInt(, int64(), 10)
	case int16:
		return strconv.AppendInt(, int64(), 10)
	case int32:
		return strconv.AppendInt(, int64(), 10)
	case int64:
		return strconv.AppendInt(, , 10)
	case uint:
		return strconv.AppendUint(, uint64(), 10)
	case uint8:
		return strconv.AppendUint(, uint64(), 10)
	case uint16:
		return strconv.AppendUint(, uint64(), 10)
	case uint32:
		return strconv.AppendUint(, uint64(), 10)
	case uint64:
		return strconv.AppendUint(, , 10)
	case float32:
		return strconv.AppendFloat(, float64(), 'f', -1, 64)
	case float64:
		return strconv.AppendFloat(, , 'f', -1, 64)
	case bool:
		if  {
			return append(, "true"...)
		}
		return append(, "false"...)
	case time.Time:
		return .AppendFormat(, time.RFC3339Nano)
	default:
		return append(, fmt.Sprint()...)
	}
}

func appendUTF8String( []byte,  []byte) []byte {
	 = append(, ...)
	return 
}