title: Prevent compilation unless all fields exist
body: <p>I have this typescript code:</p>
  
  <pre><code>interface Foo {
    foo1: string,
    foo2: number,
    foo3: boolean
  }
  
  
  const v = &lt;Foo&gt;{foo1: '4'};
  </code></pre>
  
  <p>this compiles - how can I prevent it from compiling unless all 3 fields are present in the object? Right now only one of the fields is present.</p>
  
  <p>Here is my use case / rationale:
  <a href="https://gist.github.com/ORESoftware/8d02fb30c53c19f6b38bddbc96da2475" rel="nofollow noreferrer">https://gist.github.com/ORESoftware/8d02fb30c53c19f6b38bddbc96da2475</a></p>
  
  <p>But if you do it like so:</p>
  
  <pre><code>const v : Foo = {foo1: '4'};
  </code></pre>
  
  <p>then it won't compile. And if you do it like so:</p>
  
  <pre><code>  const v = &lt;Foo&gt;{x: '4'};
  </code></pre>
  
  <p>that won't compile.</p>