summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-mangler/manglers.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-mangler/manglers.go')
-rw-r--r--vendor/codeberg.org/gruf/go-mangler/manglers.go77
1 files changed, 39 insertions, 38 deletions
diff --git a/vendor/codeberg.org/gruf/go-mangler/manglers.go b/vendor/codeberg.org/gruf/go-mangler/manglers.go
index 52f9f0082..b9ba81705 100644
--- a/vendor/codeberg.org/gruf/go-mangler/manglers.go
+++ b/vendor/codeberg.org/gruf/go-mangler/manglers.go
@@ -1,10 +1,7 @@
package mangler
import (
- "encoding"
- "fmt"
"math/bits"
- "time"
_ "unsafe"
)
@@ -87,13 +84,13 @@ func mangle_8bit_slice(buf []byte, a any) []byte {
}
func mangle_16bit(buf []byte, a any) []byte {
- return bin.AppendUint16(buf, *(*uint16)(iface_value(a)))
+ return append_uint16(buf, *(*uint16)(iface_value(a)))
}
func mangle_16bit_ptr(buf []byte, a any) []byte {
if ptr := (*uint16)(iface_value(a)); ptr != nil {
buf = append(buf, '1')
- return bin.AppendUint16(buf, *ptr)
+ return append_uint16(buf, *ptr)
}
buf = append(buf, '0')
return buf
@@ -101,19 +98,19 @@ func mangle_16bit_ptr(buf []byte, a any) []byte {
func mangle_16bit_slice(buf []byte, a any) []byte {
for _, u := range *(*[]uint16)(iface_value(a)) {
- buf = bin.AppendUint16(buf, u)
+ buf = append_uint16(buf, u)
}
return buf
}
func mangle_32bit(buf []byte, a any) []byte {
- return bin.AppendUint32(buf, *(*uint32)(iface_value(a)))
+ return append_uint32(buf, *(*uint32)(iface_value(a)))
}
func mangle_32bit_ptr(buf []byte, a any) []byte {
if ptr := (*uint32)(iface_value(a)); ptr != nil {
buf = append(buf, '1')
- return bin.AppendUint32(buf, *ptr)
+ return append_uint32(buf, *ptr)
}
buf = append(buf, '0')
return buf
@@ -121,19 +118,19 @@ func mangle_32bit_ptr(buf []byte, a any) []byte {
func mangle_32bit_slice(buf []byte, a any) []byte {
for _, u := range *(*[]uint32)(iface_value(a)) {
- buf = bin.AppendUint32(buf, u)
+ buf = append_uint32(buf, u)
}
return buf
}
func mangle_64bit(buf []byte, a any) []byte {
- return bin.AppendUint64(buf, *(*uint64)(iface_value(a)))
+ return append_uint64(buf, *(*uint64)(iface_value(a)))
}
func mangle_64bit_ptr(buf []byte, a any) []byte {
if ptr := (*uint64)(iface_value(a)); ptr != nil {
buf = append(buf, '1')
- return bin.AppendUint64(buf, *ptr)
+ return append_uint64(buf, *ptr)
}
buf = append(buf, '0')
return buf
@@ -141,7 +138,7 @@ func mangle_64bit_ptr(buf []byte, a any) []byte {
func mangle_64bit_slice(buf []byte, a any) []byte {
for _, u := range *(*[]uint64)(iface_value(a)) {
- buf = bin.AppendUint64(buf, u)
+ buf = append_uint64(buf, u)
}
return buf
}
@@ -187,16 +184,16 @@ type uint128 [2]uint64
func mangle_128bit(buf []byte, a any) []byte {
u2 := *(*uint128)(iface_value(a))
- buf = bin.AppendUint64(buf, u2[0])
- buf = bin.AppendUint64(buf, u2[1])
+ buf = append_uint64(buf, u2[0])
+ buf = append_uint64(buf, u2[1])
return buf
}
func mangle_128bit_ptr(buf []byte, a any) []byte {
if ptr := (*uint128)(iface_value(a)); ptr != nil {
buf = append(buf, '1')
- buf = bin.AppendUint64(buf, (*ptr)[0])
- buf = bin.AppendUint64(buf, (*ptr)[1])
+ buf = append_uint64(buf, (*ptr)[0])
+ buf = append_uint64(buf, (*ptr)[1])
}
buf = append(buf, '0')
return buf
@@ -204,26 +201,26 @@ func mangle_128bit_ptr(buf []byte, a any) []byte {
func mangle_128bit_slice(buf []byte, a any) []byte {
for _, u2 := range *(*[]uint128)(iface_value(a)) {
- buf = bin.AppendUint64(buf, u2[0])
- buf = bin.AppendUint64(buf, u2[1])
+ buf = append_uint64(buf, u2[0])
+ buf = append_uint64(buf, u2[1])
}
return buf
}
-func mangle_time(buf []byte, a any) []byte {
- t := *(*time.Time)(iface_value(a))
- b, err := t.MarshalBinary()
- if err != nil {
- panic("marshal_time: " + err.Error())
+func mangle_mangled(buf []byte, a any) []byte {
+ if v := a.(Mangled); v != nil {
+ buf = append(buf, '1')
+ return v.Mangle(buf)
}
- return append(buf, b...)
+ buf = append(buf, '0')
+ return buf
}
-func mangle_time_ptr(buf []byte, a any) []byte {
- if ptr := (*time.Time)(iface_value(a)); ptr != nil {
- b, err := ptr.MarshalBinary()
+func mangle_binary(buf []byte, a any) []byte {
+ if v := a.(binarymarshaler); v != nil {
+ b, err := v.MarshalBinary()
if err != nil {
- panic("marshal_time: " + err.Error())
+ panic("mangle_binary: " + err.Error())
}
buf = append(buf, '1')
return append(buf, b...)
@@ -232,20 +229,20 @@ func mangle_time_ptr(buf []byte, a any) []byte {
return buf
}
-func mangle_mangled(buf []byte, a any) []byte {
- if v := a.(Mangled); v != nil {
+func mangle_stringer(buf []byte, a any) []byte {
+ if v := a.(stringer); v != nil {
buf = append(buf, '1')
- return v.Mangle(buf)
+ return append(buf, v.String()...)
}
buf = append(buf, '0')
return buf
}
-func mangle_binary(buf []byte, a any) []byte {
- if v := a.(encoding.BinaryMarshaler); v != nil {
- b, err := v.MarshalBinary()
+func mangle_text(buf []byte, a any) []byte {
+ if v := a.(textmarshaler); v != nil {
+ b, err := v.MarshalText()
if err != nil {
- panic("mangle_binary: " + err.Error())
+ panic("mangle_text: " + err.Error())
}
buf = append(buf, '1')
return append(buf, b...)
@@ -254,10 +251,14 @@ func mangle_binary(buf []byte, a any) []byte {
return buf
}
-func mangle_stringer(buf []byte, a any) []byte {
- if v := a.(fmt.Stringer); v != nil {
+func mangle_json(buf []byte, a any) []byte {
+ if v := a.(jsonmarshaler); v != nil {
+ b, err := v.MarshalJSON()
+ if err != nil {
+ panic("mangle_json: " + err.Error())
+ }
buf = append(buf, '1')
- return append(buf, v.String()...)
+ return append(buf, b...)
}
buf = append(buf, '0')
return buf