Object.Property
type key('M, 'T) =
| Literal(('T, Literal.t('M)))
| Identifier(Identifier.t('M, 'T))
| PrivateName(PrivateName.t('M))
| Computed(ComputedKey.t('M, 'T))
;
and t('M, 'T) = ('M, t'('M, 'T));
and t'('M, 'T) =
| Init of {
key: key('M, 'T),
value: Expression.t('M, 'T),
shorthand: bool,
}
| Method of {
key: key('M, 'T),
value: ('M, Function.t('M, 'T)),
}
| Get of {
key: key('M, 'T),
value: ('M, Function.t('M, 'T)),
comments: option(Syntax.t('M, unit)),
}
| Set of {
key: key('M, 'T),
value: ('M, Function.t('M, 'T)),
comments: option(Syntax.t('M, unit)),
}
;