diff --git a/types/angular/angular-tests.ts b/types/angular/angular-tests.ts index 53fd245f1d..e6be93a6af 100644 --- a/types/angular/angular-tests.ts +++ b/types/angular/angular-tests.ts @@ -470,6 +470,22 @@ namespace TestInjector { $injector.annotate(() => {}); $injector.annotate(() => {}, true); + + // $injector.instantiate + { + class Foobar { + constructor($q) {} + } + let result: Foobar = $injector.instantiate(Foobar); + } + + // $injector.invoke + { + function foobar(v: boolean): number { + return 7; + } + let result: number = $injector.invoke(foobar); + } } // Promise signature tests diff --git a/types/angular/index.d.ts b/types/angular/index.d.ts index 727944fbb1..194ccf8205 100644 --- a/types/angular/index.d.ts +++ b/types/angular/index.d.ts @@ -1978,9 +1978,9 @@ declare namespace angular { get(name: '$window'): IWindowService; get(name: '$xhrFactory'): IXhrFactory; has(name: string): boolean; - instantiate(typeConstructor: Function, locals?: any): T; + instantiate(typeConstructor: {new(...args: any[]): T}, locals?: any): T; invoke(inlineAnnotatedFunction: any[]): any; - invoke(func: Function, context?: any, locals?: any): any; + invoke(func: (...args: any[]) => T, context?: any, locals?: any): T; strictDi: boolean; }