diff --git a/src/libs/setting-utils.ts b/src/libs/setting-utils.ts index ff78af8..17cc555 100644 --- a/src/libs/setting-utils.ts +++ b/src/libs/setting-utils.ts @@ -17,7 +17,7 @@ export class SettingUtils { settings: Map = new Map(); elements: Map = new Map(); - constructor(plugin: Plugin, name?: string, width?: string, height?: string) { + constructor(plugin: Plugin, name?: string, width?: string, height?: string, callback?: (data: any) => void) { this.name = name ?? 'settings'; this.plugin = plugin; this.file = this.name.endsWith('.json') ? this.name : `${this.name}.json`; @@ -29,8 +29,12 @@ export class SettingUtils { this.updateValue(key); } let data = this.dump(); - this.plugin.data[this.name] = data; - this.save(); + if (callback !== undefined) { + callback(data); + } else { + this.plugin.data[this.name] = data; + this.save(); + } } }); }