UNPKG

ng-thermal-print

Version:

An angular module to add thermal printing capabilities.

92 lines 9.46 kB
import { PrintBuilder } from './PrintBuilder'; import { PrintBuffer } from "./PrintBuffer"; const ESC = 0x1b; const GS = 0x1D; export class EscBuilder extends PrintBuilder { constructor() { super(); this.encoder = new TextEncoder(); } init() { this.buffer = new PrintBuffer(); this.write(ESC); this.write("@"); return this; } flush() { return this.buffer.flush(); } feed(lineCount = 1) { this.write(ESC); this.write("d"); this.write(lineCount); return this; } cut(cutType = 'full') { this.write(GS); this.write("V"); this.write(cutType === 'full' ? 1 : 0); return this; } writeLine(value) { return this.write(`${value}\n`); } setInverse(inverse = true) { this.write(GS); this.write("B"); this.write(inverse ? 1 : 0); return this; } setUnderline(value = true) { this.write(ESC); this.write("-"); this.write(value ? 1 : 0); return this; } setJustification(value = 'left') { let alignment; switch (value) { case "center": alignment = 1; break; case "right": alignment = 2; break; default: alignment = 0; break; } this.write(ESC); this.write("a"); this.write(alignment); return this; } setBold(bold = true) { this.write(ESC); this.write("E"); this.write(bold ? 1 : 0); return this; } /** @param mode 0, 0x30 */ setSize(size = 'normal') { this.write(ESC); this.write("!"); this.write((size === 'normal') ? 0 : 0x30); return this; } write(value) { if (typeof value === "number") { this.buffer.writeUInt8(value); } else if (typeof value === "string") { this.buffer.write(this.encoder.encode(value)); } else { this.buffer.write(value); } return this; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXNjQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRoZXJtYWwtcHJpbnQvc3JjL2xpYi9idWlsZGVycy9Fc2NCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztBQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFaEIsTUFBTSxPQUFPLFVBQVcsU0FBUSxZQUFZO0lBSXhDO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFKSixZQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUtwQyxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUs7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksQ0FBQyxZQUFvQixDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxHQUFHLENBQUMsVUFBa0IsTUFBTTtRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2YsSUFB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S0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJpbnRCdWlsZGVyIH0gZnJvbSAnLi9QcmludEJ1aWxkZXInO1xuaW1wb3J0IHsgUHJpbnRCdWZmZXIgfSBmcm9tIFwiLi9QcmludEJ1ZmZlclwiO1xuZGVjbGFyZSB2YXIgVGV4dEVuY29kZXI6IGFueTtcblxuY29uc3QgRVNDID0gMHgxYjtcbmNvbnN0IEdTID0gMHgxRDtcblxuZXhwb3J0IGNsYXNzIEVzY0J1aWxkZXIgZXh0ZW5kcyBQcmludEJ1aWxkZXIge1xuICAgIHByaXZhdGUgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICAgIHByaXZhdGUgYnVmZmVyOiBQcmludEJ1ZmZlcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXQoKTogRXNjQnVpbGRlciB7XG4gICAgICAgIHRoaXMuYnVmZmVyID0gbmV3IFByaW50QnVmZmVyKCk7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgdGhpcy53cml0ZShcIkBcIik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGZsdXNoKCk6IFVpbnQ4QXJyYXkge1xuICAgICAgICByZXR1cm4gdGhpcy5idWZmZXIuZmx1c2goKTtcbiAgICB9XG5cbiAgICBmZWVkKGxpbmVDb3VudDogbnVtYmVyID0gMSk6IEVzY0J1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCJkXCIpO1xuICAgICAgICB0aGlzLndyaXRlKGxpbmVDb3VudCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGN1dChjdXRUeXBlOiBzdHJpbmcgPSAnZnVsbCcpOiBFc2NCdWlsZGVyIHtcbiAgICAgICAgdGhpcy53cml0ZShHUyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCJWXCIpO1xuICAgICAgICB0aGlzLndyaXRlKGN1dFR5cGUgPT09ICdmdWxsJyA/IDEgOiAwKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB3cml0ZUxpbmUodmFsdWU6IHN0cmluZyk6IEVzY0J1aWxkZXIge1xuICAgICAgICByZXR1cm4gdGhpcy53cml0ZShgJHt2YWx1ZX1cXG5gKTtcbiAgICB9XG5cbiAgICBzZXRJbnZlcnNlKGludmVyc2U6IGJvb2xlYW4gPSB0cnVlKTogRXNjQnVpbGRlciB7XG4gICAgICAgIHRoaXMud3JpdGUoR1MpO1xuICAgICAgICB0aGlzLndyaXRlKFwiQlwiKTtcbiAgICAgICAgdGhpcy53cml0ZShpbnZlcnNlID8gMSA6IDApO1xuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHNldFVuZGVybGluZSh2YWx1ZTogYm9vbGVhbiA9IHRydWUpOiBFc2NCdWlsZGVyIHtcbiAgICAgICAgdGhpcy53cml0ZShFU0MpO1xuICAgICAgICB0aGlzLndyaXRlKFwiLVwiKTtcbiAgICAgICAgdGhpcy53cml0ZSh2YWx1ZSA/IDEgOiAwKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgc2V0SnVzdGlmaWNhdGlvbih2YWx1ZTogc3RyaW5nID0gJ2xlZnQnKTogRXNjQnVpbGRlciB7XG4gICAgICAgIGxldCBhbGlnbm1lbnQ7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJjZW50ZXJcIjpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAxXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwicmlnaHRcIjpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgdGhpcy53cml0ZShcImFcIik7XG4gICAgICAgIHRoaXMud3JpdGUoYWxpZ25tZW50KTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRCb2xkKGJvbGQ6IGJvb2xlYW4gPSB0cnVlKTogRXNjQnVpbGRlciB7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgdGhpcy53cml0ZShcIkVcIik7XG4gICAgICAgIHRoaXMud3JpdGUoYm9sZCA/IDEgOiAwKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICBAcGFyYW0gbW9kZSAwLCAweDMwXG4gICAgKi9cbiAgICBzZXRTaXplKHNpemU6IHN0cmluZyA9ICdub3JtYWwnKTogRXNjQnVpbGRlciB7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgdGhpcy53cml0ZShcIiFcIik7XG4gICAgICAgIHRoaXMud3JpdGUoKHNpemUgPT09ICdub3JtYWwnKSA/IDAgOiAweDMwKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlKHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5IHwgbnVtYmVyKTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgdGhpcy5idWZmZXIud3JpdGVVSW50OCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci53cml0ZSh0aGlzLmVuY29kZXIuZW5jb2RlKHZhbHVlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci53cml0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufSJdfQ==