@adguard/agtree
Version:
Tool set for working with adblock filter lists
50 lines (48 loc) • 1.3 kB
JavaScript
/*
* AGTree v3.4.3 (build date: Thu, 11 Dec 2025 13:43:19 GMT)
* (c) 2025 Adguard Software Ltd.
* Released under the MIT license
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
*/
/**
* Checks if error has message.
*
* @param error Error object.
* @returns If param is error.
*/
function isErrorWithMessage(error) {
return (typeof error === 'object'
&& error !== null
&& 'message' in error
&& typeof error.message === 'string');
}
/**
* Converts error to the error with message.
*
* @param maybeError Possible error.
* @returns Error with message.
*/
function toErrorWithMessage(maybeError) {
if (isErrorWithMessage(maybeError)) {
return maybeError;
}
try {
return new Error(JSON.stringify(maybeError));
}
catch {
// fallback in case there's an error stringifying the maybeError
// like with circular references for example.
return new Error(String(maybeError));
}
}
/**
* Converts error object to error with message. This method might be helpful to handle thrown errors.
*
* @param error Error object.
*
* @returns Message of the error.
*/
function getErrorMessage(error) {
return toErrorWithMessage(error).message;
}
export { getErrorMessage };