format

package
v0.15.83 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2025 License: MIT Imports: 5 Imported by: 3

Documentation

Overview

Package format provides string, number, boolean, and time formatting utilities.

Index

Constants

This section is empty.

Variables

View Source
var (
	// DefaultTimePrintFormat is the default time format: UTC, Local, Ago
	DefaultTimePrintFormat = "UTC"

	// DefaultTimeFormatZone is the default time format
	DefaultTimeFormatZone = "2006-01-02T15:04:05.999+07:00"
	// DefaultTimeFormatUTC is the default time format
	DefaultTimeFormatUTC = "2006-01-02T15:04:05.999Z"

	// DefaultTimeTruncate is the default time to truncate as Postgres time precision is default to 6
	// However, JavaScript and AWS accept time milliseconds only, 3 digits, so we truncate to 3
	DefaultTimeTruncate = time.Millisecond

	NowFunc = time.Now
)

Functions

func DisplayName added in v0.12.53

func DisplayName(name string) string

DisplayName returns display name of a field to preserve common acronyms

func Enabled

func Enabled(val bool) string

func Float

func Float[T ~float32 | ~float64](val T) string

func LocalTime

func LocalTime(val any) string

LocalTime returns local time

func Number

func Number[T ~int | ~int32 | ~uint | ~uint32 | ~int64 | ~uint64](val T) string

func ParseStringTime

func ParseStringTime(val string) time.Time

ParseStringTime returns Time from a string

func ParseTime

func ParseTime(val any) time.Time

ParseTime returns time from any type

func Split added in v0.12.53

func Split(src string) (entries []string)

Split splits the camelcase word and returns a list of words. It also supports digits. Both lower camel case and upper camel case are supported. For more info please check: http://en.wikipedia.org/wiki/CamelCase

Examples

"" =>                     [""]
"lowercase" =>            ["lowercase"]
"test_value" =>           ["Test", "Value"]
"Class" =>                ["Class"]
"MyClass" =>              ["My", "Class"]
"MyC" =>                  ["My", "C"]
"HTML" =>                 ["HTML"]
"ID" =>                   ["ID"]
"IDs" =>                  ["IDs"]
"AssetID" =>              ["Asset", "ID"]
"AssetIDs" =>             ["Asset", "IDs"]
"PDFLoader" =>            ["PDF", "Loader"]
"AString" =>              ["A", "String"]
"SimpleXMLParser" =>      ["Simple", "XML", "Parser"]
"vimRPCPlugin" =>         ["vim", "RPC", "Plugin"]
"GL11Version" =>          ["GL", "11", "Version"]
"99Bottles" =>            ["99", "Bottles"]
"May5" =>                 ["May", "5"]
"BFG9000" =>              ["BFG", "9000"]
"BöseÜberraschung" =>     ["Böse", "Überraschung"]
"Two  spaces" =>          ["Two", "  ", "spaces"]
"BadUTF8\xe2\xe2\xa1" =>  ["BadUTF8\xe2\xe2\xa1"]

Splitting rules

  1. If string is not valid UTF-8, return it without splitting as single item array.
  2. Assign all unicode characters into one of 4 sets: lower case letters, upper case letters, numbers, and all other characters.
  3. Iterate through characters of string, introducing splits between adjacent characters that belong to different sets.
  4. Iterate through array of split strings, and if a given string is upper case: if subsequent string is lower case: move last character of upper case string to beginning of lower case string

func StringMax added in v0.12.53

func StringMax(limit int, val string) string

StringMax returns the string value with a maximum length of max.

func Strings added in v0.12.53

func Strings(val []string) string

func StringsAndMore added in v0.12.53

func StringsAndMore(first int, val []string) string

func StringsMax added in v0.12.53

func StringsMax(limit int, val []string) string

StringsMax returns the string value with a maximum length of max.

func TextOneLine added in v0.14.64

func TextOneLine(doc string) string

func TextWithIndent added in v0.14.64

func TextWithIndent(doc string, indent string, noFirstIndent bool) string

func Time

func Time(val any) string

Time returns formatted time

func TimeAgo

func TimeAgo(val any) string

TimeAgo returns elapsed time since

func TimesElapsed

func TimesElapsed(from, to any) (created string, updated string, elapsed string)

TimesElapsed returns formatted times and elapsed time

func YesNo

func YesNo(val bool) string

Types

This section is empty.

Jump to

Keyboard shortcuts

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