Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
c13db6802e
|
|||
c5e23ab451
|
@@ -381,3 +381,19 @@ func ArrCastToAny[T1 any](arr []T1) []any {
|
|||||||
}
|
}
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ArrConcat[T any](arr ...[]T) []T {
|
||||||
|
c := 0
|
||||||
|
for _, v := range arr {
|
||||||
|
c += len(v)
|
||||||
|
}
|
||||||
|
r := make([]T, c)
|
||||||
|
i := 0
|
||||||
|
for _, av := range arr {
|
||||||
|
for _, v := range av {
|
||||||
|
r[i] = v
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
@@ -66,6 +66,10 @@ func (t *RFC3339Time) UnmarshalText(data []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (t *RFC3339Time) UnmarshalBSONValue(bt bsontype.Type, data []byte) error {
|
func (t *RFC3339Time) UnmarshalBSONValue(bt bsontype.Type, data []byte) error {
|
||||||
|
if bt == bsontype.Null {
|
||||||
|
*t = RFC3339Time{}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
if bt != bsontype.DateTime {
|
if bt != bsontype.DateTime {
|
||||||
return errors.New(fmt.Sprintf("cannot unmarshal %v into RFC3339Time", bt))
|
return errors.New(fmt.Sprintf("cannot unmarshal %v into RFC3339Time", bt))
|
||||||
}
|
}
|
||||||
|
@@ -66,6 +66,10 @@ func (t *RFC3339NanoTime) UnmarshalText(data []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (t *RFC3339NanoTime) UnmarshalBSONValue(bt bsontype.Type, data []byte) error {
|
func (t *RFC3339NanoTime) UnmarshalBSONValue(bt bsontype.Type, data []byte) error {
|
||||||
|
if bt == bsontype.Null {
|
||||||
|
*t = RFC3339NanoTime{}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
if bt != bsontype.DateTime {
|
if bt != bsontype.DateTime {
|
||||||
return errors.New(fmt.Sprintf("cannot unmarshal %v into RFC3339NanoTime", bt))
|
return errors.New(fmt.Sprintf("cannot unmarshal %v into RFC3339NanoTime", bt))
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user