@nest-boot/request-context 8.0.0-beta.2 → 8.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import type { ModuleRef } from "@nestjs/core";
2
+ import type { RequestContextDependencyResolver } from "./request-context.js";
3
+ export declare function createNestDependencyResolver(moduleRef: ModuleRef): RequestContextDependencyResolver;
@@ -0,0 +1,19 @@
1
+ import { InvalidClassScopeException } from "@nestjs/core/errors/exceptions/invalid-class-scope.exception";
2
+ import { UnknownElementException } from "@nestjs/core/errors/exceptions/unknown-element.exception";
3
+ export function createNestDependencyResolver(moduleRef) {
4
+ return (token) => {
5
+ try {
6
+ return moduleRef.get(token, {
7
+ strict: false,
8
+ });
9
+ }
10
+ catch (error) {
11
+ if (error instanceof UnknownElementException ||
12
+ error instanceof InvalidClassScopeException) {
13
+ return undefined;
14
+ }
15
+ throw error;
16
+ }
17
+ };
18
+ }
19
+ //# sourceMappingURL=nest-dependency-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nest-dependency-resolver.js","sourceRoot":"","sources":["../src/nest-dependency-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AAC1G,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAKnG,MAAM,UAAU,4BAA4B,CAC1C,SAAoB;IAEpB,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,GAAG,CAAC,KAAwC,EAAE;gBAC7D,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,KAAK,YAAY,uBAAuB;gBACxC,KAAK,YAAY,0BAA0B,EAC3C,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,9 @@
1
- import { type Type } from "@nestjs/common";
1
+ import { type InjectionToken } from "@nestjs/common";
2
2
  export type RequestContextMiddlewareType = <T>(ctx: RequestContext, next: () => Promise<T>) => Promise<T>;
