Back to Type Challenges

README

questions/00089-hard-required-keys/README.md

latest1.8 KB
Original Source
<!--info-header-start--><h1>Required Keys </h1><blockquote><p>by yituan <a href="https://github.com/yi-tuan" target="_blank">@yi-tuan</a></p></blockquote><p><a href="https://tsch.js.org/89/play" target="_blank"></a> &nbsp;&nbsp;&nbsp;<a href="./README.zh-CN.md" target="_blank"></a> <a href="./README.ja.md" target="_blank"></a> </p><!--info-header-end-->

Implement the advanced util type RequiredKeys<T>, which picks all the required keys into a union.

For example

ts
type Result = RequiredKeys<{ foo: number; bar?: string }>;
// expected to be “foo”
<!--info-footer-start-->

<a href="../../README.md" target="_blank"></a> <a href="https://tsch.js.org/89/answer" target="_blank"></a> <a href="https://tsch.js.org/89/solutions" target="_blank"></a> <hr><h3>Related Challenges</h3><a href="https://github.com/type-challenges/type-challenges/blob/main/questions/00005-extreme-readonly-keys/README.md" target="_blank"></a> <!--info-footer-end-->