типизировать?
Со стака: Starting in 4.1 you can define a type that would validate the string without actually defining all the options: type Digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" type MarkerTime =`${Digit}${Digit}:${Digit}${Digit}` | {Digit}:${Digit}${Digit}` let a: MarkerTime = "0-00" // error let b: MarkerTime = "0:00" // ok let c: MarkerTime = "09:00" // ok
это очень круто, а кинь ссылку
https://stackoverflow.com/questions/51445767/how-to-define-a-regex-matched-string-type-in-typescript
Эх, а хотя не получиться сделать, что я хочу, смотри что выдаёт https://www.typescriptlang.org/play?#code/MYewdgzgLgBAZiATgWwIZQCLoKYBUQCCACgJIwC8MAFACY4BcM0iAlmAOYwA+MWU2ASgoA+GAG8AUDBihIsMEjQAbFgC9sNPtkZaKMOvxhtoqMMGwg4vHDAD8+m4zDYA7tf60cAgNxSYibCgAV0QwGAUUVBV1TRwAOigQEgBlAHlkqFYOKgE4iAAHFSgqACJcEoEAbQAGAF0YAGoYMurq+lb26rjW6pLfAF9fCVloB0NKZzctHIkJKABPfOxeFnYWWEoS3u5mgEYSnZKAJgOeEoBmU+aAFiuSgFY7gDY7gHY7gA47gE4S2YWljAALKoRAAa2wiFwLGQy3IAAMACRiDCrdb9ZGotZQDEotE4zH4-oAWkJ2P68NmIxASmwcSUIHYVAQkUwOHwxBInn4AgEQA
Предполагаю, что тебе следует непосредственно в проекте попробовать Expression produces a union type that is too complex to represent.
неа, тоже самое
Глянь второй ответ. Он свежее
Да, составить один юнион из всех вариантов строк для даты не получится (юнионы в TS могут состоять не более чем из 100 000 частей), но можно проверять строку на соответствие формату по частям: play.
Интересное решение, спасибо. Ещё кол-во вариантов для года можно отсечь, если учитывать только последние 2 века.
Обсуждают сегодня