Skip to content

Throw error for wrong locale type  #617

@alexfauquette

Description

@alexfauquette

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:
mui/mui-x#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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions