( ctx: Context, bindingFilter: BindingFilter, bindingComparatorOrSession?: BindingComparator | ResolutionSession, session?: ResolutionOptionsOrSession, )
| 420 | * @param session - Resolution session if the comparator is provided |
| 421 | */ |
| 422 | export function createViewGetter<T = unknown>( |
| 423 | ctx: Context, |
| 424 | bindingFilter: BindingFilter, |
| 425 | bindingComparatorOrSession?: BindingComparator | ResolutionSession, |
| 426 | session?: ResolutionOptionsOrSession, |
| 427 | ): Getter<T[]> { |
| 428 | let bindingComparator: BindingComparator | undefined = undefined; |
| 429 | if (typeof bindingComparatorOrSession === 'function') { |
| 430 | bindingComparator = bindingComparatorOrSession; |
| 431 | } else if (bindingComparatorOrSession instanceof ResolutionSession) { |
| 432 | session = bindingComparatorOrSession; |
| 433 | } |
| 434 | |
| 435 | const options = asResolutionOptions(session); |
| 436 | const view = new ContextView<T>( |
| 437 | ctx, |
| 438 | bindingFilter, |
| 439 | bindingComparator, |
| 440 | options, |
| 441 | ); |
| 442 | view.open(); |
| 443 | return view.asGetter(options); |
| 444 | } |
no test coverage detected