Skip to content

Commit 2e84502

Browse files
committed
Merge branch 'dev'
2 parents 6c06679 + af5a4d8 commit 2e84502

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gcode-interpreter",
3-
"version": "1.1.0",
3+
"version": "1.1.1",
44
"description": "G-code Interpreter",
55
"author": "Cheton Wu <[email protected]>",
66
"homepage": "https://github.com/cheton/gcode-interpreter",

src/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,11 @@ class GCodeInterpreter {
111111
});
112112
return s;
113113
}
114-
loadFromFileSync(file) {
114+
loadFromFileSync(file, callback = noop) {
115115
const list = parseFileSync(file);
116116
for (let i = 0; i < list.length; ++i) {
117117
interpret(this, list[i]);
118+
callback(list[i], i);
118119
}
119120
return list;
120121
}
@@ -125,10 +126,11 @@ class GCodeInterpreter {
125126
});
126127
return s;
127128
}
128-
loadFromStringSync(str) {
129+
loadFromStringSync(str, callback = noop) {
129130
const list = parseStringSync(str);
130131
for (let i = 0; i < list.length; ++i) {
131132
interpret(this, list[i]);
133+
callback(list[i], i);
132134
}
133135
return list;
134136
}

test/index.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,19 +90,27 @@ describe('G-code Interpreter', () => {
9090
});
9191

9292
it('loadFromFileSync() should return expected result.', (done) => {
93+
let i = 0;
9394
const file = 'test/fixtures/circle.nc';
9495
const runner = new GCodeInterpreter();
95-
const results = runner.loadFromFileSync(file);
96+
const results = runner.loadFromFileSync(file, (data, index) => {
97+
expect(i).to.be.equal(index);
98+
++i;
99+
});
96100
expect(results).to.be.an('array');
97101
expect(results.length).to.be.equal(7);
98102
done();
99103
});
100104

101105
it('loadFromStringSync() should return expected result.', (done) => {
106+
let i = 0;
102107
const file = 'test/fixtures/circle.nc';
103108
const string = fs.readFileSync(file, 'utf8');
104109
const runner = new GCodeInterpreter();
105-
const results = runner.loadFromStringSync(string);
110+
const results = runner.loadFromStringSync(string, (data, index) => {
111+
expect(i).to.be.equal(index);
112+
++i;
113+
});
106114
expect(results).to.be.an('array');
107115
expect(results.length).to.be.equal(7);
108116
done();

0 commit comments

Comments
 (0)