This commit is contained in:
@@ -3,12 +3,13 @@ package reflectext
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"git.blackforestbytes.com/BlackForestBytes/goext/langext"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.blackforestbytes.com/BlackForestBytes/goext/langext"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
var primitiveSerializer = map[reflect.Type]genSerializer{
|
||||
@@ -28,7 +29,7 @@ var primitiveSerializer = map[reflect.Type]genSerializer{
|
||||
|
||||
reflect.TypeOf(true): newGenSerializer(serBoolToString, serStringToBool),
|
||||
|
||||
reflect.TypeOf(primitive.ObjectID{}): newGenSerializer(serObjectIDToString, serStringToObjectID),
|
||||
reflect.TypeOf(bson.ObjectID{}): newGenSerializer(serObjectIDToString, serStringToObjectID),
|
||||
|
||||
reflect.TypeOf(time.Time{}): newGenSerializer(serTimeToString, serStringToTime),
|
||||
}
|
||||
@@ -111,15 +112,15 @@ func serStringToBool(v string) (bool, error) {
|
||||
return false, errors.New(fmt.Sprintf("invalid boolean value '%s'", v))
|
||||
}
|
||||
|
||||
func serObjectIDToString(v primitive.ObjectID) (string, error) {
|
||||
func serObjectIDToString(v bson.ObjectID) (string, error) {
|
||||
return v.Hex(), nil
|
||||
}
|
||||
|
||||
func serStringToObjectID(v string) (primitive.ObjectID, error) {
|
||||
if rv, err := primitive.ObjectIDFromHex(v); err == nil {
|
||||
func serStringToObjectID(v string) (bson.ObjectID, error) {
|
||||
if rv, err := bson.ObjectIDFromHex(v); err == nil {
|
||||
return rv, nil
|
||||
} else {
|
||||
return primitive.ObjectID{}, err
|
||||
return bson.ObjectID{}, err
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user