date-io
date-io copied to clipboard
Throw error for wrong locale type
Users of mui date pickers use the wrong type when defining their locale because most of the adapters require a string, but date-fns is expecting an object:
https://github.com/mui/mui-x/issues/4598
I propose to add a verification in every constructor such that in development environment then library throw an explicit error message if the type passed is not correct:
constructor({
locale,
formats,
}: { formats?: Partial<DateIOFormats>; locale?: Locale } = {}) {
if(process.env.NODE_ENV !== 'production'){
if(locale && typeof locale === 'string'){
throw Error(`date-fns expect \`locale\` to be an object, get a ${typeof locale}`)
}
}
this.locale = locale;
this.formats = Object.assign({}, defaultFormats, formats);
}
If it sounds good, I can write the PR