jc-printer-sdk-ts 0.1.0 → 0.1.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.
@@ -0,0 +1,120 @@
1
+ import type { BitmapLike, BundleLike, IAtBitmapDocument, PaperInfo, PrintCallback, PrintDocument, PrinterDevice, PrinterInfo, PrinterSdkCallback, PrinterState, ScanCallback } from "./types.js";
2
+ import { JCPrintApi } from "./client.js";
3
+ import type { PrinterTransport } from "./transport.js";
4
+ export interface WebBluetoothPrinterTransportOptions {
5
+ serviceUuid?: string;
6
+ characteristicUuid?: string;
7
+ deviceNameFilter?: string;
8
+ scanMode?: "all" | "name";
9
+ optionalServices?: string[];
10
+ chunkSize?: number;
11
+ }
12
+ interface ResolvedWebBluetoothPrinterTransportOptions {
13
+ serviceUuid: string;
14
+ characteristicUuid: string;
15
+ deviceNameFilter: string;
16
+ scanMode: "all" | "name";
17
+ optionalServices: string[];
18
+ chunkSize: number;
19
+ }
20
+ export declare const NIIMBOT_WEB_BLUETOOTH_SERVICE_UUID = "e7810a71-73ae-499d-8c15-faa9aef0c3f2";
21
+ export declare const NIIMBOT_WEB_BLUETOOTH_CHARACTERISTIC_UUID = "bef8d6c9-9c21-4c9e-b632-bd58c1009f9f";
22
+ export declare const DEFAULT_WEB_BLUETOOTH_PRINTER_TRANSPORT_OPTIONS: ResolvedWebBluetoothPrinterTransportOptions;
23
+ type PayloadEnvelope = {
24
+ kind: "jc-printer-sdk-ts/web-bluetooth";
25
+ sentAt: string;
26
+ job: {
27
+ density: number;
28
+ paperType: number;
29
+ printMode: number;
30
+ };
31
+ document?: PrintDocument;
32
+ jsonPages?: string[];
33
+ infoPages?: string[];
34
+ profile?: Record<string, unknown>;
35
+ };
36
+ export declare class WebBluetoothPrinterTransport implements PrinterTransport {
37
+ private options;
38
+ private sdkCallback;
39
+ private device;
40
+ private server;
41
+ private characteristic;
42
+ private printerName;
43
+ private printerInfo;
44
+ private paperInfo;
45
+ private printerState;
46
+ private lastAddress;
47
+ private currentJob;
48
+ private lastPayload;
49
+ private reconnecting;
50
+ private connectedProfile;
51
+ private b1HandshakeDone;
52
+ private responseQueue;
53
+ private pendingResponse;
54
+ constructor(options?: Partial<WebBluetoothPrinterTransportOptions>);
55
+ configure(options: Partial<WebBluetoothPrinterTransportOptions>): void;
56
+ getLastPayload(): PayloadEnvelope | undefined;
57
+ setSdkCallback(callback?: PrinterSdkCallback): void;
58
+ initSdk(): Promise<boolean>;
59
+ init(): Promise<boolean>;
60
+ connectBluetoothPrinter(address: string): Promise<number>;
61
+ openPrinterByAddress(address: string): Promise<number>;
62
+ openPrinterSync(address: string): Promise<number>;
63
+ connectWifiPrinter(): Promise<number>;
64
+ configurationWifi(): Promise<number>;
65
+ getConfigurationWifiName(): Promise<string>;
66
+ scanWifiPrinter(callback: ScanCallback): Promise<void>;
67
+ setPrinterAutoShutdownTime(): Promise<number>;
68
+ setTotalPrintQuantity(): Promise<void>;
69
+ setTotalQuantityOfPrints(): Promise<void>;
70
+ startPrintJob(density: number, paperType: number, printMode: number, callback: PrintCallback): Promise<void>;
71
+ commitData(jsonPages: string[], infoPages: string[]): Promise<void>;
72
+ commitDocument(document: PrintDocument, infoPages: string[]): Promise<void>;
73
+ endJob(): Promise<boolean>;
74
+ endPrintJob(): Promise<boolean>;
75
+ cancelJob(): Promise<boolean>;
76
+ cancel(): Promise<void>;
77
+ reopenPrinter(): Promise<boolean>;
78
+ reopenPrinterSync(): Promise<boolean>;
79
+ close(): Promise<void>;
80
+ quit(): Promise<void>;
81
+ printBitmap(bitmap: BitmapLike, _bundle?: BundleLike): Promise<boolean>;
82
+ printATBitmap(bitmap: IAtBitmapDocument, _bundle?: BundleLike): Promise<boolean>;
83
+ getPaperInfo(): Promise<PaperInfo>;
84
+ isConnection(): Promise<number>;
85
+ getPrintScaleMultiplier(): Promise<number>;
86
+ getPrinterName(): Promise<string>;
87
+ getPrinterInfo(): Promise<PrinterInfo>;
88
+ getPrinterState(): Promise<PrinterState>;
89
+ waitPrinterState(state: PrinterState, timeoutMs: number): Promise<boolean>;
90
+ measureFontHeight(text: string, _x: number, _y: number, _width: number, _height: number, _rotation: number, fontSize: number): Promise<number>;
91
+ generatePreviewImage(json: string, info: string): Promise<BitmapLike>;
92
+ generatePrintPreviewImage(json: string, widthMm: number, heightMm: number, orientation: number): Promise<BitmapLike>;
93
+ setPrinterState(state: PrinterState): void;
94
+ setPrinterInfo(info: PrinterInfo): void;
95
+ setPaperInfo(info: PaperInfo): void;
96
+ setScanResults(_results: PrinterDevice[]): void;
97
+ emitPrintProgress(pageIndex: number, quantityIndex: number, meta?: Record<string, unknown>): void;
98
+ emitPrintError(errorCode: number, printState?: number): void;
99
+ emitBufferFree(pageIndex: number, bufferSize: number): void;
100
+ emitCancel(success: boolean): void;
101
+ private handleDisconnect;
102
+ private handleCharacteristicChanged;
103
+ private writePayload;
104
+ private writeJson;
105
+ private handshakeAndIdentify;
106
+ private finishB1Handshake;
107
+ private resolveProfile;
108
+ private printNiimbotDocument;
109
+ private waitUntilPrinted;
110
+ private writeRows;
111
+ private sendCommand;
112
+ private waitForCommand;
113
+ private writeBytes;
114
+ private normalizeDensity;
115
+ private normalizeSpeed;
116
+ }
117
+ export declare function createWebBluetoothPrinterTransport(options?: Partial<WebBluetoothPrinterTransportOptions>): WebBluetoothPrinterTransport;
118
+ export declare function createWebBluetoothPrinterClient(options?: Partial<WebBluetoothPrinterTransportOptions>, sdkCallback?: PrinterSdkCallback): JCPrintApi;
119
+ export {};
120
+ //# sourceMappingURL=webBluetoothTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webBluetoothTransport.d.ts","sourceRoot":"","sources":["../src/webBluetoothTransport.ts"],"names":[],"mappings":"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"}