summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-split/split.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-12-01 22:08:04 +0100
commitb1af8fd87760b34e3ff2fd3bda38f211815a0473 (patch)
tree9317fad1a7ec298d7a8d2678e4e422953bbc6f33 /vendor/codeberg.org/gruf/go-split/split.go
parent[chore] update URLs to forked source (diff)
downloadgotosocial-b1af8fd87760b34e3ff2fd3bda38f211815a0473.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/codeberg.org/gruf/go-split/split.go')
-rw-r--r--vendor/codeberg.org/gruf/go-split/split.go187
1 files changed, 0 insertions, 187 deletions
diff --git a/vendor/codeberg.org/gruf/go-split/split.go b/vendor/codeberg.org/gruf/go-split/split.go
deleted file mode 100644
index 3f55d7bc6..000000000
--- a/vendor/codeberg.org/gruf/go-split/split.go
+++ /dev/null
@@ -1,187 +0,0 @@
-package split
-
-import (
- "strconv"
- "time"
- "unsafe"
-
- "codeberg.org/gruf/go-bytesize"
-)
-
-// Signed defines a signed
-// integer generic type parameter.
-type Signed interface {
- ~int | ~int8 | ~int16 | ~int32 | ~int64
-}
-
-// Unsigned defines an unsigned
-// integer generic type paramter.
-type Unsigned interface {
- ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64
-}
-
-// Float defines a float-type generic parameter.
-type Float interface{ ~float32 | ~float64 }
-
-// SplitFunc will split input string on commas, taking into account string quoting
-// and stripping extra whitespace, passing each split to the given function hook.
-func SplitFunc(str string, fn func(string) error) error {
- return (&Splitter{}).SplitFunc(str, fn)
-}
-
-// SplitStrings will pass string input to SplitFunc(), compiling a slice of strings.
-func SplitStrings[String ~string](str string) ([]String, error) {
- var slice []String
-
- // Simply append each split string to slice
- if err := SplitFunc(str, func(s string) error {
- slice = append(slice, String(s))
- return nil
- }); err != nil {
- return nil, err
- }
-
- return slice, nil
-}
-
-// SplitBools will pass string input to SplitFunc(), parsing and compiling a slice of bools.
-func SplitBools[Bool ~bool](str string) ([]Bool, error) {
- var slice []Bool
-
- // Parse each bool split from input string
- if err := SplitFunc(str, func(s string) error {
- b, err := strconv.ParseBool(s)
- if err != nil {
- return err
- }
- slice = append(slice, Bool(b))
- return nil
- }); err != nil {
- return nil, err
- }
-
- return slice, nil
-}
-
-// SplitInts will pass string input to SplitFunc(), parsing and compiling a slice of signed integers.
-func SplitInts[Int Signed](str string) ([]Int, error) {
- // Determine bits from param type size
- bits := int(unsafe.Sizeof(Int(0)) * 8)
-
- var slice []Int
-
- // Parse each int split from input string
- if err := SplitFunc(str, func(s string) error {
- i, err := strconv.ParseInt(s, 10, bits)
- if err != nil {
- return err
- }
- slice = append(slice, Int(i))
- return nil
- }); err != nil {
- return nil, err
- }
-
- return slice, nil
-}
-
-// SplitUints will pass string input to SplitFunc(), parsing and compiling a slice of unsigned integers.
-func SplitUints[Uint Unsigned](str string) ([]Uint, error) {
- // Determine bits from param type size
- bits := int(unsafe.Sizeof(Uint(0)) * 8)
-
- var slice []Uint
-
- // Parse each uint split from input string
- if err := SplitFunc(str, func(s string) error {
- u, err := strconv.ParseUint(s, 10, bits)
- if err != nil {
- return err
- }
- slice = append(slice, Uint(u))
- return nil
- }); err != nil {
- return nil, err
- }
-
- return slice, nil
-}
-
-// SplitFloats will pass string input to SplitFunc(), parsing and compiling a slice of floats.
-func SplitFloats[Float_ Float](str string) ([]Float_, error) {
- // Determine bits from param type size
- bits := int(unsafe.Sizeof(Float_(0)) * 8)
-
- var slice []Float_
-
- // Parse each float split from input string
- if err := SplitFunc(str, func(s string) error {
- f, err := strconv.ParseFloat(s, bits)
- if err != nil {
- return err
- }
- slice = append(slice, Float_(f))
- return nil
- }); err != nil {
- return nil, err
- }
-
- return slice, nil
-}
-
-// SplitSizes will pass string input to SplitFunc(), parsing and compiling a slice of byte sizes.
-func SplitSizes(str string) ([]bytesize.Size, error) {
- var slice []bytesize.Size
-
- // Parse each size split from input string
- if err := SplitFunc(str, func(s string) error {
- sz, err := bytesize.ParseSize(s)
- if err != nil {
- return err
- }
- slice = append(slice, sz)
- return nil
- }); err != nil {
- return nil, err
- }
-
- return slice, nil
-}
-
-// SplitDurations will pass string input to SplitFunc(), parsing and compiling a slice of durations.
-func SplitDurations(str string) ([]time.Duration, error) {
- var slice []time.Duration
-
- // Parse each duration split from input string
- if err := SplitFunc(str, func(s string) error {
- d, err := time.ParseDuration(s)
- if err != nil {
- return err
- }
- slice = append(slice, d)
- return nil
- }); err != nil {
- return nil, err
- }
-
- return slice, nil
-}
-
-// SplitTimes will pass string input to SplitFunc(), parsing and compiling a slice of times.
-func SplitTimes(str string, format string) ([]time.Time, error) {
- var slice []time.Time
-
- // Parse each time split from input string
- if err := SplitFunc(str, func(s string) error {
- t, err := time.Parse(s, format)
- if err != nil {
- return err
- }
- slice = append(slice, t)
- return nil
- }); err != nil {
- return nil, err
- }
-
- return slice, nil
-}