* Resolver for `@inject.getter` * @param ctx * @param injection * @param session
( ctx: Context, injection: Readonly<Injection>, session: ResolutionSession, )
| 428 | * @param session |
| 429 | */ |
| 430 | function resolveAsGetter( |
| 431 | ctx: Context, |
| 432 | injection: Readonly<Injection>, |
| 433 | session: ResolutionSession, |
| 434 | ) { |
| 435 | assertTargetType(injection, Function, 'Getter function'); |
| 436 | const bindingSelector = injection.bindingSelector as BindingAddress; |
| 437 | const options: ResolutionOptions = { |
| 438 | // https://github.com/loopbackio/loopback-next/issues/9041 |
| 439 | // We should start with a new session for `getter` resolution to avoid |
| 440 | // possible circular dependencies |
| 441 | session: undefined, |
| 442 | ...injection.metadata, |
| 443 | }; |
| 444 | return function getter() { |
| 445 | return ctx.get(bindingSelector, options); |
| 446 | }; |
| 447 | } |
| 448 | |
| 449 | /** |
| 450 | * Resolver for `@inject.setter` |
nothing calls this directly
no test coverage detected