Curried Functions in TypeScript
Use currying to create reusable functions while keeping TypeScript types intact.
Trials and tribulations of a programmer with a deep appreciation for deterministic software... and also, life!

Use currying to create reusable functions while keeping TypeScript types intact.
Use generic type parameters to preserve relationships between inputs and outputs without giving up inference.
Use the timer's state machine to drive a React UI, with controls that match its current status.
Key takeaways from a conversation about flow states and how to make it easier to get into one.
Model a timer's states and events with TypeScript unions, then define the rules for moving between them.
Use TypeScript discriminated unions to require the right fields, narrow object types, and catch unhandled cases.
featuring Colorfigures