()
| 1191 | } |
| 1192 | |
| 1193 | async function importRules(jsonData: string, merge = false): Promise<void> { |
| 1194 | // 兼容历史错误导出:若解析结果为字符串,则再次解析 |
| 1195 | let parsed: any = JSON.parse(jsonData); |
| 1196 | if (typeof parsed === "string") { |
| 1197 | try { |
| 1198 | parsed = JSON.parse(parsed); |
| 1199 | } catch {} |
| 1200 | } |
| 1201 | const newRules = parsed as { [key: string]: ShiftRule }; |
| 1202 | |
| 1203 | if (useLowdb && lowdb) { |
| 1204 | if (merge) { |
| 1205 | Object.assign(lowdb.data.rules, newRules); |
| 1206 | } else { |
| 1207 | lowdb.data.rules = newRules; |
no test coverage detected