-
(hidden) roaF6-dnI [[(hidden) lf_Nd8Mic]]
-
(hidden) Md5k4cbBy
-
#typescript
-
everything I want to do is illegal
-
```typescript export type SelfWithKeysRecursively<T> = T extends Record<keyof T, any> ? T | T[keyof T] | SelfWithKeysRecursively<T[keyof T]> : never; type DeepObj = { a: { b: { c: { d: 69 } } } } // just fine by using a set-size `DeepObj`. function foo<X extends SelfWithKeysRecursively<DeepObj>>(x: X) {} foo<DeepObj>({ a: { b: { c: { d: 69}}}}) foo<DeepObj["a"]>({ b: { c: { d: 69}}}) foo<DeepObj["a"]["b"]>({ c: { d: 69}}) foo<DeepObj["a"]["b"]["c"]>({ d: 69}) foo<DeepObj["a"]["b"]["c"]["d"]>(69) // error: Type instantiation is excessively deep and possibly infinite. function bar<ArbitraryDeepObj, X extends SelfWithKeysRecursively<ArbitraryDeepObj>>(x: X) {} bar<DeepObj, DeepObj>({ a: { b: { c: { d: 69}}}}) bar<DeepObj, DeepObj["a"]>({ b: { c: { d: 69}}}) bar<DeepObj, DeepObj["a"]["b"]>({ c: { d: 69}}) bar<DeepObj, DeepObj["a"]["b"]["c"]>({ d: 69}) bar<DeepObj, DeepObj["a"]["b"]["c"]["d"]>(69)```
-

-
https://www.typescriptlang.org/play?#[[(hidden) G97ohL3l8]]code/KYDwDg9gTgLgBDAnmYcDKwA2AzA6gSxgAsBpYRAZwCVgBjAVygvwDctEAeAFQD44BeALAAoAJBc4oGMAB2AEwpwataHI4BrchGxwuAGjgBDGYh4jRogPy64AH10BtTYm26AunfRY8hUuWp0jMxsmJxcTlo6XG5mYqIAXHAywGxQANwiIkgocAAiwMBgAPIARgBWAnAA3uaGiTVxJfXmFrTNcRZyiQBsAJwtogC+LcNio6MiAPSTcGX0FPDY+MlwJYhw88sA5kZwFMAwALTMAF6oAAb5haVl5wB0Itj0MrQw+BAycNgQEBwAGpIQNJ5IoMDgCMQyJRlEFWOwOFdiuUeDwABQgRJ-ACU1Qmwm+v0RNzRVSM9VW5La1TgXTgfUGDMGWMePwRBSRZQcACJDFyYqjSU1qVTSbT6QzmfjWUTytzeW5uSU+SS4CKaT1ehKWYT2Tc5XzFQaubRlQL1XTNZKCWzrrKeUalQrjUa5Ka+pKpjNgFAoNBElxkKhlgtjG9DG8PnB8IpQLRgBRguwaeyjPI4JAE-gSqEozIljJCMAHvjnq93p8SoYoBwAIJQEqEKBVxAysoGAFSWQKLzg3xQgIMJhw0K1+uN5utlHozE4qp4yvV1sGSdmurUoWktVizWMyULm0c5e6u3ylUb1Xk7e7kT7pd5Y+c+1Ox0qrcarXCW8Po+2x-yw1Oia-Kiu+e5VgeNw-hy+rPkaQHcq6-LuiIQA
-
-
-
(hidden) Tj_5RcYnH
-
(hidden) mrH8nszwh #[[(hidden) SqBonHqmb]]
-
(hidden) wQN99eoK8 #[[(hidden) S-ygYfi0j]]
-
{{[[TODO]]}} (hidden) Pr04_fg5i #[[(hidden) X8HJOP-U4]]
-
(hidden) AwfbrG6u2
-
(hidden) eSe9JY1NA
-
{{[[DONE]]}} (hidden) OHKVI4cmF [[(hidden) tv1zOVzED]]
-
(hidden) 1BZ6hMF-2
-
(hidden) gFA4lvaO_
-
(hidden) mnzN-FQ16
-
(hidden) ioawKnykU
-
{{[[DONE]]}} (hidden) lKGg2ZtdE #read
-
(hidden) U9nZZUhzR
-
(hidden) -JCVzm-90
-
(hidden) uAKn0s2aV
-
(hidden) mE-gtCThw #[[(hidden) S-ygYfi0j]]
-
(hidden) TDgQCIBf4
-
{{[[DONE]]}} (hidden) h8ij1sCx8
-
(hidden) _3J11HyZx
-
{{[[DONE]]}} (hidden) NkGOSlIpz #[[(hidden) jOMmlCP4S]]
-
(hidden) LRXo5I3ix
-
-
(hidden) X9khyOYHU
-
-
(hidden) XD9zlsULO
-
(hidden) 0MJqJNCyE
-
(hidden) DDS6dHqbd