title: Typescript: Is there a way to check if a variable is an interface-defined object with nested properties?
body: <p>For example:</p>
  
  <pre><code>interface TEST_OBJECT {
      "test1" : TEST_TYPE;
      "test2" : TEST_INTERFACE
  }
  
  type TEST_TYPE = string|number;
  
  interface TEST_INTERFACE {
      "test3" : boolean;
  }
  </code></pre>
  
  <p>Is there a way to check if a variable is a TEST_OBJECT?</p>