A ESLint plugin to define advanced types in TypeScript and use user-defined validation in compile time. Examples: