Module JSX.Opening

type t('M, 'T) = ('M, t'('M, 'T));
and attribute('M, 'T) =
  1. | Attribute(Attribute.t('M, 'T))
  2. | SpreadAttribute(SpreadAttribute.t('M, 'T))
;
and t'('M, 'T) = {
  1. name: name('M, 'T),
  2. targs: option(Expression.CallTypeArgs.t('M, 'T)),
  3. self_closing: bool,
  4. attributes: list(attribute('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_attribute: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => attribute('M, 'T) => unit;
let show_attribute: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => attribute('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;