src/lib/core/installer-error.js
/**
* Installer Error
*/
export default class InstallerError extends Error {
/**
* Creates an InstallerError.
* @param {Object} [options={}] options
* @param {String} [options.type=''] The error type key (Installer.operations).
* @param {Object} [options.payload={}] A custom payload object.
* @param {Error} [options.error={}] Error object.
*/
constructor({ type = '', payload = {}, error = {} } = {}) {
super(error.message || 'InstallerError');
/**
* Error name.
* @type {String}
*/
this.name = 'InstallerError';
/**
* Error type (one of the Installer.operations).
* @type {String}
*/
this.type = type;
/**
* Custom payload object.
* @type {Object}
*/
this.payload = { ...payload, error };
}
}