fix(lint): replace Array.sort with toSorted and unify defineEmits overload #4

Merged
BothimTV merged 1 commit from fix-linting-issues into main 2026-01-29 18:09:11 +00:00
BothimTV commented 2026-01-29 18:08:25 +00:00 (Migrated from github.com)
No description provided.
coderabbitai[bot] commented 2026-01-29 18:08:35 +00:00 (Migrated from github.com)
📝 Walkthrough

Walkthrough

The changes consolidate type signatures in one component and replace mutating array sort operations with non-mutating toSorted() calls across multiple pages. This improves immutability practices without altering runtime behavior or result ordering of data processing.

Changes

Cohort / File(s) Summary
Type Signature Consolidation
frontend/src/components/SchuelerSelect.vue
Emit definition refactored from two separate overloads to a single union-type signature for 'selected' | 'update:modelValue', preserving type checking without functional changes.
Sort Method Migration
frontend/src/pages/checkin.vue, frontend/src/pages/verwaltung/schueler.vue, frontend/src/pages/verwaltung/statistik.vue
Multiple instances of mutating sort() replaced with non-mutating toSorted() in grouped key sorting and computed property sorting operations to enhance immutability.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 With toSorted whispers so neat,
We dance through arrays, never repeat,
Type signatures unified, clean and tight,
Immutability shines ever bright!


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

<!-- This is an auto-generated comment: summarize by coderabbit.ai --> <!-- walkthrough_start --> <details> <summary>📝 Walkthrough</summary> ## Walkthrough The changes consolidate type signatures in one component and replace mutating array sort operations with non-mutating `toSorted()` calls across multiple pages. This improves immutability practices without altering runtime behavior or result ordering of data processing. ## Changes |Cohort / File(s)|Summary| |---|---| |**Type Signature Consolidation** <br> `frontend/src/components/SchuelerSelect.vue`|Emit definition refactored from two separate overloads to a single union-type signature for 'selected' \| 'update:modelValue', preserving type checking without functional changes.| |**Sort Method Migration** <br> `frontend/src/pages/checkin.vue`, `frontend/src/pages/verwaltung/schueler.vue`, `frontend/src/pages/verwaltung/statistik.vue`|Multiple instances of mutating `sort()` replaced with non-mutating `toSorted()` in grouped key sorting and computed property sorting operations to enhance immutability.| ## Estimated code review effort 🎯 2 (Simple) | ⏱️ ~8 minutes ## Poem > 🐰 *With toSorted whispers so neat,* > *We dance through arrays, never repeat,* > *Type signatures unified, clean and tight,* > *Immutability shines ever bright!* </details> <!-- walkthrough_end --> <!-- tips_start --> --- > [!NOTE] > <details> > <summary>🎁 Summarized by CodeRabbit Free</summary> > > Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting <https://app.coderabbit.ai/login>. > > </details> <sub>Comment `@coderabbitai help` to get the list of available commands and usage tips.</sub> <!-- tips_end --> <!-- internal state start --> <!-- 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 --> <!-- internal state end -->
Commenting is not possible because the repository is archived.
No description provided.