title: Extract type from alias generic
body: <p>I'm trying to extract the type of a generic but without having access to it. So I can't use <code>Extract</code>.</p>
  <pre class="lang-js prettyprint-override"><code>import { Feather } from '@expo/vector-icons'
  
  // The type is the following but isn't exported
  const Feather: Icon&lt;&quot;crosshair&quot; | &quot;database&quot; | &quot;disc&quot; | &quot;zap&quot; | &quot;droplet&quot; | &quot;sun&quot; | &quot;wind&quot; | &quot;feather&quot; | &quot;link&quot; | &quot;search&quot; | &quot;image&quot; | &quot;menu&quot; | &quot;radio&quot; | &quot;key&quot; | &quot;code&quot; | &quot;map&quot; | &quot;video&quot; | &quot;circle&quot; | ... 267 more ... | &quot;zoom-out&quot;, &quot;feather&quot;&gt;
  
  // ... how to get it icon list enum?
  </code></pre>
  <p>I'm trying to get a type with <code>&quot;crosshair&quot; | &quot;database&quot; | &quot;disc&quot; | &quot;zap&quot; ...</code></p>
  <p>I also tried this other <a href="https://stackoverflow.com/questions/44851268/typescript-how-to-extract-the-generic-parameter-from-a-type">answer</a></p>
  <pre class="lang-js prettyprint-override"><code>type TypeOfFeather = typeof Feather
  type extractGeneric&lt;T&gt; = T extends TypeOfFeather &lt;infer X&gt; ? X : never
  </code></pre>
  <p>Which obviously doesn't work because the <code>TypeOfFeather</code> is not a generic. I'm quite a beginner at Typescript so I don't really know how to figure this out.</p>