summaryrefslogtreecommitdiff
path: root/u/trace/trace.ts
diff options
context:
space:
mode:
authorElizabeth Hunt <lizhunt@amazon.com>2025-05-14 18:02:34 -0700
committerElizabeth Hunt <lizhunt@amazon.com>2025-05-14 18:03:15 -0700
commit3a3fb9c8ab0c798a278f76d40de216fa96f6e2c4 (patch)
treebb44512bccceee43c57372a4ae325b5b70a6e192 /u/trace/trace.ts
parentf316b4a015b5b2e2988b250b3c34bbb7f9994709 (diff)
downloadci-3a3fb9c8ab0c798a278f76d40de216fa96f6e2c4.tar.gz
ci-3a3fb9c8ab0c798a278f76d40de216fa96f6e2c4.zip
moar
Diffstat (limited to 'u/trace/trace.ts')
-rw-r--r--u/trace/trace.ts40
1 files changed, 26 insertions, 14 deletions
diff --git a/u/trace/trace.ts b/u/trace/trace.ts
index 5d5c59b..1d3d2d8 100644
--- a/u/trace/trace.ts
+++ b/u/trace/trace.ts
@@ -1,31 +1,43 @@
-import type { Callable } from "@emprespresso/utils";
import {
+ type Callable,
type ITraceableMapper,
type ITraceableTuple,
+ LoggerImpl,
+ LogTrace,
+ type LogTraceSupplier,
TraceableImpl,
- TraceableLogger,
-} from "./mod.ts";
+} from "@emprespresso/pengueno";
-export class Traceable<T> extends TraceableImpl<T, TraceableLogger> {
+export class LogTraceable<T> extends TraceableImpl<T, LogTraceSupplier> {
static from<T>(t: T) {
- return new Traceable(t, new TraceableLogger());
+ return new LogTraceable(t, LogTrace(LoggerImpl));
}
+}
- static withFunctionTrace<F extends Callable, T>(
+export class TraceUtil {
+ static withFunctionTrace<F extends Callable, T, Trace>(
f: F,
- ): ITraceableMapper<T, TraceableLogger, ITraceableTuple<T>> {
- return (t) => [t.item, f.name];
+ ): ITraceableMapper<
+ T,
+ ITraceableTuple<T, Trace>,
+ Trace
+ > {
+ return (t) => [t.item, `[${f.name}]`];
}
- static withClassTrace<C extends object, T>(
+ static withClassTrace<C extends object, T, Trace>(
c: C,
- ): ITraceableMapper<T, TraceableLogger, ITraceableTuple<T>> {
- return (t) => [t.item, c.constructor.name];
+ ): ITraceableMapper<
+ T,
+ ITraceableTuple<T, Trace>,
+ Trace
+ > {
+ return (t) => [t.item, `[${c.constructor.name}]`];
}
- static promiseify<T, U>(
- mapper: ITraceableMapper<T, TraceableLogger, U>,
- ): ITraceableMapper<Promise<T>, TraceableLogger, Promise<U>> {
+ 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.item).map(mapper)