This PR ports the codebase to TypeScript as best as possible. A fully type safe implementation is impossible due to the hoops we have to go through for patching functions.
Additionally, I've added a TaskGroup feature. It's often that I have a bunch of commands tied to a single "thing" and I want to track pending, resolved and rejected states for all of them, but treat them as one. This is what TaskGroup does.
This PR ports the codebase to TypeScript as best as possible. A fully type safe implementation is impossible due to the hoops we have to go through for patching functions.
Additionally, I've added a
TaskGroup
feature. It's often that I have a bunch of commands tied to a single "thing" and I want to track pending, resolved and rejected states for all of them, but treat them as one. This is whatTaskGroup
does.