Extratos

Blocos de instrução são blocos sem conexões de saída. Elas funcionam como declarações em idiomas baseados em texto.

Assim como todos os blocos no Blockly, os blocos de instrução podem ser transformados em strings de código 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 bloco exigem a coleta dos valores dos campos e a coleta do código de 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, adicione armazenamento em cache de argumentos ao 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';