File tree 1 file changed +8
-18
lines changed
1 file changed +8
-18
lines changed Original file line number Diff line number Diff line change @@ -27,35 +27,25 @@ func NewOverlayFS(baseFS fs.FS, overlays []Overlay) fs.FS {
27
27
}
28
28
}
29
29
30
- func (f overlayFS ) Open (p string ) ( fs.File , error ) {
30
+ func (f overlayFS ) target (p string ) fs.FS {
31
31
target := f .baseFS
32
32
for _ , overlay := range f .overlays {
33
33
if strings .HasPrefix (path .Clean (p ), overlay .Path ) {
34
34
target = overlay .FS
35
35
break
36
36
}
37
37
}
38
- return target .Open (p )
38
+ return target
39
+ }
40
+
41
+ func (f overlayFS ) Open (p string ) (fs.File , error ) {
42
+ return f .target (p ).Open (p )
39
43
}
40
44
41
45
func (f overlayFS ) ReadDir (p string ) ([]fs.DirEntry , error ) {
42
- target := f .baseFS
43
- for _ , overlay := range f .overlays {
44
- if strings .HasPrefix (path .Clean (p ), overlay .Path ) {
45
- target = overlay .FS
46
- break
47
- }
48
- }
49
- return fs .ReadDir (target , p )
46
+ return fs .ReadDir (f .target (p ), p )
50
47
}
51
48
52
49
func (f overlayFS ) ReadFile (p string ) ([]byte , error ) {
53
- target := f .baseFS
54
- for _ , overlay := range f .overlays {
55
- if strings .HasPrefix (path .Clean (p ), overlay .Path ) {
56
- target = overlay .FS
57
- break
58
- }
59
- }
60
- return fs .ReadFile (target , p )
50
+ return fs .ReadFile (f .target (p ), p )
61
51
}
You can’t perform that action at this time.
0 commit comments