✦Projet Open Source

@heritsilavo/mapper

Bibliothèque de mapping d'objets TypeScript avec API fluide, inspirée par AutoMapper (.NET) et MapStruct (Java).

@heritsilavo/mapper Hero Image

Tech Stack

Rollup
TypeScript
NPM
Open Source
Bundle ESM/CJS

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.