2025-02-05 14:05:18 +01:00

21 lines
399 B
Nim

import pkg/metrics
type
OnUpdateMetric = proc(value: int64): void {.gcsafe, raises:[].}
List*[T] = ref object
items: seq[T]
onMetric: OnUpdateMetric
proc new*[T](
_: type List[T],
onMetric: OnUpdateMetric
): List[T] =
List[T](
items: newSeq[T](),
onMetric: onMetric
)
proc add*[T](this: List[T], item: T) =
this.items.add(item)
this.onMetric(this.items.len.int64)