tyEqual() — react Function Reference
Architecture documentation for the tyEqual() function in ValidateNoRefAccessInRender.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 16e31318_ef73_3912_2fbe_59422088d52e["tyEqual()"] 8dbbe52d_b145_88fe_e0da_33d06180b558["ValidateNoRefAccessInRender.ts"] 16e31318_ef73_3912_2fbe_59422088d52e -->|defined in| 8dbbe52d_b145_88fe_e0da_33d06180b558 648272d7_e6a6_0efe_25c4_d76434ffaafb["set()"] 648272d7_e6a6_0efe_25c4_d76434ffaafb -->|calls| 16e31318_ef73_3912_2fbe_59422088d52e 041ca752_10c1_3cda_1f5c_02f44a01310e["invariant()"] 16e31318_ef73_3912_2fbe_59422088d52e -->|calls| 041ca752_10c1_3cda_1f5c_02f44a01310e style 16e31318_ef73_3912_2fbe_59422088d52e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts lines 186–227
function tyEqual(a: RefAccessType, b: RefAccessType): boolean {
if (a.kind !== b.kind) {
return false;
}
switch (a.kind) {
case 'None':
return true;
case 'Ref':
return true;
case 'Nullable':
return true;
case 'Guard':
CompilerError.invariant(b.kind === 'Guard', {
reason: 'Expected ref value',
loc: GeneratedSource,
});
return a.refId === b.refId;
case 'RefValue':
CompilerError.invariant(b.kind === 'RefValue', {
reason: 'Expected ref value',
loc: GeneratedSource,
});
return a.loc == b.loc;
case 'Structure': {
CompilerError.invariant(b.kind === 'Structure', {
reason: 'Expected structure',
loc: GeneratedSource,
});
const fnTypesEqual =
(a.fn === null && b.fn === null) ||
(a.fn !== null &&
b.fn !== null &&
a.fn.readRefEffect === b.fn.readRefEffect &&
tyEqual(a.fn.returnType, b.fn.returnType));
return (
fnTypesEqual &&
(a.value === b.value ||
(a.value !== null && b.value !== null && tyEqual(a.value, b.value)))
);
}
}
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does tyEqual() do?
tyEqual() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts.
Where is tyEqual() defined?
tyEqual() is defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts at line 186.
What does tyEqual() call?
tyEqual() calls 1 function(s): invariant.
What calls tyEqual()?
tyEqual() is called by 1 function(s): set.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free