@rdlabo/capacitor-brotherprint 8.2.0 → 8.2.1
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.
- package/README.md +7 -0
- package/dist/esm/index.d.ts +49 -0
- package/dist/esm/index.js +184 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models.d.ts +2 -0
- package/dist/esm/models.js +10 -0
- package/dist/esm/models.js.map +1 -0
- package/dist/esm/printer.d.ts +9 -0
- package/dist/esm/printer.js +46 -0
- package/dist/esm/printer.js.map +1 -0
- package/dist/plugin.cjs.js +274 -34
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +274 -34
- package/dist/plugin.js.map +1 -1
- package/docs/connection-management.md +151 -0
- package/docs/helper-design.md +42 -0
- package/package.json +4 -2
package/dist/plugin.cjs.js
CHANGED
|
@@ -2,40 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var core = require('@capacitor/core');
|
|
4
4
|
|
|
5
|
-
class BrotherPrintWeb extends core.WebPlugin {
|
|
6
|
-
async printImage(options) {
|
|
7
|
-
console.log('printImage', options);
|
|
8
|
-
}
|
|
9
|
-
async isChannelAvailable(options) {
|
|
10
|
-
console.log('isChannelAvailable', options);
|
|
11
|
-
return {
|
|
12
|
-
result: false,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
async search(options) {
|
|
16
|
-
console.log('search', options);
|
|
17
|
-
}
|
|
18
|
-
async cancelSearchWiFiPrinter() {
|
|
19
|
-
console.log('cancelSearchWiFiPrinter');
|
|
20
|
-
}
|
|
21
|
-
async cancelSearchBluetoothPrinter() {
|
|
22
|
-
console.log('cancelSearchBluetoothPrinter');
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var web = /*#__PURE__*/Object.freeze({
|
|
27
|
-
__proto__: null,
|
|
28
|
-
BrotherPrintWeb: BrotherPrintWeb
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
exports.BrotherPrintEventsEnum = void 0;
|
|
32
|
-
(function (BrotherPrintEventsEnum) {
|
|
33
|
-
BrotherPrintEventsEnum["onPrinterAvailable"] = "onPrinterAvailable";
|
|
34
|
-
BrotherPrintEventsEnum["onPrint"] = "onPrint";
|
|
35
|
-
BrotherPrintEventsEnum["onPrintFailedCommunication"] = "onPrintFailedCommunication";
|
|
36
|
-
BrotherPrintEventsEnum["onPrintError"] = "onPrintError";
|
|
37
|
-
})(exports.BrotherPrintEventsEnum || (exports.BrotherPrintEventsEnum = {}));
|
|
38
|
-
|
|
39
5
|
exports.BRLMPrinterPort = void 0;
|
|
40
6
|
(function (BRLMPrinterPort) {
|
|
41
7
|
BRLMPrinterPort["usb"] = "usb";
|
|
@@ -195,10 +161,284 @@ exports.BRLMPrinterPrintQuality = void 0;
|
|
|
195
161
|
// High = 'High',
|
|
196
162
|
// }
|
|
197
163
|
|
|
164
|
+
exports.BrotherPrintEventsEnum = void 0;
|
|
165
|
+
(function (BrotherPrintEventsEnum) {
|
|
166
|
+
BrotherPrintEventsEnum["onPrinterAvailable"] = "onPrinterAvailable";
|
|
167
|
+
BrotherPrintEventsEnum["onPrint"] = "onPrint";
|
|
168
|
+
BrotherPrintEventsEnum["onPrintFailedCommunication"] = "onPrintFailedCommunication";
|
|
169
|
+
BrotherPrintEventsEnum["onPrintError"] = "onPrintError";
|
|
170
|
+
})(exports.BrotherPrintEventsEnum || (exports.BrotherPrintEventsEnum = {}));
|
|
171
|
+
|
|
172
|
+
const printerPorts = {
|
|
173
|
+
[exports.BRLMPrinterModelName.QL_800]: [exports.BRLMPrinterPort.usb],
|
|
174
|
+
[exports.BRLMPrinterModelName.QL_810W]: [exports.BRLMPrinterPort.wifi, exports.BRLMPrinterPort.usb],
|
|
175
|
+
[exports.BRLMPrinterModelName.QL_820NWB]: [exports.BRLMPrinterPort.wifi, exports.BRLMPrinterPort.bluetooth, exports.BRLMPrinterPort.usb],
|
|
176
|
+
[exports.BRLMPrinterModelName.TD_2320D_203]: [exports.BRLMPrinterPort.wifi, exports.BRLMPrinterPort.usb],
|
|
177
|
+
[exports.BRLMPrinterModelName.TD_2030AD]: [exports.BRLMPrinterPort.usb],
|
|
178
|
+
[exports.BRLMPrinterModelName.TD_2350D_300]: [exports.BRLMPrinterPort.wifi, exports.BRLMPrinterPort.bluetooth, exports.BRLMPrinterPort.usb, exports.BRLMPrinterPort.bluetoothLowEnergy],
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
/** Common display names for connection transports. */
|
|
182
|
+
function brotherPrinterPortLabel(port) {
|
|
183
|
+
switch (port) {
|
|
184
|
+
case exports.BRLMPrinterPort.wifi:
|
|
185
|
+
return 'Wi-Fi';
|
|
186
|
+
case exports.BRLMPrinterPort.bluetooth:
|
|
187
|
+
return 'Bluetooth';
|
|
188
|
+
case exports.BRLMPrinterPort.bluetoothLowEnergy:
|
|
189
|
+
return 'Bluetooth LE';
|
|
190
|
+
case exports.BRLMPrinterPort.usb:
|
|
191
|
+
return 'USB';
|
|
192
|
+
default:
|
|
193
|
+
return '';
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/** Connection choices for the existing models. USB is Android-only; wifi also covers Ethernet. */
|
|
197
|
+
function brotherPrinterPorts(model, isAndroid = core.Capacitor.getPlatform() === 'android') {
|
|
198
|
+
if (!Object.values(exports.BRLMPrinterModelName).includes(model))
|
|
199
|
+
return [];
|
|
200
|
+
return printerPorts[model].filter((port) => isAndroid || port !== exports.BRLMPrinterPort.usb);
|
|
201
|
+
}
|
|
202
|
+
/** Keep a supported saved port; otherwise prefer USB for QL-800/810W on Android. */
|
|
203
|
+
function resolveBrotherPrinterPort(model, saved) {
|
|
204
|
+
const ports = brotherPrinterPorts(model);
|
|
205
|
+
if (saved && ports.includes(saved))
|
|
206
|
+
return saved;
|
|
207
|
+
if (ports.includes(exports.BRLMPrinterPort.usb) &&
|
|
208
|
+
(model === exports.BRLMPrinterModelName.QL_800 || model === exports.BRLMPrinterModelName.QL_810W))
|
|
209
|
+
return exports.BRLMPrinterPort.usb;
|
|
210
|
+
return ports[0];
|
|
211
|
+
}
|
|
212
|
+
/** Match discovery names to an existing model enum, including documented product aliases. */
|
|
213
|
+
function brotherPrinterModel(name) {
|
|
214
|
+
const key = name
|
|
215
|
+
.trim()
|
|
216
|
+
.toUpperCase()
|
|
217
|
+
.replace(/^BROTHER\s+/, '')
|
|
218
|
+
.replace(/[-_ ]/g, '');
|
|
219
|
+
// Product names omit TD resolution; QL-820NWBc and TD-2030A use the existing enum spellings.
|
|
220
|
+
const product = key === 'QL820NWBC' ? 'QL820NWB' : key === 'TD2030A' ? 'TD2030AD' : key;
|
|
221
|
+
return Object.values(exports.BRLMPrinterModelName).find((model) => model.replace(/_/g, '') === product || model.replace(/_(203|300)$/, '').replace(/_/g, '') === product);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
class BrotherPrintWeb extends core.WebPlugin {
|
|
225
|
+
async printImage(options) {
|
|
226
|
+
console.log('printImage', options);
|
|
227
|
+
}
|
|
228
|
+
async isChannelAvailable(options) {
|
|
229
|
+
console.log('isChannelAvailable', options);
|
|
230
|
+
return {
|
|
231
|
+
result: false,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
async search(options) {
|
|
235
|
+
console.log('search', options);
|
|
236
|
+
}
|
|
237
|
+
async cancelSearchWiFiPrinter() {
|
|
238
|
+
console.log('cancelSearchWiFiPrinter');
|
|
239
|
+
}
|
|
240
|
+
async cancelSearchBluetoothPrinter() {
|
|
241
|
+
console.log('cancelSearchBluetoothPrinter');
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
var web = /*#__PURE__*/Object.freeze({
|
|
246
|
+
__proto__: null,
|
|
247
|
+
BrotherPrintWeb: BrotherPrintWeb
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
251
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
252
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
253
|
+
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");
|
|
254
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
255
|
+
};
|
|
256
|
+
var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
257
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
258
|
+
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");
|
|
259
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
260
|
+
};
|
|
261
|
+
var _BrotherPrinterSession_instances, _BrotherPrinterSession_closed, _BrotherPrinterSession_printers, _BrotherPrinterSession_listeners, _BrotherPrinterSession_listening, _BrotherPrinterSession_disposal, _BrotherPrinterSession_storage, _BrotherPrinterSession_storageKey, _BrotherPrinterSession_readSavedPrinter, _BrotherPrinterSession_savePrinter, _BrotherPrinterSession_discover;
|
|
198
262
|
const BrotherPrint = core.registerPlugin('BrotherPrint', {
|
|
199
263
|
web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.BrotherPrintWeb()),
|
|
200
264
|
});
|
|
265
|
+
// Native discovery events are shared. Keep each helper call's listener scoped to its turn.
|
|
266
|
+
let connectionQueue = Promise.resolve();
|
|
267
|
+
function queueConnection(run) {
|
|
268
|
+
const result = connectionQueue.then(run);
|
|
269
|
+
connectionQueue = result.catch(() => undefined);
|
|
270
|
+
return result;
|
|
271
|
+
}
|
|
272
|
+
/** Collect discovery results, waiting for earlier helper calls to finish. */
|
|
273
|
+
function searchBrotherPrinters(options, model) {
|
|
274
|
+
return queueConnection(() => discoverPrinters(options, model));
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Reuse a matching, available previous channel; otherwise discover printers.
|
|
278
|
+
* The caller owns storage. USB always discovers again through the native permission flow.
|
|
279
|
+
* Availability errors propagate; only an unavailable channel triggers discovery.
|
|
280
|
+
*/
|
|
281
|
+
function prepareBrotherPrinters(options, model, previous) {
|
|
282
|
+
return queueConnection(() => preparePrinters(options, model, previous));
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Check an explicitly selected address without discovery or fallback to another printer.
|
|
286
|
+
* Port must be supplied; an address does not identify its transport or printer model.
|
|
287
|
+
*/
|
|
288
|
+
function checkBrotherPrinterChannel(channel) {
|
|
289
|
+
return queueConnection(async () => {
|
|
290
|
+
const { result } = await BrotherPrint.isChannelAvailable(Object.assign({ modelName: '', serialNumber: '', macAddress: '', nodeName: '', location: '' }, channel));
|
|
291
|
+
return result;
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
async function discoverPrinters(options, model, active = () => true) {
|
|
295
|
+
const printers = [];
|
|
296
|
+
const listener = await BrotherPrint.addListener(exports.BrotherPrintEventsEnum.onPrinterAvailable, (printer) => {
|
|
297
|
+
if (printer.port !== options.port)
|
|
298
|
+
return;
|
|
299
|
+
if (printer.port !== exports.BRLMPrinterPort.usb && model !== undefined && brotherPrinterModel(printer.modelName) !== model)
|
|
300
|
+
return;
|
|
301
|
+
const index = printers.findIndex((current) => current.port === printer.port && current.channelInfo === printer.channelInfo);
|
|
302
|
+
if (index < 0)
|
|
303
|
+
printers.push(printer);
|
|
304
|
+
else
|
|
305
|
+
printers[index] = printer;
|
|
306
|
+
});
|
|
307
|
+
await (active() ? BrotherPrint.search(options) : Promise.resolve()).finally(() => listener.remove());
|
|
308
|
+
return printers;
|
|
309
|
+
}
|
|
310
|
+
async function preparePrinters(options, model, previous, active = () => true) {
|
|
311
|
+
if (options.port !== exports.BRLMPrinterPort.usb &&
|
|
312
|
+
(previous === null || previous === void 0 ? void 0 : previous.port) === options.port &&
|
|
313
|
+
previous.channelInfo.trim() &&
|
|
314
|
+
brotherPrinterModel(previous.modelName) === model) {
|
|
315
|
+
const available = await BrotherPrint.isChannelAvailable(previous);
|
|
316
|
+
if (available.result)
|
|
317
|
+
return [previous];
|
|
318
|
+
}
|
|
319
|
+
return active() ? discoverPrinters(options, model, active) : [];
|
|
320
|
+
}
|
|
321
|
+
/** One print screen's discovery results and event subscriptions. Create a new session after disposal. */
|
|
322
|
+
class BrotherPrinterSession {
|
|
323
|
+
constructor(options = {}) {
|
|
324
|
+
var _a;
|
|
325
|
+
_BrotherPrinterSession_instances.add(this);
|
|
326
|
+
_BrotherPrinterSession_closed.set(this, false);
|
|
327
|
+
_BrotherPrinterSession_printers.set(this, []);
|
|
328
|
+
_BrotherPrinterSession_listeners.set(this, []);
|
|
329
|
+
_BrotherPrinterSession_listening.set(this, void 0);
|
|
330
|
+
_BrotherPrinterSession_disposal.set(this, void 0);
|
|
331
|
+
_BrotherPrinterSession_storage.set(this, void 0);
|
|
332
|
+
_BrotherPrinterSession_storageKey.set(this, void 0);
|
|
333
|
+
__classPrivateFieldSet(this, _BrotherPrinterSession_storage, options.storage, "f");
|
|
334
|
+
__classPrivateFieldSet(this, _BrotherPrinterSession_storageKey, `${(_a = options.storagePrefix) !== null && _a !== void 0 ? _a : 'brotherprint:'}last-printer`, "f");
|
|
335
|
+
}
|
|
336
|
+
get closed() {
|
|
337
|
+
return __classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f");
|
|
338
|
+
}
|
|
339
|
+
get printers() {
|
|
340
|
+
return __classPrivateFieldGet(this, _BrotherPrinterSession_printers, "f");
|
|
341
|
+
}
|
|
342
|
+
search(options, model) {
|
|
343
|
+
return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, () => discoverPrinters(options, model, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f")));
|
|
344
|
+
}
|
|
345
|
+
prepare(options, model, previous) {
|
|
346
|
+
return __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_discover).call(this, async () => {
|
|
347
|
+
const saved = previous === undefined ? await __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_readSavedPrinter).call(this).catch(() => undefined) : previous;
|
|
348
|
+
if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
349
|
+
return [];
|
|
350
|
+
return preparePrinters(options, model, saved, () => !__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"));
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
/** Forget the remembered connection. Storage removal errors propagate to the caller. */
|
|
354
|
+
async clearSavedPrinter() {
|
|
355
|
+
var _a;
|
|
356
|
+
await ((_a = __classPrivateFieldGet(this, _BrotherPrinterSession_storage, "f")) === null || _a === void 0 ? void 0 : _a.remove(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, "f")));
|
|
357
|
+
}
|
|
358
|
+
/** Register print notifications once. Callbacks stop immediately when disposed. */
|
|
359
|
+
listen(events) {
|
|
360
|
+
if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
361
|
+
return Promise.resolve();
|
|
362
|
+
if (!__classPrivateFieldGet(this, _BrotherPrinterSession_listening, "f")) {
|
|
363
|
+
__classPrivateFieldSet(this, _BrotherPrinterSession_listeners, [
|
|
364
|
+
BrotherPrint.addListener(exports.BrotherPrintEventsEnum.onPrint, () => {
|
|
365
|
+
var _a;
|
|
366
|
+
if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
367
|
+
(_a = events.onPrint) === null || _a === void 0 ? void 0 : _a.call(events);
|
|
368
|
+
}),
|
|
369
|
+
BrotherPrint.addListener(exports.BrotherPrintEventsEnum.onPrintError, (info) => {
|
|
370
|
+
var _a;
|
|
371
|
+
if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
372
|
+
(_a = events.onPrintError) === null || _a === void 0 ? void 0 : _a.call(events, info);
|
|
373
|
+
}),
|
|
374
|
+
BrotherPrint.addListener(exports.BrotherPrintEventsEnum.onPrintFailedCommunication, (info) => {
|
|
375
|
+
var _a;
|
|
376
|
+
if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
377
|
+
(_a = events.onPrintFailedCommunication) === null || _a === void 0 ? void 0 : _a.call(events, info);
|
|
378
|
+
}),
|
|
379
|
+
], "f");
|
|
380
|
+
__classPrivateFieldSet(this, _BrotherPrinterSession_listening, Promise.all(__classPrivateFieldGet(this, _BrotherPrinterSession_listeners, "f")).then(() => undefined), "f");
|
|
381
|
+
}
|
|
382
|
+
return __classPrivateFieldGet(this, _BrotherPrinterSession_listening, "f");
|
|
383
|
+
}
|
|
384
|
+
/** A closed session cannot start another print. Already started native printing is awaited. */
|
|
385
|
+
async printImage(options) {
|
|
386
|
+
if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
387
|
+
return;
|
|
388
|
+
if (__classPrivateFieldGet(this, _BrotherPrinterSession_storage, "f"))
|
|
389
|
+
await __classPrivateFieldGet(this, _BrotherPrinterSession_instances, "m", _BrotherPrinterSession_savePrinter).call(this, options).catch(() => undefined);
|
|
390
|
+
if (!__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
391
|
+
await BrotherPrint.printImage(options);
|
|
392
|
+
}
|
|
393
|
+
/** Invalidate pending work immediately, then remove this session's print listeners. */
|
|
394
|
+
dispose() {
|
|
395
|
+
var _a;
|
|
396
|
+
__classPrivateFieldSet(this, _BrotherPrinterSession_closed, true, "f");
|
|
397
|
+
__classPrivateFieldSet(this, _BrotherPrinterSession_printers, [], "f");
|
|
398
|
+
__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");
|
|
399
|
+
return __classPrivateFieldGet(this, _BrotherPrinterSession_disposal, "f");
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
_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() {
|
|
403
|
+
var _a;
|
|
404
|
+
const value = await ((_a = __classPrivateFieldGet(this, _BrotherPrinterSession_storage, "f")) === null || _a === void 0 ? void 0 : _a.get(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, "f")));
|
|
405
|
+
if (!value)
|
|
406
|
+
return undefined;
|
|
407
|
+
const channel = JSON.parse(value);
|
|
408
|
+
if (channel &&
|
|
409
|
+
Object.values(exports.BRLMPrinterPort).includes(channel.port) &&
|
|
410
|
+
['modelName', 'channelInfo', 'serialNumber', 'macAddress', 'nodeName', 'location'].every((key) => typeof channel[key] === 'string'))
|
|
411
|
+
return channel;
|
|
412
|
+
return undefined;
|
|
413
|
+
}, _BrotherPrinterSession_savePrinter = async function _BrotherPrinterSession_savePrinter(options) {
|
|
414
|
+
var _a;
|
|
415
|
+
if (!__classPrivateFieldGet(this, _BrotherPrinterSession_storage, "f") || !options.port || !((_a = options.channelInfo) === null || _a === void 0 ? void 0 : _a.trim()))
|
|
416
|
+
return;
|
|
417
|
+
const found = __classPrivateFieldGet(this, _BrotherPrinterSession_printers, "f").find((printer) => printer.port === options.port && printer.channelInfo === options.channelInfo);
|
|
418
|
+
const channel = Object.assign(Object.assign({ serialNumber: '', macAddress: '', nodeName: '', location: '' }, found), { port: options.port, channelInfo: options.channelInfo, modelName: options.modelName });
|
|
419
|
+
await __classPrivateFieldGet(this, _BrotherPrinterSession_storage, "f").set(__classPrivateFieldGet(this, _BrotherPrinterSession_storageKey, "f"), JSON.stringify(channel));
|
|
420
|
+
}, _BrotherPrinterSession_discover = function _BrotherPrinterSession_discover(run) {
|
|
421
|
+
return queueConnection(async () => {
|
|
422
|
+
if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
423
|
+
return [];
|
|
424
|
+
__classPrivateFieldSet(this, _BrotherPrinterSession_printers, [], "f");
|
|
425
|
+
return run().then((printers) => {
|
|
426
|
+
if (__classPrivateFieldGet(this, _BrotherPrinterSession_closed, "f"))
|
|
427
|
+
return [];
|
|
428
|
+
__classPrivateFieldSet(this, _BrotherPrinterSession_printers, printers, "f");
|
|
429
|
+
return printers;
|
|
430
|
+
});
|
|
431
|
+
});
|
|
432
|
+
};
|
|
201
433
|
|
|
202
434
|
exports.BrotherPrint = BrotherPrint;
|
|
203
435
|
exports.BrotherPrintWeb = BrotherPrintWeb;
|
|
436
|
+
exports.BrotherPrinterSession = BrotherPrinterSession;
|
|
437
|
+
exports.brotherPrinterModel = brotherPrinterModel;
|
|
438
|
+
exports.brotherPrinterPortLabel = brotherPrinterPortLabel;
|
|
439
|
+
exports.brotherPrinterPorts = brotherPrinterPorts;
|
|
440
|
+
exports.checkBrotherPrinterChannel = checkBrotherPrinterChannel;
|
|
441
|
+
exports.prepareBrotherPrinters = prepareBrotherPrinters;
|
|
442
|
+
exports.resolveBrotherPrinterPort = resolveBrotherPrinterPort;
|
|
443
|
+
exports.searchBrotherPrinters = searchBrotherPrinters;
|
|
204
444
|
//# sourceMappingURL=plugin.cjs.js.map
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/web.js","esm/events.enum.js","esm/brother-printer.enum.js","esm/index.js"],"sourcesContent":["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","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","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","import { registerPlugin } from '@capacitor/core';\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 };\n//# sourceMappingURL=index.js.map"],"names":["WebPlugin","BrotherPrintEventsEnum","BRLMPrinterPort","BRLMPrinterCustomPaperUnit","BRLMPrinterCustomPaperType","BRLMPrinterModelName","BRLMPrinterLabelName","BRLMPrinterImageRotation","BRLMPrinterScaleMode","BRLMPrinterHalftone","BRLMPrinterVerticalAlignment","BRLMPrinterHorizontalAlignment","BRLMPrinterCompressMode","BRLMPrinterPrintQuality","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, 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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"}
|