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
JavaScript
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;