Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
ec4dba173f
|
|||
22ce2d26f3
|
|||
4fd768e573
|
|||
bf16a8165f
|
@@ -7,6 +7,20 @@ set -o pipefail # Return value of a pipeline is the value of the last (rightmos
|
||||
IFS=$'\n\t' # Set $IFS to only newline and tab.
|
||||
|
||||
|
||||
function black() { echo -e "\x1B[30m $1 \x1B[0m"; }
|
||||
function red() { echo -e "\x1B[31m $1 \x1B[0m"; }
|
||||
function green() { echo -e "\x1B[32m $1 \x1B[0m"; }
|
||||
function yellow(){ echo -e "\x1B[33m $1 \x1B[0m"; }
|
||||
function blue() { echo -e "\x1B[34m $1 \x1B[0m"; }
|
||||
function purple(){ echo -e "\x1B[35m $1 \x1B[0m"; }
|
||||
function cyan() { echo -e "\x1B[36m $1 \x1B[0m"; }
|
||||
function white() { echo -e "\x1B[37m $1 \x1B[0m"; }
|
||||
|
||||
if [ "$( git rev-parse --abbrev-ref HEAD )" != "master" ]; then
|
||||
>&2 red "[ERROR] Can only create versions of <master>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
curr_vers=$(git describe --tags --abbrev=0 | sed 's/v//g')
|
||||
|
||||
next_ver=$(echo "$curr_vers" | awk -F. -v OFS=. 'NF==1{print ++$NF}; NF>1{if(length($NF+1)>length($NF))$(NF-1)++; $NF=sprintf("%0*d", length($NF), ($NF+1)%(10^length($NF))); print}')
|
||||
|
@@ -265,6 +265,26 @@ func ArrMap[T1 any, T2 any](arr []T1, conv func(v T1) T2) []T2 {
|
||||
return r
|
||||
}
|
||||
|
||||
func ArrMapExt[T1 any, T2 any](arr []T1, conv func(idx int, v T1) T2) []T2 {
|
||||
r := make([]T2, len(arr))
|
||||
for i, v := range arr {
|
||||
r[i] = conv(i, v)
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func ArrMapErr[T1 any, T2 any](arr []T1, conv func(v T1) (T2, error)) ([]T2, error) {
|
||||
var err error
|
||||
r := make([]T2, len(arr))
|
||||
for i, v := range arr {
|
||||
r[i], err = conv(v)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return r, nil
|
||||
}
|
||||
|
||||
func ArrFilterMap[T1 any, T2 any](arr []T1, filter func(v T1) bool, conv func(v T1) T2) []T2 {
|
||||
r := make([]T2, 0, len(arr))
|
||||
for _, v := range arr {
|
||||
@@ -282,3 +302,19 @@ func ArrSum[T NumberConstraint](arr []T) T {
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func ArrFlatten[T1 any, T2 any](arr []T1, conv func(v T1) []T2) []T2 {
|
||||
r := make([]T2, 0, len(arr))
|
||||
for _, v1 := range arr {
|
||||
r = append(r, conv(v1)...)
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func ArrFlattenDirect[T1 any](arr [][]T1) []T1 {
|
||||
r := make([]T1, 0, len(arr))
|
||||
for _, v1 := range arr {
|
||||
r = append(r, v1...)
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
Reference in New Issue
Block a user