A tiny (265 byte) utility to create state machine components using two pure functions.
The API is a single function that accepts 2 pure functions as arguments:
A tiny (265 byte) utility to create state machine components using two pure functions.
The API is a single function that accepts 2 pure functions as arguments:
# check if variable is array, returns 0 on success, 1 otherwise | |
# @param mixed | |
is_array() | |
{ #detect if arg is an array, returns 0 on sucess, 1 otherwise | |
[ -z "$1" ] && return 1 | |
if [ -n "$BASH" ]; then | |
declare -p ${1} 2> /dev/null | grep 'declare \-a' >/dev/null && return 0 | |
fi | |
return 1 |
#!/usr/bin/env bash | |
# MIT © Sindre Sorhus - sindresorhus.com | |
# git hook to run a command after `git pull` if a specified file was changed | |
# Run `chmod +x post-merge` to make it executable then put it into `.git/hooks/`. | |
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)" | |
check_run() { | |
echo "$changed_files" | grep --quiet "$1" && eval "$2" |