Open
Description
The way ERT evaluates complex types and language specific features is largely a manual process. We have to manually tell ERT how to interpret things like extends
and React.FC<P>
, so inevitably there will be things that we don't support or haven't considered.
This issue aims to track what features we do and don't support and in cases where a feature is unsupported, we hope to provide a suitable bail-out, similar to what is suggested here #141
If there's something missing on this list, please leave a comment below 😄
TypeScript
- primitive types
boolean, array, string, number
✅ any
✅unknown
✅void
✅- functions ✅
array[]
&Array<>
✅- interfaces ✅
- types
type foo = string
✅ - union types
'foo' | 'bar'
✅ - intersection types
Foo & Bar
✅ - extends ✅
- keyof ❌
- as ❌
- template literal types ❌
- index signatures ❌
- conditional types ❌
TypeScript utility types
Omit<>
❌Partial<>
❌Record<>
❌Pick<>
❌ReturnType<>
❌
TypeScript via @types/react
React.FC<Props>
✅React.memo<Props>
✅React.forwardRef<ElementType, Props>
✅
Flow
TBD