Categorygithub.com/gouniverse/utils
modulepackage
1.40.0
Repository: https://github.com/gouniverse/utils.git
Documentation: pkg.go.dev

# README

Utils Open in Gitpod

tests

Various utility functions.

Array Functions

  • ArrayContains(array interface{}, val interface{}) (exists bool, index int)
  • ArrayMerge(array ...[]interface{}) []interface{}
  • ArrayEqualsInt(a []int, b []int) bool - checks whether 2 int arrays are the same
  • ArrayEqualsStr(a []int, b []int) bool - checks whether 2 string arrays are the same
  • ArrayReverse[T any](arr []T) []T - returns a new reversed array
arr := []string{"one", "two", "three"}
newArr := ArrayReverse(arr)
// newArr is: []string{"three", "two", "one"}
  • ArrayToArrayAny[T any](arr []T) []any - converts an array of any type to array of interfaces
  • IsStringArrayEqual(a, b []string) bool - Deprecated. new code should use ArrayEqualsStr

Email Functions

  • EmailSend(from string, to []string, subject string, htmlMessage string) (bool, error)

Environment Variables Functions

  • AppAddress() string - returns the URL address the app is running under (APP_URL:APP:PORT)
  • AppEnv() string - returns the environment the app is running in (APP_ENV)
  • AppInDevelopment() bool - return whether app is in development
  • AppInLive() bool - return whether app is in production / live
  • AppInProduction() bool - return whether app is in production / live
  • AppInTesting() bool - return whether app is being tested
  • AppName() string - returns the name the app is running under (APP_NAME)
  • AppPort() string - returns the port the app is running under (APP_PORT)
  • AppURL() string - returns the URL the app is running under (APP_URL)
  • DbDriver() string - returns the database driver (DB_DRIVER)
  • DbHost() string - returns the database host (DB_HOST)
  • DbPort() string - returns the database port (DB_PORT)
  • DbDatabase() string - returns the database name driver (DB_DATABASE)
  • DbUsername() string - returns the database username (DB_USERNAME)
  • DbPassword() string - returns the database password (DB_PASSWORD)
  • EmailFromAddress() string - returns the mail from address (MAIL_FROM)
  • EmailFromName() string - returns the mail from name (MAIL_NAME)
  • Env(key string) string - returns an environment variable (i.e. Env("DB_DRIVER"))
  • EnvInitialize(key string) string - Initializes an .env file, if exists. Fails loudly if the file is invalid and cannot be parsed
utils.EnvInitialize()
  • EnvEncInitialize(password string)</> - Initializes an .env.vault file, if it exists
utils.EnvEncInitialize("abc")

File Functions

  • FileExists(filePath string) bool
  • FileGetContents(filename string) (string, error)
  • FilePutContents(filename string, data string, mode os.FileMode) error - writes a string to file
  • FileToBase64(filePath string) string - converts a file to Base64 encoded string
  • ImgToBase64Url(filePath string) string - converts an image file to Base64 encoded URL string

HTML Functions

This functionality is moved to github.com/gouniverse/htmlutils and can be used from there

HTTP Functions

  • IP(r *http.Request) string - Returns the IP address of the user
  • Req(r *http.Request, key string, defaultValue string) string - Returns a POST or GET value for a key, or default if not exists
  • ReqAll(r *http.Request) url.Values - Returns all request variables
  • ReqArray(r *http.Request, key string, defaultValue []string) []string - return an array for a key from the request
  • ReqMap(r *http.Request, key string) map[string]string - returns a map for a key from the request
  • RespondJSON(w http.ResponseWriter, response api.Response) - DEPRECATED. use https://github.com/gouniverse/api

Images

  • BytesToBase64Url(imgBytes []byte) string - converts bytes to Base64 encode URL string
  • ImgPlaceholderURL(width, height, text string) - returns a placeholder image
  • ImgToBase64Url(filePath string) string - converts an image file to Base64 encoded URL string
  • PicsumURL(width int, height int, opt PicsumURLOptions) - returns an image from the online service Lorem Picsum

Interface Functions

  • InterfaceToStringArray(v interface{}) []string

Link Functions

  • LinkWebsite() string

Map Functions

  • MapToColumn(inputMap []map[string]string, keyName string) []string - returns a column from map
  • MapToKeyValue(inputMap []map[string]string, keyName string, valueName string) map[string]string - returns a key-value array from an array of maps

String Functions

