Module Object.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))
  5. | Computed(ComputedKey.t('M, 'T))
;
and t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) = {
  1. key: key('M, 'T),
  2. pattern: Pattern.t('M, 'T),
  3. default: option(Expression.t('M, 'T)),
  4. shorthand: bool,
};
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: (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;