Tags
#typescript
Contenus associés au tag "typescript".
- GlossaireBiome
Biome est un formateur et linter Rust pour JavaScript/TypeScript, réunissant formatage et analyse statique.
- SnippetsCache de dynamic import
Implémentation TypeScript légère pour mettre en cache les dynamic imports. Gère plusieurs imports du même chemin avec une seule Promise.
- SnippetsDécoupage de texte avec TransformStream
Un exemple d'implémentation TypeScript utilisant ReadableStream et TransformStream pour diviser un long texte en morceaux de taille spécifiée.
- SnippetsHook React useSelection
Hook React personnalisé pour gérer l’état de sélection de plusieurs éléments. Gère de façon type-safe la sélection totale, partielle et individuelle.
- SnippetsImplémentation TypeScript de p-limit
Réimplémentation TypeScript de p-limit pour contrôler la concurrence des Promises. Permet un contrôle de concurrence sans dépendance supplémentaire.
- SnippetsImplémentation TypeScript de yocto-queue
Réimplémentation TypeScript de la file légère yocto-queue. Fournit les opérations de base : enqueue, dequeue et iterator.
- SnippetsVérification de fichier en Node.js
Fonction basée sur Promise pour vérifier si un chemin est un fichier en Node.js. Retourne false en cas d’erreur.
- SnippetsVérification des permissions de la File System API
Fonction pour vérifier et demander les permissions de la File System API du navigateur. Prend en charge les modes lecture seule et lecture/écriture.
- SnippetsBulk Import with Fallback from Pairwise COPY to Individual Inserts
Tentez d'abord un bulk import pour les données relationnelles volumineuses, puis basculez vers des insertions individuelles pour les lignes qui violent les contraintes de schéma. Équilibre vitesse et taux de réussite.
- SnippetsCloner un élément UI natif pour hériter des styles
Un pattern léger qui maintient la cohérence visuelle en clonant les boutons existants de l'application hôte avec cloneNode, puis en remplaçant uniquement l'icône et le texte. Pas besoin de se battre avec du CSS obfusqué.
- SnippetsFonction Auxiliaire d'Extraction de Propriétés
Générer une fonction qui extrait uniquement les propriétés spécifiées d'un objet. Consolidez l'extraction de propriétés type-safe en une ligne pour les transformations mapBy imbriquées et les tableaux.
- SnippetsMise en place idempotente d'un observateur DOM via dataset
Un pattern simple utilisant les attributs data pour éviter les doublons d'enregistrement de MutationObserver. Aucun registre global requis, très portable.
- SnippetsParcours de dépôt en deux phases avec budget d'octets
Diviser le traitement en scan path/size → analyse de structure → lecture des chunks nécessaires uniquement → parsing pour rendre les limites mémoire contrôlables même pour les grands dépôts.
- SnippetsPattern d'orchestration cache d'abord, récupération en direct ensuite
Orchestration combinant un chemin rapide depuis le cache et un chemin lent depuis un service distant. Mesure les hits/miss de cache, la latence et le résultat final sous forme de métriques, en déléguant les effets de bord vers l'extérieur.
- SnippetsPool de Workers avec Sous-lots et Timeout par Sous-lot
Un pattern qui divise de grands ensembles de données en petits sous-lots envoyés aux workers, réduisant la pression mémoire tout en définissant des timeouts par lot pour une détection précoce des anomalies.
- SnippetsStore de hachage de messages à la compilation
Une fonction TypeScript qui hache et raccourcit les ID de messages et les contextes au moment de la compilation. Utile quand une plateforme cible restreint les clés de traduction autorisées.
- SnippetsStratégie d'observation DOM en couches
Un pattern pour basculer progressivement vers des observateurs plus ciblés une fois l'application prête. Largement réutilisable dans les scripts de contenu SPA et les intégrations DOM tierces.
- SnippetsSuppression des avertissements avec cooldown intégré à l'entité
Un motif qui intègre la logique de suppression des avertissements répétés dans l'entité de quota elle-même. Contrôle correctement les avertissements fréquents tels que les notifications de limitation de débit et les alertes de facturation.
- BlogTypeScript Monorepo Organiser la solution optimale édition 2026
Nous avons organisé les rôles de l'espace de travail pnpm, Turborepo, TypeScript Project References, Biome et WXT, et avons résumé la solution simple à usage général et la solution pratique avec une structure en 4 packages.
- BlogChiffrer des flux d'octets dans le navigateur avec Web Crypto
Web Crypto fournit de puissantes primitives de chiffrement, mais pas d'interface orientée flux. Voici comment chiffrer un ReadableStream<Uint8Array> avec le sous-chemin encryption de @hsblabs/web-stream-extras — chiffrement de fichiers, gestion de clés par flux et composition dans des pipelines.
- BlogJ'en avais assez de réécrire le même boilerplate Web Streams
Pourquoi j'ai fini par regrouper des utilitaires ReadableStream<Uint8Array> dans @hsblabs/web-stream-extras. Les trois motifs qui revenaient sans cesse, la classe de base ByteTransformStream et le chiffrement de flux avec Web Crypto.
- BlogPublication de @hsblabs/web-stream-extras
Une petite bibliothèque utilitaire TypeScript pour manipuler ReadableStream<Uint8Array> dans le navigateur et dans Node.js, avec helpers de conversion d'octets, transform streams et chiffrement de flux via Web Crypto API.
- SnippetsFonctions utilitaires Uint32Array
Un wrapper TypeScript concis pour les appels `new Uint32Array`. Supporte toutes les interfaces du constructeur via des surcharges de fonctions.
- SnippetsFonctions utilitaires Uint8Array
Une fonction wrapper TypeScript pour simplifier les appels new Uint8Array. Prend en charge les tableaux, ArrayBuffer et les initialisations par longueur.
- SnippetsFusionner des Uint8Array
Une fonction TypeScript pour fusionner plusieurs Uint8Array en un seul. Utile pour combiner des données binaires.
- SnippetsGénération de version sémantique basée sur l'heure
Fonction TypeScript qui génère automatiquement des numéros de version à partir des horodatages de build. Utile lorsqu'il existe des limites de version, comme dans les extensions Chrome.
- SnippetsImplémentation d'un type Result léger en TypeScript
Un pattern de gestion d'erreurs sans try-catch. Gérez les erreurs de manière type-safe avec un type Result séparant data et error.
- SnippetsImplémentation SHA256 synchrone (sans WebCrypto API)
Une implémentation SHA256 en JavaScript pur sans utiliser l'API WebCrypto. Pour les environnements où l'objet crypto n'est pas disponible, comme certaines implémentations Web Workers.
- BlogImplémenter un éditeur Live réservé au développement dans les projets Astro
Comment implémenter un éditeur basé sur navigateur limité au mode développement dans Astro. Utiliser le middleware Vite et React pour rendre la gestion de contenu en développement confortable sans affecter les builds de production.
- SnippetsObjet à initialisation différée
Pattern TypeScript utilisant les getters pour générer des valeurs uniquement lors du premier accès. Évaluation paresseuse plus légère que le cache mémoire.
- SnippetsPolyfill pour crypto.randomUUID
Implémentation polyfill de la fonction crypto.randomUUID. Tous les navigateurs la supportent maintenant, donc aucun besoin de nouvelle implémentation, mais cela sert de référence pour comprendre le mécanisme UUID v4.
- SnippetsRegex pour les extensions d'images
Pattern regex JavaScript/TypeScript pour détecter les formats d'image depuis les noms de fichiers. Supporte png, webp, jpg, jpeg, avif, gif.
- SnippetsTypeScript Non-null Assertion
Les fonctions de garde de type TypeScript pour éliminer undefined et null. Assurent à la fois les erreurs d'exécution et la sécurité des types.
- SnippetsUtilitaires de tableau TypeScript
Collection de fonctions utilitaires type-safe pour les opérations courantes sur les tableaux en TypeScript. Création de tableaux vides, chunking, filtrage null et mélange.
- BlogImplémentation du hachage CRC32 dans TypeScript
Étapes pour implémenter l'algorithme de hachage CRC32 dans TypeScript. Organise les techniques d'accélération à l'aide de tables de recherche et d'exemples d'utilisation réelle.
- BlogImplémenter un découpage de texte ligne par ligne avec TransformStream : LineSplitTransform
Une implémentation TransformStream qui découpe les données binaires d'un flux en lignes. Pratique pour traiter progressivement des logs et des flux texte.
- BlogUne fonction utilitaire TypeScript pour convertir des valeurs en ReadableStream
Une fonction utilitaire qui convertit des chaînes, objets et autres valeurs en ReadableStream. Une façon de manipuler des flux typés sans passer par Blob.
- BlogImplémentation de la détermination de l'adresse IP de la plage CIDR avec TypeScript
Pour les environnements dans lesquels des modules externes tels que CloudFront Function ne peuvent pas être utilisés, nous avons implémenté notre propre détermination d'adresse IP dans la plage CIDR. Organisé l'implémentation de la syntaxe de classe à l'aide d'opérations au niveau du bit.
- BlogImplémentation TypeScript pour trier des fichiers média par résolution
Une implémentation TypeScript concise pour trier vidéos ou images par résolution (largeur × hauteur). Utile pour ordonner des médias Twitter.
- BlogRéécrire generate-project-summary.py avec Bun + TypeScript
Réimplémentation en Bun + TypeScript d'un script Python de résumé de projet. Retour sur la création d'un binaire portable pour faire lire un dépôt entier à un LLM.
- BlogGénérer des numéros de Lotto 6 et Lotto 7 en TypeScript
Une implémentation TypeScript qui génère des numéros de Lotto 6 et Lotto 7 avec le Mersenne Twister. Un exemple pratique de générateur pseudo-aléatoire.
- BlogEnvoyer une requête TypeScript vers un API Gateway protégé par IAM
Implémentation TypeScript pour appeler depuis un environnement local un API Gateway protégé par IAM en utilisant SigV4 du SDK AWS pour JavaScript.
- BlogImplémentation de TypeScript pour générer des images à partir de HTMLVideoElement
Une implémentation TypeScript qui utilise Canvas et VideoElement pour extraire l'image actuelle d'une vidéo sous forme d'image. Organisé la méthode de génération de blobs basée sur des promesses.
- BlogImplémentation TypeScript de la stéganographie à l'aide de sélecteurs de variantes
Une implémentation TypeScript d'une méthode de stéganographie qui exploite le sélecteur de variantes d'Unicode pour intégrer des chaînes cachées et invisibles dans le texte.
- BlogMa première implémentation de plugin Vite : générer automatiquement des métadonnées de build
Comment brancher un traitement personnalisé dans le cycle de build de Vite avec l’API de plugin. Un exemple à partir d’un plugin qui génère une version sémantique basée sur le temps.
- BlogImplémentation TypeScript pour extraire la taille depuis une URL vidéo Twitter
Une implémentation TypeScript qui extrait la résolution contenue dans une URL vidéo Twitter (X) avec une expression régulière. Résumé du motif d’URL et de la méthode.
hsb.horse