Add tags api

This commit is contained in:
Tnze
2024-07-28 00:02:55 +08:00
parent 31375289b0
commit 66b3b11049
2 changed files with 12 additions and 33 deletions

View File

@ -1,5 +1,7 @@
package registry
import "slices"
type Registry[E any] struct {
keys map[string]int32
values []E
@ -47,6 +49,16 @@ func (r *Registry[E]) Put(name string, data E) (id int32, val *E) {
return
}
// Tags
func (r *Registry[E]) Tag(tag string) []*E {
return slices.Clone(r.tags[tag])
}
func (r *Registry[E]) ClearTags() {
r.tags = make(map[string][]*E)
}
// func (r *Registry[E]) BindTags(tag string, ids []int32) error {
// values := make([]*E, len(ids))
// for i, id := range ids {