/** * Returns an aspect that will update this metric with the specified constant * value every time the aspect is applied to an effect, regardless of whether * that effect fails or succeeds. * * @tsplus static effect/core/io/Metrics/Metric.Aspects trackAll * @tsplus pipeable effect/core/io/Metrics/Metric trackAll */ export function trackAll(input: In) { return ( self: Metric ): (effect: Effect) => Effect => { return (effect) => effect.map((a) => { self.unsafeUpdate(input, HashSet.empty()) return a }) } }