react-native-star-io10
Version:
react-native-star-io10 is a library for supporting application development for Star Micronics devices.
273 lines (204 loc) • 8.71 kB
text/typescript
import { NativeModules } from 'react-native';
import { BaseStarXpandCommandBuilder } from './BaseStarXpandCommandBuilder';
import { StarIO10ErrorFactory } from '../StarIO10ErrorFactory';
import { StarXpandCommand } from '../../index';
import { PrinterBaseBuilder } from './PrinterBaseBuilder';
export class PageModeBuilder extends BaseStarXpandCommandBuilder {
public _parameter: StarXpandCommand.Printer.PageModeParameter | undefined = undefined;
public _parameters: Map<string, any>;
constructor();
constructor(parameter: StarXpandCommand.Printer.PageModeParameter | undefined);
constructor(parameter?: StarXpandCommand.Printer.PageModeParameter | undefined) {
super();
if (parameter !== undefined) {
this._parameter = parameter;
}
this._parameters = new Map<string, any>([
["category", "PageMode"],
["parameters", []],
["contents", new Array<Map<string, any>>()]
]);
}
stylePrintDirection(direction: StarXpandCommand.Printer.PageModePrintDirection): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.stylePrintDirection(this._parameters, direction);
});
return this;
}
styleFont(type: StarXpandCommand.Printer.FontType): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleFont(this._parameters, type);
});
return this;
}
styleBold(enable: boolean): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleBold(this._parameters, enable);
});
return this;
}
styleInvert(enable: boolean): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleInvert(this._parameters, enable);
});
return this;
}
styleUnderLine(enable: boolean): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleUnderLine(this._parameters, enable);
});
return this;
}
styleMagnification(parameter: StarXpandCommand.MagnificationParameter): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleMagnification(this._parameters, parameter);
});
return this;
}
styleBaseMagnification(parameter: StarXpandCommand.Printer.BaseMagnificationParameter): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleBaseMagnification(this._parameters, parameter);
});
return this;
}
styleCharacterSpace(width: number): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleCharacterSpace(this._parameters, width);
});
return this;
}
styleLineSpace(height: number): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleLineSpace(this._parameters, height);
});
return this;
}
styleVerticalPositionTo(position: number): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleVerticalPositionTo(this._parameters, position);
});
return this;
}
styleVerticalPositionBy(position: number): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleVerticalPositionBy(this._parameters, position);
});
return this;
}
styleHorizontalPositionTo(position: number): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleHorizontalPositionTo(this._parameters, position);
});
return this;
}
styleHorizontalPositionBy(position: number): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleHorizontalPositionBy(this._parameters, position);
});
return this;
}
styleHorizontalTabPositions(positions: Array<number>): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleHorizontalTabPositions(this._parameters, positions);
});
return this;
}
styleInternationalCharacter(type: StarXpandCommand.Printer.InternationalCharacterType): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleInternationalCharacter(this._parameters, type);
});
return this;
}
styleSecondPriorityCharacterEncoding(type: StarXpandCommand.Printer.CharacterEncodingType): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleSecondPriorityCharacterEncoding(this._parameters, type);
});
return this;
}
styleCjkCharacterPriority(types: Array<StarXpandCommand.Printer.CjkCharacterType>): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleCjkCharacterPriority(this._parameters, types);
});
return this;
}
styleAmbiguousCharacterWidthType(type: StarXpandCommand.Printer.AmbiguousCharacterWidthType): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.styleAmbiguousCharacterWidthType(this._parameters, type);
});
return this;
}
actionPrintText(content: string, parameter: StarXpandCommand.Printer.TextParameter | undefined = undefined): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.actionPrintText(this._parameters, content, parameter);
});
return this;
}
actionPrintBarcode(parameter: StarXpandCommand.Printer.BarcodeParameter): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.actionPrintBarcode(this._parameters, parameter);
});
return this;
}
actionPrintPdf417(parameter: StarXpandCommand.Printer.Pdf417Parameter): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.actionPrintPdf417(this._parameters, parameter);
});
return this;
}
actionPrintQRCode(parameter: StarXpandCommand.Printer.QRCodeParameter): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.actionPrintQRCode(this._parameters, parameter);
});
return this;
}
actionPrintImage(parameter: StarXpandCommand.Printer.PageModeImageParameter): PageModeBuilder {
this._addAction(async() => {
var result = await NativeModules.PageModeBuilderWrapper.actionPrintImage(parameter.source,parameter.x,parameter.y,parameter.width,parameter.effectDiffusion,parameter.threshold)
.catch(async (nativeError: any) => {
var error = await StarIO10ErrorFactory.create(nativeError.code);
throw error;
});
PrinterBaseBuilder.actionPrintPageModeImage(this._parameters, result,parameter.x,parameter.y);
});
return this;
}
actionPrintRuledLine(parameter: StarXpandCommand.Printer.PageModeRuledLineParameter): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.actionPrintPageModeRuledLine(this._parameters, parameter);
});
return this;
}
actionPrintRectangle(parameter: StarXpandCommand.Printer.PageModeRectangleParameter): PageModeBuilder {
this._addAction(async() => {
PrinterBaseBuilder.actionPrintRectangle(this._parameters, parameter);
});
return this;
}
add(builder: StarXpandCommand.PageModeBuilder): PageModeBuilder {
this._addChild(builder);
this._addAction(async() => {
if (builder._parameter !== undefined) {
PrinterBaseBuilder.addPageModeParameter(builder._parameters, builder._parameter!)
}
let contents = this._parameters.get("contents") as Array<Map<string, any>>;
contents.push(
builder._parameters
)
});
return this;
}
addPageMode(parameter: StarXpandCommand.Printer.PageModeAreaParameter, builder: StarXpandCommand.PageModeBuilder): PageModeBuilder {
this._addChild(builder);
this._addAction(async() => {
PrinterBaseBuilder.stylePageModeArea(builder._parameters, parameter)
if (builder._parameter !== undefined) {
PrinterBaseBuilder.addPageModeParameter(builder._parameters, builder._parameter!)
}
let contents = this._parameters.get("contents") as Array<Map<string, any>>;
contents.push(
builder._parameters
)
});
return this;
}
}