Το TypeScript `extend` προκαλεί σφάλμα ESLint όταν επεκτείνει μια συμβολοσειρά προτύπου;


Θέλω να υλοποιήσω έναν τύπο TrimStart όπως αυτό:

type TrimStart<T extends string> = T extends ` ${infer Rest}` ? TrimStart<Rest> : T;

type TT = TrimStart<'   Vue React Angular'>; // 'Vue React Angular'

Αλλά αυτό παράγει το ακόλουθο σφάλμα: Σφάλμα ανάλυσης: Αναμένεται τύπος.eslint

Απάντηση #1

Ξεχάσατε να δηλώσετε την γενική παράμετρο T.

type TrimStart<T> = T extends ` ${infer Rest}` ? TrimStart<Rest> : T;

type TT = TrimStart<' Vue React Angular'>
// type TT = "Vue React Angular"