@heritsilavo/mapper
Bibliothèque de mapping d'objets TypeScript avec API fluide, inspirée par AutoMapper (.NET) et MapStruct (Java).
Tech Stack
Fonctionnalités Clés
API Fluide
Chaînez les configurations avec .forMember() pour un code lisible et expressif, proche de l'expérience AutoMapper ou MapStruct.
Auto-mapping & Reverse mapping
Mappe automatiquement les propriétés de même nom et génère des mappings bidirectionnels avec .reverseMap().
Profils de mapping
Organisez vos configurations par domaine métier grâce aux MappingProfile pour garder un code structuré et maintenable.
Mapping de tableaux
Transformez des collections entières en un seul appel avec .mapArray(), sans boucle manuelle.
Défis & Solutions Techniques
Compatibilité ESM et CJS
Configurer Rollup pour produire un bundle compatible à la fois avec les modules CommonJS et ES Modules, tout en préservant la sûreté du typage TypeScript sur les deux formats.
Inférence de types générique sans perte
Concevoir les signatures TypeScript de .forMember() et .map() de sorte que le compilateur infère automatiquement les types source et destination, sans obliger l'utilisateur à les préciser manuellement ni perdre d'information lors des transformations.
Zéro dépendance et empreinte minimale
Maintenir un bundle final sans aucune dépendance externe pour ne pas alourdir les projets consommateurs, tout en offrant suffisamment de flexibilité pour couvrir des cas d'usage avancés comme le mapping récursif ou les transformations asynchrones.