Skip to content

Commit 3459fe9

Browse files
committed
bump
1 parent 26c07f9 commit 3459fe9

File tree

13 files changed

+162
-33
lines changed

13 files changed

+162
-33
lines changed

pkg/arrayx/duplicate.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package arrayx
22

33
import (
4-
"github.com/KevinZonda/GoX/pkg/constrains"
54
"math/rand"
65
"time"
6+
7+
"github.com/KevinZonda/GoX/pkg/constraint"
78
)
89

910
// HasDuplicate returns true if the array has duplicate items.
@@ -49,7 +50,7 @@ func Reverse[T any](a []T) {
4950
}
5051
}
5152

52-
func Sum[T constrains.Calculable](arr []T) T {
53+
func Sum[T constraint.Calculable](arr []T) T {
5354
var sum T
5455
for _, v := range arr {
5556
sum += v

pkg/arrayx/linq.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ package arrayx
22

33
// Last returns the last element of an array.
44
func Last[T any](l []T) (last T, ok bool) {
5-
if l == nil || len(l) == 0 {
5+
if len(l) == 0 {
66
return last, false
77
}
88
return l[len(l)-1], true
99
}
1010

1111
// First returns the first element of an array.
1212
func First[T any](l []T) (fst T, ok bool) {
13-
if l == nil || len(l) == 0 {
13+
if len(l) == 0 {
1414
return fst, false
1515
}
1616
return l[0], true

pkg/boolx/any.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package boolx
2+
3+
func Any(vs []bool) bool {
4+
for _, v := range vs {
5+
if v {
6+
return true
7+
}
8+
}
9+
return false
10+
}
11+
12+
func All(vs []bool) bool {
13+
for _, v := range vs {
14+
if !v {
15+
return false
16+
}
17+
}
18+
return true
19+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package constrains
1+
package constraint
22

33
type Int interface {
44
~int | ~int8 | ~int16 | ~int32 | ~int64
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package constrains
1+
package constraint
22

33
type Order interface {
44
Number | ~string

pkg/intx/range.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package intx
2+
3+
func InRange(i int, min int, max int) bool {
4+
return i >= min && i <= max
5+
}
6+
7+
func InRange64(i int64, min int64, max int64) bool {
8+
return i >= min && i <= max
9+
}

pkg/iox/read.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ func ReadAllByte(file string) (bs []byte, err error) {
1616
return io.ReadAll(f)
1717
}
1818

19+
func ReadAllBytes(file string) (bs []byte, err error) {
20+
return ReadAllByte(file)
21+
}
22+
1923
func ReadAllText(file string) (str string, err error) {
2024
var bs []byte
2125
bs, err = ReadAllByte(file)

pkg/iox/write.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ func WriteAllBytes(file string, content []byte) error {
1616
return WriteAllText(file, string(content))
1717
}
1818

19+
func WriteAllByte(file string, content []byte) error {
20+
return WriteAllBytes(file, content)
21+
}
22+
1923
func WriteAllLines(file string, content []string) error {
2024
fo, err := os.Create(file)
2125
if err != nil {

pkg/process/run.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ type Runnable struct {
1111
Wait bool
1212
}
1313

14-
func (r Runnable) run() (cmd *exec.Cmd, err error) {
14+
func (r Runnable) Run() (cmd *exec.Cmd, err error) {
1515
if r.Wait {
1616
return RunWithWait(r.Name, r.Args...)
1717
}

pkg/ruby/ruby.go

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package ruby
2+
3+
import "github.com/KevinZonda/GoX/pkg/panicx"
4+
5+
func Rdr[L any, R any](l L, r R) L {
6+
return l
7+
}
8+
9+
func Rdl[L any, R any](l L, r R) R {
10+
return r
11+
}
12+
13+
func Fork[T any](t T) (T, T) {
14+
return t, t
15+
}
16+
17+
func Pow[T any](t T, n int) []T {
18+
r := make([]T, n)
19+
for i := 0; i < n; i++ {
20+
r[i] = t
21+
}
22+
return r
23+
}
24+
25+
func Map[T any, R any](t []T, f func(T) R) []R {
26+
r := make([]R, len(t))
27+
for i, v := range t {
28+
r[i] = f(v)
29+
}
30+
return r
31+
}
32+
33+
func RdrErr[L any](l L, r error) L {
34+
panicx.NotNilErr(r)
35+
return l
36+
}
37+
38+
func RdlErr[R any](l error, r R) R {
39+
panicx.NotNilErr(l)
40+
return r
41+
}
42+
43+
func Apl[T any](t T, list []T) []T {
44+
return append([]T{t}, list...)
45+
}
46+
47+
func Apr[T any](list []T, t T) []T {
48+
return append(list, t)
49+
}

0 commit comments

Comments
 (0)