angular-cn/packages
Pawel Kozlowski c34c223122 fix(ivy): avoid type coercion in binding-related instruction asserts (#29470)
ivy's bindingUpdated instruction is using the assertNotEqual check to make
sure that NO_CHANGE value (of type Object) is not passed as a value to be
dirty-checked. In practice it means that any value passed as a binding
value would be compared to the NO_CHANGE object.

It turns out that the assertNotEqual is using == and given
that binding values are of different type and we always compare it to the
NO_CHANGE object we were doing lots of type coercion. It resulted in calls
to expensive types conversions and calls to Object.toString().

A profiler reported ~15% of the self time spent in the assertNotEqual
but it turns out that removing type coercion speeds up Material Chips with
input scenario much more (~40ms down to ~20ms).

This PR introduces new assert method `assertNotSame` that uses strict equality
check. The new assertion is used in binding instructions to compare to
NO_CHANGE object reference.

PR Close #29470
2019-03-25 09:34:13 -07:00
..
animations build: remove now redundant `bundle_dts = True` attribute (#29128) 2019-03-07 10:47:20 -08:00
bazel fix(bazel): workaround problem reading summary files from node_modules (#29459) 2019-03-22 13:17:00 -07:00
benchpress docs: cleanup contributors (#28930) 2019-03-06 14:48:30 -08:00
common fix(ivy): ViewContainerRef.destroy should properly clean the DOM (#29414) 2019-03-22 13:13:12 -07:00
compiler fix(ivy): emit generic type arguments in Pipe metadata (#29403) 2019-03-20 16:11:22 -04:00
compiler-cli fix(ivy): handle class declarations consistently in ES5 code (#29209) 2019-03-21 22:20:24 +00:00
core fix(ivy): avoid type coercion in binding-related instruction asserts (#29470) 2019-03-25 09:34:13 -07:00
docs refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
elements build: remove now redundant `bundle_dts = True` attribute (#29128) 2019-03-07 10:47:20 -08:00
examples docs(core): close tags in example (#29474) 2019-03-22 13:15:03 -07:00
forms docs(forms): fix small typo in forms documentation (#29370) 2019-03-19 13:11:11 -04:00
http docs: updating url for jsonp reference (#29247) 2019-03-15 12:41:37 -04:00
language-service build: update to nodejs rules 0.27 (#29210) 2019-03-14 19:35:00 -07:00
platform-browser feat(ivy): avoid unnecessary recompilations in TestBed (#29294) 2019-03-19 01:11:16 -04:00
platform-browser-dynamic feat(ivy): avoid unnecessary recompilations in TestBed (#29294) 2019-03-19 01:11:16 -04:00
platform-server refactor: move DOCUMENT imports from platform-browser to common (#29237) 2019-03-14 16:01:57 -04:00
platform-webworker refactor: move DOCUMENT imports from platform-browser to common (#29237) 2019-03-14 16:01:57 -04:00
platform-webworker-dynamic build: remove now redundant `bundle_dts = True` attribute (#29128) 2019-03-07 10:47:20 -08:00
private/testing fix(ivy): ViewContainerRef.destroy should properly clean the DOM (#29414) 2019-03-22 13:13:12 -07:00
router fix(router): support NgFactory promise in loadChildren typings (#29392) 2019-03-25 09:30:28 -07:00
service-worker refactor(service-worker): use `Adapter#parseUrl()` for all URL parsing (#27080) 2019-03-21 12:07:56 -04:00
upgrade build: remove now redundant `bundle_dts = True` attribute (#29128) 2019-03-07 10:47:20 -08:00
BUILD.bazel build: rules_nodejs 0.26.0 & use @npm instead of @ngdeps now that downstream angular build uses angular bundles (#28871) 2019-02-28 12:06:36 -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
goog.d.ts test(ivy): add bundling test `todo_i18n` (#27420) 2018-12-04 19:59:12 -08:00
license-banner.txt build: bump year (#27880) 2019-01-11 11:15:59 -08: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: update to rules_typescript 0.25.1 (#28625) 2019-02-21 07:46:21 -08:00
tsconfig-test.json build: update to rules_typescript 0.25.1 (#28625) 2019-02-21 07:46:21 -08:00
tsconfig.json ci: saucelabs-legacy job should not run schematic core tests (#29124) 2019-03-05 16:10:08 -08:00
types.d.ts build: switch to typescript's es2015 typings (#28570) 2019-02-06 14:17:55 -05: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