Electrobun: Práticas para Operações de Clipboard e Arquivos em Desenvolvimento Multiplataforma

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.");

Tags: Electrobun TypeScript Clipboard API sistema de arquivos Desenvolvimento Desktop Multiplataforma

Publicado em 6-26 18:41