MetricSpec
The single specification of each aggregation metric type (design §6.1): its wire name (the enum name, equal to the JSON type), what it reads and with which capabilities, its result type, whether HAVING may compare it and what it costs. Admission, the entry gate, the descriptor and empty-group values read it, so a new metric type is added here and every exhaustive when over AggregationMetric fails to compile until handled.
Properties
The cost of the metric type in general; cost refines it for one metric.
Returns a representation of an immutable list of all enum entries, in the order they're declared.
The capabilities a field input may be read with, the first one the field grants; empty when it reads none.
Whether a HAVING condition may compare the metric's value.
The capability the ordering field must grant, for a metric that picks one record of the group by an order; that field, like the input, must hold a single value per record.
Functions
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.