absolute: efficient equivalence check method

This is more efficient and makes the call site cleaner.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-08-20 17:06:38 +09:00
parent 9aec2f46fe
commit 31f0dd36df
2 changed files with 33 additions and 1 deletions

View File

@@ -39,6 +39,15 @@ func (a *Absolute) String() string {
return a.pathname
}
func (a *Absolute) Is(v *Absolute) bool {
if a == nil && v == nil {
return true
}
return a != nil && v != nil &&
a.pathname != zeroString && v.pathname != zeroString &&
a.pathname == v.pathname
}
// NewAbs checks pathname and returns a new [Absolute] if pathname is absolute.
func NewAbs(pathname string) (*Absolute, error) {
if !isAbs(pathname) {