private static getDataPoints()

in src/WordCloud.ts [677:721]


    private static getDataPoints(
        textGroups: WordCloudGroup[],
        settings: WordCloudSettings): WordCloudDataPoint[] {

        if (lodash.isEmpty(textGroups)) {
            return [];
        }

        const returnValues: WordCloudDataPoint[] = textGroups.map((group: WordCloudGroup, index: number) => {
            return <WordCloudDataPoint>{
                x: WordCloud.DefaultX,
                y: WordCloud.DefaultY,
                padding: WordCloud.DefaultPadding,
                width: WordCloud.DefaultWidth,
                height: WordCloud.DefaultHeight,
                xOff: WordCloud.DefaultXOff,
                yOff: WordCloud.DefaultYOff,
                x0: WordCloud.DefaultX0,
                y0: WordCloud.DefaultY0,
                x1: WordCloud.DefaultX1,
                y1: WordCloud.DefaultY1,
                text: group.text,
                rotate: WordCloud.getAngle(settings, index),
                color: group.color,
                selectionIds: group.selectionIds,
                wordIndex: group.wordIndex,
                count: group.count
            };
        }).sort((a, b) => b.count - a.count);

        const minValue: number = returnValues[returnValues.length - 1].count,
            maxValue: number = returnValues[0].count;

        returnValues.forEach((dataPoint: WordCloudDataPoint) => {
            dataPoint.size = WordCloud.getWordFontSize(
                settings,
                dataPoint.count,
                minValue,
                maxValue);
        });

        return returnValues.sort((firstDataPoint: WordCloudDataPoint, secondDataPoint: WordCloudDataPoint) => {
            return secondDataPoint.count - firstDataPoint.count;
        });
    }