angular-cn/packages
Alex Rickabaugh ed1db40322 fix(ivy): use 'typeof' and 'never' for type metadata (#24862)
Previously ngtsc would use a tuple of class types for listing metadata
in .d.ts files. For example, an @NgModule's declarations might be
represented with the type:

[NgIf, NgForOf, NgClass]

If the module had no declarations, an empty tuple [] would be produced.

This has two problems.

1. If the class type has generic type parameters, TypeScript will
complain that they're not provided.

2. The empty tuple type is not actually legal.

This commit addresses both problems.

1. Class types are now represented using the `typeof` operator, so the
above declarations would be represented as:

[typeof NgIf, typeof NgForOf, typeof NgClass].

Since typeof operates on a value, it doesn't require generic type
arguments.

2. Instead of an empty tuple, `never` is used to indicate no metadata.

PR Close #24862
2018-07-20 11:48:36 -07:00
..
animations fix(animations): @internal must use JSDoc tags. (#24928) 2018-07-18 18:18:04 -04:00
bazel build(bazel): turn on preserve-symlinks (#24881) 2018-07-20 10:37:30 -07:00
benchpress refactor: infer type for `it()` assertion functions (#19904) 2018-07-06 13:48:02 -07:00
common docs: more info on currency digits (#24661) 2018-07-20 10:33:06 -07:00
compiler fix(ivy): use 'typeof' and 'never' for type metadata (#24862) 2018-07-20 11:48:36 -07:00
compiler-cli fix(ivy): use 'typeof' and 'never' for type metadata (#24862) 2018-07-20 11:48:36 -07:00
core fix(ivy): use 'typeof' and 'never' for type metadata (#24862) 2018-07-20 11:48:36 -07:00
docs refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
elements build(bazel): turn on preserve-symlinks (#24881) 2018-07-20 10:37:30 -07:00
examples docs: more info on currency digits (#24661) 2018-07-20 10:33:06 -07:00
forms feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
http test: make `NgMatchers` type-aware (#19904) 2018-07-06 13:48:02 -07:00
language-service fix(language-service): do not overwrite native `Reflect` (#24299) 2018-07-09 15:09:16 -07:00
platform-browser feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
platform-browser-dynamic ci(ivy): configure CI environments for Ivy JIT and AOT (#24309) 2018-06-08 13:34:27 -07:00
platform-server fix(animations): set animations styles properly on platform-server (#24624) 2018-06-25 07:58:11 -07:00
platform-webworker test(platform-webworker): avoid flakes due to existing `PlatformRef` (#24916) 2018-07-20 10:47:17 -07:00
platform-webworker-dynamic ci(ivy): configure CI environments for Ivy JIT and AOT (#24309) 2018-06-08 13:34:27 -07:00
router feat(ivy): selector side of ModuleWithProviders via type metadata (#24862) 2018-07-20 11:48:35 -07:00
service-worker fix(service-worker): avoid network requests when looking up hashed resources in cache (#24127) 2018-07-06 13:50:37 -07:00
upgrade fix(ivy): allow building router with ngtsc (#24862) 2018-07-20 11:48:35 -07:00
BUILD.bazel feat(bazel): introduce a binary stamping feature (#22176) 2018-02-15 14:08:53 -08:00
README.md Revert "docs: Remove unneeded file (#18106)" 2017-07-20 16:46:47 -05:00
empty.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
es6-subset.d.ts build: switch from npm to yarn (#19328) 2017-09-22 13:20:52 -07:00
goog.d.ts fix(compiler): add typings for `COMPILED`. 2017-09-29 09:26:38 -07:00
license-banner.txt docs(common): update copyright years (#21232) 2018-01-04 17:45:36 -05:00
rollup.config.js refactor: make all rollup config ES5 compatible (#20028) 2017-10-30 23:09:17 -04:00
system.d.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
tsconfig-build.json build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00
tsconfig-metadata.json refactor(compiler): bump metadata version to 4 (#19338) 2017-09-26 13:31:59 -07:00
tsconfig.json build: upgrade jasmine (and related typings) to latest version (#19904) 2018-07-06 13:48:02 -07:00
types.d.ts build: upgrade jasmine (and related typings) to latest version (#19904) 2018-07-06 13:48:02 -07:00

README.md

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

License: MIT