package mo

import (
	"go.mongodb.org/mongo-driver/v2/bson"
	"go.mongodb.org/mongo-driver/v2/mongo"
)

var (
	NilObjectID    = ObjectID{}           // NilObjectID 无效的 ObjectID
	ErrInvalidHex  = bson.ErrInvalidHex   // ErrInvalidHex 从 HEX 解析 ObjectID 失败
	ErrNoDocuments = mongo.ErrNoDocuments // ErrNoDocuments 通常在 SingleResult 中返回
)

// IsDuplicateKeyError 如果 err 是重复键错误, 则返回 true
func IsDuplicateKeyError(err error) bool {
	return mongo.IsDuplicateKeyError(err)
}

// IsTimout 如果 err 是超时错误, 则返回 true
func IsTimout(err error) bool {
	return mongo.IsTimeout(err)
}

// IsNetworkError 如果 err 是网络错误, 则返回 true
func IsNetworkError(err error) bool {
	return mongo.IsNetworkError(err)
}
