Useful to debug re-render issues by printing object IDs and seeing which ones change.
Usage: Object.id(myObj)
Place the following IIFE somewhere it will run on start of the code.
(function () {
if (typeof Object.id == "undefined") {
let id = 0;
Object.id = function (o) {
if (typeof o.__uniqueid == "undefined") {
Object.defineProperty(o, "__uniqueid", {
value: ++id,
enumerable: false,
writable: false,
});
}
return o.__uniqueid;
};
}
})()
const reduceLoop = async _ => {
console.log('Start')
const sum = await fruitsToGet.reduce(async (promisedSum, fruit) => {
const sum = await promisedSum
const numFruit = await getNumFruit(fruit)
return sum + numFruit
}, 0)
console.log(sum)
console.log('End')
}
.each(new Array(100).fill(undefined))
nock("something", {
filteringScope: function (scope) {
if (/127\.0\.0\.1/.exec(scope)) {
return false;
}
console.log("scope: ", scope);
return true;
},
})
.filteringPath(function (path) {
console.log("path: ", path);
return "/";
})
.post("/")
.reply(500);
Handy shell commands I've found over time that I want to keep safe.
Notably, I use a workstation-setup-script and check-in my dotfiles to simplify onboarding a new machine.
Shows the network connection that OSX is using currently. Useful if you are connected to more than one connection at a time and are unsure of which network it will use.
$ route get default | grep interface
# interface: en8
I have evolved its usage to this alias which prints my local ip based on the currently active network interface
alias myip='ipconfig getifaddr $(route get default | grep interface | cut -d" " -f4)'
Looks at last 1000 (configurable) shell commands and prints a unique list of command names. This is hardly accurate as it only prints the first word in a shell command, but helps me find things I forgot about.
history | tail -1000 | sed -E 's/^[[:blank:]]*[0-9]+[[:blank:]]+([^[:blank:]]+).*$/\1/' | sort | uniq
Git push that will set the upstream to track against the name of the current branch if it is not yet set. Helpful on the first push of a branch or any follow-up pushes as well. Takes params and passes them to git push
so you can do the following: git pu --force
for example.
$ g config --get alias.pu
!push() { if git rev-parse --abbrev-ref --symbolic-full-name @{u} > /dev/null 2>&1; then git push $@; else git push --set-upstream origin $(git symbolic-ref --short HEAD) $@; fi; }; push
From this stackoverflow;
git fetch -p ; git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d
Helps with keeping track of recent branches, both on your machine and remotely. Might be overwhelming on a highly active repo, could change to only observe local recent branches.
Takes a number as an argument to override the default of showing the last 25 lines.
$ git config --get alias.bl
!list_recent_branches() { local lines=$1; git branch --sort=committerdate --format="%(align:width=20)%(committerdate:relative)%(end)%(align:width=20)%(committername)%(end)%(if)%(refname:rstrip=3)%(then)%(color:dim)%(else)%(end)%(align:width=50)%(HEAD)%(refname:short)%(color:reset)%(if)%(upstream:track)%(then)%(color:bold yellow) %(upstream:track)%(else)%(end)%(end)%(color:reset)" --color --all | tail -"${lines:-25}"; }; list_recent_branches
$ git bl
2 weeks ago Jack Coy origin/discord
13 days ago Jack Coy discord [ahead 1]
13 days ago Jack Coy stripe
13 days ago Jack Coy origin/stripe
13 days ago Jack Coy analytics
13 days ago Jack Coy origin/analytics
13 days ago GitHub qm-cli-3
12 days ago Jack Coy integrations-templates
12 days ago Jack Coy origin/integrations-templates
11 days ago Jack Coy fix-keyboard-tab
11 days ago Jack Coy origin/fix-keyboard-tab
5 days ago Jack Coy origin/expressions
2 days ago Jack Coy fix-android
2 days ago Jack Coy origin/fix-android
2 days ago Jack Coy expressions [ahead 1]
23 hours ago GitHub development
23 hours ago GitHub origin/development
23 hours ago GitHub origin/master
22 hours ago GitHub origin/dependabot/npm_and_yarn/ws-6.2.3
14 hours ago Jack Coy expressions-ui
14 hours ago Jack Coy origin/expressions-ui
2 hours ago Jack Coy inline-dropdown-auto-close-backup
25 minutes ago Jack Coy *inline-dropdown-auto-close
25 minutes ago Jack Coy temp
25 minutes ago Jack Coy origin/inline-dropdown-auto-close
$ git bl 5
14 hours ago Jack Coy origin/expressions-ui
2 hours ago Jack Coy inline-dropdown-auto-close-backup
26 minutes ago Jack Coy *inline-dropdown-auto-close
26 minutes ago Jack Coy temp
26 minutes ago Jack Coy origin/inline-dropdown-auto-close
![Screenshot 2024-06-19 at 2 26 30 PM](https://private-user-images.githubusercontent.com/1906988/340913479-06e9fd6f-572c-47cf-a912-df4273b686b5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3Mzk5ODksIm5iZiI6MTcyMTczOTY4OSwicGF0aCI6Ii8xOTA2OTg4LzM0MDkxMzQ3OS0wNmU5ZmQ2Zi01NzJjLTQ3Y2YtYTkxMi1kZjQyNzNiNjg2YjUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjNUMTMwMTI5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjY0YTM4M2FkMjA4M2E3NmNjY2M5NmY1ZGVhY2RkODIyMzQ3YTk2OGIwN2E4MzhkNjE5Y2Y1Y2IxY2U1OGQxOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.yIikIvx3WVCDTjehezmPPb4eBwE8yGwEKFwncGHTDb0)