awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
riok avatar

riok/mapperly

0
View on GitHub↗
4,100 stele·222 fork-uri·C#·Apache-2.0·7 vizualizărimapperly.riok.app↗

Mapperly

Mapperly este un generator de surse C# utilizat pentru maparea de înaltă performanță de la obiect la obiect în .NET. Acesta funcționează ca o bibliotecă de mapare la momentul compilării care produce codul de transformare necesar în timpul procesului de build, eliminând nevoia de reflexie la runtime atunci când se convertesc modelele de domeniu în obiecte de transfer de date (DTO).

Instrumentul se distinge prin oferirea unei validări diagnostice sigure din punct de vedere al tipurilor și impunerea unei mapări stricte, emițând avertismente pentru proprietățile nemapate la momentul compilării. Include capabilități specializate pentru gestionarea referințelor circulare și clonarea profundă pentru a menține identitatea obiectelor și a preveni buclele infinite în timpul transformărilor complexe.

Proiectul acoperă o gamă largă de sarcini de transformare, inclusiv aplatizarea ierarhiilor de obiecte imbricate, conversia diverselor tipuri de colecții și span-uri, precum și maparea cuprinzătoare a enum-urilor între șiruri și tipuri primitive. De asemenea, suportă integrarea cu baza de date prin proiecția interogărilor, traducând definițiile de mapare în arbori de expresii pentru a optimiza preluarea câmpurilor din surse interogabile.

Opțiunile de configurare permit fabrici de obiecte personalizate, excluderi la nivel de membru și integrarea logicii de mapare definite de utilizator. Codul sursă generat poate fi exportat într-un director configurabil pentru inspecție manuală și controlul versiunilor.

Features

  • Source Generators - Uses C# source generators to produce mapping code during compilation, eliminating runtime reflection.
  • .NET Object Mapping - Provides high-performance object mapping for the .NET ecosystem using source generators to avoid reflection.
  • Data Projections - Maps data from queryable sources to target types to optimize database performance.
  • Query Projections - Translates mapping definitions into database-level query projections to optimize data retrieval.
  • API-to-Domain Mapping - Automates the conversion between internal domain models and data transfer objects for API and database layers.
  • Object-to-Object Mappers - Generates code to transfer data between different .NET object types without manual assignment logic.
  • C# Source Code Generators - Uses C# source generators to automate the production of mapping code during the build process.
  • Compile-Time Field Mapping - Resolves object property assignments at compile time to maximize execution performance by avoiding reflection.
  • Object Type Transformations - Provides automated code generation for transferring data between different .NET object types, interfaces, and generics.
  • Property Strictness - Triggers diagnostic warnings or errors when source or target members remain unmapped to ensure schema integrity.
  • Automatic Object Mappers - Generates conversion logic using direct assignments, casts, and constructors.
  • Compile-Time Mapping Validations - Analyzes mapping signatures at compile time to emit warnings for unmapped properties.
  • Data Transfer Object Mapping - Automates the conversion of data between internal domain models and data transfer objects.
  • Strict Mapping Enforcement - Verifies that every source member is mapped to a target member and reports gaps as compile-time warnings.
  • Property Name Heuristics - Automatically matches source and target properties using naming conventions and case-insensitive analysis.
  • Collection Element Mapping - Maps members and constructor parameters within a loop when converting collections of objects.
  • Complex Data Structure Transformation - Performs complex transformations by flattening nested hierarchies or expanding flat structures.
  • Mapping Validation - Analyzes mapping signatures and member availability at compile time to prevent invalid configurations.
  • Custom Enum Value Assignments - Translates values between enums, strings, and primitive types using custom naming or explicit value strategies.
  • Enum Fallback Management - Provides fallback mechanisms to handle unknown enum values by redirecting them to specified defaults.
  • Nested Attribute Flattening - Converts nested object structures into flat target properties using naming conventions.
  • Null Value Handling - Defines strategies for handling null source values, including assigning them, ignoring them, or throwing exceptions.
  • Object Flattening - Transforms nested object hierarchies into single-level structures or expands flat properties into nested objects.
  • Expression Tree Translation - Translates mapping definitions into expression trees to optimize database retrieval by fetching only required fields.
  • Deep Class Instance Cloning - Creates full independent copies of nested objects and collections to isolate data.
  • Static Mapping Method Generation - Generates mapping logic as static methods to support interface implementations and simplify method resolution.
  • Transformation Method Generation - Produces static methods for object transformations to ensure high performance and simplified discovery.
  • Automated Constructor Analysis - Automates object instantiation by analyzing target constructors and their parameters.
  • Enum Type Conversions - Translates values between enums and strings or different enum types by name or value.
  • Explicit Member Mapping - Manually links specific source enum values to specific target values by overriding automatic discovery.
  • Generic Types - Generates mapping logic for methods with type parameters that satisfy source and target constraints.
  • Collection Format Conversions - Provides conversion between various collection types including Enumerable, Dictionary, Span, Memory, and Queryable.
  • Constructor Parameter Mapping - Links specific source properties to target constructor parameters when names do not match.
  • Constructor Selection Logic - Invokes the most appropriate target constructor based on parameter count or signature preference.
  • Member Matching Strategies - Matches enum entries based on underlying values or exact names with case-insensitive options.
  • Object Initializers - Creates target instances using constructors, custom factories, or by updating existing objects.
  • Enum-to-String Converters - Converts enum values to strings using customizable naming strategies like camelCase or snake_case.
  • Property Exclusion - Prevents specific class properties from being mapped using ignore annotations.
  • Custom Mapping Logic Integration - Supports the integration of custom user-defined methods to handle complex data transformations.
  • Circular Reference Detection - Tracks and reuses object instances during mapping to prevent infinite loops in self-referencing structures.
  • Reference Tracking - Maintains a registry of mapped objects to prevent infinite loops and preserve identity during deep cloning.
  • Mapping Completeness Validations - Validates that all required properties are mapped and flags missing entries during the generation process.
  • In-Place Object Updating - Updates a provided target object instance with source values instead of creating a new instance.
  • Object Property Customizations - Provides capabilities to rename members or ignore specific fields during the object mapping process.
  • Nested Property Extractors - Matches nested source properties to flat target properties by analyzing member name permutations.
  • Property Matching Strategies - Provides configurable property matching, such as case-insensitive name matching, to align source and target members.
  • Strict Enum Mapping Validations - Provides compile-time diagnostics to ensure all enum members are mapped, preventing runtime missing-mapping errors.
  • Core .NET Libraries - Source generator-based mapper for compile-time type-safe transformations.
  • Object Mapping - Source generator for high-performance object mapping without runtime reflection.

