Introdução ao Electrobun para Manipulação de Dados
O Electrobun é um framework que permite construir aplicações desktop de alta performance, leves e compatíveis com múltiplas plataformas, utilizando TypeScript. Este guia técnico aborda a implementação de funcionalidades de clipboard e sistema de arquivos, essenciais para a troca de dados em ambientes multiplataforma.
Operações Básicas de Clipboard para Texto
O framework disponibiliza uma API completa para interagir com o clipboard do sistema, suportando leitura e escrita de texto e imagens. As funções relevantes estão localizadas no módulo de utilidades do core.
Escrita de Texto no Clipboard
Para armazenar um conteúdo textual no clipboard, utilize a função específica para escrita. O exemplo a seguir demonstra isso de forma simplificada:
import { clipboardWriteText } from 'package/src/bun/core/Utils.ts';
const mensagem = "Exemplo de texto do Electrobun!";
clipboardWriteText(mensagem);
Leitura de Texto do Clipboard
A leitura do conteúdo atual do clipboard é realizada por uma função dedicada. É recomendável verificar se há dados disponíveis antes de processar:
import { clipboardReadText } from 'package/src/bun/core/Utils.ts';
const textoCapturado = clipboardReadText();
if (textoCapturado) {
console.log("Conteúdo recuperado:", textoCapturado);
}
Detecção de Formatos Disponíveis
Antes de operar com o clipboard, pode ser útil identificar os formatos de dados presentes. A função abaixo retorna uma lista dos formatos suportados:
import { clipboardAvailableFormats } from 'package/src/bun/core/Utils.ts';
const formatos = clipboardAvailableFormats();
console.log("Formatos no clipboard:", formatos);
Operações Avançadas de Clipboard: Imagens e Limpeza
Além de texto, o Electrobun permite manipular dados de imagem no clipboard, bem como limpar completamente seu conteúdo.
Manipulação de Imagens no Clipboard
As funções para ler e escrever imagens permitem integrar recursos visuais. O código abaixo exemplifica a leitura de uma imagem e sua posterior escrita de volta:
import { clipboardReadImage, clipboardWriteImage } from 'package/src/bun/core/Utils.ts';
const dadosDaImagem = clipboardReadImage();
if (dadosDaImagem) {
console.log("Tamanho dos dados da imagem:", dadosDaImagem.length);
clipboardWriteImage(dadosDaImagem);
}
Limpando o Clipboard
Para remover todos os dados do clipboard, utilize a função de limpeza:
import { clipboardClear } from 'package/src/bun/core/Utils.ts';
clipboardClear();
console.log("Clipboard limpo com sucesso.");
Testando o Clipboard com o Playground Integrado
O Electrobun inclui um ambiente de teste para validar as funcoinalidades do clipboard durante o desenvolvimento. O código-fonte está disponível no diretório do playground.
Para executar os testes, siga estes passos: clone o repositório, instale as dependências e execute o comando específico para o playground de clipboard.
Operações de Sistema de Arquivos
O framework integra-se com o módulo de sistema de arquivos do Node.js, oferecendo capacidades robustas para ler, escrever e gerenciar arquivos e diretórios.
Leitura e Escrita de Arquivos
Utilize as funções síncronas do módulo fs para manipular arquivos. O exemplo abaixo mostra como ler e escrever conteúdo textual:
import { readFileSync, writeFileSync } from 'fs';
const conteudoArquivo = readFileSync('exemplo.txt', 'utf-8');
console.log("Conteúdo do arquivo:", conteudoArquivo);
writeFileSync('saida.txt', 'Gerado pelo Electrobun!');
console.log("Arquivo gravado.");
Gerenciamento de Diretórios
Operações com diretórios, como listagem, criação e remoção, são suportadas pelas funções do módulo fs:
import { readdirSync, mkdirSync, rmdirSync } from 'fs';
const listaArquivos = readdirSync('./fontes');
console.log("Arquivos no diretório:", listaArquivos);
mkdirSync('./temporario');
console.log("Diretório criado.");
rmdirSync('./temporario');
console.log("Diretório removido.");
Integração entre Clipboard e Sistema de Arquivos
Combinar operações de clipboard com manipulação de arquivos permite criar fluxos de trabalho eficientes. Aqui estão algumas práticas comuns.
Copiando Conteúdo de Arquivo para o Clipboard
Leia um arquivo e transfira seu conteúdo para o clipboard, facilitando a partilha de dados:
import { readFileSync } from 'fs';
import { clipboardWriteText } from 'package/src/bun/core/Utils.ts';
const textoDoArquivo = readFileSync('documento.txt', 'utf-8');
clipboardWriteText(textoDoArquivo);
console.log("Texto do arquivo copiado para o clipboard.");
Salvando Conteúdo do Clipboard em Arquivo
Capture o texto atual do clipboard e persista-o em um arquivo para referência futura:
import { writeFileSync } from 'fs';
import { clipboardReadText } from 'package/src/bun/core/Utils.ts';
const textoClipboard = clipboardReadText();
if (textoClipboard) {
writeFileSync('clipboard_salvo.txt', textoClipboard);
console.log("Conteúdo do clipboard salvo em arquivo.");
}
Transferindo Imagem de Arquivo para o Clipboard
Carregue uma imagem de um arquivo e a disponibilize no clipboard para uso em outras aplicações:
import { readFileSync } from 'fs';
import { clipboardWriteImage } from 'package/src/bun/core/Utils.ts';
const bufferImagem = readFileSync('imagem.png');
clipboardWriteImage(bufferImagem);
console.log("Imagem do arquivo copiada para o clipboard.");