fonctions de vérification

This commit is contained in:
Jephte CLAIN 2014-01-18 12:04:44 +04:00
parent ea0f428ebe
commit 5388951acb
1 changed files with 7 additions and 2 deletions

View File

@ -5,6 +5,10 @@
uprovide semver uprovide semver
urequire base urequire base
function __semver_check_version() { [ -z "${1//[a-zA-Z0-9.+-]/}" ]; }
function __semver_check_prelease() { [ -z "${1//[a-zA-Z0-9.-]/}" ]; }
function __semver_check_metadata() { [ -z "${1//[a-zA-Z0-9.-]/}" ]; }
function semver_parse() { function semver_parse() {
local _ver="$1" _ma="${2:-major}" _mi="${3:-minor}" _pl="${4:-patchlevel}" _pr="${5:-prelease}" _md="${6:-metadata}" _va="${7:-valid}" local _ver="$1" _ma="${2:-major}" _mi="${3:-minor}" _pl="${4:-patchlevel}" _pr="${5:-prelease}" _md="${6:-metadata}" _va="${7:-valid}"
local _tmp local _tmp
@ -16,7 +20,7 @@ function semver_parse() {
set_var "$_va" "" set_var "$_va" ""
# vérifier les caractères valides # vérifier les caractères valides
[ -z "${_ver//[a-zA-Z0-9.+-]/}" ] || return 1 __semver_check_version "$_ver" || return 1
# extraire major # extraire major
_tmp= _tmp=
@ -57,15 +61,16 @@ function semver_parse() {
_tmp="$_ver" _tmp="$_ver"
_ver= _ver=
fi fi
__semver_check_prelease "$_tmp" || return 1
array_split "$_pr" "$_tmp" . array_split "$_pr" "$_tmp" .
fi fi
# extraire metadata # extraire metadata
if [ "${_ver:0:1}" == + ]; then if [ "${_ver:0:1}" == + ]; then
_ver="${_ver:1}" _ver="${_ver:1}"
[[ "$_ver" == *+* ]] && return 1
_tmp="$_ver" _tmp="$_ver"
_ver= _ver=
__semver_check_metadata "$_tmp" || return 1
array_split "$_md" "$_tmp" . array_split "$_md" "$_tmp" .
fi fi