@ankhzet/goo
Version:
Elegoo .goo file format reader/writer
22 lines (21 loc) • 1.81 kB
TypeScript
import type { GlobalConfig, Goo, GooHeader, GooLayer, GooLayersConfig, GooPreview, GooSummary, LayerDefinition, LiftRetract, MotionConfig, Motions, MotionTimes, PrinterDefinition } from './interfaces.js';
import { BinaryWriter } from './BinaryWriter.js';
export declare class GooWriter {
protected writer: BinaryWriter;
constructor(writer: BinaryWriter);
write(goo: Goo, consumer: (buffer: Buffer) => Promise<unknown>): Promise<number>;
protected writeData(goo: Goo): AsyncGenerator<Buffer | ((pos: number) => Buffer), void, any>;
protected writeHeader(header: GooHeader): AsyncGenerator<Buffer | ((pos: number) => Buffer), void, any>;
protected mark(offset: number): Generator<Buffer | ((pos: number) => Buffer), void, unknown>;
protected writeLayerConfig(config: GooLayersConfig): Generator<Buffer, void, any>;
protected writeSummary(summary: GooSummary): Generator<Buffer, void, unknown>;
protected writeGlobalConfig<T>(config: GlobalConfig<T>, map: (item: T) => Generator<Buffer>): Generator<Buffer, void, any>;
protected writeMotions<T>(config: Motions<T>, map: (item: T) => Generator<Buffer>): Generator<Buffer, void, any>;
protected writeLiftRetract<T>(config: LiftRetract<T>, map: (item: T) => Generator<Buffer>): Generator<Buffer, void, any>;
protected writeMotionTimes(times: MotionTimes): Generator<Buffer, void, unknown>;
protected writeMotionConfig(config: MotionConfig): Generator<Buffer, void, unknown>;
protected writePreview(preview: GooPreview): AsyncGenerator<Buffer>;
protected writeDelimiter(): Generator<Buffer, void, unknown>;
protected writeLayer(layer: GooLayer, printer: PrinterDefinition): AsyncGenerator<Buffer, void, any>;
protected writeLayerDefinition(definition: LayerDefinition): Generator<Buffer, void, any>;
}