xref: /expo/packages/@expo/config/src/Errors.ts (revision 8a424beb)
1082815dcSEvan Baconimport { ConfigErrorCode } from './Config.types';
2082815dcSEvan Bacon
3082815dcSEvan Bacon/**
4082815dcSEvan Bacon * Based on `JsonFileError` from `@expo/json-file`
5082815dcSEvan Bacon */
6082815dcSEvan Baconexport class ConfigError extends Error {
7082815dcSEvan Bacon  readonly name = 'ConfigError';
8082815dcSEvan Bacon  readonly isConfigError = true;
9082815dcSEvan Bacon
10*8a424bebSJames Ide  constructor(
11*8a424bebSJames Ide    message: string,
12*8a424bebSJames Ide    public code: ConfigErrorCode,
13*8a424bebSJames Ide    public cause?: Error
14*8a424bebSJames Ide  ) {
15082815dcSEvan Bacon    super(cause ? `${message}\n└─ Cause: ${cause.name}: ${cause.message}` : message);
16082815dcSEvan Bacon  }
17082815dcSEvan Bacon}
18