Skip to content

Commit 790975e

Browse files
committed
fix for eslint.
1 parent 0ca79e7 commit 790975e

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

src/lib/ruby-to-blocks-converter/index.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,18 @@ class RubyToBlocksConverter {
381381
return /_variable$/.test(this._getBlockType(block));
382382
}
383383

384+
_isRubyExpression (block) {
385+
return this._isBlock(block) && block.opcode === 'ruby_expression';
386+
}
387+
388+
_getRubyExpression (block) {
389+
if (this._isRubyExpression(block)) {
390+
const textBlock = this._context.blocks[block.inputs.EXPRESSION.block];
391+
return textBlock.fields.TEXT.value;
392+
}
393+
return null;
394+
}
395+
384396
_isRubyStatement (block) {
385397
return this._isBlock(block) && block.opcode === 'ruby_statement';
386398
}

src/lib/ruby-to-blocks-converter/sensing.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@ const spriteCall = function (name) {
1414
return `sprite("${name.toString()}")`;
1515
};
1616
const SpriteCallRe = /^sprite\("(.*)"\)$/;
17-
const getSpriteName = function (block) {
18-
if (!this._isBlock(block) || block.opcode !== 'ruby_expression') {
19-
return null;
17+
const getSpriteName = function (code) {
18+
if (code !== null) {
19+
return SpriteCallRe.exec(code)[1];
2020
}
21-
const textBlock = this._context.blocks[block.inputs.EXPRESSION.block];
22-
return SpriteCallRe.exec(textBlock.fields.TEXT.value)[1];
21+
return null;
2322
};
2423

2524
const Stage = 'stage';
@@ -242,7 +241,7 @@ const SensingConverter = {
242241
break;
243242
}
244243
if (property) {
245-
const spriteName = getSpriteName.call(this, receiver);
244+
const spriteName = getSpriteName(this._getRubyExpression(receiver));
246245

247246
block = this._changeBlock(receiver, 'sensing_of', 'value');
248247
delete this._context.blocks[receiver.inputs.EXPRESSION.block];
@@ -252,7 +251,7 @@ const SensingConverter = {
252251
this._addFieldInput(block, 'OBJECT', 'sensing_of_object_menu', 'OBJECT', spriteName);
253252
}
254253
} else if (args.length === 1 && name === 'variable' && this._isString(args[0])) {
255-
const spriteName = getSpriteName.call(this, receiver);
254+
const spriteName = getSpriteName(this._getRubyExpression(receiver));
256255

257256
block = this._changeBlock(receiver, 'sensing_of', 'value');
258257
delete this._context.blocks[receiver.inputs.EXPRESSION.block];

0 commit comments

Comments
 (0)