mirror of
https://github.com/luxfi/sdk.git
synced 2026-10-30 15:19:23 +00:00
Lux Partners Limited is not the entity behind this work. Every place the old name stood — copyright lines, site footers, brand config, legal and compliance text — now names the company that actually holds it. lux.fund is the exception and is not renamed to match: that site belongs to Lux Assets Management LLC, a different company, and it says so. Two kinds of line were left for a person rather than rewritten. A dated news item recording that Lux Partners Limited was established in the Isle of Man is a historical fact, and renaming it would falsify the record. And a sentence asserting that the company is domiciled in the Isle of Man is a claim about a jurisdiction, not a name — an Inc or an LLC is not an Isle of Man company, so swapping the name there would assert something untrue. Co-authored-by: Hanzo Dev <[email protected]>
51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
// Copyright (C) 2022, Lux Industries Inc All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
// Package fs provides filesystem utility functions.
|
|
package fs
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
// FileExists returns true if the file exists and is not a directory.
|
|
func FileExists(path string) bool {
|
|
info, err := os.Stat(path)
|
|
if err != nil {
|
|
return false
|
|
}
|
|
return !info.IsDir()
|
|
}
|
|
|
|
// DirExists returns true if the directory exists.
|
|
func DirExists(path string) bool {
|
|
info, err := os.Stat(path)
|
|
if err != nil {
|
|
return false
|
|
}
|
|
return info.IsDir()
|
|
}
|
|
|
|
// IsSubPath checks if child is a subdirectory of parent.
|
|
// Returns true if parent is a prefix path of child.
|
|
func IsSubPath(child, parent string) bool {
|
|
// Clean both paths
|
|
cleanChild, err := filepath.Abs(child)
|
|
if err != nil {
|
|
return false
|
|
}
|
|
cleanParent, err := filepath.Abs(parent)
|
|
if err != nil {
|
|
return false
|
|
}
|
|
|
|
// Ensure parent has trailing separator for proper prefix matching
|
|
if !strings.HasSuffix(cleanParent, string(filepath.Separator)) {
|
|
cleanParent += string(filepath.Separator)
|
|
}
|
|
|
|
return strings.HasPrefix(cleanChild, cleanParent)
|
|
}
|