feat: tree-shakeable providers API updates (#22655)
Rename @Injectable({scope -> providedIn}). Instead of {providedIn: APP_ROOT_SCOPE}, accept {providedIn: 'root'}. Also, {providedIn: null} implies the injectable should not be added to any scope. PR Close #22655
This commit is contained in:

committed by
Kara Erickson

parent
21e44c6ba9
commit
db56836425
@ -10,18 +10,10 @@ import {Type} from '../type';
|
||||
import {InjectionToken} from './injection_token';
|
||||
|
||||
|
||||
// APP_ROOT_SCOPE is cast as a Type to allow for its usage as the scope parameter of @Injectable().
|
||||
|
||||
/**
|
||||
* A scope which targets the root injector.
|
||||
*
|
||||
* When specified as the `scope` parameter to `@Injectable` or `InjectionToken`, this special
|
||||
* scope indicates the provider for the service or token being configured belongs in the root
|
||||
* injector. This is loosely equivalent to the convention of having a `forRoot()` static
|
||||
* function within a module that configures the provider, and expecting users to only import that
|
||||
* module via its `forRoot()` function in the root injector.
|
||||
*
|
||||
* @experimental
|
||||
* An internal token whose presence in an injector indicates that the injector should treat itself
|
||||
* as a root scoped injector when processing requests for unknown tokens which may indicate
|
||||
* they are provided in the root scope.
|
||||
*/
|
||||
export const APP_ROOT_SCOPE: Type<any> = new InjectionToken<boolean>(
|
||||
'The presence of this token marks an injector as being the root injector.') as any;
|
||||
export const APP_ROOT = new InjectionToken<boolean>(
|
||||
'The presence of this token marks an injector as being the root injector.');
|
||||
|
Reference in New Issue
Block a user