1
2
3
4
5
6
7
8
interface Flavoring<FlavorT> {
_type?: FlavorT;
}
// Based on https://spin.atomicobject.com/typescript-flexible-nominal-typing/
// Prevents one flavored type from being used as another.
// Use like: Flavor<number, 'UserId'>
export type Flavor<T, FlavorT> = T & Flavoring<FlavorT>;
👆 This is a val. Vals are TypeScript snippets of code, written in the browser and run on our servers. Create scheduled functions, email yourself, and persist small pieces of data — all from the browser.