ant-design/tests/shared/excludeWarning.ts
afc163 59ad48476b
refactor: add boime lint and fix lint errrors (#49536)
* chore: add boime lint

* fix lint

* use files ignore

* revert change

* ignore clarity.js

* fix some errors

* fix some errors

* fix some errors

* fix some errors

* add yml file

* Update clarity.js

Signed-off-by: afc163 <afc163@gmail.com>

* add npm run lint:biome

* add npm run lint:biome

* fix test case

* fix ts errors

* fix ts errors

* fix lint and add .lintstagedrc

* shorten prop name

* chore: update package.json

* update biome.json

* chore: remove stylelint

* chore: useOptionalChain

* fix lint

* biome format

* prettier all code

* prettier all code

* fix site test

---------

Signed-off-by: afc163 <afc163@gmail.com>
2024-06-22 21:59:12 +08:00

37 lines
840 B
TypeScript

// eslint-disable-next-line no-console
const originError = console.error;
export function isSafeWarning(message: boolean, all = false) {
const list = ['useLayoutEffect does nothing on the server'];
if (all) {
list.push('is deprecated in StrictMode');
}
return list.some((msg) => String(message).includes(msg));
}
/** This function will remove `useLayoutEffect` server side warning. Since it's useless. */
export function excludeWarning() {
const errorSpy = jest.spyOn(console, 'error').mockImplementation((msg, ...rest) => {
if (isSafeWarning(msg)) {
return;
}
originError(msg, ...rest);
});
return errorSpy;
}
export default function excludeAllWarning() {
let cleanUp: () => void;
beforeAll(() => {
cleanUp = excludeWarning().mockRestore;
});
afterAll(() => {
cleanUp();
});
}