date-io icon indicating copy to clipboard operation
date-io copied to clipboard

Throw error for wrong locale type

Open alexfauquette opened this issue 3 years ago • 0 comments

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

alexfauquette avatar Jun 07 '22 09:06 alexfauquette