Istoric stele

Graficul istoricului de stele pentru riok/mapperlyGraficul istoricului de stele pentru riok/mapperly

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Mapperly

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Mapperly.
  • mapstermapper/mapsterAvatar MapsterMapper

    MapsterMapper/Mapster

    5,127Vezi pe GitHub↗

    Mapster is a .NET object-to-object mapper and high-performance mapping engine used for transforming data between different object models. It functions as a type-safe data transfer tool and a LINQ query projection tool to move data between internal logic and external data structures. The engine utilizes compiled mapping expressions and machine code to reduce overhead during object conversion. It specifically allows for projecting queryable data sources directly into destination types to optimize database retrieval. The toolset covers data transfer object generation, immutable data transformat

    C#
    Vezi pe GitHub↗5,127
  • luckypennysoftware/automapperAvatar LuckyPennySoftware

    LuckyPennySoftware/AutoMapper

    10,190Vezi pe GitHub↗

    AutoMapper is a strongly typed object-to-object mapper for .NET. It provides utilities for copying data between different object representations using convention-based property matching to eliminate manual assignment code. The library automates the transformation of data models by matching source and destination properties based on shared names and types. It supports the conversion of internal domain models into data transfer objects, facilitating data movement between presentation, business, and data access layers. The system employs reflection-based type discovery and recursive object grap

    C#
    Vezi pe GitHub↗10,190
  • automapper/automapperAvatar AutoMapper

    AutoMapper/AutoMapper

    10,191Vezi pe GitHub↗

    AutoMapper is a .NET object-to-object mapper designed to transfer data between different object types. It functions as an automated mapping library that reduces the need for manual property assignments by using naming conventions to match properties between classes. The library focuses on automating data projection and the conversion of internal domain models into data transfer objects. It supports layered architecture decoupling by mapping data between domain entities and view models. The system employs convention-based member matching, flattening-based property projection, and recursive ty

    C#
    Vezi pe GitHub↗10,191
  • microsoft/typescript-handbookAvatar microsoft

    microsoft/TypeScript-Handbook

    4,855Vezi pe GitHub↗

    This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental principles of the language, including its structural type system, static type analysis, and the process of transpiling typed source files into JavaScript. The material details how to model complex data and reusable type logic using generics, conditional types, and mapped types. It also explains the use of declaration files to provide type safety for external JavaScript libraries and the integration of type checking into existing JavaScript projects via JSDoc annotations. The

    JavaScriptdocumentationlearntypescript
    Vezi pe GitHub↗4,855
Vezi toate cele 30 alternative pentru Mapperly→

Întrebări frecvente

Ce face riok/mapperly?

Mapperly este un generator de surse C# utilizat pentru maparea de înaltă performanță de la obiect la obiect în .NET. Acesta funcționează ca o bibliotecă de mapare la momentul compilării care produce codul de transformare necesar în timpul procesului de build, eliminând nevoia de reflexie la runtime atunci când se convertesc modelele de domeniu în obiecte de transfer de date (DTO).

Care sunt principalele funcționalități ale riok/mapperly?

Principalele funcționalități ale riok/mapperly sunt: Source Generators, .NET Object Mapping, Data Projections, Query Projections, API-to-Domain Mapping, Object-to-Object Mappers, C# Source Code Generators, Compile-Time Field Mapping.

Care sunt câteva alternative open-source pentru riok/mapperly?

Alternativele open-source pentru riok/mapperly includ: mapstermapper/mapster — Mapster is a .NET object-to-object mapper and high-performance mapping engine used for transforming data between… automapper/automapper — AutoMapper is a .NET object-to-object mapper designed to transfer data between different object types. It functions as… luckypennysoftware/automapper — AutoMapper is a strongly typed object-to-object mapper for .NET. It provides utilities for copying data between… microsoft/typescript-handbook — This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental… apache/fory — Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs… esotericsoftware/kryo — Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact…