snow/aid/aid.go
Eccentric 250e85732d feat: update to latest;
new shop system
more config options
arena & hype
per season stats
battle pass
better variant system
complete vbuck & starter pack store
fix bugs related to deleting account
update launcher endpoints
fixed gift loot not deleting
2024-03-10 18:16:42 +00:00

83 lines
1.3 KiB
Go

package aid
import (
"fmt"
"os"
"os/signal"
"regexp"
"strconv"
"syscall"
)
func WaitForExit() {
sc := make(chan os.Signal, 1)
signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt)
<-sc
}
func FormatNumber(number int) string {
str := ""
for i, char := range ReverseString(strconv.Itoa(number)) {
if i % 3 == 0 && i != 0 {
str += ","
}
str += string(char)
}
return ReverseString(str)
}
func FormatPrice(number int) string {
last := number % 100
number /= 100
str := fmt.Sprintf("%d.%02d", number, last)
return str
}
func ReverseString(input string) string {
str := ""
for _, char := range input {
str = string(char) + str
}
return str
}
func ToHex(number int) string {
inta := strconv.FormatInt(int64(number), 16)
if len(inta) == 1 {
return "0" + inta
}
return inta
}
func Regex(str, regex string) *string {
reg := regexp.MustCompile(regex).FindStringSubmatch(str)
if len(reg) > 1 {
return &reg[1]
}
return nil
}
// if condition is true, return a, else return b
func Ternary[T any](condition bool, a, b T) T {
if condition {
return a
}
return b
}
func ToInt(str string) int {
i, _ := strconv.Atoi(str)
return i
}
func Flatten[T any](arr [][]T) []T {
var flat []T
for _, a := range arr {
flat = append(flat, a...)
}
return flat
}