I have the following JSDoc definition:
/**
* @name DailyCountersNode
* @type Object
* @property {number} BuyGold
* @property {number} BuyStamina
* @property {number} MarketReset
* @property {Object.<string,int>} BossCleared
* @property {Object.<string,int>} BossResets
* @property {number} NextResetAt
*/
and my function return one such structure:
/**
* @return {DailyCountersNode}
* */
Player.prototype.getDailyCountersNode = function(){
if(!this.mPlayerData.hasOwnProperty("DailyCounters")){
var defVal = {
BuyGold: 0,
BuyStamina: 0,
MarketReset: 0,
BossCleared:{},
BossResets:{},
NextResetAt: 0
};
return defVal;
}
return this.mPlayerData.DailyCounters;
};
And I got this warning:
Returned expression type [BuyGold: number, BuyStamina: number....blah blah blah] is not assignable to type DailyCountersNode
Thanks
Logged as WEB-21392, please follow it for updates. I'd suggest using @typedef instead:
/**
* @typedef {Object} DailyCountersNode
* @type Object
* @property {number} BuyGold
* @property {number} BuyStamina
...
Or, you can use @return {typeof DailyCountersNode}
instead of @return {DailyCountersNode}