github.com/HashDataInc/packer@v1.3.2/packer/rpc/fileinfo.go (about) 1 package rpc 2 3 import ( 4 "os" 5 "time" 6 ) 7 8 func NewFileInfo(fi os.FileInfo) *fileInfo { 9 if fi == nil { 10 return nil 11 } 12 13 return &fileInfo{N: fi.Name(), S: fi.Size(), M: fi.Mode(), T: fi.ModTime()} 14 } 15 16 type fileInfo struct { 17 N string 18 S int64 19 M os.FileMode 20 T time.Time 21 } 22 23 func (fi fileInfo) Name() string { return fi.N } 24 func (fi fileInfo) Size() int64 { return fi.S } 25 func (fi fileInfo) Mode() os.FileMode { return fi.M } 26 func (fi fileInfo) ModTime() time.Time { 27 if fi.T.IsZero() { 28 return time.Now() 29 } 30 return fi.T 31 } 32 func (fi fileInfo) IsDir() bool { return fi.M.IsDir() } 33 func (fi fileInfo) Sys() interface{} { return nil }