diff --git a/packages/nuxt3/src/core/app.ts b/packages/nuxt3/src/core/app.ts index 1253e52227..478ca2ce0a 100644 --- a/packages/nuxt3/src/core/app.ts +++ b/packages/nuxt3/src/core/app.ts @@ -106,14 +106,13 @@ function getNameFromPath (path: string) { return kebabCase(basename(path).replace(extname(path), '')).replace(/["']/g, '') } -function uniqueBy (arr: any[], uniqueKey: string) { - const seen = new Set() - const res = [] - for (const i of arr) { - const key = i[uniqueKey] - if (seen.has(key)) { continue } - res.push(i) - seen.add(key) +function uniqueBy (arr: T[], key: K) { + const res: T[] = [] + const seen = new Set() + for (const item of arr) { + if (seen.has(item[key])) { continue } + seen.add(item[key]) + res.push(item) } return res } diff --git a/packages/nuxt3/src/pages/utils.ts b/packages/nuxt3/src/pages/utils.ts index 7d921bcb26..cd3f37dd68 100644 --- a/packages/nuxt3/src/pages/utils.ts +++ b/packages/nuxt3/src/pages/utils.ts @@ -272,14 +272,12 @@ export function getImportName (name: string) { return pascalCase(name).replace(/[^\w]/g, '') } -function uniqueBy (arr: any[], key: string) { - const res = [] - const keys = new Set() +function uniqueBy (arr: T[], key: K) { + const res: T[] = [] + const seen = new Set() for (const item of arr) { - if (keys.has(item[key])) { - continue - } - keys.add(item[key]) + if (seen.has(item[key])) { continue } + seen.add(item[key]) res.push(item) } return res