pathvalidate/const.go
2020-10-11 21:37:03 -07:00

51 lines
1.3 KiB
Go

package pathvalidate
import (
"errors"
"unicode"
"golang.org/x/text/unicode/rangetable"
)
var (
NTFSReserved = []string{
"$MFT",
"$MFTMIRR",
"$LOGFILE",
"$VOLUME",
"$ATTRDEF",
"$BITMAP",
"$BOOT",
"$BADCLUS",
"$SECURE",
"$UPCASE",
"$EXTEND",
"$QUOTA",
"$OBJID",
"$REPARSE",
} // Only in root directory
WindowsReserved = []string{
"CON", "PRN", "AUX", "CLOCK$", "NUL",
"COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "COM10",
"LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9", "LPT10",
}
DarwinReserved = []string{":"} // Is this needed?
)
var (
InvalidPath = rangetable.Merge(unicode.Cc, unicode.Cf, unicode.Z)
InvalidFilename = rangetable.Merge(InvalidPath, rangetable.New('/'))
InvalidWindowsPath = rangetable.Merge(InvalidPath, rangetable.New(':', '*', '?', '"', '<', '>', '|'))
InvalidWindowsFilename = rangetable.Merge(InvalidFilename, InvalidWindowsPath, rangetable.New('\\'))
DefaultMaxFilenameLength = 255
)
var (
ErrInvalidChar = errors.New("pathvalidate: invalid character")
ErrMaxLength = errors.New("pathvalidate: max length exceeded")
ErrMinLength = errors.New("pathvalidate: min length not met")
ErrReservedWord = errors.New("pathvalidate: reserved word found")
)