Pular para conteúdo

TRIM_WHITESPACE - Remoção de Espaços das Extremidades

O que é esta operação?

A operação TRIM_WHITESPACE remove espaços, tabs e quebras de linha do início e fim do texto, mantendo apenas o conteúdo significativo.

Por que esta operação existe?

Espaços nas pontas são invisíveis mas problemáticos. Esta operação existe para:

  1. Limpeza de Inputs: Remover espaços acidentais digitados por usuários
  2. Comparação de Strings: Evitar que " texto " seja diferente de "texto"
  3. Preparação para Armazenamento: Limpar dados antes de salvar no banco
  4. Formatação de Exibição: Garantir apresentação consistente sem espaços extras

Como funciona internamente?

Código interno (content-cleaner-executor.service.ts:295-298):

// Trim whitespace
if (config.trimWhitespace !== false) {
  cleaned = cleaned.trim();
}

Parâmetros

Campo Tipo Obrigatório Descrição
inputVariable string Sim Variável contendo o texto
trimWhitespace boolean Não Remove espaços das pontas (padrão: TRUE)
outputVariable string Não Variável para resultado

Exemplo: Limpeza de Input de Usuário

{
  "name": "Limpar Input de Nome",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Digite seu Nome",
        "parameters": {
          "message": "Qual é o seu nome?",
          "variableName": "user_name"
        }
      }
    },
    {
      "id": "cleaner_1",
      "type": "content_cleaner",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Limpar Nome",
        "parameters": {
          "inputVariable": "user_name",
          "trimWhitespace": true,
          "removeExtraSpaces": true,
          "outputVariable": "clean_name"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Saudar",
        "parameters": {
          "message": "Olá, {{clean_name}}! Bem-vindo ao sistema."
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "cleaner_1" },
    { "source": "cleaner_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Saída:

Qual é o seu nome?
>   José Silva
Olá, José Silva! Bem-vindo ao sistema.

Boas Práticas

SIM: SEMPRE use em inputs de usuário, antes de comparar strings, antes de salvar no banco ❌ NÃO: Desabilitar esta operação (está ativada por padrão e é essencial)

Dicas

💡 Dica 1: Esta operação está ATIVADA POR PADRÃO (como removeExtraSpaces) 💡 Dica 2: O método .trim() remove espaços, tabs, \n, \r e outros whitespace Unicode 💡 Dica 3: Sempre combine com removeExtraSpaces para limpeza completa

Próximo Node

REMOVE_EXTRA_SPACES - Remove espaços múltiplos internos → TO_LOWERCASE - Converte para minúsculas