Files
react-native/Libraries/YellowBox/YellowBoxDeprecated.js
T
Luna Wei d504fb4145 Revert ESM imports
Summary:
Changelog: [Internal] - Remove all imports back to CJS for changelog in 0.72

We are reverting these imports as it may regress perf as we don't have a recommended inlining solution for ES modules at the current time.

Reviewed By: NickGerleman

Differential Revision: D43630911

fbshipit-source-id: ff3bb80009f327c4d51dad21f2cd287ce46d5964
2023-02-28 10:23:36 -08:00

76 lines
1.7 KiB
JavaScript

/**
* 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
* @format
*/
'use strict';
import type {IgnorePattern} from '../LogBox/Data/LogBoxData';
const LogBox = require('../LogBox/LogBox').default;
const React = require('react');
type Props = $ReadOnly<{||}>;
let YellowBox;
if (__DEV__) {
YellowBox = class extends React.Component<Props> {
static ignoreWarnings(patterns: $ReadOnlyArray<IgnorePattern>): void {
console.warn(
'YellowBox has been replaced with LogBox. Please call LogBox.ignoreLogs() instead.',
);
LogBox.ignoreLogs(patterns);
}
static install(): void {
console.warn(
'YellowBox has been replaced with LogBox. Please call LogBox.install() instead.',
);
LogBox.install();
}
static uninstall(): void {
console.warn(
'YellowBox has been replaced with LogBox. Please call LogBox.uninstall() instead.',
);
LogBox.uninstall();
}
render(): React.Node {
return null;
}
};
} else {
YellowBox = class extends React.Component<Props> {
static ignoreWarnings(patterns: $ReadOnlyArray<IgnorePattern>): void {
// Do nothing.
}
static install(): void {
// Do nothing.
}
static uninstall(): void {
// Do nothing.
}
render(): React.Node {
return null;
}
};
}
// $FlowFixMe[method-unbinding]
module.exports = (YellowBox: Class<React.Component<Props>> & {
ignoreWarnings($ReadOnlyArray<IgnorePattern>): void,
install(): void,
uninstall(): void,
...
});