forked from MapComplete/MapComplete
Fix: fix #1580
This commit is contained in:
parent
4d2d54175c
commit
56934b79f6
3 changed files with 17 additions and 9 deletions
|
@ -98,7 +98,7 @@ export class TagUtils {
|
|||
"Invalid type to flatten the multiAnswer: key is a regex too",
|
||||
tagsFilter
|
||||
)
|
||||
throw "Invalid type to FlattenMultiAnswer"
|
||||
throw "Invalid type to FlattenMultiAnswer: key is a regex too"
|
||||
}
|
||||
const keystr = <string>key
|
||||
if (keyValues[keystr] === undefined) {
|
||||
|
@ -109,7 +109,10 @@ export class TagUtils {
|
|||
}
|
||||
|
||||
console.error("Invalid type to flatten the multiAnswer", tagsFilter)
|
||||
throw "Invalid type to FlattenMultiAnswer"
|
||||
throw (
|
||||
"Invalid type to FlattenMultiAnswer, not one of RegexTag, Tag or And: " +
|
||||
tagsFilter.asHumanString(false, false, {})
|
||||
)
|
||||
}
|
||||
return keyValues
|
||||
}
|
||||
|
|
|
@ -357,14 +357,18 @@ class ListenerTracker<T> {
|
|||
let toDelete = undefined
|
||||
let startTime = new Date().getTime() / 1000
|
||||
for (const callback of this._callbacks) {
|
||||
if (callback(data) === true) {
|
||||
// This callback wants to be deleted
|
||||
// Note: it has to return precisely true in order to avoid accidental deletions
|
||||
if (toDelete === undefined) {
|
||||
toDelete = [callback]
|
||||
} else {
|
||||
toDelete.push(callback)
|
||||
try {
|
||||
if (callback(data) === true) {
|
||||
// This callback wants to be deleted
|
||||
// Note: it has to return precisely true in order to avoid accidental deletions
|
||||
if (toDelete === undefined) {
|
||||
toDelete = [callback]
|
||||
} else {
|
||||
toDelete.push(callback)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("Got an error while running a callback:", e)
|
||||
}
|
||||
}
|
||||
let endTime = new Date().getTime() / 1000
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
|
||||
if (
|
||||
confg.mappings?.length > 0 &&
|
||||
confg.multiAnswer &&
|
||||
(checkedMappings === undefined ||
|
||||
checkedMappings?.length < confg.mappings.length + (confg.freeform ? 1 : 0))
|
||||
) {
|
||||
|
|
Loading…
Reference in a new issue