To ensure that type information "flows" correctly from the types of function/constructor arguments to the types of returned objects, some special methods are provided (effectively working around limitations in Typescript).
A key example is the availability of static
new() methods on a number of classes that are intended to be used instead of calling
new on the constructor. Accordingly,
Table.new() is an alternative to
new Table(), that provides stronger type inference on the returned Table.
You may want to leverage this syntax if your application is written in Typescript.