Exemple d’utilisation

export class KioskComponent {
    constructor(
        private readonly tpaManager: TpaManager,
        private readonly escposManager: EscposManager,
    )

    public async telecollecte() {
        try {

            const telecollecte = await this.tpaManager.telecollecteLaunch();
            const printables: PrintTextRequest[] = this.tpaManager.parseTickets(telecollecte.printableRaw);
            await this.escposManager.printTexts(printables);

        } catch(e){
            // TODO : handle error
            console.error(e);
        }
    }

    public async pay(amount: number, currency: string='XPF') {
        try {
            const solvabilite = await this.tpaManager.solvabilite(amount, currency);
            if (!solvabilite.result.isSuccess) {
                //if failure has generated printables, print them
                if (solvabilite.printableRaw.length) {
                    const tickets = this.tpaManager.parseTickets(solvabilite.printableRaw);
                    const printables = this.tpaManager.toPrintTextRequest(tickets);
                    await this.escposManager.printTexts(printables);
                }
                return;
            }
            const saveTx = await this.tpaManager.savetransaction(amount, currency);
            if (!saveTx.result.isSuccess) {
                // TODO : handle error
                console.error(saveTx);
                return;
            }

            const printables: PrintTextRequest[] = this.tpaManager.parseTickets(saveTx.printableRaw);
            await this.escposManager.printTexts(printables);

        } catch(e){
            // TODO : handle error
            console.error(e);
        }
    }
}