@heap/react-native-heap
Version:
React Native event tracking with Heap.
27 lines (26 loc) • 812 B
JavaScript
export const logError = (message, error, quiet = false) => {
const logger = quiet ? console.log : console.warn;
if (error instanceof Error) {
// KLUDGE: These properties don't show up if you `console.warn` the error object directly.
logger(message, {
name: error.name,
message: error.message,
stack: error.stack,
});
}
else {
logger(message, {
message: String(error),
});
}
};
export const swallowErrors = (fn, name = null, quiet = false) => {
return (...args) => {
try {
return fn(...args);
}
catch (e) {
logError(name ? `Heap: ${name} failed with an error.` : 'Heap: The Heap SDK encountered an error while tracking.', e, quiet);
}
};
};