export const enum Errors { ERROR = 'ERROR', ENOLOGIN = 'ENOLOGIN', ELOGINFAIL = 'ELOGINFAIL', } const messages = { [Errors.ERROR]: 'error', [Errors.ENOLOGIN]: 'no login form found', [Errors.ELOGINFAIL]: 'login failed', }; export default class RenaiError extends Error { constructor(eno: Errors = Errors.ERROR, msg: string = '') { super(`Error ${eno}: ${messages[eno]}.${msg ? ` ${msg}` : ''}`); } }