UNPKG

1.45 kBTypeScriptView Raw
1/**
2 * @license
3 * Copyright Google Inc. All Rights Reserved.
4 *
5 * Use of this source code is governed by an MIT-style license that can be
6 * found in the LICENSE file at https://angular.io/license
7 */
8import { Type } from './facade/type';
9import { InjectionToken } from './injection_token';
10export declare const THROW_IF_NOT_FOUND: Object;
11/**
12 * @whatItDoes Injector interface
13 * @howToUse
14 * ```
15 * const injector: Injector = ...;
16 * injector.get(...);
17 * ```
18 *
19 * @description
20 * For more details, see the {@linkDocs guide/dependency-injection "Dependency Injection Guide"}.
21 *
22 * ### Example
23 *
24 * {@example core/di/ts/injector_spec.ts region='Injector'}
25 *
26 * `Injector` returns itself when given `Injector` as a token:
27 * {@example core/di/ts/injector_spec.ts region='injectInjector'}
28 *
29 * @stable
30 */
31export declare abstract class Injector {
32 static THROW_IF_NOT_FOUND: Object;
33 static NULL: Injector;
34 /**
35 * Retrieves an instance from the injector based on the provided token.
36 * If not found:
37 * - Throws {@link NoProviderError} if no `notFoundValue` that is not equal to
38 * Injector.THROW_IF_NOT_FOUND is given
39 * - Returns the `notFoundValue` otherwise
40 */
41 abstract get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;
42 /**
43 * @deprecated from v4.0.0 use Type<T> or InjectionToken<T>
44 * @suppress {duplicate}
45 */
46 abstract get(token: any, notFoundValue?: any): any;
47}