import type { ResourcePage, ResourceRow } from './types'; export function filterResourceRows( rows: readonly ResourceRow[], searchKey: string, searchValue: string, ): ResourceRow[] { const query = searchValue.trim().toLocaleLowerCase('zh-CN'); if (!query) return [...rows]; return rows.filter((row) => { const value = searchKey === 'id' ? row.id : row.name; return value.toLocaleLowerCase('zh-CN').includes(query); }); } export function paginateResourceRows( rows: readonly ResourceRow[], page: number, limit: number, ): ResourcePage { const safePage = Math.max(1, page); const safeLimit = Math.max(1, limit); const start = (safePage - 1) * safeLimit; return { data: rows.slice(start, start + safeLimit), total: rows.length, }; }