@scalenc/nc-format
Version:
Library for handling TRUMPF NC file format.
36 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NcBuilder = void 0;
const models_1 = require("../models");
const BlockBuilder_1 = require("./BlockBuilder");
class NcBuilder {
options;
text = new models_1.NcText();
constructor(options) {
this.options = options;
}
static block(block) {
return new NcBuilder().block(block);
}
block(block) {
if (typeof block === 'function') {
const blockBuilder = new BlockBuilder_1.BlockBuilder();
blockBuilder.block.line = this.text.blocks.length + 1;
if (this.options?.blockNumberIncrement) {
blockBuilder.block.blockNumber = (this.text.blocks[this.text.blocks.length - 1]?.blockNumber ?? 0) + this.options.blockNumberIncrement;
}
block(blockBuilder);
this.text.blocks.push(blockBuilder.block);
}
else {
block.line = this.text.blocks.length + 1;
if (this.options?.blockNumberIncrement) {
block.blockNumber = (this.text.blocks[this.text.blocks.length - 1]?.blockNumber ?? 0) + this.options.blockNumberIncrement;
}
this.text.blocks.push(block);
}
return this;
}
}
exports.NcBuilder = NcBuilder;
//# sourceMappingURL=NcBuilder.js.map