123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- /**
- * @license Angular v19.2.13
- * (c) 2010-2025 Google LLC. https://angular.io/
- * License: MIT
- */
- /**
- * @description
- *
- * Represents a type that a Component or other object is instances of.
- *
- * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is represented by
- * the `MyCustomComponent` constructor function.
- *
- * @publicApi
- */
- declare const Type: FunctionConstructor;
- interface Type<T> extends Function {
- new (...args: any[]): T;
- }
- /**
- * Information about how a type or `InjectionToken` interfaces with the DI
- * system. This describes:
- *
- * 1. *How* the type is provided
- * The declaration must specify only one of the following:
- * - A `value` which is a predefined instance of the type.
- * - A `factory` which defines how to create the given type `T`, possibly
- * requesting injection of other types if necessary.
- * - Neither, in which case the type is expected to already be present in the
- * injector hierarchy. This is used for internal use cases.
- *
- * 2. *Where* the type is stored (if it is stored)
- * - The `providedIn` parameter specifies which injector the type belongs to.
- * - The `token` is used as the key to store the type in the injector.
- */
- interface ɵɵInjectableDeclaration<T> {
- /**
- * Specifies that the given type belongs to a particular `Injector`,
- * `NgModule`, or a special scope (e.g. `'root'`).
- *
- * `any` is deprecated and will be removed soon.
- *
- * A value of `null` indicates that the injectable does not belong to any
- * scope, and won't be stored in any injector. For declarations with a
- * factory, this will create a new instance of the type each time it is
- * requested.
- */
- providedIn: Type<any> | 'root' | 'platform' | 'any' | null;
- /**
- * The token to which this definition belongs.
- *
- * Note that this may not be the same as the type that the `factory` will create.
- */
- token: unknown;
- /**
- * Factory method to execute to create an instance of the injectable.
- */
- factory?: (t?: Type<any>) => T;
- /**
- * In a case of no explicit injector, a location where the instance of the injectable is stored.
- */
- value?: T;
- }
- /**
- * A `Type` which has a `ɵprov: ɵɵInjectableDeclaration` static field.
- *
- * `InjectableType`s contain their own Dependency Injection metadata and are usable in an
- * `InjectorDef`-based `StaticInjector`.
- *
- * @publicApi
- */
- interface InjectionToken<T> extends Type<T> {
- ɵprov: ɵɵInjectableDeclaration<T>;
- }
- /**
- * Value returned if the key-value pair couldn't be found in the context
- * hierarchy.
- */
- declare const NOT_FOUND: unique symbol;
- /**
- * Error thrown when the key-value pair couldn't be found in the context
- * hierarchy. Context can be attached below.
- */
- declare class NotFoundError extends Error {
- constructor(message: string);
- }
- /**
- * Type guard for checking if an unknown value is a NotFound.
- */
- declare function isNotFound(e: unknown): e is NotFound;
- /**
- * Type union of NotFound and NotFoundError.
- */
- type NotFound = typeof NOT_FOUND | NotFoundError;
- interface Injector {
- retrieve<T>(token: InjectionToken<T>, options?: unknown): T | NotFound;
- }
- declare function getCurrentInjector(): Injector | undefined | null;
- declare function setCurrentInjector(injector: Injector | null | undefined): Injector | undefined | null;
- export { NOT_FOUND, NotFoundError, getCurrentInjector, isNotFound, setCurrentInjector };
- export type { InjectionToken, Injector, NotFound, ɵɵInjectableDeclaration };
|