import type { LabelPrintPayload, LabelTemplateData, MonochromeImageData, PrintImageOptions, StructuredLabelTemplate, } from '../types/printer' import { resolveTscTemplate } from '../templateRenderer' import { createTestPrintTemplate } from '../templates/testPrintTemplate' import { buildTestTscLabel, buildTscImageLabel, buildTscLabel, buildTscTemplateLabel } from '../tscLabelBuilder' export function buildTscTestPrintData (): number[] { const template = createTestPrintTemplate(203, 1) if (!template.tsc) { throw new Error('Test template does not support TSC printers') } return buildTscTemplateLabel(template.tsc) } export function buildTscLabelData (payload: LabelPrintPayload): number[] { return buildTscLabel(payload) } export function buildTscImageData ( image: MonochromeImageData, options: PrintImageOptions = {}, dpi = 203 ): number[] { return buildTscImageLabel(image, options, dpi) } export function buildTscTemplateData ( template: StructuredLabelTemplate, data: LabelTemplateData = {} ): number[] { return buildTscTemplateLabel(resolveTscTemplate(template, data)) }