@@ -55,12 +55,14 @@ compile(file, path).then(ts =>
5555| Done? | | Flow | TypeScript |
5656| -------| -------------| -----------------------------------------| ------------|
5757| ✅ | Maybe | ` ?type ` (NullableTypeAnnotation) | `type | null | undefined` |
58- | ✅ | Undefined | ` void ` | ` undefined ` |
59- | ✅ | Mixed | ` mixed ` | ` {} ` |
58+ | ✅ | Null | ` null ` | ` null ` |
59+ | ✅ | Undefined | ` typeof undefined ` | ` undefined ` |
60+ | ✅ | Mixed | ` mixed ` | ` unknown ` |
61+ | ✅ | Void | ` void ` | ` void ` |
6062| ✅ | Functions | ` (A, B) => C ` | ` (a: A, b: B) => C ` |
6163| ⚔ | Predicates (0) | ` (a: A, b: B) => %checks ` | ` (a: A, b: B) => C ` |
6264| ⚔ | Predicates (1) | ` (a: A, b: B) => C %checks ` | ` (a: A, b: B) => C ` |
63- | ✅ | Exact types | ` {\| a: A \|} ` | ` { a: A } ` (not expressible) |
65+ | ✅ | Exact types | ` {\| a: A \|} ` | ` { a: A } ` |
6466| ✅ | Indexers | ` { [A]: B } ` | ` { [a: A]: B } ` |
6567| ✅ | Opaque types | ` opaque type A = B ` | ` type A = B ` (not expressible) |
6668| ✅ | Variance | ` interface A { +b: B, -c: C } ` | ` interface A { readonly b: B, c: C } ` |
@@ -77,13 +79,13 @@ compile(file, path).then(ts =>
7779| | Values | ` $Values<A> ` | ` A[keyof A] ` |
7880| ✅ | ReadOnly | ` $ReadOnly<A> ` | ` Readonly<A> ` |
7981| ✅ | Exact | ` $Exact<A> ` | ` A ` |
80- | | Difference | ` $Diff<A, B> ` | TODO |
81- | | Rest | ` $Rest<A, B> ` | TODO |
82+ | | Difference | ` $Diff<A, B> ` | TODO` |
83+ | | Rest | ` $Rest<A, B> ` | ` Exclude ` |
8284| | Property type | ` $PropertyType<T, k> ` | ` T[k] ` |
8385| | Element type | ` $ElementType<T, K> ` | ` T[k] ` |
84- | | Dependent type | ` $ObjMap<T, F> ` | ` any ` (warn - vote for https://github.com/Microsoft/TypeScript/issues/20352) |
85- | | Mapped tuple | ` $TupleMap<T, F> ` | ` any ` (warn) |
86- | | Return type | ` $Call<F> ` | ` any ` (warn - vote for https://github.com/Microsoft/TypeScript/issues/6606 )
86+ | | Dependent type | ` $ObjMap<T, F> ` | TODO |
87+ | | Mapped tuple | ` $TupleMap<T, F> ` | TODO |
88+ | | Return type | ` $Call<F> ` | ` ReturnType ` |
8789| | Class | ` Class<A> ` | ` typeof A ` |
8890| | Supertype | ` $Supertype<A> ` | ` any ` (warn - vote for https://github.com/Microsoft/TypeScript/issues/14520) |
8991| | Subtype | ` $Subtype<A> ` | ` B extends A ` |
0 commit comments