import { interfaces } from "../interfaces/interfaces" ; import { BindingInSyntax } from "./binding_in_syntax" ; import { BindingOnSyntax } from "./binding_on_syntax" ; import { BindingWhenSyntax } from "./binding_when_syntax" ; class BindingInWhenOnSyntax < T > implements interfaces . BindingInSyntax < T > , interfaces . BindingWhenSyntax < T > , interfaces . BindingOnSyntax < T > { private _bindingInSyntax : interfaces . BindingInSyntax < T > ; private _bindingWhenSyntax : interfaces . BindingWhenSyntax < T > ; private _bindingOnSyntax : interfaces . BindingOnSyntax < T > ; private _binding : interfaces . Binding < T > ; public constructor ( binding ) { this . _binding = binding ; this . _bindingWhenSyntax = new BindingWhenSyntax < T > ( this . _binding ) ; this . _bindingOnSyntax = new BindingOnSyntax < T > ( this . _binding ) ; this . _bindingInSyntax = new BindingInSyntax < T > ( binding ) ; } public inRequestScope ( ) { return this . _bindingInSyntax . inRequestScope ( ) ; } public inSingletonScope ( ) { return this . _bindingInSyntax . inSingletonScope ( ) ; } public inTransientScope ( ) { return this . _bindingInSyntax . inTransientScope ( ) ; } public when ( constraint ) { return this . _bindingWhenSyntax . when ( constraint ) ; } public whenTargetNamed ( name ) { return this . _bindingWhenSyntax . whenTargetNamed ( name ) ; } public whenTargetIsDefault ( ) { return this . _bindingWhenSyntax . whenTargetIsDefault ( ) ; } public whenTargetTagged ( tag , value ) { return this . _bindingWhenSyntax . whenTargetTagged ( tag , value ) ; } public whenInjectedInto ( parent ) { return this . _bindingWhenSyntax . whenInjectedInto ( parent ) ; } public whenParentNamed ( name ) { return this . _bindingWhenSyntax . whenParentNamed ( name ) ; } public whenParentTagged ( tag , value ) { return this . _bindingWhenSyntax . whenParentTagged ( tag , value ) ; } public whenAnyAncestorIs ( ancestor ) { return this . _bindingWhenSyntax . whenAnyAncestorIs ( ancestor ) ; } public whenNoAncestorIs ( ancestor ) { return this . _bindingWhenSyntax . whenNoAncestorIs ( ancestor ) ; } public whenAnyAncestorNamed ( name ) { return this . _bindingWhenSyntax . whenAnyAncestorNamed ( name ) ; } public whenAnyAncestorTagged ( tag , value ) { return this . _bindingWhenSyntax . whenAnyAncestorTagged ( tag , value ) ; } public whenNoAncestorNamed ( name ) { return this . _bindingWhenSyntax . whenNoAncestorNamed ( name ) ; } public whenNoAncestorTagged ( tag , value ) { return this . _bindingWhenSyntax . whenNoAncestorTagged ( tag , value ) ; } public whenAnyAncestorMatches ( constraint ) { return this . _bindingWhenSyntax . whenAnyAncestorMatches ( constraint ) ; } public whenNoAncestorMatches ( constraint ) { return this . _bindingWhenSyntax . whenNoAncestorMatches ( constraint ) ; } public onActivation ( handler ) { return this . _bindingOnSyntax . onActivation ( handler ) ; } public onDeactivation ( handler ) { return this . _bindingOnSyntax . onDeactivation ( handler ) ; } } export { BindingInWhenOnSyntax } ;