Hybrid View

Optional and mandatory config properties - TypeScript related,

Optional and mandatory config properties - TypeScript related,

I am in the process of creating a TypeScript type library for Sencha Touch using JDduck json files. My intention is to define one TypeScript config class as a buddy for each main Sencha Touch class also declared in TypeScript.

The problem is that I started this process with an assumption that all properties in my XxxxxConfig class should be optional (TypeScript has a special syntax for optional class fields). However I notice that for a majority of ST classes the constructor method config parameter is mandatory, which implies some config properties must be supplied on class create.

Looking at the JSON attributes for each config property I cannot see an attribute that indicates which config properties must be supplied during class create.

Since posting my OP I can now see that the high proportion of classes having a non optional config constructor method parameter is because the list of classes includes some common base classes such as Component and Layout.Abstract.

Even so my original confusion remains... is it possible to identify which config properties are mandatory for a class that has a mandatory config constructor parameter?

The basis for my question is the following in the JSDuck generated doc json. See option "optional": false,