Home / File/ repro-fbt-param-nested-fbt-jsx.js — react Source File

repro-fbt-param-nested-fbt-jsx.js — react Source File

Architecture documentation for repro-fbt-param-nested-fbt-jsx.js, a javascript file in the react codebase. 2 imports, 0 dependents.

File javascript TestingUtilities Fixtures 2 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  f5057cda_e021_5868_4775_b80b2bb54560["repro-fbt-param-nested-fbt-jsx.js"]
  2db15464_200a_540f_8671_b62de113ab09["fbt"]
  f5057cda_e021_5868_4775_b80b2bb54560 --> 2db15464_200a_540f_8671_b62de113ab09
  006eec3d_77a9_4a47_e6c1_a96d7a6c9c05["shared-runtime"]
  f5057cda_e021_5868_4775_b80b2bb54560 --> 006eec3d_77a9_4a47_e6c1_a96d7a6c9c05
  style f5057cda_e021_5868_4775_b80b2bb54560 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import fbt from 'fbt';
import {Stringify, identity} from 'shared-runtime';

/**
 * MemoizeFbtAndMacroOperands needs to account for nested fbt calls.
 * Expected fixture `fbt-param-call-arguments` to succeed but it failed with error:
 *   /fbt-param-call-arguments.ts: Line 19 Column 11: fbt: unsupported babel node: Identifier
 *   ---
 *   t3
 *   ---
 */
function Component({firstname, lastname}) {
  'use memo';
  return (
    <div>
      {fbt(
        [
          'Name: ',
          fbt.param('firstname', <Stringify key={0} name={firstname} />),
          ', ',
          fbt.param(
            'lastname',
            identity(
              fbt(
                '(inner)' +
                  fbt.param('lastname', <Stringify key={1} name={lastname} />),
                'Inner fbt value'
              )
            )
          ),
        ],
        'Name'
      )}
    </div>
  );
}

export const FIXTURE_ENTRYPOINT = {
  fn: Component,
  params: [{firstname: 'first', lastname: 'last'}],
  sequentialRenders: [{firstname: 'first', lastname: 'last'}],
};

Subdomains

Functions

Dependencies

  • fbt
  • shared-runtime

Frequently Asked Questions

What does repro-fbt-param-nested-fbt-jsx.js do?
repro-fbt-param-nested-fbt-jsx.js is a source file in the react codebase, written in javascript. It belongs to the TestingUtilities domain, Fixtures subdomain.
What functions are defined in repro-fbt-param-nested-fbt-jsx.js?
repro-fbt-param-nested-fbt-jsx.js defines 1 function(s): Component.
What does repro-fbt-param-nested-fbt-jsx.js depend on?
repro-fbt-param-nested-fbt-jsx.js imports 2 module(s): fbt, shared-runtime.
Where is repro-fbt-param-nested-fbt-jsx.js in the architecture?
repro-fbt-param-nested-fbt-jsx.js is located at compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/fbt/repro-fbt-param-nested-fbt-jsx.js (domain: TestingUtilities, subdomain: Fixtures, directory: compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/fbt).

Analyze Your Own Codebase

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

Try Supermodel Free