From bbaea13ee7125a9d289a74f0c173e7e75177e53c Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Mon, 12 May 2025 19:46:51 -0700 Subject: updates!! --- utils/trace.ts | 21 ++++++++++++--------- utils/validate_identifier.ts | 4 ++-- 2 files changed, 14 insertions(+), 11 deletions(-) (limited to 'utils') diff --git a/utils/trace.ts b/utils/trace.ts index 737aa60..eb4ac2f 100644 --- a/utils/trace.ts +++ b/utils/trace.ts @@ -78,7 +78,7 @@ export class TraceableImpl< } public flatMapAsync(mapper: ITraceableMapper>>): ITraceable, L> { - return new TraceableImpl(mapper(this).then((i) => ) + return new TraceableImpl(mapper(this).then(({ item }) => item), this.logger); } public peek(peek: ITraceableMapper) { @@ -94,13 +94,15 @@ export class TraceableImpl< static promiseify, U>( mapper: ITraceableMapper, ): ITraceableMapper, L, Promise> { - return (traceablePromise) => traceablePromise.map( - async ({ item: promise }) => { - const t = await promise; - return traceablePromise.map(() => t).map(mapper).item; - }); -// return (traceable) => -// traceable.item.then((item) => mapper(new TraceableImpl(item, traceable.logger))); + return (traceablePromise) => + traceablePromise.flatMapAsync(async (t) => { + const item = await t.item; + return t.map(() => item).map(mapper); + }).item; + } + + static withClassTrace>(c: C): ITraceableMapper> { + return (t) => [t.item, () => c.constructor.name]; } static from(t: T) { @@ -108,4 +110,5 @@ export class TraceableImpl< } } -export interface Traceable extends ITraceable +export interface Traceable = TraceableLogger> extends ITraceable { +} diff --git a/utils/validate_identifier.ts b/utils/validate_identifier.ts index c204497..e2a1dc5 100644 --- a/utils/validate_identifier.ts +++ b/utils/validate_identifier.ts @@ -3,8 +3,8 @@ export const validateIdentifier = (token: string) => { }; export const invalidExecutionEntriesOf = ( - obj: Record, -): Array<[string, string]> => { + obj: Record, +): Array<[string, unknown]> => { return Object.entries(obj).filter((e) => !e.every((x) => typeof x === "string" && validateIdentifier(x)) ); -- cgit v1.2.3-70-g09d2