|
@@ -11,7 +11,7 @@ import { promises as fs } from 'fs'
|
|
|
import * as path from 'path'
|
|
|
import version from '@root/version.json'
|
|
|
|
|
|
-export default async (): Promise<string | false> => {
|
|
|
+export default async (): Promise<string | null | false> => {
|
|
|
let { lang } = await getI18N()
|
|
|
|
|
|
let result = await dialog.showSaveDialog({
|
|
@@ -24,16 +24,21 @@ export default async (): Promise<string | false> => {
|
|
|
})
|
|
|
|
|
|
if (result.canceled || !result.filePath) {
|
|
|
- return false
|
|
|
+ return null
|
|
|
}
|
|
|
|
|
|
let target_dir = result.filePath
|
|
|
|
|
|
let data = await swhdb.toJSON()
|
|
|
- await fs.writeFile(target_dir, JSON.stringify({
|
|
|
- data,
|
|
|
- version,
|
|
|
- }), 'utf-8')
|
|
|
+ try {
|
|
|
+ await fs.writeFile(target_dir, JSON.stringify({
|
|
|
+ data,
|
|
|
+ version,
|
|
|
+ }), 'utf-8')
|
|
|
+ } catch (e) {
|
|
|
+ console.error(e)
|
|
|
+ return false
|
|
|
+ }
|
|
|
|
|
|
return target_dir
|
|
|
}
|