35 lines
708 B
Bash
Executable File
35 lines
708 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
getFolder() {
|
|
dirname "$(dirname "$1")"
|
|
}
|
|
|
|
solve() {
|
|
folder=$(getFolder "$1")
|
|
|
|
printf "\nRunning advent day %s\n\n" "$folder"
|
|
npx ts-node "$1" "$2"
|
|
printf "\n"
|
|
}
|
|
|
|
if [ $# -eq 1 ]; then
|
|
if [[ -d "$1/" && "$1/" =~ ^[0-9]+\/$ ]]; then
|
|
solve "$1/src/index.ts" "$1/input.txt"
|
|
elif [[ -f "$1" ]]; then
|
|
folder=$(getFolder "$1")
|
|
solve "$1" "$folder/input.txt"
|
|
else
|
|
echo "$1 is not valid"
|
|
fi
|
|
elif [ $# -eq 2 ]; then
|
|
if [[ -d "$1/" && "$1/" =~ ^[0-9]+\/$ && -f "$2" ]]; then
|
|
solve "$1/src/index.ts" "$2"
|
|
elif [[ -f "$1" && -f "$2" ]]; then
|
|
solve "$1" "$2"
|
|
else
|
|
echo "either $1 or $2 is not valid"
|
|
fi
|
|
else
|
|
printf "Usage: [DEBUG=true] solve.sh <day|script> [input]\n"
|
|
fi
|