UNPKG

ng-thermal-print

Version:

An angular module to add thermal printing capabilities.

89 lines 9.73 kB
import { PrintBuilder } from './PrintBuilder'; import { PrintBuffer } from "./PrintBuffer"; const ESC = 0x1b; const GS = 0x1D; export class StarPrintBuilder 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("a"); this.write(lineCount); return this; } cut(cutType = 'full') { this.write(ESC); this.write("d"); this.write(cutType === 'full' ? 2 : 3); return this; } writeLine(value) { return this.write(`${value}\n`); } setInverse(inverse = true) { this.write(ESC); (inverse) ? this.write("4") : this.write("5"); return this; } setUnderline(underline = true) { this.write(ESC); this.write("-"); this.write(underline ? 1 : 0); return this; } setJustification(value) { let alignment; switch (value) { case "center": alignment = 1; break; case "right": alignment = 2; break; default: alignment = 0; break; } this.write(ESC); this.write(GS); this.write("a"); this.write(alignment); return this; } setBold(bold = true) { this.write(ESC); (bold) ? this.write("E") : this.write("F"); return this; } setSize(size) { this.write(ESC); this.write("i"); this.write((size === 'normal') ? 0 : 1); this.write((size === 'normal') ? 0 : 1); 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhclByaW50QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRoZXJtYWwtcHJpbnQvc3JjL2xpYi9idWlsZGVycy9TdGFyUHJpbnRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztBQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFaEIsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7SUFJOUM7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUpKLFlBQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBS3BDLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxDQUFDLFlBQW9CLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxVQUFrQixNQUFNO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFD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O1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJpbnRCdWlsZGVyIH0gZnJvbSAnLi9QcmludEJ1aWxkZXInO1xuaW1wb3J0IHsgUHJpbnRCdWZmZXIgfSBmcm9tIFwiLi9QcmludEJ1ZmZlclwiO1xuZGVjbGFyZSB2YXIgVGV4dEVuY29kZXI6IGFueTtcblxuY29uc3QgRVNDID0gMHgxYjtcbmNvbnN0IEdTID0gMHgxRDtcblxuZXhwb3J0IGNsYXNzIFN0YXJQcmludEJ1aWxkZXIgZXh0ZW5kcyBQcmludEJ1aWxkZXIge1xuICAgIHByaXZhdGUgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICAgIHByaXZhdGUgYnVmZmVyOiBQcmludEJ1ZmZlcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXQoKTogU3RhclByaW50QnVpbGRlciB7XG4gICAgICAgIHRoaXMuYnVmZmVyID0gbmV3IFByaW50QnVmZmVyKCk7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgdGhpcy53cml0ZShcIkBcIik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGZsdXNoKCk6IFVpbnQ4QXJyYXkge1xuICAgICAgICByZXR1cm4gdGhpcy5idWZmZXIuZmx1c2goKTtcbiAgICB9XG5cbiAgICBmZWVkKGxpbmVDb3VudDogbnVtYmVyID0gMSk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCJhXCIpO1xuICAgICAgICB0aGlzLndyaXRlKGxpbmVDb3VudCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgY3V0KGN1dFR5cGU6IHN0cmluZyA9ICdmdWxsJyk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCJkXCIpO1xuICAgICAgICB0aGlzLndyaXRlKGN1dFR5cGUgPT09ICdmdWxsJyA/IDIgOiAzKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB3cml0ZUxpbmUodmFsdWU6IHN0cmluZyk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICByZXR1cm4gdGhpcy53cml0ZShgJHt2YWx1ZX1cXG5gKTtcbiAgICB9XG5cbiAgICBzZXRJbnZlcnNlKGludmVyc2U6IGJvb2xlYW4gPSB0cnVlKTogU3RhclByaW50QnVpbGRlciB7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgKGludmVyc2UpID8gdGhpcy53cml0ZShcIjRcIikgOiB0aGlzLndyaXRlKFwiNVwiKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRVbmRlcmxpbmUodW5kZXJsaW5lOiBib29sZWFuID0gdHJ1ZSk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCItXCIpO1xuICAgICAgICB0aGlzLndyaXRlKHVuZGVybGluZSA/IDEgOiAwKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgc2V0SnVzdGlmaWNhdGlvbih2YWx1ZTogc3RyaW5nKTogU3RhclByaW50QnVpbGRlciB7XG4gICAgICAgIGxldCBhbGlnbm1lbnQ7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJjZW50ZXJcIjpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAxXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwicmlnaHRcIjpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53cml0ZShFU0MpO1xuICAgICAgICB0aGlzLndyaXRlKEdTKTtcbiAgICAgICAgdGhpcy53cml0ZShcImFcIik7XG4gICAgICAgIHRoaXMud3JpdGUoYWxpZ25tZW50KTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRCb2xkKGJvbGQ6IGJvb2xlYW4gPSB0cnVlKTogU3RhclByaW50QnVpbGRlciB7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgKGJvbGQpID8gdGhpcy53cml0ZShcIkVcIikgOiB0aGlzLndyaXRlKFwiRlwiKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRTaXplKHNpemU6IHN0cmluZyk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCJpXCIpO1xuICAgICAgICB0aGlzLndyaXRlKChzaXplID09PSAnbm9ybWFsJykgPyAwIDogMSk7XG4gICAgICAgIHRoaXMud3JpdGUoKHNpemUgPT09ICdub3JtYWwnKSA/IDAgOiAxKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlKHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5IHwgbnVtYmVyKTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgdGhpcy5idWZmZXIud3JpdGVVSW50OCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci53cml0ZSh0aGlzLmVuY29kZXIuZW5jb2RlKHZhbHVlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci53cml0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufSJdfQ==