Skip to content

Commit 90d6036

Browse files
nfebebackportbot[bot]
authored andcommitted
perf(files_sharing): Change sharing filtering from O(3n) to O(n)
Replaced multiple Array.filter() calls with a single loop to improve performance. This avoids redundant iterations over the shares array and categorizes them more efficiently. Signed-off-by: nfebe <fenn25.fn@gmail.com> [skip ci]
1 parent 3dc62d2 commit 90d6036

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

apps/files_sharing/src/views/SharingTab.vue

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -365,9 +365,15 @@ export default {
365365
],
366366
)
367367
368-
this.linkShares = shares.filter(share => [ShareType.Link, ShareType.Email].includes(share.type))
369-
this.shares = shares.filter(share => ![ShareType.Link, ShareType.Email, ShareType.Remote, ShareType.RemoteGroup].includes(share.type))
370-
this.externalShares = shares.filter(share => [ShareType.Remote, ShareType.RemoteGroup].includes(share.type))
368+
for (const share of shares) {
369+
if ([ShareType.Link, ShareType.Email].includes(share.type)) {
370+
this.linkShares.push(share)
371+
} else if ([ShareType.Remote, ShareType.RemoteGroup].includes(share.type)) {
372+
this.externalShares.push(share)
373+
} else {
374+
this.shares.push(share)
375+
}
376+
}
371377
372378
logger.debug(`Processed ${this.linkShares.length} link share(s)`)
373379
logger.debug(`Processed ${this.shares.length} share(s)`)

0 commit comments

Comments
 (0)