title: Check if an interface has a required field
body: <p>Is it possible to check whether an interface has a required field using Typescript's Conditional Types?</p>
  
  <pre><code>type AllRequired = { a: string; b: string }
  type PartiallyRequired = { a: string; b?: string }
  type Optional = { a?: string; b?: string }
  
  // Is it possible to change this, so the below works
  type HasRequiredField&lt;T&gt; = T extends {} ? true : false
  
  type A = HasRequiredField&lt;AllRequired&gt; // true
  type B = HasRequiredField&lt;PartiallyRequired&gt; // true
  type C = HasRequiredField&lt;Optional&gt; // false
  </code></pre>