Documentation
¶
Index ¶
- func CopyTrimmedStringIntMap(input map[string]int) map[string]int
- func DeduplicateStrings(input []string, sorted bool) []string
- func DeepCloneJSON(v interface{}) interface{}
- func FormatDuration(d time.Duration) string
- func FormatFutureTime(t time.Time) string
- func GetStringFromMap(m map[string]interface{}, keys ...string) string
- func InterfaceToIntString(v interface{}) (string, bool)
- func RandomBytes(n int) ([]byte, error)
- func RandomHex(n int) (string, error)
- func RandomHexWithFallback(n int) string
- func Truncate(s string, maxLen int) string
- func TruncateRunes(s string, maxRunes int) string
- func TruncateWithSuffix(s string, maxLen int, suffix string) string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyTrimmedStringIntMap ¶ added in v0.3.23
CopyTrimmedStringIntMap returns a defensive copy of a string→int map with whitespace trimmed from all keys.
func DeduplicateStrings ¶ added in v0.1.19
DeduplicateStrings returns a new slice with whitespace-trimmed, empty, and duplicate entries removed from input. When sorted is true the result is sorted in ascending order. The relative order of first-seen entries is preserved when sorted is false.
func DeepCloneJSON ¶ added in v0.3.21
func DeepCloneJSON(v interface{}) interface{}
DeepCloneJSON creates a deep copy of a JSON-compatible value.
func FormatDuration ¶ added in v0.2.25
FormatDuration formats a duration for display like the debug npm package. It provides granular formatting from nanoseconds to hours.
func FormatFutureTime ¶ added in v0.3.7
FormatFutureTime returns a human-readable representation of a future time, combining an RFC3339 timestamp with a relative countdown (e.g. "2026-05-03T12:00:00Z (in 5.0m)"). Returns "unknown" when t is the zero value.
func GetStringFromMap ¶ added in v0.3.23
GetStringFromMap returns the first non-empty string value found for any of the given keys in m. For each key, the value must be present, typed as string, and non-empty to be returned. Returns an empty string when no matching non-empty string value is found, when the map is nil, or when no keys are provided.
With a single key the behaviour is equivalent to `v, _ := m[key].(string)`:
GetStringFromMap(m, "owner")
With multiple keys the function returns the first non-empty match, which is useful for maps that may use either snake_case or camelCase field names:
GetStringFromMap(m, "html_url", "htmlUrl")
func InterfaceToIntString ¶ added in v0.3.28
InterfaceToIntString attempts to convert a JSON-decoded numeric interface value (float64 or json.Number) to its decimal integer string representation. Returns ("", false) if the value is not a numeric type or is non-integer.
func RandomBytes ¶ added in v0.3.21
RandomBytes returns n cryptographically random bytes.
func RandomHex ¶ added in v0.2.18
RandomHex returns a hex-encoded string of n cryptographically random bytes. The returned string has length 2*n.
func RandomHexWithFallback ¶ added in v0.3.2
RandomHexWithFallback returns a hex-encoded string of n random bytes. On the normal path it returns the same output as RandomHex(n) — a string of length 2*n containing cryptographically random hex characters. If crypto/rand is unavailable, it falls back to a hex-encoded pid+nanosecond value that is unique within a single process run. The fallback is non-cryptographic and should only arise in unusual runtime environments; it always produces a 32-character hex string (16 bytes), regardless of n. For the typical call site (n == 16) the fallback output length matches the normal output length.
func Truncate ¶
Truncate truncates a string to the specified maximum length. If the string is longer than maxLen, it's truncated and "..." is appended. If maxLen is 0, returns "..." for non-empty strings, empty string for empty strings. If maxLen is negative, the original string is returned.
func TruncateRunes ¶ added in v0.2.18
TruncateRunes truncates s to at most maxRunes Unicode code points (runes). Unlike Truncate, which counts bytes, TruncateRunes is safe for non-ASCII content (e.g. emoji, CJK characters). If maxRunes is 0 or negative, returns an empty string.
func TruncateWithSuffix ¶
TruncateWithSuffix truncates a string to the specified maximum length with a custom suffix. If the string is longer than maxLen, it's truncated and suffix is appended. If maxLen is 0 or negative, the original string is returned.
Types ¶
This section is empty.