From a366daacd1f7885f3ba1b3b47a5e021dbf15b244 Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Wed, 27 Oct 2021 12:44:09 -0700 Subject: [PATCH] chore: update generators/dart.js to const and let (#5646) --- generators/dart.js | 61 ++++++++++++++++++++++++--------------------- tests/deps.mocha.js | 2 +- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/generators/dart.js b/generators/dart.js index 149576504..45df8d354 100644 --- a/generators/dart.js +++ b/generators/dart.js @@ -95,17 +95,17 @@ Blockly.Dart.init = function(workspace) { this.nameDB_.populateVariables(workspace); this.nameDB_.populateProcedures(workspace); - var defvars = []; + const defvars = []; // Add developer variables (not created or named by the user). - var devVarList = Blockly.Variables.allDeveloperVariables(workspace); - for (var i = 0; i < devVarList.length; i++) { + const devVarList = Blockly.Variables.allDeveloperVariables(workspace); + for (let i = 0; i < devVarList.length; i++) { defvars.push(this.nameDB_.getName(devVarList[i], Blockly.Names.DEVELOPER_VARIABLE_TYPE)); } // Add user variables, but only ones that are being used. - var variables = Blockly.Variables.allUsedVarModels(workspace); - for (var i = 0; i < variables.length; i++) { + const variables = Blockly.Variables.allUsedVarModels(workspace); + for (let i = 0; i < variables.length; i++) { defvars.push(this.nameDB_.getName(variables[i].getId(), Blockly.VARIABLE_CATEGORY_NAME)); } @@ -131,10 +131,10 @@ Blockly.Dart.finish = function(code) { code = 'main() {\n' + code + '}'; // Convert the definitions dictionary into a list. - var imports = []; - var definitions = []; - for (var name in this.definitions_) { - var def = this.definitions_[name]; + const imports = []; + const definitions = []; + for (let name in this.definitions_) { + const def = this.definitions_[name]; if (def.match(/^import\s/)) { imports.push(def); } else { @@ -146,7 +146,7 @@ Blockly.Dart.finish = function(code) { this.isInitialized = false; this.nameDB_.reset(); - var allDefs = imports.join('\n') + '\n\n' + definitions.join('\n\n'); + const allDefs = imports.join('\n') + '\n\n' + definitions.join('\n\n'); return allDefs.replace(/\n\n+/g, '\n\n').replace(/\n*$/, '\n\n\n') + code; }; @@ -183,7 +183,7 @@ Blockly.Dart.quote_ = function(string) { * @protected */ Blockly.Dart.multiline_quote_ = function (string) { - var lines = string.split(/\n/g).map(this.quote_); + const lines = string.split(/\n/g).map(this.quote_); // Join with the following, plus a newline: // + '\n' + return lines.join(' + \'\\n\' + \n'); @@ -200,11 +200,11 @@ Blockly.Dart.multiline_quote_ = function (string) { * @protected */ Blockly.Dart.scrub_ = function(block, code, opt_thisOnly) { - var commentCode = ''; + let commentCode = ''; // Only collect comments for blocks that aren't inline. if (!block.outputConnection || !block.outputConnection.targetConnection) { // Collect comment for this block. - var comment = block.getCommentText(); + let comment = block.getCommentText(); if (comment) { comment = Blockly.utils.string.wrap(comment, this.COMMENT_WRAP - 3); if (block.getProcedureDef) { @@ -216,9 +216,9 @@ Blockly.Dart.scrub_ = function(block, code, opt_thisOnly) { } // Collect comments for all value arguments. // Don't collect comments for nested statements. - for (var i = 0; i < block.inputList.length; i++) { + for (let i = 0; i < block.inputList.length; i++) { if (block.inputList[i].type === Blockly.inputTypes.VALUE) { - var childBlock = block.inputList[i].connection.targetBlock(); + const childBlock = block.inputList[i].connection.targetBlock(); if (childBlock) { comment = this.allNestedComments(childBlock); if (comment) { @@ -228,8 +228,8 @@ Blockly.Dart.scrub_ = function(block, code, opt_thisOnly) { } } } - var nextBlock = block.nextConnection && block.nextConnection.targetBlock(); - var nextCode = opt_thisOnly ? '' : this.blockToCode(nextBlock); + const nextBlock = block.nextConnection && block.nextConnection.targetBlock(); + const nextCode = opt_thisOnly ? '' : this.blockToCode(nextBlock); return commentCode + code + nextCode; }; @@ -244,23 +244,29 @@ Blockly.Dart.scrub_ = function(block, code, opt_thisOnly) { */ Blockly.Dart.getAdjusted = function(block, atId, opt_delta, opt_negate, opt_order) { - var delta = opt_delta || 0; - var order = opt_order || this.ORDER_NONE; + let delta = opt_delta || 0; + let order = opt_order || this.ORDER_NONE; if (block.workspace.options.oneBasedIndex) { delta--; } - var defaultAtIndex = block.workspace.options.oneBasedIndex ? '1' : '0'; + const defaultAtIndex = block.workspace.options.oneBasedIndex ? '1' : '0'; + + /** @type {number} */ + let outerOrder; + let innerOrder; if (delta) { - var at = this.valueToCode(block, atId, - this.ORDER_ADDITIVE) || defaultAtIndex; + outerOrder = this.ORDER_ADDITIVE; + innerOrder = this.ORDER_ADDITIVE; } else if (opt_negate) { - var at = this.valueToCode(block, atId, - this.ORDER_UNARY_PREFIX) || defaultAtIndex; + outerOrder = this.ORDER_UNARY_PREFIX; + innerOrder = this.ORDER_UNARY_PREFIX; } else { - var at = this.valueToCode(block, atId, order) || - defaultAtIndex; + outerOrder = order; } + /** @type {string|number} */ + let at = this.valueToCode(block, atId, outerOrder) || defaultAtIndex; + if (Blockly.isNumber(at)) { // If the index is a naked number, adjust it right now. at = parseInt(at, 10) + delta; @@ -271,10 +277,8 @@ Blockly.Dart.getAdjusted = function(block, atId, opt_delta, opt_negate, // If the index is dynamic, adjust it in code. if (delta > 0) { at = at + ' + ' + delta; - var innerOrder = this.ORDER_ADDITIVE; } else if (delta < 0) { at = at + ' - ' + -delta; - var innerOrder = this.ORDER_ADDITIVE; } if (opt_negate) { if (delta) { @@ -282,7 +286,6 @@ Blockly.Dart.getAdjusted = function(block, atId, opt_delta, opt_negate, } else { at = '-' + at; } - var innerOrder = this.ORDER_UNARY_PREFIX; } innerOrder = Math.floor(innerOrder); order = Math.floor(order); diff --git a/tests/deps.mocha.js b/tests/deps.mocha.js index 555cd8172..0738227db 100644 --- a/tests/deps.mocha.js +++ b/tests/deps.mocha.js @@ -261,7 +261,7 @@ goog.addDependency('../../core/workspace_dragger.js', ['Blockly.WorkspaceDragger goog.addDependency('../../core/workspace_svg.js', ['Blockly.WorkspaceSvg'], ['Blockly.BlockSvg', 'Blockly.ComponentManager', 'Blockly.ConnectionDB', 'Blockly.ContextMenu', 'Blockly.ContextMenuRegistry', 'Blockly.DropDownDiv', 'Blockly.Events.BlockCreate', 'Blockly.Events.ThemeChange', 'Blockly.Events.ViewportChange', 'Blockly.Events.utils', 'Blockly.Gesture', 'Blockly.Grid', 'Blockly.IASTNodeLocationSvg', 'Blockly.MarkerManager', 'Blockly.MetricsManager', 'Blockly.Msg', 'Blockly.Options', 'Blockly.ThemeManager', 'Blockly.Themes.Classic', 'Blockly.Tooltip', 'Blockly.TouchGesture', 'Blockly.WidgetDiv', 'Blockly.Workspace', 'Blockly.WorkspaceAudio', 'Blockly.Xml', 'Blockly.blockRendering', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.internalConstants', 'Blockly.registry', 'Blockly.serialization.blocks', 'Blockly.utils', 'Blockly.utils.Coordinate', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom', 'Blockly.utils.object', 'Blockly.utils.toolbox', 'Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/xml.js', ['Blockly.Xml'], ['Blockly.Events.utils', 'Blockly.inputTypes', 'Blockly.utils.Size', 'Blockly.utils.dom', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'}); goog.addDependency('../../core/zoom_controls.js', ['Blockly.ZoomControls'], ['Blockly.ComponentManager', 'Blockly.Css', 'Blockly.Events.Click', 'Blockly.Events.utils', 'Blockly.IPositionable', 'Blockly.Touch', 'Blockly.browserEvents', 'Blockly.internalConstants', 'Blockly.uiPosition', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.dom'], {'lang': 'es6', 'module': 'goog'}); -goog.addDependency('../../generators/dart.js', ['Blockly.Dart'], ['Blockly.Generator', 'Blockly.inputTypes', 'Blockly.utils.string']); +goog.addDependency('../../generators/dart.js', ['Blockly.Dart'], ['Blockly.Generator', 'Blockly.inputTypes', 'Blockly.utils.string'], {'lang': 'es6'}); goog.addDependency('../../generators/dart/colour.js', ['Blockly.Dart.colour'], ['Blockly.Dart']); goog.addDependency('../../generators/dart/lists.js', ['Blockly.Dart.lists'], ['Blockly.Dart']); goog.addDependency('../../generators/dart/logic.js', ['Blockly.Dart.logic'], ['Blockly.Dart']);