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