Files
blockly/generators/javascript/variables.js
Christopher Allen 306eb80216 refactor(generators): Introduce JavascriptGenerator class, Order enum (#7153)
* refactor(generators): Introduce class JavascriptGenerator

  Also fix an import ordering error.

* refactor(generators): Use Order.* instead of .ORDER_*

* refactor(generators): Don't rename javascriptGenerator
2023-06-13 21:30:37 +01:00

33 lines
967 B
JavaScript

/**
* @license
* Copyright 2012 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @fileoverview Generating JavaScript for variable blocks.
*/
import * as goog from '../../closure/goog/goog.js';
goog.declareModuleId('Blockly.JavaScript.variables');
import {NameType} from '../../core/names.js';
import {Order, javascriptGenerator} from '../javascript.js';
javascriptGenerator.forBlock['variables_get'] = function(block) {
// Variable getter.
const code = javascriptGenerator.nameDB_.getName(block.getFieldValue('VAR'),
NameType.VARIABLE);
return [code, Order.ATOMIC];
};
javascriptGenerator.forBlock['variables_set'] = function(block) {
// Variable setter.
const argument0 = javascriptGenerator.valueToCode(
block, 'VALUE', Order.ASSIGNMENT) || '0';
const varName = javascriptGenerator.nameDB_.getName(
block.getFieldValue('VAR'), NameType.VARIABLE);
return varName + ' = ' + argument0 + ';\n';
};