gitee.com/h79/goutils@v1.22.10/common/archive/multi.go (about) 1 package archive 2 3 import ( 4 fileconfig "gitee.com/h79/goutils/common/file/config" 5 ) 6 7 type multiArchive struct { 8 ars []Archive 9 } 10 11 func NewMulti(ar []Archive) Archive { 12 return &multiArchive{ars: ar} 13 } 14 15 // Close al. 16 func (a *multiArchive) Close() error { 17 for i := range a.ars { 18 err := a.ars[i].Close() 19 if err != nil { 20 return err 21 } 22 } 23 return nil 24 } 25 26 // Add file to the archive. 27 func (a *multiArchive) Add(f fileconfig.File, stream ...fileconfig.ReaderStream) error { 28 for i := range a.ars { 29 err := a.ars[i].Add(f, stream...) 30 if err != nil { 31 return err 32 } 33 } 34 return nil 35 }