Valores

Los bloques de valores son bloques con conexiones de salida. Estos actúan como valores (o expresiones) en un lenguaje basado en texto.

Al igual que todos los bloques en Blockly, los bloques de valores se pueden convertir en cadenas de código si se define un generador de código de bloque.

import {javascriptGenerator, Order} from 'blockly/javascript';

javascriptGenerator.forBlock['custom_block'] = function(block, generator) {
  // Collect argument strings.
  const fieldValue = block.getFieldValue('MY_FIELD');
  const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

  // Return code.
  return ['my code string', Order.NONE];
}

Recopila cadenas de argumentos

Todos los generadores de código de bloque requieren recopilar los valores de los campos y recopilar el código de los bloques internos.

// Collect field values.
const fieldValue = block.getFieldValue('MY_FIELD');

// Collect inner block code strings.
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

Si haces referencia al código de un bloque interno varias veces, debes agregar almacenamiento en caché de argumentos a tu bloque.

Código de retorno

El tipo de datos que se muestra de un generador de códigos de bloque de valores es un arreglo en el que el primer valor es una string de código y el segundo es una prioridad.

return ['my code string', Order.NONE];

La prioridad controla cuando se agregan paréntesis alrededor de las strings de código de bloque. Consulta la documentación sobre paréntesis para obtener más información sobre cómo controlar cuándo se agregan paréntesis.