The deprecated string functions are moved to: https://github.com/gouniverse/strutils

  • AddSlashes(str string) string - adds slashes
  • Base64Decode(src string) ([]byte, error) - decodes a string from Base64
  • Base64Encode(src []byte) string - encodes a string to Base64
  • StrBetween(str string, startNeedle string, endNeedle string) (result string, found bool) - returns the substring between two needles
  • StrContainsOnlySpecifiedCharacters(str string, chars string) bool - checks string contains character from the specified in the chars parameter
  • StrLeftFrom(s string, needle, string) string - returns the substring on the left side of the needle
  • StrPadLeftFrom(s string, padLength int, pad string) string - returns the string padded on the left side
  • StrRandom(len int) string - generates a random string
  • StrRandomFromGamma(length int, gamma string) string - generates random string of specified length with the characters specified in the gamma string
  • StrRightFrom(s string, needle, string) string - returns the substring on the right side of the needle
  • StrSlugify(s string, replaceWith rune) string - converts a string to slug
  • StrToBcryptHash(str string) (string, error) - converts a string to bcrypt hash
  • StrToBcryptHashCompare(str string, hash string) - compares a string to a bcrypt hash
  • StrToFloat(s string) (int, error) - converts a string to Float32
  • StrToFloat64(s string) (int64, error) - converts a string to Float64
  • StrToInt(s string) (int, error) - converts a string to Int32
  • StrToInt64(s string) (int64, error) - converts a string to Int64
  • StrToMD5Hash(text string) string - StrToMD5Hash converts a string to MD5 hash
  • StrToSHA1Hash(text string) string - StrToSHA1Hash converts a string to SHA1 hash
  • StrToSHA256Hash(text string) string - converts a string to SHA256 hash
  • TemplateParseString(template string, data) string - parses a template file and returns as string
  • ToString(v interface{}) string - converts an interface to string

Time Functions

  • StrToTimeUnix(str string) (int64, error) - converts string to Unix time
time, err := StrToTimeUnix("2020-12-29 11:00:00")

Other Functions

  • ArgsToMap([]string) map[string]string - converts an CLI arguments array to map
  • CookieGet(r *http.Request, name string) string - gets a cookie
  • CookieRemove(w http.ResponseWriter, r *http.Request, name string) - removes a cookie
  • CookieSet(w http.ResponseWriter, r *http.Request, name string, value string, seconds int) - sets a cookie
  • Exec(cms string, args... string) map[string]string - executes a CLI command
  • ExecLine(cmd string) map[string]string - executes a full CLI command
  • IsInt(s string) bool - checks if a string is integer
  • IsFloat(s string) bool - checks if a string is float
  • IsJSON(s string) bool - naive implementation for rough and fast check if a string is JSON
  • IsNumeric(s string) bool - checks if a string is numeric
  • IsZero[T comparable](v T) bool
  • FromJSON(jsonString string, valueDefault interface{}) (interface{}, error) - JSON decodes a string
  • RandBool() bool - returns a random boolean value
random := RandBool()
  • ToJSON(value interface{}) (string, error) - JSON encodes a value
  • ToBool(str string) bool - converts a string with common names ("yes", "true", "1") to boolean
  • ZeroT any (ret T)
isDebugEnabled := ToBool("yes")
  • ToFloat(value str) (float64, error) - converts a string to float
  • ToInt(value str) (int64, error) - converts a string to int
  • XOREncode(buffer []byte, key []byte) []byte - XOR encodes a byte array
  • XORDencode(buffer []byte, key []byte) []byte - XOR decodes a byte array

Change Log

2024-02-10 - Added EnvEncInitialize functions

2024-01-20 - Added RandBool, ReqMap, BytesToBase64Url functions

2023-10-13 - Added function IsJSON, IsZero, Zero, removed deprecations

2023-01-27 - Added function PicsumURL

2022-09-10 - Added function StrContainsOnlySpecifiedCharacters

2022-08-28 - Added function StrToInt, StrToInt64, StrToFloat, StrToFloat64

2022-08-27 - Added function ToInt, ToFloat, IsInt, IsFloat, IsEmpty

2022-08-17 - Added functions ImgPlaceholderURL

2022-08-11 - Added functions StrToBcryptHash, StrToBcryptHashCompare

2022-08-06 - Added function ToBool

2022-08-04 - Added functions CookieGet, CookieSet, FromJSON, ToJSON, XORDecode, XOREncode

2022-08-02 - Added function ArrayReverse

2022-07-31 - Added functions ArrayEqualsInt, ArrayEqualsStr

2022-07-30 - Added functions StrBetween, StrRandom, StrRandomFromGamma, StrToBytes. Deprecated RandStr, RandStrFromGamma

2022-07-28 - Added functions StrLeftFrom, StrRightFrom

2022-06-01 - Moved Fiber functions into separate repo to remove extra dependencies on Fiber

