From 3abdc8b6c1d99edcacc96680f8ef573e717c4355 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Sat, 28 Feb 2026 17:55:44 -0500 Subject: [PATCH] parse int args --- lib/controllers/settings_controller.dart | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/controllers/settings_controller.dart b/lib/controllers/settings_controller.dart index 73a396a..49516ef 100644 --- a/lib/controllers/settings_controller.dart +++ b/lib/controllers/settings_controller.dart @@ -1,3 +1,5 @@ +import "dart:convert"; + import "package:args/args.dart"; import "package:nexusbot/models/settings.dart"; import "package:riverpod/riverpod.dart"; @@ -6,9 +8,19 @@ class SettingsController extends Notifier { @override Settings? build() => null; - void set(ArgResults args) => state = Settings.fromJson({ - for (final opt in args.options) opt: args.option(opt), - }); + void set(ArgResults args) { + dynamic tryJson(String value) { + try { + return json.decode(value); + } catch (_) { + return value; + } + } + + state = Settings.fromJson({ + for (final opt in args.options) opt: tryJson(args.option(opt) ?? "null"), + }); + } static final provider = NotifierProvider( SettingsController.new,