Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor: os.ReadDir
  • Loading branch information
rymut committed Dec 23, 2024
commit c694a3e9a275be635f1f7a0eef92beeb6a18963f
16 changes: 2 additions & 14 deletions tpl/os/os.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,25 +137,13 @@ func (ns *Namespace) ReadFile(i any) (string, error) {
}

// ReadDir lists the directory contents relative to the configured WorkingDir.
func (ns *Namespace) ReadDir(i any, mode ...any) ([]_os.FileInfo, error) {
func (ns *Namespace) ReadDir(i any) ([]_os.FileInfo, error) {
path, err := cast.ToStringE(i)
if err != nil {
return nil, err
}

old := true
if (len(mode) != 0) {
old, err = cast.ToBoolE(mode[0])
if err != nil {
return nil, fmt.Errorf("cannot convert value to bool %s: %s", mode[0], err)
}
}
var list []_os.FileInfo
if (old) {
list, err = afero.ReadDir(ns.workFs, path)
} else {
list, err = afero.ReadDir(ns.mountsFs, path)
}
list, err := afero.ReadDir(ns.mountsFs, path)
if err != nil {
return nil, fmt.Errorf("failed to read directory %q: %s", path, err)
}
Expand Down
8 changes: 4 additions & 4 deletions tpl/os/os_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ target = "assets/testing.json"
-- themes/module1/assets/file.json --
{}
-- layouts/index.html --
{{ $entries := readDir "assets" false }}
{{ $entries := readDir "assets" }}
START:|{{ range $entry := $entries }}{{ $entry.Name }}={{ $entry.Size }}|{{ end }}:END:
{{ $entries = readDir "assets/virtual" false }}
{{ $entries = readDir "assets/virtual" }}
START:|{{ range $entry := $entries }}{{ $entry.Name }}={{ $entry.Size }}|{{ end }}:END:
`
b := hugolib.NewIntegrationTestBuilder(
Expand Down Expand Up @@ -128,7 +128,7 @@ Hello project!
-- themes/module1/assets/file.json --
{}
-- layouts/index.html --
{{ $entries := (readDir "" false) }}
{{ $entries := (readDir "") }}
START:|{{ range $entry := $entries }}{{ $entry.Name }}|{{ end }}:END:
`
b := hugolib.NewIntegrationTestBuilder(
Expand Down Expand Up @@ -165,7 +165,7 @@ Nothing here
-- themes/module2/assets/file2.json --
{}
-- layouts/index.html --
{{ $entries := (readDir "assets" false) }}
{{ $entries := (readDir "assets") }}
START:|{{ range $entry := $entries }}{{ $entry.Name }}|{{ end }}:END:
`
b := hugolib.NewIntegrationTestBuilder(
Expand Down