Skip to content

Simplify stacking even more, leverage more ES6 features#6769

Merged
etimberg merged 2 commits intochartjs:masterfrom
kurkle:more-stacking
Nov 24, 2019
Merged

Simplify stacking even more, leverage more ES6 features#6769
etimberg merged 2 commits intochartjs:masterfrom
kurkle:more-stacking

Conversation

@kurkle
Copy link
Member

@kurkle kurkle commented Nov 19, 2019

We don't actually support a case where both scales values are stacked. Its always the value scale. Index scale can have stack groups, but its controlled by stack option of dataset and appended to the stack key.

Destructuring assignment helps reduce lines.
Computed property names in object initializer reduce the need for temporary variables.

parsed.push({
	[xId]: xScale._parseObject(item, 'x', i),
	[yId]: yScale._parseObject(item, 'y', i),
});

translates to:

parsed.push((_parsed$push4 = {}, _defineProperty(_parsed$push4, xId, xScale._parseObject(item, 'x', i)), _defineProperty(_parsed$push4, yId, yScale._parseObject(item, 'y', i)), _parsed$push4));

And that is faster (in Chrome)! (8.2 ms vs 12.4 ms, uPlot)

Force push: removed unintended inclusion of #6768

etimberg
etimberg previously approved these changes Nov 20, 2019
@benmccann
Copy link
Contributor

@kurkle this PR will need to be rebased

@etimberg etimberg merged commit 6d8bde4 into chartjs:master Nov 24, 2019
@etimberg etimberg added this to the Version 3.0 milestone Nov 24, 2019
@kurkle kurkle deleted the more-stacking branch December 7, 2019 05:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants