Skip to content

AlterRunInContext

@tsed/di

Usage ​

typescript
import { AlterRunInContext } from "@tsed/di";

See /packages/di/src/common/interfaces/AlterRunInContext.ts.

Overview ​

ts
interface AlterRunInContext {
    $alterRunInContext(next: (...args: unknown[]) => unknown): () => unknown | Promise<() => unknown>;
}

Description ​

Interface for customizing the execution context of asynchronous operations.

Implement this interface to wrap or modify the async context in which operations run, enabling custom context management, async local storage, or execution wrapping.

Usage ​

typescript
import {Injectable, AlterRunInContext} from "@tsed/di";
import {AsyncLocalStorage} from "async_hooks";

@Injectable()
class CustomContextProvider implements AlterRunInContext {


  $alterRunInContext(next: Function) {
    return () => {
      return this.storage.run({requestId: generateId()}, next);
    };
  }
}

$alterRunInContext ​

ts
$alterRunInContext(next: (...args: unknown[]) => unknown): () => unknown | Promise<() => unknown>;

Released under the MIT License.