Recentemente, tenho escrito vários testes jest para bibliotecas que usam o window.crypto
como o getRandomValues()
e window.crypto.subtle
métodos de gerenciamento de chaves. Um problema com o qual me deparo é que o window.crypto
não está disponível e, portanto, preciso usar o shim.
Para usar o window.crypto
o senhor precisará do Node 15+. O senhor pode definir o window.crypto
importando o crypto
e definindo-o no global:
const crypto = require('crypto').webcrypto; // Shims the crypto property onto global global.crypto = crypto;
Eu realmente detesto criar funções de simulação para bibliotecas ausentes no Node, pois elas podem levar a positivos falhos nos testes. webcrypto
estar disponível!
Expressões regulares para o resto de nós
Mais cedo ou mais tarde, o senhor se deparará com uma expressão regular. Com sua sintaxe enigmática, documentação confusa e enorme curva de aprendizado, a maioria dos desenvolvedores se contenta em copiá-las e colá-las do StackOverflow e torcer para que funcionem. Mas e se o senhor pudesse decodificar as expressões regulares e aproveitar seu poder? Em…
Escreva um JavaScript melhor com promessas
O senhor provavelmente já ouviu a conversa no bebedouro sobre como as promessas são o futuro. Todos os jovens descolados estão usando-as, mas o senhor não entende o que as torna tão especiais. O senhor não pode simplesmente usar um callback? Qual é o problema? Neste artigo, vamos…
Redimensionar uma imagem usando o Canvas, arrastar e soltar e a API de arquivos
Recentemente, pediram-me para criar uma interface de usuário que permitisse a alguém fazer upload de uma imagem para um servidor (entre outras coisas) para que ela pudesse ser usada nos vários sites que minha empresa fornece a seus clientes. Normalmente, essa seria uma tarefa fácil: criar uma…
Criar um índice dinâmico usando o MooTools 1.2
O senhor provavelmente já percebeu que evito escrever artigos muito longos. Aqui estão algumas razões para isso: A maioria dos visitantes do site vem do Google e quer apenas uma resposta direta e rápida para uma pergunta. Percebi que tenho dificuldade em…