35 dépôts
Resolving generic type arguments at runtime to instantiate correct types for nested collections.
Distinct from Generic Type Definitions: Focuses on runtime resolution of generics for deserialization, unlike Generic Type Definitions which focus on static analysis.
Explore 35 awesome GitHub repositories matching software engineering & architecture · Generic Type Resolution. Refine with filters or upvote what's useful.
Fastjson is a Java data binding framework and serialization library designed to convert objects to JSON strings and parse JSON data into typed objects. It functions as a JSON parser and stream processor capable of transforming JSON strings into data structures. The project emphasizes high performance JSON processing and memory management, specifically through the use of a pipeline to stream oversized JSON objects and texts to prevent memory exhaustion. It provides capabilities for JSON data serialization and deserialization workflows, including custom JSON data mapping and the ability to def
Ensures correct object instantiation for nested collections by resolving complex generic type arguments during deserialization.
KaTeX is a typesetting library and web math renderer that transforms TeX and LaTeX mathematical notation into high-quality HTML and CSS for web browsers. It functions as a math notation parser and LaTeX to HTML converter, capable of operating as both a client-side library and a server-side math renderer to generate static HTML expressions. The project supports a wide range of specialized mathematical rendering, including chemical equation rendering, Bra-ket notation for quantum mechanics, and mathematical logic typesetting. It provides comprehensive controls for structural layouts such as mat
Prevents infinite loops and resource exhaustion by capping the number of nested macro resolutions.
Instantiator is a PHP library designed to create class instances without invoking their constructors. It uses the PHP Reflection API to allocate objects in memory and initialize them in a predefined state, bypassing standard constructor logic. The project functions as a data hydration tool and a testing helper. It enables the population of PHP objects from external data sources by mapping values directly to properties, regardless of whether those properties are public, protected, or private. This capability allows for the generation of objects in specific internal states for unit tests withou
Traverses nested object hierarchies to resolve and instantiate appropriate types based on reflection data.
MagicalRecord is a data persistence library and wrapper for Core Data that implements the Active Record pattern. It maps database rows directly to object instances, allowing for the creation, update, and retrieval of records without writing manual query logic. The project functions as a mapping layer that synchronizes object properties with a managed object context. It utilizes generic-based type resolution and model-class querying to enable data fetching directly on model classes, which removes the need for a separate external manager and reduces repetitive fetch request boilerplate. The li
Uses Swift generics to automatically resolve and instantiate the correct entity types during data retrieval.
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
Walks through nested object hierarchies to resolve and instantiate child types based on mapping configurations.
RestSharp is a .NET HTTP client library designed for interacting with RESTful web services. It provides a high-level request wrapper and a dedicated REST API client to manage endpoints, headers, and query parameters. The library includes a serialization mechanism that automatically converts objects to and from JSON or XML formats for API payloads. It also features a system for managing API credentials and security tokens to ensure authorized access to protected remote resources. The toolkit covers broad capabilities for external web service integration, including generic type-based deseriali
Automatically maps HTTP response bodies to specified C# types using generic type parameters and reflection.
Refit is a type-safe REST client for .NET that transforms API definitions into live interfaces. It functions as an automatic API proxy generator, allowing developers to define endpoints as interfaces to eliminate manual HTTP request boilerplate. The library is designed for compatibility with ahead-of-time compilation and trimmed binaries, utilizing build-time source generation to ensure support for native AoT deployments. The project covers a broad range of API integration capabilities, including attribute-driven request composition, automatic JSON deserialization, and request header managem
Converts raw HTTP response bodies into strongly typed objects using pluggable serialization engines.
ObjectMapper is a JSON serialization framework for Swift that maps JSON strings and dictionaries into strongly typed classes and structs. It functions as a data mapper and converter, facilitating the bidirectional transformation of data between raw JSON and Swift model objects. The library uses protocol-based mapping to associate specific JSON keys with object properties. It supports nested key extraction via dot-notation pathing and employs custom transformation classes to bridge the gap between JSON and Swift types. The framework provides capabilities for model validation during initializa
Handles classes with generic type parameters by ensuring generic types conform to the mapping protocol.
qs est une bibliothèque de parsing et de sérialisation de chaînes de requête (query strings) utilisée pour convertir des chaînes d'URL en objets JavaScript et transformer des objets ou des tableaux en chaînes encodées URI. Elle fonctionne comme un parseur sécurisé et un utilitaire d'encodage URI, spécifiquement conçu pour gérer des structures de données imbriquées. La bibliothèque se distingue par ses styles d'imbrication configurables et ses formats de sérialisation de tableaux. Elle prend en charge une logique d'encodage de caractères personnalisée et utilise des sentinelles de charset pour gérer les conversions entre UTF-8 et ISO-8859-1. Pour prévenir l'épuisement des ressources et les vulnérabilités de sécurité, le projet implémente une limitation du nombre de paramètres et des restrictions strictes sur la profondeur de parsing. Il inclut également des capacités de gestion des valeurs nulles, de filtrage de clés basé sur des prédicats, et des fonctions d'encodage enfichables pour gérer la sérialisation des données.
Enforces a maximum nesting level during object reconstruction to prevent resource exhaustion and DoS attacks.
openapi-typescript is an OpenAPI TypeScript type generator and schema transformer. It converts JSON or YAML OpenAPI specification files into static TypeScript type definitions to provide end-to-end API type safety. The tool functions as a static type generator that transforms external API definitions into interfaces and types. It focuses on zero-runtime type enforcement, ensuring that data consistency is maintained via the TypeScript type system without adding overhead to production bundles. The project covers API type safety and schema conversion, facilitating the validation of request bodi
Implements recursive traversal of schema hierarchies to resolve nested and circular type references.
HybridCLR is a hybrid C# execution engine and assembly loader designed for Unity. It provides a system for hot-updating C# logic across all platforms at runtime without requiring the application to be rebuilt or reinstalled. The project is distinguished by its mixed-mode execution, which runs unmodified code at native speed while using a high-performance interpreter for updated functions. It includes a generic type resolver that allows hot-updated code to use generic classes and functions regardless of whether they were pre-instantiated in the main binary. To protect proprietary source code,
Provides runtime generic type resolution to allow hot-updated code to use any generic class regardless of pre-instantiation.
Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida
Manages named type references and self-referential structures through a resolution space for complex schema definitions.
This library is a YAML encoder and decoder for native Go data structures. It provides the tools necessary to transform internal data into YAML formatted text and convert YAML input streams back into structured data. The parser includes built-in protections against resource exhaustion attacks by enforcing limits on document depth and alias resolution. It also ensures deterministic output by employing consistent key sorting for maps. The project covers serialization and deserialization workflows, including struct mapping and custom marshaling interfaces. It also handles input encoding detectio
Provides security-driven limits on the nesting level of objects during deserialization to prevent resource exhaustion attacks.
This project is a PHP variable export library designed to convert complex data structures and internal memory states into human-readable strings. It functions as a debugging tool that transforms variables and object hierarchies into formatted text for state inspection and troubleshooting. The system prevents output clutter by creating compact string representations of data types and circular references. It employs recursive traversal with depth limiting and circular reference detection to ensure that complex hierarchies are visualized without causing infinite loops. The library covers a broa
Tracks the nesting level during variable traversal to prevent infinite loops when encountering circular object references.
MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object graphs into the MessagePack format. It functions as a C# data serialization toolkit and a polymorphic binary encoder capable of handling abstract classes and interfaces using union keys to identify concrete derived types. The library provides a binary format transcoder to transform binary data into human-readable JSON for debugging. It supports ahead-of-time formatter generation to avoid runtime overhead and implements LZ4 binary compression to reduce the size of serialized data.
Protects against resource exhaustion attacks by limiting the maximum nesting depth of object graphs during decoding.
recursion-context is a set of PHP utilities for traversing and modifying deep data hierarchies. It provides a recursive variable processor designed to apply transformations across nested arrays and objects while maintaining stability. The project distinguishes itself through a recursion depth controller and reference tracking to prevent infinite loops and memory exhaustion when processing circular data structures. It monitors the level of nesting during traversal to avoid stack overflows. These tools cover hierarchical data transformation and nested data processing, allowing for stateful vis
Monitors recursion depth during nested variable operations to prevent memory exhaustion and stack overflows.
CsvHelper est une bibliothèque pour lire et écrire des fichiers de valeurs séparées par des virgules en mappant les données à des objets de classe personnalisés. Elle fonctionne comme une bibliothèque d'analyse et un mappeur de données qui convertit le texte de fichier plat en objets de données structurés et sérialise les ensembles de données internes en fichiers CSV standard. Le projet met l'accent sur l'efficacité de la mémoire via un analyseur qui optimise la consommation des ressources. Il utilise la mise en cache des valeurs de champ et un cache de chaînes internées pour stocker les valeurs répétitives, ce qui réduit la surcharge de mémoire lors du traitement de grands ensembles de données. La bibliothèque fournit un moteur d'analyse piloté par la configuration qui prend en charge divers délimiteurs et caractères d'échappement. Elle gère la relation entre les colonnes CSV et les propriétés de classe en utilisant un mappage basé sur les attributs et une instanciation d'objet basée sur la réflexion. Le traitement est géré via une analyse séquentielle basée sur le flux pour gérer les fichiers à haut volume sans charger l'ensemble de données complet en mémoire.
Uses generic type parameters to ensure raw CSV string values are projected into strongly typed class objects.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Allows the creation of usable types from strings or type identifiers during compilation.
fast_jsonapi est un sérialiseur d'objets Ruby conçu pour transformer des objets de données backend complexes en représentations JSON structurées. Il implémente spécifiquement le format JSON:API pour assurer un échange de données cohérent entre serveurs et clients. La bibliothèque fonctionne comme un générateur de document composé, permettant aux ressources liées d'être intégrées au sein d'une seule réponse pour minimiser les requêtes réseau. Elle utilise une définition de schéma basée sur les classes pour découpler les modèles de base de données internes de la représentation API publique. Le projet inclut un outil en ligne de commande pour générer du boilerplate de sérialiseur en scannant les schémas de base de données. La performance est gérée par la mise en cache de sortie basée sur les clés et des outils d'instrumentation qui suivent la latence d'exécution des processus de sérialisation et d'encodage.
Recursively traverses object associations to resolve and embed related resources into a single compound document.
Cette bibliothèque est un analyseur de ligne de commande .NET pour C# et F# qui implémente les conventions POSIX getopt pour mapper les arguments du shell dans des objets fortement typés. Elle fournit un framework pour construire des applications console qui traitent les drapeaux (flags) et options de style Unix. Le projet dispose d'un système de routage qui dirige l'exécution du programme en fonction de verbes orientés action, prenant en charge les sous-commandes et les actions par défaut. Il inclut un générateur d'aide automatique qui produit des instructions d'utilisation localisées et des écrans d'aide formatés basés sur les options de commande définies. La boîte à outils couvre l'analyse d'arguments avec mappage fortement typé, la validation des entrées pour les options mutuellement exclusives ou requises, et la capacité de sérialiser les objets d'options remplis en chaînes de ligne de commande.
Implements strongly typed mapping of raw terminal strings into structured C# or F# objects.