Skip to content

Commit d50a0f4

Browse files
committed
Avoid some external calls by using case statements.
Relates to #709.
1 parent 82393f5 commit d50a0f4

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

nvm.sh

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,8 @@ nvm_node_prefix() {
495495
}
496496

497497
nvm_is_iojs_version() {
498-
[ "_$(echo "$1" | cut -c1-5)" = "_iojs-" ]
498+
case "$1" in iojs-*) return 0 ;; esac
499+
return 1
499500
}
500501

501502
nvm_add_iojs_prefix() {
@@ -545,7 +546,12 @@ nvm_ls() {
545546
;;
546547
esac
547548
# If it looks like an explicit version, don't do anything funny
548-
if [ "_$(echo "$PATTERN" | cut -c1-1)" = "_v" ] && [ "_$(nvm_num_version_groups "$PATTERN")" = "_3" ]; then
549+
local NVM_PATTERN_STARTS_WITH_V
550+
case $PATTERN in
551+
v*) NVM_PATTERN_STARTS_WITH_V=true ;;
552+
*) NVM_PATTERN_STARTS_WITH_V=false ;;
553+
esac
554+
if [ $NVM_PATTERN_STARTS_WITH_V = true ] && [ "_$(nvm_num_version_groups "$PATTERN")" = "_3" ]; then
549555
if [ -d "$(nvm_version_path "$PATTERN")" ]; then
550556
VERSIONS="$PATTERN"
551557
elif [ -d "$(nvm_version_path "$(nvm_add_iojs_prefix "$PATTERN")")" ]; then
@@ -1151,15 +1157,19 @@ nvm() {
11511157

11521158
while [ $# -ne 0 ]
11531159
do
1154-
if [ "_$(echo "$1" | command cut -c 1-26)" = "_--reinstall-packages-from=" ]; then
1155-
PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 27-)"
1156-
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"
1157-
elif [ "_$(echo "$1" | command cut -c 1-21)" = "_--copy-packages-from=" ]; then
1158-
PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 22-)"
1159-
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"
1160-
else
1161-
ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
1162-
fi
1160+
case "$1" in
1161+
--reinstall-packages-from=*)
1162+
PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 27-)"
1163+
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"
1164+
;;
1165+
--copy-packages-from=*)
1166+
PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 22-)"
1167+
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"
1168+
;;
1169+
*)
1170+
ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
1171+
;;
1172+
esac
11631173
shift
11641174
done
11651175

0 commit comments

Comments
 (0)