docs(clone): stronger usage example + table of contents#40
Merged
Conversation
1f9b64f to
0e4108c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Usage section only showed reads, which doesn't convey what a structural clone actually preserves. Replace it with a runnable example that demonstrates mutation isolation through a side-effecting method, then a direct, verified divergence from
lodash.cloneDeep. Add a table of contents.Changes
Mapsurvive; (2)lodash.cloneDeepflattens a getter to its clone-time value (staletotal) and silently drops a non-enumerable key, whereclonekeeps both live; (3)freezelocking the graph recursively.## Contentslinking the top-level sections.Accuracy
Every value in the example was verified empirically against the installed
lodash.clonedeepand the builtclone:clonelodash.cloneDeep11515(frozen at clone time)totaldescriptor hasgettruefalsesecret'k-1'undefinedinstanceof/Maplodash keeps prototypes and native types; the example does not claim otherwise. It targets only the accessor and non-enumerable cases where the two genuinely diverge.
Test plan
dist/+lodash.clonedeep(script not committed)