Skip to content

Instantly share code, notes, and snippets.

@0teklee
0teklee / utility.ts
Created March 17, 2025 06:21
Custom utility type case study : extracting union key types from a const .. as const object variable
/** @desc
* - as const ๋ณ€์ˆ˜์—์„œ ๊ฐ์ฒด์˜ ํ‚ค๋ฅผ ๋ฆฌํ„ฐ๋Ÿด ์ŠคํŠธ๋ง ์œ ๋‹ˆ์˜จ ํƒ€์ž…์œผ๋กœ ์ถ”์ถœํ•˜๋Š” ์ปค์Šคํ…€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํƒ€์ž…
* - extracts literal strings typed keys from object value
* @T <typeof T = object value>
* **/
export type KeysOf<T = Record<string, unknown>> = keyof T;
/** @desc
* - ๊ฐ์ฒด์˜ ํ‚ค์—์„œ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์„ ์ถ”์ถœํ•˜๋Š” ์ปค์Šคํ…€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํƒ€์ž….
* - Extract<T, K>์™€ ๋‹ฌ๋ฆฌ, ๊ฐ์ฒด ํ‚ค์—๋„ ํƒ€์ž… ์ถ”๋ก  ์ ์šฉ.