The ability to extend interfaces is one of the basic tools we use in TypeScript (and in typed programming languages in general) to build composable types and promote re-use of existing types. But how would we do the reverse? What if we want to re-use most properties from an existing type, but remove some of them, instead of adding?
Using Gatsby and Netlify for the first the first time got me thinking. Sure, Gatsby + Netlify give you a super fast site - but why is it so fast? What does "static" mean in static site generator? What is a server side rendered app, and is that static?
How do you silently subscribe/unsubscribe to an observable without generating all the normal side effects like start-up/teardown logic?
Sharing an observable is amazingly useful. But sometimes we might want to keep the subscription alive for a few seconds even after all listeners have unsubscribed.
Here I investigate different ways of achieving .endWith() functionality in RxJS