Back to Type Challenges

README

questions/27932-medium-mergeall/README.md

latest1.4 KB
Original Source
<!--info-header-start--><h1>MergeAll </h1><blockquote><p>by scarf <a href="https://github.com/scarf005" target="_blank">@scarf005</a></p></blockquote><p><a href="https://tsch.js.org/27932/play" target="_blank"></a> </p><!--info-header-end-->

Merge variadic number of types into a new type. If the keys overlap, its values should be merged into an union.

For example:

ts
type Foo = { a: 1; b: 2 }
type Bar = { a: 2 }
type Baz = { c: 3 }

type Result = MergeAll<[Foo, Bar, Baz]> // expected to be { a: 1 | 2; b: 2; c: 3 }
<!--info-footer-start-->

<a href="../../README.md" target="_blank"></a> <a href="https://tsch.js.org/27932/answer" target="_blank"></a> <a href="https://tsch.js.org/27932/solutions" target="_blank"></a> <!--info-footer-end-->