Recursive Object.assign() for deep merging JavaScript objects (deprecated).
Deep-assign is a deprecated JavaScript utility library that provides recursive object merging functionality. It extends the native `Object.assign()` method to handle nested objects, allowing developers to deeply merge multiple source objects into a target object. The project solves the problem of shallow object assignment when working with complex nested data structures.
JavaScript and Node.js developers who need to merge nested configuration objects, combine complex data structures, or work with deeply nested objects in their applications.
Developers chose deep-assign for its simple API that mirrors `Object.assign()` while providing deep merging capabilities. Its main advantage was being a lightweight, focused solution specifically designed for recursive object assignment before better alternatives became available.
[DEPRECATED] Recursive Object.assign()
Mirrors the native Object.assign() method, making it easy to adopt for developers familiar with standard JavaScript object assignment, as shown in the usage example with a similar function signature.
Deeply merges nested properties by recursively assigning source objects to target, demonstrated in the example where {a: {b: 0}} is combined to produce {a: {b: 1, c: 3}}.
Accepts multiple source objects with later sources overwriting previous ones, providing flexibility similar to Object.assign(), as indicated in the function description.
Copies only own enumerable properties, adhering to JavaScript conventions and ensuring predictable behavior, as stated in the feature list for enumerable property handling.
Explicitly marked as deprecated in the README, with the author stating version 2 has unresolved issues and no time to fix it, making it unsuitable for any new development.
Lacks ongoing updates, bug fixes, or support, posing risks for long-term project stability and security, as the author recommends alternatives instead.
Focused only on deep assignment without handling edge cases like arrays or non-enumerable properties, which alternatives like lodash.merge address more comprehensively.
Deep diffs two objects, including nested structures of arrays and objects, and returns the difference. ❄️
Stringify an object/array like JSON.stringify just without all the double-quotes
Use property paths (`a.b.c`) get a nested value from an object.
Set nested properties on an object using dot-notation.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.