Page Contents

Home > @loopback/context > ResolutionSession

ResolutionSession class

Object to keep states for a session to resolve bindings and their dependencies within a context


export declare class ResolutionSession 


Property Modifiers Type Description
bindingStack readonly Readonly<Binding>[] Getter for bindings on the stack
currentBinding readonly Readonly<Binding> | undefined Getter for the current binding
currentInjection readonly Readonly<Injection> | undefined Getter for the current injection
injectionStack readonly Readonly<Injection>[] Getter for injections on the stack
stack readonly ResolutionElement[] A stack of bindings for the current resolution session. It’s used to track the path of dependency resolution and detect circular dependencies.


Method Modifiers Description
describeInjection(injection) static Describe the injection for debugging purpose
fork(session) static Fork the current session so that a new one with the same stack can be used in parallel or future resolutions, such as multiple method arguments, multiple properties, or a getter function
getBindingPath()   Get the binding path as bindingA --> bindingB --> bindingC.
getInjectionPath()   Get the injection path as injectionA --> injectionB --> injectionC.
getResolutionPath()   Get the resolution path including bindings and injections, for example: bindingA --> @ClassA[0] --> bindingB --> @ClassB.prototype.prop1 --> bindingC.
popBinding()   Exit the resolution of a binding
popInjection()   Pop the last injection
pushBinding(binding)   Enter the resolution of the given binding. If
pushInjection(injection)   Push the injection onto the session
runWithBinding(action, binding, session) static Run the given action with the given binding and session
runWithInjection(action, injection, session) static Run the given action with the given injection and session