repos / pico

pico services mono repo
git clone https://github.com/picosh/pico.git

pico / pkg / send / utils
Antonio Mika  ·  2025-03-12

file.go

 1package utils
 2
 3import (
 4	"os"
 5	"time"
 6)
 7
 8type VirtualFile struct {
 9	FName    string
10	FIsDir   bool
11	FSize    int64
12	FModTime time.Time
13	FSys     any
14}
15
16func (f *VirtualFile) Name() string { return f.FName }
17func (f *VirtualFile) Size() int64  { return f.FSize }
18func (f *VirtualFile) Mode() os.FileMode {
19	if f.FIsDir {
20		return os.FileMode(0755) | os.ModeDir
21	}
22	return os.FileMode(0644)
23}
24func (f *VirtualFile) ModTime() time.Time {
25	if f.FModTime.IsZero() {
26		return time.Now()
27	}
28	return f.FModTime
29}
30func (f *VirtualFile) IsDir() bool { return f.FIsDir }
31func (f *VirtualFile) Sys() any    { return f.FSys }