Apollo Client gives you a powerful local cache that stores chunks of your backend graph and efficiently updates your UI when it changes. But did you know you can also use that cache to store client side only state? The new Reactive Variables in Apollo Client V3 make that super easy!
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