util

package
v1.16.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2022 License: MIT Imports: 20 Imported by: 706

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CopyDir added in v1.14.0

func CopyDir(srcPath, destPath string) error

CopyDir copy files recursively from source to target directory. It returns error when error occurs in underlying functions.

func CopyFile added in v1.14.0

func CopyFile(src, dest string) error

CopyFile copies file from source to target path.

func EnsureAbsolutePath added in v1.3.0

func EnsureAbsolutePath(path, absoluteBase string) string

EnsureAbsolutePath ensure that a path is absolute, making it relative to absoluteBase if necessary

func ExistsInSlice added in v1.5.0

func ExistsInSlice(target string, slice []string) bool

ExistsInSlice returns true if string exists in slice.

func FileURLToPath added in v1.15.0

func FileURLToPath(u *url.URL) (string, error)

FileURLToPath extracts the path information from a file://... url.

func GetDirectorySize added in v1.11.0

func GetDirectorySize(path string) (int64, error)

GetDirectorySize returns the disk consumption for a given path

func IsDir added in v1.14.0

func IsDir(dir string) (bool, error)

IsDir returns true if given path is a directory, or returns false when it's a file or does not exist.

func IsEmptyString added in v1.7.0

func IsEmptyString(s string) bool

IsEmptyString checks if the provided string is empty

func IsEqualSlice added in v1.5.0

func IsEqualSlice(target, source []string) bool

IsEqualSlice returns true if slices are equal.

func IsExist added in v1.14.0

func IsExist(path string) (bool, error)

IsExist checks whether a file or directory exists. It returns false when the file or directory does not exist.

func IsFile added in v1.14.0

func IsFile(filePath string) (bool, error)

IsFile returns true if given path is a file, or returns false when it's a directory or does not exist.

func IsIPPrivate added in v1.15.7

func IsIPPrivate(ip net.IP) bool

IsIPPrivate for net.IP.IsPrivate. TODO: replace with `ip.IsPrivate()` if min go version is bumped to 1.17

func IsInt64InSlice added in v1.12.0

func IsInt64InSlice(target int64, slice []int64) bool

IsInt64InSlice sequential searches if int64 exists in slice.

func IsSliceInt64Eq added in v1.3.0

func IsSliceInt64Eq(a, b []int64) bool

IsSliceInt64Eq returns if the two slice has the same elements but different sequences.

func IsStringInSlice added in v1.11.0

func IsStringInSlice(target string, slice []string, insensitive ...bool) bool

IsStringInSlice sequential searches if string exists in slice.

func Max added in v1.3.0

func Max(a, b int) int

Max max of two ints

func MergeInto added in v1.14.0

func MergeInto(dict map[string]interface{}, values ...interface{}) (map[string]interface{}, error)

MergeInto merges pairs of values into a "dict"

func Min added in v1.3.0

func Min(a, b int) int

Min min of two ints

func NewSanitizedError added in v1.15.0

func NewSanitizedError(err error, oldnew ...string) error

NewSanitizedError wraps an error and replaces all old, new string pairs in the message text.

func NewStringURLSanitizedError added in v1.15.0

func NewStringURLSanitizedError(err error, unsanitizedURL string, usePlaceholder bool) error

NewStringURLSanitizedError wraps an error and replaces the url credential or removes them. If the url can't get parsed it gets replaced with a placeholder string.

func NewStringURLSanitizer added in v1.15.0

func NewStringURLSanitizer(unsanitizedURL string, usePlaceholder bool) *strings.Replacer

NewStringURLSanitizer creates a replacer for the url with the credential sanitized or removed. If the url can't get parsed it gets replaced with a placeholder string

func NewURLSanitizedError added in v1.15.0

func NewURLSanitizedError(err error, u *url.URL, usePlaceholder bool) error

NewURLSanitizedError wraps an error and replaces the url credential or removes them.

func NewURLSanitizer added in v1.15.0

func NewURLSanitizer(u *url.URL, usePlaceholder bool) *strings.Replacer

NewURLSanitizer creates a replacer for the url with the credential sanitized or removed.

func NormalizeEOL added in v1.11.0

func NormalizeEOL(input []byte) []byte

NormalizeEOL will convert Windows (CRLF) and Mac (CR) EOLs to UNIX (LF)

func PaginateSlice added in v1.14.0

func PaginateSlice(list interface{}, page, pageSize int) interface{}

PaginateSlice cut a slice as per pagination options if page = 0 it do not paginate

