feat: implement P0/P1 performance and code quality optimizations
P0 Performance Optimizations: - Add debounced search (300ms) to reduce re-renders during typing - Implement single-pass filter function for O(n) complexity - Add TanStack Query cancellation before new requests P1 Code Quality Optimizations: - Add runtime type guards for filter validation - Implement two derived values (filteredFonts + sortedFilteredFonts) - Remove all 'as any[]' casts from filter bridge - Add fast-path for default sorting (skip unnecessary operations) New Utilities: - debounce utility with 4 tests (all pass) - filterUtils with 15 tests (all pass) - typeGuards with 20 tests (all pass) - Total: 39 new tests Modified Files: - unifiedFontStore.svelte.ts: Add debouncing, use filter/sort utilities - filterBridge.svelte.ts: Type-safe validation with type guards - unifiedFontStore.test.ts: Fix pre-existing bugs (missing async, duplicate imports) Code Quality: - 0 linting warnings/errors (oxlint) - FSD compliant architecture (entity lib layer) - Backward compatible store API
This commit is contained in:
@@ -2,3 +2,17 @@ export {
|
||||
createFontCollection,
|
||||
type FontCollectionStore,
|
||||
} from './helpers/createFontCollection.svelte';
|
||||
|
||||
export {
|
||||
filterFonts,
|
||||
sortFonts,
|
||||
} from './filterUtils';
|
||||
|
||||
export {
|
||||
filterValidValues,
|
||||
isValidFontCategory,
|
||||
isValidFontFilters,
|
||||
isValidFontProvider,
|
||||
isValidFontSubset,
|
||||
validateFilterValues,
|
||||
} from './typeGuards';
|
||||
|
||||
Reference in New Issue
Block a user