github.com/altipla-consulting/ravendb-go-client@v0.1.3/documents_by_id.go (about) 1 package ravendb 2 3 import "strings" 4 5 // TODO: change to an alias: 6 // type documentsByID map[string]*documentInfo 7 8 type documentsByID struct { 9 inner map[string]*documentInfo 10 } 11 12 func newDocumentsByID() *documentsByID { 13 return &documentsByID{ 14 inner: map[string]*documentInfo{}, 15 } 16 } 17 18 func (d *documentsByID) getValue(id string) *documentInfo { 19 id = strings.ToLower(id) 20 return d.inner[id] 21 } 22 23 func (d *documentsByID) add(info *documentInfo) { 24 id := strings.ToLower(info.id) 25 26 if _, ok := d.inner[id]; ok { 27 return 28 } 29 30 d.inner[id] = info 31 } 32 33 func (d *documentsByID) remove(id string) bool { 34 id = strings.ToLower(id) 35 if _, ok := d.inner[id]; !ok { 36 return false 37 } 38 delete(d.inner, id) 39 return true 40 }