Skip to content

Commit 5241da6

Browse files
KATO-Hiroclaude
andcommitted
docs: Simplify pure function example in svelte-components rule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent d230287 commit 5241da6

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

.claude/rules/svelte-components.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,11 @@ Business logic and pure utilities belong outside `<script>` blocks — in the ne
7272
Extract business logic as pure functions to `utils/` (or `_utils/` for routes); keep side effects in the caller:
7373

7474
```typescript
75-
// Before: untestable — mixes URL construction (pure logic) with replaceState() (side effect)
76-
function updateUrl() {
77-
const url = new URL($page.url);
78-
url.searchParams.set('tab', activeTab);
79-
replaceState(url, {});
80-
}
81-
82-
// After: pure function in _utils/, side effect in caller
75+
// Pure function in _utils/ — testable, no side effects
8376
export function buildUpdatedUrl(url: URL, activeTab: ActiveTab): URL { ... }
84-
// Caller: replaceState(buildUpdatedUrl($page.url, activeTab), {})
77+
78+
// Side effect stays in the caller
79+
replaceState(buildUpdatedUrl($page.url, activeTab), {});
8580
```
8681

8782
## Empty-list Fallback in `{#each}`

0 commit comments

Comments
 (0)