build(bazel): Turning on strictPropertyInitialization for Angular. (#24572)
All errors for existing fields have been detected and suppressed with a `!` assertion. Issue/24571 is tracking proper clean up of those instances. One-line change required in ivy/compilation.ts, because it appears that the new syntax causes tsickle emitted node to no longer track their original sourceFiles. PR Close #24572
This commit is contained in:
@ -13,12 +13,18 @@
|
||||
* and attribute have the same identifier.
|
||||
*/
|
||||
export class PropertyBinding {
|
||||
bracketAttr: string;
|
||||
bracketParenAttr: string;
|
||||
parenAttr: string;
|
||||
onAttr: string;
|
||||
bindAttr: string;
|
||||
bindonAttr: string;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
bracketAttr !: string;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
bracketParenAttr !: string;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
parenAttr !: string;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
onAttr !: string;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
bindAttr !: string;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
bindonAttr !: string;
|
||||
|
||||
constructor(public prop: string, public attr: string) { this.parseBinding(); }
|
||||
|
||||
|
@ -158,7 +158,8 @@ export function downgradeComponent(info: {
|
||||
* to preserve the synchronous nature of Angular 1's $compile.
|
||||
*/
|
||||
class ParentInjectorPromise {
|
||||
private injector: Injector;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private injector !: Injector;
|
||||
private injectorKey: string = controllerKey(INJECTOR_KEY);
|
||||
private callbacks: ((injector: Injector) => any)[] = [];
|
||||
|
||||
|
@ -22,10 +22,13 @@ export class DowngradeComponentAdapter {
|
||||
private inputChangeCount: number = 0;
|
||||
private inputChanges: SimpleChanges = {};
|
||||
private componentScope: angular.IScope;
|
||||
private componentRef: ComponentRef<any>;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private componentRef !: ComponentRef<any>;
|
||||
private component: any;
|
||||
private changeDetector: ChangeDetectorRef;
|
||||
private viewChangeDetector: ChangeDetectorRef;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private changeDetector !: ChangeDetectorRef;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private viewChangeDetector !: ChangeDetectorRef;
|
||||
|
||||
constructor(
|
||||
private element: angular.IAugmentedJQuery, private attrs: angular.IAttributes,
|
||||
|
@ -43,8 +43,10 @@ export function isFunction(value: any): value is Function {
|
||||
|
||||
export class Deferred<R> {
|
||||
promise: Promise<R>;
|
||||
resolve: (value?: R|PromiseLike<R>) => void;
|
||||
reject: (error?: any) => void;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
resolve !: (value?: R | PromiseLike<R>) => void;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
reject !: (error?: any) => void;
|
||||
|
||||
constructor() {
|
||||
this.promise = new Promise((res, rej) => {
|
||||
|
Reference in New Issue
Block a user