Skip to content
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

Merged
merged 1 commit into from
Nov 14, 2023

Conversation

wirhabenzeit
Copy link
Contributor

This is a proposed fix for #2419

The function shiftArray mutates ARRAY_OF_WEEKDAYS which results in a wrong week day display in certain situations.

@vercel
Copy link

vercel bot commented Aug 25, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
nivo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 25, 2023 0:10am

@codesandbox-ci
Copy link

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:

Sandbox Source
nivo Configuration

Comment on lines +187 to +188
x = x % arr.length
return arr.slice(x, arr.length).concat(arr.slice(0, x))
Copy link

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

Copy link

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 🙏

@plouc plouc merged commit e4a343f into plouc:master Nov 14, 2023
1 check passed
sebald referenced this pull request in sebald/pattern-analyzer Dec 22, 2023
[![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 (@&#8203;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 [@&#8203;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 [@&#8203;pcorpet](https://togithub.com/pcorpet) in
[https://github.com/plouc/nivo/pull/2431](https://togithub.com/plouc/nivo/pull/2431)
- Fix Bar SSR by
[@&#8203;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
[@&#8203;plouc](https://togithub.com/plouc) in
[https://github.com/plouc/nivo/pull/2465](https://togithub.com/plouc/nivo/pull/2465)

##### New Contributors

- [@&#8203;pcorpet](https://togithub.com/pcorpet) made their first
contribution in
[https://github.com/plouc/nivo/pull/2377](https://togithub.com/plouc/nivo/pull/2377)
- [@&#8203;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

-
[@&#8203;nivo/parallel-coordinates](https://togithub.com/nivo/parallel-coordinates)
next by [@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;shoito](https://togithub.com/shoito) in
[https://github.com/plouc/nivo/pull/2453](https://togithub.com/plouc/nivo/pull/2453)
- Fix failing builds by [@&#8203;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 [@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;plouc](https://togithub.com/plouc) in
[https://github.com/plouc/nivo/pull/2462](https://togithub.com/plouc/nivo/pull/2462)

##### New Contributors

- [@&#8203;hyjoong](https://togithub.com/hyjoong) made their first
contribution in
[https://github.com/plouc/nivo/pull/2338](https://togithub.com/plouc/nivo/pull/2338)
- [@&#8203;vio](https://togithub.com/vio) made their first contribution
in
[https://github.com/plouc/nivo/pull/2349](https://togithub.com/plouc/nivo/pull/2349)
- [@&#8203;NicolasNewman](https://togithub.com/NicolasNewman) made their
first contribution in
[https://github.com/plouc/nivo/pull/2351](https://togithub.com/plouc/nivo/pull/2351)
- [@&#8203;aautem](https://togithub.com/aautem) made their first
contribution in
[https://github.com/plouc/nivo/pull/2371](https://togithub.com/plouc/nivo/pull/2371)
- [@&#8203;baldulin](https://togithub.com/baldulin) made their first
contribution in
[https://github.com/plouc/nivo/pull/2392](https://togithub.com/plouc/nivo/pull/2392)
- [@&#8203;shoito](https://togithub.com/shoito) made their first
contribution in
[https://github.com/plouc/nivo/pull/2453](https://togithub.com/plouc/nivo/pull/2453)
- [@&#8203;wirhabenzeit](https://togithub.com/wirhabenzeit) made their
first contribution in
[https://github.com/plouc/nivo/pull/2420](https://togithub.com/plouc/nivo/pull/2420)
- [@&#8203;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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants