41 lines
718 B
Go
41 lines
718 B
Go
package db
|
|
|
|
import "fmt"
|
|
|
|
var database map[string]any = map[string]any{}
|
|
|
|
func Add(key string, value any) error {
|
|
_, existing := database[key]
|
|
if existing {
|
|
return fmt.Errorf("A value already exists under '%s'", key)
|
|
}
|
|
database[key] = value
|
|
return nil
|
|
}
|
|
|
|
func Set(key string, value any) {
|
|
database[key] = value
|
|
}
|
|
|
|
func Get(key string) any {
|
|
value, existing := database[key]
|
|
if !existing {
|
|
return fmt.Errorf("No value under '%s'", key)
|
|
}
|
|
return value
|
|
}
|
|
|
|
func Remove(key string) any {
|
|
value, existing := database[key]
|
|
if !existing {
|
|
return fmt.Errorf("No value under '%s'", key)
|
|
}
|
|
delete(database, key)
|
|
return value
|
|
}
|
|
|
|
func Exists(key string) bool {
|
|
_, existing := database[key]
|
|
return existing
|
|
}
|