UNPKG

web3-error-helper

Version:

> 🛠️ Turn confusing Web3 errors into clear, human-friendly messages for developers and users alike.

48 lines (47 loc) 1.66 kB
"use strict"; /** * Error type detection utilities * * This module provides intelligent error type classification based on * error message content. It uses keyword matching to automatically * categorize errors into specific types (wallet, network, contract, etc.) * for better fallback message selection and error handling. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.detectErrorType = detectErrorType; exports.isErrorType = isErrorType; exports.getMatchingErrorTypes = getMatchingErrorTypes; const types_1 = require("../types"); /** * Detect error type based on error message keywords */ function detectErrorType(errorMessage) { const message = errorMessage.toLowerCase(); for (const [errorType, keywords] of Object.entries(types_1.ERROR_TYPE_KEYWORDS)) { if (keywords.some(keyword => message.includes(keyword))) { return errorType; } } return null; } /** * Check if error message contains specific error type keywords */ function isErrorType(errorMessage, errorType) { const message = errorMessage.toLowerCase(); const keywords = types_1.ERROR_TYPE_KEYWORDS[errorType]; return keywords.some(keyword => message.includes(keyword)); } /** * Get all error types that match the error message */ function getMatchingErrorTypes(errorMessage) { const message = errorMessage.toLowerCase(); const matchingTypes = []; for (const [errorType, keywords] of Object.entries(types_1.ERROR_TYPE_KEYWORDS)) { if (keywords.some(keyword => message.includes(keyword))) { matchingTypes.push(errorType); } } return matchingTypes; }