old-parser: Fixed the handling of noun.default returning an empty array.

This commit is contained in:
satyr 2010-04-30 04:34:24 +09:00
Родитель b290cc51c1
Коммит b9e6d20029
1 изменённых файлов: 5 добавлений и 6 удалений

Просмотреть файл

@ -407,13 +407,12 @@ ParsedSentence.prototype = {
let missingArg = args[argName];
let noun = missingArg.type;
let {nounCache} = this._query;
let defaultValue = missingArg.default;
let defaultValue = missingArg.default || nounCache[noun.id];
if (!defaultValue) {
defaultValue = nounCache[noun.id] || (nounCache[noun.id] = (
(typeof noun.default === "function"
? noun.default()
: noun.default) ||
nounCache[""]));
let val = noun.default;
if (typeof val === "function") val = val.call(noun);
defaultValue = nounCache[noun.id] =
val && val.length !== 0 ? val : nounCache[""];
}
let numDefaults = defaultValue.length;