mirror of
https://github.com/google/blockly.git
synced 2026-01-11 02:47:09 +01:00
chore: Convert == to === and != to !== where possible. (#5599)
This commit is contained in:
@@ -67,7 +67,7 @@ Blockly.JavaScript['lists_isEmpty'] = function(block) {
|
||||
|
||||
Blockly.JavaScript['lists_indexOf'] = function(block) {
|
||||
// Find an item in the list.
|
||||
var operator = block.getFieldValue('END') == 'FIRST' ?
|
||||
var operator = block.getFieldValue('END') === 'FIRST' ?
|
||||
'indexOf' : 'lastIndexOf';
|
||||
var item = Blockly.JavaScript.valueToCode(block, 'FIND',
|
||||
Blockly.JavaScript.ORDER_NONE) || '\'\'';
|
||||
@@ -85,54 +85,54 @@ Blockly.JavaScript['lists_getIndex'] = function(block) {
|
||||
// Note: Until January 2013 this block did not have MODE or WHERE inputs.
|
||||
var mode = block.getFieldValue('MODE') || 'GET';
|
||||
var where = block.getFieldValue('WHERE') || 'FROM_START';
|
||||
var listOrder = (where == 'RANDOM') ? Blockly.JavaScript.ORDER_NONE :
|
||||
var listOrder = (where === 'RANDOM') ? Blockly.JavaScript.ORDER_NONE :
|
||||
Blockly.JavaScript.ORDER_MEMBER;
|
||||
var list = Blockly.JavaScript.valueToCode(block, 'VALUE', listOrder) || '[]';
|
||||
|
||||
switch (where) {
|
||||
case ('FIRST'):
|
||||
if (mode == 'GET') {
|
||||
if (mode === 'GET') {
|
||||
var code = list + '[0]';
|
||||
return [code, Blockly.JavaScript.ORDER_MEMBER];
|
||||
} else if (mode == 'GET_REMOVE') {
|
||||
} else if (mode === 'GET_REMOVE') {
|
||||
var code = list + '.shift()';
|
||||
return [code, Blockly.JavaScript.ORDER_MEMBER];
|
||||
} else if (mode == 'REMOVE') {
|
||||
} else if (mode === 'REMOVE') {
|
||||
return list + '.shift();\n';
|
||||
}
|
||||
break;
|
||||
case ('LAST'):
|
||||
if (mode == 'GET') {
|
||||
if (mode === 'GET') {
|
||||
var code = list + '.slice(-1)[0]';
|
||||
return [code, Blockly.JavaScript.ORDER_MEMBER];
|
||||
} else if (mode == 'GET_REMOVE') {
|
||||
} else if (mode === 'GET_REMOVE') {
|
||||
var code = list + '.pop()';
|
||||
return [code, Blockly.JavaScript.ORDER_MEMBER];
|
||||
} else if (mode == 'REMOVE') {
|
||||
} else if (mode === 'REMOVE') {
|
||||
return list + '.pop();\n';
|
||||
}
|
||||
break;
|
||||
case ('FROM_START'):
|
||||
var at = Blockly.JavaScript.getAdjusted(block, 'AT');
|
||||
if (mode == 'GET') {
|
||||
if (mode === 'GET') {
|
||||
var code = list + '[' + at + ']';
|
||||
return [code, Blockly.JavaScript.ORDER_MEMBER];
|
||||
} else if (mode == 'GET_REMOVE') {
|
||||
} else if (mode === 'GET_REMOVE') {
|
||||
var code = list + '.splice(' + at + ', 1)[0]';
|
||||
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
|
||||
} else if (mode == 'REMOVE') {
|
||||
} else if (mode === 'REMOVE') {
|
||||
return list + '.splice(' + at + ', 1);\n';
|
||||
}
|
||||
break;
|
||||
case ('FROM_END'):
|
||||
var at = Blockly.JavaScript.getAdjusted(block, 'AT', 1, true);
|
||||
if (mode == 'GET') {
|
||||
if (mode === 'GET') {
|
||||
var code = list + '.slice(' + at + ')[0]';
|
||||
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
|
||||
} else if (mode == 'GET_REMOVE') {
|
||||
} else if (mode === 'GET_REMOVE') {
|
||||
var code = list + '.splice(' + at + ', 1)[0]';
|
||||
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
|
||||
} else if (mode == 'REMOVE') {
|
||||
} else if (mode === 'REMOVE') {
|
||||
return list + '.splice(' + at + ', 1);';
|
||||
}
|
||||
break;
|
||||
@@ -148,10 +148,10 @@ Blockly.JavaScript['lists_getIndex'] = function(block) {
|
||||
' return list[x];',
|
||||
' }',
|
||||
'}']);
|
||||
code = functionName + '(' + list + ', ' + (mode != 'GET') + ')';
|
||||
if (mode == 'GET' || mode == 'GET_REMOVE') {
|
||||
code = functionName + '(' + list + ', ' + (mode !== 'GET') + ')';
|
||||
if (mode === 'GET' || mode === 'GET_REMOVE') {
|
||||
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
|
||||
} else if (mode == 'REMOVE') {
|
||||
} else if (mode === 'REMOVE') {
|
||||
return code + ';\n';
|
||||
}
|
||||
break;
|
||||
@@ -182,26 +182,26 @@ Blockly.JavaScript['lists_setIndex'] = function(block) {
|
||||
}
|
||||
switch (where) {
|
||||
case ('FIRST'):
|
||||
if (mode == 'SET') {
|
||||
if (mode === 'SET') {
|
||||
return list + '[0] = ' + value + ';\n';
|
||||
} else if (mode == 'INSERT') {
|
||||
} else if (mode === 'INSERT') {
|
||||
return list + '.unshift(' + value + ');\n';
|
||||
}
|
||||
break;
|
||||
case ('LAST'):
|
||||
if (mode == 'SET') {
|
||||
if (mode === 'SET') {
|
||||
var code = cacheList();
|
||||
code += list + '[' + list + '.length - 1] = ' + value + ';\n';
|
||||
return code;
|
||||
} else if (mode == 'INSERT') {
|
||||
} else if (mode === 'INSERT') {
|
||||
return list + '.push(' + value + ');\n';
|
||||
}
|
||||
break;
|
||||
case ('FROM_START'):
|
||||
var at = Blockly.JavaScript.getAdjusted(block, 'AT');
|
||||
if (mode == 'SET') {
|
||||
if (mode === 'SET') {
|
||||
return list + '[' + at + '] = ' + value + ';\n';
|
||||
} else if (mode == 'INSERT') {
|
||||
} else if (mode === 'INSERT') {
|
||||
return list + '.splice(' + at + ', 0, ' + value + ');\n';
|
||||
}
|
||||
break;
|
||||
@@ -209,10 +209,10 @@ Blockly.JavaScript['lists_setIndex'] = function(block) {
|
||||
var at = Blockly.JavaScript.getAdjusted(block, 'AT', 1, false,
|
||||
Blockly.JavaScript.ORDER_SUBTRACTION);
|
||||
var code = cacheList();
|
||||
if (mode == 'SET') {
|
||||
if (mode === 'SET') {
|
||||
code += list + '[' + list + '.length - ' + at + '] = ' + value + ';\n';
|
||||
return code;
|
||||
} else if (mode == 'INSERT') {
|
||||
} else if (mode === 'INSERT') {
|
||||
code += list + '.splice(' + list + '.length - ' + at + ', 0, ' + value +
|
||||
');\n';
|
||||
return code;
|
||||
@@ -224,10 +224,10 @@ Blockly.JavaScript['lists_setIndex'] = function(block) {
|
||||
'tmpX', Blockly.VARIABLE_CATEGORY_NAME);
|
||||
code += 'var ' + xVar + ' = Math.floor(Math.random() * ' + list +
|
||||
'.length);\n';
|
||||
if (mode == 'SET') {
|
||||
if (mode === 'SET') {
|
||||
code += list + '[' + xVar + '] = ' + value + ';\n';
|
||||
return code;
|
||||
} else if (mode == 'INSERT') {
|
||||
} else if (mode === 'INSERT') {
|
||||
code += list + '.splice(' + xVar + ', 0, ' + value + ');\n';
|
||||
return code;
|
||||
}
|
||||
@@ -245,11 +245,11 @@ Blockly.JavaScript['lists_setIndex'] = function(block) {
|
||||
* @private
|
||||
*/
|
||||
Blockly.JavaScript.lists.getIndex_ = function(listName, where, opt_at) {
|
||||
if (where == 'FIRST') {
|
||||
if (where === 'FIRST') {
|
||||
return '0';
|
||||
} else if (where == 'FROM_END') {
|
||||
} else if (where === 'FROM_END') {
|
||||
return listName + '.length - 1 - ' + opt_at;
|
||||
} else if (where == 'LAST') {
|
||||
} else if (where === 'LAST') {
|
||||
return listName + '.length - 1';
|
||||
} else {
|
||||
return opt_at;
|
||||
@@ -262,10 +262,10 @@ Blockly.JavaScript['lists_getSublist'] = function(block) {
|
||||
Blockly.JavaScript.ORDER_MEMBER) || '[]';
|
||||
var where1 = block.getFieldValue('WHERE1');
|
||||
var where2 = block.getFieldValue('WHERE2');
|
||||
if (where1 == 'FIRST' && where2 == 'LAST') {
|
||||
if (where1 === 'FIRST' && where2 === 'LAST') {
|
||||
var code = list + '.slice(0)';
|
||||
} else if (list.match(/^\w+$/) ||
|
||||
(where1 != 'FROM_END' && where2 == 'FROM_START')) {
|
||||
(where1 !== 'FROM_END' && where2 === 'FROM_START')) {
|
||||
// If the list is a variable or doesn't require a call for length, don't
|
||||
// generate a helper function.
|
||||
switch (where1) {
|
||||
@@ -311,8 +311,8 @@ Blockly.JavaScript['lists_getSublist'] = function(block) {
|
||||
'(sequence' +
|
||||
// The value for 'FROM_END' and'FROM_START' depends on `at` so
|
||||
// we add it as a parameter.
|
||||
((where1 == 'FROM_END' || where1 == 'FROM_START') ? ', at1' : '') +
|
||||
((where2 == 'FROM_END' || where2 == 'FROM_START') ? ', at2' : '') +
|
||||
((where1 === 'FROM_END' || where1 === 'FROM_START') ? ', at1' : '') +
|
||||
((where2 === 'FROM_END' || where2 === 'FROM_START') ? ', at2' : '') +
|
||||
') {',
|
||||
' var start = ' + getIndex_('sequence', where1, 'at1') + ';',
|
||||
' var end = ' + getIndex_('sequence', where2, 'at2') + ' + 1;',
|
||||
@@ -321,8 +321,8 @@ Blockly.JavaScript['lists_getSublist'] = function(block) {
|
||||
var code = functionName + '(' + list +
|
||||
// The value for 'FROM_END' and 'FROM_START' depends on `at` so we
|
||||
// pass it.
|
||||
((where1 == 'FROM_END' || where1 == 'FROM_START') ? ', ' + at1 : '') +
|
||||
((where2 == 'FROM_END' || where2 == 'FROM_START') ? ', ' + at2 : '') +
|
||||
((where1 === 'FROM_END' || where1 === 'FROM_START') ? ', ' + at1 : '') +
|
||||
((where2 === 'FROM_END' || where2 === 'FROM_START') ? ', ' + at2 : '') +
|
||||
')';
|
||||
}
|
||||
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
|
||||
@@ -362,12 +362,12 @@ Blockly.JavaScript['lists_split'] = function(block) {
|
||||
var delimiter = Blockly.JavaScript.valueToCode(block, 'DELIM',
|
||||
Blockly.JavaScript.ORDER_NONE) || '\'\'';
|
||||
var mode = block.getFieldValue('MODE');
|
||||
if (mode == 'SPLIT') {
|
||||
if (mode === 'SPLIT') {
|
||||
if (!input) {
|
||||
input = '\'\'';
|
||||
}
|
||||
var functionName = 'split';
|
||||
} else if (mode == 'JOIN') {
|
||||
} else if (mode === 'JOIN') {
|
||||
if (!input) {
|
||||
input = '[]';
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ Blockly.JavaScript['logic_compare'] = function(block) {
|
||||
'GTE': '>='
|
||||
};
|
||||
var operator = OPERATORS[block.getFieldValue('OP')];
|
||||
var order = (operator == '==' || operator == '!=') ?
|
||||
var order = (operator === '==' || operator === '!=') ?
|
||||
Blockly.JavaScript.ORDER_EQUALITY : Blockly.JavaScript.ORDER_RELATIONAL;
|
||||
var argument0 = Blockly.JavaScript.valueToCode(block, 'A', order) || '0';
|
||||
var argument1 = Blockly.JavaScript.valueToCode(block, 'B', order) || '0';
|
||||
@@ -73,8 +73,8 @@ Blockly.JavaScript['logic_compare'] = function(block) {
|
||||
|
||||
Blockly.JavaScript['logic_operation'] = function(block) {
|
||||
// Operations 'and', 'or'.
|
||||
var operator = (block.getFieldValue('OP') == 'AND') ? '&&' : '||';
|
||||
var order = (operator == '&&') ? Blockly.JavaScript.ORDER_LOGICAL_AND :
|
||||
var operator = (block.getFieldValue('OP') === 'AND') ? '&&' : '||';
|
||||
var order = (operator === '&&') ? Blockly.JavaScript.ORDER_LOGICAL_AND :
|
||||
Blockly.JavaScript.ORDER_LOGICAL_OR;
|
||||
var argument0 = Blockly.JavaScript.valueToCode(block, 'A', order);
|
||||
var argument1 = Blockly.JavaScript.valueToCode(block, 'B', order);
|
||||
@@ -84,7 +84,7 @@ Blockly.JavaScript['logic_operation'] = function(block) {
|
||||
argument1 = 'false';
|
||||
} else {
|
||||
// Single missing arguments have no effect on the return value.
|
||||
var defaultArgument = (operator == '&&') ? 'true' : 'false';
|
||||
var defaultArgument = (operator === '&&') ? 'true' : 'false';
|
||||
if (!argument0) {
|
||||
argument0 = defaultArgument;
|
||||
}
|
||||
@@ -107,7 +107,7 @@ Blockly.JavaScript['logic_negate'] = function(block) {
|
||||
|
||||
Blockly.JavaScript['logic_boolean'] = function(block) {
|
||||
// Boolean values true and false.
|
||||
var code = (block.getFieldValue('BOOL') == 'TRUE') ? 'true' : 'false';
|
||||
var code = (block.getFieldValue('BOOL') === 'TRUE') ? 'true' : 'false';
|
||||
return [code, Blockly.JavaScript.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ Blockly.JavaScript['controls_repeat'] =
|
||||
|
||||
Blockly.JavaScript['controls_whileUntil'] = function(block) {
|
||||
// Do while/until loop.
|
||||
var until = block.getFieldValue('MODE') == 'UNTIL';
|
||||
var until = block.getFieldValue('MODE') === 'UNTIL';
|
||||
var argument0 = Blockly.JavaScript.valueToCode(block, 'BOOL',
|
||||
until ? Blockly.JavaScript.ORDER_LOGICAL_NOT :
|
||||
Blockly.JavaScript.ORDER_NONE) || 'false';
|
||||
@@ -81,7 +81,7 @@ Blockly.JavaScript['controls_for'] = function(block) {
|
||||
variable0 + (up ? ' <= ' : ' >= ') + argument1 + '; ' +
|
||||
variable0;
|
||||
var step = Math.abs(Number(increment));
|
||||
if (step == 1) {
|
||||
if (step === 1) {
|
||||
code += up ? '++' : '--';
|
||||
} else {
|
||||
code += (up ? ' += ' : ' -= ') + step;
|
||||
|
||||
@@ -52,18 +52,18 @@ Blockly.JavaScript['math_single'] = function(block) {
|
||||
var operator = block.getFieldValue('OP');
|
||||
var code;
|
||||
var arg;
|
||||
if (operator == 'NEG') {
|
||||
if (operator === 'NEG') {
|
||||
// Negation is a special case given its different operator precedence.
|
||||
arg = Blockly.JavaScript.valueToCode(block, 'NUM',
|
||||
Blockly.JavaScript.ORDER_UNARY_NEGATION) || '0';
|
||||
if (arg[0] == '-') {
|
||||
if (arg[0] === '-') {
|
||||
// --3 is not legal in JS.
|
||||
arg = ' ' + arg;
|
||||
}
|
||||
code = '-' + arg;
|
||||
return [code, Blockly.JavaScript.ORDER_UNARY_NEGATION];
|
||||
}
|
||||
if (operator == 'SIN' || operator == 'COS' || operator == 'TAN') {
|
||||
if (operator === 'SIN' || operator === 'COS' || operator === 'TAN') {
|
||||
arg = Blockly.JavaScript.valueToCode(block, 'NUM',
|
||||
Blockly.JavaScript.ORDER_DIVISION) || '0';
|
||||
} else {
|
||||
@@ -152,24 +152,24 @@ Blockly.JavaScript['math_number_property'] = function(block) {
|
||||
Blockly.JavaScript.ORDER_MODULUS) || '0';
|
||||
var dropdown_property = block.getFieldValue('PROPERTY');
|
||||
var code;
|
||||
if (dropdown_property == 'PRIME') {
|
||||
if (dropdown_property === 'PRIME') {
|
||||
// Prime is a special case as it is not a one-liner test.
|
||||
var functionName = Blockly.JavaScript.provideFunction_(
|
||||
'mathIsPrime',
|
||||
['function ' + Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_ + '(n) {',
|
||||
' // https://en.wikipedia.org/wiki/Primality_test#Naive_methods',
|
||||
' if (n == 2 || n == 3) {',
|
||||
' if (n === 2 || n === 3) {',
|
||||
' return true;',
|
||||
' }',
|
||||
' // False if n is NaN, negative, is 1, or not whole.',
|
||||
' // And false if n is divisible by 2 or 3.',
|
||||
' if (isNaN(n) || n <= 1 || n % 1 != 0 || n % 2 == 0 ||' +
|
||||
' n % 3 == 0) {',
|
||||
' if (isNaN(n) || n <= 1 || n % 1 !== 0 || n % 2 === 0 ||' +
|
||||
' n % 3 === 0) {',
|
||||
' return false;',
|
||||
' }',
|
||||
' // Check all the numbers of form 6k +/- 1, up to sqrt(n).',
|
||||
' for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {',
|
||||
' if (n % (x - 1) == 0 || n % (x + 1) == 0) {',
|
||||
' if (n % (x - 1) === 0 || n % (x + 1) === 0) {',
|
||||
' return false;',
|
||||
' }',
|
||||
' }',
|
||||
@@ -180,13 +180,13 @@ Blockly.JavaScript['math_number_property'] = function(block) {
|
||||
}
|
||||
switch (dropdown_property) {
|
||||
case 'EVEN':
|
||||
code = number_to_check + ' % 2 == 0';
|
||||
code = number_to_check + ' % 2 === 0';
|
||||
break;
|
||||
case 'ODD':
|
||||
code = number_to_check + ' % 2 == 1';
|
||||
code = number_to_check + ' % 2 === 1';
|
||||
break;
|
||||
case 'WHOLE':
|
||||
code = number_to_check + ' % 1 == 0';
|
||||
code = number_to_check + ' % 1 === 0';
|
||||
break;
|
||||
case 'POSITIVE':
|
||||
code = number_to_check + ' > 0';
|
||||
@@ -197,7 +197,7 @@ Blockly.JavaScript['math_number_property'] = function(block) {
|
||||
case 'DIVISIBLE_BY':
|
||||
var divisor = Blockly.JavaScript.valueToCode(block, 'DIVISOR',
|
||||
Blockly.JavaScript.ORDER_MODULUS) || '0';
|
||||
code = number_to_check + ' % ' + divisor + ' == 0';
|
||||
code = number_to_check + ' % ' + divisor + ' === 0';
|
||||
break;
|
||||
}
|
||||
return [code, Blockly.JavaScript.ORDER_EQUALITY];
|
||||
@@ -209,7 +209,7 @@ Blockly.JavaScript['math_change'] = function(block) {
|
||||
Blockly.JavaScript.ORDER_ADDITION) || '0';
|
||||
var varName = Blockly.JavaScript.nameDB_.getName(
|
||||
block.getFieldValue('VAR'), Blockly.VARIABLE_CATEGORY_NAME);
|
||||
return varName + ' = (typeof ' + varName + ' == \'number\' ? ' + varName +
|
||||
return varName + ' = (typeof ' + varName + ' === \'number\' ? ' + varName +
|
||||
' : 0) + ' + argument0 + ';\n';
|
||||
};
|
||||
|
||||
@@ -239,7 +239,7 @@ Blockly.JavaScript['math_on_list'] = function(block) {
|
||||
code = 'Math.max.apply(null, ' + list + ')';
|
||||
break;
|
||||
case 'AVERAGE':
|
||||
// mathMean([null,null,1,3]) == 2.0.
|
||||
// mathMean([null,null,1,3]) === 2.0.
|
||||
var functionName = Blockly.JavaScript.provideFunction_(
|
||||
'mathMean',
|
||||
['function ' + Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_ +
|
||||
@@ -252,16 +252,16 @@ Blockly.JavaScript['math_on_list'] = function(block) {
|
||||
code = functionName + '(' + list + ')';
|
||||
break;
|
||||
case 'MEDIAN':
|
||||
// mathMedian([null,null,1,3]) == 2.0.
|
||||
// mathMedian([null,null,1,3]) === 2.0.
|
||||
var functionName = Blockly.JavaScript.provideFunction_(
|
||||
'mathMedian',
|
||||
['function ' + Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_ +
|
||||
'(myList) {',
|
||||
' var localList = myList.filter(function (x) ' +
|
||||
'{return typeof x == \'number\';});',
|
||||
'{return typeof x === \'number\';});',
|
||||
' if (!localList.length) return null;',
|
||||
' localList.sort(function(a, b) {return b - a;});',
|
||||
' if (localList.length % 2 == 0) {',
|
||||
' if (localList.length % 2 === 0) {',
|
||||
' return (localList[localList.length / 2 - 1] + ' +
|
||||
'localList[localList.length / 2]) / 2;',
|
||||
' } else {',
|
||||
@@ -301,7 +301,7 @@ Blockly.JavaScript['math_on_list'] = function(block) {
|
||||
' maxCount = Math.max(thisCount, maxCount);',
|
||||
' }',
|
||||
' for (var j = 0; j < counts.length; j++) {',
|
||||
' if (counts[j][1] == maxCount) {',
|
||||
' if (counts[j][1] === maxCount) {',
|
||||
' modes.push(counts[j][0]);',
|
||||
' }',
|
||||
' }',
|
||||
|
||||
@@ -24,7 +24,7 @@ Blockly.JavaScript['text'] = function(block) {
|
||||
Blockly.JavaScript['text_multiline'] = function(block) {
|
||||
// Text value.
|
||||
var code = Blockly.JavaScript.multiline_quote_(block.getFieldValue('TEXT'));
|
||||
var order = code.indexOf('+') != -1 ? Blockly.JavaScript.ORDER_ADDITION :
|
||||
var order = code.indexOf('+') !== -1 ? Blockly.JavaScript.ORDER_ADDITION :
|
||||
Blockly.JavaScript.ORDER_ATOMIC;
|
||||
return [code, order];
|
||||
};
|
||||
@@ -105,7 +105,7 @@ Blockly.JavaScript['text_isEmpty'] = function(block) {
|
||||
|
||||
Blockly.JavaScript['text_indexOf'] = function(block) {
|
||||
// Search the text for a substring.
|
||||
var operator = block.getFieldValue('END') == 'FIRST' ?
|
||||
var operator = block.getFieldValue('END') === 'FIRST' ?
|
||||
'indexOf' : 'lastIndexOf';
|
||||
var substring = Blockly.JavaScript.valueToCode(block, 'FIND',
|
||||
Blockly.JavaScript.ORDER_NONE) || '\'\'';
|
||||
@@ -123,7 +123,7 @@ Blockly.JavaScript['text_charAt'] = function(block) {
|
||||
// Get letter at index.
|
||||
// Note: Until January 2013 this block did not have the WHERE input.
|
||||
var where = block.getFieldValue('WHERE') || 'FROM_START';
|
||||
var textOrder = (where == 'RANDOM') ? Blockly.JavaScript.ORDER_NONE :
|
||||
var textOrder = (where === 'RANDOM') ? Blockly.JavaScript.ORDER_NONE :
|
||||
Blockly.JavaScript.ORDER_MEMBER;
|
||||
var text = Blockly.JavaScript.valueToCode(block, 'VALUE',
|
||||
textOrder) || '\'\'';
|
||||
@@ -166,11 +166,11 @@ Blockly.JavaScript['text_charAt'] = function(block) {
|
||||
* @private
|
||||
*/
|
||||
Blockly.JavaScript.text.getIndex_ = function(stringName, where, opt_at) {
|
||||
if (where == 'FIRST') {
|
||||
if (where === 'FIRST') {
|
||||
return '0';
|
||||
} else if (where == 'FROM_END') {
|
||||
} else if (where === 'FROM_END') {
|
||||
return stringName + '.length - 1 - ' + opt_at;
|
||||
} else if (where == 'LAST') {
|
||||
} else if (where === 'LAST') {
|
||||
return stringName + '.length - 1';
|
||||
} else {
|
||||
return opt_at;
|
||||
@@ -181,13 +181,13 @@ Blockly.JavaScript['text_getSubstring'] = function(block) {
|
||||
// Get substring.
|
||||
var where1 = block.getFieldValue('WHERE1');
|
||||
var where2 = block.getFieldValue('WHERE2');
|
||||
var requiresLengthCall = (where1 != 'FROM_END' && where1 != 'LAST' &&
|
||||
where2 != 'FROM_END' && where2 != 'LAST');
|
||||
var requiresLengthCall = (where1 !== 'FROM_END' && where1 !== 'LAST' &&
|
||||
where2 !== 'FROM_END' && where2 !== 'LAST');
|
||||
var textOrder = requiresLengthCall ? Blockly.JavaScript.ORDER_MEMBER :
|
||||
Blockly.JavaScript.ORDER_NONE;
|
||||
var text = Blockly.JavaScript.valueToCode(block, 'STRING',
|
||||
textOrder) || '\'\'';
|
||||
if (where1 == 'FIRST' && where2 == 'LAST') {
|
||||
if (where1 === 'FIRST' && where2 === 'LAST') {
|
||||
var code = text;
|
||||
return [code, Blockly.JavaScript.ORDER_NONE];
|
||||
} else if (text.match(/^'?\w+'?$/) || requiresLengthCall) {
|
||||
@@ -236,8 +236,8 @@ Blockly.JavaScript['text_getSubstring'] = function(block) {
|
||||
'(sequence' +
|
||||
// The value for 'FROM_END' and'FROM_START' depends on `at` so
|
||||
// we add it as a parameter.
|
||||
((where1 == 'FROM_END' || where1 == 'FROM_START') ? ', at1' : '') +
|
||||
((where2 == 'FROM_END' || where2 == 'FROM_START') ? ', at2' : '') +
|
||||
((where1 === 'FROM_END' || where1 === 'FROM_START') ? ', at1' : '') +
|
||||
((where2 === 'FROM_END' || where2 === 'FROM_START') ? ', at2' : '') +
|
||||
') {',
|
||||
' var start = ' + getIndex_('sequence', where1, 'at1') + ';',
|
||||
' var end = ' + getIndex_('sequence', where2, 'at2') + ' + 1;',
|
||||
@@ -246,8 +246,8 @@ Blockly.JavaScript['text_getSubstring'] = function(block) {
|
||||
var code = functionName + '(' + text +
|
||||
// The value for 'FROM_END' and 'FROM_START' depends on `at` so we
|
||||
// pass it.
|
||||
((where1 == 'FROM_END' || where1 == 'FROM_START') ? ', ' + at1 : '') +
|
||||
((where2 == 'FROM_END' || where2 == 'FROM_START') ? ', ' + at2 : '') +
|
||||
((where1 === 'FROM_END' || where1 === 'FROM_START') ? ', ' + at1 : '') +
|
||||
((where2 === 'FROM_END' || where2 === 'FROM_START') ? ', ' + at2 : '') +
|
||||
')';
|
||||
}
|
||||
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
|
||||
@@ -314,7 +314,7 @@ Blockly.JavaScript['text_prompt_ext'] = function(block) {
|
||||
Blockly.JavaScript.ORDER_NONE) || '\'\'';
|
||||
}
|
||||
var code = 'window.prompt(' + msg + ')';
|
||||
var toNumber = block.getFieldValue('TYPE') == 'NUMBER';
|
||||
var toNumber = block.getFieldValue('TYPE') === 'NUMBER';
|
||||
if (toNumber) {
|
||||
code = 'Number(' + code + ')';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user