web3-error-helper
Version:
> 🛠️ Turn confusing Web3 errors into clear, human-friendly messages for developers and users alike.
90 lines (89 loc) • 3.19 kB
TypeScript
/**
* Type-safe translation key utilities and helpers
*
* This module provides utilities for creating and managing translation keys
* with full type safety. It follows the same patterns and standards as
* other utility modules in the codebase.
*/
import { TranslationKeys, EVMTranslationKeys, SolanaTranslationKeys, CosmosTranslationKeys, NearTranslationKeys, CardanoTranslationKeys, PolkadotTranslationKeys, AlgorandTranslationKeys, TezosTranslationKeys, StellarTranslationKeys, RippleTranslationKeys, TranslationKeyBuilder } from '../types/i18n';
/**
* Helper to create type-safe translation keys for specific adapters
*/
export declare const createTranslationKeys: {
/**
* Create EVM-specific translation keys
*/
evm: () => EVMTranslationKeys;
/**
* Create Solana-specific translation keys
*/
solana: () => SolanaTranslationKeys;
/**
* Create Cosmos-specific translation keys
*/
cosmos: () => CosmosTranslationKeys;
/**
* Create Near-specific translation keys
*/
near: () => NearTranslationKeys;
/**
* Create Cardano-specific translation keys
*/
cardano: () => CardanoTranslationKeys;
/**
* Create Polkadot-specific translation keys
*/
polkadot: () => PolkadotTranslationKeys;
/**
* Create Algorand-specific translation keys
*/
algorand: () => AlgorandTranslationKeys;
/**
* Create Tezos-specific translation keys
*/
tezos: () => TezosTranslationKeys;
/**
* Create Stellar-specific translation keys
*/
stellar: () => StellarTranslationKeys;
/**
* Create Ripple-specific translation keys
*/
ripple: () => RippleTranslationKeys;
};
/**
* Get type-safe translation keys for a specific adapter
*/
export declare function getAdapterTranslationKeys<T extends keyof typeof createTranslationKeys>(adapter: T): Record<string, string>;
/**
* Create a new translation key builder
*/
export declare function createTranslationKeyBuilder<T extends TranslationKeys = TranslationKeys>(): TranslationKeyBuilder<T>;
/**
* Validate translation key format
*/
export declare function validateTranslationKey(key: string): boolean;
/**
* Get all available translation keys for an adapter
*/
export declare function getAvailableTranslationKeys(adapter: keyof typeof createTranslationKeys): string[];
/**
* Check if a translation key exists for an adapter
*/
export declare function hasTranslationKey(adapter: keyof typeof createTranslationKeys, key: string): boolean;
/**
* Get translation key with fallback
*/
export declare function getTranslationKeyWithFallback(adapter: keyof typeof createTranslationKeys, key: string, fallback?: string): string;
/**
* Merge multiple translation key sets
*/
export declare function mergeTranslationKeys<T extends TranslationKeys>(...keySets: Partial<T>[]): T;
/**
* Filter translation keys by pattern
*/
export declare function filterTranslationKeys(keys: Record<string, string>, pattern: RegExp): Record<string, string>;
/**
* Get translation keys by ecosystem
*/
export declare function getTranslationKeysByEcosystem(ecosystem: string): Record<string, string>;