Exemple #1
0
func valueToHtmlString(
	value reflect.Value,
	t types.Type,
	u units.Unit,
	isValueAPointer bool) string {
	switch {
	case t.IsInt() && !isValueAPointer:
		switch u {
		case units.Byte:
			return iCompactForm(
				value.Int(), 1024, byteSuffixes)
		case units.BytePerSecond:
			return iCompactForm(
				value.Int(), 1024, bytePerSecondSuffixes)
		default:
			return iCompactForm(
				value.Int(), 1000, suffixes)
		}
	case t.IsUint() && !isValueAPointer:
		switch u {
		case units.Byte:
			return uCompactForm(
				value.Uint(), 1024, byteSuffixes)
		case units.BytePerSecond:
			return uCompactForm(
				value.Uint(), 1024, bytePerSecondSuffixes)
		default:
			return uCompactForm(
				value.Uint(), 1000, suffixes)
		}
	case t == types.GoDuration && !isValueAPointer:
		d := duration.New(valueToGoDuration(value))
		if d.IsNegative() {
			return valueToTextString(
				value, t, u, isValueAPointer)
		}
		return d.PrettyFormat()
	case t == types.GoTime:
		t := valueToTime(value, isValueAPointer).UTC()
		return t.Format("2006-01-02T15:04:05.999999999Z")
	default:
		return valueToTextString(value, t, u, isValueAPointer)
	}
}