Home / Function/ describeTextDiff() — react Function Reference

describeTextDiff() — react Function Reference

Architecture documentation for the describeTextDiff() function in ReactFiberHydrationDiffs.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  132028dc_e4a7_d8d0_d21d_ea93b0f61c4e["describeTextDiff()"]
  e98a87b8_beb4_9d09_4d2f_78427872f8a3["ReactFiberHydrationDiffs.js"]
  132028dc_e4a7_d8d0_d21d_ea93b0f61c4e -->|defined in| e98a87b8_beb4_9d09_4d2f_78427872f8a3
  d76433b3_24cb_a703_296a_c8c399817ef2["describeElementDiff()"]
  d76433b3_24cb_a703_296a_c8c399817ef2 -->|calls| 132028dc_e4a7_d8d0_d21d_ea93b0f61c4e
  2bddd835_c8df_0f88_d323_52a3495a4bd7["describeNode()"]
  2bddd835_c8df_0f88_d323_52a3495a4bd7 -->|calls| 132028dc_e4a7_d8d0_d21d_ea93b0f61c4e
  b3d78aa7_1781_59b0_4f7d_e52469a3f073["added()"]
  132028dc_e4a7_d8d0_d21d_ea93b0f61c4e -->|calls| b3d78aa7_1781_59b0_4f7d_e52469a3f073
  6474ef9f_4744_bb9a_3aba_8b5a81bd364e["describeTextNode()"]
  132028dc_e4a7_d8d0_d21d_ea93b0f61c4e -->|calls| 6474ef9f_4744_bb9a_3aba_8b5a81bd364e
  5b17efcd_e1a7_5c9c_cdf5_fbe254307fa5["removed()"]
  132028dc_e4a7_d8d0_d21d_ea93b0f61c4e -->|calls| 5b17efcd_e1a7_5c9c_cdf5_fbe254307fa5
  f6f0b608_1ccd_4a42_4233_3a05bae25abb["indentation()"]
  132028dc_e4a7_d8d0_d21d_ea93b0f61c4e -->|calls| f6f0b608_1ccd_4a42_4233_3a05bae25abb
  style 132028dc_e4a7_d8d0_d21d_ea93b0f61c4e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-reconciler/src/ReactFiberHydrationDiffs.js lines 132–171

function describeTextDiff(
  clientText: string,
  serverProps: mixed,
  indent: number,
): string {
  const maxLength = maxRowLength - indent * 2;
  if (serverProps === null) {
    return added(indent) + describeTextNode(clientText, maxLength) + '\n';
  } else if (typeof serverProps === 'string') {
    let serverText: string = serverProps;
    let firstDiff = 0;
    for (
      ;
      firstDiff < serverText.length && firstDiff < clientText.length;
      firstDiff++
    ) {
      if (
        serverText.charCodeAt(firstDiff) !== clientText.charCodeAt(firstDiff)
      ) {
        break;
      }
    }
    if (firstDiff > maxLength - 8 && firstDiff > 10) {
      // The first difference between the two strings would be cut off, so cut off in
      // the beginning instead.
      clientText = '...' + clientText.slice(firstDiff - 8);
      serverText = '...' + serverText.slice(firstDiff - 8);
    }
    return (
      added(indent) +
      describeTextNode(clientText, maxLength) +
      '\n' +
      removed(indent) +
      describeTextNode(serverText, maxLength) +
      '\n'
    );
  } else {
    return indentation(indent) + describeTextNode(clientText, maxLength) + '\n';
  }
}

Domain

Subdomains

Frequently Asked Questions

What does describeTextDiff() do?
describeTextDiff() is a function in the react codebase, defined in packages/react-reconciler/src/ReactFiberHydrationDiffs.js.
Where is describeTextDiff() defined?
describeTextDiff() is defined in packages/react-reconciler/src/ReactFiberHydrationDiffs.js at line 132.
What does describeTextDiff() call?
describeTextDiff() calls 4 function(s): added, describeTextNode, indentation, removed.
What calls describeTextDiff()?
describeTextDiff() is called by 2 function(s): describeElementDiff, describeNode.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free