angular/tools/public_api_guard
Alex Rickabaugh bb290cefae fix(core): make QueryList implement Iterable in the type system (#33536)
Originally, QueryList implemented Iterable and provided a Symbol.iterator
on its prototype. This caused issues with tree-shaking, so QueryList was
refactored and the Symbol.iterator added in its constructor instead. As
part of this change, QueryList no longer implemented Iterable directly.

Unfortunately, this meant that QueryList was no longer assignable to
Iterable or, consequently, NgIterable. NgIterable is used for NgFor's input,
so this meant that QueryList was not usable (in a type sense) for NgFor
iteration. View Engine's template type checking would not catch this, but
Ivy's did.

As a fix, this commit adds the declaration (but not the implementation) of
the Symbol.iterator function back to QueryList. This has no runtime effect,
so it doesn't affect tree-shaking of QueryList, but it ensures that
QueryList is assignable to NgIterable and thus usable with NgFor.

Fixes #29842

PR Close #33536
2019-11-19 13:43:53 -08:00
..
animations docs: update animations to use @publicApi tags (#26595) 2018-10-19 14:35:53 -07:00
common fix(common): remove deprecated support for intl API (#29250) 2019-10-17 20:44:17 -04:00
core fix(core): make QueryList implement Iterable in the type system (#33536) 2019-11-19 13:43:53 -08:00
elements docs: update elements to use @publicApi tags (#26595) 2018-10-19 14:35:53 -07:00
forms refactor(forms): remove ngForm element selector (#33058) 2019-10-11 15:43:56 -07:00
http docs(http): move examples to @usageNotes (#26039) 2018-09-24 09:11:02 -07:00
localize fix(ivy): i18n - use MessageId for matching translations (#32594) 2019-09-17 09:17:44 -07:00
platform-browser feat(ivy): make Hammer support tree-shakable (#32203) 2019-08-21 11:43:51 -07:00
platform-browser-dynamic docs: update platform-browser-dynamic to use @publicApi tags (#26595) 2018-10-19 14:35:53 -07:00
platform-server docs: update platform-server to use @publicApi tags (#26595) 2018-10-19 14:35:53 -07:00
platform-webworker docs(platform-webworker): mark all public APIs as deprecated (#33824) 2019-11-15 16:14:37 -08:00
platform-webworker-dynamic feat(platform-webworker): deprecate platform-webworker (#30642) 2019-05-23 15:09:48 -07:00
router docs(router): make InitialNavigation part of the public API (#32707) 2019-09-27 14:21:13 -07:00
service-worker feat(service-worker): remove deprecated versionedFiles option (#32862) 2019-10-02 09:30:59 -07:00
upgrade feat(upgrade): provide unit test helpers for wiring up injectors (#16848) 2019-06-20 17:04:01 -07:00
BUILD.bazel refactor(upgrade): use Bazel packages to avoid symlinks in the source (#29466) 2019-04-02 10:38:01 -07:00
global_utils.d.ts feat(ivy): expose window.ng.getDebugNode helper (#32727) 2019-09-17 15:46:07 -07:00
public_api_guard.bzl build(ivy): remove the remains of ivy-jit mode (#27278) 2018-11-27 10:30:58 -08:00