Tags
#typescript
Conteúdos com a tag "typescript".
- GlossárioBiome
Biome é um formatter e linter em Rust para JavaScript/TypeScript que unifica formatação e análise estática.
- SnippetsCache de import dinâmico
Implementação leve em TypeScript para cachear imports dinâmicos. Trata múltiplos imports do mesmo caminho com uma única Promise.
- SnippetsDivisão de texto com TransformStream
Um exemplo de implementação TypeScript usando ReadableStream e TransformStream para dividir texto longo em chunks de tamanho especificado.
- SnippetsHook React useSelection
Hook customizado de React para gerenciar o estado de seleção de vários itens. Trata seleção total, parcial e individual com segurança de tipos.
- SnippetsImplementação de p-limit em TypeScript
Reimplementação em TypeScript do p-limit para controlar concorrência de Promises. Permite controlar concorrência sem adicionar dependências.
- SnippetsImplementação de yocto-queue em TypeScript
Reimplementação em TypeScript da fila leve yocto-queue. Oferece operações básicas como enqueue, dequeue e iterator.
- SnippetsVerificação de arquivo no Node.js
Função baseada em Promise para verificar se um caminho é um arquivo no Node.js. Retorna false em caso de erro.
- SnippetsVerificação de permissão da File System API
Função para verificar e solicitar permissões da File System API no navegador. Suporta leitura e leitura/escrita.
- SnippetsBulk Import with Fallback from Pairwise COPY to Individual Inserts
Primeiro tente bulk import para grandes volumes de dados relacionais e depois recorra a inserções individuais para linhas que violam restrições de esquema. Equilibra velocidade e taxa de sucesso.
- SnippetsCaminhada de Repositório em Duas Fases com Orçamento de Bytes
Dividir o processamento em scan path/size → análise de estrutura → leitura apenas dos chunks necessários → parsing para tornar os limites de memória controláveis mesmo para grandes repositórios.
- SnippetsClonar elemento UI nativo para herdar estilos
Um padrão leve que mantém consistência visual clonando botões existentes da aplicação host com cloneNode, substituindo apenas o ícone e texto. Sem necessidade de lutar com CSS ofuscado.
- SnippetsConfiguração idempotente de observador DOM via dataset
Um padrão simples usando atributos data para evitar registros duplicados de MutationObserver. Sem necessidade de registro global, altamente portável.
- SnippetsEstratégia de Observação DOM em Camadas
Um padrão para alternar progressivamente para observadores mais estreitos assim que o app estiver pronto. Amplamente reutilizável em content scripts de SPA e integrações DOM de terceiros.
- SnippetsFunção Auxiliar de Extração de Propriedades
Gera uma função que extrai apenas propriedades especificadas de um objeto. Consolida a extração de propriedades type-safe em uma linha para transformações mapBy aninhadas e arrays.
- SnippetsPadrão de Orquestração Cache-First, Live-Fetch
Orquestração que combina um caminho rápido pelo cache com um caminho lento pelo serviço remoto. Mede hits/misses de cache, latência e resultado final como métricas, delegando os efeitos colaterais para fora.
- SnippetsPool de Workers com Sub-lotes e Timeout por Sub-lote
Um padrão que divide grandes conjuntos de dados em pequenos sub-lotes enviados aos workers, reduzindo pressão de memória enquanto define timeouts por lote para detecção precoce de anomalias.
- SnippetsStore de hash de mensagens em tempo de build
Uma função TypeScript que realiza hash e encurta IDs de mensagens e contextos em tempo de build. Útil quando uma plataforma alvo restringe as chaves de tradução permitidas.
- SnippetsSupressão de Avisos com Cooldown Incorporado na Entidade
Um padrão que incorpora a lógica de supressão de avisos repetidos na própria entidade de quota. Controla adequadamente avisos frequentes como notificações de limite de taxa e alertas de cobrança.
- BlogTypeScript Monorepo Organizando a solução ideal edição 2026
Organizamos as funções do espaço de trabalho pnpm, Turborepo, TypeScript Project References, Biome e WXT e resumimos a solução simples de uso geral e a solução prática com uma estrutura de 4 pacotes.
- BlogCansei de continuar escrevendo o mesmo boilerplate de Web Streams
Por que reuni utilitários recorrentes de ReadableStream<Uint8Array> em @hsblabs/web-stream-extras. Os três padrões que eu repetia sempre, a classe base ByteTransformStream e a criptografia de stream com Web Crypto.
- BlogCriptografando byte streams no navegador com Web Crypto
A Web Crypto oferece primitivas criptográficas fortes, mas não uma interface orientada a streams. Veja como criptografar um ReadableStream<Uint8Array> com o subcaminho encryption de @hsblabs/web-stream-extras — incluindo criptografia de arquivos, gestão de chaves por stream e composição em pipelines.
- BlogLançando @hsblabs/web-stream-extras
Uma pequena biblioteca utilitária em TypeScript para trabalhar com ReadableStream<Uint8Array> no navegador e no Node.js, cobrindo helpers de conversão de bytes, transform streams e criptografia de streams com a Web Crypto API.
- SnippetsFunções auxiliares Uint32Array
Um wrapper TypeScript conciso para chamadas `new Uint32Array`. Suporta todas as interfaces do construtor com sobrecargas de função com segurança de tipos.
- SnippetsFunções auxiliares Uint8Array
Uma função wrapper TypeScript para simplificar chamadas new Uint8Array. Suporta arrays, ArrayBuffer e inicialização por tamanho.
- SnippetsGeração de Versão Semântica Baseada em Tempo
Função TypeScript que gera automaticamente números de versão a partir de timestamps de build. Útil quando existem limites de versão, como em extensões Chrome.
- SnippetsImplementação SHA256 Síncrona (sem WebCrypto API)
Uma implementação SHA256 em JavaScript puro sem usar a API WebCrypto. Para ambientes onde o objeto crypto não está disponível, como em algumas implementações de Web Workers.
- BlogImplementando um Editor Live Exclusivo para Desenvolvimento em Projetos Astro
Como implementar um editor baseado em navegador limitado ao modo de desenvolvimento no Astro. Usando middleware Vite e React para tornar o gerenciamento de conteúdo durante o desenvolvimento confortável sem afetar os builds de produção.
- SnippetsImplementando um Tipo Result Leve em TypeScript
Um padrão de tratamento de erros sem try-catch. Trate erros de forma type-safe com um tipo Result que separa data e error.
- SnippetsMesclar Uint8Arrays
Uma função TypeScript para mesclar múltiplos Uint8Arrays em um. Útil para combinar dados binários.
- SnippetsObjeto com Inicialização Preguiçosa
Pattern TypeScript usando getters para gerar valores apenas no primeiro acesso. Lazy evaluation mais leve que o cache de memória.
- SnippetsPolyfill para crypto.randomUUID
Implementação polyfill da função crypto.randomUUID. Como todos os navegadores suportam isso agora, não há necessidade de nova implementação, mas serve como referência para entender o mecanismo UUID v4.
- SnippetsRegex para Extensões de Imagem
Padrão regex JavaScript/TypeScript para detectar formatos de imagem a partir de nomes de arquivo. Suporta png, webp, jpg, jpeg, avif, gif.
- SnippetsTypeScript Non-null Assertion
Funções de type guard TypeScript para eliminar undefined e null. Garantem tanto erros de execução quanto segurança de tipos.
- SnippetsUtilitários de array em TypeScript
Coleção de funções utilitárias type-safe para operações comuns com arrays em TypeScript. Geração de array vazio, chunking, filtro de null e embaralhamento.
- BlogImplementando hash CRC32 em TypeScript
Etapas para implementar o algoritmo de hash CRC32 em TypeScript. Organiza técnicas de aceleração usando tabelas de pesquisa e exemplos reais de uso.
- BlogImplementando divisão de texto por linha com TransformStream: LineSplitTransform
Uma implementação de TransformStream que divide dados binários recebidos de um fluxo em linhas. Útil para processamento incremental de logs e arquivos de texto.
- BlogFunção utilitária em TypeScript para converter valores em ReadableStream
Uma função utilitária que converte strings, objetos e outros valores em ReadableStream. Uma forma de lidar com streams tipados sem passar por Blob.
- BlogImplementando a determinação de endereços IP do intervalo CIDR com TypeScript
Para ambientes onde módulos externos, como o CloudFront Function, não podem ser usados, implementamos nossa própria determinação de endereço IP dentro do intervalo CIDR. Organizou a implementação da sintaxe da classe usando operações bit a bit.
- BlogImplementação em TypeScript para ordenar arquivos de mídia por resolução
Uma implementação TypeScript enxuta para ordenar vídeos ou imagens por resolução (largura × altura). Útil para variantes de mídia do Twitter.
- BlogReimplementando generate-project-summary.py com Bun + TypeScript
Uma reimplementação em Bun + TypeScript de um script Python para resumir projetos. O texto cobre a motivação e a implementação de um binário portátil para dar um repositório inteiro a um LLM.
- BlogGerar números da Lotto 6 e Lotto 7 em TypeScript
Uma implementação em TypeScript que gera números da Lotto 6 e Lotto 7 usando o Mersenne Twister. Um exemplo prático de gerador pseudoaleatório.
- BlogImplementação em TypeScript para chamar um API Gateway protegido por IAM
Passo a passo para enviar, a partir do ambiente local, uma requisição em TypeScript para um API Gateway com autenticação IAM usando SigV4 do AWS SDK para JavaScript.
- BlogImplementação TypeScript para gerar imagens de HTMLVideoElement
Uma implementação TypeScript que usa Canvas e VideoElement para extrair o quadro atual de um vídeo como uma imagem. Organizou o método de geração de blobs baseado em promessas.
- BlogImplementação TypeScript de esteganografia usando seletores de variantes
Uma implementação TypeScript de um método de esteganografia que aproveita o seletor de variantes do Unicode para incorporar strings ocultas e invisíveis no texto.
- BlogMinha primeira implementação de plugin Vite: gerar metadados de build automaticamente
Como encaixar lógica personalizada no ciclo de build do Vite com a Plugin API. Um exemplo usando um plugin que gera versão semântica baseada em tempo.
- BlogImplementação em TypeScript para extrair tamanho de URLs de vídeo do Twitter
Uma implementação em TypeScript que extrai a resolução presente em URLs de vídeo do Twitter (X) com expressão regular. Resumo do padrão da URL e da forma de obter o tamanho.
hsb.horse