diff options
Diffstat (limited to 'u/trace/util.ts')
-rw-r--r-- | u/trace/util.ts | 76 |
1 files changed, 37 insertions, 39 deletions
diff --git a/u/trace/util.ts b/u/trace/util.ts index e2200b9..db1db63 100644 --- a/u/trace/util.ts +++ b/u/trace/util.ts @@ -1,47 +1,45 @@ import { -ANSI, - type Callable, - type IMetric, - type ITraceableMapper, - type ITraceableTuple, - type MetricsTraceSupplier, -} from "@emprespresso/pengueno"; + ANSI, + type Callable, + type IMetric, + type ITraceableMapper, + type ITraceableTuple, + type MetricsTraceSupplier, +} from '@emprespresso/pengueno'; export class TraceUtil { - static withTrace<T, Trace>( - trace: string, - ansi?: Array<keyof typeof ANSI> - ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { - if (ansi) { - return (t) => [t.get(), `${ansi.join("")}${trace}${ANSI.RESET}`]; - } - return (t) => [t.get(), trace]; - } + static withTrace<T, Trace>( + trace: string, + ansi?: Array<keyof typeof ANSI>, + ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { + if (ansi) { + return (t) => [t.get(), `${ansi.join('')}${trace}${ANSI.RESET}`]; + } + return (t) => [t.get(), trace]; + } - static withMetricTrace<T, Trace extends MetricsTraceSupplier>( - metric: IMetric, - ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { - return (t) => [t.get(), metric as Trace]; - } + static withMetricTrace<T, Trace extends MetricsTraceSupplier>( + metric: IMetric, + ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { + return (t) => [t.get(), metric as Trace]; + } - static withFunctionTrace<F extends Callable, T, Trace>( - f: F, - ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { - return TraceUtil.withTrace(`fn.${f.name}`); - } + static withFunctionTrace<F extends Callable, T, Trace>( + f: F, + ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { + return TraceUtil.withTrace(`fn.${f.name}`); + } - static withClassTrace<C extends object, T, Trace>( - c: C, - ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { - return TraceUtil.withTrace(`class.${c.constructor.name}`); - } + static withClassTrace<C extends object, T, Trace>( + c: C, + ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { + return TraceUtil.withTrace(`class.${c.constructor.name}`); + } - static promiseify<T, U, Trace>( - mapper: ITraceableMapper<T, U, Trace>, - ): ITraceableMapper<Promise<T>, Promise<U>, Trace> { - return (traceablePromise) => - traceablePromise - .flatMapAsync(async (t) => t.move(await t.get()).map(mapper)) - .get(); - } + static promiseify<T, U, Trace>( + mapper: ITraceableMapper<T, U, Trace>, + ): ITraceableMapper<Promise<T>, Promise<U>, Trace> { + return (traceablePromise) => + traceablePromise.flatMapAsync(async (t) => t.move(await t.get()).map(mapper)).get(); + } } |