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