-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
shiftArray in calendar/src/compute/timeRange.ts should not mutate its argument #2420
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit 91a4b8d:
|
x = x % arr.length | ||
return arr.slice(x, arr.length).concat(arr.slice(0, x)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternatively, you can create a new array and build it based on the shifted elements from the original array.
function shiftArray<T>(arr: T[], x: number): T[] {
if (!arr.length || !x) return arr;
const newArr = [...arr];
for (let i = 0; i < x; i++) {
const shifted = newArr.shift() as T;
newArr.push(shifted);
}
return newArr;
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
However, I liked your fix 🙏
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@nivo/axes](https://togithub.com/plouc/nivo) ([source](https://togithub.com/plouc/nivo/tree/HEAD/packages/axes)) | [`0.83.0` -> `0.84.0`](https://renovatebot.com/diffs/npm/@nivo%2faxes/0.83.0/0.84.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nivo%2faxes/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nivo%2faxes/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nivo%2faxes/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nivo%2faxes/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@nivo/bar](https://togithub.com/plouc/nivo) ([source](https://togithub.com/plouc/nivo/tree/HEAD/packages/bar)) | [`0.83.0` -> `0.84.0`](https://renovatebot.com/diffs/npm/@nivo%2fbar/0.83.0/0.84.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nivo%2fbar/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nivo%2fbar/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nivo%2fbar/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nivo%2fbar/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@nivo/core](https://togithub.com/plouc/nivo) ([source](https://togithub.com/plouc/nivo/tree/HEAD/packages/core)) | [`0.83.0` -> `0.84.0`](https://renovatebot.com/diffs/npm/@nivo%2fcore/0.83.0/0.84.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nivo%2fcore/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nivo%2fcore/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nivo%2fcore/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nivo%2fcore/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@nivo/line](https://togithub.com/plouc/nivo) ([source](https://togithub.com/plouc/nivo/tree/HEAD/packages/line)) | [`0.83.0` -> `0.84.0`](https://renovatebot.com/diffs/npm/@nivo%2fline/0.83.0/0.84.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nivo%2fline/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nivo%2fline/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nivo%2fline/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nivo%2fline/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@nivo/pie](https://togithub.com/plouc/nivo) ([source](https://togithub.com/plouc/nivo/tree/HEAD/packages/pie)) | [`0.83.0` -> `0.84.0`](https://renovatebot.com/diffs/npm/@nivo%2fpie/0.83.0/0.84.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nivo%2fpie/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nivo%2fpie/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nivo%2fpie/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nivo%2fpie/0.83.0/0.84.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>plouc/nivo (@​nivo/axes)</summary> ### [`v0.84.0`](https://togithub.com/plouc/nivo/releases/tag/v0.84.0) [Compare Source](https://togithub.com/plouc/nivo/compare/v0.83.1...v0.84.0) ##### What's Changed - fix(bar): use readonly arrays for props as the library does not modif… by [@​pcorpet](https://togithub.com/pcorpet) in [https://github.com/plouc/nivo/pull/2377](https://togithub.com/plouc/nivo/pull/2377) - fix(pie): use readonly arrays for props as the library does not modif… by [@​pcorpet](https://togithub.com/pcorpet) in [https://github.com/plouc/nivo/pull/2431](https://togithub.com/plouc/nivo/pull/2431) - Fix Bar SSR by [@​OleksandrRakovets](https://togithub.com/OleksandrRakovets) in [https://github.com/plouc/nivo/pull/2464](https://togithub.com/plouc/nivo/pull/2464) - Pie: Add the ability to programmatically control the activeId by [@​plouc](https://togithub.com/plouc) in [https://github.com/plouc/nivo/pull/2465](https://togithub.com/plouc/nivo/pull/2465) ##### New Contributors - [@​pcorpet](https://togithub.com/pcorpet) made their first contribution in [https://github.com/plouc/nivo/pull/2377](https://togithub.com/plouc/nivo/pull/2377) - [@​OleksandrRakovets](https://togithub.com/OleksandrRakovets) made their first contribution in [https://github.com/plouc/nivo/pull/2464](https://togithub.com/plouc/nivo/pull/2464) **Full Changelog**: plouc/nivo@v0.83.1...v0.84.0 ### [`v0.83.1`](https://togithub.com/plouc/nivo/releases/tag/v0.83.1) [Compare Source](https://togithub.com/plouc/nivo/compare/v0.83.0...v0.83.1) ##### What's Changed - [@​nivo/parallel-coordinates](https://togithub.com/nivo/parallel-coordinates) next by [@​plouc](https://togithub.com/plouc) in [https://github.com/plouc/nivo/pull/2329](https://togithub.com/plouc/nivo/pull/2329) - Add tests for gradients attribute by [@​hyjoong](https://togithub.com/hyjoong) in [https://github.com/plouc/nivo/pull/2338](https://togithub.com/plouc/nivo/pull/2338) - fix: Lodash - use module imports by [@​vio](https://togithub.com/vio) in [https://github.com/plouc/nivo/pull/2349](https://togithub.com/plouc/nivo/pull/2349) - Resolved BoxPlot types not being included in build output by [@​NicolasNewman](https://togithub.com/NicolasNewman) in [https://github.com/plouc/nivo/pull/2351](https://togithub.com/plouc/nivo/pull/2351) - Fix website component search by [@​aautem](https://togithub.com/aautem) in [https://github.com/plouc/nivo/pull/2371](https://togithub.com/plouc/nivo/pull/2371) - fix: waffle types missing from dist by [@​brammitch](https://togithub.com/brammitch) in [https://github.com/plouc/nivo/pull/2375](https://togithub.com/plouc/nivo/pull/2375) - Fix arcLinkLabelsOffset for pie chart by [@​aautem](https://togithub.com/aautem) in [https://github.com/plouc/nivo/pull/2369](https://togithub.com/plouc/nivo/pull/2369) - feat/export responsive bar props TypeScript types by [@​ollwenjones](https://togithub.com/ollwenjones) in [https://github.com/plouc/nivo/pull/2396](https://togithub.com/plouc/nivo/pull/2396) - fix(stream): fix stream diagram overflowing by [@​baldulin](https://togithub.com/baldulin) in [https://github.com/plouc/nivo/pull/2392](https://togithub.com/plouc/nivo/pull/2392) - fix GitHub workflow badge URL by [@​shoito](https://togithub.com/shoito) in [https://github.com/plouc/nivo/pull/2453](https://togithub.com/plouc/nivo/pull/2453) - Fix failing builds by [@​plouc](https://togithub.com/plouc) in [https://github.com/plouc/nivo/pull/2460](https://togithub.com/plouc/nivo/pull/2460) - shiftArray in calendar/src/compute/timeRange.ts should not mutate its argument by [@​wirhabenzeit](https://togithub.com/wirhabenzeit) in [https://github.com/plouc/nivo/pull/2420](https://togithub.com/plouc/nivo/pull/2420) - fix(core): upgrade d3-interpolate and d3-scale-chromatic by [@​plouc](https://togithub.com/plouc) in [https://github.com/plouc/nivo/pull/2461](https://togithub.com/plouc/nivo/pull/2461) - Feature/bar chart truncate axes ticks by [@​SebasQuirogaUCP](https://togithub.com/SebasQuirogaUCP) in [https://github.com/plouc/nivo/pull/2405](https://togithub.com/plouc/nivo/pull/2405) - feat(legends): export SymbolProps by [@​plouc](https://togithub.com/plouc) in [https://github.com/plouc/nivo/pull/2462](https://togithub.com/plouc/nivo/pull/2462) ##### New Contributors - [@​hyjoong](https://togithub.com/hyjoong) made their first contribution in [https://github.com/plouc/nivo/pull/2338](https://togithub.com/plouc/nivo/pull/2338) - [@​vio](https://togithub.com/vio) made their first contribution in [https://github.com/plouc/nivo/pull/2349](https://togithub.com/plouc/nivo/pull/2349) - [@​NicolasNewman](https://togithub.com/NicolasNewman) made their first contribution in [https://github.com/plouc/nivo/pull/2351](https://togithub.com/plouc/nivo/pull/2351) - [@​aautem](https://togithub.com/aautem) made their first contribution in [https://github.com/plouc/nivo/pull/2371](https://togithub.com/plouc/nivo/pull/2371) - [@​baldulin](https://togithub.com/baldulin) made their first contribution in [https://github.com/plouc/nivo/pull/2392](https://togithub.com/plouc/nivo/pull/2392) - [@​shoito](https://togithub.com/shoito) made their first contribution in [https://github.com/plouc/nivo/pull/2453](https://togithub.com/plouc/nivo/pull/2453) - [@​wirhabenzeit](https://togithub.com/wirhabenzeit) made their first contribution in [https://github.com/plouc/nivo/pull/2420](https://togithub.com/plouc/nivo/pull/2420) - [@​SebasQuirogaUCP](https://togithub.com/SebasQuirogaUCP) made their first contribution in [https://github.com/plouc/nivo/pull/2405](https://togithub.com/plouc/nivo/pull/2405) **Full Changelog**: plouc/nivo@v0.83.0...v0.83.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/sebald/pattern-analyzer). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This is a proposed fix for #2419
The function
shiftArray
mutatesARRAY_OF_WEEKDAYS
which results in a wrong week day display in certain situations.