func PathEscapeSegments added in v1.8.0

func PathEscapeSegments(path string) string

PathEscapeSegments escapes segments of a path while not escaping forward slash

func RandomBytes added in v1.16.0

func RandomBytes(length int64) ([]byte, error)

RandomBytes generates `length` bytes This differs from RandomString, as RandomString is limits each byte to have a maximum value of 63 instead of 255(max byte size)

func RandomInt added in v1.15.0

func RandomInt(limit int64) (int64, error)

RandomInt returns a random integer between 0 and limit, inclusive

func RandomString added in v1.15.0

func RandomString(length int64) (string, error)

RandomString generates a random alphanumerical string

func ReadAtMost added in v1.15.6

func ReadAtMost(r io.Reader, buf []byte) (n int, err error)

ReadAtMost reads at most len(buf) bytes from r into buf. It returns the number of bytes copied. n is only less then len(buf) if r provides fewer bytes. If EOF occurs while reading, err will be nil.

func Remove added in v1.13.0

func Remove(name string) error

Remove removes the named file or (empty) directory with at most 5 attempts.

func RemoveAll added in v1.2.0

func RemoveAll(name string) error

RemoveAll removes the named file or (empty) directory with at most 5 attempts.

func Rename added in v1.14.5

func Rename(oldpath, newpath string) error

Rename renames (moves) oldpath to newpath with at most 5 attempts.

func ShellEscape added in v1.13.0

func ShellEscape(toEscape string) string

ShellEscape will escape the provided string. We can't just use go-shellquote here because our preferences for escaping differ from those in that we want:

* If the string doesn't require any escaping just leave it as it is. * If the string requires any escaping prefer double quote escaping * If we have ! or newlines then we need to use single quote escaping

func SplitStringAtByteN added in v1.15.0

func SplitStringAtByteN(input string, n int) (left, right string)

SplitStringAtByteN splits a string at byte n accounting for rune boundaries. (Combining characters are not accounted for.)

func SplitStringAtRuneN added in v1.16.0

func SplitStringAtRuneN(input string, n int) (left, right string)

SplitStringAtRuneN splits a string at rune n accounting for rune boundaries. (Combining characters are not accounted for.)

func StatDir added in v1.14.0

func StatDir(rootPath string, includeDir ...bool) ([]string, error)

StatDir gathers information of given directory by depth-first. It returns slice of file list and includes subdirectories if enabled; it returns error and nil slice when error occurs in underlying functions, or given path is not a directory or does not exist.

Slice does not include given path itself. If subdirectories is enabled, they will have suffix '/'.

func StopTimer added in v1.11.5

func StopTimer(t *time.Timer) bool

StopTimer is a utility function to safely stop a time.Timer and clean its channel

func URLJoin added in v1.4.3

func URLJoin(base string, elems ...string) string

URLJoin joins url components, like path.Join, but preserving contents

Types

type Int64Slice added in v1.3.0

type Int64Slice []int64

Int64Slice attaches the methods of Interface to []int64, sorting in increasing order.

func (Int64Slice) Len added in v1.3.0

func (p Int64Slice) Len() int

func (Int64Slice) Less added in v1.3.0

func (p Int64Slice) Less(i, j int) bool

func (Int64Slice) Swap added in v1.3.0

func (p Int64Slice) Swap(i, j int)

type OptionalBool

type OptionalBool byte

OptionalBool a boolean that can be "null"

const (
	// OptionalBoolNone a "null" boolean value
	OptionalBoolNone OptionalBool = iota
	// OptionalBoolTrue a "true" boolean value
	OptionalBoolTrue
	// OptionalBoolFalse a "false" boolean value
	OptionalBoolFalse
)

func OptionalBoolOf

func OptionalBoolOf(b bool) OptionalBool

OptionalBoolOf get the corresponding OptionalBool of a bool

func OptionalBoolParse added in v1.16.0

func OptionalBoolParse(s string) OptionalBool

OptionalBoolParse get the corresponding OptionalBool of a string using strconv.ParseBool

func (OptionalBool) IsFalse added in v1.3.0

func (o OptionalBool) IsFalse() bool

IsFalse return true if equal to OptionalBoolFalse

func (OptionalBool) IsNone added in v1.3.0

func (o OptionalBool) IsNone() bool

IsNone return true if equal to OptionalBoolNone

func (OptionalBool) IsTrue added in v1.3.0

func (o OptionalBool) IsTrue() bool

IsTrue return true if equal to OptionalBoolTrue

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL