react-native-citizen-escposprinter
Version:
A Turbo Module wrapper for the Citizen ESC POS Printer SDK.
259 lines (210 loc) • 5.92 kB
text/typescript
import type { TurboModule } from "react-native";
import { TurboModuleRegistry } from "react-native";
export interface Spec extends TurboModule {
connect(
/** @type ESCPOSPrinterConnectType */
connectType: number,
address: string,
port: number,
timeout: number,
): Promise<number>;
disconnect(id: number): Promise<void>;
setEncoding(id: number, encoding: string): Promise<void>;
printerCheck(id: number): Promise<void>;
status(
id: number,
/** ESCPOSPrinterStatus */
type: number,
): Promise<number>;
printText(
id: number,
data: string,
/** @type ESCPOSPrinterPrintAlignment */
alignment: number,
/** @type ESCPOSPrinterTextAttribute */
attribute: number,
/** @type ESCPOSPrinterTextSize */
textSize: number,
): Promise<void>;
printPaddingText(
id: number,
data: string,
/** @type ESCPOSPrinterTextAttribute */
attribute: number,
/** @type ESCPOSPrinterTextSize */
textSize: number,
length: number,
/** @type ESCPOSConst.CMP_SIDE_RIGHT | ESCPOSConst.CMP_SIDE_LEFT */
side: number,
): Promise<void>;
printTextLocalFont(
id: number,
data: string,
/** @type ESCPOSPrinterPrintAlignment */
alignment: number,
/** @type ESCPOSPrinterTypeface */
fontType: string,
point: number,
/** @type ESCPOSPrinterFontStyle */
style: number,
/** 1-1000 */
hRatio: number,
/** 1-1000 */
vRatio: number,
): Promise<void>;
printBitmap(
id: number,
data: string,
width: number,
/** @type ESCPOSPrinterPrintAlignment */
alignment: number,
/** @type ESCPOSPrinterBitmapMode */
mode: number,
): Promise<void>;
printBarCode(
id: number,
data: string,
/** @type ESCPOSPrinterBarcodeType */
symbology: number,
height: number,
width: number,
/** @type ESCPOSPrinterPrintAlignment */
alignment: number,
/** @type ESCPOSPrinterTextPosition */
textPosition: number,
): Promise<void>;
printPDF417(
id: number,
data: string,
digits: number,
steps: number,
moduleWidth: number,
stepHeight: number,
/** @type ESCPOSPrinterPDF417ECLevel */
ECLevel: number,
/** @type ESCPOSPrinterPrintAlignment */
alignment: number,
): Promise<void>;
printQRCode(
id: number,
data: string,
moduleSize: number,
/** @type ESCPOSPrinterQRCodeECLevel */
ECLevel: number,
/** @type ESCPOSPrinterPrintAlignment */
alignment: number,
): Promise<void>;
printGS1DataBarStacked(
id: number,
data: string,
/** @type ESCPOSPrinterGS1DatabarType */
symbology: number,
moduleSize: number,
maxSize: number,
/** @type ESCPOSPrinterPrintAlignment */
alignment: number,
): Promise<void>;
cutPaper(
id: number,
/** @type ESCPOSPrinterCutType */
type: number,
): Promise<void>;
unitFeed(id: number, ufCount: number): Promise<void>;
markFeed(
id: number,
/** @type ESCPOSPrinterMarkFeedType */
type: number,
): Promise<void>;
openDrawer(
id: number,
/** @type ESCPOSPrinterDrawer */
drawer: number,
pulseLen: number,
): Promise<void>;
transactionPrint(
id: number,
/** @type ESCPOSPrinterTransactionControl */
control: number,
): Promise<void>;
rotatePrint(
id: number,
/** @type ESCPOSPrinterRotation */
rotation: number,
): Promise<void>;
pageModePrint(
id: number,
/** @type ESCPOSPrinterPageModeControl */
control: number,
): Promise<void>;
clearPrintArea(id: number): Promise<void>;
clearOutput(id: number): Promise<void>;
printData(id: number, data: string): Promise<void>;
printNormal(id: number, data: string): Promise<void>;
watermarkPrint(
id: number,
start: number,
nvImageNumber: number,
pass: number,
feed: number,
repeat: number,
): Promise<void>;
printNVBitmap(id: number, nvImageNumber: number): Promise<void>;
searchCitizenPrinter(
/** @type ESCPOSPrinterSearchType */
connectType: number,
timeout: number,
): Promise<object[]>;
searchESCPOSPrinter(
/** @type ESCPOSPrinterSearchType */
connectType: number,
timeout: number,
): Promise<string[]>;
printerCheckEx(
/** @type ESCPOSPrinterConnectType */
connectType: number,
address: string,
port: number,
timeout: number,
): Promise<number>;
openDrawerEx(
/** @type ESCPOSPrinterDrawer */
drawer: number,
pulseLen: number,
/** @type ESCPOSPrinterConnectType */
connectType: number,
address: string,
port: number,
timeout: number,
): Promise<void>;
setPrintCompletedTimeout(id: number, timeout: number): Promise<void>;
setLog(
id: number,
mode: number,
path: string,
maxSize: number,
): Promise<void>;
getVersionCode(): Promise<number>;
getVersionName(): Promise<string>;
getPageModeArea(id: number): Promise<string>;
getPageModePrintArea(id: number): Promise<string>;
setPageModePrintArea(id: number, area: string): Promise<void>;
getPageModePrintDirection(id: number): Promise<number>;
setPageModePrintDirection(
id: number,
/** @type ESCPOSPrinterPageModePrintDirection */
direction: number,
): Promise<void>;
getPageModeHorizontalPosition(id: number): Promise<number>;
setPageModeHorizontalPosition(id: number, position: number): Promise<void>;
getPageModeVerticalPosition(id: number): Promise<number>;
setPageModeVerticalPosition(id: number, position: number): Promise<void>;
getRecLineSpacing(id: number): Promise<number>;
setRecLineSpacing(id: number, spacing: number): Promise<void>;
getMapMode(id: number): Promise<number>;
setMapMode(
id: number,
/** @type ESCPOSPrinterMapMode */
mode: number,
): Promise<void>;
}
export default TurboModuleRegistry.getEnforcing<Spec>("CitizenEscposprinter");