dojo / core

:rocket: Dojo 2 - language helpers and utilities.
http://dojo.io
Other
213 stars 62 forks source link

deep assign/mixin through nested object keys #292

Closed agubler closed 7 years ago

agubler commented 7 years ago

Type: bug

The following has been addressed in the PR:

Description:

Addresses an issue with deep assigning and deep mixing objects where nested objects where not merged with target but overrode the target.

Resolves #290

codecov-io commented 7 years ago

Codecov Report

Merging #292 into master will increase coverage by 0.02%. The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #292      +/-   ##
==========================================
+ Coverage   93.86%   93.88%   +0.02%     
==========================================
  Files          38       38              
  Lines        2134     2141       +7     
  Branches      405      408       +3     
==========================================
+ Hits         2003     2010       +7     
  Misses         52       52              
  Partials       79       79
Impacted Files Coverage Δ
src/lang.ts 100% <100%> (ø) :white_check_mark:
src/async/ExtensiblePromise.ts 100% <0%> (ø) :white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 5c6a30e...5832037. Read the comment docs.

agubler commented 7 years ago

@pottedmeat I believe this addresses the concerns we had and hopefully still guards against circular references. Please let me know if you can think of any more scenarios that are not covered by the unit tests.

agubler commented 7 years ago

@kitsonk do you think you could give this a review? I believe it covers all the scenarios whilst also guarding against cyclical references.