dojo / core

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

lang.mixin errors with null target #409

Open odoe opened 6 years ago

odoe commented 6 years ago

Enhancement

Currently, it doesn't look like @dojo/core/lang#mixin handles null targets. I don't think a user would intentionally pass undefined or null, but I ran across this when transitioning from Dojo 1 to Dojo 2. The Dojo 1 mixin method does handles this use case.

Maybe this expected behavior and users of mixin should handle this on a case by case basis, but felt I should bring it up anyway.

Package Version: 2.0.0

const obj = mixin(undefined, { age: 40 });

https://codesandbox.io/s/zwovr308jx - Dojo 2 http://jsbin.com/bufiyi/2/edit?html,js,console - Dojo 1

Expected behavior:

const obj = mixin(undefined, { age: 40 }); // { age: 40 }

Actual behavior:

const obj = mixin(undefined, { age: 40 }); //Type Error Cannot set property 'name' of null