Skip to content

Commit 260ce18

Browse files
committed
Update internal library
1 parent 1253076 commit 260ce18

File tree

2 files changed

+46
-14
lines changed

2 files changed

+46
-14
lines changed

src/lib.js

100644100755
Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ export function getPalette(palette = 'default') {
190190

191191
case 'zen':
192192
return themePalettes.zen;
193-
193+
194194
case 'concrete':
195195
return themePalettes.concrete;
196196

@@ -1509,7 +1509,7 @@ export function createWordCloudDatasetFromPlainText(text, callback = null) {
15091509

15101510
const isCJK = /[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Tibetan}\p{Script=Myanmar}\p{Script=Devanagari}]/u.test(text);
15111511

1512-
const words = isCJK
1512+
const words = isCJK
15131513
? [...textWithoutPunctuation]
15141514
: textWithoutPunctuation.split(/\s+/);
15151515

@@ -1527,7 +1527,7 @@ export function createWordCloudDatasetFromPlainText(text, callback = null) {
15271527
return Object.keys(wordCountMap).map(word => {
15281528
let w = word;
15291529

1530-
if(typeof callback === 'function' && typeof callback(word) === 'string') {
1530+
if (typeof callback === 'function' && typeof callback(word) === 'string') {
15311531
w = callback(word)
15321532
}
15331533

@@ -1548,7 +1548,7 @@ export function assignStackRatios(arr) {
15481548
...item,
15491549
stackRatio: item.stackRatio !== undefined ? item.stackRatio : defaultRatio
15501550
}));
1551-
1551+
15521552
let cumulatedRatio = 0;
15531553
output = output.map(item => {
15541554
cumulatedRatio += item.stackRatio;
@@ -1580,13 +1580,13 @@ export function getPathLengthFromCoordinates(d) {
15801580
const tSquared = t * t;
15811581

15821582
const x = oneMinusTSquared * oneMinusT * p0.x +
1583-
3 * oneMinusTSquared * t * p1.x +
1584-
3 * oneMinusT * tSquared * p2.x +
1585-
tSquared * t * p3.x;
1583+
3 * oneMinusTSquared * t * p1.x +
1584+
3 * oneMinusT * tSquared * p2.x +
1585+
tSquared * t * p3.x;
15861586
const y = oneMinusTSquared * oneMinusT * p0.y +
1587-
3 * oneMinusTSquared * t * p1.y +
1588-
3 * oneMinusT * tSquared * p2.y +
1589-
tSquared * t * p3.y;
1587+
3 * oneMinusTSquared * t * p1.y +
1588+
3 * oneMinusT * tSquared * p2.y +
1589+
tSquared * t * p3.y;
15901590
length += distance(prevX, prevY, x, y);
15911591
prevX = x;
15921592
prevY = y;
@@ -1679,11 +1679,22 @@ export function translateSize({
16791679
return max
16801680
}
16811681

1682-
return computedVal < threshold
1683-
? fallback
1682+
return computedVal < threshold
1683+
? fallback
16841684
: computedVal;
16851685
}
16861686

1687+
export function sumSeries(source) {
1688+
return source.reduce((acc, obj) => {
1689+
obj.series.forEach((num, i) => {
1690+
if (![undefined, null, Infinity, -Infinity].includes(num) && !isNaN(num)) {
1691+
acc[i] = (acc[i] || 0) + num;
1692+
}
1693+
});
1694+
return acc;
1695+
}, []);
1696+
}
1697+
16871698
const lib = {
16881699
abbreviate,
16891700
adaptColorToBackground,
@@ -1740,6 +1751,7 @@ const lib = {
17401751
themePalettes,
17411752
translateSize,
17421753
treeShake,
1743-
XMLNS
1754+
XMLNS,
1755+
sumSeries
17441756
};
17451757
export default lib;

tests/lib.test.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ import {
4747
sumByAttribute,
4848
translateSize,
4949
treeShake,
50-
getPathLengthFromCoordinates
50+
getPathLengthFromCoordinates,
51+
sumSeries
5152
} from "../src/lib"
5253

5354
describe('calcTrend', () => {
@@ -1616,5 +1617,24 @@ describe('translateSize', () => {
16161617
source: 10,
16171618
fallback: 5
16181619
})).toBe(5)
1620+
});
1621+
});
1622+
1623+
describe('sumSeries', () => {
1624+
const items = [
1625+
{ series: [1, 1, 1] },
1626+
{ series: [1, 1, 1] },
1627+
{ series: [1, 1, null] },
1628+
{ series: [1, 1, undefined] },
1629+
{ series: [1, 1, NaN] },
1630+
{ series: [0, 0, Infinity] },
1631+
{ series: [0, 0, -Infinity] },
1632+
{ series: [1, 1] },
1633+
{ series: [null, undefined, NaN, Infinity, -Infinity] },
1634+
];
1635+
1636+
test('return an array if sums', () => {
1637+
expect(sumSeries(items)).toStrictEqual([6, 6, 2]);
1638+
expect(sumSeries([{series: []}])).toStrictEqual([]);
16191639
})
16201640
})

0 commit comments

Comments
 (0)