mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-09-08 16:33:38 +02:00
add some basic sdk tests, fix saving hints (normalize urls), checkduplicates arg order, kvdb stuff and other things.
This commit is contained in:
@@ -76,7 +76,9 @@ func (s *Store) Update(key []byte, f func([]byte) ([]byte, error)) error {
|
||||
}
|
||||
|
||||
newVal, err := f(val)
|
||||
if err != nil {
|
||||
if err == kvstore.NoOp {
|
||||
return nil
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@@ -104,7 +104,9 @@ func (s *Store) Update(key []byte, f func([]byte) ([]byte, error)) error {
|
||||
}
|
||||
|
||||
newVal, err := f(val)
|
||||
if err != nil {
|
||||
if err == kvstore.NoOp {
|
||||
return nil
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@@ -22,7 +22,7 @@ func NewStore() *Store {
|
||||
func (s *Store) Get(key []byte) ([]byte, error) {
|
||||
s.RLock()
|
||||
defer s.RUnlock()
|
||||
|
||||
|
||||
if val, ok := s.data[string(key)]; ok {
|
||||
// Return a copy to prevent modification of stored data
|
||||
cp := make([]byte, len(val))
|
||||
@@ -35,7 +35,7 @@ func (s *Store) Get(key []byte) ([]byte, error) {
|
||||
func (s *Store) Set(key []byte, value []byte) error {
|
||||
s.Lock()
|
||||
defer s.Unlock()
|
||||
|
||||
|
||||
// Store a copy to prevent modification of stored data
|
||||
cp := make([]byte, len(value))
|
||||
copy(cp, value)
|
||||
@@ -69,7 +69,9 @@ func (s *Store) Update(key []byte, f func([]byte) ([]byte, error)) error {
|
||||
}
|
||||
|
||||
newVal, err := f(val)
|
||||
if err != nil {
|
||||
if err == kvstore.NoOp {
|
||||
return nil
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
5
sdk/kvstore/noop.go
Normal file
5
sdk/kvstore/noop.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package kvstore
|
||||
|
||||
import "fmt"
|
||||
|
||||
var NoOp = fmt.Errorf("noop")
|
Reference in New Issue
Block a user