blob: a0cdb120da1ebe26ca2533309da607668d6e5926 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package ldd
import (
"hakurei.app/container"
)
// Path returns a deterministic, deduplicated slice of absolute directory paths in entries.
func Path(entries []*Entry) []*container.Absolute {
p := make([]*container.Absolute, 0, len(entries)*2)
for _, entry := range entries {
if a, err := container.NewAbs(entry.Path); err == nil {
p = append(p, a.Dir())
}
if a, err := container.NewAbs(entry.Name); err == nil {
p = append(p, a.Dir())
}
}
container.SortAbs(p)
return container.CompactAbs(p)
}
|