2021-07-19 - Added functions AppInDevelopment, AppInLive, AppInProduction, AppInTesting

Other Similar Utility Libraries

Consider To Include (May Be)

# Functions

AddSlashes returns a string with backslashes added before characters that need to be escaped.
AppAddress return the full URL and PORT for the app.
AppEnv returns the environment the app is running in.
AppInDevelopment return whether app is in development.
AppInProduction return whether app is in production / live.
AppInProduction return whether app is in production / live.
AppInTesting return whether app is being tested.
AppName return the name for the app.
AppPort return the port for the app.
AppURL return the URL for the app.
ArgsToMap converts command line arguments to a key value map supports filled (i.e.
ArrayContains checks whether an array contains the specified value.
ArrayEquals checks whether 2 string arrays are the same.
ArrayEquals checks whether 2 string arrays are the same.
ArrayMerge merges two arrays.
ArrayReverse creates a new reversed array.
ArrayToArrayAny converts an array of any type to array of interfaces.
TODO.
Base64Encode decodes a string from Base64.
Base64Encode encodes a string to Base64.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DbDatabase return the name of the database.
DbDriver returns the driver of the database.
DbHost return the host of the database.
DbPassword return the password for the database.
DbPort return the port of the database.
DbQuery executes a SQL query and returns array of key value maps.
DbUsername return the username of the database.
EmailFromAddress return the URL for the app.
EmailFromName return the URL for the app.
EmailSend sends an email.
Env returns the value for an environment key.
No description provided by the author
EnvInitialize initializes the environment variables.
Exec executes a system command using the the standard package "os/exec".
ExecLine executes a full system command line string containing the arguments using for the standard package "os/exec".
FileExists checks if a file exists.
FileGetContents reads entire file into a string.
FilePutContents adds content to file.
No description provided by the author
FileToBase64 converts a file to Base64 encoded string.
No description provided by the author
ImgPlaceholderURL returns a placeholder image.
ImgToBase64Url converts an image file to Base64 encoded URL string.
TODO.
InterfaceToStringArray converts an interface to String array.
IP gets the IP address for the user.
IsEmpty checks if the string is empty.
IsFloat checks if the string is a float.
IsInt checks if the string is an integer.
IsJSON is naive implementation for superficial, rough and fast checking for JSON.
IsNumeric checks if a string is numeric.
IsStringArrayEqual checks whether 2 string arrays are the same.
No description provided by the author
JSONDecode shortcode for FromJSON.
JSONEncode shortcut to ToJSON.
LinkWebsite returns a URL to the current website.
MapToColumn Returns a column from map.
MapToKeyValue returns a key-value array an array of maps.
PicsumURL generates an image URL for the Lorem Picsum online service More info can be found at its website: https://picsum.photos/.
PxToString converts int to string (i.e.
RandBool returns a random boolean value.
Req returns a POST or GET key, or default if not exists.
ReqAll returns all request variables.
No description provided by the author
ReqMap returns a map from the request.
RespondJSON returns an API response as JSON.
StrBetween returns the string between two needles Deprecated: Moved to https://github.com/gouniverse/strutils.
Deprecated: Moved to https://github.com/gouniverse/strutils.
StrLeftFrom returns the substring on the left side of the needle Deprecated: Moved to https://github.com/gouniverse/strutils.
Deprecated: Moved to https://github.com/gouniverse/strutils.
StrRandom generates random string of specified length Deprecated: Moved to https://github.com/gouniverse/strutils.
StrRandomFromGamma generates random string of specified length with the characters specified in the gamma string Deprecated: Moved to https://github.com/gouniverse/strutils.
StrRightFrom returns the substring on the left side of the needle.
StrSlugify replaces each run of characters which are not ASCII letters or numbers with the Replacement character, except for leading or trailing runs.
StrToBcryptHash converts the string to bcrypt hash.
StrToBcryptHashCompare compares the string to a bcrypt hash.
StrToBytes converts string to bytes.
StrToFloat converts a string to Float32.
StrToFloat64 converts a string to Float64.
StrToInt converts a string to Int32.
StrToInt64 converts a string to Int64.
StrToMD5Hash converts a string to MD5 hash.
StrToSHA1Hash converts a string to SHA1 hash.
StrToSHA256Hash converts a string to SHA256 hash.
StrToTimeUnix converts sting to Unix time.
TemplateParseString parses a template string with the passed data.
ToBool converts a string with common names ("yes", "true", "1") to boolean.
ToFloat convert the input string to a float, or 0.0 if the input is not a float.
ToInt convert the input string or any int type to an integer type 64, or 0 if the input is not an integer.
No description provided by the author
ToString converts an interface to string.
Unlink deletes a file.
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author