Files
bun-src/test/bundler/transpiler/react-compiler-fixtures/object-method-shorthand-aliased-mutate-after.expect.md
2026-08-27 21:09:14 +00:00

1.0 KiB

Input

import {createHookWrapper, mutate, mutateAndReturn} from 'shared-runtime';
function useHook({value}) {
  const x = mutateAndReturn({value});
  const obj = {
    getValue() {
      return value;
    },
  };
  mutate(x);
  return obj;
}

export const FIXTURE_ENTRYPOINT = {
  fn: createHookWrapper(useHook),
  params: [{value: 0}],
};

Code

import { c as _c } from "react/compiler-runtime";
import { createHookWrapper, mutate, mutateAndReturn } from "shared-runtime";
function useHook(t0) {
  const $ = _c(2);
  const { value } = t0;
  let obj;
  if ($[0] !== value) {
    const x = mutateAndReturn({ value });
    obj = {
      getValue() {
        return value;
      },
    };
    mutate(x);
    $[0] = value;
    $[1] = obj;
  } else {
    obj = $[1];
  }
  return obj;
}

export const FIXTURE_ENTRYPOINT = {
  fn: createHookWrapper(useHook),
  params: [{ value: 0 }],
};

Eval output

(kind: ok)

{"result":{"getValue":{"kind":"Function","result":0}},"shouldInvokeFns":true}