Documentation ¶
Index ¶
- Variables
- func BuildRequestPayload(signature string, payload map[string]interface{}) *bytes.Buffer
- func CtyToGo(v cty.Value) (val interface{}, err error)
- func CtyToJSON(val cty.Value) (string, error)
- func CtyToPostgresString(v cty.Value) (valStr string, err error)
- func CtyToString(v cty.Value) (valStr string, err error)
- func CtyTypeToHclType(types ...cty.Type) string
- func DisplayProfileData()
- func EnsureDirectoryPermission(directoryPath string) error
- func FileHash(filePath string) (string, error)
- func FileModTime(filePath string) (time.Time, error)
- func FilenameNoExtension(fileName string) string
- func Filter[V any](elements []V, predicate func(V) bool) []V
- func FindProcess(targetPid int) (*psutils.Process, error)
- func GetMD5Hash(text string) string
- func IsContextCancelled(ctx context.Context) bool
- func IsMacM1() (bool, error)
- func IsPortBindable(port int) error
- func IsWSL() (bool, error)
- func LocalAddresses() ([]string, error)
- func LogTime(operation string)
- func Map[V any, M any](elements []V, mapper func(V) M) []M
- func MergeMaps[M ~map[K]V, K comparable, V any](old, new M) M
- func MoveFile(source string, destination string) error
- func OpenBrowser(url string) error
- func PadRight(str string, length int, pad byte) string
- func ParseCertificateInLocation(location string) (*x509.Certificate, error)
- func Partition[V any](elements []V, predicate func(V) bool) ([]V, []V)
- func PidExists(targetPid int) (bool, error)
- func Pluralize(base string, count int) string
- func PrettifyJsonFromReader(dataToExport io.Reader) (io.Reader, error)
- func RemoveDirectoryContents(removePath string) error
- func Resize(s string, length uint) string
- func SafeIntEqual(i1, i2 *int) bool
- func SafeStringsEqual(s1, s2 interface{}) bool
- func SendRequest(signature string, method string, sendRequestTo url.URL, payload *bytes.Buffer, ...) (*http.Response, error)
- func SortedMapKeys[V any](m map[string]V) []string
- func SplitByRune(str string, r rune) []string
- func SplitByWhitespace(str string) []string
- func StringHash(s string) uint32
- func ToIntegerPointer(i int) *int
- func ToStringPointer(s string) *string
- func UnderlyingArch() (string, error)
- func UnquoteStringArray(stringArray []string) []string
- func Unzip(src, dst string) ([]string, error)
- func WriteCertificate(path string, certificate []byte) error
- func WritePrivateKey(path string, key *rsa.PrivateKey) error
- type ExitCode
- type InteractiveExitStatus
- type Semaphore
Constants ¶
This section is empty.
Variables ¶
var Timing []timeLog
Functions ¶
func BuildRequestPayload ¶
BuildRequestPayload merges the provided payload with the standard payload that needs to be sent
func CtyToPostgresString ¶
CtyToPostgresString convert a cty value into a postgres representation of the value
func CtyToString ¶
CtyToString convert a cty value into a string representation of the value
func CtyTypeToHclType ¶
CtyTypeToHclType converts a cty type to a hcl type accept multiple types and use the first non null and non dynamic one
func DisplayProfileData ¶
func DisplayProfileData()
func FilenameNoExtension ¶ added in v0.17.0
func Filter ¶
Filter returns a new slice only containing the elements for which invoking the predicate returned true
The predicate is invoked with each element
func FindProcess ¶
FindProcess tries to find the process with the given pid returns nil if the process could not be found
func GetMD5Hash ¶
func IsContextCancelled ¶
func IsPortBindable ¶
func IsWSL ¶
IsWSL :: detects whether app is running in WSL environment refer to: https://github.com/Microsoft/WSL/issues/423#issuecomment-679190758
func LocalAddresses ¶
func Map ¶
Map returns a new slice where every value is mapped to a new value through the mapper
The mapper is invoked with each element
func MergeMaps ¶ added in v0.17.0
func MergeMaps[M ~map[K]V, K comparable, V any](old, new M) M
MergeMaps merges 'new' onto 'old'. Values existing in old already have precedence Any value existing in new but not old is added to old
func MoveFile ¶
MoveFile moves a file from source to destiantion.
It first attempts the movement using OS primitives (os.Rename) If os.Rename fails, it copies the file byte-by-byte to the destination and then removes the source
func OpenBrowser ¶ added in v0.17.0
https://stackoverflow.com/questions/39320371/how-start-web-server-to-open-page-in-browser-in-golang
func PadRight ¶ added in v0.16.2
PadRight returns a new string of a specified length in which the end of the current string is padded with spaces or with a specified Unicode character.
func ParseCertificateInLocation ¶ added in v0.17.0
func ParseCertificateInLocation(location string) (*x509.Certificate, error)
func Partition ¶
Partition splits the array of elements into two groups: the left partition contains elements that the predicate returns `true` for. the right partition contains elements that the predicate returns `false` for.
The predicate is invoked with each element
func PidExists ¶
PidExists scans through the list of PIDs in the system and checks for the `targetPID`.
PidExists uses iteration, instead of signalling, since we have observed that signalling does not always work reliably when the destination of the signal is a child of the source of the signal - which may be the case then starting implicit services
func PrettifyJsonFromReader ¶ added in v0.17.0
func RemoveDirectoryContents ¶
func Resize ¶ added in v0.16.2
Resize resizes the string with the given length. It ellipses with '…' when the string's length exceeds the desired length or pads spaces to the right of the string when length is smaller than desired
func SafeIntEqual ¶
func SafeStringsEqual ¶
func SafeStringsEqual(s1, s2 interface{}) bool
func SendRequest ¶
func SendRequest(signature string, method string, sendRequestTo url.URL, payload *bytes.Buffer, timeout time.Duration) (*http.Response, error)
SendRequest makes a http call to the given URL
func SortedMapKeys ¶ added in v0.17.0
func SplitByRune ¶
SplitByRune uses the CSV decoder to parse out the tokens - even if they are quoted and/or escaped
func SplitByWhitespace ¶
SplitByWhitespace splits by the ' ' rune
func StringHash ¶
func ToIntegerPointer ¶
ToIntegerPointer converts an integer into its pointer
func ToStringPointer ¶
ToStringPointer converts a string into its pointer
func UnderlyingArch ¶
UnderlyingArch detects the underlying architecture(amd64/arm64) of the system we need this to detect the underlying architecture to install the correct FDW package
func UnquoteStringArray ¶ added in v0.17.0
UnquoteStringArray removes quote marks from elements of string array
func Unzip ¶
Unzip - from https://stackoverflow.com/questions/20357223/easy-way-to-unzip-file-with-golang
func WriteCertificate ¶ added in v0.17.0
func WritePrivateKey ¶ added in v0.17.0
func WritePrivateKey(path string, key *rsa.PrivateKey) error
Types ¶
type InteractiveExitStatus ¶
type InteractiveExitStatus struct { // TODO remove altogether ExitCode int }
InteractiveExitStatus :: exist status from the interative prompt
We exit go-prompt after every query (in order to manage the prompt history to only include complete queries) We therefore need to distinguish between:
a user requested exit (ctrl+D or .exit) - indicated by a non-nil exit code and restart=false and a value , go-prompt being terminated after a query completion and requiring restarting - indicated by restart=true
Source Files ¶
- arch.go
- browser.go
- collection.go
- context.go
- cty_conversion.go
- equals.go
- exit.go
- file.go
- fs_permissions.go
- hash.go
- interactive_exit_status.go
- json.go
- map.go
- net.go
- pid_exists.go
- plural.go
- pointers.go
- remove_dir_contents.go
- semaphore.go
- ssl.go
- string.go
- string_slice.go
- timing.go
- useragent.go
- wsl.go
- zip.go