Extratos

Blocos de instruções são blocos sem conexões de saída. Eles agem como e declarações em idiomas de texto.

Assim como todos os blocos no Blockly, os blocos de instrução podem ser transformados em código strings definindo um gerador de código de bloco.

import {javascriptGenerator} from 'blockly/javascript';

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

  // Return code.
  return 'my code string';
}

Coletar strings de argumentos

Todos os geradores de código de blocos exigem coletar os valores dos campos e o código dos blocos internos.

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

// Collect inner block code strings.
const innerCode = generator.statementToCode(block, 'MY_STATEMENT_INPUT');

Se você referenciar o código de um bloco interno várias vezes, deverá adicionar argumento em cache ao seu bloco.

Valores de retorno

O tipo de retorno de um gerador de código de bloco de instrução é uma string de código.

return 'my code string';