(
text: string,
strRegex: string,
query: Query,
dataMap: DataMap,
xValueMap: XValueMap,
renderInfo: RenderInfo
)
| 330 | // regex with value --> extract value |
| 331 | // regex without value --> count occurrencies |
| 332 | function extractDataUsingRegexWithMultipleValues( |
| 333 | text: string, |
| 334 | strRegex: string, |
| 335 | query: Query, |
| 336 | dataMap: DataMap, |
| 337 | xValueMap: XValueMap, |
| 338 | renderInfo: RenderInfo |
| 339 | ): boolean { |
| 340 | // console.log("extractDataUsingRegexWithMultipleValues"); |
| 341 | |
| 342 | let regex = new RegExp(strRegex, "gmu"); |
| 343 | let match; |
| 344 | let measure = 0.0; |
| 345 | let extracted = false; |
| 346 | while ((match = regex.exec(text))) { |
| 347 | // console.log(match); |
| 348 | if (!renderInfo.ignoreAttachedValue[query.getId()]) { |
| 349 | if ( |
| 350 | typeof match.groups !== "undefined" && |
| 351 | typeof match.groups.value !== "undefined" |
| 352 | ) { |
| 353 | let values = match.groups.value.trim(); |
| 354 | // console.log(values); |
| 355 | // console.log(query.getSeparator()); |
| 356 | let splitted = values.split(query.getSeparator()); |
| 357 | // console.log(splitted); |
| 358 | if (!splitted) continue; |
| 359 | if (splitted.length === 1) { |
| 360 | // console.log("single-value"); |
| 361 | let toParse = splitted[0].trim(); |
| 362 | // console.log(toParse); |
| 363 | let retParse = helper.parseFloatFromAny( |
| 364 | toParse, |
| 365 | renderInfo.textValueMap |
| 366 | ); |
| 367 | if (retParse.value !== null) { |
| 368 | if (retParse.type === ValueType.Time) { |
| 369 | measure = retParse.value; |
| 370 | extracted = true; |
| 371 | query.valueType = ValueType.Time; |
| 372 | query.addNumTargets(); |
| 373 | } else { |
| 374 | if ( |
| 375 | !renderInfo.ignoreZeroValue[query.getId()] || |
| 376 | retParse.value !== 0 |
| 377 | ) { |
| 378 | measure += retParse.value; |
| 379 | extracted = true; |
| 380 | query.addNumTargets(); |
| 381 | } |
| 382 | } |
| 383 | } |
| 384 | } else if ( |
| 385 | splitted.length > query.getAccessor() && |
| 386 | query.getAccessor() >= 0 |
| 387 | ) { |
| 388 | // console.log("multiple-values"); |
| 389 | let toParse = splitted[query.getAccessor()].trim(); |
no test coverage detected