8 Repos
Generators capable of producing mutually recursive data structures using builder patterns.
Distinct from Recursive Type Resolution: Focuses on the generation of recursive data rather than the resolution or processing of types.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Recursive Data Generators. 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.
qs ist eine Bibliothek zum Parsen und Serialisieren von Query-Strings, die verwendet wird, um URL-Query-Strings in JavaScript-Objekte umzuwandeln und Objekte oder Arrays zurück in URI-kodierte Strings zu transformieren. Sie fungiert als sicherer Parser und URI-Kodierungs-Utility, das speziell für die Handhabung verschachtelter Datenstrukturen entwickelt wurde. Die Bibliothek zeichnet sich durch konfigurierbare Verschachtelungsstile und Array-Serialisierungsformate aus. Sie bietet Unterstützung für benutzerdefinierte Zeichenkodierungslogik und nutzt Zeichensatz-Sentinels, um Konvertierungen zwischen UTF-8 und ISO-8859-1 zu verwalten. Um Ressourcenerschöpfung und Sicherheitslücken zu vermeiden, implementiert das Projekt eine Drosselung der Parameteranzahl und strikte Begrenzungen der Parsingtiefe. Es enthält zudem Funktionen für den Umgang mit Null-Werten, prädikatbasierte Schlüsselfilterung und einsteckbare Kodierungsfunktionen zur Steuerung der Datenserialisierung.
Enforces a maximum nesting level during object reconstruction to prevent resource exhaustion and DoS attacks.
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-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.