33 lines
651 B
Go
33 lines
651 B
Go
package universe_badger
|
|
|
|
import (
|
|
"github.com/dgraph-io/badger/v4"
|
|
kv "universe.mrlokop.dev/key_value"
|
|
)
|
|
|
|
type keyValueProvider struct {
|
|
db *badger.DB
|
|
}
|
|
|
|
func (k *keyValueProvider) HasCapability(capability kv.Capability) bool {
|
|
switch capability {
|
|
default:
|
|
return false
|
|
}
|
|
}
|
|
|
|
func (k *keyValueProvider) ProvideBinary(prefix string) (kv.KeyValueStoreBinary, error) {
|
|
return &keyValueStorage{
|
|
db: k.db,
|
|
prefix: prefix,
|
|
}, nil
|
|
}
|
|
|
|
func (k *keyValueProvider) ProvideString(prefix string) (kv.KeyValueStoreString, error) {
|
|
bin, err := k.ProvideBinary(prefix)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return kv.WrapStringToBinary(bin), err
|
|
}
|