Is this a bug or I don't understand something?
function getConfig(key as PropertyKeyType) as PropertyValueType or Null {
return Properties.getValue(key);
}
function getConfigNumber(key as PropertyKeyType, defaultValue as Number) as Number {
var value = getConfig(key);
if (value instanceof Lang.Number) { // how can I get rid of this if?
return value;
}
if (value instanceof Lang.Boolean) {
return value ? 1 : 0;
}
if (value != null && value has :toNumber) { // this should cover Float, Double, Number, String, Long, Char, Symbol
value = value.toNumber();
}
return value != null ? value as Number : defaultValue;
}
function getConfigNumber(key as PropertyKeyType, defaultValue as Number) as Number {
var value = getConfig(key);
if (value != null && value has :toNumber) { // ERROR in this line
value = value.toNumber();
}
if (value instanceof Lang.Boolean) {
return value ? 1 : 0;
}
return value != null ? value as Number : defaultValue;
}*) SOMETHING has to be a possible type in PropertyValueType
function getConfigNumber(key as PropertyKeyType, defaultValue as Number) as Number {
var value = getConfig(key);
if (value instanceof Lang.Boolean) {
return value ? 1 : 0;
}
if (value != null && value has :toNumber) { // this should cover Float, Double, Number, String, Long, Char, Symbol
value = value.toNumber();
}
return value != null ? value as Number : defaultValue;
}

