@@ -22,12 +22,12 @@ type MarshalerFunc func(any, *MarshalOpt) (string, error)
2222var marshalerFuncs sync.Map
2323
2424func init () {
25- marshalerFuncs .Store (reflect .TypeOf ( int ( 0 ) ), defaultMarshalerFunc )
26- marshalerFuncs .Store (reflect .TypeOf ( int32 ( 0 ) ), defaultMarshalerFunc )
27- marshalerFuncs .Store (reflect .TypeOf ( int64 ( 0 ) ), defaultMarshalerFunc )
28- marshalerFuncs .Store (reflect .TypeOf ( uint32 ( 0 ) ), defaultMarshalerFunc )
29- marshalerFuncs .Store (reflect .TypeOf ( uint64 ( 0 ) ), defaultMarshalerFunc )
30- marshalerFuncs .Store (reflect .TypeOf ( string ( "" ) ), defaultMarshalerFunc )
25+ marshalerFuncs .Store (reflect .TypeFor [ int ]( ), defaultMarshalerFunc )
26+ marshalerFuncs .Store (reflect .TypeFor [ int32 ]( ), defaultMarshalerFunc )
27+ marshalerFuncs .Store (reflect .TypeFor [ int64 ]( ), defaultMarshalerFunc )
28+ marshalerFuncs .Store (reflect .TypeFor [ uint32 ]( ), defaultMarshalerFunc )
29+ marshalerFuncs .Store (reflect .TypeFor [ uint64 ]( ), defaultMarshalerFunc )
30+ marshalerFuncs .Store (reflect .TypeFor [ string ]( ), defaultMarshalerFunc )
3131 marshalerFuncs .Store (
3232 reflect .TypeOf (bool (false )),
3333 func (i any , _ * MarshalOpt ) (string , error ) {
@@ -40,13 +40,13 @@ func init() {
4040 },
4141 )
4242 marshalerFuncs .Store (
43- reflect .TypeOf ( time.Time {} ),
43+ reflect .TypeFor [ time.Time ]( ),
4444 func (i any , _ * MarshalOpt ) (string , error ) {
4545 return humanize .Time (i .(time.Time )), nil
4646 },
4747 )
4848 marshalerFuncs .Store (
49- reflect .TypeOf ( & time.Time {} ),
49+ reflect .TypeFor [ * time.Time ]( ),
5050 func (i any , _ * MarshalOpt ) (string , error ) {
5151 t := i .(* time.Time )
5252 if t == nil {
@@ -57,7 +57,7 @@ func init() {
5757 },
5858 )
5959 marshalerFuncs .Store (
60- reflect .TypeOf ( scw .Size ( 0 ) ),
60+ reflect .TypeFor [ scw.Size ]( ),
6161 func (i any , _ * MarshalOpt ) (string , error ) {
6262 size := uint64 (i .(scw.Size ))
6363
@@ -69,7 +69,7 @@ func init() {
6969 },
7070 )
7171 marshalerFuncs .Store (
72- reflect .TypeOf ( new ( scw.Size ( 0 )) ),
72+ reflect .TypeFor [ * scw.Size ]( ),
7373 func (i any , _ * MarshalOpt ) (string , error ) {
7474 size := uint64 (* i .(* scw.Size ))
7575
@@ -81,7 +81,7 @@ func init() {
8181 },
8282 )
8383 marshalerFuncs .Store (
84- reflect .TypeOf ([ ]scw.Size {} ),
84+ reflect .TypeFor [[ ]scw.Size ]( ),
8585 func (i any , _ * MarshalOpt ) (string , error ) {
8686 sizes := i .([]scw.Size )
8787 strs := []string (nil )
@@ -97,19 +97,19 @@ func init() {
9797 },
9898 )
9999 marshalerFuncs .Store (
100- reflect .TypeOf ( net.IP {} ),
100+ reflect .TypeFor [ net.IP ]( ),
101101 func (i any , _ * MarshalOpt ) (string , error ) {
102102 return fmt .Sprintf ("%v" , i .(net.IP )), nil
103103 },
104104 )
105105 marshalerFuncs .Store (
106- reflect .TypeOf ([ ]net.IP {} ),
106+ reflect .TypeFor [[ ]net.IP ]( ),
107107 func (i any , _ * MarshalOpt ) (string , error ) {
108108 return fmt .Sprintf ("%v" , i ), nil
109109 },
110110 )
111111 marshalerFuncs .Store (
112- reflect .TypeOf ( scw.IPNet {} ),
112+ reflect .TypeFor [ scw.IPNet ]( ),
113113 func (i any , _ * MarshalOpt ) (string , error ) {
114114 v := i .(scw.IPNet )
115115 str := v .String ()
@@ -121,15 +121,15 @@ func init() {
121121 },
122122 )
123123 marshalerFuncs .Store (
124- reflect .TypeOf ( version.Version {} ),
124+ reflect .TypeFor [ version.Version ]( ),
125125 func (i any , _ * MarshalOpt ) (string , error ) {
126126 v := i .(version.Version )
127127
128128 return v .String (), nil
129129 },
130130 )
131131 marshalerFuncs .Store (
132- reflect .TypeOf ( scw.Duration {} ),
132+ reflect .TypeFor [ scw.Duration ]( ),
133133 func (i any , _ * MarshalOpt ) (string , error ) {
134134 v := i .(scw.Duration )
135135 const (
@@ -232,9 +232,9 @@ func isMarshalable(t reflect.Type) bool {
232232
233233 return (t .Kind () != reflect .Struct && t .Kind () != reflect .Map && t .Kind () != reflect .Pointer ) ||
234234 hasMarshalerFunc ||
235- t .Implements (reflect .TypeOf (( * Marshaler )( nil )). Elem ()) ||
236- t .Implements (reflect .TypeOf (( * error )( nil )). Elem ()) ||
237- t .Implements (reflect .TypeOf (( * fmt .Stringer )( nil )). Elem ()) ||
235+ t .Implements (reflect .TypeFor [ Marshaler ] ()) ||
236+ t .Implements (reflect .TypeFor [ error ] ()) ||
237+ t .Implements (reflect .TypeFor [ fmt.Stringer ] ()) ||
238238 (t .Kind () == reflect .Pointer && isMarshalable (t .Elem ()))
239239}
240240
0 commit comments