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
myclabs avatar

myclabs/DeepCopy

0
View on GitHub↗
8,891 stars·108 forks·PHP·MIT·10 views

DeepCopy

DeepCopy is a recursive object cloning library designed to create independent copies of complex nested objects. It functions as a state snapshot utility and object cloning tool that produces clones while preserving the original object graph.

The library includes a circular reference handler to duplicate data structures containing self-referencing loops without causing infinite recursion. It also serves as an object property transformer, allowing for the filtering or modification of specific fields and types during the cloning process based on custom matching criteria.

Features

  • Object Duplicators - Provides a utility for creating independent deep copies of complex objects and their nested dependencies.
  • Deep Object Manipulations - Implements recursive cloning of nested data structures while preserving the object graph to handle circular references.
  • Object Cloning Techniques - Implements deep copying patterns to create exact copies of nested objects without sharing references.
  • JavaScript Implementations - Provides a complete recursive cloning utility specifically designed for JavaScript objects.
  • Cloning Traversers - Traverses complex object trees recursively to produce independent clones while avoiding circularity loops.
  • Reference Tracking - Tracks object identities during the cloning process to preserve shared references and prevent infinite recursion from circular loops.
  • Object Transformation - Allows for cloning, picking, and omitting properties within objects using custom matching criteria.
  • Object Property Transformers - Provides the ability to filter or modify specific fields and types during the cloning process based on custom matching criteria.
  • State Snapshots - Captures the current state of an object tree as a snapshot to prevent accidental mutations of the original data.

Star history

Star history chart for myclabs/deepcopyStar history chart for myclabs/deepcopy

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 DeepCopy

Similar open-source projects, ranked by how many features they share with DeepCopy.
  • esotericsoftware/kryoEsotericSoftware avatar

    EsotericSoftware/kryo

    6,529View on GitHub↗

    Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion. The project utilizes variable-length integer encoding and integer-ID class registration to reduce the size of serialized data. It handles complex object graphs through circular reference tracking to prevent data duplication and infinite loops. To maintain long-term data viability, it includes schema evolution managemen

    HTML
    View on GitHub↗6,529
  • lodash/lodashlodash avatar

    lodash/lodash

    61,235View on GitHub↗

    Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions for transforming, filtering, and validating arrays, objects, strings, and numbers. The project functions as a functional programming toolkit, offering capabilities for function composition, currying, and lazy evaluation. It includes mechanisms for execution control, such as debouncing and throttling, to manage the timing and frequency of function invocations. The library covers a broad surface of data operations, including deep cloning and merging of complex nested structures,

    JavaScriptjavascriptlodashmodules
    View on GitHub↗61,235
  • 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
  • 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
See all 30 alternatives to DeepCopy→

Frequently asked questions

What does myclabs/deepcopy do?

DeepCopy is a recursive object cloning library designed to create independent copies of complex nested objects. It functions as a state snapshot utility and object cloning tool that produces clones while preserving the original object graph.

What are the main features of myclabs/deepcopy?

The main features of myclabs/deepcopy are: Object Duplicators, Deep Object Manipulations, Object Cloning Techniques, JavaScript Implementations, Cloning Traversers, Reference Tracking, Object Transformation, Object Property Transformers.

What are some open-source alternatives to myclabs/deepcopy?

Open-source alternatives to myclabs/deepcopy include: esotericsoftware/kryo — Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact… lodash/lodash — Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions… alipay/fury — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to… apache/fory — Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs… immutable-js/immutable-js — Immutable.js is a library of persistent data structures and a functional state management toolkit. It provides a… angus-c/just — Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming,…