UNPKG

bpac-js

Version:

High level API for interacting with the Brother BPAC SDK

2 lines (1 loc) 36.5 kB
var k=d=>{throw TypeError(d)};var f=(d,e,t)=>e.has(d)||k("Cannot "+t);var P=(d,e,t)=>(f(d,e,"read from private field"),t?t.call(d):e.get(d)),y=(d,e,t)=>e.has(d)?k("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(d):e.set(d,t),b=(d,e,t,r)=>(f(d,e,"write to private field"),r?r.call(d,t):e.set(d,t),t),_=(d,e,t)=>(f(d,e,"access private method"),t);var D=(p=>(p[p.autoCut=1]="autoCut",p[p.cutPause=1]="cutPause",p[p.cutMark=2]="cutMark",p[p.halfCut=512]="halfCut",p[p.chainPrint=1024]="chainPrint",p[p.tailCut=2048]="tailCut",p[p.specialTape=524288]="specialTape",p[p.cutAtEnd=67108864]="cutAtEnd",p[p.noCut=268435456]="noCut",p[p.mirroring=4]="mirroring",p[p.quality=65536]="quality",p[p.highSpeed=16777216]="highSpeed",p[p.highResolution=33554432]="highResolution",p[p.color=8]="color",p[p.mono=268435456]="mono",p))(D||{});var N=d=>{let e=d.replace(/\\/g,"/");return e=e.replace(/\/\/+/g,"/"),e!=="/"&&e.endsWith("/")&&(e=e.slice(0,-1)),e},$=(d,e)=>{if(!e)throw new Error("File path or file name cannot be empty.");if(e.startsWith("/")||/^[a-zA-Z]:\\/.test(e))return N(e);if(!d)throw new Error("Please set basePath or provide the full path.");let t=N(d),i=(t.endsWith("/")||t.endsWith("\\")?t:t+"/")+e;return N(i)},R=d=>{switch(d){case".lbx":return 1;case".lbl":return 2;case".lbi":return 3;case".bmp":return 4;case".paf":return 5;default:throw new Error(`Invalid extension. Expected ".lbx, .lbl, .lbi, .bmp, .paf". Received: ${d}.`)}},F=d=>{let e=0;return Object.entries(d).forEach(([t,r])=>{r===!0&&D[t]!==void 0&&(e|=D[t])}),e},W=d=>{if(typeof d!="string"||!d.trim())throw new Error("filePathOrFileName must be a non-empty string.");let e=d.split(/[\\/]/).pop()||"",t=e.lastIndexOf(".");if(t<=0||t===e.length-1)throw new Error("No file extension found.");return e.slice(t).toLowerCase()};var c=c||{};c.appendMessage=d=>{let e=new CustomEvent("bpac_send",{detail:d});document.dispatchEvent(e)};var m="Can't connect to b-PAC",S=class{constructor(e){this.p_=e}GetAttribute(e){let t="IObject::GetAttribute",r={method:t,p:this.p_,kind:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):a.detail.ret==!1?s():s(a.detail.attribute)};document.addEventListener(t,n)});return c.appendMessage(r),i}GetData(e){let t="IObject::GetData",r={method:t,p:this.p_,kind:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):a.detail.ret==!1?s():s(a.detail.data)};document.addEventListener(t,n)});return c.appendMessage(r),i}GetFontBold(){let e="IObject::GetFontBold",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.connect==!1?s(m):i(n.detail.ret)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetFontEffect(){let e="IObject::GetFontEffect",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.effect)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetFontItalics(){let e="IObject::GetFontItalics",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.connect==!1?s(m):i(n.detail.ret)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetFontMaxPoint(){let e="IObject::GetFontMaxPoint",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.point)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetFontName(){let e="IObject::GetFontName",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.name)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetFontStrikeout(){let e="IObject::GetFontStrikeout",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.connect==!1?s(m):i(n.detail.ret)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetFontUnderline(){let e="IObject::GetFontUnderline",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.connect==!1?s(m):i(n.detail.ret)};document.addEventListener(e,o)});return c.appendMessage(t),r}SetAlign(e,t){let r="IObject::SetAlign",i={method:r,p:this.p_,horizontal:e,vertical:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}SetAttribute(e,t){let r="IObject::SetAttribute",i={method:r,p:this.p_,kind:e,attribute:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}SetData(e,t,r){let i;i=Object.prototype.toString.call(t).slice(8,-1)==="Date"?t.getTime()/1e3:t;let o="IObject::SetData",n={method:o,p:this.p_,kind:e,data:i,param:r},a=new Promise((u,g)=>{let E=I=>{document.removeEventListener(o,E),I.detail.connect==!1?g(m):u(I.detail.ret)};document.addEventListener(o,E)});return c.appendMessage(n),a}SetFontBold(e){let t="IObject::SetFontBold",r={method:t,p:this.p_,bold:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}SetFontEffect(e){let t="IObject::SetFontEffect",r={method:t,p:this.p_,effect:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}SetFontItalics(e){let t="IObject::SetFontItalics",r={method:t,p:this.p_,italics:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}SetFontMaxPoint(e){let t="IObject::SetFontMaxPoint",r={method:t,p:this.p_,point:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}SetFontName(e){let t="IObject::SetFontName",r={method:t,p:this.p_,name:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}SetFontStrikeout(e){let t="IObject::SetFontStrikeout",r={method:t,p:this.p_,strikeout:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}SetFontUnderline(e){let t="IObject::SetFontUnderline",r={method:t,p:this.p_,underline:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}SetPosition(e,t,r,i){let s="IObject::SetPosition",o={method:s,p:this.p_,x:e,y:t,width:r,height:i},n=new Promise((a,u)=>{let g=E=>{document.removeEventListener(s,g),E.detail.connect==!1?u(m):a(E.detail.ret)};document.addEventListener(s,g)});return c.appendMessage(o),n}SetSelection(e,t){let r="IObject::SetPosition",i={method:r,p:this.p_,start:e,end:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}get Height(){let e="IObject::GetHeight",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.height)};document.addEventListener(e,o)});return c.appendMessage(t),r}set Height(e){let t={method:"IObject::SetHeight",p:this.p_,height:e};c.appendMessage(t)}get HorizontalAlign(){let e="IObject::GetHorizontalAlign",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.align)};document.addEventListener(e,o)});return c.appendMessage(t),r}set HorizontalAlign(e){let t={method:"IObject::SetHorizontalAlign",p:this.p_,align:e};c.appendMessage(t)}get Name(){let e="IObject::GetName",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.name)};document.addEventListener(e,o)});return c.appendMessage(t),r}set Name(e){let t={method:"IObject::SetName",p:this.p_,name:e};c.appendMessage(t)}get Orientation(){let e="IObject::GetOrientation",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.orientation)};document.addEventListener(e,o)});return c.appendMessage(t),r}set Orientation(e){let t={method:"IObject::SetOrientation",p:this.p_,orientation:e};c.appendMessage(t)}get SelectionEnd(){let e="IObject::GetSelectionEnd",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.selection)};document.addEventListener(e,o)});return c.appendMessage(t),r}set SelectionEnd(e){let t={method:"IObject::SetSelectionEnd",p:this.p_,selection:e};c.appendMessage(t)}get SelectionStart(){let e="IObject::GetSelectionStart",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.selection)};document.addEventListener(e,o)});return c.appendMessage(t),r}set SelectionStart(e){let t={method:"IObject::SetSelectionStart",p:this.p_,selection:e};c.appendMessage(t)}get Text(){let e="IObject::GetText",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.text)};document.addEventListener(e,o)});return c.appendMessage(t),r}set Text(e){let t={method:"IObject::SetText",p:this.p_,text:e};c.appendMessage(t)}get Type(){let e="IObject::GetType",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.type)};document.addEventListener(e,o)});return c.appendMessage(t),r}get VerticalAlign(){let e="IObject::GetVerticalAlign",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.align)};document.addEventListener(e,o)});return c.appendMessage(t),r}set VerticalAlign(e){let t={method:"IObject::SetVerticalAlign",p:this.p_,align:e};c.appendMessage(t)}get Width(){let e="IObject::GetWidth",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.width)};document.addEventListener(e,o)});return c.appendMessage(t),r}set Width(e){let t={method:"IObject::SetWidth",p:this.p_,width:e};c.appendMessage(t)}get X(){let e="IObject::GetX",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.X)};document.addEventListener(e,o)});return c.appendMessage(t),r}set X(e){let t={method:"IObject::SetX",p:this.p_,X:e};c.appendMessage(t)}get Y(){let e="IObject::GetY",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.Y)};document.addEventListener(e,o)});return c.appendMessage(t),r}set Y(e){let t={method:"IObject::SetY",p:this.p_,Y:e};c.appendMessage(t)}},T=class{constructor(e){this.p_=e}GetItem(e){let t="IObjects::GetItem",r={method:t,p:this.p_,index:e},i=new Promise((s,o)=>{let n=a=>{if(document.removeEventListener(t,n),a.detail.connect==!1)o(m);else if(a.detail.ret==!1)s();else if(a.detail.p>=0){let u=new S(a.detail.p);s(u)}else o()};document.addEventListener(t,n)});return c.appendMessage(r),i}GetCount(){let e="IObjects::GetCount",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.count)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetIndex(e){let t="IObjects::GetIndex",r={method:t,p:this.p_,obj:e.p_},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):a.detail.ret==!1?s():s(a.detail.index)};document.addEventListener(t,n)});return c.appendMessage(r),i}GetIndexByName(e,t){let r="IObjects::GetIndexByName",i={method:r,p:this.p_,name:e,indexBgn:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):u.detail.ret==!1?o():o(u.detail.index)};document.addEventListener(r,a)});return c.appendMessage(i),s}Insert(e,t,r,i,s,o,n){let a="IObjects::Insert",u={method:a,p:this.p_,index:e,type:t,X:r,Y:i,width:s,height:o,option:n},g=new Promise((E,I)=>{let B=G=>{if(document.removeEventListener(a,B),G.detail.connect==!1)I(m);else if(G.detail.ret==!1)E();else if(G.detail.p>=0){let p=new S(G.detail.p);E(p)}else I()};document.addEventListener(a,B)});return c.appendMessage(u),g}Remove(e){let t="IObjects::Remove",r={method:t,p:this.p_,index:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}get Count(){return this.GetCount()}},A=class{constructor(e){this.p_=e}GetInstalledPrinters(){let e="IPrinter::GetInstalledPrinters",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.printers)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetMediaId(){let e="IPrinter::GetMediaId",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.id)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetMediaName(){let e="IPrinter::GetMediaName",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.name)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetPrintedTapeLength(){let e="IPrinter::GetPrintedTapeLength",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.length)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetSupportedMediaIds(){let e="IPrinter::GetSupportedMediaIds",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.mediaIds)};document.addEventListener(e,o)});return c.appendMessage(t),r}GetSupportedMediaNames(){let e="IPrinter::GetSupportedMediaNames",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.mediaNames)};document.addEventListener(e,o)});return c.appendMessage(t),r}IsMediaIdSupported(e){let t="IPrinter::IsMediaIdSupported",r={method:t,p:this.p_,id:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}IsMediaNameSupported(e){let t="IPrinter::IsMediaNameSupported",r={method:t,p:this.p_,name:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}IsPrinterOnline(e){let t="IPrinter::IsPrinterOnline",r={method:t,p:this.p_,name:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}IsPrinterSupported(e){let t="IPrinter::IsPrinterSupported",r={method:t,p:this.p_,name:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}get ErrorCode(){let e="IPrinter::GetErrorCode",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.errorCode)};document.addEventListener(e,o)});return c.appendMessage(t),r}get ErrorString(){let e="IPrinter::GetErrorString",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.errorString)};document.addEventListener(e,o)});return c.appendMessage(t),r}get Name(){let e="IPrinter::GetName",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.name)};document.addEventListener(e,o)});return c.appendMessage(t),r}get PortName(){let e="IPrinter::GetPortName",t={method:e,p:this.p_},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.port)};document.addEventListener(e,o)});return c.appendMessage(t),r}},C=class d{static get Width(){return d.GetWidth()}static get Length(){return d.GetLength()}static set Length(e){d.SetLength(e)}static get CurrentSheet(){return d.GetCurrentSheet()}static set CurrentSheet(e){d.SetCurrentSheet(e)}static get CutLineCount(){return d.GetCutLineCount()}static get CutLines(){return d.GetCutLines()}static get ErrorCode(){return d.GetErrorCode()}static get MarginBottom(){return d.GetMarginBottom()}static set MarginBottom(e){return d.SetMarginBottom(e)}static get MarginLeft(){return d.GetMarginLeft()}static set MarginLeft(e){return d.SetMarginLeft(e)}static get MarginRight(){return d.GetMarginRight()}static set MarginRight(e){return d.SetMarginRight(e)}static get MarginTop(){return d.GetMarginTop()}static set MarginTop(e){return d.SetMarginTop(e)}static get Objects(){return d.GetObjects()}static get Orientation(){return d.GetOrientation()}static get Printer(){return d.GetPrinter()}static get SheetNames(){return d.GetSheetNames()}static Open(e){let t="IDocument::Open",r={method:t,filePath:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}static DoPrint(e,t){let r="IDocument::DoPrint",i={method:r,dwOption:e,szOption:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static StartPrint(e,t){let r="IDocument::StartPrint",i={method:r,docName:e,option:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static PrintOut(e,t){let r="IDocument::PrintOut",i={method:r,copyCount:e,option:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static EndPrint(){let e="IDocument::EndPrint",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.connect==!1?s(m):i(n.detail.ret)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetImageData(e,t,r){let i="IDocument::GetImageData",s={method:i,type:e,width:t,height:r},o=new Promise((n,a)=>{let u=g=>{document.removeEventListener(i,u),g.detail.ret==!0&&g.detail.connect==!0?n(g.detail.image):a(m)};document.addEventListener(i,u)});return c.appendMessage(s),o}static GetObjectsCount(){let e="IDocument::GetObjectsCount",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!0&&n.detail.connect==!0?i(n.detail.count):s(m)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetIndexByName(e,t){let r="IDocument::GetIndexByName",i={method:r,name:e,indexBgn:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):u.detail.ret==!0?o(u.detail.index):o()};document.addEventListener(r,a)});return c.appendMessage(i),s}static GetObject(e){let t="IDocument::GetObject",r={method:t,name:e},i=new Promise((s,o)=>{let n=a=>{if(document.removeEventListener(t,n),a.detail.connect==!1)o(m);else if(a.detail.ret==!1)s();else if(a.detail.p>=0){let u=new S(a.detail.p);s(u)}else o()};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetObjects(e){let t="IDocument::GetObjects",r={method:t,name:e},i=new Promise((s,o)=>{let n=a=>{if(document.removeEventListener(t,n),a.detail.ret==!1||a.detail.connect==!1)o(m);else if(a.detail.p>=0){let u=new T(a.detail.p);s(u)}else o()};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetBarcodeIndex(e){let t="IDocument::GetBarcodeIndex",r={method:t,name:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):a.detail.ret==!1?s():s(a.detail.index)};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetMediaId(){let e="IDocument::GetMediaId",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.id)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetMediaName(){let e="IDocument::GetMediaName",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.name)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetPrinterName(){let e="IDocument::GetPrinterName",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.name)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetText(e){let t="IDocument::GetText",r={method:t,index:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.ret==!1||a.detail.connect==!1?o(m):s(a.detail.text)};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetTextCount(){let e="IDocument::GetTextCount",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.count)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetTextIndex(e){let t="IDocument::GetTextIndex",r={method:t,name:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):a.detail.ret==!1?s():s(a.detail.index)};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetPrinter(){let e="IDocument::GetPrinter",t={method:e},r=new Promise((i,s)=>{let o=n=>{if(document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1)s(m);else if(n.detail.p>=0){let a=new A(n.detail.p);i(a)}else s()};document.addEventListener(e,o)});return c.appendMessage(t),r}static SetText(e,t){let r="IDocument::SetText",i={method:r,index:e,text:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static SetBarcodeData(e,t){let r="IDocument::SetBarcodeData",i={method:r,index:e,text:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static SetMarginLeftRight(e,t){let r="IDocument::SetMarginLeftRight",i={method:r,left:e,right:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static SetMediaById(e,t){let r="IDocument::SetMediaById",i={method:r,id:e,fit:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static SetMediaByName(e,t){let r="IDocument::SetMediaByName",i={method:r,name:e,fit:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static SetPrinter(e,t){let r="IDocument::SetPrinter",i={method:r,name:e,fit:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static GetCurrentSheet(){let e="IDocument::GetCurrentSheet",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.name)};document.addEventListener(e,o)});return c.appendMessage(t),r}static SetCurrentSheet(e){let t="IDocument::SetCurrentSheet",r={method:t,name:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetCutLineCount(){let e="IDocument::GetCutLineCount",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.count)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetCutLines(){let e="IDocument::GetCutLines",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.connect==!1?s(m):n.detail.ret==!1?i():i(n.detail.cutlines)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetErrorCode(){let e="IDocument::GetErrorCode",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.errorCode)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetMarginBottom(){let e="IDocument::GetMarginBottom",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.margin)};document.addEventListener(e,o)});return c.appendMessage(t),r}static SetMarginBottom(e){let t="IDocument::SetMarginBottom",r={method:t,margin:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetMarginLeft(){let e="IDocument::GetMarginLeft",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.margin)};document.addEventListener(e,o)});return c.appendMessage(t),r}static SetMarginLeft(e){let t="IDocument::SetMarginLeft",r={method:t,margin:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetMarginRight(){let e="IDocument::GetMarginRight",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.margin)};document.addEventListener(e,o)});return c.appendMessage(t),r}static SetMarginRight(e){let t="IDocument::SetMarginRight",r={method:t,margin:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetMarginTop(){let e="IDocument::GetMarginTop",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.margin)};document.addEventListener(e,o)});return c.appendMessage(t),r}static SetMarginTop(e){let t="IDocument::SetMarginTop",r={method:t,margin:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1||a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}static GetOrientation(){let e="IDocument::GetOrientation",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.orientation)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetSheetNames(){let e="IDocument::GetSheetNames",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.names)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetWidth(){let e="IDocument::GetWidth",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.width)};document.addEventListener(e,o)});return c.appendMessage(t),r}static GetLength(){let e="IDocument::GetLength",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.ret==!1||n.detail.connect==!1?s(m):i(n.detail.length)};document.addEventListener(e,o)});return c.appendMessage(t),r}static SetLength(e){let t="IDocument::SetLength",r={method:t,length:e},i=new Promise((s,o)=>{let n=a=>{document.removeEventListener(t,n),a.detail.connect==!1?o(m):s(a.detail.ret)};document.addEventListener(t,n)});return c.appendMessage(r),i}static Save(){let e="IDocument::Save",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.connect==!1?s(m):i(n.detail.ret)};document.addEventListener(e,o)});return c.appendMessage(t),r}static SaveAs(e,t){let r="IDocument::SaveAs",i={method:r,type:e,filePath:t},s=new Promise((o,n)=>{let a=u=>{document.removeEventListener(r,a),u.detail.connect==!1?n(m):o(u.detail.ret)};document.addEventListener(r,a)});return c.appendMessage(i),s}static Export(e,t,r){let i="IDocument::Export",s={method:i,type:e,filePath:t,dpi:r},o=new Promise((n,a)=>{let u=g=>{document.removeEventListener(i,u),g.detail.connect==!1?a(m):n(g.detail.ret)};document.addEventListener(i,u)});return c.appendMessage(s),o}static Close(){let e="IDocument::Close",t={method:e},r=new Promise((i,s)=>{let o=n=>{document.removeEventListener(e,o),n.detail.connect==!1?s(m):i(n.detail.ret)};document.addEventListener(e,o)});return c.appendMessage(t),r}};var h=C,M=async d=>{if(!d||typeof d!="string"||d.trim()==="")throw new TypeError("Template path must be a non-empty string.");try{if(!await h.Open(d))throw new Error(`Failed to open the template '${d}'. Check path and try again.`)}catch(e){throw e instanceof TypeError||e instanceof Error&&e.message?e:new Error(`An unexpected error occurred while opening template '${d}'.`)}},z=async(d,e)=>{try{if(!d)throw new Error("Printer name is undefined.");let t=e?-1:0;if(!await h.SetPrinter(d,t))throw new Error("Failed to set printer.")}catch(t){try{await v()}catch(r){console.error("Error closing template after setPrinter error:",r)}throw t instanceof Error?t:new Error(`An unexpected error occurred while setting the printer: ${t}`)}},H=async()=>{try{let d=await h.GetPrinter();if(d){let e=await d.Name;return{printerName:e,online:await d.IsPrinterOnline(e),supported:await d.IsPrinterSupported(e),errorCode:await d.ErrorCode,errorString:await d.ErrorString,currentMedia:await d.GetMediaName(),supportedMedia:await d.GetSupportedMediaNames()}}return{printerName:null,online:null,supported:null,errorCode:null,errorString:"Printer object not found.",currentMedia:null,supportedMedia:null}}catch(d){let e="Error retrieving printer status.";return d instanceof Error&&d.message&&(e+=` Details: ${d.message}`),{printerName:null,online:null,supported:null,errorCode:null,errorString:e,currentMedia:null,supportedMedia:null}}},v=async()=>{try{if(!await h.Close())throw new Error("Failed to close the template file.")}catch(d){throw d instanceof Error?d:new Error(`An unexpected error occurred while closing the template. Details: ${String(d)}`)}},U=async(d,e)=>{if(typeof d!="string"||d.trim()==="")throw new TypeError("printName must be a non-empty string.");if(typeof e!="number")throw new TypeError("bitmask must be a number.");try{if(!await h.StartPrint(d,e)){try{await v()}catch(r){let i="Failed to close the template after a failed print start. ";throw r instanceof Error&&r.message?i+=`Close Template Error Details: ${r.message}`:i+=`Close Template Unknown Error Details: ${String(r)}`,new Error(`Failed to start the print process. ${i}`)}throw new Error(`Failed to start the print process with printName: '${d}' and bitmask: '${e}'.`)}}catch(t){throw t instanceof Error?t:new Error(`An unknown error occurred during startPrint. Details: ${String(t)}`)}},X=async d=>{try{if(!await h.PrintOut(d,0))throw new Error("Failed to print, please verify the printer name is correct for the template.")}catch(e){throw await v(),e instanceof Error?e:new Error(`An unexpected error occurred during printing: ${e}`)}},Y=async()=>{try{if(!await h.EndPrint())throw new Error("Failed to end print process.")}catch(d){throw await v(),d instanceof Error?d:new Error(`An unexpected error occurred while ending the print process: ${d}`)}},V=async(d,e)=>{try{let t=await h.GetImageData(4,d,e);if(t==null)throw new Error("Doc.GetImageData returned null or undefined.");if(t=t.toString(),typeof t!="string")throw new Error(`Failed to convert Doc.GetImageData result to string. Result type: ${typeof t}`);return t}catch(t){throw t instanceof Error?t:new Error(`An unexpected error occurred while retrieving image data: ${t}`)}},q=async()=>{try{let d=await h.GetPrinterName();if(typeof d!="string")throw new Error(`Unexpected data type returned from Doc.GetPrinterName: ${typeof d}`);if(!d)throw new Error("Doc.GetPrinterName returned an empty string.");return d}catch(d){throw d instanceof Error?d:new Error(`An unexpected error occurred while retrieving the printer name: ${d}`)}},Z=async()=>{try{let d=await h.GetPrinter();if(!d)throw new Error("Doc.GetPrinter returned null or undefined.");let e=await d.GetInstalledPrinters();if(!Array.isArray(e))throw new Error(`Unexpected data type returned from printerObject.GetInstalledPrinters: ${typeof e}`);return e}catch(d){throw d instanceof Error?d:new Error(`An unexpected error occurred while retrieving the list of printers: ${d}`)}},J=async(d,e,t=0)=>{if(typeof e!="string"||e.trim()==="")throw new TypeError("filePath must be a non-empty string.");if(typeof t!="number")throw new TypeError("dpi must be a number.");try{if(!await h.Export(d,e,t))throw new Error(`Failed to export document to '${e}'.`)}catch(r){throw r instanceof Error?r:new Error(`An unexpected error occurred during export. Details: ${String(r)}`)}},j=async d=>{for(let e of Object.keys(d)){let t=d[e];try{let r=await h.GetObject(e);if(!r)throw await v(),new Error(`Object "${e}" not found in the template.`);let i=await r.Type;switch(i){case 0:r.Text=t;break;case 2:await r.SetData(0,t,4);break;case 3:await r.SetData(0,t,null);break;case 1:let s=await h.GetBarcodeIndex(e);await h.SetBarcodeData(s,t);break;case 4:await r.SetData(0,t,0);break;default:throw await v(),new Error(`Unknown object type (${i}) for "${e}".`)}}catch(r){throw await v(),r instanceof Error?new Error(`Error populating object "${e}": ${r.message}`):new Error(`Error populating object "${e}": ${String(r)}`)}}};var w,L,O,K,l=class l{constructor({templatePath:e,exportDir:t,printer:r}){var i;this.templatePath=e,this.exportDir=t,this.printer=r,_(i=l,O,K).call(i)}async getPrinterStatus(){await l.printerIsReady(),await M(this.templatePath);let e=await H();return await v(),e}async print(e,t){let{copies:r=1,printName:i="BPAC-Document",fitPage:s=!1,...o}=t||{};await l.printerIsReady();let n=F(o),a=Array.isArray(e)?e:[e];await M(this.templatePath),await z(this.printer,s);for(let u of a)await j(u),await U(i,n),await X(r);return await Y(),await v(),!0}async getImageData(e,t){let r=t?.height||0,i=t?.width||0;await l.printerIsReady(),await M(this.templatePath),await j(e);let s=await V(i,r);return await v(),s}async getPrinterName(){await l.printerIsReady(),await M(this.templatePath);let e=await q();return await v(),e}async export(e,t,r){let i=W(t),s=R(i),o=$(this.exportDir,t);return await l.printerIsReady(),await M(this.templatePath),await j(e),await J(s,o,r),await v(),!0}static async getPrinterList(){return await l.printerIsReady(),await Z()}static async printerIsReady(e=2e3){if(!P(l,L))return new Promise((t,r)=>{setTimeout(()=>{P(l,L)?t():r(new Error("Cannot establish printer communication: b-PAC extension missing or inactive. Install/enable."))},e)})}};w=new WeakMap,L=new WeakMap,O=new WeakSet,K=function(){let e=document.body,t="bpac-extension-installed";if(!P(l,L)&&!P(l,w)){if(e.classList.contains(t)){b(l,L,!0);return}b(l,w,new MutationObserver(()=>{e.classList.contains(t)&&(b(l,L,!0),P(l,w)?.disconnect(),b(l,w,null))})),P(l,w).observe(e,{attributes:!0,attributeFilter:["class"]})}},y(l,O),y(l,w,null),y(l,L,!1);var x=l;var Ee=x;export{x as BrotherSdk,Ee as default};