ReactDOMBrowser.js29 lines
mainRaw
/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */

import type {ReactRecoverable, ReactRecoverableReason} from 'shared/ReactTypes';

import {enableBrowserAPI} from 'shared/ReactFeatureFlags';
import {REACT_RECOVERABLE_TYPE} from 'shared/ReactSymbols';

const browserImpl = function browser(
  reason?: ReactRecoverableReason,
): ReactRecoverable {
  // This also runs in the browser, where the reason is never observed. Keep the
  // value cheap and let an SSR renderer initialize the error if it defers work.
  return {
    $$typeof: REACT_RECOVERABLE_TYPE,
    _reason: reason,
  };
};

export const browser:
  | ((reason?: ReactRecoverableReason) => ReactRecoverable)
  | void = enableBrowserAPI ? browserImpl : undefined;
Loading syntax highlighting…