computePatternLValues() — react Function Reference
Architecture documentation for the computePatternLValues() function in PruneNonEscapingScopes.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD f0c93b07_94b1_2207_1b17_c2cb9b4253b7["computePatternLValues()"] c4112963_95fe_d8ed_3bfd_f6d45887acb7["PruneNonEscapingScopes.ts"] f0c93b07_94b1_2207_1b17_c2cb9b4253b7 -->|defined in| c4112963_95fe_d8ed_3bfd_f6d45887acb7 5f0939bb_76eb_1279_d295_dacefad72c8a["computeMemoizationInputs()"] 5f0939bb_76eb_1279_d295_dacefad72c8a -->|calls| f0c93b07_94b1_2207_1b17_c2cb9b4253b7 073c81a5_c389_d108_5b8f_4d6dc6eece83["push()"] f0c93b07_94b1_2207_1b17_c2cb9b4253b7 -->|calls| 073c81a5_c389_d108_5b8f_4d6dc6eece83 d7fde76c_4fd9_feb3_299b_798689f05bc6["assertExhaustive()"] f0c93b07_94b1_2207_1b17_c2cb9b4253b7 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 style f0c93b07_94b1_2207_1b17_c2cb9b4253b7 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/PruneNonEscapingScopes.ts lines 354–391
function computePatternLValues(pattern: Pattern): Array<LValueMemoization> {
const lvalues: Array<LValueMemoization> = [];
switch (pattern.kind) {
case 'ArrayPattern': {
for (const item of pattern.items) {
if (item.kind === 'Identifier') {
lvalues.push({place: item, level: MemoizationLevel.Conditional});
} else if (item.kind === 'Spread') {
lvalues.push({place: item.place, level: MemoizationLevel.Memoized});
}
}
break;
}
case 'ObjectPattern': {
for (const property of pattern.properties) {
if (property.kind === 'ObjectProperty') {
lvalues.push({
place: property.place,
level: MemoizationLevel.Conditional,
});
} else {
lvalues.push({
place: property.place,
level: MemoizationLevel.Memoized,
});
}
}
break;
}
default: {
assertExhaustive(
pattern,
`Unexpected pattern kind \`${(pattern as any).kind}\``,
);
}
}
return lvalues;
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does computePatternLValues() do?
computePatternLValues() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/PruneNonEscapingScopes.ts.
Where is computePatternLValues() defined?
computePatternLValues() is defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/PruneNonEscapingScopes.ts at line 354.
What does computePatternLValues() call?
computePatternLValues() calls 2 function(s): assertExhaustive, push.
What calls computePatternLValues()?
computePatternLValues() is called by 1 function(s): computeMemoizationInputs.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free