Module Flow_ast.Type

module Conditional: { ... };
module Infer: { ... };
module Function: { ... };
module Component: { ... };
module Generic: { ... };
module IndexedAccess: { ... };
module OptionalIndexedAccess: { ... };
module Object: { ... };
module Interface: { ... };
module Nullable: { ... };
module Typeof: { ... };
module Keyof: { ... };
module Renders: { ... };
module ReadOnly: { ... };
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 of {
    1. raw: [ `Boolean | `Bool ],
    2. comments: 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. | Component(Component.t('M, 'T))
  15. | Object(Object.t('M, 'T))
  16. | Interface(Interface.t('M, 'T))
  17. | Array(Array.t('M, 'T))
  18. | Conditional(Conditional.t('M, 'T))
  19. | Infer(Infer.t('M, 'T))
  20. | Generic(Generic.t('M, 'T))
  21. | IndexedAccess(IndexedAccess.t('M, 'T))
  22. | OptionalIndexedAccess(OptionalIndexedAccess.t('M, 'T))
  23. | Union(Union.t('M, 'T))
  24. | Intersection(Intersection.t('M, 'T))
  25. | Typeof(Typeof.t('M, 'T))
  26. | Keyof(Keyof.t('M, 'T))
  27. | Renders(Renders.t('M, 'T))
  28. | ReadOnly(ReadOnly.t('M, 'T))
  29. | Tuple(Tuple.t('M, 'T))
  30. | StringLiteral(StringLiteral.t('M))
  31. | NumberLiteral(NumberLiteral.t('M))
  32. | BigIntLiteral(BigIntLiteral.t('M))
  33. | BooleanLiteral(BooleanLiteral.t('M))
  34. | Unknown(option(Syntax.t('M, unit)))
  35. | Never(option(Syntax.t('M, unit)))
  36. | Undefined(option(Syntax.t('M, unit)))
;
and annotation('M, 'T) = ('M, t('M, 'T));
and type_guard_annotation('M, 'T) = ('M, Type.TypeGuard.t('M, 'T));
and annotation_or_hint('M, 'T) =
  1. | Missing('T)
  2. | Available(annotation('M, 'T))
;
and component_renders_annotation('M, 'T) =
  1. | MissingRenders('T)
  2. | AvailableRenders('M, Renders.t('M, 'T))
;
module TypeParam: { ... };
module TypeParams: { ... };
module TypeArgs: { ... };
module Predicate: { ... };
module TypeGuard: { ... };