angular-docs-cn/packages/core/test/di
Andrew Kushnir 6cff877f4f perf(core): make DI decorators tree-shakable when used for `useFactory` deps config (#40145)
This commit updates the logic that calculates `useFactory` function arguments to avoid relying on `instanceof`
checks (thus always retaining symbols) and relies on flags that DI decorators contain (as a monkey-patched property).

Another perf benefit is having less megamorphic reads while calculating args for the `useFactory` call: we used to
check whether a token has `ngMetadataName` property 4 times (in worst case), now we have just 1 megamorphic read in
all cases.

Closes #40143.

PR Close #40145
2021-01-13 14:08:45 -08:00
..
forward_ref_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
inject_flags_spec.ts perf(core): make DI decorators tree-shakable when used for `useFactory` deps config (#40145) 2021-01-13 14:08:45 -08:00
injector_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
r3_injector_spec.ts fix(core): Allow passing AbstractType to the inject function (#37958) 2020-11-24 10:42:21 -08:00
reflective_injector_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
reflective_key_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
static_injector_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00