summaryrefslogtreecommitdiff
path: root/u/trace/util.ts
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2025-06-20 14:53:38 -0700
committerElizabeth Hunt <me@liz.coffee>2025-06-20 14:53:38 -0700
commitd4791f3d357634daf506fb8f91cc5332a794c421 (patch)
tree1bb01d2d4d8fa74d83bb6f99f2c8aa4146ca2d11 /u/trace/util.ts
parentd7e8d31c94cd713a2f4cf799e20e993acc69e361 (diff)
downloadci-d4791f3d357634daf506fb8f91cc5332a794c421.tar.gz
ci-d4791f3d357634daf506fb8f91cc5332a794c421.zip
Move to nodejs
Diffstat (limited to 'u/trace/util.ts')
-rw-r--r--u/trace/util.ts76
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();
+ }
}