Primitive types and variables are being heavily used in all applications, but in many cases they are overused. Abusing primitives leads to a design that doesn't extract elements of systems which are essential to correct understanding of how your business works and, in consequence, makes it harder to maintain applications in the long run. Thankfully, using a couple of TypeScript-based techniques we can reduce so called "primitive obsession" and the damage it can cause to your system design. We won't concentrate on the most recent TypeScript features - instead, we'll make use of what the language already offers.
Have you ever experienced getting a non-obvious compiler error, such as "[...] is a subtype, but could be instantiated with a different subtype", which you struggled to understand? Beyond both the basic and advanced topics, there's still a lot to learn about Generics, Recursive Types, Mapped and Conditional Types - and many constructs that make heavy use of all of them. This is a 100% hands-on workshop filled with lots of exercises which require to think in types, apply set theory to types, and, last but not least, write lots of generics, sometimes hardcore ones.
If you consider yourself a mid or senior, but you feel you could step up with your skills, this TypeScript workshop is just for you.