//go:build thirdparty

package internal

import (
	"hash"

	"github.com/zeebo/xxh3"
)

type XXH3128 struct {
	*xxh3.Hasher
}

func (x XXH3128) Size() int {
	return 16
}

func (x XXH3128) Sum(b []byte) []byte {
	tmp := x.Hasher.Sum128().Bytes()
	return append(b, tmp[:]...)
}

func NewXXH3128() hash.Hash {
	return &XXH3128{xxh3.New()}
}
