ca721c2972
This commit updates the type of the `APP_INITIALIZER` injection token to better document the expected types of values that Angular handles. Only Promises and Observables are awaited and other types of values are ignored, so the type of `APP_INITIALIZER` has been updated to `Promise<unknown> | Observable<unknown> | void` to reflect this behavior. BREAKING CHANGE: The type of the `APP_INITIALIZER` token has been changed to more accurately reflect the types of return values that are handled by Angular. Previously, each initializer callback was typed to return `any`, this is now `Promise<unknown> | Observable<unknown> | void`. In the unlikely event that your application uses the `Injector.get` or `TestBed.inject` API to inject the `APP_INITIALIZER` token, you may need to update the code to account for the stricter type. Additionally, TypeScript may report the TS2742 error if the `APP_INITIALIZER` token is used in an expression of which its inferred type has to be emitted into a .d.ts file. To workaround this, an explicit type annotation is needed, which would typically be `Provider` or `Provider[]`. Closes #40729 PR Close #40986