assertExhaustive() — react Function Reference
Architecture documentation for the assertExhaustive() function in utils.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD d7fde76c_4fd9_feb3_299b_798689f05bc6["assertExhaustive()"] eb9d33f9_42c1_205c_93e6_8e1365a31839["utils.ts"] d7fde76c_4fd9_feb3_299b_798689f05bc6 -->|defined in| eb9d33f9_42c1_205c_93e6_8e1365a31839 e39dece3_8891_8533_6625_5397539eb098["printErrorMessage()"] e39dece3_8891_8533_6625_5397539eb098 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 4767de0a_dba6_b3df_77df_2b909825c02d["printErrorSummary()"] 4767de0a_dba6_b3df_77df_2b909825c02d -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 f9aa782b_e682_94c0_04d8_45997eeae085["getRuleForCategoryImpl()"] f9aa782b_e682_94c0_04d8_45997eeae085 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 1e86a202_a347_7857_88d3_50b0dc42a045["createNewFunctionNode()"] 1e86a202_a347_7857_88d3_50b0dc42a045 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 ade5f434_a213_5611_b4fa_0fdd254474e1["insertNewOutlinedFunctionNode()"] ade5f434_a213_5611_b4fa_0fdd254474e1 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 37c561cb_7b67_6332_ee68_b69aaf917134["getReactFunctionType()"] 37c561cb_7b67_6332_ee68_b69aaf917134 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 4653f7ad_06cf_fc52_32b4_0419d5483cef["isValidPropsAnnotation()"] 4653f7ad_06cf_fc52_32b4_0419d5483cef -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 d31deb45_fb36_194b_4bb5_e81a98b6c9bd["suppressionsToCompilerError()"] d31deb45_fb36_194b_4bb5_e81a98b6c9bd -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 d530521b_d20e_08a8_4bec_1170867678c4["mapType()"] d530521b_d20e_08a8_4bec_1170867678c4 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 32d9a46d_2c9f_4d15_f8fb_432c549e02fa["diff()"] 32d9a46d_2c9f_4d15_f8fb_432c549e02fa -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 c0b647d9_982f_2dc6_de63_c350aa5665d4["printConcrete()"] c0b647d9_982f_2dc6_de63_c350aa5665d4 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 38999144_d544_edc0_6efe_18d9bf834ada["printType()"] 38999144_d544_edc0_6efe_18d9bf834ada -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 c01b12bd_811d_9f90_f641_fac8e518dbb7["lowerStatement()"] c01b12bd_811d_9f90_f641_fac8e518dbb7 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6 style d7fde76c_4fd9_feb3_299b_798689f05bc6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts lines 29–31
export function assertExhaustive(_: never, errorMsg: string): never {
throw new Error(errorMsg);
}
Domain
Subdomains
Called By
- applyEffect()
- codegenBlockNoReset()
- codegenInstructionNullable()
- codegenInstructionValue()
- codegenJsxAttribute()
- codegenLValue()
- codegenTerminal()
- codegenValue()
- computeEffectsForSignature()
- computeMemoizationInputs()
- computePatternLValues()
- computeSignatureForInstruction()
- convertHoistedLValueKind()
- createNewFunctionNode()
- diff()
- doesPatternContainSpreadElement()
- eachInstructionValueOperand()
- eachPatternItem()
- eachPatternOperand()
- eachTerminalOperand()
- eachTerminalSuccessor()
- enableDropManualMemoization()
- enableMemoization()
- enableValidations()
- flattenReactiveLoopsHIR()
- freeze()
- generateInstructionTypes()
- getReactFunctionType()
- getRuleForCategoryImpl()
- getSetStateCall()
- inferMutationAliasingRanges()
- inferReactivePlaces()
- insertNewOutlinedFunctionNode()
- installTypeConfig()
- isKnownMutableEffect()
- isMutableEffect()
- isValidPropsAnnotation()
- join()
- lowerStatement()
- lowerWithMutationAliasing()
- mapInstructionValueOperands()
- mapPatternOperands()
- mapTerminalBlocks()
- mapTerminalOperands()
- mapTerminalSuccessors()
- mapType()
- mayAllocate()
- mutate()
- outlineJsxImpl()
- parseAliasingSignatureConfig()
- printAliasingEffect()
- printConcrete()
- printErrorMessage()
- printErrorSummary()
- printInstructionValue()
- printLValue()
- printPattern()
- printTerminal()
- printType()
- pruneableValue()
- recordInstructionDerivations()
- rewriteInstruction()
- suppressionsToCompilerError()
- terminalHasFallthrough()
- traverseBlock()
- traverseBlock()
- traverseTerminal()
- traverseTerminal()
- tryResolveType()
- validateHooksUsage()
- visitBlock()
- visitBlock()
- writeReactiveInstruction()
- writeTerminal()
Source
Frequently Asked Questions
What does assertExhaustive() do?
assertExhaustive() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts.
Where is assertExhaustive() defined?
assertExhaustive() is defined in compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts at line 29.
What calls assertExhaustive()?
assertExhaustive() is called by 74 function(s): applyEffect, codegenBlockNoReset, codegenInstructionNullable, codegenInstructionValue, codegenJsxAttribute, codegenLValue, codegenTerminal, codegenValue, and 66 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free