in src/WordCloud.ts [539:571]
private static getReducedText(
texts: WordCloudText[],
excludedWords: WordMap,
settings: WordCloudSettings): WordCloudGroup[] {
const brokenStrings: WordCloudText[] = WordCloud.processText(texts, excludedWords, settings);
const combinedMap: { [text: string]: WordCloudGroup } = Object.create(null);
const result: WordCloudGroup[] = [];
brokenStrings.forEach((item: WordCloudText) => {
const key = item.text.toLocaleLowerCase();
if (combinedMap[key]) {
combinedMap[key].count += item.count;
combinedMap[key].selectionIds.push(item.selectionId);
} else {
combinedMap[key] = {
text: item.text,
wordIndex: item.index,
selectionIds: [item.selectionId],
count: item.count,
color: item.color
};
}
});
const combinedMapKeys = Object.keys(combinedMap);
for (let key of combinedMapKeys) {
if (settings.general.minRepetitionsToDisplay <= combinedMap[key].count) {
result.push(combinedMap[key]);
}
}
return result;
}