@rdlabo/capacitor-brotherprint 8.2.1 → 8.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@ export * from './brother-printer.enum';
10
10
  export { BrotherPrint };
11
11
  export * from './printer';
12
12
  /** Collect discovery results, waiting for earlier helper calls to finish. */
13
- export declare function searchBrotherPrinters(options: BRLMSearchOption, model?: BRLMPrinterModelName): Promise<BRLMChannelResult[]>;
13
+ export declare function searchBrotherPrinters(options: BRLMSearchOption, _model?: BRLMPrinterModelName): Promise<BRLMChannelResult[]>;
14
14
  /**
15
15
  * Reuse a matching, available previous channel; otherwise discover printers.
16
16
  * The caller owns storage. USB always discovers again through the native permission flow.
@@ -44,7 +44,7 @@ export declare class BrotherPrinterSession {
44
44
  constructor(options?: BrotherPrinterSessionOptions);
45
45
  get closed(): boolean;
46
46
  get printers(): readonly BRLMChannelResult[];
47
- search(options: BRLMSearchOption, model?: BRLMPrinterModelName): Promise<readonly BRLMChannelResult[]>;
47
+ search(options: BRLMSearchOption, _model?: BRLMPrinterModelName): Promise<readonly BRLMChannelResult[]>;
48
48
  prepare(options: BRLMSearchOption, model: BRLMPrinterModelName, previous?: BRLMChannelResult | null): Promise<readonly BRLMChannelResult[]>;
49
49
  /** Forget the remembered connection. Storage removal errors propagate to the caller. */
50
50
  clearSavedPrinter(): Promise<void>;
package/dist/esm/index.js CHANGED
@@ -32,8 +32,8 @@ function queueConnection(run) {
32
32
  return result;
33
33
  }
34
34
  /** Collect discovery results, waiting for earlier helper calls to finish. */
