Something I ran into while trying to convert a project to use this was that complex valued types would often be given long JSON values as their defaults, when what I really expected was simply new Foo(). Additionally some complex objects, such as those with fields only in the parent's parent class, would generate invalid JSON.
This is a test of a new way to try to detect if a complex property's default value is equivalent to the value returned by its default constructor. If so, it will simply use new TheType() in the output typescript.
This is a draft as I'm not sure if you even want this feature, plus I'm sure it's missing some edge cases, such as what happens when the property type is not an exported class. Let me know your thoughts!
Something I ran into while trying to convert a project to use this was that complex valued types would often be given long JSON values as their defaults, when what I really expected was simply
new Foo()
. Additionally some complex objects, such as those with fields only in the parent's parent class, would generate invalid JSON.This is a test of a new way to try to detect if a complex property's default value is equivalent to the value returned by its default constructor. If so, it will simply use
new TheType()
in the output typescript.This is a draft as I'm not sure if you even want this feature, plus I'm sure it's missing some edge cases, such as what happens when the property type is not an exported class. Let me know your thoughts!