Module Flow_ast.MatchPattern

module UnaryPattern: { ... };
module MemberPattern: { ... };
module BindingPattern: { ... };
module RestPattern: { ... };
module ObjectPattern: { ... };
module ArrayPattern: { ... };
module OrPattern: { ... };
module AsPattern: { ... };
module WildcardPattern: { ... };
type t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) =
  1. | WildcardPattern(WildcardPattern.t('M))
  2. | NumberPattern(NumberLiteral.t('M))
  3. | BigIntPattern(BigIntLiteral.t('M))
  4. | StringPattern(StringLiteral.t('M))
  5. | BooleanPattern(BooleanLiteral.t('M))
  6. | NullPattern(option(Syntax.t('M, unit)))
  7. | UnaryPattern(UnaryPattern.t('M))
  8. | BindingPattern(BindingPattern.t('M, 'T))
  9. | IdentifierPattern(Identifier.t('M, 'T))
  10. | MemberPattern(MemberPattern.t('M, 'T))
  11. | ObjectPattern(ObjectPattern.t('M, 'T))
  12. | ArrayPattern(ArrayPattern.t('M, 'T))
  13. | OrPattern(OrPattern.t('M, 'T))
  14. | AsPattern(AsPattern.t('M, 'T))
;
let pp: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => t('M, 'T) => unit;
let show: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => t('M, 'T) => string;
let pp_t': (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => t'('M, 'T) => unit;
let show_t': (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => t'('M, 'T) => string;