mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-05-21 16:09:57 +02:00
23 lines
671 B
Go
23 lines
671 B
Go
package kvstore
|
|
|
|
// KVStore is a simple key-value store interface
|
|
type KVStore interface {
|
|
// Get retrieves a value for a given key. Returns nil if not found.
|
|
Get(key []byte) ([]byte, error)
|
|
|
|
// Set stores a value for a given key
|
|
Set(key []byte, value []byte) error
|
|
|
|
// Delete removes a key and its value
|
|
Delete(key []byte) error
|
|
|
|
// Close releases any resources held by the store
|
|
Close() error
|
|
|
|
// Update atomically modifies a value for a given key.
|
|
// The function f receives the current value (nil if not found)
|
|
// and returns the new value to be set.
|
|
// If f returns nil, the key is deleted.
|
|
Update(key []byte, f func([]byte) ([]byte, error)) error
|
|
}
|