UNPKG

paychangu-js

Version:

Paychangu JavaScript SDK for easy integration of payment services

42 lines (41 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.debounce = exports.retry = exports.validateUrl = exports.formatAmount = exports.generateTxRef = void 0; function generateTxRef() { return 'TX' + Math.random().toString(36).substr(2, 9).toUpperCase(); } exports.generateTxRef = generateTxRef; function formatAmount(amount) { return amount.toFixed(2); } exports.formatAmount = formatAmount; function validateUrl(url) { try { new URL(url); return true; } catch (_a) { return false; } } exports.validateUrl = validateUrl; function retry(fn, maxRetries = 3, delay = 1000) { return fn().catch((error) => { if (maxRetries === 0) { throw error; } return new Promise((resolve) => setTimeout(resolve, delay)) .then(() => retry(fn, maxRetries - 1, delay)); }); } exports.retry = retry; function debounce(func, waitFor) { let timeout = null; return (...args) => { if (timeout !== null) { clearTimeout(timeout); } timeout = setTimeout(() => func(...args), waitFor); }; } exports.debounce = debounce;