private static getReducedText()

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;
    }