diff options
Diffstat (limited to 'u/trace/util.ts')
-rw-r--r-- | u/trace/util.ts | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/u/trace/util.ts b/u/trace/util.ts index dd8fb0d..302c8e4 100644 --- a/u/trace/util.ts +++ b/u/trace/util.ts @@ -7,6 +7,16 @@ import type { } from "@emprespresso/pengueno"; export class TraceUtil { + static withTrace<T, Trace>( + trace: string, + ): ITraceableMapper< + T, + ITraceableTuple<T, Trace | Array<Trace>>, + Trace + > { + return (t) => [t.get(), `[${trace}]`]; + } + static withMetricTrace<T, Trace extends MetricsTraceSupplier>( metric: IMetric, ): ITraceableMapper< @@ -24,7 +34,7 @@ export class TraceUtil { ITraceableTuple<T, Trace | Array<Trace>>, Trace > { - return (t) => [t.get(), `[${f.name}]`]; + return TraceUtil.withTrace(f.name); } static withClassTrace<C extends object, T, Trace>( @@ -34,7 +44,7 @@ export class TraceUtil { ITraceableTuple<T, Trace | Array<Trace>>, Trace > { - return (t) => [t.get(), `[${c.constructor.name}]`]; + return TraceUtil.withTrace(c.constructor.name); } static promiseify<T, U, Trace>( |