UNPKG

autoft-qris

Version:

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

62 lines (53 loc) 1.84 kB
const QRISGeneratorTheme1 = require('./qr-generator.cjs'); const QRISGeneratorTheme2 = require('./qr-generator2.cjs'); const PaymentChecker = require('./payment-checker.cjs'); const ReceiptGenerator = require('./receipt-generator.cjs'); const DeprecationWarning = require('./deprecation-warning.cjs'); // Show non-blocking deprecation/update notice in non-production environments try { DeprecationWarning.checkAndShowWarning(); } catch (_) {} 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' } ]; } } module.exports = { QRISGenerator, QRISGeneratorTheme1, QRISGeneratorTheme2, PaymentChecker, ReceiptGenerator, default: QRISGenerator };