35 个仓库
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 是一个查询字符串解析和序列化库,用于将 URL 查询字符串转换为 JavaScript 对象,并将对象或数组转换回 URI 编码的字符串。它作为一个安全的解析器和 URI 编码实用程序,专门设计用于处理嵌套数据结构。 该库通过可配置的嵌套样式和数组序列化格式脱颖而出。它支持自定义字符编码逻辑,并利用字符集哨兵来管理 UTF-8 和 ISO-8859-1 之间的转换。 为了防止资源耗尽和安全漏洞,该项目实现了参数计数限制和严格的解析深度限制。它还包括空值处理、基于谓词的键过滤以及可插拔的编码函数,以管理数据的序列化方式。
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 is a library for reading and writing comma-separated value files by mapping data to custom class objects. It functions as a parsing library and data mapper that converts flat-file text into structured data objects and serializes internal data sets back into standard CSV files. The project emphasizes memory efficiency through a parser that optimizes resource consumption. It utilizes field value caching and an interned string cache to store repetitive values, which reduces memory overhead when processing large datasets. The library provides a configuration-driven parsing engine that
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 是一个 Ruby 对象序列化器,旨在将复杂的后端数据对象转换为结构化的 JSON 表示。它专门实现了 JSON:API 格式,以确保服务器和客户端之间的一致数据交换。 该库作为一个复合文档生成器,允许将相关资源嵌入到单个响应中,以最小化网络请求。它使用基于类的模式定义将内部数据库模型与公共 API 表示解耦。 该项目包括一个命令行工具,用于通过扫描数据库模式来生成序列化器样板代码。性能通过基于键的输出缓存和追踪序列化与编码过程执行延迟的仪表工具进行管理。
Recursively traverses object associations to resolve and embed related resources into a single compound document.
该库是一个用于 C# 和 F# 的 .NET 命令行解析器,实现了 POSIX getopt 约定,将 Shell 参数映射为强类型对象。它为构建处理 Unix 风格标志和选项的控制台应用程序提供了一个框架。 该项目具有一个路由系统,根据面向动作的动词引导程序执行,支持子命令和默认动作。它包括一个自动帮助生成器,根据定义的命令选项生成本地化的使用说明和格式化的帮助屏幕。 该工具集涵盖了带有强类型映射的参数解析、互斥或必需选项的输入验证,以及将填充后的选项对象序列化回命令行字符串的能力。
Implements strongly typed mapping of raw terminal strings into structured C# or F# objects.