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.
|
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')
|
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}')
|
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
|
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 {
|
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))
|
r := make([]T2, 0, len(arr))
|
||||||
for _, v := range arr {
|
for _, v := range arr {
|
||||||
@@ -282,3 +302,19 @@ func ArrSum[T NumberConstraint](arr []T) T {
|
|||||||
}
|
}
|
||||||
return r
|
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