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/object-enumerator

0
View on GitHub↗
6,537 stars·9 forks·PHP·BSD-3-Clause·13 views

Object Enumerator

Object-enumerator is a data structure crawler and enumeration library designed to discover and list all objects stored within deep or circular data references. It functions as a traversal tool that recursively walks through nested arrays and object graphs to identify every individual referenced object.

The library flattens complex hierarchical data structures into a linear collection of unique objects. This process enables data structure analysis and memory reference mapping by tracing all objects connected to a root element to understand the overall composition of a data set.

Features

  • Object Graph Navigators - Provides utilities to navigate and enumerate every individual object referenced within a complex data set.
  • Data Structure Crawlers - Functions as a crawler for discovering and listing all objects stored within deep or circular data references.
  • Structural Analysis - Analyzes the structural composition of deeply nested arrays and object graphs to identify all unique contained objects.
  • Object Graph Flattening - Flattens complex object hierarchies into a comprehensive, linear list of all contained individual objects.
  • Object Enumeration Libraries - Provides a library to flatten complex data structures into a unique list of all contained objects.
  • Iterative and Recursive Traversals - Provides recursive traversal mechanisms to visit every reachable node within nested arrays and object graphs.
  • Reference Tracking - Tracks object identities using a set to prevent infinite loops and resolve circular references during traversal.
  • Graph Traversal - Traverses complex object hierarchies to find and identify every single referenced object.
  • Linearized Hierarchies - Transforms complex nested object hierarchies into a flat list of unique references for linear processing.
  • Depth-First Traversal - Implements a depth-first search strategy to comprehensively discover all objects within a hierarchical data structure.
  • Type-Based Dispatching - Differentiates between arrays and plain objects at runtime to apply the correct iteration method for child elements.
  • Object Reference Mapping - Maps the composition of a data set by tracing all objects connected to a root element.

Star history

Star history chart for sebastianbergmann/object-enumeratorStar history chart for sebastianbergmann/object-enumerator

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Open-source alternatives to Object Enumerator

Similar open-source projects, ranked by how many features they share with Object Enumerator.
  • mapstermapper/mapsterMapsterMapper avatar

    MapsterMapper/Mapster

    5,127View on GitHub↗

    Mapster is a .NET object-to-object mapper and high-performance mapping engine used for transforming data between different object models. It functions as a type-safe data transfer tool and a LINQ query projection tool to move data between internal logic and external data structures. The engine utilizes compiled mapping expressions and machine code to reduce overhead during object conversion. It specifically allows for projecting queryable data sources directly into destination types to optimize database retrieval. The toolset covers data transfer object generation, immutable data transformat

    C#
    View on GitHub↗5,127
  • davecgh/go-spewdavecgh avatar

    davecgh/go-spew

    6,393View on GitHub↗

    go-spew is a deep inspection library and debugging utility for Go. It functions as a data structure pretty printer that renders complex, nested types into human-readable strings with indentation and type information. The library provides specialized capabilities for visualizing internal program states, including the ability to dump data structures with pointer addresses and map keys. It includes a configuration system to adjust printing behavior, such as limiting recursion depth and setting indentation. The tool uses reflection-based type inspection and recursive tree traversal to handle nes

    Go
    View on GitHub↗6,393
  • apache/foryapache avatar

    apache/fory

    4,234View on GitHub↗

    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

    Javacompressioncppcross-language
    View on GitHub↗4,234
  • alipay/furyalipay avatar

    alipay/fury

    4,412View on GitHub↗

    Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to facilitate cross-language data exchange. It includes an interface definition language compiler that translates schema definitions into idiomatic native types and serialization boilerplate across multiple languages. The project distinguishes itself through a zero-copy binary reader that allows specific fields to be accessed without deserializing the entire object, as well as an object graph serializer that preserves circular references and referential integrity. It also features a

    Java
    View on GitHub↗4,412
See all 19 alternatives to Object Enumerator→

Frequently asked questions

What does sebastianbergmann/object-enumerator do?

Object-enumerator is a data structure crawler and enumeration library designed to discover and list all objects stored within deep or circular data references. It functions as a traversal tool that recursively walks through nested arrays and object graphs to identify every individual referenced object.

What are the main features of sebastianbergmann/object-enumerator?

The main features of sebastianbergmann/object-enumerator are: Object Graph Navigators, Data Structure Crawlers, Structural Analysis, Object Graph Flattening, Object Enumeration Libraries, Iterative and Recursive Traversals, Reference Tracking, Graph Traversal.

What are some open-source alternatives to sebastianbergmann/object-enumerator?

Open-source alternatives to sebastianbergmann/object-enumerator include: mapstermapper/mapster — Mapster is a .NET object-to-object mapper and high-performance mapping engine used for transforming data between… esotericsoftware/kryo — Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact… apache/fory — Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs… alipay/fury — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to… davecgh/go-spew — go-spew is a deep inspection library and debugging utility for Go. It functions as a data structure pretty printer… myclabs/deepcopy — DeepCopy is a recursive object cloning library designed to create independent copies of complex nested objects. It…