From 43ec59141424115b11b06565704365a5ce78ace1 Mon Sep 17 00:00:00 2001 From: shuaiplus <2327005759@qq.com> Date: Mon, 16 Mar 2026 00:58:13 +0800 Subject: [PATCH] feat: optimize XML decoding by using a switch statement for entity replacements --- src/services/backup-uploader.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/services/backup-uploader.ts b/src/services/backup-uploader.ts index ff369e7..d920211 100644 --- a/src/services/backup-uploader.ts +++ b/src/services/backup-uploader.ts @@ -89,12 +89,22 @@ function sortRemoteItems(items: RemoteBackupItem[]): RemoteBackupItem[] { } function decodeXmlText(value: string): string { - return value - .replace(/&/g, '&') - .replace(/</g, '<') - .replace(/>/g, '>') - .replace(/"/g, '"') - .replace(/'/g, "'"); + return value.replace(/&(amp|lt|gt|quot|#39);/g, (_match, entity) => { + switch (entity) { + case 'amp': + return '&'; + case 'lt': + return '<'; + case 'gt': + return '>'; + case 'quot': + return '"'; + case '#39': + return "'"; + default: + return _match; + } + }); } function parseHttpDate(value: string): string | null {