16 مستودعات
The process of traversing nested object hierarchies to resolve and instantiate appropriate types.
Distinct from Generic Type Resolution: More specific than Generic Type Resolution; focuses on the recursive traversal of hierarchies to instantiate child types.
Explore 16 awesome GitHub repositories matching software engineering & architecture · Recursive Type Resolution. Refine with filters or upvote what's useful.
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.
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.
qs is a query string parsing and serialization library used to convert URL query strings into JavaScript objects and transform objects or arrays back into URI-encoded strings. It functions as a secure parser and URI encoding utility, specifically designed to handle nested data structures. The library distinguishes itself through configurable nesting styles and array serialization formats. It provides support for custom character encoding logic and utilizes charset sentinels to manage conversions between UTF-8 and ISO-8859-1. To prevent resource exhaustion and security vulnerabilities, the pr
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.
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.
fast_jsonapi هو مسلسل كائنات Ruby مصمم لتحويل كائنات البيانات الخلفية المعقدة إلى تمثيلات JSON مهيكلة. ينفذ تحديداً تنسيق JSON:API لضمان تبادل بيانات متسق بين الخوادم والعملاء. تعمل المكتبة كمولد مستندات مركب، مما يسمح بتضمين الموارد ذات الصلة داخل استجابة واحدة لتقليل طلبات الشبكة. يستخدم تعريف مخطط قائم على الفئات لفصل نماذج قاعدة البيانات الداخلية عن تمثيل واجهة برمجة التطبيقات العامة. يتضمن المشروع أداة سطر أوامر لتوليد boilerplate المسلسل عن طريق مسح مخططات قاعدة البيانات. تتم إدارة الأداء من خلال التخزين المؤقت للمخرجات القائم على المفاتيح وأدوات القياس التي تتتبع زمن انتقال تنفيذ عمليات التسلسل والترميز.
Recursively traverses object associations to resolve and embed related resources into a single compound document.
fast-check is a property-based testing framework and random data generator designed to verify software invariants by producing a wide range of randomized input data. It functions as a test data fuzzer that executes predicates against high volumes of random inputs to uncover edge cases and critical bugs. The project is distinguished by its ability to perform input-shrinking searches, which reduce complex failing inputs to their simplest form to isolate the exact cause of failure. It provides deterministic seed replay to exactly reproduce specific test failures and includes a concurrency testin
Enables the definition of complex data structures where types refer to each other recursively.
Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility. The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a por
Protects against recursive object attacks using depth limiting and type whitelists.
KotlinPoet هي واجهة برمجة تطبيقات (API) مبنية على Java لإنشاء وتنسيق ملفات مصدر Kotlin برمجياً. تعمل كأداة لتوليد الكود المصدري ورسم خرائط لنظام الأنواع، وتوفر إطار عمل لبناء هياكل كود Kotlin من خلال نموذج آمن للأنواع (type-safe) لعناصر اللغة، مما يساعد في أتمتة كتابة الكود المتكرر (boilerplate). يستخدم المشروع نمط الباني الانسيابي (fluent-builder) لبناء عناصر اللغة تدريجياً، ويحتفظ بنموذج كائنات داخلي يفصل بين الهيكل المنطقي وتنسيق النص النهائي. كما يتعامل مع تعقيدات إصدار الكود المصدري من خلال التنسيق القائم على المسافات البادئة (indentation) والهروب من الكلمات المحجوزة لضمان الحصول على مخرجات صالحة. تغطي المكتبة توليد مجموعة واسعة من التصريحات، بما في ذلك الفئات (classes)، والواجهات (interfaces)، والدوال (functions)، والخصائص (properties)، والكائنات المرافقة (companion objects). كما تتضمن أدوات لإدارة الأنواع المعقدة ذات المعاملات، وفئات التعداد (enum)، والأسماء المستعارة للأنواع (type aliases)، بالإضافة إلى أدوات لتضمين القيم الحرفية وبناء كتل التحكم في التدفق. تم دمج إدارة الاستيراد التلقائي والإشارة إلى التصريحات لحل الأعضاء عبر الأسماء المؤهلة. توفر KotlinPoet إمكانيات لتحويل بيانات الانعكاس (reflection) والرموز إلى تمثيلات مصدرية، وتدعم تصدير مواصفات الملفات لاستخدامها في أدوات معالجة التعليقات التوضيحية (annotation processing).
Maps type parameters across multiple levels of nesting to ensure correct type resolution in generated code.
ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives for recursive structural transformations, runtime assertions, and type guards. It serves as a utility library for performing complex type-level programming to ensure stronger type safety and reduce boilerplate. The project distinguishes itself through a specialized set of tools for deep object manipulation, such as recursively applying read-only or optional modifiers across nested hierarchies. It also provides a dedicated set of strict type constraints to ensure data structure
Generates union types of string paths to resolve value types at specific nested locations within objects.
utoipa is a Rust API documentation tool used to generate machine-readable OpenAPI specifications. It functions as a specification generator and schema mapper that converts Rust structs and enums into compliant OpenAPI schemas. The project distinguishes itself by using procedural macros and traits to automate metadata extraction from code. It supports complex data modeling, including generics, polymorphism, and recursive type resolution, while synchronizing field renaming and tagging from serialization attributes. It also enables the composition of modular specifications, allowing multiple sma
Prevents infinite loops during schema generation by tracking type references and marking termination points for cyclic structures.