angular/packages
Dylan Hunn 0874ef5ecb refactor(compiler): Eliminate BindingFlags and reorder parameters of createTemplateBinding (#53457)
It turns out that `BindingFlags.BindingTargetsTemplate` is actally a redundant property! It will be true in either of the following cases:
1. The template is a normal non-structural `ng-template`. We already know this from `TemplateKind`.
2. The binding came from `templateAttrs` (instead of `attrs`). We have this information in `BindingFlags.IsStructuralTemplateAttribute`.

Therefore, I can just eliminate `BindingFlags.BindingTargetsTemplate`. There's no reason to keep `BindingFlags` around for a single value, so I convert `BindingFlags.IsStructuralTemplateAttribute` to a boolean parameter (with the eventual goal of eliminating it entirely).

Additionally, because element binding ingestion now calls `ir.createBindingOp` inline, it was difficult to compare it to template binding ingestion, which uses the  `createTemplateBinding` helper. I have changed the parameter order of `createTemplateBinding` to closely mimic `ir.createBindingOp`. This will both make the code easier to read, and allow me to easily replace one with the other in the future.

Lastly: the template binding ingestion function is the site of much of the binding ingestion complexity. Add an explanatory function comment.

PR Close #53457
2023-12-11 14:03:42 -08:00
..
animations fix(animations): prevent the AsyncAnimationRenderer from calling the delegate when there is no element. (#52570) 2023-11-13 16:29:18 +00:00
bazel feat(core): support TypeScript 5.3 (#52572) 2023-11-09 22:56:41 +00:00
benchpress test(core): clean up unnecessary nesting in old tests (#52239) 2023-10-19 09:26:15 -07:00
common build: convert build/test scripts to use fast-glob (#53397) 2023-12-08 14:37:07 -08:00
compiler refactor(compiler): Eliminate BindingFlags and reorder parameters of createTemplateBinding (#53457) 2023-12-11 14:03:42 -08:00
compiler-cli refactor(compiler): Don't emit class and style bindings on structural template views (#53457) 2023-12-11 14:03:42 -08:00
core perf(core): optimize memory allocation when reconcilling lists (#52245) 2023-12-08 15:00:13 -08:00
docs/di docs: remove outdated/unsupported webworker doc (#49856) 2023-04-17 14:01:41 +00:00
elements build: update node.js engines version to be more explicate about v20 support (#52448) 2023-10-31 14:18:36 -07:00
examples docs(forms): replace fb with formBuilder (#52261) 2023-10-19 09:24:39 -07:00
forms build: update node.js engines version to be more explicate about v20 support (#52448) 2023-10-31 14:18:36 -07:00
language-service feat(core): support TypeScript 5.3 (#52572) 2023-11-09 22:56:41 +00:00
localize refactor: reduce direct babel dependencies (#53441) 2023-12-08 14:33:59 -08:00
misc/angular-in-memory-web-api fix(http): Don't override the backend when using the InMemoryWebAPI (#52425) 2023-11-08 18:42:20 +00:00
platform-browser refactor(core): Separate application and platform files even more (#53371) 2023-12-08 14:29:46 -08:00
platform-browser-dynamic build: update node.js engines version to be more explicate about v20 support (#52448) 2023-10-31 14:18:36 -07:00
platform-server refactor(core): skip disconnected nodes while computing node path for hydration (#53317) 2023-12-04 21:44:08 -08:00
private/testing fix(platform-server): bundle @angular/domino in via esbuild (#49229) 2023-02-28 13:34:50 -08:00
router feat(router): Add info property to NavigationExtras (#53303) 2023-12-06 09:44:43 -08:00
service-worker build: update node.js engines version to be more explicate about v20 support (#52448) 2023-10-31 14:18:36 -07:00
upgrade build: update node.js engines version to be more explicate about v20 support (#52448) 2023-10-31 14:18:36 -07:00
zone.js fix(zone.js): Promise.resolve(subPromise) should return subPromise (#53423) 2023-12-11 10:55:12 -08:00
BUILD.bazel build: add target to generate api manifest (#52472) 2023-11-02 11:00:59 -07:00
circular-deps-test.conf.js build: ignore type only imports/exports for circular dependency checks (#47017) 2022-08-18 12:06:09 -07:00
empty.ts
goog.d.ts refactor(core): replace references to goog.LOCALE with goog.getLocale() (#43089) 2021-08-10 10:35:26 -07:00
license-banner.txt build: bump license year (#44590) 2022-01-04 12:05:25 -08:00
README.md
system.d.ts
tsconfig-build.json build: align with internal tsconfig options (#51728) 2023-09-12 11:39:42 -07:00
tsconfig-legacy-saucelabs.json refactor(compiler): drop obsolete NgFactory and NgSummary config options (#48268) 2023-02-21 13:03:59 -08:00
tsconfig-test.json build: switch devmode output to es2015 (#44505) 2022-01-05 23:20:20 +00:00
tsconfig-tsec-base.json refactor(core): throw an error when hydration marker is missing from DOM (#51170) 2023-08-04 11:31:49 -04:00
tsconfig.json refactor(common): Add a new platform_navigation that provides the Navigation API. (#52363) 2023-11-09 18:01:33 +00:00
tsec-exemption.json fix(core): hardening attribute and property binding rules for <iframe> elements (#47964) 2022-11-09 00:47:56 -08:00
types.d.ts build: update to jasmine 4.0 (#45558) 2022-04-11 16:25:28 +00:00

Angular

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

Usage information and reference details can be found in Angular documentation.

License: MIT