35
- export function searchBrotherPrinters(options, model) {
36
- return queueConnection(() => discoverPrinters(options, model));
35
+ export function searchBrotherPrinters(options, _model) {
36
+ return queueConnection(() => discoverPrinters(options));
37
37
  }
38
38
  /**
39
39
  * Reuse a matching, available previous channel; otherwise discover printers.
@@ -53,13 +53,11 @@ export function checkBrotherPrinterChannel(channel) {
53
53
  return result;
54
54
  });
55
55
  }
56
- async function discoverPrinters(options, model, active = () => true) {
56
+ async function discoverPrinters(options, active = () => true) {
57
57
  const printers = [];
58
58
  const listener = await BrotherPrint.addListener(BrotherPrintEventsEnum.onPrinterAvailable, (printer) => {
59
59
  if (printer.port !== options.port)
60
60
  return;
61
- if (printer.port !== BRLMPrinterPort.usb && model !== undefined && brotherPrinterModel(printer.modelName) !== model)
62
- return;
63
61
  const index = printers.findIndex((current) => current.port === printer.port && current.channelInfo === printer.channelInfo);
64
62
  if (index < 0)
65
63
  printers.push(printer);
@@ -78,7 +76,7 @@ async function preparePrinters(options, model, previous, active = () => true) {
78
76
  if (available.result)
79
77
  return [previous];
80
78
  }
81
- return active() ? discoverPrinters(options, model, active) : [];
79
+ return active() ? discoverPrinters(options, active) : [];
82
80
  }
83
81
  /** One print screen's discovery results and event subscriptions. Create a new session after disposal. */
84
82
  export class BrotherPrinterSession {
@@ -101,8 +99,8 @@ export class BrotherPrinterSession {
101
99
  get printers() {
102
100
  return __classPrivateFieldGet(this, _BrotherPrinterSession_printers, "f");
103
101
  }
104
- search(options, model) {
105
- return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, model, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f")));
102
+ search(options, _model) {
103
+ return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f")));
106
104
  }
107
105
  prepare(options, model, previous) {
108
106
  return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\nimport { registerPlugin } from '@capacitor/core';\n\nimport type { BRLMPrinterModelName } from './brother-printer.enum';\nimport { BRLMPrinterPort } from './brother-printer.enum';\nimport type { BrotherPrintPlugin } from './definitions';\nimport { BrotherPrintEventsEnum } from './events.enum';\nimport type { BRLMChannelResult, BRLMPrintOptions, BRLMSearchOption, ErrorInfo } from './interfaces';\nimport { brotherPrinterModel } from './printer';\n\nconst BrotherPrint = registerPlugin<BrotherPrintPlugin>('BrotherPrint', {\n web: () => import('./web').then((m) => new m.BrotherPrintWeb()),\n});\n\nexport * from './definitions';\nexport * from './web';\nexport * from './events.enum';\nexport * from './interfaces';\nexport * from './brother-printer.enum';\nexport { BrotherPrint };\n\nexport * from './printer';\n\n// Native discovery events are shared. Keep each helper call's listener scoped to its turn.\nlet connectionQueue: Promise<unknown> = Promise.resolve();\n\nfunction queueConnection<T>(run: () => Promise<T>): Promise<T> {\n const result = connectionQueue.then(run);\n connectionQueue = result.catch(() => undefined);\n return result;\n}\n\n/** Collect discovery results, waiting for earlier helper calls to finish. */\nexport function searchBrotherPrinters(\n options: BRLMSearchOption,\n model?: BRLMPrinterModelName,\n): Promise<BRLMChannelResult[]> {\n return queueConnection(() => discoverPrinters(options, model));\n}\n\n/**\n * Reuse a matching, available previous channel; otherwise discover printers.\n * The caller owns storage. USB always discovers again through the native permission flow.\n * Availability errors propagate; only an unavailable channel triggers discovery.\n */\nexport function prepareBrotherPrinters(\n options: BRLMSearchOption,\n model: BRLMPrinterModelName,\n previous?: BRLMChannelResult | null,\n): Promise<BRLMChannelResult[]> {\n return queueConnection(() => preparePrinters(options, model, previous));\n}\n\n/**\n * Check an explicitly selected address without discovery or fallback to another printer.\n * Port must be supplied; an address does not identify its transport or printer model.\n */\nexport function checkBrotherPrinterChannel(channel: Pick<BRLMChannelResult, 'port' | 'channelInfo'>): Promise<boolean> {\n return queueConnection(async () => {\n const { result } = await BrotherPrint.isChannelAvailable({\n modelName: '',\n serialNumber: '',\n macAddress: '',\n nodeName: '',\n location: '',\n ...channel,\n });\n return result;\n });\n}\n\nasync function discoverPrinters(\n options: BRLMSearchOption,\n model?: BRLMPrinterModelName,\n active: () => boolean = () => true,\n): Promise<BRLMChannelResult[]> {\n const printers: BRLMChannelResult[] = [];\n const listener = await BrotherPrint.addListener(BrotherPrintEventsEnum.onPrinterAvailable, (printer) => {\n if (printer.port !== options.port) return;\n if (printer.port !== BRLMPrinterPort.usb && model !== undefined && brotherPrinterModel(printer.modelName) !== model)\n return;\n const index = printers.findIndex(\n (current) => current.port === printer.port && current.channelInfo === printer.channelInfo,\n );\n if (index < 0) printers.push(printer);\n else printers[index] = printer;\n });\n await (active() ? BrotherPrint.search(options) : Promise.resolve()).finally(() => listener.remove());\n return printers;\n}\n\nasync function preparePrinters(\n options: BRLMSearchOption,\n model: BRLMPrinterModelName,\n previous?: BRLMChannelResult | null,\n active: () => boolean = () => true,\n): Promise<BRLMChannelResult[]> {\n if (\n options.port !== BRLMPrinterPort.usb &&\n previous?.port === options.port &&\n previous.channelInfo.trim() &&\n brotherPrinterModel(previous.modelName) === model\n ) {\n const available = await BrotherPrint.isChannelAvailable(previous);\n if (available.result) return [previous];\n }\n return active() ? discoverPrinters(options, model, active) : [];\n}\n\nexport interface BrotherPrinterEvents {\n onPrint?: () => void;\n onPrintError?: (info: ErrorInfo) => void;\n onPrintFailedCommunication?: (info: ErrorInfo) => void;\n}\n\n/** String storage callbacks; both synchronous and asynchronous stores are supported. */\nexport interface BrotherPrinterStorage {\n get(key: string): string | null | undefined | Promise<string | null | undefined>;\n set(key: string, value: string): unknown;\n remove(key: string): unknown;\n}\n\nexport interface BrotherPrinterSessionOptions {\n storage?: BrotherPrinterStorage;\n /** Defaults to `brotherprint:`. The session appends `last-printer`. */\n storagePrefix?: string;\n}\n\n/** One print screen's discovery results and event subscriptions. Create a new session after disposal. */\nexport class BrotherPrinterSession {\n #closed = false;\n #printers: BRLMChannelResult[] = [];\n #listeners: Promise<PluginListenerHandle>[] = [];\n #listening?: Promise<void>;\n #disposal?: Promise<void>;\n readonly #storage?: BrotherPrinterStorage;\n readonly #storageKey: string;\n\n constructor(options: BrotherPrinterSessionOptions = {}) {\n this.#storage = options.storage;\n this.#storageKey = `${options.storagePrefix ?? 'brotherprint:'}last-printer`;\n }\n\n get closed(): boolean {\n return this.#closed;\n }\n\n get printers(): readonly BRLMChannelResult[] {\n return this.#printers;\n }\n\n search(options: BRLMSearchOption, model?: BRLMPrinterModelName): Promise<readonly BRLMChannelResult[]> {\n return this.#discover(() => discoverPrinters(options, model, () => !this.#closed));\n }\n\n prepare(\n options: BRLMSearchOption,\n model: BRLMPrinterModelName,\n previous?: BRLMChannelResult | null,\n ): Promise<readonly BRLMChannelResult[]> {\n return this.#discover(async () => {\n const saved = previous === undefined ? await this.#readSavedPrinter().catch(() => undefined) : previous;\n if (this.#closed) return [];\n return preparePrinters(options, model, saved, () => !this.#closed);\n });\n }\n\n async #readSavedPrinter(): Promise<BRLMChannelResult | undefined> {\n const value = await this.#storage?.get(this.#storageKey);\n if (!value) return undefined;\n const channel = JSON.parse(value);\n if (\n channel &&\n Object.values(BRLMPrinterPort).includes(channel.port) &&\n ['modelName', 'channelInfo', 'serialNumber', 'macAddress', 'nodeName', 'location'].every(\n (key) => typeof channel[key] === 'string',\n )\n )\n return channel;\n return undefined;\n }\n\n /** Forget the remembered connection. Storage removal errors propagate to the caller. */\n async clearSavedPrinter(): Promise<void> {\n await this.#storage?.remove(this.#storageKey);\n }\n\n async #savePrinter(options: BRLMPrintOptions): Promise<void> {\n if (!this.#storage || !options.port || !options.channelInfo?.trim()) return;\n const found = this.#printers.find(\n (printer) => printer.port === options.port && printer.channelInfo === options.channelInfo,\n );\n const channel: BRLMChannelResult = {\n serialNumber: '',\n macAddress: '',\n nodeName: '',\n location: '',\n ...found,\n port: options.port,\n channelInfo: options.channelInfo,\n modelName: options.modelName,\n };\n await this.#storage.set(this.#storageKey, JSON.stringify(channel));\n }\n\n #discover(run: () => Promise<BRLMChannelResult[]>): Promise<readonly BRLMChannelResult[]> {\n return queueConnection(async () => {\n if (this.#closed) return [];\n this.#printers = [];\n return run().then((printers) => {\n if (this.#closed) return [];\n this.#printers = printers;\n return printers;\n });\n });\n }\n\n /** Register print notifications once. Callbacks stop immediately when disposed. */\n listen(events: BrotherPrinterEvents): Promise<void> {\n if (this.#closed) return Promise.resolve();\n if (!this.#listening) {\n this.#listeners = [\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrint, () => {\n if (!this.#closed) events.onPrint?.();\n }),\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrintError, (info) => {\n if (!this.#closed) events.onPrintError?.(info);\n }),\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrintFailedCommunication, (info) => {\n if (!this.#closed) events.onPrintFailedCommunication?.(info);\n }),\n ];\n this.#listening = Promise.all(this.#listeners).then(() => undefined);\n }\n return this.#listening;\n }\n\n /** A closed session cannot start another print. Already started native printing is awaited. */\n async printImage(options: BRLMPrintOptions): Promise<void> {\n if (this.#closed) return;\n if (this.#storage) await this.#savePrinter(options).catch(() => undefined);\n if (!this.#closed) await BrotherPrint.printImage(options);\n }\n\n /** Invalidate pending work immediately, then remove this session's print listeners. */\n dispose(): Promise<void> {\n this.#closed = true;\n this.#printers = [];\n this.#disposal ??= Promise.all(this.#listeners.map((listener) => listener.then((handle) => handle.remove()))).then(\n () => undefined,\n );\n return this.#disposal;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\nimport { registerPlugin } from '@capacitor/core';\n\nimport type { BRLMPrinterModelName } from './brother-printer.enum';\nimport { BRLMPrinterPort } from './brother-printer.enum';\nimport type { BrotherPrintPlugin } from './definitions';\nimport { BrotherPrintEventsEnum } from './events.enum';\nimport type { BRLMChannelResult, BRLMPrintOptions, BRLMSearchOption, ErrorInfo } from './interfaces';\nimport { brotherPrinterModel } from './printer';\n\nconst BrotherPrint = registerPlugin<BrotherPrintPlugin>('BrotherPrint', {\n web: () => import('./web').then((m) => new m.BrotherPrintWeb()),\n});\n\nexport * from './definitions';\nexport * from './web';\nexport * from './events.enum';\nexport * from './interfaces';\nexport * from './brother-printer.enum';\nexport { BrotherPrint };\n\nexport * from './printer';\n\n// Native discovery events are shared. Keep each helper call's listener scoped to its turn.\nlet connectionQueue: Promise<unknown> = Promise.resolve();\n\nfunction queueConnection<T>(run: () => Promise<T>): Promise<T> {\n const result = connectionQueue.then(run);\n connectionQueue = result.catch(() => undefined);\n return result;\n}\n\n/** Collect discovery results, waiting for earlier helper calls to finish. */\nexport function searchBrotherPrinters(\n options: BRLMSearchOption,\n _model?: BRLMPrinterModelName,\n): Promise<BRLMChannelResult[]> {\n return queueConnection(() => discoverPrinters(options));\n}\n\n/**\n * Reuse a matching, available previous channel; otherwise discover printers.\n * The caller owns storage. USB always discovers again through the native permission flow.\n * Availability errors propagate; only an unavailable channel triggers discovery.\n */\nexport function prepareBrotherPrinters(\n options: BRLMSearchOption,\n model: BRLMPrinterModelName,\n previous?: BRLMChannelResult | null,\n): Promise<BRLMChannelResult[]> {\n return queueConnection(() => preparePrinters(options, model, previous));\n}\n\n/**\n * Check an explicitly selected address without discovery or fallback to another printer.\n * Port must be supplied; an address does not identify its transport or printer model.\n */\nexport function checkBrotherPrinterChannel(channel: Pick<BRLMChannelResult, 'port' | 'channelInfo'>): Promise<boolean> {\n return queueConnection(async () => {\n const { result } = await BrotherPrint.isChannelAvailable({\n modelName: '',\n serialNumber: '',\n macAddress: '',\n nodeName: '',\n location: '',\n ...channel,\n });\n return result;\n });\n}\n\nasync function discoverPrinters(\n options: BRLMSearchOption,\n active: () => boolean = () => true,\n): Promise<BRLMChannelResult[]> {\n const printers: BRLMChannelResult[] = [];\n const listener = await BrotherPrint.addListener(BrotherPrintEventsEnum.onPrinterAvailable, (printer) => {\n if (printer.port !== options.port) return;\n const index = printers.findIndex(\n (current) => current.port === printer.port && current.channelInfo === printer.channelInfo,\n );\n if (index < 0) printers.push(printer);\n else printers[index] = printer;\n });\n await (active() ? BrotherPrint.search(options) : Promise.resolve()).finally(() => listener.remove());\n return printers;\n}\n\nasync function preparePrinters(\n options: BRLMSearchOption,\n model: BRLMPrinterModelName,\n previous?: BRLMChannelResult | null,\n active: () => boolean = () => true,\n): Promise<BRLMChannelResult[]> {\n if (\n options.port !== BRLMPrinterPort.usb &&\n previous?.port === options.port &&\n previous.channelInfo.trim() &&\n brotherPrinterModel(previous.modelName) === model\n ) {\n const available = await BrotherPrint.isChannelAvailable(previous);\n if (available.result) return [previous];\n }\n return active() ? discoverPrinters(options, active) : [];\n}\n\nexport interface BrotherPrinterEvents {\n onPrint?: () => void;\n onPrintError?: (info: ErrorInfo) => void;\n onPrintFailedCommunication?: (info: ErrorInfo) => void;\n}\n\n/** String storage callbacks; both synchronous and asynchronous stores are supported. */\nexport interface BrotherPrinterStorage {\n get(key: string): string | null | undefined | Promise<string | null | undefined>;\n set(key: string, value: string): unknown;\n remove(key: string): unknown;\n}\n\nexport interface BrotherPrinterSessionOptions {\n storage?: BrotherPrinterStorage;\n /** Defaults to `brotherprint:`. The session appends `last-printer`. */\n storagePrefix?: string;\n}\n\n/** One print screen's discovery results and event subscriptions. Create a new session after disposal. */\nexport class BrotherPrinterSession {\n #closed = false;\n #printers: BRLMChannelResult[] = [];\n #listeners: Promise<PluginListenerHandle>[] = [];\n #listening?: Promise<void>;\n #disposal?: Promise<void>;\n readonly #storage?: BrotherPrinterStorage;\n readonly #storageKey: string;\n\n constructor(options: BrotherPrinterSessionOptions = {}) {\n this.#storage = options.storage;\n this.#storageKey = `${options.storagePrefix ?? 'brotherprint:'}last-printer`;\n }\n\n get closed(): boolean {\n return this.#closed;\n }\n\n get printers(): readonly BRLMChannelResult[] {\n return this.#printers;\n }\n\n search(options: BRLMSearchOption, _model?: BRLMPrinterModelName): Promise<readonly BRLMChannelResult[]> {\n return this.#discover(() => discoverPrinters(options, () => !this.#closed));\n }\n\n prepare(\n options: BRLMSearchOption,\n model: BRLMPrinterModelName,\n previous?: BRLMChannelResult | null,\n ): Promise<readonly BRLMChannelResult[]> {\n return this.#discover(async () => {\n const saved = previous === undefined ? await this.#readSavedPrinter().catch(() => undefined) : previous;\n if (this.#closed) return [];\n return preparePrinters(options, model, saved, () => !this.#closed);\n });\n }\n\n async #readSavedPrinter(): Promise<BRLMChannelResult | undefined> {\n const value = await this.#storage?.get(this.#storageKey);\n if (!value) return undefined;\n const channel = JSON.parse(value);\n if (\n channel &&\n Object.values(BRLMPrinterPort).includes(channel.port) &&\n ['modelName', 'channelInfo', 'serialNumber', 'macAddress', 'nodeName', 'location'].every(\n (key) => typeof channel[key] === 'string',\n )\n )\n return channel;\n return undefined;\n }\n\n /** Forget the remembered connection. Storage removal errors propagate to the caller. */\n async clearSavedPrinter(): Promise<void> {\n await this.#storage?.remove(this.#storageKey);\n }\n\n async #savePrinter(options: BRLMPrintOptions): Promise<void> {\n if (!this.#storage || !options.port || !options.channelInfo?.trim()) return;\n const found = this.#printers.find(\n (printer) => printer.port === options.port && printer.channelInfo === options.channelInfo,\n );\n const channel: BRLMChannelResult = {\n serialNumber: '',\n macAddress: '',\n nodeName: '',\n location: '',\n ...found,\n port: options.port,\n channelInfo: options.channelInfo,\n modelName: options.modelName,\n };\n await this.#storage.set(this.#storageKey, JSON.stringify(channel));\n }\n\n #discover(run: () => Promise<BRLMChannelResult[]>): Promise<readonly BRLMChannelResult[]> {\n return queueConnection(async () => {\n if (this.#closed) return [];\n this.#printers = [];\n return run().then((printers) => {\n if (this.#closed) return [];\n this.#printers = printers;\n return printers;\n });\n });\n }\n\n /** Register print notifications once. Callbacks stop immediately when disposed. */\n listen(events: BrotherPrinterEvents): Promise<void> {\n if (this.#closed) return Promise.resolve();\n if (!this.#listening) {\n this.#listeners = [\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrint, () => {\n if (!this.#closed) events.onPrint?.();\n }),\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrintError, (info) => {\n if (!this.#closed) events.onPrintError?.(info);\n }),\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrintFailedCommunication, (info) => {\n if (!this.#closed) events.onPrintFailedCommunication?.(info);\n }),\n ];\n this.#listening = Promise.all(this.#listeners).then(() => undefined);\n }\n return this.#listening;\n }\n\n /** A closed session cannot start another print. Already started native printing is awaited. */\n async printImage(options: BRLMPrintOptions): Promise<void> {\n if (this.#closed) return;\n if (this.#storage) await this.#savePrinter(options).catch(() => undefined);\n if (!this.#closed) await BrotherPrint.printImage(options);\n }\n\n /** Invalidate pending work immediately, then remove this session's print listeners. */\n dispose(): Promise<void> {\n this.#closed = true;\n this.#printers = [];\n this.#disposal ??= Promise.all(this.#listeners.map((listener) => listener.then((handle) => handle.remove()))).then(\n () => undefined,\n );\n return this.#disposal;\n }\n}\n"]}
@@ -270,8 +270,8 @@ function queueConnection(run) {
270
270
  return result;
271
271
  }
272
272
  /** Collect discovery results, waiting for earlier helper calls to finish. */
273
- function searchBrotherPrinters(options, model) {
274
- return queueConnection(() => discoverPrinters(options, model));
273
+ function searchBrotherPrinters(options, _model) {
274
+ return queueConnection(() => discoverPrinters(options));
275
275
  }
276
276
  /**
277
277
  * Reuse a matching, available previous channel; otherwise discover printers.
@@ -291,13 +291,11 @@ function checkBrotherPrinterChannel(channel) {
291
291
  return result;
292
292
  });
293
293
  }
294
- async function discoverPrinters(options, model, active = () => true) {
294
+ async function discoverPrinters(options, active = () => true) {
295
295
  const printers = [];
296
296
  const listener = await BrotherPrint.addListener(exports.BrotherPrintEventsEnum.onPrinterAvailable, (printer) => {
297
297
  if (printer.port !== options.port)
298
298
  return;
299
- if (printer.port !== exports.BRLMPrinterPort.usb && model !== undefined && brotherPrinterModel(printer.modelName) !== model)
300
- return;
301
299
  const index = printers.findIndex((current) => current.port === printer.port && current.channelInfo === printer.channelInfo);
302
300
  if (index < 0)
303
301
  printers.push(printer);
@@ -316,7 +314,7 @@ async function preparePrinters(options, model, previous, active = () => true) {
316
314
  if (available.result)
317
315
  return [previous];
318
316
  }
319
- return active() ? discoverPrinters(options, model, active) : [];
317
+ return active() ? discoverPrinters(options, active) : [];
320
318
  }
321
319
  /** One print screen's discovery results and event subscriptions. Create a new session after disposal. */
322
320
  class BrotherPrinterSession {
@@ -339,8 +337,8 @@ class BrotherPrinterSession {
339
337
  get printers() {
340
338
  return __classPrivateFieldGet(this, _BrotherPrinterSession_printers, "f");
341
339
  }
342
- search(options, model) {
343
- return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, model, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f")));
340
+ search(options, _model) {
341
+ return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f")));
344
342
  }
345
343
  prepare(options, model, previous) {
346
344
  return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/brother-printer.enum.js","esm/events.enum.js","esm/models.js","esm/printer.js","esm/web.js","esm/index.js"],"sourcesContent":["export var BRLMPrinterPort;\n(function (BRLMPrinterPort) {\n BRLMPrinterPort[\"usb\"] = \"usb\";\n BRLMPrinterPort[\"wifi\"] = \"wifi\";\n BRLMPrinterPort[\"bluetooth\"] = \"bluetooth\";\n BRLMPrinterPort[\"bluetoothLowEnergy\"] = \"bluetoothLowEnergy\";\n})(BRLMPrinterPort || (BRLMPrinterPort = {}));\nexport var BRLMPrinterCustomPaperUnit;\n(function (BRLMPrinterCustomPaperUnit) {\n BRLMPrinterCustomPaperUnit[\"mm\"] = \"mm\";\n BRLMPrinterCustomPaperUnit[\"inch\"] = \"inch\";\n})(BRLMPrinterCustomPaperUnit || (BRLMPrinterCustomPaperUnit = {}));\nexport var BRLMPrinterCustomPaperType;\n(function (BRLMPrinterCustomPaperType) {\n BRLMPrinterCustomPaperType[\"rollPaper\"] = \"rollPaper\";\n BRLMPrinterCustomPaperType[\"dieCutPaper\"] = \"dieCutPaper\";\n BRLMPrinterCustomPaperType[\"markRollPaper\"] = \"markRollPaper\";\n})(BRLMPrinterCustomPaperType || (BRLMPrinterCustomPaperType = {}));\n/**\n * Note: If you update this file, you should update the following files:\n * - ios/Plugin/Model/PrinterModel.swift\n *\n * And name is follow android naming convention.\n * Android naming: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printermodel.html\n */\nexport var BRLMPrinterModelName;\n(function (BRLMPrinterModelName) {\n BRLMPrinterModelName[\"QL_800\"] = \"QL_800\";\n BRLMPrinterModelName[\"QL_810W\"] = \"QL_810W\";\n BRLMPrinterModelName[\"QL_820NWB\"] = \"QL_820NWB\";\n BRLMPrinterModelName[\"TD_2320D_203\"] = \"TD_2320D_203\";\n BRLMPrinterModelName[\"TD_2030AD\"] = \"TD_2030AD\";\n BRLMPrinterModelName[\"TD_2350D_300\"] = \"TD_2350D_300\";\n})(BRLMPrinterModelName || (BRLMPrinterModelName = {}));\n/**\n * Android naming: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android/labelinfo.html\n */\nexport var BRLMPrinterLabelName;\n(function (BRLMPrinterLabelName) {\n BRLMPrinterLabelName[\"DieCutW17H54\"] = \"DieCutW17H54\";\n BRLMPrinterLabelName[\"DieCutW17H87\"] = \"DieCutW17H87\";\n BRLMPrinterLabelName[\"DieCutW23H23\"] = \"DieCutW23H23\";\n BRLMPrinterLabelName[\"DieCutW29H42\"] = \"DieCutW29H42\";\n BRLMPrinterLabelName[\"DieCutW29H90\"] = \"DieCutW29H90\";\n BRLMPrinterLabelName[\"DieCutW38H90\"] = \"DieCutW38H90\";\n BRLMPrinterLabelName[\"DieCutW39H48\"] = \"DieCutW39H48\";\n BRLMPrinterLabelName[\"DieCutW52H29\"] = \"DieCutW52H29\";\n BRLMPrinterLabelName[\"DieCutW62H29\"] = \"DieCutW62H29\";\n BRLMPrinterLabelName[\"DieCutW62H60\"] = \"DieCutW62H60\";\n BRLMPrinterLabelName[\"DieCutW62H75\"] = \"DieCutW62H75\";\n BRLMPrinterLabelName[\"DieCutW62H100\"] = \"DieCutW62H100\";\n BRLMPrinterLabelName[\"DieCutW60H86\"] = \"DieCutW60H86\";\n BRLMPrinterLabelName[\"DieCutW54H29\"] = \"DieCutW54H29\";\n BRLMPrinterLabelName[\"DieCutW102H51\"] = \"DieCutW102H51\";\n BRLMPrinterLabelName[\"DieCutW102H152\"] = \"DieCutW102H152\";\n BRLMPrinterLabelName[\"DieCutW103H164\"] = \"DieCutW103H164\";\n BRLMPrinterLabelName[\"RollW12\"] = \"RollW12\";\n BRLMPrinterLabelName[\"RollW29\"] = \"RollW29\";\n BRLMPrinterLabelName[\"RollW38\"] = \"RollW38\";\n BRLMPrinterLabelName[\"RollW50\"] = \"RollW50\";\n BRLMPrinterLabelName[\"RollW54\"] = \"RollW54\";\n BRLMPrinterLabelName[\"RollW62\"] = \"RollW62\";\n BRLMPrinterLabelName[\"RollW62RB\"] = \"RollW62RB\";\n BRLMPrinterLabelName[\"RollW102\"] = \"RollW102\";\n BRLMPrinterLabelName[\"RollW103\"] = \"RollW103\";\n BRLMPrinterLabelName[\"DTRollW90\"] = \"DTRollW90\";\n BRLMPrinterLabelName[\"DTRollW102\"] = \"DTRollW102\";\n BRLMPrinterLabelName[\"DTRollW102H51\"] = \"DTRollW102H51\";\n BRLMPrinterLabelName[\"DTRollW102H152\"] = \"DTRollW102H152\";\n BRLMPrinterLabelName[\"RoundW12DIA\"] = \"RoundW12DIA\";\n BRLMPrinterLabelName[\"RoundW24DIA\"] = \"RoundW24DIA\";\n BRLMPrinterLabelName[\"RoundW58DIA\"] = \"RoundW58DIA\";\n /**\n * For TD series\n * @url https://www.brother.co.jp/product/labelprinter/td2350d/accessory/index.aspx\n */\n BRLMPrinterLabelName[\"RDDieCutW60H60\"] = \"RDDieCutW60H60\";\n BRLMPrinterLabelName[\"RDDieCutW50H30\"] = \"RDDieCutW50H30\";\n BRLMPrinterLabelName[\"RDDieCutW40H60\"] = \"RDDieCutW40H60\";\n BRLMPrinterLabelName[\"RDDieCutW40H50\"] = \"RDDieCutW40H50\";\n BRLMPrinterLabelName[\"RDDieCutW40H40\"] = \"RDDieCutW40H40\";\n BRLMPrinterLabelName[\"RDDieCutW30H30\"] = \"RDDieCutW30H30\";\n BRLMPrinterLabelName[\"RDDieCutW50H35\"] = \"RDDieCutW50H35\";\n BRLMPrinterLabelName[\"RDDieCutW60H80\"] = \"RDDieCutW60H80\";\n BRLMPrinterLabelName[\"RDDieCutW60H100\"] = \"RDDieCutW60H100\";\n})(BRLMPrinterLabelName || (BRLMPrinterLabelName = {}));\n/**\n * @url https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#imagerotation\n */\nexport var BRLMPrinterImageRotation;\n(function (BRLMPrinterImageRotation) {\n BRLMPrinterImageRotation[\"Rotate0\"] = \"Rotate0\";\n BRLMPrinterImageRotation[\"Rotate90\"] = \"Rotate90\";\n BRLMPrinterImageRotation[\"Rotate180\"] = \"Rotate180\";\n BRLMPrinterImageRotation[\"Rotate270\"] = \"Rotate270\";\n})(BRLMPrinterImageRotation || (BRLMPrinterImageRotation = {}));\n/**\n * url https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#scalemode\n */\nexport var BRLMPrinterScaleMode;\n(function (BRLMPrinterScaleMode) {\n BRLMPrinterScaleMode[\"ActualSize\"] = \"ActualSize\";\n BRLMPrinterScaleMode[\"FitPageAspect\"] = \"FitPageAspect\";\n BRLMPrinterScaleMode[\"FitPaperAspect\"] = \"FitPaperAspect\";\n BRLMPrinterScaleMode[\"ScaleValue\"] = \"ScaleValue\";\n})(BRLMPrinterScaleMode || (BRLMPrinterScaleMode = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#halftone\n */\nexport var BRLMPrinterHalftone;\n(function (BRLMPrinterHalftone) {\n BRLMPrinterHalftone[\"Threshold\"] = \"Threshold\";\n BRLMPrinterHalftone[\"ErrorDiffusion\"] = \"ErrorDiffusion\";\n BRLMPrinterHalftone[\"PatternDither\"] = \"PatternDither\";\n})(BRLMPrinterHalftone || (BRLMPrinterHalftone = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#verticalalignment\n */\nexport var BRLMPrinterVerticalAlignment;\n(function (BRLMPrinterVerticalAlignment) {\n BRLMPrinterVerticalAlignment[\"Top\"] = \"Top\";\n BRLMPrinterVerticalAlignment[\"Center\"] = \"Center\";\n BRLMPrinterVerticalAlignment[\"Bottom\"] = \"Bottom\";\n})(BRLMPrinterVerticalAlignment || (BRLMPrinterVerticalAlignment = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#horizontalalignment\n */\nexport var BRLMPrinterHorizontalAlignment;\n(function (BRLMPrinterHorizontalAlignment) {\n BRLMPrinterHorizontalAlignment[\"Left\"] = \"Left\";\n BRLMPrinterHorizontalAlignment[\"Center\"] = \"Center\";\n BRLMPrinterHorizontalAlignment[\"Right\"] = \"Right\";\n})(BRLMPrinterHorizontalAlignment || (BRLMPrinterHorizontalAlignment = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#compressmode\n */\nexport var BRLMPrinterCompressMode;\n(function (BRLMPrinterCompressMode) {\n BRLMPrinterCompressMode[\"None\"] = \"None\";\n BRLMPrinterCompressMode[\"Tiff\"] = \"Tiff\";\n BRLMPrinterCompressMode[\"Mode9\"] = \"Mode9\";\n})(BRLMPrinterCompressMode || (BRLMPrinterCompressMode = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#printquality\n */\nexport var BRLMPrinterPrintQuality;\n(function (BRLMPrinterPrintQuality) {\n BRLMPrinterPrintQuality[\"Best\"] = \"Best\";\n BRLMPrinterPrintQuality[\"Fast\"] = \"Fast\";\n})(BRLMPrinterPrintQuality || (BRLMPrinterPrintQuality = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#resolution\n */\n// export enum BRLMPrinterPrintResolution {\n// Low = 'Low',\n// Normal = 'Normal',\n// High = 'High',\n// }\n//# sourceMappingURL=brother-printer.enum.js.map","export var BrotherPrintEventsEnum;\n(function (BrotherPrintEventsEnum) {\n BrotherPrintEventsEnum[\"onPrinterAvailable\"] = \"onPrinterAvailable\";\n BrotherPrintEventsEnum[\"onPrint\"] = \"onPrint\";\n BrotherPrintEventsEnum[\"onPrintFailedCommunication\"] = \"onPrintFailedCommunication\";\n BrotherPrintEventsEnum[\"onPrintError\"] = \"onPrintError\";\n})(BrotherPrintEventsEnum || (BrotherPrintEventsEnum = {}));\n//# sourceMappingURL=events.enum.js.map","import { BRLMPrinterModelName as Model, BRLMPrinterPort as Port } from './brother-printer.enum';\nexport const printerPorts = {\n [Model.QL_800]: [Port.usb],\n [Model.QL_810W]: [Port.wifi, Port.usb],\n [Model.QL_820NWB]: [Port.wifi, Port.bluetooth, Port.usb],\n [Model.TD_2320D_203]: [Port.wifi, Port.usb],\n [Model.TD_2030AD]: [Port.usb],\n [Model.TD_2350D_300]: [Port.wifi, Port.bluetooth, Port.usb, Port.bluetoothLowEnergy],\n};\n//# sourceMappingURL=models.js.map","import { Capacitor } from '@capacitor/core';\nimport { BRLMPrinterModelName, BRLMPrinterPort } from './brother-printer.enum';\nimport { printerPorts } from './models';\n/** Common display names for connection transports. */\nexport function brotherPrinterPortLabel(port) {\n switch (port) {\n case BRLMPrinterPort.wifi:\n return 'Wi-Fi';\n case BRLMPrinterPort.bluetooth:\n return 'Bluetooth';\n case BRLMPrinterPort.bluetoothLowEnergy:\n return 'Bluetooth LE';\n case BRLMPrinterPort.usb:\n return 'USB';\n default:\n return '';\n }\n}\n/** Connection choices for the existing models. USB is Android-only; wifi also covers Ethernet. */\nexport function brotherPrinterPorts(model, isAndroid = Capacitor.getPlatform() === 'android') {\n if (!Object.values(BRLMPrinterModelName).includes(model))\n return [];\n return printerPorts[model].filter((port) => isAndroid || port !== BRLMPrinterPort.usb);\n}\n/** Keep a supported saved port; otherwise prefer USB for QL-800/810W on Android. */\nexport function resolveBrotherPrinterPort(model, saved) {\n const ports = brotherPrinterPorts(model);\n if (saved && ports.includes(saved))\n return saved;\n if (ports.includes(BRLMPrinterPort.usb) &&\n (model === BRLMPrinterModelName.QL_800 || model === BRLMPrinterModelName.QL_810W))\n return BRLMPrinterPort.usb;\n return ports[0];\n}\n/** Match discovery names to an existing model enum, including documented product aliases. */\nexport function brotherPrinterModel(name) {\n const key = name\n .trim()\n .toUpperCase()\n .replace(/^BROTHER\\s+/, '')\n .replace(/[-_ ]/g, '');\n // Product names omit TD resolution; QL-820NWBc and TD-2030A use the existing enum spellings.\n const product = key === 'QL820NWBC' ? 'QL820NWB' : key === 'TD2030A' ? 'TD2030AD' : key;\n return Object.values(BRLMPrinterModelName).find((model) => model.replace(/_/g, '') === product || model.replace(/_(203|300)$/, '').replace(/_/g, '') === product);\n}\n//# sourceMappingURL=printer.js.map","import { WebPlugin } from '@capacitor/core';\nexport class BrotherPrintWeb extends WebPlugin {\n async printImage(options) {\n console.log('printImage', options);\n }\n async isChannelAvailable(options) {\n console.log('isChannelAvailable', options);\n return {\n result: false,\n };\n }\n async search(options) {\n console.log('search', options);\n }\n async cancelSearchWiFiPrinter() {\n console.log('cancelSearchWiFiPrinter');\n }\n async cancelSearchBluetoothPrinter() {\n console.log('cancelSearchBluetoothPrinter');\n }\n}\n//# sourceMappingURL=web.js.map","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _BrotherPrinterSession_instances, _BrotherPrinterSession_closed, _BrotherPrinterSession_printers, _BrotherPrinterSession_listeners, _BrotherPrinterSession_listening, _BrotherPrinterSession_disposal, _BrotherPrinterSession_storage, _BrotherPrinterSession_storageKey, _BrotherPrinterSession_readSavedPrinter, _BrotherPrinterSession_savePrinter, _BrotherPrinterSession_discover;\nimport { registerPlugin } from '@capacitor/core';\nimport { BRLMPrinterPort } from './brother-printer.enum';\nimport { BrotherPrintEventsEnum } from './events.enum';\nimport { brotherPrinterModel } from './printer';\nconst BrotherPrint = registerPlugin('BrotherPrint', {\n web: () => import('./web').then((m) => new m.BrotherPrintWeb()),\n});\nexport * from './definitions';\nexport * from './web';\nexport * from './events.enum';\nexport * from './interfaces';\nexport * from './brother-printer.enum';\nexport { BrotherPrint };\nexport * from './printer';\n// Native discovery events are shared. Keep each helper call's listener scoped to its turn.\nlet connectionQueue = Promise.resolve();\nfunction queueConnection(run) {\n const result = connectionQueue.then(run);\n connectionQueue = result.catch(() => undefined);\n return result;\n}\n/** Collect discovery results, waiting for earlier helper calls to finish. */\nexport function searchBrotherPrinters(options, model) {\n return queueConnection(() => discoverPrinters(options, model));\n}\n/**\n * Reuse a matching, available previous channel; otherwise discover printers.\n * The caller owns storage. USB always discovers again through the native permission flow.\n * Availability errors propagate; only an unavailable channel triggers discovery.\n */\nexport function prepareBrotherPrinters(options, model, previous) {\n return queueConnection(() => preparePrinters(options, model, previous));\n}\n/**\n * Check an explicitly selected address without discovery or fallback to another printer.\n * Port must be supplied; an address does not identify its transport or printer model.\n */\nexport function checkBrotherPrinterChannel(channel) {\n return queueConnection(async () => {\n const { result } = await BrotherPrint.isChannelAvailable(Object.assign({ modelName: '', serialNumber: '', macAddress: '', nodeName: '', location: '' }, channel));\n return result;\n });\n}\nasync function discoverPrinters(options, model, active = () => true) {\n const printers = [];\n const listener = await BrotherPrint.addListener(BrotherPrintEventsEnum.onPrinterAvailable, (printer) => {\n if (printer.port !== options.port)\n return;\n if (printer.port !== BRLMPrinterPort.usb && model !== undefined && brotherPrinterModel(printer.modelName) !== model)\n return;\n const index = printers.findIndex((current) => current.port === printer.port && current.channelInfo === printer.channelInfo);\n if (index < 0)\n printers.push(printer);\n else\n printers[index] = printer;\n });\n await (active() ? BrotherPrint.search(options) : Promise.resolve()).finally(() => listener.remove());\n return printers;\n}\nasync function preparePrinters(options, model, previous, active = () => true) {\n if (options.port !== BRLMPrinterPort.usb &&\n (previous === null || previous === void 0 ? void 0 : previous.port) === options.port &&\n previous.channelInfo.trim() &&\n brotherPrinterModel(previous.modelName) === model) {\n const available = await BrotherPrint.isChannelAvailable(previous);\n if (available.result)\n return [previous];\n }\n return active() ? discoverPrinters(options, model, active) : [];\n}\n/** One print screen's discovery results and event subscriptions. Create a new session after disposal. */\nexport class BrotherPrinterSession {\n constructor(options = {}) {\n var _a;\n _BrotherPrinterSession_instances.add(this);\n _BrotherPrinterSession_closed.set(this, false);\n _BrotherPrinterSession_printers.set(this, []);\n _BrotherPrinterSession_listeners.set(this, []);\n _BrotherPrinterSession_listening.set(this, void 0);\n _BrotherPrinterSession_disposal.set(this, void 0);\n _BrotherPrinterSession_storage.set(this, void 0);\n _BrotherPrinterSession_storageKey.set(this, void 0);\n __classPrivateFieldSet(this, _BrotherPrinterSession_storage, options.storage, \"f\");\n __classPrivateFieldSet(this, _BrotherPrinterSession_storageKey, `${(_a = options.storagePrefix) !== null && _a !== void 0 ? _a : 'brotherprint:'}last-printer`, \"f\");\n }\n get closed() {\n return __classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\");\n }\n get printers() {\n return __classPrivateFieldGet(this, _BrotherPrinterSession_printers, \"f\");\n }\n search(options, model) {\n return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, \"m\", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, model, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\")));\n }\n prepare(options, model, previous) {\n return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, \"m\", _BrotherPrinterSession_discover).call(this, async () => {\n const saved = previous === undefined ? await __classPrivateFieldGet(this, _BrotherPrinterSession_instances, \"m\", _BrotherPrinterSession_readSavedPrinter).call(this).catch(() => undefined) : previous;\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return [];\n return preparePrinters(options, model, saved, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"));\n });\n }\n /** Forget the remembered connection. Storage removal errors propagate to the caller. */\n async clearSavedPrinter() {\n var _a;\n await ((_a = __classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\")) === null || _a === void 0 ? void 0 : _a.remove(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, \"f\")));\n }\n /** Register print notifications once. Callbacks stop immediately when disposed. */\n listen(events) {\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return Promise.resolve();\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_listening, \"f\")) {\n __classPrivateFieldSet(this, _BrotherPrinterSession_listeners, [\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrint, () => {\n var _a;\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n (_a = events.onPrint) === null || _a === void 0 ? void 0 : _a.call(events);\n }),\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrintError, (info) => {\n var _a;\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n (_a = events.onPrintError) === null || _a === void 0 ? void 0 : _a.call(events, info);\n }),\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrintFailedCommunication, (info) => {\n var _a;\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n (_a = events.onPrintFailedCommunication) === null || _a === void 0 ? void 0 : _a.call(events, info);\n }),\n ], \"f\");\n __classPrivateFieldSet(this, _BrotherPrinterSession_listening, Promise.all(__classPrivateFieldGet(this, _BrotherPrinterSession_listeners, \"f\")).then(() => undefined), \"f\");\n }\n return __classPrivateFieldGet(this, _BrotherPrinterSession_listening, \"f\");\n }\n /** A closed session cannot start another print. Already started native printing is awaited. */\n async printImage(options) {\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return;\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\"))\n await __classPrivateFieldGet(this, _BrotherPrinterSession_instances, \"m\", _BrotherPrinterSession_savePrinter).call(this, options).catch(() => undefined);\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n await BrotherPrint.printImage(options);\n }\n /** Invalidate pending work immediately, then remove this session's print listeners. */\n dispose() {\n var _a;\n __classPrivateFieldSet(this, _BrotherPrinterSession_closed, true, \"f\");\n __classPrivateFieldSet(this, _BrotherPrinterSession_printers, [], \"f\");\n __classPrivateFieldSet(this, _BrotherPrinterSession_disposal, (_a = __classPrivateFieldGet(this, _BrotherPrinterSession_disposal, \"f\")) !== null && _a !== void 0 ? _a : Promise.all(__classPrivateFieldGet(this, _BrotherPrinterSession_listeners, \"f\").map((listener) => listener.then((handle) => handle.remove()))).then(() => undefined), \"f\");\n return __classPrivateFieldGet(this, _BrotherPrinterSession_disposal, \"f\");\n }\n}\n_BrotherPrinterSession_closed = new WeakMap(), _BrotherPrinterSession_printers = new WeakMap(), _BrotherPrinterSession_listeners = new WeakMap(), _BrotherPrinterSession_listening = new WeakMap(), _BrotherPrinterSession_disposal = new WeakMap(), _BrotherPrinterSession_storage = new WeakMap(), _BrotherPrinterSession_storageKey = new WeakMap(), _BrotherPrinterSession_instances = new WeakSet(), _BrotherPrinterSession_readSavedPrinter = async function _BrotherPrinterSession_readSavedPrinter() {\n var _a;\n const value = await ((_a = __classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\")) === null || _a === void 0 ? void 0 : _a.get(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, \"f\")));\n if (!value)\n return undefined;\n const channel = JSON.parse(value);\n if (channel &&\n Object.values(BRLMPrinterPort).includes(channel.port) &&\n ['modelName', 'channelInfo', 'serialNumber', 'macAddress', 'nodeName', 'location'].every((key) => typeof channel[key] === 'string'))\n return channel;\n return undefined;\n}, _BrotherPrinterSession_savePrinter = async function _BrotherPrinterSession_savePrinter(options) {\n var _a;\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\") || !options.port || !((_a = options.channelInfo) === null || _a === void 0 ? void 0 : _a.trim()))\n return;\n const found = __classPrivateFieldGet(this, _BrotherPrinterSession_printers, \"f\").find((printer) => printer.port === options.port && printer.channelInfo === options.channelInfo);\n const channel = Object.assign(Object.assign({ serialNumber: '', macAddress: '', nodeName: '', location: '' }, found), { port: options.port, channelInfo: options.channelInfo, modelName: options.modelName });\n await __classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\").set(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, \"f\"), JSON.stringify(channel));\n}, _BrotherPrinterSession_discover = function _BrotherPrinterSession_discover(run) {\n return queueConnection(async () => {\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return [];\n __classPrivateFieldSet(this, _BrotherPrinterSession_printers, [], \"f\");\n return run().then((printers) => {\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return [];\n __classPrivateFieldSet(this, _BrotherPrinterSession_printers, printers, \"f\");\n return printers;\n });\n });\n};\n//# sourceMappingURL=index.js.map"],"names":["BRLMPrinterPort","BRLMPrinterCustomPaperUnit","BRLMPrinterCustomPaperType","BRLMPrinterModelName","BRLMPrinterLabelName","BRLMPrinterImageRotation","BRLMPrinterScaleMode","BRLMPrinterHalftone","BRLMPrinterVerticalAlignment","BRLMPrinterHorizontalAlignment","BRLMPrinterCompressMode","BRLMPrinterPrintQuality","BrotherPrintEventsEnum","Model","Port","Capacitor","WebPlugin","this","registerPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/brother-printer.enum.js","esm/events.enum.js","esm/models.js","esm/printer.js","esm/web.js","esm/index.js"],"sourcesContent":["export var BRLMPrinterPort;\n(function (BRLMPrinterPort) {\n BRLMPrinterPort[\"usb\"] = \"usb\";\n BRLMPrinterPort[\"wifi\"] = \"wifi\";\n BRLMPrinterPort[\"bluetooth\"] = \"bluetooth\";\n BRLMPrinterPort[\"bluetoothLowEnergy\"] = \"bluetoothLowEnergy\";\n})(BRLMPrinterPort || (BRLMPrinterPort = {}));\nexport var BRLMPrinterCustomPaperUnit;\n(function (BRLMPrinterCustomPaperUnit) {\n BRLMPrinterCustomPaperUnit[\"mm\"] = \"mm\";\n BRLMPrinterCustomPaperUnit[\"inch\"] = \"inch\";\n})(BRLMPrinterCustomPaperUnit || (BRLMPrinterCustomPaperUnit = {}));\nexport var BRLMPrinterCustomPaperType;\n(function (BRLMPrinterCustomPaperType) {\n BRLMPrinterCustomPaperType[\"rollPaper\"] = \"rollPaper\";\n BRLMPrinterCustomPaperType[\"dieCutPaper\"] = \"dieCutPaper\";\n BRLMPrinterCustomPaperType[\"markRollPaper\"] = \"markRollPaper\";\n})(BRLMPrinterCustomPaperType || (BRLMPrinterCustomPaperType = {}));\n/**\n * Note: If you update this file, you should update the following files:\n * - ios/Plugin/Model/PrinterModel.swift\n *\n * And name is follow android naming convention.\n * Android naming: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printermodel.html\n */\nexport var BRLMPrinterModelName;\n(function (BRLMPrinterModelName) {\n BRLMPrinterModelName[\"QL_800\"] = \"QL_800\";\n BRLMPrinterModelName[\"QL_810W\"] = \"QL_810W\";\n BRLMPrinterModelName[\"QL_820NWB\"] = \"QL_820NWB\";\n BRLMPrinterModelName[\"TD_2320D_203\"] = \"TD_2320D_203\";\n BRLMPrinterModelName[\"TD_2030AD\"] = \"TD_2030AD\";\n BRLMPrinterModelName[\"TD_2350D_300\"] = \"TD_2350D_300\";\n})(BRLMPrinterModelName || (BRLMPrinterModelName = {}));\n/**\n * Android naming: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android/labelinfo.html\n */\nexport var BRLMPrinterLabelName;\n(function (BRLMPrinterLabelName) {\n BRLMPrinterLabelName[\"DieCutW17H54\"] = \"DieCutW17H54\";\n BRLMPrinterLabelName[\"DieCutW17H87\"] = \"DieCutW17H87\";\n BRLMPrinterLabelName[\"DieCutW23H23\"] = \"DieCutW23H23\";\n BRLMPrinterLabelName[\"DieCutW29H42\"] = \"DieCutW29H42\";\n BRLMPrinterLabelName[\"DieCutW29H90\"] = \"DieCutW29H90\";\n BRLMPrinterLabelName[\"DieCutW38H90\"] = \"DieCutW38H90\";\n BRLMPrinterLabelName[\"DieCutW39H48\"] = \"DieCutW39H48\";\n BRLMPrinterLabelName[\"DieCutW52H29\"] = \"DieCutW52H29\";\n BRLMPrinterLabelName[\"DieCutW62H29\"] = \"DieCutW62H29\";\n BRLMPrinterLabelName[\"DieCutW62H60\"] = \"DieCutW62H60\";\n BRLMPrinterLabelName[\"DieCutW62H75\"] = \"DieCutW62H75\";\n BRLMPrinterLabelName[\"DieCutW62H100\"] = \"DieCutW62H100\";\n BRLMPrinterLabelName[\"DieCutW60H86\"] = \"DieCutW60H86\";\n BRLMPrinterLabelName[\"DieCutW54H29\"] = \"DieCutW54H29\";\n BRLMPrinterLabelName[\"DieCutW102H51\"] = \"DieCutW102H51\";\n BRLMPrinterLabelName[\"DieCutW102H152\"] = \"DieCutW102H152\";\n BRLMPrinterLabelName[\"DieCutW103H164\"] = \"DieCutW103H164\";\n BRLMPrinterLabelName[\"RollW12\"] = \"RollW12\";\n BRLMPrinterLabelName[\"RollW29\"] = \"RollW29\";\n BRLMPrinterLabelName[\"RollW38\"] = \"RollW38\";\n BRLMPrinterLabelName[\"RollW50\"] = \"RollW50\";\n BRLMPrinterLabelName[\"RollW54\"] = \"RollW54\";\n BRLMPrinterLabelName[\"RollW62\"] = \"RollW62\";\n BRLMPrinterLabelName[\"RollW62RB\"] = \"RollW62RB\";\n BRLMPrinterLabelName[\"RollW102\"] = \"RollW102\";\n BRLMPrinterLabelName[\"RollW103\"] = \"RollW103\";\n BRLMPrinterLabelName[\"DTRollW90\"] = \"DTRollW90\";\n BRLMPrinterLabelName[\"DTRollW102\"] = \"DTRollW102\";\n BRLMPrinterLabelName[\"DTRollW102H51\"] = \"DTRollW102H51\";\n BRLMPrinterLabelName[\"DTRollW102H152\"] = \"DTRollW102H152\";\n BRLMPrinterLabelName[\"RoundW12DIA\"] = \"RoundW12DIA\";\n BRLMPrinterLabelName[\"RoundW24DIA\"] = \"RoundW24DIA\";\n BRLMPrinterLabelName[\"RoundW58DIA\"] = \"RoundW58DIA\";\n /**\n * For TD series\n * @url https://www.brother.co.jp/product/labelprinter/td2350d/accessory/index.aspx\n */\n BRLMPrinterLabelName[\"RDDieCutW60H60\"] = \"RDDieCutW60H60\";\n BRLMPrinterLabelName[\"RDDieCutW50H30\"] = \"RDDieCutW50H30\";\n BRLMPrinterLabelName[\"RDDieCutW40H60\"] = \"RDDieCutW40H60\";\n BRLMPrinterLabelName[\"RDDieCutW40H50\"] = \"RDDieCutW40H50\";\n BRLMPrinterLabelName[\"RDDieCutW40H40\"] = \"RDDieCutW40H40\";\n BRLMPrinterLabelName[\"RDDieCutW30H30\"] = \"RDDieCutW30H30\";\n BRLMPrinterLabelName[\"RDDieCutW50H35\"] = \"RDDieCutW50H35\";\n BRLMPrinterLabelName[\"RDDieCutW60H80\"] = \"RDDieCutW60H80\";\n BRLMPrinterLabelName[\"RDDieCutW60H100\"] = \"RDDieCutW60H100\";\n})(BRLMPrinterLabelName || (BRLMPrinterLabelName = {}));\n/**\n * @url https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#imagerotation\n */\nexport var BRLMPrinterImageRotation;\n(function (BRLMPrinterImageRotation) {\n BRLMPrinterImageRotation[\"Rotate0\"] = \"Rotate0\";\n BRLMPrinterImageRotation[\"Rotate90\"] = \"Rotate90\";\n BRLMPrinterImageRotation[\"Rotate180\"] = \"Rotate180\";\n BRLMPrinterImageRotation[\"Rotate270\"] = \"Rotate270\";\n})(BRLMPrinterImageRotation || (BRLMPrinterImageRotation = {}));\n/**\n * url https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#scalemode\n */\nexport var BRLMPrinterScaleMode;\n(function (BRLMPrinterScaleMode) {\n BRLMPrinterScaleMode[\"ActualSize\"] = \"ActualSize\";\n BRLMPrinterScaleMode[\"FitPageAspect\"] = \"FitPageAspect\";\n BRLMPrinterScaleMode[\"FitPaperAspect\"] = \"FitPaperAspect\";\n BRLMPrinterScaleMode[\"ScaleValue\"] = \"ScaleValue\";\n})(BRLMPrinterScaleMode || (BRLMPrinterScaleMode = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#halftone\n */\nexport var BRLMPrinterHalftone;\n(function (BRLMPrinterHalftone) {\n BRLMPrinterHalftone[\"Threshold\"] = \"Threshold\";\n BRLMPrinterHalftone[\"ErrorDiffusion\"] = \"ErrorDiffusion\";\n BRLMPrinterHalftone[\"PatternDither\"] = \"PatternDither\";\n})(BRLMPrinterHalftone || (BRLMPrinterHalftone = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#verticalalignment\n */\nexport var BRLMPrinterVerticalAlignment;\n(function (BRLMPrinterVerticalAlignment) {\n BRLMPrinterVerticalAlignment[\"Top\"] = \"Top\";\n BRLMPrinterVerticalAlignment[\"Center\"] = \"Center\";\n BRLMPrinterVerticalAlignment[\"Bottom\"] = \"Bottom\";\n})(BRLMPrinterVerticalAlignment || (BRLMPrinterVerticalAlignment = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#horizontalalignment\n */\nexport var BRLMPrinterHorizontalAlignment;\n(function (BRLMPrinterHorizontalAlignment) {\n BRLMPrinterHorizontalAlignment[\"Left\"] = \"Left\";\n BRLMPrinterHorizontalAlignment[\"Center\"] = \"Center\";\n BRLMPrinterHorizontalAlignment[\"Right\"] = \"Right\";\n})(BRLMPrinterHorizontalAlignment || (BRLMPrinterHorizontalAlignment = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#compressmode\n */\nexport var BRLMPrinterCompressMode;\n(function (BRLMPrinterCompressMode) {\n BRLMPrinterCompressMode[\"None\"] = \"None\";\n BRLMPrinterCompressMode[\"Tiff\"] = \"Tiff\";\n BRLMPrinterCompressMode[\"Mode9\"] = \"Mode9\";\n})(BRLMPrinterCompressMode || (BRLMPrinterCompressMode = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#printquality\n */\nexport var BRLMPrinterPrintQuality;\n(function (BRLMPrinterPrintQuality) {\n BRLMPrinterPrintQuality[\"Best\"] = \"Best\";\n BRLMPrinterPrintQuality[\"Fast\"] = \"Fast\";\n})(BRLMPrinterPrintQuality || (BRLMPrinterPrintQuality = {}));\n/**\n * url: https://support.brother.co.jp/j/s/support/html/mobilesdk/reference/android_v4/printimagesettings.html#resolution\n */\n// export enum BRLMPrinterPrintResolution {\n// Low = 'Low',\n// Normal = 'Normal',\n// High = 'High',\n// }\n//# sourceMappingURL=brother-printer.enum.js.map","export var BrotherPrintEventsEnum;\n(function (BrotherPrintEventsEnum) {\n BrotherPrintEventsEnum[\"onPrinterAvailable\"] = \"onPrinterAvailable\";\n BrotherPrintEventsEnum[\"onPrint\"] = \"onPrint\";\n BrotherPrintEventsEnum[\"onPrintFailedCommunication\"] = \"onPrintFailedCommunication\";\n BrotherPrintEventsEnum[\"onPrintError\"] = \"onPrintError\";\n})(BrotherPrintEventsEnum || (BrotherPrintEventsEnum = {}));\n//# sourceMappingURL=events.enum.js.map","import { BRLMPrinterModelName as Model, BRLMPrinterPort as Port } from './brother-printer.enum';\nexport const printerPorts = {\n [Model.QL_800]: [Port.usb],\n [Model.QL_810W]: [Port.wifi, Port.usb],\n [Model.QL_820NWB]: [Port.wifi, Port.bluetooth, Port.usb],\n [Model.TD_2320D_203]: [Port.wifi, Port.usb],\n [Model.TD_2030AD]: [Port.usb],\n [Model.TD_2350D_300]: [Port.wifi, Port.bluetooth, Port.usb, Port.bluetoothLowEnergy],\n};\n//# sourceMappingURL=models.js.map","import { Capacitor } from '@capacitor/core';\nimport { BRLMPrinterModelName, BRLMPrinterPort } from './brother-printer.enum';\nimport { printerPorts } from './models';\n/** Common display names for connection transports. */\nexport function brotherPrinterPortLabel(port) {\n switch (port) {\n case BRLMPrinterPort.wifi:\n return 'Wi-Fi';\n case BRLMPrinterPort.bluetooth:\n return 'Bluetooth';\n case BRLMPrinterPort.bluetoothLowEnergy:\n return 'Bluetooth LE';\n case BRLMPrinterPort.usb:\n return 'USB';\n default:\n return '';\n }\n}\n/** Connection choices for the existing models. USB is Android-only; wifi also covers Ethernet. */\nexport function brotherPrinterPorts(model, isAndroid = Capacitor.getPlatform() === 'android') {\n if (!Object.values(BRLMPrinterModelName).includes(model))\n return [];\n return printerPorts[model].filter((port) => isAndroid || port !== BRLMPrinterPort.usb);\n}\n/** Keep a supported saved port; otherwise prefer USB for QL-800/810W on Android. */\nexport function resolveBrotherPrinterPort(model, saved) {\n const ports = brotherPrinterPorts(model);\n if (saved && ports.includes(saved))\n return saved;\n if (ports.includes(BRLMPrinterPort.usb) &&\n (model === BRLMPrinterModelName.QL_800 || model === BRLMPrinterModelName.QL_810W))\n return BRLMPrinterPort.usb;\n return ports[0];\n}\n/** Match discovery names to an existing model enum, including documented product aliases. */\nexport function brotherPrinterModel(name) {\n const key = name\n .trim()\n .toUpperCase()\n .replace(/^BROTHER\\s+/, '')\n .replace(/[-_ ]/g, '');\n // Product names omit TD resolution; QL-820NWBc and TD-2030A use the existing enum spellings.\n const product = key === 'QL820NWBC' ? 'QL820NWB' : key === 'TD2030A' ? 'TD2030AD' : key;\n return Object.values(BRLMPrinterModelName).find((model) => model.replace(/_/g, '') === product || model.replace(/_(203|300)$/, '').replace(/_/g, '') === product);\n}\n//# sourceMappingURL=printer.js.map","import { WebPlugin } from '@capacitor/core';\nexport class BrotherPrintWeb extends WebPlugin {\n async printImage(options) {\n console.log('printImage', options);\n }\n async isChannelAvailable(options) {\n console.log('isChannelAvailable', options);\n return {\n result: false,\n };\n }\n async search(options) {\n console.log('search', options);\n }\n async cancelSearchWiFiPrinter() {\n console.log('cancelSearchWiFiPrinter');\n }\n async cancelSearchBluetoothPrinter() {\n console.log('cancelSearchBluetoothPrinter');\n }\n}\n//# sourceMappingURL=web.js.map","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _BrotherPrinterSession_instances, _BrotherPrinterSession_closed, _BrotherPrinterSession_printers, _BrotherPrinterSession_listeners, _BrotherPrinterSession_listening, _BrotherPrinterSession_disposal, _BrotherPrinterSession_storage, _BrotherPrinterSession_storageKey, _BrotherPrinterSession_readSavedPrinter, _BrotherPrinterSession_savePrinter, _BrotherPrinterSession_discover;\nimport { registerPlugin } from '@capacitor/core';\nimport { BRLMPrinterPort } from './brother-printer.enum';\nimport { BrotherPrintEventsEnum } from './events.enum';\nimport { brotherPrinterModel } from './printer';\nconst BrotherPrint = registerPlugin('BrotherPrint', {\n web: () => import('./web').then((m) => new m.BrotherPrintWeb()),\n});\nexport * from './definitions';\nexport * from './web';\nexport * from './events.enum';\nexport * from './interfaces';\nexport * from './brother-printer.enum';\nexport { BrotherPrint };\nexport * from './printer';\n// Native discovery events are shared. Keep each helper call's listener scoped to its turn.\nlet connectionQueue = Promise.resolve();\nfunction queueConnection(run) {\n const result = connectionQueue.then(run);\n connectionQueue = result.catch(() => undefined);\n return result;\n}\n/** Collect discovery results, waiting for earlier helper calls to finish. */\nexport function searchBrotherPrinters(options, _model) {\n return queueConnection(() => discoverPrinters(options));\n}\n/**\n * Reuse a matching, available previous channel; otherwise discover printers.\n * The caller owns storage. USB always discovers again through the native permission flow.\n * Availability errors propagate; only an unavailable channel triggers discovery.\n */\nexport function prepareBrotherPrinters(options, model, previous) {\n return queueConnection(() => preparePrinters(options, model, previous));\n}\n/**\n * Check an explicitly selected address without discovery or fallback to another printer.\n * Port must be supplied; an address does not identify its transport or printer model.\n */\nexport function checkBrotherPrinterChannel(channel) {\n return queueConnection(async () => {\n const { result } = await BrotherPrint.isChannelAvailable(Object.assign({ modelName: '', serialNumber: '', macAddress: '', nodeName: '', location: '' }, channel));\n return result;\n });\n}\nasync function discoverPrinters(options, active = () => true) {\n const printers = [];\n const listener = await BrotherPrint.addListener(BrotherPrintEventsEnum.onPrinterAvailable, (printer) => {\n if (printer.port !== options.port)\n return;\n const index = printers.findIndex((current) => current.port === printer.port && current.channelInfo === printer.channelInfo);\n if (index < 0)\n printers.push(printer);\n else\n printers[index] = printer;\n });\n await (active() ? BrotherPrint.search(options) : Promise.resolve()).finally(() => listener.remove());\n return printers;\n}\nasync function preparePrinters(options, model, previous, active = () => true) {\n if (options.port !== BRLMPrinterPort.usb &&\n (previous === null || previous === void 0 ? void 0 : previous.port) === options.port &&\n previous.channelInfo.trim() &&\n brotherPrinterModel(previous.modelName) === model) {\n const available = await BrotherPrint.isChannelAvailable(previous);\n if (available.result)\n return [previous];\n }\n return active() ? discoverPrinters(options, active) : [];\n}\n/** One print screen's discovery results and event subscriptions. Create a new session after disposal. */\nexport class BrotherPrinterSession {\n constructor(options = {}) {\n var _a;\n _BrotherPrinterSession_instances.add(this);\n _BrotherPrinterSession_closed.set(this, false);\n _BrotherPrinterSession_printers.set(this, []);\n _BrotherPrinterSession_listeners.set(this, []);\n _BrotherPrinterSession_listening.set(this, void 0);\n _BrotherPrinterSession_disposal.set(this, void 0);\n _BrotherPrinterSession_storage.set(this, void 0);\n _BrotherPrinterSession_storageKey.set(this, void 0);\n __classPrivateFieldSet(this, _BrotherPrinterSession_storage, options.storage, \"f\");\n __classPrivateFieldSet(this, _BrotherPrinterSession_storageKey, `${(_a = options.storagePrefix) !== null && _a !== void 0 ? _a : 'brotherprint:'}last-printer`, \"f\");\n }\n get closed() {\n return __classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\");\n }\n get printers() {\n return __classPrivateFieldGet(this, _BrotherPrinterSession_printers, \"f\");\n }\n search(options, _model) {\n return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, \"m\", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\")));\n }\n prepare(options, model, previous) {\n return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, \"m\", _BrotherPrinterSession_discover).call(this, async () => {\n const saved = previous === undefined ? await __classPrivateFieldGet(this, _BrotherPrinterSession_instances, \"m\", _BrotherPrinterSession_readSavedPrinter).call(this).catch(() => undefined) : previous;\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return [];\n return preparePrinters(options, model, saved, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"));\n });\n }\n /** Forget the remembered connection. Storage removal errors propagate to the caller. */\n async clearSavedPrinter() {\n var _a;\n await ((_a = __classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\")) === null || _a === void 0 ? void 0 : _a.remove(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, \"f\")));\n }\n /** Register print notifications once. Callbacks stop immediately when disposed. */\n listen(events) {\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return Promise.resolve();\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_listening, \"f\")) {\n __classPrivateFieldSet(this, _BrotherPrinterSession_listeners, [\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrint, () => {\n var _a;\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n (_a = events.onPrint) === null || _a === void 0 ? void 0 : _a.call(events);\n }),\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrintError, (info) => {\n var _a;\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n (_a = events.onPrintError) === null || _a === void 0 ? void 0 : _a.call(events, info);\n }),\n BrotherPrint.addListener(BrotherPrintEventsEnum.onPrintFailedCommunication, (info) => {\n var _a;\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n (_a = events.onPrintFailedCommunication) === null || _a === void 0 ? void 0 : _a.call(events, info);\n }),\n ], \"f\");\n __classPrivateFieldSet(this, _BrotherPrinterSession_listening, Promise.all(__classPrivateFieldGet(this, _BrotherPrinterSession_listeners, \"f\")).then(() => undefined), \"f\");\n }\n return __classPrivateFieldGet(this, _BrotherPrinterSession_listening, \"f\");\n }\n /** A closed session cannot start another print. Already started native printing is awaited. */\n async printImage(options) {\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return;\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\"))\n await __classPrivateFieldGet(this, _BrotherPrinterSession_instances, \"m\", _BrotherPrinterSession_savePrinter).call(this, options).catch(() => undefined);\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n await BrotherPrint.printImage(options);\n }\n /** Invalidate pending work immediately, then remove this session's print listeners. */\n dispose() {\n var _a;\n __classPrivateFieldSet(this, _BrotherPrinterSession_closed, true, \"f\");\n __classPrivateFieldSet(this, _BrotherPrinterSession_printers, [], \"f\");\n __classPrivateFieldSet(this, _BrotherPrinterSession_disposal, (_a = __classPrivateFieldGet(this, _BrotherPrinterSession_disposal, \"f\")) !== null && _a !== void 0 ? _a : Promise.all(__classPrivateFieldGet(this, _BrotherPrinterSession_listeners, \"f\").map((listener) => listener.then((handle) => handle.remove()))).then(() => undefined), \"f\");\n return __classPrivateFieldGet(this, _BrotherPrinterSession_disposal, \"f\");\n }\n}\n_BrotherPrinterSession_closed = new WeakMap(), _BrotherPrinterSession_printers = new WeakMap(), _BrotherPrinterSession_listeners = new WeakMap(), _BrotherPrinterSession_listening = new WeakMap(), _BrotherPrinterSession_disposal = new WeakMap(), _BrotherPrinterSession_storage = new WeakMap(), _BrotherPrinterSession_storageKey = new WeakMap(), _BrotherPrinterSession_instances = new WeakSet(), _BrotherPrinterSession_readSavedPrinter = async function _BrotherPrinterSession_readSavedPrinter() {\n var _a;\n const value = await ((_a = __classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\")) === null || _a === void 0 ? void 0 : _a.get(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, \"f\")));\n if (!value)\n return undefined;\n const channel = JSON.parse(value);\n if (channel &&\n Object.values(BRLMPrinterPort).includes(channel.port) &&\n ['modelName', 'channelInfo', 'serialNumber', 'macAddress', 'nodeName', 'location'].every((key) => typeof channel[key] === 'string'))\n return channel;\n return undefined;\n}, _BrotherPrinterSession_savePrinter = async function _BrotherPrinterSession_savePrinter(options) {\n var _a;\n if (!__classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\") || !options.port || !((_a = options.channelInfo) === null || _a === void 0 ? void 0 : _a.trim()))\n return;\n const found = __classPrivateFieldGet(this, _BrotherPrinterSession_printers, \"f\").find((printer) => printer.port === options.port && printer.channelInfo === options.channelInfo);\n const channel = Object.assign(Object.assign({ serialNumber: '', macAddress: '', nodeName: '', location: '' }, found), { port: options.port, channelInfo: options.channelInfo, modelName: options.modelName });\n await __classPrivateFieldGet(this, _BrotherPrinterSession_storage, \"f\").set(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, \"f\"), JSON.stringify(channel));\n}, _BrotherPrinterSession_discover = function _BrotherPrinterSession_discover(run) {\n return queueConnection(async () => {\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return [];\n __classPrivateFieldSet(this, _BrotherPrinterSession_printers, [], \"f\");\n return run().then((printers) => {\n if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, \"f\"))\n return [];\n __classPrivateFieldSet(this, _BrotherPrinterSession_printers, printers, \"f\");\n return printers;\n });\n });\n};\n//# sourceMappingURL=index.js.map"],"names":["BRLMPrinterPort","BRLMPrinterCustomPaperUnit","BRLMPrinterCustomPaperType","BRLMPrinterModelName","BRLMPrinterLabelName","BRLMPrinterImageRotation","BRLMPrinterScaleMode","BRLMPrinterHalftone","BRLMPrinterVerticalAlignment","BRLMPrinterHorizontalAlignment","BRLMPrinterCompressMode","BRLMPrinterPrintQuality","BrotherPrintEventsEnum","Model","Port","Capacitor","WebPlugin","this","registerPlugin"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -269,8 +269,8 @@ var capacitorExample = (function (exports, core) {
269
269
  return result;
270
270
  }
271
271
  /** Collect discovery results, waiting for earlier helper calls to finish. */
272
- function searchBrotherPrinters(options, model) {
273
- return queueConnection(() => discoverPrinters(options, model));
272
+ function searchBrotherPrinters(options, _model) {
273
+ return queueConnection(() => discoverPrinters(options));
274
274
  }
275
275
  /**
276
276
  * Reuse a matching, available previous channel; otherwise discover printers.
@@ -290,13 +290,11 @@ var capacitorExample = (function (exports, core) {
290
290
  return result;
291
291
  });
292
292
  }
293
- async function discoverPrinters(options, model, active = () => true) {
293
+ async function discoverPrinters(options, active = () => true) {
294
294
  const printers = [];
295
295
  const listener = await BrotherPrint.addListener(exports.BrotherPrintEventsEnum.onPrinterAvailable, (printer) => {
296
296
  if (printer.port !== options.port)
297
297
  return;
298
- if (printer.port !== exports.BRLMPrinterPort.usb && model !== undefined && brotherPrinterModel(printer.modelName) !== model)
299
- return;
300
298
  const index = printers.findIndex((current) => current.port === printer.port && current.channelInfo === printer.channelInfo);
301
299
  if (index < 0)
302
300
  printers.push(printer);
@@ -315,7 +313,7 @@ var capacitorExample = (function (exports, core) {
315
313
  if (available.result)
316
314
  return [previous];
317
315
  }
318
- return active() ? discoverPrinters(options, model, active) : [];
316
+ return active() ? discoverPrinters(options, active) : [];
319
317
  }
320
318
  /** One print screen's discovery results and event subscriptions. Create a new session after disposal. */
321
319
  class BrotherPrinterSession {
@@ -338,8 +336,8 @@ var capacitorExample = (function (exports, core) {
338
336
  get printers() {
339
337
  return __classPrivateFieldGet(this, _BrotherPrinterSession_printers, "f");
340
338
  }
341
- search(options, model) {
342
- return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, model, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f")));
339
+ search(options, _model) {
340
+ return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f")));
343
341
  }
344
342
  prepare(options, model, previous) {
345
343
  return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, async () => {