UNPKG

react-native-star-io10

Version:

react-native-star-io10 is a library for supporting application development for Star Micronics devices.

556 lines (469 loc) 21.4 kB
import { StarXpandCommand } from '../../index'; import { StarXpandCommandParameterConverter } from './StarXpandCommandParameterConverter'; export class PrinterBaseBuilder { static addPrinterParameter(parameters: Map<string, any>, printerParameter: StarXpandCommand.Printer.PrinterParameter) { let parameter = parameters.get("parameters")as Array<Map<string, any>>; if (printerParameter.templateExtension !== undefined) { parameter.push( new Map<string, any>([ ["method", "Setting.TemplateExtension"], ["parameter", new Map([ ["enableArrayFieldData", printerParameter.templateExtension.enableArrayFieldData] ])] ]) ); } } static addPageModeParameter(parameters: Map<string, any>, pageModeParameter: StarXpandCommand.Printer.PageModeParameter) { let parameter = parameters.get("parameters")as Array<Map<string, any>>; if (pageModeParameter.templateExtension !== undefined) { parameter.push( new Map<string, any>([ ["method", "Setting.TemplateExtension"], ["parameter", new Map([ ["enableArrayFieldData", pageModeParameter.templateExtension.enableArrayFieldData] ])] ]) ); } } static styleAlignment(parameters: Map<string, any>, position: StarXpandCommand.Printer.Alignment) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.Alignment"], ["parameter", new Map([ ["position", StarXpandCommandParameterConverter.convertAlignment(position)] ])] ]) ); } static styleFont(parameters: Map<string, any>, type: StarXpandCommand.Printer.FontType) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.Font"], ["parameter", new Map([ ["type", StarXpandCommandParameterConverter.convertFontType(type)] ])] ]) ) } static styleBold(parameters: Map<string, any>, enable: boolean) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.Bold"], ["parameter", new Map([ ["enable", enable] ])] ]) ) } static styleInvert(parameters: Map<string, any>, enable: boolean) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.Invert"], ["parameter", new Map([ ["enable", enable] ])] ]) ) } static styleUnderLine(parameters: Map<string, any>, enable: boolean) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.UnderLine"], ["parameter", new Map([ ["enable", enable] ])] ]) ) } static styleMagnification(parameters: Map<string, any>, parameter: StarXpandCommand.MagnificationParameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.Magnification"], ["parameter", new Map([ ["width", Math.floor(parameter.width)], ["height", Math.floor(parameter.height)] ])] ]) ) } static styleBaseMagnification(parameters: Map<string, any>, parameter: StarXpandCommand.Printer.BaseMagnificationParameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.BaseMagnification"], ["parameter", new Map([ ["text", StarXpandCommandParameterConverter.convertBaseMagnification(parameter.text)] ])] ]) ) } static styleCharacterSpace(parameters: Map<string, any>, width: number) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.CharacterSpace"], ["parameter", new Map([ ["width", width] ])] ]) ) } static styleLineSpace(parameters: Map<string, any>, height: number) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.LineSpace"], ["parameter", new Map([ ["height", height] ])] ]) ) } static styleHorizontalPositionTo(parameters: Map<string, any>, position: number) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.HorizontalPositionTo"], ["parameter", new Map([ ["position", position] ])] ]) ) } static styleHorizontalPositionBy(parameters: Map<string, any>, position: number) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.HorizontalPositionBy"], ["parameter", new Map([ ["position", position] ])] ]) ) } static styleHorizontalTabPositions(parameters: Map<string, any>, positions: Array<number>) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.HorizontalTabPositions"], ["parameter", new Map([ ["positions", positions] ])] ]) ) } static styleVerticalPositionTo(parameters: Map<string, any>, position: number) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.VerticalPositionTo"], ["parameter", new Map<string, any>([ ["position",position] ])] ]) ); } static styleVerticalPositionBy(parameters: Map<string, any>, position: number) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.VerticalPositionBy"], ["parameter", new Map<string, any>([ ["position",position] ])] ]) ); } static styleInternationalCharacter(parameters: Map<string, any>, type: StarXpandCommand.Printer.InternationalCharacterType) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.InternationalCharacter"], ["parameter", new Map([ ["type", StarXpandCommandParameterConverter.convertPrinterInternationalCharacterType(type)] ])] ]) ) } static styleSecondPriorityCharacterEncoding(parameters: Map<string, any>, type: StarXpandCommand.Printer.CharacterEncodingType) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.SecondPriorityCharacterEncoding"], ["parameter", new Map([ ["type", StarXpandCommandParameterConverter.convertPrinterCharacterEncodingType(type)] ])] ]) ) } static styleCjkCharacterPriority(parameters: Map<string, any>, types: Array<StarXpandCommand.Printer.CjkCharacterType>) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.CjkCharacterPriority"], ["parameter", new Map([ ["types", StarXpandCommandParameterConverter.convertCjkCharacterTypeArray(types)] ])] ]) ) } static stylePrintDirection(parameters: Map<string, any>, PageModePrintDirection: StarXpandCommand.Printer.PageModePrintDirection) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.PrintDirection"], ["parameter", new Map<string, any>([ ["direction", StarXpandCommandParameterConverter.convertPageModePrintDirection(PageModePrintDirection)] ])] ]) ); } static styleAmbiguousCharacterWidthType(parameters: Map<string, any>, type: StarXpandCommand.Printer.AmbiguousCharacterWidthType) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Style.AmbiguousCharacterWidthType"], ["parameter", new Map<string, any>([ ["type", StarXpandCommandParameterConverter.convertAmbiguousCharacterWidthType(type)] ])] ]) ); } static actionCut(parameters: Map<string, any>, type: StarXpandCommand.Printer.CutType) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Cut"], ["parameter", new Map([ ["type", StarXpandCommandParameterConverter.convertCutType(type)] ])] ]) ) } static actionFeed(parameters: Map<string, any>, height: number) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Feed.Unit"], ["parameter", new Map([ ["height", height] ])] ]) ) } static actionFeedLine(parameters: Map<string, any>, lines: number) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Feed.Line"], ["parameter", new Map([ ["lines", Math.floor(lines)] ])] ]) ) } static actionSeparatorFeed(parameters: Map<string, any>) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Feed.Separator"], ["parameter", new Map()] ]) ) } static actionPrintText(parameters: Map<string, any>, content: string, parameter: StarXpandCommand.Printer.TextParameter | undefined) { let contents = parameters.get("contents") as Array<Map<string, any>>; let parameterMap = new Map<string, any>([ ["content", StarXpandCommandParameterConverter.convertString(content)] ]); if (parameter?.width !== undefined) { parameterMap.set("width", parameter?.width); let widthParameter = parameter.widthParameter ?? new StarXpandCommand.Printer.TextWidthParameter() parameterMap.set("widthType", StarXpandCommandParameterConverter.convertTextWidthType(widthParameter.widthType)); parameterMap.set("alignment", StarXpandCommandParameterConverter.convertTextAlignment(widthParameter.alignment)); parameterMap.set("ellipsizeType", StarXpandCommandParameterConverter.convertTextEllipsizeType(widthParameter.ellipsizeType)); parameterMap.set("printType", StarXpandCommandParameterConverter.convertTextPrintType(widthParameter.printType)); } contents.push( new Map<string, any>([ ["method", "Action.Print.Text"], ["parameter", parameterMap] ]) ); } static actionPrintLogo(parameters: Map<string, any>, parameter: StarXpandCommand.Printer.LogoParameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.Logo"], ["parameter", new Map([ ["key_code", StarXpandCommandParameterConverter.convertString(parameter.keyCode)] ])] ]) ) } static actionPrintBarcode(parameters: Map<string, any>, parameter: StarXpandCommand.Printer.BarcodeParameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.Barcode"], ["parameter", new Map<string, any>([ ["content", StarXpandCommandParameterConverter.convertString(parameter.content)], ["symbology", StarXpandCommandParameterConverter.convertBarcodeSymbology(parameter.symbology)], ["bar_dots", Math.floor(parameter.barDots)], ["bar_ratio_level", StarXpandCommandParameterConverter.convertBarcodeBarRatioLevel(parameter.barRatioLevel)], ["height", parameter.height], ["print_hri", parameter.printHri] ])] ]) ) } static actionPrintPdf417(parameters: Map<string, any>, parameter: StarXpandCommand.Printer.Pdf417Parameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.Pdf417"], ["parameter", new Map<string, any>([ ["content", StarXpandCommandParameterConverter.convertString(parameter.content)], ["column", Math.floor(parameter.column)], ["line", Math.floor(parameter.line)], ["module", Math.floor(parameter.module)], ["aspect", Math.floor(parameter.aspect)], ["level", StarXpandCommandParameterConverter.convertPdf417Level(parameter.level)] ])] ]) ) } static actionPrintQRCode(parameters: Map<string, any>, parameter: StarXpandCommand.Printer.QRCodeParameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.QRCode"], ["parameter", new Map<string, any>([ ["content", StarXpandCommandParameterConverter.convertString(parameter.content)], ["model", StarXpandCommandParameterConverter.convertQRCodeModel(parameter.model)], ["level", StarXpandCommandParameterConverter.convertQRCodeLevel(parameter.level)], ["cell_size", Math.floor(parameter.cellSize)] ])] ]) ) } static actionPrintRuledLine(parameters: Map<string, any>, RuledLineParameter: StarXpandCommand.Printer.RuledLineParameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.RuledLine"], ["parameter", new Map<string, any>([ ["x", RuledLineParameter.x], ["width", RuledLineParameter.width], ["thickness", RuledLineParameter.thickness], ["lineStyle", StarXpandCommandParameterConverter.convertLineStyle(RuledLineParameter.lineStyle)], ])] ]) ); } static stylePageModeArea(parameters: any, PageModeRectangleParameter: StarXpandCommand.Printer.PageModeAreaParameter) { let pageModeContents = parameters.get("parameters") as Array<Map<string, any>>; pageModeContents.unshift( new Map<string, any>([ ["method", "Style.PageMode.Area"], ["parameter", new Map([ ["x", PageModeRectangleParameter.x], ["y", PageModeRectangleParameter.y], ["width", PageModeRectangleParameter.width], ["height", PageModeRectangleParameter.height] ])] ]) ); } static actionPrintPageModeRuledLine(parameters: Map<string, any>, PageModeRuledLineParameter: StarXpandCommand.Printer.PageModeRuledLineParameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.PageModeRuledLine"], ["parameter", new Map<string, any>([ ["xStart", PageModeRuledLineParameter.xStart], ["yStart", PageModeRuledLineParameter.yStart], ["xEnd", PageModeRuledLineParameter.xEnd], ["yEnd", PageModeRuledLineParameter.yEnd], ["thickness", PageModeRuledLineParameter.thickness], ["lineStyle", StarXpandCommandParameterConverter.convertLineStyle(PageModeRuledLineParameter.lineStyle)], ])] ]) ); } static actionPrintRectangle(parameters: Map<string, any>, PageModeRectangleParameter: StarXpandCommand.Printer.PageModeRectangleParameter) { let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.PageModeRectangle"], ["parameter", new Map<string, any>([ ["x", PageModeRectangleParameter.x], ["y", PageModeRectangleParameter.y], ["width", PageModeRectangleParameter.width], ["height", PageModeRectangleParameter.height], ["thickness", PageModeRectangleParameter.thickness], ["lineStyle", StarXpandCommandParameterConverter.convertLineStyle(PageModeRectangleParameter.lineStyle)], ["roundCorner", PageModeRectangleParameter.roundCorner], ["cornerRadius", PageModeRectangleParameter.cornerRadius], ])] ]) ); } static actionPrintImage(parameters: Map<string, any>, source: string) { let printImageObject = JSON.parse(source); if (!printImageObject.hasOwnProperty('parameter')) { return; } let parameter = printImageObject.parameter; if (!parameter.hasOwnProperty('source') || !parameter.hasOwnProperty('width') || !parameter.hasOwnProperty('height')) { return; } let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.Image"], ["parameter", new Map<string, any>([ ["source", StarXpandCommandParameterConverter.convertString(parameter.source)], ["width", parameter.width], ["height", parameter.height] ])] ]) ); } static actionPrintPageModeImage(parameters: Map<string, any>, source: string,x:number , y:number) { let printImageObject = JSON.parse(source); if (!printImageObject.hasOwnProperty('parameter')) { return; } let parameter = printImageObject.parameter; if (!parameter.hasOwnProperty('source') || !parameter.hasOwnProperty('width') || !parameter.hasOwnProperty('height')) { return; } let contents = parameters.get("contents") as Array<Map<string, any>>; contents.push( new Map<string, any>([ ["method", "Action.Print.PageModeImage"], ["parameter", new Map<string, any>([ ["source", StarXpandCommandParameterConverter.convertString(parameter.source)], ["x",x], ["y",y], ["width", parameter.width], ["height", parameter.height] ])] ]) ); } }