(() => { /* assign */ Ember.assign({}, { a: 'b'}); Ember.assign({}, { a: 'b'}).a; // $ExpectType string Ember.assign({ a: 6 }, { a: 'b'}).a; // $ExpectType string Ember.assign({ a: 6 }, {}).a; // $ExpectType number Ember.assign({ b: 6 }, {}).a; // $ExpectError Ember.assign({}, { b: 6 }, {}).b; // $ExpectType number Ember.assign({ a: 'hello' }, { b: 6 }, {}).a; // $ExpectType string Ember.assign({ a: 'hello' }, { b: 6 }, { a: true }).a; // $ExpectType boolean Ember.assign({ a: 'hello' }, '', { a: true }).a; // $ExpectError Ember.assign({ d: ['gobias industries'] }, { a: 'hello' }, { b: 6 }, { a: true }).d; // $ExpectType string[] })();
function testAssign() { assertType<{ first: string, middle: string, last: string }>( Ember.assign({ first: 'Tom' }, { middle: 'M' }, { last: 'Dale' }) ); }