UNPKG

@btc-vision/walletconnect

Version:

The OP_NET Wallet Connect library helps your dApp connect to any compatible wallet.

52 lines (51 loc) 2.07 kB
import { errorDefinitions } from './definitions'; const rawPatternGeneric = { 'User rejected the request.': errorDefinitions.UserRejected, "TypeError: Cannot read properties of undefined (reading 'addresses')": errorDefinitions.UserRejected, }; const rawPatternUnitTest = { 'TEST_CASE: empty': '', 'TEST_CASE: simple': 'simple', 'TEST_CASE: regex1 ${value}': 'regex1', 'TEST_CASE: regex2 ${value}': 'regex2 $1', 'Test case empty': '', 'Test case simple': 'simple', 'Test case regex1 ${value}': 'regex1', 'Test case regex2 ${value.get()}': 'regex2 $1', 'TEST_MULTI: multi1': { en: 'Test English', 'en-US': 'Test American English', fr: 'Test French', 'fr-CA': 'Test Canadian French', }, 'TEST_MULTI: multi2 ${value}': { en: 'Test English: $1', 'en-US': 'Test American English: $1', fr: 'Test French: $1', 'fr-CA': 'Test Canadian French: $1', }, }; const rawPatternMap = { 'NATIVE_SWAP: Liquidity value is too low in satoshis.': errorDefinitions.NativeSwapLiquidityValueTooLow, 'Unknown Error': errorDefinitions.UnknownError, 'Invalid Address': errorDefinitions.IndexingInProgress, 'Error Indexing at Block': errorDefinitions.IndexingInProgress, 'Valid Reservation for this Address': errorDefinitions.NoValidReservation, ...rawPatternGeneric, ...rawPatternUnitTest, }; export const patternMap = Object.entries(rawPatternMap) .filter(([key, value]) => !!value && !key.includes('${')) .sort((a, b) => b[0].length - a[0].length) .map(([key, value]) => [key, key.toLowerCase(), value]); export const escapeKey = (key) => { return key .replace(/\(/g, '\\(') .replace(/\)/g, '\\)') .replace(/\./g, '\\.') .replace(/\$\{.*?}/g, '(.+)'); }; export const patternRegExp = Object.entries(rawPatternMap) .filter(([key, value]) => !!value && key.includes('${')) .sort((a, b) => b[0].length - a[0].length) .map(([key, value]) => [key, new RegExp(escapeKey(key), 'i'), value]);