UNPKG

@nebulaglitch/gcode

Version:
61 lines (56 loc) 1.79 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const numeral = require('numeral'); const argument = require('./argument.cjs'); function _define_property(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class Command { processArgs() { const processedArgs = this.args.map((current)=>{ let result = current; if (typeof current === 'number') { if (Number.isInteger(current)) { result = current; } else if (isNaN(current)) { result = ''; } else if (!isFinite(current)) { result = ''; } else { result = numeral(current).format('0.0000'); } } else if (current instanceof argument.default) { result = current.toString(); } return result; }); return processedArgs; } toString() { let output = `${this.code}${this.codeNumber}`; if (this.args.length > 0) { output += ' ' + this.processArgs().join(' '); } return output; } constructor(code, codeNumber = ''){ _define_property(this, "code", void 0); _define_property(this, "codeNumber", void 0); _define_property(this, "args", void 0); this.code = code; this.codeNumber = codeNumber; this.args = []; } } exports.default = Command; //# sourceMappingURL=command.cjs.map