@internal
(cb: (v: any, k: any) => void)
| 598 | |
| 599 | /** @internal */ |
| 600 | override _forEachChild(cb: (v: any, k: any) => void): void { |
| 601 | Object.keys(this.controls).forEach((key) => { |
| 602 | // The list of controls can change (for ex. controls might be removed) while the loop |
| 603 | // is running (as a result of invoking Forms API in `valueChanges` subscription), so we |
| 604 | // have to null check before invoking the callback. |
| 605 | const control = (this.controls as any)[key]; |
| 606 | control && cb(control, key); |
| 607 | }); |
| 608 | } |
| 609 | |
| 610 | /** @internal */ |
| 611 | _setUpControls(): void { |
no test coverage detected