github.com/Cloud-Foundations/Dominator@v0.3.4/lib/image/iterators.go (about) 1 package image 2 3 import ( 4 "github.com/Cloud-Foundations/Dominator/lib/filesystem" 5 "github.com/Cloud-Foundations/Dominator/lib/hash" 6 ) 7 8 func (image *Image) forEachObject(objectFunc func(hash.Hash) error) error { 9 for _, inode := range image.FileSystem.InodeTable { 10 if inode, ok := inode.(*filesystem.RegularInode); ok { 11 if inode.Size > 0 { 12 if err := objectFunc(inode.Hash); err != nil { 13 return err 14 } 15 } 16 } 17 } 18 if image.ReleaseNotes != nil && image.ReleaseNotes.Object != nil { 19 if err := objectFunc(*image.ReleaseNotes.Object); err != nil { 20 return err 21 } 22 } 23 if image.BuildLog != nil && image.BuildLog.Object != nil { 24 if err := objectFunc(*image.BuildLog.Object); err != nil { 25 return err 26 } 27 } 28 return nil 29 }