@@ -499,43 +499,27 @@ export const useDataStore = defineStore("data", {
499499 }
500500 } ,
501501 addAdvancedSearchHistory ( query : AdvancedSearchQuery ) {
502+ const normalizeString = ( v ?: string ) => ( typeof v === "string" ? v . trim ( ) || undefined : undefined ) ;
503+ const normalizeNumber = ( v ?: number ) =>
504+ typeof v === "number" && Number . isFinite ( v ) ? v : undefined ;
505+
502506 const normalized : AdvancedSearchQuery = {
503507 mode : query . mode ,
504508 match : query . match ,
505- keywords : query . keywords ?. trim ( ) || undefined ,
506- title : query . title ?. trim ( ) || undefined ,
507- artist : query . artist ?. trim ( ) || undefined ,
508- album : query . album ?. trim ( ) || undefined ,
509- minDuration :
510- typeof query . minDuration === "number" && Number . isFinite ( query . minDuration )
511- ? query . minDuration
512- : undefined ,
513- maxDuration :
514- typeof query . maxDuration === "number" && Number . isFinite ( query . maxDuration )
515- ? query . maxDuration
516- : undefined ,
517- inPath : query . inPath ?. trim ( ) || undefined ,
518- path : query . path ?. trim ( ) || undefined ,
519- minBitrate :
520- typeof query . minBitrate === "number" && Number . isFinite ( query . minBitrate )
521- ? query . minBitrate
522- : undefined ,
523- maxBitrate :
524- typeof query . maxBitrate === "number" && Number . isFinite ( query . maxBitrate )
525- ? query . maxBitrate
526- : undefined ,
527- minSize :
528- typeof query . minSize === "number" && Number . isFinite ( query . minSize ) ? query . minSize : undefined ,
529- maxSize :
530- typeof query . maxSize === "number" && Number . isFinite ( query . maxSize ) ? query . maxSize : undefined ,
531- minTrackNumber :
532- typeof query . minTrackNumber === "number" && Number . isFinite ( query . minTrackNumber )
533- ? query . minTrackNumber
534- : undefined ,
535- maxTrackNumber :
536- typeof query . maxTrackNumber === "number" && Number . isFinite ( query . maxTrackNumber )
537- ? query . maxTrackNumber
538- : undefined ,
509+ keywords : normalizeString ( query . keywords ) ,
510+ title : normalizeString ( query . title ) ,
511+ artist : normalizeString ( query . artist ) ,
512+ album : normalizeString ( query . album ) ,
513+ minDuration : normalizeNumber ( query . minDuration ) ,
514+ maxDuration : normalizeNumber ( query . maxDuration ) ,
515+ inPath : normalizeString ( query . inPath ) ,
516+ path : normalizeString ( query . path ) ,
517+ minBitrate : normalizeNumber ( query . minBitrate ) ,
518+ maxBitrate : normalizeNumber ( query . maxBitrate ) ,
519+ minSize : normalizeNumber ( query . minSize ) ,
520+ maxSize : normalizeNumber ( query . maxSize ) ,
521+ minTrackNumber : normalizeNumber ( query . minTrackNumber ) ,
522+ maxTrackNumber : normalizeNumber ( query . maxTrackNumber ) ,
539523 } ;
540524
541525 const key = JSON . stringify ( normalized ) ;
0 commit comments