use standard library right

This commit is contained in:
Lilian Jónsdóttir 2024-07-15 15:07:39 -07:00
parent af2af0c587
commit dc0aab172d

View file

@ -1,7 +1,10 @@
// Package files finds and displays files on disk // Package files finds and displays files on disk
package files package files
import "time" import (
"cmp"
"time"
)
type File interface { type File interface {
Name() string Name() string
@ -14,16 +17,6 @@ type File interface {
type Files []File type Files []File
func SortByModified(a, b File) int { func SortByModified(a, b File) int {
if a.Date().After(b.Date()) {
return 1
} else if a.Date().Before(b.Date()) {
return -1
} else {
return 0
}
}
func SortByModifiedReverse(a, b File) int {
if a.Date().Before(b.Date()) { if a.Date().Before(b.Date()) {
return 1 return 1
} else if a.Date().After(b.Date()) { } else if a.Date().After(b.Date()) {
@ -33,60 +26,54 @@ func SortByModifiedReverse(a, b File) int {
} }
} }
func SortBySize(a, b File) int { func SortByModifiedReverse(a, b File) int {
if a.Filesize() > b.Filesize() { if a.Date().After(b.Date()) {
return 1 return 1
} else if a.Filesize() < b.Filesize() { } else if a.Date().Before(b.Date()) {
return -1 return -1
} else { } else {
return 0 return 0
} }
} }
func SortBySize(a, b File) int {
return cmp.Compare(b.Filesize(), a.Filesize())
}
func SortBySizeReverse(a, b File) int { func SortBySizeReverse(a, b File) int {
if a.Filesize() < b.Filesize() { return cmp.Compare(a.Filesize(), b.Filesize())
return 1
} else if a.Filesize() > b.Filesize() {
return -1
} else {
return 0
}
} }
func SortByName(a, b File) int { func SortByName(a, b File) int {
if a.Name() > b.Name() { return cmp.Compare(a.Name(), b.Name())
return 1
} else if a.Name() < b.Name() {
return -1
} else {
return 0
}
} }
func SortByNameReverse(a, b File) int { func SortByNameReverse(a, b File) int {
if a.Name() < b.Name() { return cmp.Compare(b.Name(), a.Name())
return 1
} else if a.Name() > b.Name() {
return -1
} else {
return 0
}
} }
func SortByPath(a, b File) int { func SortByPath(a, b File) int {
if a.Path() > b.Path() { return cmp.Compare(a.Path(), b.Path())
}
func SortByPathReverse(a, b File) int {
return cmp.Compare(b.Path(), a.Path())
}
func SortDirectoriesFirst(a, b File) int {
if !a.IsDir() && b.IsDir() {
return 1 return 1
} else if a.Path() < b.Path() { } else if a.IsDir() && !b.IsDir() {
return -1 return -1
} else { } else {
return 0 return 0
} }
} }
func SortByPathReverse(a, b File) int { func SortDirectoriesLast(a, b File) int {
if a.Path() < b.Path() { if a.IsDir() && !b.IsDir() {
return 1 return 1
} else if a.Path() > b.Path() { } else if !a.IsDir() && b.IsDir() {
return -1 return -1
} else { } else {
return 0 return 0