bpac-js
Version:
High level API for interacting with the Brother BPAC SDK
1,333 lines (1,328 loc) • 66.4 kB
JavaScript
var __typeError = (msg) => {
throw TypeError(msg);
};
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
// src/types.ts
var PrintOptionFlag = /* @__PURE__ */ ((PrintOptionFlag2) => {
PrintOptionFlag2[PrintOptionFlag2["autoCut"] = 1] = "autoCut";
PrintOptionFlag2[PrintOptionFlag2["cutPause"] = 1] = "cutPause";
PrintOptionFlag2[PrintOptionFlag2["cutMark"] = 2] = "cutMark";
PrintOptionFlag2[PrintOptionFlag2["halfCut"] = 512] = "halfCut";
PrintOptionFlag2[PrintOptionFlag2["chainPrint"] = 1024] = "chainPrint";
PrintOptionFlag2[PrintOptionFlag2["tailCut"] = 2048] = "tailCut";
PrintOptionFlag2[PrintOptionFlag2["specialTape"] = 524288] = "specialTape";
PrintOptionFlag2[PrintOptionFlag2["cutAtEnd"] = 67108864] = "cutAtEnd";
PrintOptionFlag2[PrintOptionFlag2["noCut"] = 268435456] = "noCut";
PrintOptionFlag2[PrintOptionFlag2["mirroring"] = 4] = "mirroring";
PrintOptionFlag2[PrintOptionFlag2["quality"] = 65536] = "quality";
PrintOptionFlag2[PrintOptionFlag2["highSpeed"] = 16777216] = "highSpeed";
PrintOptionFlag2[PrintOptionFlag2["highResolution"] = 33554432] = "highResolution";
PrintOptionFlag2[PrintOptionFlag2["color"] = 8] = "color";
PrintOptionFlag2[PrintOptionFlag2["mono"] = 268435456] = "mono";
return PrintOptionFlag2;
})(PrintOptionFlag || {});
// src/helpers.ts
var normalizePath = (pathStr) => {
let normalized = pathStr.replace(/\\/g, "/");
normalized = normalized.replace(/\/\/+/g, "/");
if (normalized !== "/" && normalized.endsWith("/")) {
normalized = normalized.slice(0, -1);
}
return normalized;
};
var getAbsolutePath = (basePath, filePathOrFileName) => {
if (!filePathOrFileName) {
throw new Error("File path or file name cannot be empty.");
}
if (filePathOrFileName.startsWith("/") || /^[a-zA-Z]:\\/.test(filePathOrFileName)) {
return normalizePath(filePathOrFileName);
}
if (!basePath) {
throw new Error("Please set basePath or provide the full path.");
}
const normalizedBasePath = normalizePath(basePath);
const ensuredBasePath = normalizedBasePath.endsWith("/") || normalizedBasePath.endsWith("\\") ? normalizedBasePath : normalizedBasePath + "/";
const absolutePath = ensuredBasePath + filePathOrFileName;
return normalizePath(absolutePath);
};
var getExportType = (fileExt) => {
switch (fileExt) {
case ".lbx":
return 1;
case ".lbl":
return 2;
case ".lbi":
return 3;
case ".bmp":
return 4;
case ".paf":
return 5;
default:
throw new BpacError(`Invalid extension. Expected ".lbx, .lbl, .lbi, .bmp, .paf". Received: ${fileExt}.`, `getExportType(${fileExt})`);
}
};
var getStartPrintOptions = (options) => {
let combinedHex = 0;
Object.entries(options).forEach(([key, value]) => {
if (value === true && PrintOptionFlag[key] !== void 0) {
combinedHex |= PrintOptionFlag[key];
}
});
return combinedHex;
};
var getFileExtension = (filePathOrFileName) => {
if (typeof filePathOrFileName !== "string" || !filePathOrFileName.trim()) {
throw new Error("filePathOrFileName must be a non-empty string.");
}
const baseName = filePathOrFileName.split(/[\\/]/).pop() || "";
const lastDotIdx = baseName.lastIndexOf(".");
if (lastDotIdx <= 0 || lastDotIdx === baseName.length - 1) {
throw new Error("No file extension found.");
}
const extension = baseName.slice(lastDotIdx).toLowerCase();
return extension;
};
var BpacError = class extends Error {
constructor(message, context) {
super(message);
this.name = "BpacError";
this.context = context;
}
};
var handleVendorError = (error, context) => {
let message = `An unexpected error occurred in ${context}.`;
if (typeof error === "string") {
if (error.includes("Can't connect to b-PAC")) {
message = "Cannot connect to b-PAC. Ensure the Brother printer service is running and the printer is connected.";
} else {
message = `b-PAC error: ${error}`;
}
}
if (error instanceof Error && error.message) {
message = error.message.includes("Can't connect to b-PAC") ? "Cannot connect to b-PAC. Ensure the Brother printer service is running and the printer is connected." : error.message;
}
throw new BpacError(message, context);
};
var assertSameOrigin = (templatePath) => {
try {
const url = new URL(templatePath);
const sameOrigin = url.protocol === window.location.protocol && url.hostname === window.location.hostname && (url.port || "") === (window.location.port || "");
if (!sameOrigin) {
console.warn(`Cross-origin templatePath blocked: "${templatePath}". Remote template URLs must be hosted on the same origin to avoid CORS issues.`);
}
} catch {
return;
}
};
// src/vendor/bpac-3.4.014.js
var n = n || {};
n.appendMessage = (n2) => {
const t2 = new CustomEvent("bpac_send", { detail: n2 });
document.dispatchEvent(t2);
};
var t = "Can't connect to b-PAC";
var IObject = class {
constructor(n2) {
this.p_ = n2;
}
GetAttribute(i) {
const r = "IObject::GetAttribute", u = { method: r, p: this.p_, kind: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : f2.detail.ret == false ? n2() : n2(f2.detail.attribute);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
GetData(i) {
const r = "IObject::GetData", u = { method: r, p: this.p_, kind: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : f2.detail.ret == false ? n2() : n2(f2.detail.data);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
GetFontBold() {
const i = "IObject::GetFontBold", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.connect == false ? r2(t) : n2(f.detail.ret);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetFontEffect() {
const i = "IObject::GetFontEffect", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.effect);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetFontItalics() {
const i = "IObject::GetFontItalics", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.connect == false ? r2(t) : n2(f.detail.ret);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetFontMaxPoint() {
const i = "IObject::GetFontMaxPoint", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.point);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetFontName() {
const i = "IObject::GetFontName", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.name);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetFontStrikeout() {
const i = "IObject::GetFontStrikeout", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.connect == false ? r2(t) : n2(f.detail.ret);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetFontUnderline() {
const i = "IObject::GetFontUnderline", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.connect == false ? r2(t) : n2(f.detail.ret);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
SetAlign(i, r) {
const u = "IObject::SetAlign", f = { method: u, p: this.p_, horizontal: i, vertical: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
SetAttribute(i, r) {
const u = "IObject::SetAttribute", f = { method: u, p: this.p_, kind: i, attribute: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
SetData(i, r, u) {
let e;
const o = Object.prototype.toString.call(r).slice(8, -1);
e = o === "Date" ? r.getTime() / 1e3 : r;
const f = "IObject::SetData", s = { method: f, p: this.p_, kind: i, data: e, param: u }, h = new Promise((n2, i2) => {
const r2 = (u2) => {
document.removeEventListener(f, r2), u2.detail.connect == false ? i2(t) : n2(u2.detail.ret);
};
document.addEventListener(f, r2);
});
return n.appendMessage(s), h;
}
SetFontBold(i) {
const r = "IObject::SetFontBold", u = { method: r, p: this.p_, bold: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
SetFontEffect(i) {
const r = "IObject::SetFontEffect", u = { method: r, p: this.p_, effect: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
SetFontItalics(i) {
const r = "IObject::SetFontItalics", u = { method: r, p: this.p_, italics: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
SetFontMaxPoint(i) {
const r = "IObject::SetFontMaxPoint", u = { method: r, p: this.p_, point: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
SetFontName(i) {
const r = "IObject::SetFontName", u = { method: r, p: this.p_, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
SetFontStrikeout(i) {
const r = "IObject::SetFontStrikeout", u = { method: r, p: this.p_, strikeout: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
SetFontUnderline(i) {
const r = "IObject::SetFontUnderline", u = { method: r, p: this.p_, underline: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
SetPosition(i, r, u, f) {
const e = "IObject::SetPosition", o = { method: e, p: this.p_, x: i, y: r, width: u, height: f }, s = new Promise((n2, i2) => {
const r2 = (u2) => {
document.removeEventListener(e, r2), u2.detail.connect == false ? i2(t) : n2(u2.detail.ret);
};
document.addEventListener(e, r2);
});
return n.appendMessage(o), s;
}
SetSelection(i, r) {
const u = "IObject::SetPosition", f = { method: u, p: this.p_, start: i, end: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
get Height() {
const i = "IObject::GetHeight", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.height);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set Height(t2) {
const i = { method: "IObject::SetHeight", p: this.p_, height: t2 };
n.appendMessage(i);
}
get HorizontalAlign() {
const i = "IObject::GetHorizontalAlign", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.align);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set HorizontalAlign(t2) {
const i = { method: "IObject::SetHorizontalAlign", p: this.p_, align: t2 };
n.appendMessage(i);
}
get Name() {
const i = "IObject::GetName", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.name);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set Name(t2) {
const i = { method: "IObject::SetName", p: this.p_, name: t2 };
n.appendMessage(i);
}
get Orientation() {
const i = "IObject::GetOrientation", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.orientation);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set Orientation(t2) {
const i = { method: "IObject::SetOrientation", p: this.p_, orientation: t2 };
n.appendMessage(i);
}
get SelectionEnd() {
const i = "IObject::GetSelectionEnd", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.selection);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set SelectionEnd(t2) {
const i = { method: "IObject::SetSelectionEnd", p: this.p_, selection: t2 };
n.appendMessage(i);
}
get SelectionStart() {
const i = "IObject::GetSelectionStart", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.selection);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set SelectionStart(t2) {
const i = {
method: "IObject::SetSelectionStart",
p: this.p_,
selection: t2
};
n.appendMessage(i);
}
get Text() {
const i = "IObject::GetText", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.text);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set Text(t2) {
const i = { method: "IObject::SetText", p: this.p_, text: t2 };
n.appendMessage(i);
}
get Type() {
const i = "IObject::GetType", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.type);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
get VerticalAlign() {
const i = "IObject::GetVerticalAlign", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.align);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set VerticalAlign(t2) {
const i = { method: "IObject::SetVerticalAlign", p: this.p_, align: t2 };
n.appendMessage(i);
}
get Width() {
const i = "IObject::GetWidth", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.width);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set Width(t2) {
const i = { method: "IObject::SetWidth", p: this.p_, width: t2 };
n.appendMessage(i);
}
get X() {
const i = "IObject::GetX", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.X);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set X(t2) {
const i = { method: "IObject::SetX", p: this.p_, X: t2 };
n.appendMessage(i);
}
get Y() {
const i = "IObject::GetY", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.Y);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
set Y(t2) {
const i = { method: "IObject::SetY", p: this.p_, Y: t2 };
n.appendMessage(i);
}
};
var IObjects = class {
constructor(n2) {
this.p_ = n2;
}
GetItem(i) {
const r = "IObjects::GetItem", u = { method: r, p: this.p_, index: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
if (document.removeEventListener(r, u2), f2.detail.connect == false)
i2(t);
else if (f2.detail.ret == false) n2();
else if (f2.detail.p >= 0) {
const t2 = new IObject(f2.detail.p);
n2(t2);
} else i2();
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
GetCount() {
const i = "IObjects::GetCount", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.count);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetIndex(i) {
const r = "IObjects::GetIndex", u = { method: r, p: this.p_, obj: i.p_ }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : f2.detail.ret == false ? n2() : n2(f2.detail.index);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
GetIndexByName(i, r) {
const u = "IObjects::GetIndexByName", f = { method: u, p: this.p_, name: i, indexBgn: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : f2.detail.ret == false ? n2() : n2(f2.detail.index);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
Insert(i, r, u, f, e, o, s) {
const h = "IObjects::Insert", c = {
method: h,
p: this.p_,
index: i,
type: r,
X: u,
Y: f,
width: e,
height: o,
option: s
}, l = new Promise((n2, i2) => {
const r2 = (u2) => {
if (document.removeEventListener(h, r2), u2.detail.connect == false)
i2(t);
else if (u2.detail.ret == false) n2();
else if (u2.detail.p >= 0) {
const t2 = new IObject(u2.detail.p);
n2(t2);
} else i2();
};
document.addEventListener(h, r2);
});
return n.appendMessage(c), l;
}
Remove(i) {
const r = "IObjects::Remove", u = { method: r, p: this.p_, index: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
get Count() {
return this.GetCount();
}
};
var IPrinter = class {
constructor(n2) {
this.p_ = n2;
}
GetInstalledPrinters() {
const i = "IPrinter::GetInstalledPrinters", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.printers);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetMediaId() {
const i = "IPrinter::GetMediaId", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.id);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetMediaName() {
const i = "IPrinter::GetMediaName", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.name);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetPrintedTapeLength() {
const i = "IPrinter::GetPrintedTapeLength", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.length);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetSupportedMediaIds() {
const i = "IPrinter::GetSupportedMediaIds", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.mediaIds);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
GetSupportedMediaNames() {
const i = "IPrinter::GetSupportedMediaNames", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.mediaNames);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
IsMediaIdSupported(i) {
const r = "IPrinter::IsMediaIdSupported", u = { method: r, p: this.p_, id: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
IsMediaNameSupported(i) {
const r = "IPrinter::IsMediaNameSupported", u = { method: r, p: this.p_, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
IsPrinterOnline(i) {
const r = "IPrinter::IsPrinterOnline", u = { method: r, p: this.p_, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
IsPrinterSupported(i) {
const r = "IPrinter::IsPrinterSupported", u = { method: r, p: this.p_, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
get ErrorCode() {
const i = "IPrinter::GetErrorCode", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.errorCode);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
get ErrorString() {
const i = "IPrinter::GetErrorString", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.errorString);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
get Name() {
const i = "IPrinter::GetName", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.name);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
get PortName() {
const i = "IPrinter::GetPortName", r = { method: i, p: this.p_ }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.port);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
};
var IDocument = class _IDocument {
static get Width() {
return _IDocument.GetWidth();
}
static get Length() {
return _IDocument.GetLength();
}
static set Length(n2) {
_IDocument.SetLength(n2);
}
static get CurrentSheet() {
return _IDocument.GetCurrentSheet();
}
static set CurrentSheet(n2) {
_IDocument.SetCurrentSheet(n2);
}
static get CutLineCount() {
return _IDocument.GetCutLineCount();
}
static get CutLines() {
return _IDocument.GetCutLines();
}
static get ErrorCode() {
return _IDocument.GetErrorCode();
}
static get MarginBottom() {
return _IDocument.GetMarginBottom();
}
static set MarginBottom(n2) {
return _IDocument.SetMarginBottom(n2);
}
static get MarginLeft() {
return _IDocument.GetMarginLeft();
}
static set MarginLeft(n2) {
return _IDocument.SetMarginLeft(n2);
}
static get MarginRight() {
return _IDocument.GetMarginRight();
}
static set MarginRight(n2) {
return _IDocument.SetMarginRight(n2);
}
static get MarginTop() {
return _IDocument.GetMarginTop();
}
static set MarginTop(n2) {
return _IDocument.SetMarginTop(n2);
}
static get Objects() {
return _IDocument.GetObjects();
}
static get Orientation() {
return _IDocument.GetOrientation();
}
static get Printer() {
return _IDocument.GetPrinter();
}
static get SheetNames() {
return _IDocument.GetSheetNames();
}
static Open(i) {
const r = "IDocument::Open", u = { method: r, filePath: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static DoPrint(i, r) {
const u = "IDocument::DoPrint", f = { method: u, dwOption: i, szOption: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static StartPrint(i, r) {
const u = "IDocument::StartPrint", f = { method: u, docName: i, option: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static PrintOut(i, r) {
const u = "IDocument::PrintOut", f = { method: u, copyCount: i, option: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static EndPrint() {
const i = "IDocument::EndPrint", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.connect == false ? r2(t) : n2(f.detail.ret);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetImageData(i, r, u) {
const f = "IDocument::GetImageData", e = { method: f, type: i, width: r, height: u }, o = new Promise((n2, i2) => {
const r2 = (u2) => {
document.removeEventListener(f, r2), u2.detail.ret == true && u2.detail.connect == true ? n2(u2.detail.image) : i2(t);
};
document.addEventListener(f, r2);
});
return n.appendMessage(e), o;
}
static GetObjectsCount() {
const i = "IDocument::GetObjectsCount", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == true && f.detail.connect == true ? n2(f.detail.count) : r2(t);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetIndexByName(i, r) {
const u = "IDocument::GetIndexByName", f = { method: u, name: i, indexBgn: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : f2.detail.ret == true ? n2(f2.detail.index) : n2();
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static GetObject(i) {
const r = "IDocument::GetObject", u = { method: r, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
if (document.removeEventListener(r, u2), f2.detail.connect == false)
i2(t);
else if (f2.detail.ret == false) n2();
else if (f2.detail.p >= 0) {
const t2 = new IObject(f2.detail.p);
n2(t2);
} else i2();
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetObjects(i) {
const r = "IDocument::GetObjects", u = { method: r, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
if (document.removeEventListener(r, u2), f2.detail.ret == false || f2.detail.connect == false)
i2(t);
else if (f2.detail.p >= 0) {
const t2 = new IObjects(f2.detail.p);
n2(t2);
} else i2();
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetBarcodeIndex(i) {
const r = "IDocument::GetBarcodeIndex", u = { method: r, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : f2.detail.ret == false ? n2() : n2(f2.detail.index);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetMediaId() {
const i = "IDocument::GetMediaId", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.id);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetMediaName() {
const i = "IDocument::GetMediaName", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.name);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetPrinterName() {
const i = "IDocument::GetPrinterName", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.name);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetText(i) {
const r = "IDocument::GetText", u = { method: r, index: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.ret == false || f2.detail.connect == false ? i2(t) : n2(f2.detail.text);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetTextCount() {
const i = "IDocument::GetTextCount", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.count);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetTextIndex(i) {
const r = "IDocument::GetTextIndex", u = { method: r, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : f2.detail.ret == false ? n2() : n2(f2.detail.index);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetPrinter() {
const i = "IDocument::GetPrinter", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
if (document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false)
r2(t);
else if (f.detail.p >= 0) {
const t2 = new IPrinter(f.detail.p);
n2(t2);
} else r2();
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static SetText(i, r) {
const u = "IDocument::SetText", f = { method: u, index: i, text: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static SetBarcodeData(i, r) {
const u = "IDocument::SetBarcodeData", f = { method: u, index: i, text: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static SetMarginLeftRight(i, r) {
const u = "IDocument::SetMarginLeftRight", f = { method: u, left: i, right: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static SetMediaById(i, r) {
const u = "IDocument::SetMediaById", f = { method: u, id: i, fit: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static SetMediaByName(i, r) {
const u = "IDocument::SetMediaByName", f = { method: u, name: i, fit: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static SetPrinter(i, r) {
const u = "IDocument::SetPrinter", f = { method: u, name: i, fit: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static GetCurrentSheet() {
const i = "IDocument::GetCurrentSheet", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.name);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static SetCurrentSheet(i) {
const r = "IDocument::SetCurrentSheet", u = { method: r, name: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetCutLineCount() {
const i = "IDocument::GetCutLineCount", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.count);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetCutLines() {
const i = "IDocument::GetCutLines", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.connect == false ? r2(t) : f.detail.ret == false ? n2() : n2(f.detail.cutlines);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetErrorCode() {
const i = "IDocument::GetErrorCode", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.errorCode);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetMarginBottom() {
const i = "IDocument::GetMarginBottom", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.margin);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static SetMarginBottom(i) {
const r = "IDocument::SetMarginBottom", u = { method: r, margin: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetMarginLeft() {
const i = "IDocument::GetMarginLeft", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.margin);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static SetMarginLeft(i) {
const r = "IDocument::SetMarginLeft", u = { method: r, margin: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetMarginRight() {
const i = "IDocument::GetMarginRight", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.margin);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static SetMarginRight(i) {
const r = "IDocument::SetMarginRight", u = { method: r, margin: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetMarginTop() {
const i = "IDocument::GetMarginTop", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.margin);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static SetMarginTop(i) {
const r = "IDocument::SetMarginTop", u = { method: r, margin: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false || f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static GetOrientation() {
const i = "IDocument::GetOrientation", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.orientation);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetSheetNames() {
const i = "IDocument::GetSheetNames", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.names);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetWidth() {
const i = "IDocument::GetWidth", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.width);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static GetLength() {
const i = "IDocument::GetLength", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.ret == false || f.detail.connect == false ? r2(t) : n2(f.detail.length);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static SetLength(i) {
const r = "IDocument::SetLength", u = { method: r, length: i }, f = new Promise((n2, i2) => {
const u2 = (f2) => {
document.removeEventListener(r, u2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(r, u2);
});
return n.appendMessage(u), f;
}
static Save() {
const i = "IDocument::Save", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.connect == false ? r2(t) : n2(f.detail.ret);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
static SaveAs(i, r) {
const u = "IDocument::SaveAs", f = { method: u, type: i, filePath: r }, e = new Promise((n2, i2) => {
const r2 = (f2) => {
document.removeEventListener(u, r2), f2.detail.connect == false ? i2(t) : n2(f2.detail.ret);
};
document.addEventListener(u, r2);
});
return n.appendMessage(f), e;
}
static Export(i, r, u) {
const f = "IDocument::Export", e = { method: f, type: i, filePath: r, dpi: u }, o = new Promise((n2, i2) => {
const r2 = (u2) => {
document.removeEventListener(f, r2), u2.detail.connect == false ? i2(t) : n2(u2.detail.ret);
};
document.addEventListener(f, r2);
});
return n.appendMessage(e), o;
}
static Close() {
const i = "IDocument::Close", r = { method: i }, u = new Promise((n2, r2) => {
const u2 = (f) => {
document.removeEventListener(i, u2), f.detail.connect == false ? r2(t) : n2(f.detail.ret);
};
document.addEventListener(i, u2);
});
return n.appendMessage(r), u;
}
};
// src/adapter.ts
var Doc = IDocument;
var openTemplate = async (path) => {
if (!path || typeof path !== "string" || path.trim() === "") {
throw new Error("Template path must be a non-empty string.");
}
try {
const isOpen = await Doc.Open(path);
if (!isOpen) {
throw new Error(
`Failed to open the template at ${path}. Please ensure the file exists, is accessible, and is served from the same origin to avoid CORS issues.`
);
}
} catch (error) {
handleVendorError(error, `openTemplate(path=${path})`);
}
};
var setPrinter = async (printerName, fitPage) => {
try {
if (!printerName) {
throw new Error("Printer name is undefined.");
}
if (typeof fitPage !== "boolean") {
throw new TypeError("fitPage must be a typeof Boolean");
}
const fitPageVariant = fitPage ? -1 : 0;
const isSet = await Doc.SetPrinter(printerName, fitPageVariant);
if (!isSet) {
throw new Error("Failed to set printer.");
}
} catch (error) {
await closeTemplate();
handleVendorError(error, `setPrinter(printerName=${printerName}, fitPage=${fitPage})`);
}
};
var printerStatus = async () => {
try {
const printer = await Doc.GetPrinter();
if (printer) {
const printerName = await printer.Name;
return {
printerName,
online: await printer.IsPrinterOnline(printerName),
supported: await printer.IsPrinterSupported(printerName),
errorCode: await printer.ErrorCode,
errorString: await printer.ErrorString,
currentMedia: await printer.GetMediaName(),
supportedMedia: await printer.GetSupportedMediaNames()
};
}
return {
printerName: null,
online: null,
supported: null,
errorCode: null,
errorString: "Printer object not found.",
currentMedia: null,
supportedMedia: null
};
} catch (error) {
let errorMessage = "Error retrieving printer status.";
if (error instanceof Error && error.message) {
errorMessage += ` Details: ${error.message}`;
}
const errorStatus = {
printerName: null,
online: null,
supported: null,
errorCode: null,
errorString: errorMessage,
currentMedia: null,
supportedMedia: null
};
return errorStatus;
}
};
var closeTemplate = async () => {
try {
const isClosed = await Doc.Close();
if (!isClosed) {
throw new Error("Failed to close the template file.");
}
} catch (error) {
handleVendorError(error, "closeTemplate()");
}
};
var startPrint = async (printName, bitmask) => {
if (typeof printName !== "string" || printName.trim() === "") {
throw new TypeError("printName must be a non-empty string.");
}
if (typeof bitmask !== "number") {
throw new TypeError("bitmask must be a number.");
}
try {
const isStarted = await Doc.StartPrint(printName, bitmask);
if (!isStarted) {
throw new Error("Failed to start the print process.");
}
} catch (error) {
await closeTemplate();
handleVendorError(error, `startPrint(printName=${printName}, bitmask=${bitmask})`);
}
};
var printOut = async (copies) => {
try {
let parsed = Number(copies);
if (!Number.isInteger(parsed) || parsed <= 0) {
throw new Error(
`Failed to print: invalid "copies" value. Expected a positive integer, but received ${copies} (type: ${typeof copies}).`
);
}
const isPrinted = await Doc.PrintOut(parsed, 0);
if (!isPrinted) {
throw new Error("Failed to print, please verify the printer name is correct for the template.");
}
} catch (error) {
await closeTemplate();
handleVendorError(error, `printOut(copies=${copies})`);
}
};
var endPrint = async () => {
try {
const isEnded = await Doc.EndPrint();
if (!isEnded) {
throw new Error("Bpac has failed to end the print process. Attempting to close template.");
}
} catch (error) {
await closeTemplate();
handleVendorError(error, "endPrint()");
}
};
var imageData = async (width, height) => {
try {
const data = await Doc.GetImageData(4, width, height);
if (data === null || data === void 0) {
throw new Error("Doc.GetImageData returned null or undefined.");
}
return data.toString();
} catch (error) {
return handleVendorError(error, `imageData(width=${width}, height=${height})`);
}