LCOV - code coverage report
Current view: top level - dashql-app/src/utils - async_consumer.ts Coverage Total Hit
Test: DashQL 915828b Lines: 58.8 % 17 10
Test Date: 2026-11-06 19:30:32

            Line data    Source code
       1              : type Resolve<Context, Value> = (ctx: Context, value: Value) => void;
       2              : type Reject<Context, Err> = (ctx: Context, err: Err) => void;
       3              : 
       4              : export interface AsyncConsumer<Context, Value> {
       5              :     resolve(ctx: Context, value: Value): void;
       6              :     reject(ctx: Context, err: Error): void;
       7              : }
       8              : 
       9            1 : export class AsyncConsumerLambdas<Context, Value> implements AsyncConsumer<Context, Value> {
      10            1 :     constructor(protected resolveFn: Resolve<Context, Value> = () => { }, protected rejectFn: Reject<Context, Error> = () => { }) { }
      11              : 
      12            1 :     resolve(ctx: Context, value: Value): void {
      13            1 :         try {
      14            1 :             this.resolveFn(ctx, value);
      15            1 :         } catch (e: any) {
      16            1 :             console.warn(`AsyncConsumerLambdas::resolveFn threw error: ${e}`);
      17            1 :         }
      18            1 :     }
      19            0 :     reject(ctx: Context, err: Error): void {
      20            0 :         try {
      21            0 :             this.rejectFn(ctx, err);
      22            0 :         } catch (e: any) {
      23            0 :             console.warn(`AsyncConsumerLambdas::rejectFn threw error: ${e}`);
      24            0 :         }
      25            0 :     }
      26            1 : }
        

Generated by: LCOV version 2.0-1