@esslassi/electron-printer 0.0.5 → 0.0.7

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,61 @@
1
+ export type PrintOnSuccessFunction = (jobId: string) => any;
2
+ export type PrintOnErrorFunction = (err: Error) => any;
3
+ export interface PrintDirectOptions {
4
+ data: string | Buffer;
5
+ printer?: string;
6
+ type?: 'RAW' | 'TEXT' | 'COMMAND' | 'AUTO';
7
+ options?: {
8
+ [key: string]: string;
9
+ };
10
+ success?: PrintOnSuccessFunction;
11
+ error?: PrintOnErrorFunction;
12
+ }
13
+ export interface PrintFileOptions {
14
+ filename: string;
15
+ printer?: string;
16
+ success?: PrintOnSuccessFunction;
17
+ error?: PrintOnErrorFunction;
18
+ }
19
+ export interface PrinterDetails {
20
+ name: string;
21
+ isDefault: boolean;
22
+ options: {
23
+ [key: string]: string;
24
+ };
25
+ }
26
+ export interface PrinterDriverOptions {
27
+ [key: string]: {
28
+ [key: string]: boolean;
29
+ };
30
+ }
31
+ export type JobStatus = 'PAUSED' | 'PRINTING' | 'PRINTED' | 'CANCELLED' | 'PENDING' | 'ABORTED';
32
+ export type JobCommand = "CANCEL" | "PAUSE" | "RESUME";
33
+ export interface JobDetails {
34
+ id: number;
35
+ name: string;
36
+ printerName: string;
37
+ user: string;
38
+ format: string;
39
+ priority: number;
40
+ size: number;
41
+ status: JobStatus[];
42
+ completedTime: Date;
43
+ creationTime: Date;
44
+ processingTime: Date;
45
+ }
46
+ export declare function getPrinters(): PrinterDetails[];
47
+ export declare function getPrinter(printerName: string): PrinterDetails;
48
+ export declare function getPrinterDriverOptions(printerName: string): PrinterDriverOptions;
49
+ export declare function getSelectedPaperSize(printerName: string): string;
50
+ export declare function getDefaultPrinterName(): string | undefined;
51
+ export declare function printDirect(options: PrintDirectOptions): void;
52
+ export declare function printFile(options: PrintFileOptions): void;
53
+ export declare function getSupportedPrintFormats(): string[];
54
+ export declare function getJob(printerName: string, jobId: number): JobDetails;
55
+ export declare function setJob(printerName: string, jobId: number, command: JobCommand): void;
56
+ export declare function getSupportedJobCommands(): string[];
57
+ export declare function printDirectAsync(options: Omit<PrintDirectOptions, 'success' | 'error'>): Promise<string>;
58
+ export declare function printFileAsync(options: Omit<PrintFileOptions, 'success' | 'error'>): Promise<string>;
59
+ export declare function getJobAsync(printerName: string, jobId: number): Promise<JobDetails>;
60
+ export declare function getPrintersAsync(): Promise<PrinterDetails[]>;
61
+ export declare function getPrinterAsync(printerName: string): Promise<PrinterDetails>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPrinters = getPrinters;
7
+ exports.getPrinter = getPrinter;
8
+ exports.getPrinterDriverOptions = getPrinterDriverOptions;
9
+ exports.getSelectedPaperSize = getSelectedPaperSize;
10
+ exports.getDefaultPrinterName = getDefaultPrinterName;
11
+ exports.printDirect = printDirect;
12
+ exports.printFile = printFile;
13
+ exports.getSupportedPrintFormats = getSupportedPrintFormats;
14
+ exports.getJob = getJob;
15
+ exports.setJob = setJob;
16
+ exports.getSupportedJobCommands = getSupportedJobCommands;
17
+ exports.printDirectAsync = printDirectAsync;
18
+ exports.printFileAsync = printFileAsync;
19
+ exports.getJobAsync = getJobAsync;
20
+ exports.getPrintersAsync = getPrintersAsync;
21
+ exports.getPrinterAsync = getPrinterAsync;
22
+ const bindings_1 = __importDefault(require("bindings"));
23
+ const native = (0, bindings_1.default)('electron_printer');
24
+ /* ===========================
25
+ DIRECT NATIVE EXPORTS
26
+ =========================== */
27
+ function getPrinters() {
28
+ return native.getPrinters();
29
+ }
30
+ function getPrinter(printerName) {
31
+ return native.getPrinter(printerName);
32
+ }
33
+ function getPrinterDriverOptions(printerName) {
34
+ return native.getPrinterDriverOptions(printerName);
35
+ }
36
+ function getSelectedPaperSize(printerName) {
37
+ return native.getSelectedPaperSize(printerName);
38
+ }
39
+ function getDefaultPrinterName() {
40
+ return native.getDefaultPrinterName();
41
+ }
42
+ function printDirect(options) {
43
+ native.printDirect(options);
44
+ }
45
+ function printFile(options) {
46
+ native.printFile(options);
47
+ }
48
+ function getSupportedPrintFormats() {
49
+ return native.getSupportedPrintFormats();
50
+ }
51
+ function getJob(printerName, jobId) {
52
+ return native.getJob(printerName, jobId);
53
+ }
54
+ function setJob(printerName, jobId, command) {
55
+ native.setJob(printerName, jobId, command);
56
+ }
57
+ function getSupportedJobCommands() {
58
+ return native.getSupportedJobCommands();
59
+ }
60
+ /* ==================================================
61
+ PROMISE WRAPPERS (Async/Await Friendly)
62
+ ================================================== */
63
+ function printDirectAsync(options) {
64
+ return new Promise((resolve, reject) => {
65
+ native.printDirect({
66
+ ...options,
67
+ success: (jobId) => resolve(jobId),
68
+ error: (err) => reject(err)
69
+ });
70
+ });
71
+ }
72
+ function printFileAsync(options) {
73
+ return new Promise((resolve, reject) => {
74
+ native.printFile({
75
+ ...options,
76
+ success: (jobId) => resolve(jobId),
77
+ error: (err) => reject(err)
78
+ });
79
+ });
80
+ }
81
+ function getJobAsync(printerName, jobId) {
82
+ return Promise.resolve(native.getJob(printerName, jobId));
83
+ }
84
+ function getPrintersAsync() {
85
+ return Promise.resolve(native.getPrinters());
86
+ }
87
+ function getPrinterAsync(printerName) {
88
+ return Promise.resolve(native.getPrinter(printerName));
89
+ }
package/lib/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './electronPrinter';
package/lib/index.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./electronPrinter"), exports);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@esslassi/electron-printer",
3
3
  "description": "Node.js and Electron bindings",
4
- "version": "0.0.5",
4
+ "version": "0.0.7",
5
5
  "main": "./lib/index.js",
6
6
  "private": false,
7
7
  "scripts": {