@illgrenoble/visa-print-client
Version:
[](https://badge.fury.io/js/%40illgrenoble%2Fvisa-print-client)
43 lines (42 loc) • 1.42 kB
TypeScript
import { Observable, Subject } from "rxjs";
import { PrintEvent, PrintJob } from "../models";
import * as SocketIOClient from 'socket.io-client';
import Socket = SocketIOClient.Socket;
import { ManagerOptions } from "socket.io-client/build/esm/manager";
import { SocketOptions } from "socket.io-client/build/esm/socket";
import * as i0 from "@angular/core";
export type ConnectionData = {
host?: string;
path?: string;
token?: string;
};
type Printable = {
jobId: number;
data: string;
};
export type Connection = {
id: string;
socket: Socket;
event$: Subject<PrintEvent>;
jobs: Map<number, PrintJob[]>;
printables: Printable[];
};
export declare class VisaPrintService {
private _connections;
private static _connectionCounter;
private _iframe;
private _pdfUrl;
private _pdfDidOpen;
connect(data: ConnectionData, connectionOptions?: Partial<ManagerOptions & SocketOptions>): Observable<PrintEvent>;
disconnect(connectionId: string): void;
enablePrinting(connectionId: string): void;
disablePrinting(connectionId: string): void;
openPrintable(connectionId: string, jobId: number): void;
private initialiseReceiver;
private handlePrintJob;
private processJob;
private openPDF;
static ɵfac: i0.ɵɵFactoryDeclaration<VisaPrintService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<VisaPrintService>;
}
export {};