UNPKG

autoft-qris

Version:

Package untuk generate QRIS dengan 2 tema (Biru & Hijau) dan cek payment status secara realtime dengan API OrderKuota

62 lines (52 loc) 1.7 kB
import QRISGeneratorTheme1 from './qr-generator.mjs'; import QRISGeneratorTheme2 from './qr-generator2.mjs'; import PaymentChecker from './payment-checker.mjs'; import ReceiptGenerator from './receipt-generator.mjs'; import { checkAndShowWarning } from './deprecation-warning.mjs'; await checkAndShowWarning(); class QRISGenerator { constructor(config, theme = 'theme1') { this.theme = theme; if (theme === 'theme2') { this.generator = new QRISGeneratorTheme2(config); } else { this.generator = new QRISGeneratorTheme1(config); } } async generateQRWithLogo(qrString) { return await this.generator.generateQRWithLogo(qrString); } generateQrString(amount) { return this.generator.generateQrString(amount); } calculateCRC16(str) { return this.generator.calculateCRC16(str); } setTheme(theme) { if (theme !== this.theme) { this.theme = theme; if (theme === 'theme2') { this.generator = new QRISGeneratorTheme2(this.generator.config); } else { this.generator = new QRISGeneratorTheme1(this.generator.config); } } } getCurrentTheme() { return this.theme; } static getAvailableThemes() { return [ { id: 'theme1', name: 'Tema (Default)', description: 'QRIS default' }, { id: 'theme2', name: 'Tema Dengan style Meta', description: 'QRIS dengan aksen style meta' } ]; } } export { QRISGenerator, QRISGeneratorTheme1, QRISGeneratorTheme2, PaymentChecker, ReceiptGenerator }; export default QRISGenerator;