Files
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

17 lines
590 B
JavaScript

export const buildDeprecatedPropsWarning = message => {
let alreadyWarned = false;
if (process.env.NODE_ENV === 'production') {
return () => {};
}
const cleanMessage = Array.isArray(message) ? message.join('\n') : message;
return deprecatedProps => {
const deprecatedKeys = Object.entries(deprecatedProps).filter(([, value]) => value !== undefined).map(([key]) => `- ${key}`);
if (!alreadyWarned && deprecatedKeys.length > 0) {
alreadyWarned = true;
console.warn([cleanMessage, 'deprecated props observed:', ...deprecatedKeys].join('\n'));
}
};
};