Module ObjectPattern.Property

type key('M, 'T) =
  1. | StringLiteral(('M, StringLiteral.t('M)))
  2. | NumberLiteral(('M, NumberLiteral.t('M)))
  3. | BigIntLiteral(('M, BigIntLiteral.t('M)))
  4. | Identifier(Identifier.t('M, 'T))
;
and property('M, 'T) = {
  1. key: key('M, 'T),
  2. pattern: MatchPattern.t('M, 'T),
  3. shorthand: bool,
  4. comments: option(Syntax.t('M, unit)),
};
and t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) =
  1. | Valid(property('M, 'T))
  2. | InvalidShorthand(Identifier.t('M, 'M))
;
let pp_key: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => key('M, 'T) => unit;
let show_key: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => key('M, 'T) => string;
let pp_property: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => property('M, 'T) => unit;
let show_property: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => property('M, 'T) => string;
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;