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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
sebastianbergmann avatar

sebastianbergmann/recursion-context

0
View on GitHub↗
6,574 stars·19 forks·PHP·BSD-3-Clause·12 views

Recursion Context

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 visitation of leaf nodes and the reconstruction of modified data hierarchies.

Features

  • Nested Data Transformers - Implements utilities for recursively traversing and transforming nested dictionaries and lists while reconstructing the hierarchy.
  • Hierarchical Data Transformers - Provides a utility for processing deep arrays and objects to modify elements across an entire data hierarchy.
  • Variable Structure Traversers - Recursively walks through nested PHP data structures to apply transformations while tracking visited variables to prevent loops.
  • Nested Data Processors - Applies operations to deeply nested PHP arrays or objects while ensuring every single element is visited.
  • Loop Detection - Prevents infinite loops and application crashes when processing PHP variables with circular references.
  • Circular Reference Detection - Tracks visited object identities to prevent infinite recursion loops when processing circular data structures.
  • Recursion Depth Tracking - Monitors recursion depth during nested variable operations to prevent memory exhaustion and stack overflows.
  • Recursive Processing Algorithms - Traverses nested data structures to apply operations to every element while preventing infinite loops.
  • Hierarchical Data Visitors - Walks through nested arrays and objects to apply specific callback functions to every leaf node.
  • Recursion Depth Limits - Provides a mechanism to terminate processing once a maximum nesting depth threshold is reached to prevent stack overflows.
  • Recursive Processing Contexts - Stores a shared environment during traversal to track metadata and current depth across recursive calls.

Star history

Star history chart for sebastianbergmann/recursion-contextStar history chart for sebastianbergmann/recursion-context

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Recursion Context

These projects share indexed features with Recursion Context. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sebastianbergmann/exportersebastianbergmann avatar

    sebastianbergmann/exporter

    6,822View on GitHub↗

    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

    PHP
    View on GitHub↗6,822
  • rtfeldman/seamless-immutablertfeldman avatar

    rtfeldman/seamless-immutable

    5,339View on GitHub↗

    This is a JavaScript immutable data library used to create objects and arrays that prevent direct mutation. It serves as an immutable state manager and object wrapper designed to ensure data consistency by blocking modifications while remaining compatible with standard JavaScript syntax. The library functions as a converter that transforms standard mutable data into frozen structures and can convert them back for local modifications. This allows for a workflow where data is switched between immutable and mutable versions to perform bulk edits before locking the state again. The project provi

    JavaScript
    View on GitHub↗5,339
  • mahmoud/boltonsmahmoud avatar

    mahmoud/boltons

    6,897View on GitHub↗

    Boltons is a comprehensive utility toolkit and extension of the Python standard library. It provides a collection of reusable recipes and specialized data structures, system utilities, and helper libraries designed to support common programming tasks across various domains. The project is distinguished by a standard-library-only dependency model, ensuring maximum portability with zero external dependencies. It provides advanced implementations for data structures, such as immutable mappings and priority queues, alongside recursive data transformation tools for reshaping complex nested diction

    Python
    View on GitHub↗6,897
  • solnic/virtussolnic avatar

    solnic/virtus

    3,746View on GitHub↗

    Virtus is a Ruby attribute management and data coercion library used to define object schemas with typed attributes. It functions as a tool for transforming nested JSON structures and complex input formats into structured internal Ruby data types. The project provides a framework for creating value objects that are compared by their attribute values rather than memory identity. It allows for the mapping of complex external data into domain objects and supports the implementation of custom coercion logic to ensure data consistency. The library covers data modeling through schema-driven attrib

    Ruby
    View on GitHub↗3,746
Compare all 30 related projects→

Frequently asked questions

What does sebastianbergmann/recursion-context do?

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.

What are the main features of sebastianbergmann/recursion-context?

The main features of sebastianbergmann/recursion-context are: Nested Data Transformers, Hierarchical Data Transformers, Variable Structure Traversers, Nested Data Processors, Loop Detection, Circular Reference Detection, Recursion Depth Tracking, Recursive Processing Algorithms.

Which projects share features with sebastianbergmann/recursion-context?

Projects with overlapping indexed features include: sebastianbergmann/exporter — This project is a PHP variable export library designed to convert complex data structures and internal memory states… symfony/serializer — This library is a PHP-based serialization framework designed to convert complex object graphs into structured formats… mahmoud/boltons — Boltons is a comprehensive utility toolkit and extension of the Python standard library. It provides a collection of… solnic/virtus — Virtus is a Ruby attribute management and data coercion library used to define object schemas with typed attributes.… rtfeldman/seamless-immutable — This is a JavaScript immutable data library used to create objects and arrays that prevent direct mutation. It serves… typestack/class-transformer — class-transformer is a TypeScript library that converts plain JavaScript objects into typed class instances and back,…