Dart singleton returning null values

Viewed 92

This is my singleton, I have a function called init() that sets all the class values, but when I try to use the values are null.

class Paths {
  static final Paths _paths = Paths._internal();
  String? authority;
  String? genders;
  Map<String, String>? email;
  Map<String, String>? account;
  Map<String, String>? story;
  Map<String, String>? user;

  factory Paths() => _paths;

  Paths._internal();

  static void init() {
    rootBundle.loadStructuredData<void>('assets/paths/paths.json',
      (jsonStr) async {
        Map<String, dynamic> data = jsonDecode(jsonStr);
        _paths.authority = data[Strings.authority] as String;
        _paths.genders = data[Strings.genders] as String;
        _paths.email = Map<String,String>.from(data[Strings.email]);
        _paths.account = Map<String,String>.from(data[Strings.account]);
        _paths.story = Map<String,String>.from(data[Strings.story]);
        _paths.user = Map<String,String>.from(data[Strings.user]);
  });

  }
}
Paths.init();
Paths paths = Paths();
print(paths.authority); /// prints null

What am I missing?

0 Answers
Related