Refactored handling of trim/lowercase based on PR comments

This commit is contained in:
John Björk 2026-01-01 12:22:52 +01:00
parent 6908ea38e4
commit aa8209ad4c
No known key found for this signature in database
GPG key ID: 303B6ADF2F569B0A

View file

@ -98,15 +98,15 @@ export function PatternsTab({ context }) {
const meta = getMetadata(pattern.code); const meta = getMetadata(pattern.code);
// Search for specific meta keys // Search for specific meta keys
const searchTrimmed = search.trim(); const searchLowercaseTrimmed = search.trim().toLowerCase();
if (searchTrimmed.includes(':')) { if (searchLowercaseTrimmed.includes(':')) {
const [metaKey, metaSearch] = searchTrimmed.split(':'); const [metaKey, metaSearch] = searchLowercaseTrimmed.split(/:\s*/);
if (metaKey !== undefined && metaSearch !== undefined && metaKey in meta) { if (metaKey !== undefined && metaSearch !== undefined && metaKey in meta) {
const metaValues = meta[metaKey]; const metaValues = meta[metaKey];
if (Array.isArray(metaValues)) { if (Array.isArray(metaValues)) {
return metaValues.some((metaValue) => metaValue.toLowerCase().includes(metaSearch.trim().toLowerCase())); return metaValues.some((metaValue) => metaValue.toLowerCase().includes(metaSearch));
} else if (typeof metaValues === 'string') { } else if (typeof metaValues === 'string') {
return metaValues.toLowerCase().includes(metaSearch.trim().toLowerCase()); return metaValues.toLowerCase().includes(metaSearch);
} else { } else {
return false; return false;
} }
@ -115,11 +115,10 @@ export function PatternsTab({ context }) {
const title = meta.title ? meta.title : 'unnamed'; const title = meta.title ? meta.title : 'unnamed';
const authors = meta.by ? meta.by : ['anonymous']; const authors = meta.by ? meta.by : ['anonymous'];
const tags = meta.tag ? meta.tag : []; const tags = meta.tag ? meta.tag : [];
const lowerCaseSearch = search.toLowerCase();
return ( return (
title.toLowerCase().includes(lowerCaseSearch) || title.toLowerCase().includes(searchLowercaseTrimmed) ||
authors.some((author) => author.toLowerCase().includes(lowerCaseSearch)) || authors.some((author) => author.toLowerCase().includes(searchLowercaseTrimmed)) ||
tags.some((tag) => tag.toLowerCase().includes(lowerCaseSearch)) tags.some((tag) => tag.toLowerCase().includes(searchLowercaseTrimmed))
); );
}), }),
); );