Module Flow_ast.Type

module Function: { ... };
module Generic: { ... };
module IndexedAccess: { ... };
module OptionalIndexedAccess: { ... };
module Object: { ... };
module Interface: { ... };
module Nullable: { ... };
module Typeof: { ... };
module Tuple: { ... };
module Array: { ... };
module Union: { ... };
module Intersection: { ... };
type t('M, 'T) = ('T, t'('M, 'T));
and t'('M, 'T) =
  1. | Any(option(Syntax.t('M, unit)))
  2. | Mixed(option(Syntax.t('M, unit)))
  3. | Empty(option(Syntax.t('M, unit)))
  4. | Void(option(Syntax.t('M, unit)))
  5. | Null(option(Syntax.t('M, unit)))
  6. | Number(option(Syntax.t('M, unit)))
  7. | BigInt(option(Syntax.t('M, unit)))
  8. | String(option(Syntax.t('M, unit)))
  9. | Boolean(option(Syntax.t('M, unit)))
  10. | Symbol(option(Syntax.t('M, unit)))
  11. | Exists(option(Syntax.t('M, unit)))
  12. | Nullable(Nullable.t('M, 'T))
  13. | Function(Function.t('M, 'T))
  14. | Object(Object.t('M, 'T))
  15. | Interface(Interface.t('M, 'T))
  16. | Array(Array.t('M, 'T))
  17. | Generic(Generic.t('M, 'T))
  18. | IndexedAccess(IndexedAccess.t('M, 'T))
  19. | OptionalIndexedAccess(OptionalIndexedAccess.t('M, 'T))
  20. | Union(Union.t('M, 'T))
  21. | Intersection(Intersection.t('M, 'T))
  22. | Typeof(Typeof.t('M, 'T))
  23. | Tuple(Tuple.t('M, 'T))
  24. | StringLiteral(StringLiteral.t('M))
  25. | NumberLiteral(NumberLiteral.t('M))
  26. | BigIntLiteral(BigIntLiteral.t('M))
  27. | BooleanLiteral(BooleanLiteral.t('M))
;
and annotation('M, 'T) = ('M, t('M, 'T));
and annotation_or_hint('M, 'T) =
  1. | Missing('T)
  2. | Available(annotation('M, 'T))
;
module TypeParam: { ... };
module TypeParams: { ... };
module TypeArgs: { ... };
module Predicate: { ... };