3
+ export type RequestContextToken<T = unknown> = InjectionToken<T>;
4
+ export type RequestContextDependencyResolver = (token: RequestContextToken) => unknown;
3
5
  export interface RequestContextCreateOptions {
6
+ dependencyResolver?: RequestContextDependencyResolver;
4
7
  id?: string;
5
8
  type: string;
6
9
  parent?: RequestContext;
@@ -9,18 +12,29 @@ export declare class RequestContext {
9
12
  readonly id: string;
10
13
  readonly type: string;
11
14
  readonly parent?: RequestContext;
15
+ private readonly dependencyResolver?;
12
16
  private readonly container;
17
+ private readonly aliases;
13
18
  private static readonly storage;
14
19
  private static readonly middlewares;
15
20
  private static readonly middlewareDependencies;
16
21
  private static middlewaresStack;
17
22
  constructor(options: RequestContextCreateOptions);
18
- get<T>(token: string | symbol | Function | Type<T>): T | undefined;
19
- set<T>(typeOrToken: string | symbol | Type<T>, value: T): void;
20
- getOrSet<T>(typeOrToken: string | symbol | Type<T>, value: T): T;
21
- static get<T>(key: string | symbol | Function | Type<T>): T | undefined;
22
- static set<T>(key: string | symbol | Type<T>, value: T): void;
23
- static getOrSet<T>(key: string | symbol | Type<T>, value: T): T;
23
+ get<T>(token: RequestContextToken<T>): T | undefined;
24
+ private findContextValue;
25
+ private resolveDependency;
26
+ private getAliasTarget;
27
+ private resolveToken;
28
+ private static formatToken;
29
+ set<T>(typeOrToken: RequestContextToken<T>, value: T): void;
30
+ alias(aliasToken: RequestContextToken, targetToken: RequestContextToken): void;
31
+ unalias(aliasToken: RequestContextToken): void;
32
+ getOrSet<T>(typeOrToken: RequestContextToken<T>, value: T): T;
33
+ static get<T>(key: RequestContextToken<T>): T | undefined;
34
+ static set<T>(key: RequestContextToken<T>, value: T): void;
35
+ static alias(aliasToken: RequestContextToken, targetToken: RequestContextToken): void;
36
+ static unalias(aliasToken: RequestContextToken): void;
37
+ static getOrSet<T>(key: RequestContextToken<T>, value: T): T;
24
38
  static get id(): string;
25
39
  static current(): RequestContext;
26
40
  static isActive(): boolean;
@@ -1,5 +1,8 @@
1
1
  import { type CallHandler, type ExecutionContext, type NestInterceptor } from "@nestjs/common";
2
+ import { ModuleRef } from "@nestjs/core";
2
3
  import { Observable } from "rxjs";
3
4
  export declare class RequestContextInterceptor implements NestInterceptor {
5
+ private readonly moduleRef?;
6
+ constructor(moduleRef?: ModuleRef | undefined);
4
7
  intercept<T>(executionContext: ExecutionContext, next: CallHandler<T>): Observable<T>;
5
8
  }
@@ -4,10 +4,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
7
10
  import { Injectable, } from "@nestjs/common";
11
+ import { ModuleRef } from "@nestjs/core";
8
12
  import { Observable } from "rxjs";
13
+ import { createNestDependencyResolver } from "./nest-dependency-resolver.js";
9
14
  import { RequestContext } from "./request-context.js";
10
15
  let RequestContextInterceptor = class RequestContextInterceptor {
16
+ moduleRef;
17
+ constructor(moduleRef) {
18
+ this.moduleRef = moduleRef;
19
+ }
11
20
  intercept(executionContext, next) {
12
21
  if (RequestContext.isActive() ||
13
22
  !["http", "graphql"].includes(executionContext.getType())) {
@@ -16,6 +25,9 @@ let RequestContextInterceptor = class RequestContextInterceptor {
16
25
  const id = (executionContext.switchToHttp().getRequest() ??
17
26
  executionContext.getArgByIndex(2).req)?.get?.("x-request-id");
18
27
  const ctx = new RequestContext({
28
+ dependencyResolver: this.moduleRef
29
+ ? createNestDependencyResolver(this.moduleRef)
30
+ : undefined,
19
31
  id,
20
32
  type: "http",
21
33
  });
@@ -82,7 +94,8 @@ let RequestContextInterceptor = class RequestContextInterceptor {
82
94
  }
83
95
  };
84
96
  RequestContextInterceptor = __decorate([
85
- Injectable()
97
+ Injectable(),
98
+ __metadata("design:paramtypes", [ModuleRef])
86
99
  ], RequestContextInterceptor);
87
100
  export { RequestContextInterceptor };
88
101
  //# sourceMappingURL=request-context.interceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.interceptor.js","sourceRoot":"","sources":["../src/request-context.interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-context.interceptor.js","sourceRoot":"","sources":["../src/request-context.interceptor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ export class RequestContext {
4
4
  id;
5
5
  type;
6
6
  parent;
7
+ dependencyResolver;
7
8
  container = new Map();
9
+ aliases = new Map();
8
10
  static storage = new AsyncLocalStorage();
9
11
  static middlewares = new Map();
10
12
  static middlewareDependencies = new Map();
@@ -13,12 +15,96 @@ export class RequestContext {
13
15
  this.id = options.id ?? randomUUID();
14
16
  this.type = options.type;
15
17
  this.parent = options.parent;
18
+ this.dependencyResolver = options.dependencyResolver;
19
+ if (this.parent) {
20
+ for (const [aliasToken, targetToken] of this.parent.aliases) {
21
+ this.aliases.set(aliasToken, targetToken);
22
+ }
23
+ }
16
24
  }
17
25
  get(token) {
18
- return this.container.get(token) ?? this.parent?.get(token);
26
+ const resolvedToken = this.resolveToken(token);
27
+ const contextValue = this.findContextValue(resolvedToken);
28
+ if (contextValue.found) {
29
+ return contextValue.value;
30
+ }
31
+ return this.resolveDependency(resolvedToken);
32
+ }
33
+ findContextValue(token) {
34
+ if (this.container.has(token)) {
35
+ return {
36
+ found: true,
37
+ value: this.container.get(token),
38
+ };
39
+ }
40
+ return (this.parent?.findContextValue(token) ?? {
41
+ found: false,
42
+ value: undefined,
43
+ });
44
+ }
45
+ resolveDependency(token) {
46
+ const parentValue = this.parent?.resolveDependency(token);
47
+ if (typeof parentValue !== "undefined") {
48
+ return parentValue;
49
+ }
50
+ return this.dependencyResolver?.(token);
51
+ }
52
+ getAliasTarget(aliasToken) {
53
+ return this.aliases.get(aliasToken);
54
+ }
55
+ resolveToken(aliasToken) {
56
+ const path = [aliasToken];
57
+ const seen = new Map([[aliasToken, 0]]);
58
+ let token = aliasToken;
59
+ while (true) {
60
+ const targetToken = this.getAliasTarget(token);
61
+ if (typeof targetToken === "undefined") {
62
+ return token;
63
+ }
64
+ path.push(targetToken);
65
+ const cycleStart = seen.get(targetToken);
66
+ if (typeof cycleStart !== "undefined") {
67
+ const cycle = path
68
+ .slice(cycleStart)
69
+ .map((currentToken) => RequestContext.formatToken(currentToken))
70
+ .join(" -> ");
71
+ throw new Error(`Circular request context alias detected: ${cycle}`);
72
+ }
73
+ seen.set(targetToken, path.length - 1);
74
+ token = targetToken;
75
+ }
76
+ }
77
+ static formatToken(token) {
78
+ if (typeof token === "string") {
79
+ return JSON.stringify(token);
80
+ }
81
+ if (typeof token === "symbol") {
82
+ return token.toString();
83
+ }
84
+ return token.name || "(anonymous function)";
19
85
  }
20
86
  set(typeOrToken, value) {
21
- this.container.set(typeOrToken, value);
87
+ this.container.set(this.resolveToken(typeOrToken), value);
88
+ }
89
+ alias(aliasToken, targetToken) {
90
+ const hadAlias = this.aliases.has(aliasToken);
91
+ const previousTarget = this.aliases.get(aliasToken);
92
+ this.aliases.set(aliasToken, targetToken);
93
+ try {
94
+ this.resolveToken(aliasToken);
95
+ }
96
+ catch (error) {
97
+ if (hadAlias && typeof previousTarget !== "undefined") {
98
+ this.aliases.set(aliasToken, previousTarget);
99
+ }
100
+ else {
101
+ this.aliases.delete(aliasToken);
102
+ }
103
+ throw error;
104
+ }
105
+ }
106
+ unalias(aliasToken) {
107
+ this.aliases.delete(aliasToken);
22
108
  }
23
109
  getOrSet(typeOrToken, value) {
24
110
  const existing = this.get(typeOrToken);
@@ -38,6 +124,12 @@ export class RequestContext {
38
124
  ctx.set(key, value);
39
125
  }
40
126
  }
127
+ static alias(aliasToken, targetToken) {
128
+ this.current().alias(aliasToken, targetToken);
129
+ }
130
+ static unalias(aliasToken) {
131
+ this.current().unalias(aliasToken);
132
+ }
41
133
  static getOrSet(key, value) {
42
134
  const ctx = this.current();
43
135
  return ctx.getOrSet(key, value);
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../src/request-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../src/request-context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { type NestMiddleware } from "@nestjs/common";
2
+ import { ModuleRef } from "@nestjs/core";
2
3
  import { type NextFunction, type Request, type Response } from "express";
3
4
  export declare class RequestContextMiddleware implements NestMiddleware {
5
+ private readonly moduleRef?;
6
+ constructor(moduleRef?: ModuleRef | undefined);
4
7
  use(req: Request, res: Response, next: NextFunction): Promise<void>;
5
8
  }
@@ -4,16 +4,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
7
10
  import { Injectable } from "@nestjs/common";
11
+ import { ModuleRef } from "@nestjs/core";
12
+ import { createNestDependencyResolver } from "./nest-dependency-resolver.js";
8
13
  import { REQUEST as CTX_REQUEST_TOKEN, RESPONSE as CTX_RESPONSE_TOKEN, } from "./request-context.constants.js";
9
14
  import { RequestContext } from "./request-context.js";
10
15
  let RequestContextMiddleware = class RequestContextMiddleware {
16
+ moduleRef;
17
+ constructor(moduleRef) {
18
+ this.moduleRef = moduleRef;
19
+ }
11
20
  async use(req, res, next) {
12
21
  if (RequestContext.isActive()) {
13
22
  next();
14
23
  return;
15
24
  }
16
25
  const ctx = new RequestContext({
26
+ dependencyResolver: this.moduleRef
27
+ ? createNestDependencyResolver(this.moduleRef)
28
+ : undefined,
17
29
  id: req.get("x-request-id"),
18
30
  type: "http",
19
31
  });
@@ -36,7 +48,8 @@ let RequestContextMiddleware = class RequestContextMiddleware {
36
48
  }
37
49
  };
38
50
  RequestContextMiddleware = __decorate([
39
- Injectable()
51
+ Injectable(),
52
+ __metadata("design:paramtypes", [ModuleRef])
40
53
  ], RequestContextMiddleware);
41
54
  export { RequestContextMiddleware };
42
55
  //# sourceMappingURL=request-context.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.middleware.js","sourceRoot":"","sources":["../src/request-context.middleware.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EACL,OAAO,IAAI,iBAAiB,EAC5B,QAAQ,IAAI,kBAAkB,GAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuB/C,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAQnC,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACvD,IAAI,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;YAC7B,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;YAC3B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAU,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACzC,GAAG,CAAC,GAAG,CAAW,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAE3C,MAAM,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;YACjC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,kBAAkB,GAAG,GAAG,EAAE;oBAC9B,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBAChD,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;oBACjD,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBAChD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBAEF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBACrC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBACpC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAEpC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAvCY,wBAAwB;IADpC,UAAU,EAAE;GACA,wBAAwB,CAuCpC"}
1
+ {"version":3,"file":"request-context.middleware.js","sourceRoot":"","sources":["../src/request-context.middleware.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EACL,OAAO,IAAI,iBAAiB,EAC5B,QAAQ,IAAI,kBAAkB,GAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuB/C,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEN;IAA7B,YAA6B,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAStD,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACvD,IAAI,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;YAC7B,kBAAkB,EAAE,IAAI,CAAC,SAAS;gBAChC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC9C,CAAC,CAAC,SAAS;YACb,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;YAC3B,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAU,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACzC,GAAG,CAAC,GAAG,CAAW,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAE3C,MAAM,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;YACjC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,kBAAkB,GAAG,GAAG,EAAE;oBAC9B,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBAChD,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;oBACjD,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBAChD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBAEF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBACrC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBACpC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAEpC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA7CY,wBAAwB;IADpC,UAAU,EAAE;qCAG8B,SAAS;GAFvC,wBAAwB,CA6CpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nest-boot/request-context",
3
- "version": "8.0.0-beta.2",
3
+ "version": "8.0.0-beta.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/nest-boot/nest-boot.git",