Open gkz opened 1 year ago
A spreadsheet was created to document the different syntax between TypeScript, Flow, and some other type systems: https://docs.google.com/spreadsheets/d/1db9I5Yn495VIdOUFCKVbpoVlAyHlgW8fgyHwuXX4Ro4/edit#gid=1730464012
The grammar needs to be updated to take into account these differences. This would be in line with the commitment at the March 2022 TC39 meeting to make the proposal inclusive and not TypeScript specific.
I was asked to create this issue, so here it is!
TODO list:
?T
type T = interface {}
import typeof
class C {+field: string}
opaque type T = ...
T?.[K]
declare
Some other differences are covered under the "token soup" as is currently proposed as far as I can see.
Can ignore for now:
{| |}
(x: T)
A spreadsheet was created to document the different syntax between TypeScript, Flow, and some other type systems: https://docs.google.com/spreadsheets/d/1db9I5Yn495VIdOUFCKVbpoVlAyHlgW8fgyHwuXX4Ro4/edit#gid=1730464012
The grammar needs to be updated to take into account these differences. This would be in line with the commitment at the March 2022 TC39 meeting to make the proposal inclusive and not TypeScript specific.
I was asked to create this issue, so here it is!
TODO list:
?T
- https://flow.org/en/docs/types/maybe/type T = interface {}
import typeof
- https://flow.org/en/docs/types/modules/#toc-importing-and-exporting-valuesclass C {+field: string}
- https://flow.org/en/docs/lang/variance/opaque type T = ...
- https://flow.org/en/docs/types/opaque-types/T?.[K]
- https://flow.org/en/docs/types/indexed-access/#toc-optional-indexed-access-typesdeclare
variants of things? e.g. to support function overloading - https://flow.org/en/docs/types/intersections/#declaring-overloaded-functionsSome other differences are covered under the "token soup" as is currently proposed as far as I can see.
Can ignore for now:
{| |}
- will eventually be deprecated(x: T)
- will be changing this