-
7 Jan 2013 4:09 PM #1
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.
Can anyone explain this ambiguity?
-
9 Jan 2013 8:56 AM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 33,714
- Vote Rating
- 438
Example of a class that can't be created without a config object?
Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.
-
9 Jan 2013 1:37 PM #3
Here are some I found by inspecting the JSDuck documentation json.
Ext.Component
Ext.data.reader.Reader
Ext.slider.Slider
Ext.Map
Ext.layout.Abstract
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,
PHP Code:"method": [
{
"tagname": "method",
"name": "constructor",
"owner": "Ext.data.reader.Reader",
"doc": "\n",
"params": [
{
"type": "Object",
"name": "config",
"doc": "\n",
"optional": false,
"default": null,
"properties": [
],
"html_type": "Object"
}
],


Reply With Quote